BUILD FIX (r146667): ResourceRequest constructor in SynchronousLoaderClient.cpp is...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-03-23  David Kilzer  <ddkilzer@apple.com>
2
3         BUILD FIX (r146667): ResourceRequest constructor in SynchronousLoaderClient.cpp is ambiguous on iOS
4
5         Fixes the following build failure:
6
7             Source/WebCore/platform/network/SynchronousLoaderClient.cpp:52:15: error: conversion from 'int' to 'const WebCore::ResourceRequest' is ambiguous
8                 request = 0;
9                           ^
10             In file included from Source/WebCore/platform/network/SynchronousLoaderClient.cpp:30:
11             In file included from Source/WebCore/platform/network/ResourceHandle.h:37:
12             In file included from Source/WebCore/platform/network/ios/QuickLook.h:13:
13             Source/WebCore/platform/network/cf/ResourceRequest.h:79:9: note: candidate constructor
14                     ResourceRequest(NSURLRequest *);
15                     ^
16             Source/WebCore/platform/network/cf/ResourceRequest.h:83:9: note: candidate constructor
17                     ResourceRequest(CFURLRequestRef cfRequest)
18                     ^
19             1 error generated.
20
21         * platform/network/SynchronousLoaderClient.cpp:
22         (WebCore::SynchronousLoaderClient::willSendRequest): If
23         USE(CFNETWORK) is defined, use static_cast<CFURLRequestRef>(0),
24         otherwise use static_cast<NSURLRequest *>(0).
25
26 2013-03-23  David Kilzer  <ddkilzer@apple.com>
27
28         BUILD FIX (r146687): setDefaultMIMEType() is unused in ResourceHandleCFNet.cpp on iOS
29
30         Fixes the following build failure:
31
32             Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp:98:13: error: unused function 'setDefaultMIMEType' [-Werror,-Wunused-function]
33             static void setDefaultMIMEType(CFURLResponseRef response)
34                         ^
35             1 error generated.
36
37         * platform/network/cf/ResourceHandleCFNet.cpp:
38         (WebCore::setDefaultMIMEType): Add #if !PLATFORM(MAC)/#endif
39         guard.
40
41 2013-03-21  Kiran Muppala  <cmuppala@apple.com>
42
43         Add runtime setting for hidden page DOM timer throttling and CSS animation suspension
44         https://bugs.webkit.org/show_bug.cgi?id=112308
45
46         Reviewed by Gavin Barraclough.
47
48         No new tests.  Only adding settings to enable/disable existing features
49         and hence existing tests suffice.
50
51         * WebCore.exp.in:
52         * page/Page.cpp:
53         (WebCore::Page::setVisibilityState): Check if DOM timer throttling
54         and CSS animation suspension are enabled before turning them on.
55         (WebCore::Page::hiddenPageDOMTimerThrottlingStateChanged): Start or stop
56         DOM timer throttling based on page visibility and the new setting state.
57         (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged): Ditto
58         for CSS animation suspension.
59         * page/Page.h:
60         * page/Settings.cpp:
61         (WebCore::Settings::Settings): Initialize the flags for enabling hidden
62         page DOM timer throttling and CSS animation suspension to false.
63         (WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled): Update flag
64         and notify page that the state of the setting has changed.
65         (WebCore::Settings::setHiddenPageCSSAnimationSuspensionEnabled): Ditto.
66         * page/Settings.h:
67         (WebCore::Settings::hiddenPageDOMTimerThrottlingEnabled):
68         (WebCore::Settings::hiddenPageCSSAnimationSuspensionEnabled):
69
70 2013-03-22  Benjamin Poulain  <bpoulain@apple.com>
71
72         Remove 2 bad branches from StringHash::equal() and CaseFoldingHash::equal()
73         https://bugs.webkit.org/show_bug.cgi?id=113003
74
75         Reviewed by Eric Seidel.
76
77         Fix two unfortunate use of StringHash and use the correct StringImpl function.
78
79         * html/parser/HTMLParserIdioms.cpp:
80         (WebCore::threadSafeEqual):
81         * html/parser/HTMLTreeBuilderSimulator.cpp:
82         (WebCore::tokenExitsSVG):
83
84 2013-03-22  Andy Estes  <aestes@apple.com>
85
86         Set the cache partition property on CFURLRequests
87         https://bugs.webkit.org/show_bug.cgi?id=113116
88
89         Patch by Jeffrey Pfau
90         Reviewed by David Kilzer.
91
92         * platform/network/cf/ResourceRequestCFNet.cpp:
93         (WebCore::ResourceRequest::doUpdatePlatformRequest):
94         (WebCore::ResourceRequest::doUpdateResourceRequest):
95
96 2013-03-22  Julien Chaffraix  <jchaffraix@webkit.org>
97
98         [CSS Grid Layout] content-sized row tracks with percentage logical height grid items don't resolve properly
99         https://bugs.webkit.org/show_bug.cgi?id=113085
100
101         Reviewed by Tony Chang.
102
103         The core issue is that because overrideContainingBlockLogicalHeight() is unset in
104         logicalContentHeightForChild, RenderBox::computePercentageLogicalHeight would try to
105         resolve percentage logical height against the grid element (wrong containing block
106         as a grid item's containing block is the grid area).
107
108         Tests: fast/css-grid-layout/grid-item-multiple-minmax-content-resolution.html
109                fast/css-grid-layout/grid-item-with-percent-height-in-auto-height-grid-resolution.html
110
111         * rendering/RenderGrid.cpp:
112         (WebCore::RenderGrid::logicalContentHeightForChild):
113         Set our override logical height to -1, so that we don't try to constrain a grid item's logical height
114         based on resolving (badly) its percentage.
115
116 2013-03-19  Zhenyao Mo  <zmo@google.com>
117
118         Check WEBGL_draw_buffers requirements before exposing the extension
119         https://bugs.webkit.org/show_bug.cgi?id=112359
120
121         Reviewed by Kenneth Russell.
122
123         * html/canvas/EXTDrawBuffers.cpp:
124         (WebCore::EXTDrawBuffers::supported): call satisfies*().
125         (WebCore::EXTDrawBuffers::drawBuffersEXT):
126         (WebCore):
127         (WebCore::EXTDrawBuffers::satisfiesWebGLRequirements): check WebGL requirements.
128         * html/canvas/EXTDrawBuffers.h:
129         (EXTDrawBuffers):
130         * html/canvas/WebGLFramebuffer.cpp:
131         (WebCore::WebGLFramebuffer::getDrawBuffer):
132         (WebCore):
133         * html/canvas/WebGLFramebuffer.h:
134         (WebGLFramebuffer):
135         * html/canvas/WebGLRenderingContext.cpp:
136         (WebCore):
137         (WebCore::WebGLRenderingContext::initializeNewContext):
138         (WebCore::WebGLRenderingContext::getExtension):
139         (WebCore::WebGLRenderingContext::getParameter):
140         (WebCore::WebGLRenderingContext::getSupportedExtensions):
141         (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
142         (WebCore::WebGLRenderingContext::getMaxDrawBuffers):
143         (WebCore::WebGLRenderingContext::getMaxColorAttachments):
144         (WebCore::WebGLRenderingContext::setBackDrawBuffer):
145         (WebCore::WebGLRenderingContext::restoreCurrentFramebuffer):
146         (WebCore::WebGLRenderingContext::restoreCurrentTexture2D):
147         (WebCore::WebGLRenderingContext::supportsDrawBuffers): a cached version of EXTDrawBuffers::supports()
148         * html/canvas/WebGLRenderingContext.h:
149         (WebGLRenderingContext):
150
151 2013-03-22  Roger Fong  <roger_fong@apple.com>
152
153         Unreviewed. Fix AppleWin port following https://bugs.webkit.org/show_bug.cgi?id=113100.
154         Patch by Alexey Proskuryakov.
155
156         * platform/network/cf/ResourceHandleCFNet.cpp:
157         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
158
159 2013-03-22  Tony Chang  <tony@chromium.org>
160
161         REGRESSION (r146272): layout issues for flex boxes that have -webkit-flex-wrap: wrap
162         https://bugs.webkit.org/show_bug.cgi?id=113071
163
164         Reviewed by Ojan Vafai.
165
166         The refactor in r139535 introduced this bug, where a variable name wasn't updated properly.
167         In combination with r146272, this bug became more visible when nesting multiline flexboxen.
168
169         Test: css3/flexbox/multiline-min-preferred-width.html
170
171         * rendering/RenderFlexibleBox.cpp:
172         (WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths): We want the width of the widest
173         flexitem, the value in m_minPreferredWidth isn't relevant. Also update the comment for max
174         preferred width.
175
176 2013-03-22  Max Vujovic  <mvujovic@adobe.com>
177
178         [CSS Shaders] Clamp css_MixColor before the blending and compositing steps
179         https://bugs.webkit.org/show_bug.cgi?id=113088
180
181         Reviewed by Dean Jackson.
182
183         The blending and compositing operations from the spec [1] expect that they are operating on
184         valid color inputs, in the range [0.0, 1.0]. Thus, we should clamp the css_MixColor input to
185         this range to avoid implementation-dependent behavior for invalid color inputs.
186
187         [1]: https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blending
188
189         Tests: css3/filters/custom/custom-filter-clamp-css-mix-color-negative.html
190                css3/filters/custom/custom-filter-clamp-css-mix-color.html
191
192         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
193         (WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader):
194             Clamp css_MixColor as clampedMixColor before using it in the blending and compositing
195             steps.
196
197 2013-03-19  Martin Robinson  <mrobinson@igalia.com>
198
199         [GTK] Add WebCoreDOM to the gyp build
200         https://bugs.webkit.org/show_bug.cgi?id=112737
201
202         Reviewed by Nico Weber.
203
204         * WebCore.gyp/WebCoreGTK.gyp: Add WebCoreDOM to the gyp build.
205
206 2013-03-19  Martin Robinson  <mrobinson@igalia.com>
207
208         [GTK] Add WebCoreHTML to the gyp build
209         https://bugs.webkit.org/show_bug.cgi?id=112727
210
211         Reviewed by Nico Weber.
212
213         * WebCore.gyp/WebCoreGTK.gyp: Add support for building all files under
214         the HTML directory. This includes splitting off common WebCore dependencies
215         into an aggregate target and adding a top-level WebCore target.
216
217 2013-03-22  Tim Horton  <timothy_horton@apple.com>
218
219         Plugin Snapshotting: Auto-start dominant plugins
220         https://bugs.webkit.org/show_bug.cgi?id=113111
221         <rdar://problem/13475726>
222
223         Reviewed by Dean Jackson.
224
225         * html/HTMLPlugInElement.cpp:
226         (WebCore::HTMLPlugInElement::defaultEventHandler):
227         Acknowledge the new "Restarting" DisplayState.
228         * html/HTMLPlugInElement.h:
229         Rename PlayingWithPendingMouseClick to RestartingWithPendingMouseClick for accuracy.
230         Add "Restarting" DisplayState, so we can be aware that the plugin is intentionally restarting and not re-snapshot it.
231         * html/HTMLPlugInImageElement.cpp:
232         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Remove m_isPrimarySnapshottedPlugIn.
233         (WebCore::classNameForShadowRoot): Remove m_isPrimarySnapshottedPlugIn.
234         (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn): Restart the plugin when it becomes primary.
235         (WebCore::HTMLPlugInImageElement::updateSnapshotInfo): Remove m_isPrimarySnapshottedPlugIn.
236         (WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn):
237         Move the plugin to Restarting unless it's already marked as PendingMouseClick.
238         (WebCore::HTMLPlugInImageElement::simulatedMouseClickTimerFired): Match the PlayingWithPendingMouseClick rename.
239         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Don't snapshot if we're restarting.
240         * html/HTMLPlugInImageElement.h: Remove m_isPrimarySnapshottedPlugIn.
241         * rendering/RenderSnapshottedPlugIn.cpp:
242         (WebCore::RenderSnapshottedPlugIn::paint): Acknowledge the new "Restarting" DisplayState.
243         (WebCore::RenderSnapshottedPlugIn::getCursor): Acknowledge the new "Restarting" DisplayState.
244         (WebCore::RenderSnapshottedPlugIn::handleEvent): Match the PlayingWithPendingMouseClick rename.
245
246 2013-03-19  Martin Robinson  <mrobinson@igalia.com>
247
248         [GTK] Add support for building the WebCore bindings to the gyp build
249         https://bugs.webkit.org/show_bug.cgi?id=112638
250
251         Reviewed by Nico Weber.
252
253         Add targets, actions, and rules for building the WebCore bindings. This is
254         the first part of the WebCoreGTK build.
255
256         * WebCore.gyp/ConvertFileToHeaderWithCharacterArray.gypi: Added.
257         * WebCore.gyp/MakeNames.gypi: Added.
258         * WebCore.gyp/WebCoreGTK.gyp: Added WebCore bindings build. This has been adapted
259         from the Chromium build.
260         * WebCore.gypi: Updated list of derived sources files and added a parameter
261         for adjusting the location of the built files. We don't want to force the
262         Mac build to change, but we'd still like to reuse the scripts that the
263         Chromium build uses.
264
265 2013-03-22  Dane Wallinga  <dgwallinga@chromium.org>
266
267         Add client callbacks to notify of changes of associated from controls
268         https://bugs.webkit.org/show_bug.cgi?id=110375
269
270         Reviewed by Ryosuke Niwa.
271
272         Hook FormAssociatedElement, HTMLFormElement to notify EditorClient of form changes after a page has loaded.
273         Will be used to add autofill support for ajax-y webpages. e.g if while filling out a form, new fields
274         are dynamically created, autofill can know to re-query the autofill server and keep going.
275         https://bugs.webkit.org/show_bug.cgi?id=110375
276
277         * dom/Document.cpp:
278         (WebCore::Document::Document):
279         (WebCore::Document::didAssociateFormControl):
280         (WebCore):
281         (WebCore::Document::didAssociateFormControlsTimerFired):
282         * dom/Document.h:
283         (Document):
284         added method didAssociateFormControl, which batches form changes
285         and calls out to ChromeClient on a timer.
286         * html/FormAssociatedElement.cpp:
287         (WebCore::FormAssociatedElement::resetFormOwner):
288         (WebCore::FormAssociatedElement::formAttributeChanged):
289         (WebCore):
290         * html/FormAssociatedElement.h:
291         (FormAssociatedElement):
292         add calls to Document::didAssociateFormControl when form changes
293         * html/HTMLFormElement.cpp:
294         (WebCore::HTMLFormElement::insertedInto):
295         (WebCore):
296         * html/HTMLFormElement.h:
297         add call to Document::didAssociateFormControl
298         * loader/EmptyClients.h:
299         (EmptyChromeClient):
300         (WebCore::EmptyChromeClient::didAssociateFormControls):
301         (WebCore::EmptyChromeClient::shouldNotifyOnFormChanges):
302         * page/ChromeClient.h:
303         (ChromeClient):
304         add new method didAssociateFormControls
305
306 2013-03-22  Alexey Proskuryakov  <ap@apple.com>
307
308         Split ResourceHandleMac into multiple files
309         https://bugs.webkit.org/show_bug.cgi?id=113100
310
311         Reviewed by Geoff Garen.
312
313         It's grown too big to navigate, and I'm going to make WebCoreResourceHandleAsDelegate
314         substantially more complicated yet.
315
316         1. Mechanically moved WebCoreResourceHandleAsDelegate into separate files.
317         2. Refactored WebCoreSynchronousLoaderClient to be cross-platform, and moved it into
318         separate files.
319
320         * WebCore.vcproj/WebCore.vcproj:
321         * WebCore.vcxproj/WebCore.vcxproj:
322         * WebCore.vcxproj/WebCore.vcxproj.filters:
323         * WebCore.xcodeproj/project.pbxproj:
324         * platform/network/SynchronousLoaderClient.cpp: Added.
325         * platform/network/SynchronousLoaderClient.h: Added.
326         * platform/network/cf/ResourceHandleCFNet.cpp:
327         * platform/network/mac/SynchronousLoaderClient.mm: Added.
328         * platform/network/mac/WebCoreResourceHandleAsDelegate.h: Added.
329         * platform/network/mac/WebCoreResourceHandleAsDelegate.mm: Added.
330
331 2013-03-21  Geoffrey Garen  <ggaren@apple.com>
332
333         Added a setting for whether JavaScript markup is enabled
334         https://bugs.webkit.org/show_bug.cgi?id=112999
335
336         Reviewed by Maciej Stachowiak.
337
338         This setting is useful for clients that want protection from script
339         injection attacks.
340
341         * page/Settings.h:
342         (Settings): Clarified which clients should call canExecuteScripts().
343
344         * page/Settings.in: Added the new setting.
345
346 2013-03-22  Roger Fong  <roger_fong@apple.com>
347
348         Unreviewed build fix.
349
350         * bindings/scripts/preprocessor.pm:
351         (applyPreprocessor):
352
353 2013-03-22  Roger Fong  <roger_fong@apple.com>
354
355         Unreviewed. Force kill gcc-3.exe during bindings generation tests to avoid process hangs.
356
357         This problem is occuring on the WinEWS bots where there are somehow multiple gcc-3 processes existing at the same time.
358         This is a speculative fix. There should only be 1 gcc-3.exe process running at a time ever.
359
360         * bindings/scripts/preprocessor.pm:
361         (applyPreprocessor):
362
363 2013-03-22  Eric Carlson  <eric.carlson@apple.com>
364
365         Cleanup text track selection logic
366         https://bugs.webkit.org/show_bug.cgi?id=113062
367
368         Reviewed by Jer Noble.
369
370         No new tests, covered by existing tests.
371
372         * html/HTMLMediaElement.cpp:
373         (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): Remove.
374         (WebCore::HTMLMediaElement::configureTextTrackGroup): Don't look at track attributes directly,
375             use captionPreferences->textTrackSelectionScore to calculate track rank.
376         (WebCore::HTMLMediaElement::setClosedCaptionsVisible): Set m_processingPreferenceChange here
377             instead of in captionPreferencesChanged.
378         (WebCore::HTMLMediaElement::captionPreferencesChanged): Don't suppress calls to setClosedCaptionsVisible,
379             existing code already makes sure we don't do unnecessary work.
380         * html/HTMLMediaElement.h:
381
382         * html/shadow/MediaControlElements.cpp:
383         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Drive by cleanup, don't
384             process inactive cues.
385
386         * html/shadow/MediaControlsApple.cpp:
387         (WebCore::MediaControlsApple::changedClosedCaptionsVisibility): Call resetTrackListMenu instead
388             of updateDisplay so we only mark the menu as needing a recalculation and do the work when
389             it is displayed.
390
391         * page/CaptionUserPreferences.cpp:
392         (WebCore::CaptionUserPreferences::shouldShowCaptions): When in testing mode, return true if
393             the caption or subtitle preference has been set.
394         (WebCore::CaptionUserPreferences::setShouldShowCaptions): In testing mode, clear the caption
395             and subtitle preference when passed false.
396         (WebCore::CaptionUserPreferences::textTrackSelectionScore): Calculate the track score based on
397             track type preference and preferred language.
398         (WebCore::CaptionUserPreferences::textTrackLanguageSelectionScore): Score a track according to
399             the language presence and position in the preferred languages list.
400         * page/CaptionUserPreferences.h:
401
402         * page/CaptionUserPreferencesMac.h:
403         * page/CaptionUserPreferencesMac.mm:
404         (WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): Calculate track language score 
405             according to user preferences.
406
407         * platform/Language.cpp:
408         (WebCore::indexOfBestMatchingLanguageInList): Repurposed the static bestMatchingLanguage
409             function to return the location of a language in a Vector.
410         (WebCore::preferredLanguageFromList): Removed.
411         * platform/Language.h:
412
413 2013-03-22  ChangSeok Oh  <changseok.oh@collabora.com>
414
415         Build fix for TransformationMatrix
416         https://bugs.webkit.org/show_bug.cgi?id=113087
417
418         Reviewed by Martin Robinson.
419
420         This is a trivial build fix for clutter ac backend. Clutter AC backend doesn't use
421         TextureMapper so there is nowhere including TransformationMatrix.h.
422         For the reason, we include it explicitly.
423
424         No new tests because of no functionality change.
425
426         * platform/graphics/clutter/GraphicsContext3DPrivate.cpp:
427         * platform/graphics/clutter/GraphicsContext3DPrivate.h:
428         (WebCore):
429
430 2013-03-22  Steve Block  <steveblock@chromium.org>
431
432         Coordinates.idl lacks Conditional=GEOLOCATION
433         https://bugs.webkit.org/show_bug.cgi?id=112949
434
435         Reviewed by Steve Block.
436
437         No new tests, build optimization only.
438
439         * page/Coordinates.idl: Added GEOLOCATION conditional guard.
440
441 2013-03-22  Daniel Cheng  <dcheng@chromium.org>
442
443         Data store should be readable in dragstart/copy/cut events
444         https://bugs.webkit.org/show_bug.cgi?id=23695
445
446         Reviewed by Tony Chang.
447
448         There were several events where data could be written but not read back due to the fact that
449         different Clipboard method implementations checked permissions inconsistently. This patch
450         adds helper methods to check if an operation is permitted on a Clipboard and refactors all
451         direct comparisons against Clipboard::m_policy to use the new helpers instead. This fixes
452         several bugs where Clipboard::types and Clipboard::getData are not usable inside the
453         aforementioned events.
454
455         Tests: editing/pasteboard/can-read-in-copy-and-cut-events.html
456                editing/pasteboard/can-read-in-dragstart-event.html
457
458         * dom/Clipboard.cpp:
459         (WebCore::Clipboard::canReadTypes): Formerly restricted to ClipboardReadable and
460                                             ClipboardTypesReadable; now allows ClipboardWritable as
461                                             well.
462         (WebCore::Clipboard::canReadData): Formerly restricted to ClipboardReadable; now allows
463                                            ClipboardWritable as well.
464         (WebCore::Clipboard::canWriteData):
465         (WebCore::Clipboard::canSetDragImage):
466         (WebCore::Clipboard::hasFileOfType):
467         (WebCore::Clipboard::hasStringOfType):
468         (WebCore::Clipboard::setDropEffect):
469         (WebCore::Clipboard::setEffectAllowed):
470         * dom/Clipboard.h:
471         (Clipboard):
472         * platform/blackberry/ClipboardBlackBerry.cpp:
473         (WebCore::ClipboardBlackBerry::clearData):
474         (WebCore::ClipboardBlackBerry::clearAllData):
475         (WebCore::ClipboardBlackBerry::getData):
476         (WebCore::ClipboardBlackBerry::setData):
477         (WebCore::ClipboardBlackBerry::types):
478         * platform/chromium/ClipboardChromium.cpp:
479         (WebCore::DataTransferItemPolicyWrapper::kind):
480         (WebCore::DataTransferItemPolicyWrapper::type):
481         (WebCore::DataTransferItemPolicyWrapper::getAsString):
482         (WebCore::DataTransferItemPolicyWrapper::getAsFile):
483         (WebCore::ClipboardChromium::clearData):
484         (WebCore::ClipboardChromium::clearAllData):
485         (WebCore::ClipboardChromium::getData):
486         (WebCore::ClipboardChromium::setData):
487         (WebCore::ClipboardChromium::types):
488         (WebCore::ClipboardChromium::files):
489         (WebCore::ClipboardChromium::setDragImage):
490         * platform/gtk/ClipboardGtk.cpp:
491         (WebCore::ClipboardGtk::clearData):
492         (WebCore::ClipboardGtk::clearAllData):
493         (WebCore::ClipboardGtk::getData):
494         (WebCore::ClipboardGtk::setData):
495         (WebCore::ClipboardGtk::types):
496         (WebCore::ClipboardGtk::files):
497         (WebCore::ClipboardGtk::setDragImage):
498         * platform/mac/ClipboardMac.mm:
499         (WebCore::ClipboardMac::clearData):
500         (WebCore::ClipboardMac::clearAllData):
501         (WebCore::ClipboardMac::getData):
502         (WebCore::ClipboardMac::setData):
503         (WebCore::ClipboardMac::types):
504         (WebCore::ClipboardMac::files):
505         (WebCore::ClipboardMac::setDragImage):
506         * platform/qt/ClipboardQt.cpp:
507         (WebCore::ClipboardQt::clearData):
508         (WebCore::ClipboardQt::clearAllData):
509         (WebCore::ClipboardQt::getData):
510         (WebCore::ClipboardQt::setData):
511         (WebCore::ClipboardQt::types):
512         (WebCore::ClipboardQt::files):
513         (WebCore::ClipboardQt::setDragImage):
514         (WebCore::ClipboardQt::items):
515         * platform/qt/DataTransferItemListQt.cpp:
516         (WebCore::DataTransferItemListQt::length):
517         (WebCore::DataTransferItemListQt::item):
518         (WebCore::DataTransferItemListQt::deleteItem):
519         (WebCore::DataTransferItemListQt::clear):
520         (WebCore::DataTransferItemListQt::add):
521         * platform/qt/DataTransferItemQt.cpp:
522         (WebCore::DataTransferItemQt::getAsString):
523         * platform/win/ClipboardWin.cpp:
524         (WebCore::ClipboardWin::clearData):
525         (WebCore::ClipboardWin::clearAllData):
526         (WebCore::ClipboardWin::getData):
527         (WebCore::ClipboardWin::setData):
528         (WebCore::ClipboardWin::types):
529         (WebCore::ClipboardWin::files):
530         (WebCore::ClipboardWin::setDragImage):
531
532 2013-03-22  Andrei Bucur  <abucur@adobe.com>
533
534         [CSS Regions] Remove pushLayoutState(RenderFlowThread*) from RenderView
535         https://bugs.webkit.org/show_bug.cgi?id=113084
536
537         Reviewed by Dirk Schulze.
538
539         Remove void pushLayoutState(RenderFlowThread*, bool regionsChanged) from RenderView.h because it's not used.
540
541         Tests: Code cleanup. No tests needed.
542
543         * rendering/RenderView.h:
544         (RenderView):
545
546 2013-03-22  Kondapally Kalyan  <kalyan.kondapally@intel.com>
547
548         [EFL] Fix build issues to enable CSS Filter and Shaders support.
549         https://bugs.webkit.org/show_bug.cgi?id=111274
550
551         Reviewed by Noam Rosenthal.
552
553         This is in preperation to enable CSS Filter and Shaders support.
554         This patch fixes related build issues to enable the support.
555
556         * platform/graphics/surfaces/efl/GLTransportSurface.cpp:
557         * platform/graphics/texmap/TextureMapper.cpp:
558         * platform/graphics/texmap/TextureMapper.h:
559         (WebCore):
560         * platform/graphics/texmap/TextureMapperGL.cpp:
561         * platform/graphics/texmap/TextureMapperGL.h:
562         (WebCore):
563         * platform/graphics/texmap/TextureMapperShaderProgram.h:
564
565 2013-03-22  Matt Falkenhagen  <falken@chromium.org>
566
567         Implement isEnabledFormControl() for SliderThumbElement and SpinButtonElement in terms of disabled()
568         https://bugs.webkit.org/show_bug.cgi?id=112993
569
570         Reviewed by Kent Tamura.
571
572         This is an intermediate step for refactoring Node::disabled and
573         Element::isEnabledFormControl. All classes that override
574         isEnabledFormControl just return !disabled(), except for
575         SliderThumbElement and SpinButtonElement. This patch changes those two
576         classes to do so, which shows that the two functions are redundant and
577         easy to refactor into a single function in a subsequent patch.
578
579         No new tests, there should be no behavior change.
580
581         * html/shadow/SliderThumbElement.cpp:
582         (WebCore::SliderThumbElement::disabled):
583         (WebCore):
584         (WebCore::SliderThumbElement::isEnabledFormControl):
585         * html/shadow/SliderThumbElement.h:
586         (SliderThumbElement):
587         * html/shadow/SpinButtonElement.h: The check of shadowHost() is
588         necessary because it can be detached by JavaScript that runs during
589         event handling (see r76566)
590
591 2013-03-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
592
593         [Qt] New fast/text/word-space-with-kerning-3.html fails on Qt.
594         https://bugs.webkit.org/show_bug.cgi?id=112668
595
596         Reviewed by Jocelyn Turcotte.
597
598         Qt adds word-spacing to leading spaces, but WebCore only expects
599         us to add for trailing spaces. We only corrected for this in width
600         calculation but do need to also do it for drawing.
601
602         Instead of subtracting the extra word-spacing we now configure the
603         FormatRange not to apply to leading spaces. This means this behavior
604         will be applied everywhere reliably.
605
606         * platform/graphics/Font.h:
607         (Font):
608         * platform/graphics/qt/FontQt.cpp:
609         (WebCore::Font::drawComplexText):
610         (WebCore::Font::floatWidthForComplexText):
611         (WebCore::Font::offsetForPositionForComplexText):
612         (WebCore::Font::selectionRectForComplexText):
613         (WebCore::Font::initFormatForTextLayout):
614
615 2013-03-22  Joshua Bell  <jsbell@chromium.org>
616
617         REGRESSION (r146540?): Crashes in storage/indexeddb/factory-basics-workers.html, storage/indexeddb/transaction-error.html
618         https://bugs.webkit.org/show_bug.cgi?id=113019
619
620         Reviewed by Tony Chang.
621
622         Also manifesting flakily under Chromium's content_shell. It's an ASSERT being hit in
623         the IDBTransaction destructor. The cause was r146540 which allows a stopped context
624         to reclaim script wrappers. This allows the IDBTransaction to be deref'd at times where
625         it previously would have just leaked. Modulate the destructor assertions to account
626         for this case.
627
628         No new tests; failures already manifest as flaky crashes in some ports.
629
630         * Modules/indexeddb/IDBTransaction.cpp:
631         (WebCore::IDBTransaction::~IDBTransaction): If context is stopped, expected state
632         transitions/cleanup may not have occurred before destructor runs.
633
634 2013-03-22  David Grogan  <dgrogan@chromium.org>
635
636         IndexedDB: Histogram available disk space on attempt to open database
637         https://bugs.webkit.org/show_bug.cgi?id=112862
638
639         Reviewed by Tony Chang.
640
641         ChromeOS suspects they might be hitting disk corruption when the disks
642         are nearly full. This patch logs the available space to either the
643         "success" or the "fail" histogram as appropriate so that the
644         distributions can be compared.
645
646         No new tests - I don't know of a good way to test histograms. Local
647         printf testing didn't turn up any bugs.
648
649         * platform/leveldb/LevelDBDatabase.cpp:
650         (WebCore::HistogramFreeSpace):
651         (WebCore):
652         (WebCore::LevelDBDatabase::open):
653
654 2013-03-22  Nate Chapin  <japhet@chromium.org>
655
656         REGRESSION (r146239): Reproducible crash in WebCore::DocumentLoader::responseReceived.
657         https://bugs.webkit.org/show_bug.cgi?id=112811
658
659         Reviewed by Brady Eidson.
660
661         Test: http/tests/cache/x-frame-options-304.html
662
663         * loader/DocumentLoader.cpp:
664         (WebCore::DocumentLoader::responseReceived):
665         * loader/cache/CachedRawResource.cpp:
666         (WebCore::CachedRawResource::switchClientsToRevalidatedResource):
667         * loader/cache/CachedRawResource.h:
668
669 2013-03-22  Jer Noble  <jer.noble@apple.com>
670
671         REGRESSION: -webkit-box-reflect does not show on video elements
672         https://bugs.webkit.org/show_bug.cgi?id=112397
673
674         Reviewed by Eric Carlson.
675
676         Work around the ASSERTs generated when setting an AVPlayerLayer's player property
677         during a CA flush by setting the player property during the next runloop, outside
678         of a CA flush.
679
680         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
681         (PlatformCALayer::clone):
682
683 2013-03-22  peavo@outlook.com  <peavo@outlook.com>
684
685         [Curl] Performance fix, avoid loading cookie file on every request.
686         https://bugs.webkit.org/show_bug.cgi?id=113023
687
688         Reviewed by Brent Fulgham.
689
690         We currently load the cookie file on every request, and when setting cookies from JavaScript, by using the option CURLOPT_COOKIEFILE.
691         This is very inefficient as the cookie file can get quite large, and file I/O is slow.
692         It is sufficient to load the cookie file on startup, as we use a shared cookie database between the requests.
693
694         * platform/network/curl/CookieJarCurl.cpp:
695         (WebCore::setCookiesFromDOM): Avoid loading cookie file when setting cookies from JavaScript.
696         * platform/network/curl/ResourceHandleManager.cpp:
697         (WebCore::ResourceHandleManager::initializeHandle): Avoid loading cookie file on every request.
698         (WebCore::ResourceHandleManager::initCookieSession): Load the cookie file to shared database on startup.
699
700 2013-03-22  Tiancheng Jiang  <tijiang@rim.com>
701
702         [BlackBerry] Update Input field Background Color
703         https://bugs.webkit.org/show_bug.cgi?id=113063
704
705         Reviewed by George Staikos.
706
707         RIM PR 307463.
708         Internally reviewed by Ed Baker.
709
710         * platform/blackberry/RenderThemeBlackBerry.cpp:
711         (WebCore::RenderThemeBlackBerry::paintTextFieldOrTextAreaOrSearchField):
712
713 2013-03-22  Ilya Tikhonovsky  <loislo@chromium.org>
714
715         Web Inspector: FlameChart. Draw function names over flame chart bar if they fit into the bar.
716         https://bugs.webkit.org/show_bug.cgi?id=113052
717
718         Reviewed by Vsevolod Vlasov.
719
720         The draw function will draw the bar title if the text is less than bar width.
721         Unfortunately almost all the projects which need to be profiled
722         use long function names with dots. So if the function name has dots and
723         doesn't fit into the space then prepareTitle will try to drop the prefix before dot.
724         If the title has no dots then the function will strip the tail of the title.
725
726         * inspector/front-end/FlameChart.js:
727         (WebInspector.FlameChart):
728         (WebInspector.FlameChart.prototype.draw):
729         (WebInspector.FlameChart.prototype._prepareTitle):
730
731 2013-03-22  Vladislav Kaznacheev  <kaznacheev@chromium.org>
732
733         Web Inspector: Add "hidden" attribute to the recently added APIs in Inspector.json
734         https://bugs.webkit.org/show_bug.cgi?id=113061
735
736         Added "hidden": true to the APIs introduced since version 1.0.
737
738         Reviewed by Pavel Feldman.
739
740         * inspector/Inspector.json:
741
742 2013-03-22  Vsevolod Vlasov  <vsevik@chromium.org>
743
744         Web Inspector: Correctly implement scrollToLine, revealLine and setSelection on CodeMirror  editor.
745         https://bugs.webkit.org/show_bug.cgi?id=113028
746
747         Reviewed by Pavel Feldman.
748
749         Added focus event handler to CodeMirror editor view elememnt to support inspector's focus model.
750         Added selection and scroll listeners to correctly save editor scroll and selection in history.
751         Implemented revealLine, scrollToLine and setSelection.
752         Note: CodeMirror's coordsChar method does not work correctly in "local" mode, implemented as binary search
753         as a temporary workaround.
754
755         * inspector/front-end/CodeMirrorTextEditor.js:
756         (WebInspector.CodeMirrorTextEditor):
757         (WebInspector.CodeMirrorTextEditor.prototype.defaultFocusedElement):
758         (WebInspector.CodeMirrorTextEditor.prototype._handleElementFocus):
759         (WebInspector.CodeMirrorTextEditor.prototype.revealLine):
760         (WebInspector.CodeMirrorTextEditor.prototype._coordsChar):
761         (WebInspector.CodeMirrorTextEditor.prototype._topScrolledLine):
762         (WebInspector.CodeMirrorTextEditor.prototype._bottomScrolledLine):
763         (WebInspector.CodeMirrorTextEditor.prototype._scroll):
764         (WebInspector.CodeMirrorTextEditor.prototype._selectionChange):
765         (WebInspector.CodeMirrorTextEditor.prototype.scrollToLine):
766         (WebInspector.CodeMirrorTextEditor.prototype.setSelection):
767         (WebInspector.CodeMirrorTextEditor.prototype.copyRange):
768         * inspector/front-end/TextEditor.js:
769         (WebInspector.TextEditor.prototype.copyRange):
770
771 2013-03-22  Vsevolod Vlasov  <vsevik@chromium.org>
772
773         Web Inspector: [Regression] Editor scroll is not restored after inspector reload.
774         https://bugs.webkit.org/show_bug.cgi?id=113027
775
776         Reviewed by Pavel Feldman.
777
778         * inspector/front-end/SourceFrame.js:
779         (WebInspector.SourceFrame.prototype.wasShown):
780         (WebInspector.SourceFrame.prototype._isEditorShowing):
781         (WebInspector.SourceFrame.prototype._innerHighlightLineIfNeeded):
782         (WebInspector.SourceFrame.prototype._innerRevealLineIfNeeded):
783         (WebInspector.SourceFrame.prototype._innerScrollToLineIfNeeded):
784         (WebInspector.SourceFrame.prototype._innerSetSelectionIfNeeded):
785
786 2013-03-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
787
788         [Qt] Fix build with OPENCL 1.2
789         https://bugs.webkit.org/show_bug.cgi?id=113056
790
791         Reviewed by Kenneth Rohde Christiansen.
792
793         Switch qmake checks to the modern style which means we can enable OpenCL with
794         WEBKIT_CONFIG+=opencl. 
795
796         Upgrade OpenCL 1.1 clCreateImage2D to OpenCL 1.2 clCreateImage calls.
797
798         * Target.pri:
799         * WebCore.pri:
800         * platform/graphics/filters/FilterEffect.cpp:
801         (WebCore::FilterEffect::createOpenCLImageResult):
802         * platform/graphics/gpu/opencl/FilterContextOpenCL.cpp:
803         (WebCore::FilterContextOpenCL::createOpenCLImage):
804
805 2013-03-22  ChangSeok Oh  <changseok.oh@collabora.com>
806
807         [GTK][AC] Opacity animation doesn't work with clutter backend
808         https://bugs.webkit.org/show_bug.cgi?id=110347
809
810         Reviewed by Gustavo Noronha Silva.
811
812         The static casting in ternary operator doesn't change actual inputted argument type.
813         So I replaced it with if-else statement.
814
815         Covered by existing animation tests.
816
817         * platform/graphics/clutter/PlatformClutterAnimation.cpp:
818         (WebCore::PlatformClutterAnimation::addClutterTransitionForProperty):
819         (WebCore::PlatformClutterAnimation::addClutterKeyframeTransitionForProperty):
820
821 2013-03-22  ChangSeok Oh  <changseok.oh@collabora.com>
822
823         [GTK][AC] Add removing animations procedure with clutter ac backend
824         https://bugs.webkit.org/show_bug.cgi?id=110607
825
826         Reviewed by Gustavo Noronha Silva.
827
828         This changes is based on mac port implementation. The only different thing is
829         that updateAnimations is called explicitly in destructor of GraphicsLayerClutter
830         to remove uncommitted animations. Because even though we call notifyFlushRequired
831         to remove existing animations in removeAnimation(), removeClutterAnimationFromLayer
832         has been never reached since the root layer is destroyed before. It means
833         that we haven't lost a change to remove actual animations from clutterActor.
834
835         Covered by existing animation tests.
836
837         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
838         (WebCore::GraphicsLayerClutter::~GraphicsLayerClutter):
839         (WebCore::GraphicsLayerClutter::removeAnimation):
840         (WebCore):
841         (WebCore::GraphicsLayerClutter::removeClutterAnimationFromLayer):
842         * platform/graphics/clutter/GraphicsLayerClutter.h:
843         (WebCore::GraphicsLayerClutter::animationIsRunning):
844         (GraphicsLayerClutter):
845
846 2013-03-22  Kondapally Kalyan  <kalyan.kondapally@intel.com>
847
848         [EFL][WebGL] Optimize AlphaOp for HTMLVideoElement input.
849         https://bugs.webkit.org/show_bug.cgi?id=113049
850
851         Reviewed by Kenneth Rohde Christiansen.
852
853         Covered by existing tests.
854
855         Changeset 137397 implemented optimisation to avoid any
856         unnecessary Unmultiply or Premultiply operation in unpack/pack
857         provided the Image source is from HTMLVideoElement. This patch
858         enables the same for EFL port.
859
860         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
861         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
862
863 2013-03-22  Tommy Widenflycht  <tommyw@google.com>
864
865         Clean up the speech recognintion API
866         https://bugs.webkit.org/show_bug.cgi?id=112916
867
868         Reviewed by Adam Barth.
869
870         This patch cleans away deprecated parts, fixes so that stop() can be called more than once and adds
871         the missing emma attribute on SpeechRecognitionEvent (which is always null).
872
873         Patch covered by existing tests.
874
875         * Modules/speech/SpeechRecognition.cpp:
876         (WebCore::SpeechRecognition::stopFunction):
877         (WebCore::SpeechRecognition::abort):
878         (WebCore::SpeechRecognition::didEnd):
879         (WebCore::SpeechRecognition::SpeechRecognition):
880         * Modules/speech/SpeechRecognition.h:
881         (SpeechRecognition):
882         * Modules/speech/SpeechRecognitionEvent.cpp:
883         (WebCore::SpeechRecognitionEvent::createResult):
884         (WebCore::SpeechRecognitionEvent::createNoMatch):
885         (WebCore::SpeechRecognitionEvent::SpeechRecognitionEvent):
886         * Modules/speech/SpeechRecognitionEvent.h:
887         (WebCore):
888         (SpeechRecognitionEventInit):
889         (SpeechRecognitionEvent):
890         (WebCore::SpeechRecognitionEvent::emma):
891         * Modules/speech/SpeechRecognitionEvent.idl:
892
893 2013-03-22  Emil A Eklund  <eae@chromium.org>
894
895         Floor cell widths in AutoTableLayout::recalcColumn
896         https://bugs.webkit.org/show_bug.cgi?id=112922
897
898         Reviewed by Levi Weintraub.
899
900         Table cells widths are floored to ensure even distribution of available
901         space across columns. The code path that computes the width of the
902         _table_ failed to take this into account and thus can over report the
903         total width of the table.
904
905         Test: fast/sub-pixel/table-with-subpixel-cell-size.html
906
907         * rendering/AutoTableLayout.cpp:
908         (WebCore::AutoTableLayout::recalcColumn): Floor width to match column sizing logic.
909
910 2013-03-22  David Kilzer  <ddkilzer@apple.com>
911
912         BUILD FIX (r146208): Export shouldPrintExceptions methods for iOS
913
914         Fixes the following build failure:
915
916             Undefined symbols for architecture i386:
917               "__ZN7WebCore11PageConsole24setShouldPrintExceptionsEb", referenced from:
918                     +[WebCoreStatistics setShouldPrintExceptions:] in WebCoreStatistics.o
919               "__ZN7WebCore11PageConsole21shouldPrintExceptionsEv", referenced from:
920                     +[WebCoreStatistics shouldPrintExceptions] in WebCoreStatistics.o
921             ld: symbol(s) not found for architecture i386
922             clang: error: linker command failed with exit code 1 (use -v to see invocation)
923
924         * WebCore.exp.in: Move symbols so they're exported for iOS as
925         well.
926
927 2013-03-22  Yury Semikhatsky  <yurys@chromium.org>
928
929         Unreviewed. Fix Chromium Win compilation after r146583.
930
931         * bindings/v8/CustomElementHelpers.cpp:
932         (WebCore::CustomElementHelpers::invokeReadyCallbackIfNeeded):
933
934 2013-03-22  Ilya Tikhonovsky  <loislo@chromium.org>
935
936         Web Inspector: Flame Chart. Chart has to be zoomed around the mouse pointer.
937         https://bugs.webkit.org/show_bug.cgi?id=113031
938
939         Reviewed by Yury Semikhatsky.
940
941         Overview grid is able to zoom around the mouse pointer.
942         So the simplest way is to translate x coordinate of the mouse pointer hovered over the chart
943         to x coordinate in term of overview window and pass it to the zoom function.
944
945         Minor unrelated fix: draw small border at bottom of the overview grid.
946
947         * inspector/front-end/FlameChart.js:
948         (WebInspector.FlameChart.prototype._onMouseWheel):
949         * inspector/front-end/OverviewGrid.js:
950         (WebInspector.OverviewGrid.prototype.zoom):
951         * inspector/front-end/flameChart.css:
952         (#flame-chart-overview-container):
953
954 2013-03-22  No'am Rosenthal  <noam@webkit.org>
955
956         [Texmap] TextureMapperImageBuffer should not use rendering code for filters.
957         https://bugs.webkit.org/show_bug.cgi?id=113040
958
959         Reviewed by Kenneth Rohde Christiansen.
960
961         Disable TextureMapperImageBuffer filters, until they can be done the right way.
962         This should only disrupt accelerated filters in fallback mode, which is a very rare
963         use case.
964
965         No new testable functionality.
966
967         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
968         (WebCore::BitmapTextureImageBuffer::applyFilters):
969
970 2013-03-22  Sergey Ryazanov  <serya@chromium.org>
971
972         Web Inspector: Report more CSS errors
973         https://bugs.webkit.org/show_bug.cgi?id=113022
974
975         Reviewed by Pavel Feldman.
976
977         Reporting next few CSS syntax errors in declaration_list.
978
979         * css/CSSGrammar.y.in:
980
981 2013-03-18  Yury Semikhatsky  <yurys@chromium.org>
982
983         Web Inspector: use individual samples to construct CPU profile flame chart
984         https://bugs.webkit.org/show_bug.cgi?id=112569
985
986         Reviewed by Pavel Feldman.
987
988         Added an optional array of samples to the CPU profile returned over the
989         protocol. Each sample is id of the profile node corresponding to the top frame
990         of the sample's stack trace. The array of samples if present is used to draw
991         the flame chart on the CPU profile panel, otherwise flame chart is drawn based
992         on the aggregated profile data.
993
994         * bindings/js/ScriptProfile.cpp:
995         (WebCore::ScriptProfile::buildInspectorObjectForSamples):
996         * bindings/js/ScriptProfile.h:
997         (ScriptProfile):
998         * bindings/v8/ScriptProfile.cpp:
999         (WebCore::buildInspectorObjectFor):
1000         (WebCore):
1001         (WebCore::ScriptProfile::buildInspectorObjectForSamples):
1002         * bindings/v8/ScriptProfile.h:
1003         (ScriptProfile):
1004         * bindings/v8/ScriptProfiler.cpp:
1005         (WebCore::ScriptProfiler::start):
1006         * inspector/Inspector.json:
1007         * inspector/InspectorProfilerAgent.cpp:
1008         (WebCore::InspectorProfilerAgent::getCPUProfile):
1009         * inspector/front-end/CPUProfileView.js:
1010         (WebInspector.CPUProfileView.prototype._getCPUProfileCallback):
1011         (WebInspector.CPUProfileView.prototype._buildIdToNodeMap):
1012         * inspector/front-end/FlameChart.js:
1013         (WebInspector.FlameChart.prototype._calculateTimelineData):
1014
1015 2013-03-22  Steve Block  <steveblock@chromium.org>
1016
1017         Use generated bindings for the Coordinates type used by Geolocation
1018         https://bugs.webkit.org/show_bug.cgi?id=112975
1019
1020         Reviewed by Kentaro Hara.
1021
1022         No new tests, refactoring only.
1023
1024         * CMakeLists.txt:
1025         * GNUmakefile.list.am:
1026         * Modules/geolocation/Coordinates.cpp: Renamed from Source/WebCore/bindings/js/JSCoordinatesCustom.cpp.
1027         (WebCore):
1028         (WebCore::Coordinates::altitude):
1029         (WebCore::Coordinates::altitudeAccuracy):
1030         (WebCore::Coordinates::heading):
1031         (WebCore::Coordinates::speed):
1032         * Modules/geolocation/Coordinates.h:
1033         (Coordinates):
1034         * Modules/geolocation/Coordinates.idl:
1035         * Target.pri:
1036         * UseJSC.cmake:
1037         * UseV8.cmake:
1038         * WebCore.gypi:
1039         * WebCore.vcproj/WebCore.vcproj:
1040         * WebCore.vcxproj/WebCore.vcxproj:
1041         * WebCore.vcxproj/WebCore.vcxproj.filters:
1042         * WebCore.xcodeproj/project.pbxproj:
1043         * bindings/js/JSBindingsAllInOne.cpp:
1044         * bindings/v8/custom/V8CoordinatesCustom.cpp: Removed.
1045
1046 2013-03-22  Kunihiko Sakamoto  <ksakamoto@chromium.org>
1047
1048         INPUT_MULTIPLE_FIELDS_UI: Incomplete datetime format should fallback to default
1049         https://bugs.webkit.org/show_bug.cgi?id=113005
1050
1051         Reviewed by Kent Tamura.
1052
1053         Use fallback format when datetime format from locale is not complete.
1054
1055         Tests: fast/forms/date-multiple-fields/date-multiple-fields-fallback-format.html
1056                fast/forms/datetime-multiple-fields/datetime-multiple-fields-fallback-format.html
1057                fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-fallback-format.html
1058                fast/forms/month-multiple-fields/month-multiple-fields-fallback-format.html
1059                fast/forms/time-multiple-fields/time-multiple-fields-fallback-format.html
1060                fast/forms/week-multiple-fields/week-multiple-fields-fallback-format.html
1061
1062         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
1063         (DateTimeFormatValidator): A helper class that parses datetime format and tests existence of fields.
1064         (WebCore::DateTimeFormatValidator::DateTimeFormatValidator):
1065         (WebCore::DateTimeFormatValidator::visitField):
1066         (WebCore::DateTimeFormatValidator::validateFormat): Parses datetime format and validates by calling BaseMultipleFieldsDateAndTimeInputType::isValidFormat.
1067         (WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue): Checks if dateTimeFormat is valid, and uses fallback format if not.
1068         * html/BaseMultipleFieldsDateAndTimeInputType.h:
1069         (BaseMultipleFieldsDateAndTimeInputType): Declare isValidFormat.
1070         * html/DateInputType.cpp:
1071         (WebCore::DateInputType::isValidFormat): Added.
1072         * html/DateInputType.h:
1073         (DateInputType):
1074         * html/DateTimeInputType.cpp:
1075         (WebCore::DateTimeInputType::isValidFormat): Added.
1076         * html/DateTimeInputType.h:
1077         (DateTimeInputType):
1078         * html/DateTimeLocalInputType.cpp:
1079         (WebCore::DateTimeLocalInputType::isValidFormat): Added.
1080         * html/DateTimeLocalInputType.h:
1081         (DateTimeLocalInputType):
1082         * html/MonthInputType.cpp:
1083         (WebCore::MonthInputType::isValidFormat): Added.
1084         * html/MonthInputType.h:
1085         (MonthInputType):
1086         * html/TimeInputType.cpp:
1087         (WebCore::TimeInputType::isValidFormat): Added.
1088         * html/TimeInputType.h:
1089         (TimeInputType):
1090         * html/WeekInputType.cpp:
1091         (WebCore::WeekInputType::isValidFormat): Added.
1092         * html/WeekInputType.h:
1093         (WeekInputType):
1094
1095 2013-03-22  Hajime Morrita  <morrita@google.com>
1096
1097         Custom Elements: "readyCallback" lifecycle callback should be called.
1098         https://bugs.webkit.org/show_bug.cgi?id=112538
1099
1100         Reviewed by Elliott Sprehn.
1101
1102         This change allows each custom element definition to hook up its instantiation,
1103         namely "readyCallback" lifecycle callback.
1104
1105         The change has two parts:
1106         - 1. Tracking which Element objects to be created.
1107         - 2. Invoking appropriate JavaScript functions, which are readyCallback(),
1108           before the Element object is visible from page script.
1109
1110         For 1, CustomElementRegistry maintains list of "callback
1111         invocaions".  Each list item ("invocation") tracks the element
1112         which has a lifecycle callback to be invoked. Each invocation is
1113         registered when - Any custom element C++ object is instantiated.
1114         See changes on CustomElementConstructor.cpp.
1115
1116         This also happens when @is attribute is set by the parser or node
1117         cloning routine, which can turn a non-custom element into a
1118         type-extended custom element. See changes on Element.cpp.
1119
1120         For 2, CustomElementRegistry basically follows what
1121         MutationObserver is doing, and introduces a method called
1122         deliverLifecycleCallbacks(). This function flushes all pending
1123         callback invocations. You can think it as a dual of
1124         MutationObserver::deliverAllMutations().
1125
1126         The delivery function is called places where MutationObserver's
1127         deliverAllMutations() is called. In addition, it is also called
1128         just before returning from a set of DOM APIs. For example, it is
1129         called just before createElement() returns, so that possibly
1130         created custom element becomes ready through its readyCallback().
1131         Such APIs get "V8DeliverCustomElementCallbacks" IDL attribute. In
1132         principle, APIs which can create new custom element instnaces are
1133         marked. See CustomElementRegistry::CallbackDeliveryScope and
1134         changes on CodeGeneratorV8.pm.
1135
1136         We need this extra work because the readyCallback() needs to give
1137         an illusion so that JavaScript programmers feel like the
1138         readyCallback() callback being called just after it is created,
1139         instead of called on arbitrary late timing like MutationObserver
1140         notifications.
1141
1142         Tests: fast/dom/custom/lifecycle-ready-createElement-recursion.html
1143                fast/dom/custom/lifecycle-ready-createElement-reentrancy.html
1144                fast/dom/custom/lifecycle-ready-creation-api.html
1145                fast/dom/custom/lifecycle-ready-innerHTML.html
1146                fast/dom/custom/lifecycle-ready-parser-only.html
1147                fast/dom/custom/lifecycle-ready-parser-script.html
1148                fast/dom/custom/lifecycle-ready-paste.html
1149
1150         * bindings/scripts/CodeGeneratorV8.pm:
1151         - Hooked up CallbackDeliveryScope through V8DeliverCustomElementCallbacks attriute.
1152         (GenerateCustomElementInvocationScopeIfNeeded):
1153         (GenerateNormalAttrSetter):
1154         (GenerateFunction):
1155         * bindings/scripts/IDLAttributes.txt:
1156         * bindings/v8/CustomElementHelpers.cpp:
1157         (WebCore::CustomElementHelpers::invokeReadyCallbackIfNeeded):
1158         (WebCore::CustomElementHelpers::invokeReadyCallbacksIfNeeded):
1159         * bindings/v8/CustomElementHelpers.h:
1160         (CustomElementHelpers):
1161         * bindings/v8/V8RecursionScope.cpp: Added deliverAllLifecycleCallbacks()
1162         (WebCore::V8RecursionScope::didLeaveScriptContext):
1163         * dom/CustomElementConstructor.cpp:
1164         (WebCore::CustomElementConstructor::createElement):
1165         (WebCore::CustomElementConstructor::createElementInternal):
1166         * dom/CustomElementConstructor.h:
1167         (WebCore::CustomElementConstructor::isExtended):
1168         (CustomElementConstructor):
1169         * dom/CustomElementRegistry.cpp: Adding element tracking and invocation execution.
1170         (WebCore::CustomElementInvocation::CustomElementInvocation):
1171         (WebCore::CustomElementInvocation::~CustomElementInvocation):
1172         (WebCore::activeCustomElementRegistries):
1173         (WebCore::CustomElementRegistry::~CustomElementRegistry):
1174         (WebCore::CustomElementRegistry::didGiveTypeExtension):
1175         (WebCore::CustomElementRegistry::didCreateElement):
1176         (WebCore::CustomElementRegistry::activate):
1177         (WebCore::CustomElementRegistry::deactivate):
1178         (WebCore::CustomElementRegistry::deliverLifecycleCallbacks):
1179         (WebCore::CustomElementRegistry::deliverAllLifecycleCallbacks):
1180         * dom/CustomElementRegistry.h:
1181         (CustomElementInvocation):
1182         (WebCore::CustomElementInvocation::element):
1183         (CallbackDeliveryScope):
1184         (WebCore::CustomElementRegistry::CallbackDeliveryScope::CallbackDeliveryScope):
1185         (WebCore::CustomElementRegistry::CallbackDeliveryScope::~CallbackDeliveryScope):
1186         (CustomElementRegistry):
1187         (WebCore::CustomElementRegistry::deliverAllLifecycleCallbacksIfNeeded):
1188         * dom/Document.cpp:
1189         (WebCore::Document::createElement):
1190         (WebCore::Document::didCreateCustomElement):
1191         * dom/Document.h:
1192         (Document):
1193         * dom/Document.idl:
1194         * dom/Element.cpp:
1195         (WebCore::Element::attributeChangedFromParserOrByCloning): Added to catch @is attribute
1196         (WebCore::Element::parserSetAttributes):
1197         (WebCore::Element::cloneAttributesFromElement):
1198         * dom/Element.h:
1199         * dom/Node.idl:
1200         * dom/ShadowRoot.idl:
1201         * html/HTMLElement.idl:
1202         * html/parser/HTMLScriptRunner.cpp: Added deliverAllLifecycleCallbacks()
1203         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
1204         (WebCore::HTMLScriptRunner::runScript):
1205
1206 2013-03-22  Tommy Widenflycht  <tommyw@google.com>
1207
1208         MediaStream API: Finalize the RTCPeerConnection states
1209         https://bugs.webkit.org/show_bug.cgi?id=112792
1210
1211         Reviewed by Adam Barth.
1212
1213         This patch finalized the RTCPeerConnection state and events. These changes
1214         have not yet pushed out to the editors draft; but they are uncontroversial
1215         and agreed upon.
1216
1217         readyState will be deleted; please use the replacement signalingState which is already available.
1218         onstatechange -> onsignalingstatechange
1219         onicechange -> oniceconnectionstatechange
1220         ongatheringchange will be deleted since oniceconnectionstatechange can be used for the same purpose.
1221         RTCIceConnectionState::"starting" -> RTCIceConnectionState::"new"
1222
1223         Patch covered by modified tests.
1224
1225         * Modules/mediastream/RTCPeerConnection.cpp:
1226         (WebCore::RTCPeerConnection::RTCPeerConnection):
1227         (WebCore::RTCPeerConnection::iceConnectionState):
1228         (WebCore::RTCPeerConnection::changeSignalingState):
1229         (WebCore::RTCPeerConnection::changeIceGatheringState):
1230         (WebCore::RTCPeerConnection::changeIceConnectionState):
1231         * Modules/mediastream/RTCPeerConnection.h:
1232         (RTCPeerConnection):
1233         * Modules/mediastream/RTCPeerConnection.idl:
1234         * dom/EventNames.h:
1235         (WebCore):
1236         * platform/mediastream/RTCPeerConnectionHandlerClient.h:
1237
1238 2013-03-22  Mike West  <mkwst@chromium.org>
1239
1240         Prefer 'KURL(ParsedURLString, String)' when dealing with known-good data.
1241         https://bugs.webkit.org/show_bug.cgi?id=112965
1242
1243         Reviewed by Alexey Proskuryakov.
1244
1245         In https://bugs.webkit.org/show_bug.cgi?id=112783#c6, Adam noted that
1246         it would be possible to use 'KURL(ParsedURLString, [url])' rather than
1247         'KURL(KURL(), [url])', since we knew that the URL in question is a
1248         value and absolute URL. This patch fixes the obvious instances of this
1249         pattern; there are several more 'KURL(KURL(), String)' calls in
1250         WebCore but these were the only places I was reasonably sure that bad
1251         data couldn't creep in.
1252
1253         * dom/Document.cpp:
1254         (WebCore::Document::updateBaseURL):
1255             'documentURI' is pulled from 'url()->string()'. It's safe.
1256         * page/ContentSecurityPolicy.cpp:
1257         (WebCore::gatherSecurityPolicyViolationEventData):
1258         (WebCore::ContentSecurityPolicy::reportViolation):
1259             'CallFrame::sourceURL()' is a known valid/absolute URL.
1260         * page/SecurityOrigin.cpp:
1261         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
1262         (WebCore::SecurityOrigin::create):
1263             The strings constructed here are certainly valid.
1264
1265 2013-03-22  Ilya Tikhonovsky  <loislo@chromium.org>
1266
1267         Web Inspector: Flame Chart. move overview window when user scrolls the chart.
1268         https://bugs.webkit.org/show_bug.cgi?id=113014
1269
1270         Reviewed by Yury Semikhatsky.
1271
1272         I found that I could use scaling mechanics in OverviewGrid for scaling the chart.
1273         But the dragging part was not so simple due to the different approaches in
1274         OverviewGrid and FlameChart. OverviewGrid used _windowLeft and _windowRight
1275         when FlameChart used _xOffset and _xScaleFactor and width.
1276         It was not practical and I rewrote the FlameChart mechanics
1277         and now it also uses _windowLeft _windowRight.
1278
1279         * inspector/front-end/FlameChart.js:
1280         (WebInspector.FlameChart):
1281         (WebInspector.FlameChart.Calculator.prototype._updateBoundaries):
1282         (WebInspector.FlameChart.Calculator.prototype.computePosition):
1283         (WebInspector.FlameChart.prototype._onWindowChanged):
1284         (WebInspector.FlameChart.prototype._startCanvasDragging):
1285         (WebInspector.FlameChart.prototype._canvasDragging):
1286         (WebInspector.FlameChart.prototype._onMouseMove):
1287         (WebInspector.FlameChart.prototype._onMouseWheel):
1288         (WebInspector.FlameChart.prototype._coordinatesToNodeIndex):
1289         (WebInspector.FlameChart.prototype._drawOverviewCanvas):
1290         (WebInspector.FlameChart.prototype.draw):
1291         (WebInspector.FlameChart.prototype._updateBoundaries):
1292         (WebInspector.FlameChart.prototype.update):
1293         * inspector/front-end/OverviewGrid.js:
1294         (WebInspector.OverviewGrid.prototype.setWindowPosition):
1295         (WebInspector.OverviewGrid.prototype.setWindow):
1296         (WebInspector.OverviewGrid.prototype.addEventListener):
1297         (WebInspector.OverviewGrid.prototype.zoom):
1298         (WebInspector.OverviewGrid.Window.prototype._zoom):
1299         * inspector/front-end/inspectorCommon.css:
1300         (.overview-grid-window-rulers):
1301
1302 2013-03-22  Steve Block  <steveblock@chromium.org>
1303
1304         Move GeolocationClient.h to Modules/geolocation/
1305         https://bugs.webkit.org/show_bug.cgi?id=112997
1306
1307         Reviewed by Kentaro Hara.
1308
1309         No new tests, no functional change.
1310
1311         * GNUmakefile.list.am:
1312         * Modules/geolocation/GeolocationClient.h: Renamed from Source/WebCore/page/GeolocationClient.h.
1313         (WebCore):
1314         (GeolocationClient):
1315         (WebCore::GeolocationClient::~GeolocationClient):
1316         * WebCore.vcproj/WebCore.vcproj:
1317         * WebCore.vcxproj/WebCore.vcxproj:
1318         * WebCore.vcxproj/WebCore.vcxproj.filters:
1319         * WebCore.xcodeproj/project.pbxproj:
1320
1321 2013-03-22  Sheriff Bot  <webkit.review.bot@gmail.com>
1322
1323         Unreviewed, rolling out r146534 and r146565.
1324         http://trac.webkit.org/changeset/146534
1325         http://trac.webkit.org/changeset/146565
1326         https://bugs.webkit.org/show_bug.cgi?id=113017
1327
1328         "r146534 caused perf regression on Chromium Linux x64"
1329         (Requested by yurys on #webkit).
1330
1331         * bindings/scripts/CodeGeneratorV8.pm:
1332         (GenerateNormalAttrSetter):
1333         (GenerateOverloadedFunction):
1334         (GenerateFunctionCallback):
1335         (GenerateFunction):
1336         (GenerateParametersCheck):
1337         (GenerateSingleConstructorCallback):
1338         (GenerateNonStandardFunction):
1339         (GenerateImplementation):
1340         (GenerateFunctionCallString):
1341         * bindings/scripts/IDLAttributes.txt:
1342         * bindings/scripts/test/V8/V8Float64Array.cpp:
1343         (WebCore):
1344         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1345         (WebCore):
1346         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1347         (WebCore):
1348         * bindings/scripts/test/V8/V8TestInterface.cpp:
1349         (WebCore):
1350         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1351         (WebCore):
1352         * bindings/scripts/test/V8/V8TestObj.cpp:
1353         (WebCore):
1354         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1355         (WebCore):
1356         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
1357         (WebCore):
1358         * bindings/v8/CustomElementHelpers.cpp:
1359         * bindings/v8/CustomElementHelpers.h:
1360         (WebCore):
1361         (CustomElementHelpers):
1362         * bindings/v8/V8DOMConfiguration.cpp:
1363         (WebCore::V8DOMConfiguration::batchConfigureCallbacks):
1364         (WebCore::V8DOMConfiguration::configureTemplate):
1365         * bindings/v8/V8DOMConfiguration.h:
1366         (BatchedMethod):
1367         (V8DOMConfiguration):
1368         * bindings/v8/V8RecursionScope.cpp:
1369         (WebCore::V8RecursionScope::didLeaveScriptContext):
1370         * dom/CustomElementConstructor.cpp:
1371         (WebCore::CustomElementConstructor::createElement):
1372         * dom/CustomElementConstructor.h:
1373         (CustomElementConstructor):
1374         * dom/CustomElementRegistry.cpp:
1375         (WebCore::CustomElementRegistry::~CustomElementRegistry):
1376         * dom/CustomElementRegistry.h:
1377         (WebCore):
1378         (CustomElementRegistry):
1379         * dom/Document.cpp:
1380         (WebCore::Document::createElement):
1381         (WebCore::Document::registerElement):
1382         * dom/Document.h:
1383         * dom/Document.idl:
1384         * dom/Element.cpp:
1385         (WebCore::Element::parserSetAttributes):
1386         (WebCore::Element::cloneAttributesFromElement):
1387         * dom/Element.h:
1388         * dom/Element.idl:
1389         * dom/Node.idl:
1390         * dom/ShadowRoot.idl:
1391         * html/HTMLElement.idl:
1392         * html/parser/HTMLScriptRunner.cpp:
1393         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
1394         (WebCore::HTMLScriptRunner::runScript):
1395
1396 2013-03-22  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
1397
1398         [GStreamer] Memory leak in AudioFileReader::createBus()
1399         https://bugs.webkit.org/show_bug.cgi?id=112925
1400
1401         Reviewed by Martin Robinson.
1402
1403         Adopt the reference returned by g_timeout_source_new()
1404         to fix a memory leak.
1405
1406         No new tests. No change in behavior.
1407
1408         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1409         (WebCore::AudioFileReader::createBus):
1410
1411 2013-03-22  Steve Block  <steveblock@chromium.org>
1412
1413         Move page/Coordinates.[h|idl] to Modules/geolocation/
1414         https://bugs.webkit.org/show_bug.cgi?id=112945
1415
1416         Reviewed by Kentaro Hara.
1417
1418         No new tests, no functional change.
1419
1420         * CMakeLists.txt:
1421         * DerivedSources.make:
1422         * DerivedSources.pri:
1423         * GNUmakefile.list.am:
1424         * Modules/geolocation/Coordinates.h: Renamed from Source/WebCore/page/Coordinates.h.
1425         (WebCore):
1426         (Coordinates):
1427         (WebCore::Coordinates::create):
1428         (WebCore::Coordinates::isolatedCopy):
1429         (WebCore::Coordinates::latitude):
1430         (WebCore::Coordinates::longitude):
1431         (WebCore::Coordinates::altitude):
1432         (WebCore::Coordinates::accuracy):
1433         (WebCore::Coordinates::altitudeAccuracy):
1434         (WebCore::Coordinates::heading):
1435         (WebCore::Coordinates::speed):
1436         (WebCore::Coordinates::canProvideAltitude):
1437         (WebCore::Coordinates::canProvideAltitudeAccuracy):
1438         (WebCore::Coordinates::canProvideHeading):
1439         (WebCore::Coordinates::canProvideSpeed):
1440         (WebCore::Coordinates::Coordinates):
1441         * Modules/geolocation/Coordinates.idl: Renamed from Source/WebCore/page/Coordinates.idl.
1442         * Target.pri:
1443         * WebCore.gypi:
1444         * WebCore.vcproj/WebCore.vcproj:
1445         * WebCore.vcxproj/WebCore.vcxproj:
1446         * WebCore.vcxproj/WebCore.vcxproj.filters:
1447         * WebCore.xcodeproj/project.pbxproj:
1448
1449 2013-03-21  Hajime Morrita  <morrita@google.com>
1450
1451         Custom Elements: "readyCallback" lifecycle callback should be called.
1452         https://bugs.webkit.org/show_bug.cgi?id=112538
1453
1454         Reviewed by Elliott Sprehn.
1455
1456         This change allows each custom element definition to hook up its instantiation,
1457         namely "readyCallback" lifecycle callback.
1458
1459         The change has two parts:
1460         - 1. Tracking which Element objects to be created.
1461         - 2. Invoking appropriate JavaScript functions, which are readyCallback(),
1462           before the Element object is visible from page script.
1463
1464         For 1, CustomElementRegistry maintains list of "callback
1465         invocaions".  Each list item ("invocation") tracks the element
1466         which has a lifecycle callback to be invoked. Each invocation is
1467         registered when - Any custom element C++ object is instantiated.
1468         See changes on CustomElementConstructor.cpp.
1469
1470         This also happens when @is attribute is set by the parser or node
1471         cloning routine, which can turn a non-custom element into a
1472         type-extended custom element. See changes on Element.cpp.
1473
1474         For 2, CustomElementRegistry basically follows what
1475         MutationObserver is doing, and introduces a method called
1476         deliverLifecycleCallbacks(). This function flushes all pending
1477         callback invocations. You can think it as a dual of
1478         MutationObserver::deliverAllMutations().
1479
1480         The delivery function is called places where MutationObserver's
1481         deliverAllMutations() is called. In addition, it is also called
1482         just before returning from a set of DOM APIs. For example, it is
1483         called just before createElement() returns, so that possibly
1484         created custom element becomes ready through its readyCallback().
1485         Such APIs get "V8DeliverCustomElementCallbacks" IDL attribute. In
1486         principle, APIs which can create new custom element instnaces are
1487         marked. See CustomElementRegistry::CallbackDeliveryScope and
1488         changes on CodeGeneratorV8.pm.
1489
1490         We need this extra work because the readyCallback() needs to give
1491         an illusion so that JavaScript programmers feel like the
1492         readyCallback() callback being called just after it is created,
1493         instead of called on arbitrary late timing like MutationObserver
1494         notifications.
1495
1496         Tests: fast/dom/custom/lifecycle-ready-createElement-recursion.html
1497                fast/dom/custom/lifecycle-ready-createElement-reentrancy.html
1498                fast/dom/custom/lifecycle-ready-creation-api.html
1499                fast/dom/custom/lifecycle-ready-innerHTML.html
1500                fast/dom/custom/lifecycle-ready-parser-only.html
1501                fast/dom/custom/lifecycle-ready-parser-script.html
1502                fast/dom/custom/lifecycle-ready-paste.html
1503
1504         * bindings/scripts/CodeGeneratorV8.pm:
1505         - Hooked up CallbackDeliveryScope through V8DeliverCustomElementCallbacks attriute.
1506         (GenerateCustomElementInvocationScopeIfNeeded):
1507         (GenerateNormalAttrSetter):
1508         (GenerateFunction):
1509         * bindings/scripts/IDLAttributes.txt:
1510         * bindings/v8/CustomElementHelpers.cpp:
1511         (WebCore::CustomElementHelpers::invokeReadyCallbackIfNeeded):
1512         (WebCore::CustomElementHelpers::invokeReadyCallbacksIfNeeded):
1513         * bindings/v8/CustomElementHelpers.h:
1514         (CustomElementHelpers):
1515         * bindings/v8/V8RecursionScope.cpp: Added deliverAllLifecycleCallbacks()
1516         (WebCore::V8RecursionScope::didLeaveScriptContext):
1517         * dom/CustomElementConstructor.cpp:
1518         (WebCore::CustomElementConstructor::createElement):
1519         (WebCore::CustomElementConstructor::createElementInternal):
1520         * dom/CustomElementConstructor.h:
1521         (WebCore::CustomElementConstructor::isExtended):
1522         (CustomElementConstructor):
1523         * dom/CustomElementRegistry.cpp: Adding element tracking and invocation execution.
1524         (WebCore::CustomElementInvocation::CustomElementInvocation):
1525         (WebCore::CustomElementInvocation::~CustomElementInvocation):
1526         (WebCore::activeCustomElementRegistries):
1527         (WebCore::CustomElementRegistry::~CustomElementRegistry):
1528         (WebCore::CustomElementRegistry::didGiveTypeExtension):
1529         (WebCore::CustomElementRegistry::didCreateElement):
1530         (WebCore::CustomElementRegistry::activate):
1531         (WebCore::CustomElementRegistry::deactivate):
1532         (WebCore::CustomElementRegistry::deliverLifecycleCallbacks):
1533         (WebCore::CustomElementRegistry::deliverAllLifecycleCallbacks):
1534         * dom/CustomElementRegistry.h:
1535         (CustomElementInvocation):
1536         (WebCore::CustomElementInvocation::element):
1537         (CallbackDeliveryScope):
1538         (WebCore::CustomElementRegistry::CallbackDeliveryScope::CallbackDeliveryScope):
1539         (WebCore::CustomElementRegistry::CallbackDeliveryScope::~CallbackDeliveryScope):
1540         (CustomElementRegistry):
1541         (WebCore::CustomElementRegistry::deliverAllLifecycleCallbacksIfNeeded):
1542         * dom/Document.cpp:
1543         (WebCore::Document::createElement):
1544         (WebCore::Document::didCreateCustomElement):
1545         * dom/Document.h:
1546         (Document):
1547         * dom/Document.idl:
1548         * dom/Element.cpp:
1549         (WebCore::Element::attributeChangedFromParserOrByCloning): Added to catch @is attribute
1550         (WebCore::Element::parserSetAttributes):
1551         (WebCore::Element::cloneAttributesFromElement):
1552         * dom/Element.h:
1553         * dom/Node.idl:
1554         * dom/ShadowRoot.idl:
1555         * html/HTMLElement.idl:
1556         * html/parser/HTMLScriptRunner.cpp: Added deliverAllLifecycleCallbacks()
1557         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
1558         (WebCore::HTMLScriptRunner::runScript):
1559
1560 2013-03-21  Jer Noble  <jer.noble@apple.com>
1561
1562         Crash in WebCore::MediaPlayer::cachedResourceLoader + 4
1563         https://bugs.webkit.org/show_bug.cgi?id=112977
1564
1565         Reviewed by Geoffrey Garen.
1566
1567         Speculative fix for a NULL-dereference crash. MediaPlayerPrivateAVFoundationObjC is the
1568         sole owner of a WebCoreAVFLoaderDelegate instance. It releases this instance in its destructor,
1569         but it is possible that, on another thread, the AVAssetResourceLoader has already begun
1570         using the delegate and in so doing has retained it. By the time the delegate method is fired
1571         on the main thread, the MediaPlayerPrivateAVFoundationObjC owner of the delegate has already
1572         been deleted, and the delegate's m_callback pointer is now pointing at freed memory.
1573
1574         In addition to calling -[AVAssetResourceLoader setDelegate:queue:] to avoid any not-yet-started
1575         delegate callbacks, MediaPlayerPrivateAVFoundationObjC should clear the WebCoreAVFLoaderDelegate
1576         m_callback ivar, to avoid calling into freed memory for already queued delegate callbacks.
1577
1578         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1579         (WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): Clear the m_loaderDelegate's callback pointer.
1580         (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]): Check the value of m_callback before continuing.
1581         (-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]): Ditto.
1582         (-[WebCoreAVFLoaderDelegate setCallback:]): Added simple setter.
1583
1584 2013-03-21  Takashi Sakamoto  <tasak@google.com>
1585
1586         XMLDocumentParser doesn't parse <template> correctly.
1587         https://bugs.webkit.org/show_bug.cgi?id=112328
1588
1589         Reviewed by Hajime Morrita.
1590
1591         XMLDocumentParser should check whether a parent node is attached or not
1592         when a new element is appended.
1593
1594         Test: fast/dom/HTMLTemplateElement/xhtml-with-titleElement-parsing-crash.xhtml
1595
1596         * xml/parser/XMLDocumentParserLibxml2.cpp:
1597         (WebCore::XMLDocumentParser::startElementNs):
1598         m_currentNode is a parent node of newElement, but it is updated by
1599         pushCurrentNode. So firstly stored copied m_curretNode's value into
1600         local currentNode and used the currentNode to check whether
1601         newElement's parent is attached or not.
1602
1603 2013-03-21  David Grogan  <dgrogan@chromium.org>
1604
1605         Unreviewed, rolling out r146560.
1606         http://trac.webkit.org/changeset/146560
1607         https://bugs.webkit.org/show_bug.cgi?id=112862
1608
1609         invalid parameter to histogram
1610
1611         * platform/leveldb/LevelDBDatabase.cpp:
1612         (WebCore::LevelDBDatabase::open):
1613
1614 2013-03-21  David Grogan  <dgrogan@chromium.org>
1615
1616         IndexedDB: Histogram available disk space on attempt to open database
1617         https://bugs.webkit.org/show_bug.cgi?id=112862
1618
1619         Reviewed by Adam Barth.
1620
1621         ChromeOS suspects they might be hitting disk corruption when the disks
1622         are nearly full. This patch logs the available space to either the
1623         "success" or the "fail" histogram as appropriate so that the
1624         distributions can be compared.
1625
1626         No new tests - I don't know of a good way to test histograms. Local
1627         printf testing didn't turn up any bugs.
1628
1629         * platform/leveldb/LevelDBDatabase.cpp:
1630         (WebCore::HistogramFreeSpace):
1631         (WebCore):
1632         (WebCore::LevelDBDatabase::open):
1633
1634 2013-03-21  Li Yin  <li.yin@intel.com>
1635
1636         FileAPI: Remove deprecation warning when ArrayBuffer is in Blob constructor.
1637         https://bugs.webkit.org/show_bug.cgi?id=88389
1638
1639         Reviewed by Kenneth Russell.
1640
1641         Spec: http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob
1642         Both ArrayBuffer and ArrayBufferView should be supported for Blob constructor.
1643
1644         Test: fast/files/blob-constructor.html.
1645
1646         * bindings/js/JSBlobCustom.cpp:
1647         (WebCore::JSBlobConstructor::constructJSBlob):
1648         * bindings/v8/custom/V8BlobCustom.cpp:
1649         (WebCore::V8Blob::constructorCustom):
1650         * fileapi/WebKitBlobBuilder.cpp:
1651         (WebCore::BlobBuilder::append): Remove the deprecated warning.
1652         * fileapi/WebKitBlobBuilder.h:
1653         (WebCore):
1654         (BlobBuilder):
1655
1656 2013-03-21  Takashi Sakamoto  <tasak@google.com>
1657
1658         [Shadow]: @host styles are not applied dynamically
1659         https://bugs.webkit.org/show_bug.cgi?id=112869
1660
1661         Reviewed by Elliott Sprehn.
1662
1663         Need to add features of @host @-rules to rule feature set.
1664
1665         Test: fast/dom/shadow/athost-apply-dynamically.html
1666
1667         * css/StyleScopeResolver.cpp:
1668         (WebCore::StyleScopeResolver::collectFeaturesTo):
1669
1670 2013-03-21  Hayato Ito  <hayato@chromium.org>
1671
1672         [Shadow] Provide an api of insertionParent().
1673         https://bugs.webkit.org/show_bug.cgi?id=112866
1674
1675         Add insertinParent binding to Element and Text.
1676         It's prefixed (webkitInsertionParent) and guarded by SHADOW_DOM flag.
1677
1678         The bug in the Shadow DOM spec is here:
1679         https://www.w3.org/Bugs/Public/show_bug.cgi?id=21067
1680
1681         Reviewed by Dimitri Glazkov.
1682
1683         Test: fast/dom/shadow/insertion-parent.html
1684
1685         * dom/Element.idl:
1686         * dom/Node.cpp:
1687         (WebCore::Node::insertionParentForBinding):
1688         (WebCore):
1689         * dom/Node.h:
1690         (Node):
1691         * dom/Text.idl:
1692
1693 2013-03-21  Tom Sepez  <tsepez@chromium.org>
1694
1695         Bypass XSSAuditor for asp.net servers.
1696         https://bugs.webkit.org/show_bug.cgi?id=112235
1697
1698         Reviewed by Adam Barth.
1699
1700         Similar to https://bugs.webkit.org/show_bug.cgi?id=81283, but the 
1701         fix to that bug failed to cover this particular comma-splicing case.
1702         
1703         Test: http/tests/security/xssAuditor/img-tag-with-comma.html
1704
1705         * html/parser/XSSAuditor.cpp:
1706         (WebCore::isTerminatingCharacter):
1707         Beware of comma-splicing tricks by stopping at commas.
1708
1709 2013-03-21  Brady Eidson  <beidson@apple.com>
1710
1711         If a previously loaded resource is later stored to the disk cache, replace the buffer with MMAP'ed memory.
1712         <rdar://problem/13414154> and https://bugs.webkit.org/show_bug.cgi?id=112943
1713
1714         Reviewed by Geoff Garen.
1715
1716         No new tests (No change in behavior.)
1717
1718         Give SharedBuffer the ability to replace its contents from another SharedBuffer:
1719         * platform/SharedBuffer.h:
1720         * platform/cf/SharedBufferCF.cpp:
1721         (WebCore::SharedBuffer:: tryReplaceContentsWithPlatformBuffer):
1722
1723         Forward along SharedBuffer's new ability to ResourceBuffer:
1724         * loader/mac/ResourceBuffer.mm:
1725         (WebCore::ResourceBuffer:: tryReplaceSharedBufferContents):
1726         * loader/ResourceBuffer.h:
1727
1728         Give CachedResource the ability to replace its encoded data buffer if appropriate:
1729         * loader/cache/CachedResource.cpp:
1730         (WebCore::CachedResource:: tryReplaceEncodedData):
1731         * loader/cache/CachedResource.h:
1732
1733         * WebCore.exp.in:
1734
1735 2013-03-21  Joshua Bell  <jsbell@chromium.org>
1736
1737         IndexedDB: Ensure script wrappers can be collected after context is stopped
1738         https://bugs.webkit.org/show_bug.cgi?id=112976
1739
1740         Reviewed by Adam Barth.
1741
1742         ActiveDOMObject::hasPendingActivity is called to see if script wrappers
1743         can be disposed of. Once the script execution context has stopped they
1744         should be free to go - include this in the checks.
1745
1746         No new tests - suggestions welcome.
1747
1748         * Modules/indexeddb/IDBDatabase.cpp:
1749         (WebCore::IDBDatabase::hasPendingActivity): Return false if stopped.
1750         (WebCore::IDBDatabase::stop): Don't bother calling empty super impl.
1751         * Modules/indexeddb/IDBRequest.cpp:
1752         (WebCore::IDBRequest::hasPendingActivity): Return false if stopped.
1753         (WebCore::IDBRequest::stop): Don't bother calling empty super impl.
1754         * Modules/indexeddb/IDBTransaction.cpp:
1755         (WebCore::IDBTransaction::hasPendingActivity): Return false if stopped.
1756         (WebCore::IDBTransaction::stop): Don't bother calling empty super impl.
1757
1758 2013-03-21  Russell McClellan  <russell.mcclellan@gmail.com>
1759
1760         Remove upcastPointer from ActiveDOMObject constructor
1761         https://bugs.webkit.org/show_bug.cgi?id=112858
1762
1763         Reviewed by Alexey Proskuryakov.
1764
1765         Removed pesky argument to ActiveDOMObject constructor that is no longer
1766         used.
1767
1768         No new tests (no change in behavior).
1769
1770         * Modules/battery/BatteryManager.cpp:
1771         (WebCore::BatteryManager::BatteryManager):
1772         * Modules/filesystem/DOMFileSystem.cpp:
1773         (WebCore::DOMFileSystem::DOMFileSystem):
1774         * Modules/filesystem/FileWriter.cpp:
1775         (WebCore::FileWriter::FileWriter):
1776         * Modules/geolocation/Geolocation.cpp:
1777         (WebCore::Geolocation::Geolocation):
1778         * Modules/indexeddb/IDBDatabase.cpp:
1779         (WebCore::IDBDatabase::IDBDatabase):
1780         * Modules/indexeddb/IDBRequest.cpp:
1781         (WebCore::IDBRequest::IDBRequest):
1782         * Modules/indexeddb/IDBTransaction.cpp:
1783         (WebCore::IDBTransaction::IDBTransaction):
1784         * Modules/mediasource/MediaSource.cpp:
1785         (WebCore::MediaSource::MediaSource):
1786         * Modules/mediastream/MediaStreamTrack.cpp:
1787         (WebCore::MediaStreamTrack::MediaStreamTrack):
1788         * Modules/mediastream/RTCDTMFSender.cpp:
1789         (WebCore::RTCDTMFSender::RTCDTMFSender):
1790         * Modules/mediastream/RTCPeerConnection.cpp:
1791         (WebCore::RTCPeerConnection::RTCPeerConnection):
1792         * Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp:
1793         (WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl):
1794         * Modules/mediastream/RTCStatsRequestImpl.cpp:
1795         (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
1796         * Modules/mediastream/RTCVoidRequestImpl.cpp:
1797         (WebCore::RTCVoidRequestImpl::RTCVoidRequestImpl):
1798         * Modules/networkinfo/NetworkInfoConnection.cpp:
1799         (WebCore::NetworkInfoConnection::NetworkInfoConnection):
1800         * Modules/notifications/Notification.cpp:
1801         (WebCore::Notification::Notification):
1802         * Modules/notifications/NotificationCenter.cpp:
1803         (WebCore::NotificationCenter::NotificationCenter):
1804         * Modules/speech/SpeechRecognition.cpp:
1805         (WebCore::SpeechRecognition::SpeechRecognition):
1806         * Modules/webaudio/AudioContext.cpp:
1807         (WebCore::AudioContext::AudioContext):
1808         * Modules/webdatabase/DatabaseContext.cpp:
1809         (WebCore::DatabaseContext::DatabaseContext):
1810         * Modules/websockets/WebSocket.cpp:
1811         (WebCore::WebSocket::WebSocket):
1812         * css/FontLoader.cpp:
1813         (WebCore::FontLoader::FontLoader):
1814         * dom/ActiveDOMObject.cpp:
1815         (WebCore::ActiveDOMObject::ActiveDOMObject):
1816         * dom/ActiveDOMObject.h:
1817         (ActiveDOMObject):
1818         * dom/ScriptExecutionContext.cpp:
1819         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
1820         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
1821         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
1822         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
1823         (WebCore::ScriptExecutionContext::didCreateActiveDOMObject):
1824         * dom/ScriptExecutionContext.h:
1825         (ScriptExecutionContext):
1826         (WebCore::ScriptExecutionContext::activeDOMObjects):
1827         * fileapi/FileReader.cpp:
1828         (WebCore::FileReader::FileReader):
1829         * html/HTMLMarqueeElement.cpp:
1830         (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
1831         * html/HTMLMediaElement.cpp:
1832         (WebCore::HTMLMediaElement::HTMLMediaElement):
1833         * html/canvas/WebGLRenderingContext.cpp:
1834         (WebCore):
1835         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
1836         * loader/Prerenderer.cpp:
1837         (WebCore::Prerenderer::Prerenderer):
1838         * page/EventSource.cpp:
1839         (WebCore::EventSource::EventSource):
1840         * page/SuspendableTimer.cpp:
1841         (WebCore::SuspendableTimer::SuspendableTimer):
1842         * workers/AbstractWorker.cpp:
1843         (WebCore::AbstractWorker::AbstractWorker):
1844         * workers/WorkerContext.cpp:
1845         (WebCore::WorkerContext::hasPendingActivity):
1846         * xml/XMLHttpRequest.cpp:
1847         (WebCore::XMLHttpRequest::XMLHttpRequest):
1848
1849 2013-03-21  Alexey Proskuryakov  <ap@apple.com>
1850
1851         [Mac] Move NSOperationQueue out of NetworkingContext
1852         https://bugs.webkit.org/show_bug.cgi?id=112970
1853
1854         Reviewed by Brady Eidson.
1855
1856         WebCore clients do not need explicit control over what queue ResourceHandle works on,
1857         they just want to avoid blocking main thread.
1858
1859         * platform/network/ResourceHandleClient.h:
1860         (WebCore::ResourceHandleClient::usesAsyncCallbacks): Added. The name doesn't quite
1861         match what ResourceHandleMac currently does, but it will very soon.
1862
1863         * platform/network/NetworkingContext.h:
1864         (WebCore::NetworkingContext::scheduledRunLoopPairs):
1865         * platform/network/mac/ResourceHandleMac.mm:
1866         (WebCore::operationQueueForAsyncClients):
1867         (WebCore::ResourceHandle::start):
1868
1869 2013-03-21  Marja Hölttä  <marja@chromium.org>
1870
1871         [V8] Generate specialized callbacks for the main world
1872         https://bugs.webkit.org/show_bug.cgi?id=112430
1873
1874         Reviewed by Jochen Eisinger.
1875
1876         The new specialized bindings will be faster, because they don't need to
1877         do the "main world, isolated world or a worker" check, but can right
1878         away assume that we're in the main world.
1879
1880         This patch generates main world bindings for getters and setters of Node,
1881         Element and Document.
1882
1883         No new tests (updated existing binding tests).
1884
1885         * bindings/scripts/CodeGeneratorV8.pm:
1886         (GenerateOverloadedFunction):
1887         (GenerateFunctionCallback):
1888         (GenerateFunction):
1889         (GenerateParametersCheck):
1890         (GenerateSingleConstructorCallback):
1891         (GenerateNonStandardFunction):
1892         (GenerateImplementation):
1893         (GenerateFunctionCallString):
1894         * bindings/scripts/test/V8/V8Float64Array.cpp:
1895         (WebCore):
1896         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1897         (WebCore):
1898         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1899         (WebCore):
1900         * bindings/scripts/test/V8/V8TestInterface.cpp:
1901         (WebCore):
1902         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1903         (WebCore):
1904         * bindings/scripts/test/V8/V8TestObj.cpp:
1905         (WebCore):
1906         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1907         (WebCore):
1908         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
1909         (WebCore):
1910         * bindings/v8/V8DOMConfiguration.cpp:
1911         (WebCore::V8DOMConfiguration::batchConfigureCallbacks):
1912         (WebCore::V8DOMConfiguration::configureTemplate):
1913         * bindings/v8/V8DOMConfiguration.h:
1914         (BatchedMethod):
1915         (V8DOMConfiguration):
1916         * dom/Document.idl:
1917         * dom/Element.idl:
1918         * dom/Node.idl:
1919
1920 2013-03-21  Elliott Sprehn  <esprehn@chromium.org>
1921
1922         Remove RenderObject::canHaveRegionStyle since nothing uses it
1923         https://bugs.webkit.org/show_bug.cgi?id=112973
1924
1925         Reviewed by Eric Seidel.
1926
1927         Nothing uses canHaveRegionStyle so we can remove it.
1928
1929         * rendering/RenderObject.h:
1930
1931 2013-03-21  Alok Priyadarshi  <alokp@chromium.org>
1932
1933         Mark GraphicsLayers as opaque when possible
1934         https://bugs.webkit.org/show_bug.cgi?id=70634
1935
1936         Reviewed by Simon Fraser.
1937
1938         Mark layers as opaque in a very simple case - any child renderer has an opaque background and covers the entire composited bounds. It is important to note that since we only consider the background, the only layer that can be marked opaque is the primary GraphicsLayer of a RenderLayer.
1939
1940         Tests: compositing/contents-opaque/background-clip.html
1941                compositing/contents-opaque/background-color.html
1942                compositing/contents-opaque/body-background-painted.html
1943                compositing/contents-opaque/body-background-skipped.html
1944                compositing/contents-opaque/layer-opacity.html
1945                compositing/contents-opaque/layer-transform.html
1946
1947         * rendering/RenderBox.cpp:
1948         (WebCore::skipBodyBackground):
1949         (WebCore):
1950         (WebCore::RenderBox::paintBackground):
1951         (WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect):
1952         * rendering/RenderBox.h:
1953         (RenderBox):
1954         * rendering/RenderLayer.cpp:
1955         (WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):
1956         (WebCore):
1957         (WebCore::RenderLayer::listBackgroundIsKnownToBeOpaqueInRect):
1958         * rendering/RenderLayer.h:
1959         (RenderLayer):
1960         * rendering/RenderLayerBacking.cpp:
1961         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1962         * rendering/RenderLayerModelObject.h:
1963         (RenderLayerModelObject):
1964         (WebCore::RenderLayerModelObject::backgroundIsKnownToBeOpaqueInRect):
1965
1966 2013-03-21  Alexandru Chiculita  <achicu@adobe.com>
1967
1968         [CSS Shaders] Implement a StyleCustomFilterProgram cache
1969         https://bugs.webkit.org/show_bug.cgi?id=112602
1970
1971         Reviewed by Dean Jackson.
1972
1973         When the style is recalculated, the new computed RenderStyle is saved as the m_style of the
1974         RenderObject, even if the style was not different.
1975
1976         In the case of Custom Filters, a new StyleCustomFilterProgram was created at all times, but the
1977         actual equality check was done by comparing the pair of cached shaders from inside the StyleCustomFilterProgram.
1978
1979         Because of that the RenderLayer::styleChanged was not called when the new StyleCustomFilterProgram was created, so it
1980         will end up still knowing only about the previous StyleCustomFilterProgram.
1981
1982         The RenderLayer sets itself as a client of the StyleCustomFilterProgram, so that it can repaint itself
1983         when the program is loaded, but because RenderLayer::styleChanged is not called, it will not add itself as a client of the new
1984         StyleCustomFilterProgram.
1985
1986         StyleCustomFilterProgram waits until the first client to load the programs, so in this case it will just remain unloaded.
1987
1988         There was no crash, but just an assert in debug mode. Also, as a visible side-effect some frames were rendered using blank shaders, 
1989         resulting in a pass-through filter.
1990
1991         The fix would be to actually make the RenderStyle::diff detect the change of the StyleCustomFilterProgram
1992         using the pointer value and not the values. However, that will always invalidate the "filter" property because
1993         of the StyleCustomFilterProgram that always gets created during the recalculation time.
1994
1995         I've added StyleCustomFilterProgramCache to cache all the instances of the StyleCustomFilterPrograms that a
1996         StyleResolver allocates. This way, next time it will try to reuse previously allocated StyleCustomFilterPrograms. 
1997         The key of the cache is the CustomFilterProgramInfo, that combines the URLs to the shaders and a couple of other program settings.
1998
1999         StyleCustomFilterProgramCache is owned by the StyleResovler and StyleCustomFilterPrograms are responsible with
2000         removing themselves from the cache when the last reference goes away.
2001
2002         This change makes the previous "platform level" program cache obsolete and I will remove that in a future patch.
2003         https://bugs.webkit.org/show_bug.cgi?id=112844
2004
2005         Test: css3/filters/custom/custom-filter-reload.html
2006
2007         * GNUmakefile.list.am:
2008         * Target.pri:
2009         * WebCore.gypi:
2010         * WebCore.vcproj/WebCore.vcproj:
2011         * WebCore.xcodeproj/project.pbxproj:
2012         * css/StyleResolver.cpp:
2013         (WebCore::StyleResolver::lookupCustomFilterProgram): Lookup any similar programs in the cache. It will create a new pending 
2014         StyleCustomFilterProgram if there is no pre-cached version of the program.
2015         if no program is found. loadPendingShaders is responsible for adding the program in the cache if it is actually going to be used.
2016         (WebCore::StyleResolver::loadPendingShaders): At this point the program is final, so it's safe to add it to the cache.
2017         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
2018         * css/StyleResolver.h:
2019         (StyleResolver):
2020         * css/WebKitCSSShaderValue.cpp:
2021         (WebCore::WebKitCSSShaderValue::completeURL): Factored out the function to compute the complete URL of the resource.
2022         (WebCore::WebKitCSSShaderValue::cachedShader):
2023         * css/WebKitCSSShaderValue.h:
2024         (WebCore::toWebKitCSSShaderValue):
2025         (WebKitCSSShaderValue):
2026         * platform/graphics/filters/CustomFilterOperation.cpp:
2027         (WebCore::CustomFilterOperation::blend):
2028         * platform/graphics/filters/CustomFilterOperation.h:
2029         (WebCore::CustomFilterOperation::operator==): Removed. Programs should now compare by pointer. Kept it as
2030         private to catch any potential use of it.
2031         * rendering/style/StyleCustomFilterProgram.cpp: Copied from Source/WebCore/css/WebKitCSSShaderValue.h.
2032         (WebCore::StyleCustomFilterProgram::~StyleCustomFilterProgram): Destructor removes the program from the cache.
2033         * rendering/style/StyleCustomFilterProgram.h:
2034         (WebCore::StyleCustomFilterProgram::setVertexShader): Added an assert to check that the shader is not in the
2035         cache while the mutation happens. Otherwise the cache might have the wrong key.
2036         (WebCore::StyleCustomFilterProgram::setFragmentShader): Ditto.
2037         (WebCore::StyleCustomFilterProgram::isLoaded): Added more asserts to catch cases when the program is used with no clients.
2038         (StyleCustomFilterProgram):
2039         (WebCore::StyleCustomFilterProgram::hasPendingShaders):
2040         (WebCore::StyleCustomFilterProgram::inCache):
2041         (WebCore::StyleCustomFilterProgram::setCache): Function called when a program is added to / removed from the cache.
2042         (WebCore::StyleCustomFilterProgram::vertexShaderURL): Added methods to store the KURL that we used as keys in the cache.
2043         The same KURLs will be used to lookup and remove the filter at the end.
2044         (WebCore::StyleCustomFilterProgram::setVertexShaderURL):
2045         (WebCore::StyleCustomFilterProgram::fragmentShaderURL):
2046         (WebCore::StyleCustomFilterProgram::setFragmentShaderURL):
2047         (WebCore::StyleCustomFilterProgram::StyleCustomFilterProgram):
2048         * rendering/style/StyleCustomFilterProgramCache.cpp: Added.
2049         (WebCore::StyleCustomFilterProgramCache::programCacheKey):
2050         (WebCore::StyleCustomFilterProgramCache::StyleCustomFilterProgramCache):
2051         (WebCore::StyleCustomFilterProgramCache::~StyleCustomFilterProgramCache): Destructor removes itself from all the
2052         referenced StyleCustomFilterPrograms. This is to avoid issues with different destruction orders.
2053         (WebCore::StyleCustomFilterProgramCache::lookup):
2054         (WebCore::StyleCustomFilterProgramCache::add):
2055         (WebCore::StyleCustomFilterProgramCache::remove):
2056         * rendering/style/StyleCustomFilterProgramCache.h:
2057         (StyleCustomFilterProgramCache):
2058         * platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h:
2059         (WebCore::CoordinatedCustomFilterProgram::operator==: Removed. Programs should now compare by pointer.
2060
2061 2013-03-21  Joshua Bell  <jsbell@chromium.org>
2062
2063         IndexedDB: Ensure all API methods have IDB_TRACE macros
2064         https://bugs.webkit.org/show_bug.cgi?id=112963
2065
2066         Reviewed by Tony Chang.
2067
2068         Anntotate methods and callbacks that weren't already annotated
2069         with IDB_TRACE macros to assist in debugging, e.g. when using
2070         the chromium port's chrome://tracing visualization.
2071
2072         No new tests - just harmless diagnostic sprinkles.
2073
2074         * Modules/indexeddb/IDBDatabase.cpp:
2075         (WebCore::IDBDatabase::createObjectStore): Added IDB_TRACE macro call here.
2076         (WebCore::IDBDatabase::deleteObjectStore): ...and here.
2077         (WebCore::IDBDatabase::transaction): ...etc.
2078         (WebCore::IDBDatabase::close):
2079         (WebCore::IDBDatabase::onVersionChange):
2080         * Modules/indexeddb/IDBFactory.cpp:
2081         (WebCore::IDBFactory::getDatabaseNames):
2082         (WebCore::IDBFactory::open):
2083         (WebCore::IDBFactory::deleteDatabase):
2084         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
2085         (WebCore::IDBFactoryBackendImpl::getDatabaseNames):
2086         (WebCore::IDBFactoryBackendImpl::deleteDatabase):
2087         (WebCore::IDBFactoryBackendImpl::open):
2088         * Modules/indexeddb/IDBOpenDBRequest.cpp:
2089         (WebCore::IDBOpenDBRequest::onBlocked):
2090
2091 2013-03-21  Christian Biesinger  <cbiesinger@chromium.org>
2092
2093         http://trac.webkit.org/changeset/146375 causing CrOS crashes
2094         https://bugs.webkit.org/show_bug.cgi?id=112958
2095
2096         Reviewed by Adam Barth.
2097
2098         Test: fast/flexbox/crash-anonymous-box.html
2099
2100         * rendering/RenderDeprecatedFlexibleBox.cpp:
2101         (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
2102         Anonymous renderers don't have a node in their constructor, so
2103         don't get document() in there.
2104
2105 2013-03-21  Mike West  <mkwst@chromium.org>
2106
2107         CSP 1.1: Fire a SecurityPolicyViolationEvent when violations occur.
2108         https://bugs.webkit.org/show_bug.cgi?id=112783
2109
2110         Reviewed by Adam Barth.
2111
2112         A new event type for Content Security Policy violations landed in
2113         http://wkrev.com/146305; this patch takes that stub, and wires it up to
2114         ContentSecurityPolicy::reportViolation such that violation events fire
2115         when resources are blocked.
2116
2117         This should bring WebKit up to date with the current description of
2118         CSP's event model in sections 3.3[1] and 3.4.1.3[2] of the editor's
2119         draft.
2120
2121         [1]: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#processing-model
2122         [2]: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#firing-events-using-the-securitypolicyviolationevent-interface
2123
2124         Test: http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image.html
2125
2126         * page/ContentSecurityPolicy.cpp:
2127         (WebCore::gatherSecurityPolicyViolationEventData):
2128             Populate a SecurityPolicyViolationEventInit object with the various
2129             bits of data that should be passed into the event constructor.
2130
2131             This static method is strictly an implementation detail; it's not
2132             part of ContentSecurityPolicy's public API.
2133         (WebCore::ContentSecurityPolicy::reportViolation):
2134             Regardless of whether the policy has set a 'report-uri' directive
2135             or not, gather together all the data we'll need to fire an event,
2136             create the event, and queue it up for dispatching on the Document.
2137
2138 2013-03-21  Terry Anderson  <tdanderson@chromium.org>
2139
2140         [chromium] Remove SK_SUPPORT_HINTING_SCALE_FACTOR flag and code
2141         https://bugs.webkit.org/show_bug.cgi?id=112928
2142
2143         Reviewed by Stephen White.
2144
2145         This flag was only for ChromeOS builds with HighDPI. It is no longer needed and can be removed. 
2146         See http://crbug.com/17550
2147
2148         No new tests needed since this is just removing unused code.
2149
2150         * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
2151         (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
2152         * platform/graphics/skia/PlatformContextSkia.cpp:
2153         (WebCore::PlatformContextSkia::PlatformContextSkia):
2154         (WebCore::PlatformContextSkia::setupPaintCommon):
2155         * platform/graphics/skia/PlatformContextSkia.h:
2156
2157 2013-03-21  Mike West  <mkwst@chromium.org>
2158
2159         Drop full URLs from cross-origin access errors caused by protocol mismatches.
2160         https://bugs.webkit.org/show_bug.cgi?id=112894
2161
2162         Reviewed by Timothy Hatcher.
2163
2164         Following up on http://wkbug.com/112813, this patch brings protocol
2165         mismatch errors into line with the new origin-only hotness. The message
2166         is also changed to display the URL's protocol rather than the origin's
2167         protocol: it makes a big difference for 'data:' URLs, for instance.
2168
2169         * page/DOMWindow.cpp:
2170         (WebCore::DOMWindow::crossDomainAccessErrorMessage):
2171
2172 2013-03-21  Stephen Chenney  <schenney@chromium.org>
2173
2174         SVG text path referencing parent text infinite loops
2175         https://bugs.webkit.org/show_bug.cgi?id=112078
2176
2177         Reviewed by Philip Rogers.
2178
2179         We do not check the target type when adding a resource reference for
2180         SVG Text Path's URI. This goes horribly wrong when the target is the
2181         text path's parent text element. In this patch we check that the target
2182         element of the text path is indeed a path element, as the spec
2183         requires. No other element type is allowed.
2184
2185         Note that RenderSVGTextPath enforces this check in the renderer code
2186         also, so if we get past this check via pending resources, it doesn't
2187         matter. You can't get into this situation with a pending reference
2188         because, by definition, the parent must be defined before the text
2189         path child.
2190
2191         Test: svg/text/textpath-referencing-text-crash.svg
2192
2193         * svg/SVGTextPathElement.cpp:
2194         (WebCore::SVGTextPathElement::buildPendingResource):
2195
2196 2013-03-21  Joshua Bell  <jsbell@chromium.org>
2197
2198         IndexedDB: Remove onVersionChange(string) plumbing
2199         https://bugs.webkit.org/show_bug.cgi?id=112712
2200
2201         Reviewed by Adam Barth.
2202
2203         Delete unused onVersionChange(string) overload.
2204
2205         No new tests - just deleting dead code.
2206
2207         * Modules/indexeddb/IDBDatabase.cpp: Delete onVersionChange(string) overload.
2208         * Modules/indexeddb/IDBDatabase.h: Ditto.
2209         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Ditto.
2210         * Modules/indexeddb/IDBDatabaseCallbacks.h: Ditto.
2211         * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: Ditto.
2212         * Modules/indexeddb/IDBDatabaseCallbacksImpl.h: Ditto.
2213
2214 2013-03-21  Philip Rogers  <pdr@google.com>
2215
2216         Correct bisector angle calculation for markers
2217         https://bugs.webkit.org/show_bug.cgi?id=112054
2218
2219         Reviewed by Stephen Chenney.
2220
2221         The SVG marker spec states that mid markers with orient=auto should be aligned with their
2222         x-axis along the bisector of the incoming (in) and outgoing (out) angles. Previously we
2223         calculated this bisector angle as:
2224             bisector = (in + out) / 2;
2225         Angles cannot be averaged this way! Consider in=90deg and out=-180deg: the bisector should
2226         be 135deg but a naive average gives -45deg. This patch corrects for the discontinuity in
2227         angle values with:
2228             bisector = (in + out + 360) / 2   // if |in - out| > 180
2229             bisector = (in + out) / 2         // otherwise
2230         This patch includes an exhaustive test of angle values.
2231
2232         Test: svg/custom/marker-orient-auto.html
2233
2234         * rendering/svg/SVGMarkerData.h:
2235         (WebCore::SVGMarkerData::currentAngle):
2236
2237 2013-03-21  Harald Alvestrand  <hta@google.com>
2238
2239         Expose the Type field of an RTCStatsReport
2240         https://bugs.webkit.org/show_bug.cgi?id=112951
2241
2242         Reviewed by Adam Barth.
2243
2244         Covered by an extension of an existing test.
2245
2246         * Modules/mediastream/RTCStatsReport.h:
2247         (WebCore::RTCStatsReport::type):
2248         * Modules/mediastream/RTCStatsReport.idl:
2249
2250 2013-03-21  Alexey Proskuryakov  <ap@apple.com>
2251
2252         Move non-trivial virtual functions out of ResourceHandleClient.h
2253         https://bugs.webkit.org/show_bug.cgi?id=112950
2254
2255         Reviewed by Brady Eidson.
2256
2257         * CMakeLists.txt:
2258         * GNUmakefile.list.am:
2259         * Target.pri:
2260         * WebCore.exp.in:
2261         * WebCore.gypi:
2262         * WebCore.vcproj/WebCore.vcproj:
2263         * WebCore.vcxproj/WebCore.vcxproj:
2264         * WebCore.vcxproj/WebCore.vcxproj.filters:
2265         * WebCore.xcodeproj/project.pbxproj:
2266         * platform/network/ResourceHandleClient.cpp: Added.
2267         (WebCore::ResourceHandleClient::ResourceHandleClient):
2268         (WebCore::ResourceHandleClient::~ResourceHandleClient):
2269         (WebCore::ResourceHandleClient::didReceiveBuffer):
2270         (WebCore::ResourceHandleClient::getBuffer):
2271         * platform/network/ResourceHandleClient.h:
2272
2273 2013-03-21  Florin Malita  <fmalita@chromium.org>
2274
2275         [SVG] Remove explicit LightSource dispatchers
2276         https://bugs.webkit.org/show_bug.cgi?id=112827
2277
2278         Reviewed by Stephen Chenney.
2279
2280         Convert LightSource setters to dynamic dispatch. This allows us to remove LightSource.cpp
2281         altogether.
2282
2283         No new tests: refactoring only.
2284
2285         * CMakeLists.txt:
2286         * GNUmakefile.list.am:
2287         * Target.pri:
2288         * WebCore.gypi:
2289         * WebCore.vcproj/WebCore.vcproj:
2290         * WebCore.vcxproj/WebCore.vcxproj:
2291         * WebCore.vcxproj/WebCore.vcxproj.filters:
2292         * WebCore.xcodeproj/project.pbxproj:
2293         * platform/graphics/filters/DistantLightSource.h:
2294         (DistantLightSource):
2295         * platform/graphics/filters/LightSource.cpp: Removed.
2296         * platform/graphics/filters/LightSource.h:
2297         (WebCore::LightSource::setAzimuth):
2298         (WebCore::LightSource::setElevation):
2299         (WebCore::LightSource::setX):
2300         (WebCore::LightSource::setY):
2301         (WebCore::LightSource::setZ):
2302         (WebCore::LightSource::setPointsAtX):
2303         (WebCore::LightSource::setPointsAtY):
2304         (WebCore::LightSource::setPointsAtZ):
2305         (WebCore::LightSource::setSpecularExponent):
2306         (WebCore::LightSource::setLimitingConeAngle):
2307         * platform/graphics/filters/PointLightSource.h:
2308         (PointLightSource):
2309         * platform/graphics/filters/SpotLightSource.h:
2310         (SpotLightSource):
2311
2312 2013-03-21  Igor Oliveira  <igor.o@sisa.samsung.com>
2313
2314         [Texmap] Implement support for OpenGLES EXT_unpack_subimage extension
2315         https://bugs.webkit.org/show_bug.cgi?id=108716
2316
2317         If the extension GL_EXT_unpack_subimage is supported, it adds GL_UNPACK_ROW_LENGTH,
2318         GL_UNPACK_SKIP_ROWS and GL_UNPACK_SKIP_PIXELS as valid enums to PixelStore.
2319
2320         Reviewed by Noam Rosenthal.
2321
2322         * platform/graphics/texmap/TextureMapperGL.cpp:
2323         (WebCore::driverSupportsSubImage):
2324         (WebCore::BitmapTextureGL::updateContentsNoSwizzle):
2325         (WebCore::BitmapTextureGL::updateContents):
2326
2327 2013-03-21  Dmitry Zvorygin  <zvorygin@chromium.org>
2328
2329         Web Inspector: Regression: drawer resizes slowly with animation.
2330         https://bugs.webkit.org/show_bug.cgi?id=112920
2331
2332         Drawer status bar opacity wasn't set to zero on inialization, so no transition event 
2333         was fired on first time drawer appeared,thus animation styles wasn't removed properly.
2334
2335         Reviewed by Vsevolod Vlasov.
2336
2337         * inspector/front-end/Drawer.js:
2338         (WebInspector.Drawer):
2339
2340 2013-03-21  Alberto Garcia  <agarcia@igalia.com>
2341
2342         [BlackBerry] GraphicsLayer: fix code that was accidentally reverted
2343         https://bugs.webkit.org/show_bug.cgi?id=112143
2344
2345         Reviewed by Rob Buis.
2346
2347         Several changes were accidentally reverted in r144465 due to the
2348         upstreaming of some new code:
2349
2350         - clearBackgroundColor() and m_contentsLayerHasBackgroundColor had
2351           been removed in r137798.
2352
2353         - showDebugBorders() had been renamed to isShowingDebugBorder() in
2354           r133517.
2355
2356         - A new GraphicsLayer::create() overload had been introduced in
2357           r130185.
2358
2359         This patch fixes them all.
2360
2361         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
2362         (WebCore::GraphicsLayer::create):
2363         (WebCore):
2364         (WebCore::GraphicsLayerBlackBerry::GraphicsLayerBlackBerry):
2365         (WebCore::GraphicsLayerBlackBerry::setBackgroundColor):
2366         (WebCore::GraphicsLayerBlackBerry::updateLayerBackgroundColor):
2367         (WebCore::GraphicsLayerBlackBerry::setupContentsLayer):
2368         * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
2369         (GraphicsLayerBlackBerry):
2370
2371 2013-03-21  Zan Dobersek  <zdobersek@igalia.com>
2372
2373         [GTK] Move libLevelDB.la setup into a separate GNUmakefile.am
2374         https://bugs.webkit.org/show_bug.cgi?id=112947
2375
2376         Reviewed by Martin Robinson.
2377
2378         No new tests - no new functionality.
2379
2380         * GNUmakefile.am: Move the libLevelDD.la setup into the new GNUmakefile.am that's placed in
2381         the third-party leveldb source directory.
2382         * GNUmakefile.list.am: Move the LevelDB sources listing there as well.
2383
2384 2013-03-21  Alberto Garcia  <agarcia@igalia.com>
2385
2386         [BlackBerry] DrawingBuffer: add clearPlatformLayer() implementation
2387         https://bugs.webkit.org/show_bug.cgi?id=112696
2388
2389         Reviewed by Rob Buis.
2390
2391         DrawingBuffer::clearPlatformLayer() was added in r139142.
2392
2393         This is not needed in the BlackBerry port, so this patch only
2394         contains a dummy implementation.
2395
2396         * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp:
2397         (WebCore):
2398         (WebCore::DrawingBuffer::clearPlatformLayer):
2399
2400 2013-03-21  Florin Malita  <fmalita@chromium.org>
2401
2402         [SVG] Suppress painting when an empty viewBox is specified
2403         https://bugs.webkit.org/show_bug.cgi?id=112623
2404
2405         Reviewed by Philip Rogers.
2406
2407         Per spec, elements with an empty viewBox should not be rendered:
2408         http://www.w3.org/TR/SVG/coords.html#ViewBoxAttribute.
2409
2410         This patch adds the missing viewBox checks to RenderSVGRoot, RenderSVGViewPortContainer,
2411         RenderSVGResourceMarker and RenderSVGResourceMarker's paint methods.
2412
2413         In order to detect the case of "viewBox present but invalid", the patch also introduces
2414         SVGAnimatedProperty plumbing for tracking property validity: the baseVal setter now takes
2415         an additional optional 'validValue' boolean parameter, which can later be queried via a
2416         macroed getter (LowerProperty##IsValid()).
2417
2418         Test: svg/custom/viewBox-empty.html
2419
2420         * rendering/svg/RenderSVGResourceMarker.cpp:
2421         (WebCore::RenderSVGResourceMarker::draw):
2422         * rendering/svg/RenderSVGResourcePattern.cpp:
2423         (WebCore::RenderSVGResourcePattern::buildPattern):
2424         * rendering/svg/RenderSVGRoot.cpp:
2425         (WebCore::RenderSVGRoot::paintReplaced):
2426         * rendering/svg/RenderSVGViewportContainer.cpp:
2427         (WebCore::RenderSVGViewportContainer::paint):
2428         (WebCore):
2429         * rendering/svg/RenderSVGViewportContainer.h:
2430         (RenderSVGViewportContainer):
2431         * svg/SVGPatternElement.cpp:
2432         (WebCore::SVGPatternElement::collectPatternAttributes):
2433         * svg/SVGSVGElement.h:
2434         (WebCore::SVGSVGElement::hasEmptyViewBox):
2435         (SVGSVGElement):
2436         Suppress painting if a valid empty viewBox is found.
2437
2438         * svg/SVGFitToViewBox.h:
2439         (WebCore::SVGFitToViewBox::parseAttribute):
2440         Mark the viewBox property as invalid if not successfully parsed.
2441
2442         * svg/SVGExternalResourcesRequired.h:
2443         (SVGExternalResourcesRequired):
2444         * svg/SVGURIReference.h:
2445         (SVGURIReference):
2446         * svg/properties/SVGAnimatedPropertyMacros.h:
2447         (WebCore::SVGSynchronizableAnimatedProperty::SVGSynchronizableAnimatedProperty):
2448         (SVGSynchronizableAnimatedProperty):
2449         (WebCore):
2450         Plumbing for tracking property value validation.
2451
2452 2013-03-21  Alexei Filippov  <alph@chromium.org>
2453
2454         Web Inspector: Hide toolbar customization experimental setting
2455         https://bugs.webkit.org/show_bug.cgi?id=112942
2456
2457         Reviewed by Pavel Feldman.
2458
2459         * inspector/front-end/Settings.js:
2460         (WebInspector.ExperimentsSettings):
2461         * inspector/front-end/Toolbar.js:
2462         (WebInspector.Toolbar):
2463         (WebInspector.Toolbar.prototype._isToolbarCustomizable):
2464
2465 2013-03-21  Anton Muhin  <antonm@chromium.org>
2466
2467         Unreviewed, rolling out r146483.
2468         http://trac.webkit.org/changeset/146483
2469         https://bugs.webkit.org/show_bug.cgi?id=111695
2470
2471         Breaks
2472
2473         * Modules/speech/SpeechSynthesis.cpp:
2474         (WebCore::SpeechSynthesis::boundaryEventOccurred):
2475         (WebCore::SpeechSynthesis::didStartSpeaking):
2476         (WebCore::SpeechSynthesis::didPauseSpeaking):
2477         (WebCore::SpeechSynthesis::didResumeSpeaking):
2478         (WebCore::SpeechSynthesis::didFinishSpeaking):
2479         (WebCore::SpeechSynthesis::speakingErrorOccurred):
2480         (WebCore):
2481         * Modules/speech/SpeechSynthesis.h:
2482         (SpeechSynthesis):
2483         * Modules/speech/SpeechSynthesisUtterance.cpp:
2484         (WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
2485         (WebCore::SpeechSynthesisUtterance::setVoice):
2486         * Modules/speech/SpeechSynthesisUtterance.h:
2487         (WebCore::SpeechSynthesisUtterance::text):
2488         (WebCore::SpeechSynthesisUtterance::setText):
2489         (WebCore::SpeechSynthesisUtterance::lang):
2490         (WebCore::SpeechSynthesisUtterance::setLang):
2491         (WebCore::SpeechSynthesisUtterance::volume):
2492         (WebCore::SpeechSynthesisUtterance::setVolume):
2493         (WebCore::SpeechSynthesisUtterance::rate):
2494         (WebCore::SpeechSynthesisUtterance::setRate):
2495         (WebCore::SpeechSynthesisUtterance::pitch):
2496         (WebCore::SpeechSynthesisUtterance::setPitch):
2497         (WebCore::SpeechSynthesisUtterance::startTime):
2498         (WebCore::SpeechSynthesisUtterance::setStartTime):
2499         (WebCore::SpeechSynthesisUtterance::platformUtterance):
2500         (SpeechSynthesisUtterance):
2501         * Modules/speech/SpeechSynthesisVoice.h:
2502         (SpeechSynthesisVoice):
2503         * WebCore.exp.in:
2504         * WebCore.gypi:
2505         * platform/PlatformSpeechSynthesis.h:
2506         (PlatformSpeechSynthesis):
2507         * platform/PlatformSpeechSynthesisUtterance.cpp:
2508         * platform/PlatformSpeechSynthesisUtterance.h:
2509         (PlatformSpeechSynthesisUtterance):
2510         (WebCore::PlatformSpeechSynthesisUtterance::client):
2511         * platform/PlatformSpeechSynthesisVoice.cpp:
2512         (WebCore::PlatformSpeechSynthesisVoice::create):
2513         (WebCore::PlatformSpeechSynthesisVoice::PlatformSpeechSynthesisVoice):
2514         * platform/PlatformSpeechSynthesisVoice.h:
2515         (PlatformSpeechSynthesisVoice):
2516         (WebCore::PlatformSpeechSynthesisVoice::voiceURI):
2517         (WebCore::PlatformSpeechSynthesisVoice::name):
2518         (WebCore::PlatformSpeechSynthesisVoice::lang):
2519         (WebCore::PlatformSpeechSynthesisVoice::localService):
2520         * platform/PlatformSpeechSynthesizer.cpp:
2521         (WebCore::PlatformSpeechSynthesizer::create):
2522         (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
2523         (WebCore):
2524         * platform/PlatformSpeechSynthesizer.h:
2525         (PlatformSpeechSynthesizerClient):
2526         (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
2527         (PlatformSpeechSynthesizer):
2528         * platform/chromium/PlatformSpeechSynthesizerChromium.cpp: Removed.
2529         * platform/chromium/support/WebSpeechSynthesisUtterance.cpp: Removed.
2530         * platform/chromium/support/WebSpeechSynthesisVoice.cpp: Removed.
2531         * platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp: Removed.
2532         * platform/chromium/support/WebSpeechSynthesizerClientImpl.h: Removed.
2533         * platform/mac/PlatformSpeechSynthesizerMac.mm:
2534         (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
2535         (-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
2536         (WebCore):
2537         (WebCore::PlatformSpeechSynthesizer::speak):
2538         * platform/mock/PlatformSpeechSynthesizerMock.cpp:
2539         (WebCore::PlatformSpeechSynthesizerMock::create):
2540         (WebCore::PlatformSpeechSynthesizerMock::PlatformSpeechSynthesizerMock):
2541         (WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
2542         (WebCore::PlatformSpeechSynthesizerMock::speak):
2543         * platform/mock/PlatformSpeechSynthesizerMock.h:
2544         (PlatformSpeechSynthesizerMock):
2545
2546 2013-03-21  Alexey Proskuryakov  <ap@apple.com>
2547
2548         [Mac] Consolidate bits of willSendRequest implementation
2549         https://bugs.webkit.org/show_bug.cgi?id=112932
2550
2551         Reviewed by Brady Eidson.
2552
2553         Moved some logic from WebCoreResourceHandleAsDelegate to ResourceHandle for clarity.
2554
2555         * platform/network/mac/ResourceHandleMac.mm:
2556         (WebCore::ResourceHandle::willSendRequest):
2557         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
2558
2559 2013-03-21  Praveen R Jadhav  <praveen.j@samsung.com>
2560
2561         Remove AudioGain.idl from compilation.
2562         https://bugs.webkit.org/show_bug.cgi?id=112650
2563
2564         Reviewed by Chris Rogers.
2565
2566         Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#GainNode
2567               https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioBufferSourceNode
2568
2569         AudioParam serves the same purpose as AudioGain. Infact, AudioGain inherits
2570         AudioParam class and doesn't have its own member functions/parameters. Also,
2571         AudioGain is not part of WebAudio W3C specifications.
2572
2573         Test: webaudio/gain-basic.html
2574
2575         * CMakeLists.txt:
2576         * DerivedSources.make:
2577         * DerivedSources.pri:
2578         * GNUmakefile.list.am:
2579         * Modules/webaudio/AudioBufferSourceNode.cpp:
2580         (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
2581         * Modules/webaudio/AudioBufferSourceNode.h:
2582         (AudioBufferSourceNode):
2583         (WebCore::AudioBufferSourceNode::gain):
2584         * Modules/webaudio/AudioBufferSourceNode.idl:
2585         * Modules/webaudio/AudioGain.h: Removed.
2586         * Modules/webaudio/AudioGain.idl: Removed.
2587         * Modules/webaudio/GainNode.cpp:
2588         (WebCore::GainNode::GainNode):
2589         * Modules/webaudio/GainNode.h:
2590         (WebCore):
2591         (WebCore::GainNode::create):
2592         (GainNode):
2593         (WebCore::GainNode::gain):
2594         * Modules/webaudio/GainNode.idl:
2595         * Modules/webaudio/PannerNode.cpp:
2596         (WebCore::PannerNode::PannerNode):
2597         * Modules/webaudio/PannerNode.h:
2598         (WebCore::PannerNode::distanceGain):
2599         (WebCore::PannerNode::coneGain):
2600         * Target.pri:
2601         * WebCore.gypi:
2602         * WebCore.xcodeproj/project.pbxproj:
2603
2604 2013-03-21  Dominic Mazzoni  <dmazzoni@google.com>
2605
2606         Implement Web Speech Synthesis for Chromium
2607         https://bugs.webkit.org/show_bug.cgi?id=111695
2608
2609         Reviewed by Adam Barth.
2610
2611         Straightforward implementation of speech synthesis
2612         for Chromium by exposing interfaces for the platform
2613         to implement.
2614
2615         * Modules/speech/SpeechSynthesis.cpp:
2616         (WebCore::SpeechSynthesis::boundaryEventOccurred):
2617         (WebCore::SpeechSynthesis::didStartSpeaking):
2618         (WebCore::SpeechSynthesis::didPauseSpeaking):
2619         (WebCore::SpeechSynthesis::didResumeSpeaking):
2620         (WebCore::SpeechSynthesis::didFinishSpeaking):
2621         (WebCore::SpeechSynthesis::speakingErrorOccurred):
2622         (WebCore):
2623         * Modules/speech/SpeechSynthesis.h:
2624         (SpeechSynthesis):
2625         * Modules/speech/SpeechSynthesisUtterance.cpp:
2626         (WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
2627         (WebCore):
2628         (WebCore::SpeechSynthesisUtterance::~SpeechSynthesisUtterance):
2629         (WebCore::SpeechSynthesisUtterance::setVoice):
2630         * Modules/speech/SpeechSynthesisUtterance.h:
2631         (SpeechSynthesisUtterance):
2632         (WebCore::SpeechSynthesisUtterance::text):
2633         (WebCore::SpeechSynthesisUtterance::setText):
2634         (WebCore::SpeechSynthesisUtterance::lang):
2635         (WebCore::SpeechSynthesisUtterance::setLang):
2636         (WebCore::SpeechSynthesisUtterance::volume):
2637         (WebCore::SpeechSynthesisUtterance::setVolume):
2638         (WebCore::SpeechSynthesisUtterance::rate):
2639         (WebCore::SpeechSynthesisUtterance::setRate):
2640         (WebCore::SpeechSynthesisUtterance::pitch):
2641         (WebCore::SpeechSynthesisUtterance::setPitch):
2642         (WebCore::SpeechSynthesisUtterance::startTime):
2643         (WebCore::SpeechSynthesisUtterance::setStartTime):
2644         (WebCore::SpeechSynthesisUtterance::platformUtterance):
2645         * Modules/speech/SpeechSynthesisVoice.h:
2646         (WebCore::SpeechSynthesisVoice::~SpeechSynthesisVoice):
2647         * WebCore.exp.in:
2648         * WebCore.gypi:
2649         * platform/PlatformSpeechSynthesis.h:
2650         (PlatformSpeechSynthesis):
2651         * platform/PlatformSpeechSynthesisUtterance.cpp:
2652         (WebCore):
2653         (WebCore::PlatformSpeechSynthesisUtterance::create):
2654         * platform/PlatformSpeechSynthesisUtterance.h:
2655         (PlatformSpeechSynthesisUtterance):
2656         (WebCore::PlatformSpeechSynthesisUtterance::setClient):
2657         * platform/PlatformSpeechSynthesisVoice.cpp:
2658         (WebCore):
2659         (WebCore::PlatformSpeechSynthesisVoice::create):
2660         (WebCore::PlatformSpeechSynthesisVoice::PlatformSpeechSynthesisVoice):
2661         * platform/PlatformSpeechSynthesisVoice.h:
2662         (PlatformSpeechSynthesisVoice):
2663         (WebCore::PlatformSpeechSynthesisVoice::setVoiceURI):
2664         (WebCore::PlatformSpeechSynthesisVoice::setName):
2665         (WebCore::PlatformSpeechSynthesisVoice::setLang):
2666         (WebCore::PlatformSpeechSynthesisVoice::setLocalService):
2667         (WebCore::PlatformSpeechSynthesisVoice::setIsDefault):
2668         * platform/PlatformSpeechSynthesizer.cpp:
2669         (WebCore::PlatformSpeechSynthesizer::create):
2670         (WebCore::PlatformSpeechSynthesizer::setVoiceList):
2671         (WebCore):
2672         * platform/PlatformSpeechSynthesizer.h:
2673         (WebKit):
2674         (PlatformSpeechSynthesizerClient):
2675         (PlatformSpeechSynthesizer):
2676         * platform/chromium/PlatformSpeechSynthesizerChromium.cpp: Added.
2677         (WebCore):
2678         (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
2679         (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
2680         (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
2681         (WebCore::PlatformSpeechSynthesizer::speak):
2682         (WebCore::PlatformSpeechSynthesizer::pause):
2683         (WebCore::PlatformSpeechSynthesizer::resume):
2684         (WebCore::PlatformSpeechSynthesizer::cancel):
2685         * platform/chromium/support/WebSpeechSynthesisUtterance.cpp: Added.
2686         (WebKit):
2687         (WebKit::WebSpeechSynthesisUtterance::WebSpeechSynthesisUtterance):
2688         (WebKit::WebSpeechSynthesisUtterance::operator=):
2689         (WebKit::WebSpeechSynthesisUtterance::assign):
2690         (WebKit::WebSpeechSynthesisUtterance::reset):
2691         (WebKit::WebSpeechSynthesisUtterance::operator PassRefPtr<PlatformSpeechSynthesisUtterance>):
2692         (WebKit::WebSpeechSynthesisUtterance::operator PlatformSpeechSynthesisUtterance*):
2693         (WebKit::WebSpeechSynthesisUtterance::text):
2694         (WebKit::WebSpeechSynthesisUtterance::lang):
2695         (WebKit::WebSpeechSynthesisUtterance::voice):
2696         (WebKit::WebSpeechSynthesisUtterance::volume):
2697         (WebKit::WebSpeechSynthesisUtterance::rate):
2698         (WebKit::WebSpeechSynthesisUtterance::pitch):
2699         (WebKit::WebSpeechSynthesisUtterance::startTime):
2700         * platform/chromium/support/WebSpeechSynthesisVoice.cpp: Added.
2701         (WebKit):
2702         (WebKit::WebSpeechSynthesisVoice::assign):
2703         (WebKit::WebSpeechSynthesisVoice::reset):
2704         (WebKit::WebSpeechSynthesisVoice::setVoiceURI):
2705         (WebKit::WebSpeechSynthesisVoice::setName):
2706         (WebKit::WebSpeechSynthesisVoice::setLanguage):
2707         (WebKit::WebSpeechSynthesisVoice::setIsLocalService):
2708         (WebKit::WebSpeechSynthesisVoice::setIsDefault):
2709         (WebKit::WebSpeechSynthesisVoice::operator PassRefPtr<WebCore::PlatformSpeechSynthesisVoice>):
2710         * platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp: Added.
2711         (WebCore):
2712         (WebCore::WebSpeechSynthesizerClientImpl::WebSpeechSynthesizerClientImpl):
2713         (WebCore::WebSpeechSynthesizerClientImpl::~WebSpeechSynthesizerClientImpl):
2714         (WebCore::WebSpeechSynthesizerClientImpl::setVoiceList):
2715         (WebCore::WebSpeechSynthesizerClientImpl::didStartSpeaking):
2716         (WebCore::WebSpeechSynthesizerClientImpl::didFinishSpeaking):
2717         (WebCore::WebSpeechSynthesizerClientImpl::didPauseSpeaking):
2718         (WebCore::WebSpeechSynthesizerClientImpl::didResumeSpeaking):
2719         (WebCore::WebSpeechSynthesizerClientImpl::speakingErrorOccurred):
2720         (WebCore::WebSpeechSynthesizerClientImpl::wordBoundaryEventOccurred):
2721         (WebCore::WebSpeechSynthesizerClientImpl::sentenceBoundaryEventOccurred):
2722         * platform/chromium/support/WebSpeechSynthesizerClientImpl.h: Added.
2723         (WebCore):
2724         (WebSpeechSynthesizerClientImpl):
2725         * platform/mac/PlatformSpeechSynthesizerMac.mm:
2726         (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
2727         (-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
2728         (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
2729         (WebCore):
2730         (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
2731         (WebCore::PlatformSpeechSynthesizer::speak):
2732         * platform/mock/PlatformSpeechSynthesizerMock.cpp:
2733         (WebCore::PlatformSpeechSynthesizerMock::PlatformSpeechSynthesizerMock):
2734         (WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
2735         (WebCore::PlatformSpeechSynthesizerMock::speak):
2736         * platform/mock/PlatformSpeechSynthesizerMock.h:
2737         (PlatformSpeechSynthesizerMock):
2738
2739 2013-03-21  Julien Chaffraix  <jchaffraix@webkit.org>
2740
2741         [CSS Grid Layout] Properly layout spanning grid items with minmax grid tracks
2742         https://bugs.webkit.org/show_bug.cgi?id=112389
2743
2744         Reviewed by Tony Chang.
2745
2746         This change updates our core minmax resolution function to be spanning grid
2747         items aware. The new implementation of the algorithm doesn't totally match
2748         the specification but it is fairly close that it's a good first pass. The
2749         extra complexity in the specification needs to be carefully examinated
2750         first (not to mention the probable change in the core layout algorithm).
2751
2752         Tests: fast/css-grid-layout/minmax-spanning-resolution-columns.html
2753                fast/css-grid-layout/minmax-spanning-resolution-rows.html
2754
2755         * rendering/RenderGrid.cpp:
2756         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
2757         Updated this function to account for spanning grid items by:
2758         - iterating over all spanned grid tracks.
2759         - removing any used breadth from all spanned grid tracks.
2760
2761 2013-03-21  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
2762
2763         [GStreamer] New reference returned by g_main_context_new() must be freed
2764         https://bugs.webkit.org/show_bug.cgi?id=112899
2765
2766         Reviewed by Kenneth Rohde Christiansen.
2767
2768         Fix a memory leak by adopting the new reference returned
2769         by g_main_context_new().
2770
2771         No new tests. No change in behavior.
2772
2773         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2774         (WebCore::AudioFileReader::createBus):
2775
2776 2013-03-21  Carlos Garcia Campos  <cargarcia@rim.com>
2777
2778         [BlackBerry] Add ScrollingCoordinatorBlackBerry implementation
2779         https://bugs.webkit.org/show_bug.cgi?id=112915
2780
2781         Reviewed by Rob Buis.
2782
2783         * PlatformBlackBerry.cmake: Add page/scrolling/blackberry to the
2784         indlude dir list.
2785         * page/scrolling/ScrollingCoordinator.cpp:
2786         (WebCore::ScrollingCoordinator::create): Create a
2787         ScrollingCoordinatorBlackBerry for the BlackBerry platform.
2788         * page/scrolling/blackberry/ScrollingCoordinatorBlackBerry.cpp: Added.
2789         (WebCore):
2790         (WebCore::ScrollingCoordinatorBlackBerry::ScrollingCoordinatorBlackBerry):
2791         (WebCore::ScrollingCoordinatorBlackBerry::setLayerIsContainerForFixedPositionLayers):
2792         (WebCore::ScrollingCoordinatorBlackBerry::setLayerIsFixedToContainerLayer):
2793         (WebCore::ScrollingCoordinatorBlackBerry::setLayerFixedToContainerLayerEdge):
2794         (WebCore::ScrollingCoordinatorBlackBerry::frameViewFrameRectDidChange):
2795         (WebCore::ScrollingCoordinatorBlackBerry::frameViewContentsSizeDidChange):
2796         * page/scrolling/blackberry/ScrollingCoordinatorBlackBerry.h: Added.
2797         (WebCore):
2798         (ScrollingCoordinatorBlackBerry):
2799         (WebCore::ScrollingCoordinatorBlackBerry::supportsFixedPositionLayers):
2800         * platform/graphics/PlatformLayer.h:
2801         (WebCore): Add PlatformLayer definition for BlackBerry.
2802
2803 2013-03-18  Andrey Kosyakov  <caseq@chromium.org>
2804
2805         Web Inspector: Paint rectangles shown on hover over Timeline's paint records occasionally have wrong offsets
2806         https://bugs.webkit.org/show_bug.cgi?id=112371
2807
2808         Reviewed by Pavel Feldman.
2809
2810         - pass frame to InspectorTimelineAgent::didPaint();
2811         - convert paint coordinates to root view.
2812
2813         * inspector/InspectorInstrumentation.cpp:
2814         (WebCore):
2815         (WebCore::InspectorInstrumentation::willPaintImpl):
2816         (WebCore::InspectorInstrumentation::didPaintImpl):
2817         * inspector/InspectorInstrumentation.h:
2818         (InspectorInstrumentation):
2819         (WebCore::InspectorInstrumentation::willPaint):
2820         (WebCore::InspectorInstrumentation::didPaint):
2821         * inspector/InspectorTimelineAgent.cpp:
2822         (WebCore::InspectorTimelineAgent::didPaint):
2823         * inspector/InspectorTimelineAgent.h:
2824         (InspectorTimelineAgent):
2825
2826 2013-03-20  Andrey Kosyakov  <caseq@chromium.org>
2827
2828         Web Inspector: do not use inspector cookie in InspectorInstrumentation::{will,did}Paint
2829         https://bugs.webkit.org/show_bug.cgi?id=112787
2830
2831         Reviewed by Pavel Feldman.
2832
2833         - pass frame, not inspector cookie to InspectorInstrumentation::didPaint;
2834         - use frame to determine timeline agent in InspectorInstrumentation::didPaint.
2835
2836         * inspector/InspectorInstrumentation.cpp:
2837         (WebCore):
2838         (WebCore::InspectorInstrumentation::willPaintImpl):
2839         (WebCore::InspectorInstrumentation::didPaintImpl):
2840         * inspector/InspectorInstrumentation.h:
2841         (InspectorInstrumentation):
2842         (WebCore::InspectorInstrumentation::willPaint):
2843         (WebCore::InspectorInstrumentation::didPaint):
2844         * page/FrameView.cpp:
2845         (WebCore::FrameView::paintContents):
2846         * rendering/RenderLayerBacking.cpp:
2847         (WebCore::RenderLayerBacking::paintContents):
2848
2849 2013-03-21  Julien Chaffraix  <jchaffraix@webkit.org>
2850
2851         [CSS Grid Layout] OOB access in RenderGrid with a grid item with negative position index
2852         https://bugs.webkit.org/show_bug.cgi?id=112853
2853
2854         Reviewed by Tony Chang.
2855
2856         This issue was caused by us casting a negative int to a size_t by mistake. This
2857         would make us not size the grid properly thus yielding to OOB access during the
2858         rest of the layout.
2859
2860         Test: fast/css-grid-layout/grid-item-negative-indexes.html
2861
2862         * rendering/RenderGrid.cpp:
2863         (WebCore::estimatedGridSizeForPosition):
2864         Added this helper function to do the proper estimation and checks that our
2865         position can be represented by a size_t.
2866
2867         (WebCore::RenderGrid::maximumIndexInDirection):
2868         Updated to use estimatedGridSizeForPosition.
2869
2870 2013-03-21  Stephen White  <senorblanco@chromium.org>
2871
2872         [skia] feConvolveMatrix should use accelerated path
2873         https://bugs.webkit.org/show_bug.cgi?id=112828
2874
2875         Reviewed by James Robinson.
2876
2877         Covered by layout tests css3/filters/effect-reference*.html.
2878
2879         * WebCore.gypi:
2880         Add FEConvolveMatrixSkia.cpp to the build.
2881         * platform/graphics/filters/FEConvolveMatrix.h:
2882         Enable the skia accelerated path for feConvolveMatrix.
2883         * platform/graphics/filters/skia/FEConvolveMatrixSkia.cpp:
2884         (WebCore::FEConvolveMatrix::createImageFilter):
2885         Implement building/conversion from FEConvolveMatrix to
2886         SkMatrixConvolutionImageFilter.
2887
2888 2013-03-21  Martin Robinson  <mrobinson@igalia.com>
2889
2890         Source/ThirdParty/leveldb/db/builder.cc does not build on systems without <endian.h>
2891         https://bugs.webkit.org/show_bug.cgi?id=111817
2892
2893         Reviewed by Gustavo Noronha Silva.
2894
2895         * GNUmakefile.am: Add the appropriate flags to the LevelDB build if we are on FreeBSD
2896         or OS X.
2897
2898 2013-03-21  Julien Chaffraix  <jchaffraix@webkit.org>
2899
2900         [CSS Grid Layout] Support default grid items sizing
2901         https://bugs.webkit.org/show_bug.cgi?id=103333
2902
2903         Reviewed by Tony Chang.
2904
2905         Tests: fast/css-grid-layout/grid-auto-columns-rows-auto-flow-resolution.html
2906                fast/css-grid-layout/grid-auto-columns-rows-resolution.html
2907                fast/css-grid-layout/grid-auto-columns-rows-update.html
2908
2909         * rendering/RenderGrid.cpp:
2910         (WebCore::RenderGrid::gridTrackSize):
2911         Core of the change: return the grid-auto-{rows|columns} instead of a pre-defined value.
2912
2913         (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
2914         Fixed a latent bug: we need to iterate over the internal grid representation instead of the
2915         style's rows / columns as the latter doesn't account for implicit rows / columns.
2916
2917 2013-03-21  Adam Barth  <abarth@webkit.org>
2918
2919         HTMLNames should construct strings at compile time
2920         https://bugs.webkit.org/show_bug.cgi?id=112831
2921
2922         Reviewed by Darin Adler.
2923
2924         This patch teaches make_names how to construct strings at compile time,
2925         eliminating a large number of startup mallocs.
2926
2927         * WebCore.gyp/WebCore.gyp:
2928         * WebCore.gyp/scripts/action_makenames.py:
2929             - Teach the Chromium build how to deal with Perl modules.
2930         * bindings/scripts/StaticString.pm: Added.
2931             - A Perl module for constructing static strings.
2932         (GenerateStrings):
2933         (GenerateValidateStrings):
2934         * dom/QualifiedName.cpp:
2935         (WebCore::createQualifiedName):
2936             - createQualifiedName now takes an already-constructed StringImpl
2937               object.
2938         * dom/QualifiedName.h:
2939         * dom/make_names.pl:
2940         (valueForName):
2941         (namesToStrings):
2942         (printNamesCppFile):
2943         (printDefinitions):
2944             - Teach make_names how to use StaticString.pm.
2945
2946 2013-03-21  Kondapally Kalyan  <kalyan.kondapally@intel.com>
2947
2948         [EFL][WebGL] Implement a common GraphicsSurface Implementation.
2949         https://bugs.webkit.org/show_bug.cgi?id=111759
2950
2951         Reviewed by Kenneth Rohde Christiansen.
2952
2953         Covered by existing WebGL tests.
2954
2955         This is in preparation to add transport surface support for GLES2.
2956         This patch makes it easy to share the core logic of using
2957         Transport Surface and client on GLX and GLES2 backends without
2958         any code duplication.
2959
2960         * PlatformEfl.cmake:
2961         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
2962         (WebCore::GraphicsContext3DPrivate::initialize):
2963         (WebCore::GraphicsContext3DPrivate::releaseResources):
2964         (WebCore::GraphicsContext3DPrivate::prepareBuffer):
2965         (WebCore::GraphicsContext3DPrivate::createGraphicsSurface):
2966         (WebCore::GraphicsContext3DPrivate::didResizeCanvas):
2967         (WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
2968         * platform/graphics/efl/GraphicsContext3DPrivate.h:
2969         (GraphicsContext3DPrivate):
2970
2971         TransportSurface related code is moved to GraphicsSurfaceCommon.
2972         As GraphicsSurface is deleted on resize, added logic to ensure that
2973         current buffer is not deleted before having the shared buffer
2974         with correct size. This would avoid any flashing during resize.
2975
2976         * platform/graphics/opengl/GLPlatformSurface.cpp:
2977         (WebCore::GLPlatformSurface::createTransportSurface):
2978         * platform/graphics/opengl/GLPlatformSurface.h:
2979         * platform/graphics/surfaces/efl/GLTransportSurface.cpp: Renamed from Source/WebCore/platform/graphics/surfaces/GLTransportSurface.cpp.
2980         (WebCore):
2981         (WebCore::GLTransportSurface::GLTransportSurface):
2982         (WebCore::GLTransportSurface::~GLTransportSurface):
2983         (WebCore::GLTransportSurface::updateContents):
2984         (WebCore::GLTransportSurface::setGeometry):
2985         (WebCore::GLTransportSurface::destroy):
2986         (WebCore::GLTransportSurface::draw):
2987         (WebCore::GLTransportSurface::bindArrayBuffer):
2988         (WebCore::GLTransportSurface::updateTransformationMatrix):
2989         (WebCore::GLTransportSurface::initializeShaderProgram):
2990         (WebCore::GLTransportSurfaceClient::createTransportSurfaceClient):
2991         (WebCore::GLTransportSurfaceClient::GLTransportSurfaceClient):
2992         (WebCore::GLTransportSurfaceClient::~GLTransportSurfaceClient):
2993         (WebCore::GLTransportSurfaceClient::destroy):
2994         (WebCore::GLTransportSurfaceClient::prepareTexture):
2995         (WebCore::GLTransportSurfaceClient::createTexture):
2996         * platform/graphics/surfaces/efl/GLTransportSurface.h: Renamed from Source/WebCore/platform/graphics/surfaces/GLTransportSurface.h.
2997         (WebCore):
2998         (GLTransportSurface):
2999         (GLTransportSurfaceClient):
3000         (WebCore::GLTransportSurfaceClient::texture):
3001         (WebCore::GLTransportSurfaceClient::hasAlpha):
3002
3003         Moved TransportSurface to EFL folder as this is being used by EFL port only.
3004         Added a base class for TransportSurfaceClient.
3005
3006         * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp: Added.
3007         (WebCore):
3008         (GraphicsSurfacePrivate):
3009         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
3010         (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
3011         (WebCore::GraphicsSurfacePrivate::destroy):
3012         (WebCore::GraphicsSurfacePrivate::initializeTransportSurface):
3013         (WebCore::GraphicsSurfacePrivate::makeContextCurrent):
3014         (WebCore::GraphicsSurfacePrivate::copyFromTexture):
3015         (WebCore::GraphicsSurfacePrivate::handle):
3016         (WebCore::GraphicsSurfacePrivate::updateClientBuffer):
3017         (WebCore::GraphicsSurfacePrivate::flags):
3018         (WebCore::GraphicsSurfacePrivate::rect):
3019         (WebCore::GraphicsSurfacePrivate::size):
3020         (WebCore::GraphicsSurfacePrivate::textureId):
3021         (WebCore::GraphicsSurfacePrivate::initializeClient):
3022         (WebCore::GraphicsSurface::platformExport):
3023         (WebCore::GraphicsSurface::platformGetTextureID):
3024         (WebCore::GraphicsSurface::platformCopyToGLTexture):
3025         (WebCore::GraphicsSurface::platformCopyFromTexture):
3026         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
3027         (WebCore::GraphicsSurface::platformFrontBuffer):
3028         (WebCore::GraphicsSurface::platformSwapBuffers):
3029         (WebCore::GraphicsSurface::platformSize):
3030         (WebCore::GraphicsSurface::platformCreate):
3031         (WebCore::GraphicsSurface::platformImport):
3032         (WebCore::GraphicsSurface::platformLock):
3033         (WebCore::GraphicsSurface::platformUnlock):
3034         (WebCore::GraphicsSurface::platformDestroy):
3035         (WebCore::GraphicsSurface::platformBeginPaint):
3036         (WebCore::GraphicsSurface::createReadOnlyImage):
3037
3038         GraphicsSurface implementation to be shared by both GLX and GLES2.
3039
3040         * platform/graphics/surfaces/egl/EGLSurface.cpp:
3041         (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
3042         * platform/graphics/surfaces/egl/EGLSurface.h:
3043         (EGLWindowTransportSurface):
3044         * platform/graphics/surfaces/glx/GLXSurface.cpp:
3045         (WebCore):
3046         (WebCore::resolveGLMethods):
3047         (WebCore::isMesaGLX):
3048         (WebCore::GLXTransportSurface::GLXTransportSurface):
3049         (WebCore::GLXTransportSurfaceClient::GLXTransportSurfaceClient):
3050         (WebCore::GLXTransportSurfaceClient::~GLXTransportSurfaceClient):
3051         (WebCore::GLXTransportSurfaceClient::destroy):
3052         (WebCore::GLXTransportSurfaceClient::prepareTexture):
3053         * platform/graphics/surfaces/glx/GLXSurface.h:
3054         (GLXTransportSurface):
3055         (GLXTransportSurfaceClient):
3056         (WebCore):
3057         GLXTransportSurfaceClient implementation.
3058
3059 2013-03-21  Sheriff Bot  <webkit.review.bot@gmail.com>
3060
3061         Unreviewed, rolling out r146454.
3062         http://trac.webkit.org/changeset/146454
3063         https://bugs.webkit.org/show_bug.cgi?id=112906
3064
3065         compile failures (Requested by antonm on #webkit).
3066
3067         * WebCore.gypi:
3068         * platform/graphics/filters/FEConvolveMatrix.h:
3069         (FEConvolveMatrix):
3070         * platform/graphics/filters/skia/FEConvolveMatrixSkia.cpp: Removed.
3071
3072 2013-03-21  Mike Reed  <reed@google.com>
3073
3074         Remove obsolete conditionals around calling SkTypeface::getUnitsPerEm()
3075         https://bugs.webkit.org/show_bug.cgi?id=112846
3076
3077         Reviewed by Stephen White.
3078
3079         Existing complex-text layouttests exercise this code.
3080
3081         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
3082         (WebCore::FontPlatformData::emSizeInFontUnits):
3083
3084 2013-03-21  Stephen White  <senorblanco@chromium.org>
3085
3086         [skia] feConvolveMatrix should use accelerated path
3087         https://bugs.webkit.org/show_bug.cgi?id=112828
3088
3089         Reviewed by James Robinson.
3090
3091         Covered by layout tests css3/filters/effect-reference*.html.
3092
3093         * WebCore.gypi:
3094         Add FEConvolveMatrixSkia.cpp to the build.
3095         * platform/graphics/filters/FEConvolveMatrix.h:
3096         Enable the skia accelerated path for feConvolveMatrix.
3097         * platform/graphics/filters/skia/FEConvolveMatrixSkia.cpp:
3098         (WebCore::FEConvolveMatrix::createImageFilter):
3099         Implement building/conversion from FEConvolveMatrix to
3100         SkMatrixConvolutionImageFilter.
3101
3102 2013-03-21  Kunihiko Sakamoto  <ksakamoto@chromium.org>
3103
3104         Refactoring: Reorganize datetime field element parameters
3105         https://bugs.webkit.org/show_bug.cgi?id=112877
3106
3107         Reviewed by Kent Tamura.
3108
3109         Before this patch, the field element constructors took minimum/maximum
3110         as a pair of integers, and step/stepbase as a DateTimeNumericFieldElement::Parameters.
3111         This patch makes these constructors to take a Range (for minimum/maximum)
3112         and a Step (for step/stepbase).
3113
3114         No new tests. Just refactoring.
3115
3116         * html/shadow/DateTimeEditElement.cpp:
3117         (DateTimeEditBuilder): Replaced min/max data members by Ranges.
3118         (WebCore::DateTimeEditBuilder::DateTimeEditBuilder):
3119         (WebCore::DateTimeEditBuilder::visitField):
3120         (WebCore::DateTimeEditBuilder::shouldAMPMFieldDisabled):
3121         (WebCore::DateTimeEditBuilder::shouldDayOfMonthFieldDisabled):
3122         (WebCore::DateTimeEditBuilder::shouldHourFieldDisabled):
3123         (WebCore::DateTimeEditBuilder::shouldMillisecondFieldDisabled):
3124         (WebCore::DateTimeEditBuilder::shouldMinuteFieldDisabled):
3125         (WebCore::DateTimeEditBuilder::shouldSecondFieldDisabled):
3126         (WebCore::DateTimeEditBuilder::createStep):
3127         * html/shadow/DateTimeFieldElements.cpp:
3128         (WebCore::DateTimeDayFieldElement::DateTimeDayFieldElement):
3129         (WebCore::DateTimeDayFieldElement::create):
3130         (WebCore::DateTimeHourFieldElementBase::DateTimeHourFieldElementBase):
3131         (WebCore::DateTimeHour11FieldElement::DateTimeHour11FieldElement):
3132         (WebCore::DateTimeHour11FieldElement::create):
3133         (WebCore::DateTimeHour12FieldElement::DateTimeHour12FieldElement):
3134         (WebCore::DateTimeHour12FieldElement::create):
3135         (WebCore::DateTimeHour23FieldElement::DateTimeHour23FieldElement):
3136         (WebCore::DateTimeHour23FieldElement::create):
3137         (WebCore::DateTimeHour24FieldElement::DateTimeHour24FieldElement):
3138         (WebCore::DateTimeHour24FieldElement::create):
3139         (WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement):
3140         (WebCore::DateTimeMillisecondFieldElement::create):
3141         (WebCore::DateTimeMinuteFieldElement::DateTimeMinuteFieldElement):
3142         (WebCore::DateTimeMinuteFieldElement::create):
3143         (WebCore::DateTimeMonthFieldElement::DateTimeMonthFieldElement):
3144         (WebCore::DateTimeMonthFieldElement::create):
3145         (WebCore::DateTimeSecondFieldElement::DateTimeSecondFieldElement):
3146         (WebCore::DateTimeSecondFieldElement::create):
3147         (WebCore::DateTimeWeekFieldElement::DateTimeWeekFieldElement):
3148         (WebCore::DateTimeWeekFieldElement::create):
3149         * html/shadow/DateTimeFieldElements.h:
3150         (DateTimeDayFieldElement):
3151         (DateTimeHourFieldElementBase):
3152         (DateTimeHour11FieldElement):
3153         (DateTimeHour12FieldElement):
3154         (DateTimeHour23FieldElement):
3155         (DateTimeHour24FieldElement):
3156         (DateTimeMillisecondFieldElement):
3157         (DateTimeMinuteFieldElement):
3158         (DateTimeMonthFieldElement):
3159         (DateTimeSecondFieldElement):
3160         (DateTimeWeekFieldElement):
3161         * html/shadow/DateTimeNumericFieldElement.cpp:
3162         (WebCore):
3163         (WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement):
3164         (WebCore::DateTimeNumericFieldElement::roundDown):
3165         (WebCore::DateTimeNumericFieldElement::roundUp):
3166         * html/shadow/DateTimeNumericFieldElement.h:
3167         (WebCore::DateTimeNumericFieldElement::Step::Step): Renamed from Parameters.
3168         (WebCore::DateTimeNumericFieldElement::Range::Range):
3169         (WebCore::DateTimeNumericFieldElement::Range::isSingleton): Returns true if the range is a singleton range (i.e. contains exactly one value).
3170         (Range): Now it's parameter type, hence public.
3171         (DateTimeNumericFieldElement): Replaced two int members (m_step and m_stepBase) by a Range.
3172
3173 2013-03-21  Sergey Ryazanov  <serya@chromium.org>
3174
3175         Web Inspector: Track CSS error location information.
3176         https://bugs.webkit.org/show_bug.cgi?id=111314
3177
3178         Added CSS syntax error reporting to some (other rules will be covered later) error recovery grammar rules.
3179         Added code to CSSParser to allow track error location information.
3180         Added empty rule to declaration_list. Needed to not report error about declarations like "body {}".
3181         Added helper grammar rule "errors: error | errors error". Handles the same grammar as "error" but simplifies error location tracking.
3182
3183         Reviewed by Pavel Feldman.
3184
3185         Test: inspector/console/console-css-warnings.html
3186
3187         * css/CSSGrammar.y.in:
3188         * css/CSSParser.cpp:
3189         (WebCore::CSSParser::CSSParser):
3190         (WebCore::CSSParser::currentLocation):
3191         (WebCore):
3192         (WebCore::CSSParser::realLex):
3193         * css/CSSParser.h:
3194         (CSSParser):
3195
3196 2013-03-21  Sergey Ryazanov  <serya@chromium.org>
3197
3198         Changing "#define YYDEBUG 0" to 1 causing compilation error
3199         https://bugs.webkit.org/show_bug.cgi?id=111178
3200
3201         Reviewed by Pavel Feldman.
3202
3203         Code that reference tokens can't be placed into CSSGrammar.yy.include because it's included before tokens defined.
3204         YYDEBUG can't be used in CSSGrammar.yy.in because the #define is only defined in CSSGrammar.yy.include. This
3205         change simplifies CSS debugging letting manipulate only #define YYDEBUG in CSSGrammar.yy.include and/or in CSSParser.cpp.
3206
3207         * css/CSSGrammar.y.in:
3208         * css/CSSGrammar.y.includes:
3209
3210 2013-03-21  Nate Chapin  <japhet@chromium.org>
3211
3212         Merge MainResourceLoader into DocumentLoader
3213         https://bugs.webkit.org/show_bug.cgi?id=104969
3214
3215         Reviewed by Adam Barth.
3216
3217         No new tests, refactor only.
3218
3219         * CMakeLists.txt:
3220         * GNUmakefile.list.am:
3221         * Target.pri:
3222         * WebCore.exp.in:
3223         * WebCore.gypi:
3224         * WebCore.vcproj/WebCore.vcproj:
3225         * WebCore.vcxproj/WebCore.vcxproj:
3226         * WebCore.vcxproj/WebCore.vcxproj.filters:
3227         * WebCore.xcodeproj/project.pbxproj:
3228         * loader/DocumentLoader.cpp:
3229         (WebCore::DocumentLoader::DocumentLoader):
3230         (WebCore::DocumentLoader::mainResourceLoader):
3231         (WebCore::DocumentLoader::~DocumentLoader): Move main resource clearing from
3232             ~MainResourceLoader.
3233         (WebCore::DocumentLoader::mainResourceData):
3234         (WebCore::DocumentLoader::stopLoading):
3235         (WebCore::DocumentLoader::notifyFinished): Moved from MainResourceLoader::notifyFinished.
3236         (WebCore):
3237         (WebCore::DocumentLoader::finishedLoading):
3238         (WebCore::DocumentLoader::handleSubstituteDataLoadNow):
3239         (WebCore::DocumentLoader::redirectReceived):
3240         (WebCore::DocumentLoader::continueAfterNavigationPolicy):
3241         (WebCore::DocumentLoader::responseReceived):
3242         (WebCore::DocumentLoader::continueAfterContentPolicy):
3243         (WebCore::DocumentLoader::reportMemoryUsage):
3244         (WebCore::DocumentLoader::dataReceived):
3245         (WebCore::DocumentLoader::clearMainResourceLoader):
3246         (WebCore::DocumentLoader::setDefersLoading):
3247         (WebCore::DocumentLoader::setMainResourceDataBufferingPolicy):
3248         (WebCore::DocumentLoader::addSubresourceLoader):
3249         (WebCore::DocumentLoader::maybeLoadEmpty):
3250         (WebCore::DocumentLoader::startLoadingMainResource): Don't keep separate checks
3251              for normal and empty loads, just use a single boolean.
3252         * loader/DocumentLoader.h:
3253         (WebCore::DocumentLoader::isLoadingMainResource):
3254         * loader/MainResourceLoader.cpp: Removed.
3255         * loader/MainResourceLoader.h: Removed.
3256         * loader/mac/DocumentLoaderMac.cpp:
3257         (WebCore::DocumentLoader::schedule):
3258         (WebCore::DocumentLoader::unschedule):
3259
3260 2013-03-20  Ilya Tikhonovsky  <loislo@chromium.org>
3261
3262         Web Inspector: Flame Chart. draw background for the FlameChart overview pane with the CPU aggregated data.
3263         https://bugs.webkit.org/show_bug.cgi?id=112823
3264
3265         Reviewed by Yury Semikhatsky.
3266
3267         The idea of the patch is to collect the data about stack depth for the each X
3268         and draw a line with help of this data.
3269
3270         * inspector/front-end/FlameChart.js:
3271         (WebInspector.FlameChart):
3272         (WebInspector.FlameChart.prototype.onResize):
3273         (WebInspector.FlameChart.prototype._drawOverviewCanvas):
3274         (WebInspector.FlameChart.prototype.update):
3275
3276 2013-03-21  Eugene Klyuchnikov  <eustas@chromium.org>
3277
3278         Web Inspector: [Settings] Fix JS compiler warnings.
3279         https://bugs.webkit.org/show_bug.cgi?id=112879
3280
3281         Reviewed by Pavel Feldman.
3282
3283         Removed erroneous JSDoc.
3284
3285         * inspector/front-end/Settings.js: Removed erroneous JSDoc.
3286
3287 2013-03-20  Simon Fraser  <simon.fraser@apple.com>
3288
3289         Make GraphicsLayerCA::backingStoreMemoryEstimate() give a better estimate for tiled layers
3290         https://bugs.webkit.org/show_bug.cgi?id=112864
3291
3292         Reviewed by Tim Horton.
3293         
3294         If a GraphicsLayerCA has TiledBacking, ask the TiledBacking how
3295         much memory it's using for tiles, rather than just using 
3296         height * width * 4.
3297         
3298         Implement retainedTileBackingStoreMemory() in the TileController,
3299         summing the memory used by parented tiles.
3300
3301         The original code was incorrectly multiplying by contentsScale
3302         only once rather than twice (2x contents scale uses 4x as much memory).
3303
3304         * platform/graphics/TiledBacking.h:
3305         * platform/graphics/ca/GraphicsLayerCA.cpp:
3306         (WebCore::GraphicsLayerCA::backingStoreMemoryEstimate):
3307         * platform/graphics/ca/mac/TileController.h:
3308         * platform/graphics/ca/mac/TileController.mm:
3309         (WebCore::TileController::retainedTileBackingStoreMemory):
3310
3311 2013-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
3312
3313         Unreviewed, rolling out r146419.
3314         http://trac.webkit.org/changeset/146419
3315         https://bugs.webkit.org/show_bug.cgi?id=112870
3316
3317         Broke many tests on debug builds (Requested by rniwa_ on
3318         #webkit).
3319
3320         * DerivedSources.make:
3321         * GNUmakefile.am:
3322         * WebCore.gyp/WebCore.gyp:
3323         * WebCore.gyp/scripts/action_makenames.py:
3324         (main):
3325         * bindings/scripts/StaticString.pm: Removed.
3326         * dom/QualifiedName.cpp:
3327         (WebCore::createQualifiedName):
3328         * dom/QualifiedName.h:
3329         (WebCore):
3330         * dom/make_names.pl:
3331         (printNamesCppFile):
3332         (printDefinitions):
3333
3334 2013-03-20  Michael Pruett  <michael@68k.org>
3335
3336         [JSC] Implement EnforceRange IDL attribute for integer conversions
3337         https://bugs.webkit.org/show_bug.cgi?id=112506
3338
3339         Reviewed by Kentaro Hara.
3340
3341         Implement the EnforceRange attribute for JSC bindings.
3342
3343         The EnforceRange attribute requires a type error to be thrown when
3344         converting an ECMAScript number which is beyond the representable
3345         range of the IDL integer type.
3346
3347         Tests: fast/js/webidl-type-mapping.html
3348                storage/indexeddb/cursor-advance-workers.html
3349                storage/indexeddb/cursor-advance.html
3350                storage/indexeddb/intversion-bad-parameters.html
3351
3352         * WebCore.exp.in:
3353         * bindings/js/JSDOMBinding.cpp:
3354         (WebCore):
3355         (WebCore::enforceRange):
3356         (WebCore::toInt32EnforceRange):
3357         (WebCore::toUInt32EnforceRange):
3358         (WebCore::toInt64):
3359         (WebCore::toUInt64):
3360         * bindings/js/JSDOMBinding.h:
3361         (WebCore::toInt32):
3362         (WebCore):
3363         (WebCore::toUInt32):
3364         * bindings/scripts/CodeGeneratorJS.pm:
3365         (JSValueToNative):
3366         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3367         (WebCore::jsTestEventTargetPrototypeFunctionItem):
3368         * bindings/scripts/test/JS/JSTestObj.cpp:
3369         (WebCore::setJSTestObjShortAttr):
3370         (WebCore::setJSTestObjUnsignedShortAttr):
3371         (WebCore::setJSTestObjLongAttr):
3372         (WebCore::setJSTestObjLongLongAttr):
3373         (WebCore::setJSTestObjUnsignedLongLongAttr):
3374         (WebCore::setJSTestObjReflectedIntegralAttr):
3375         (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
3376         (WebCore::setJSTestObjReflectedCustomIntegralAttr):
3377         (WebCore::setJSTestObjAttrWithGetterException):
3378         (WebCore::setJSTestObjAttrWithSetterException):
3379         (WebCore::setJSTestObjWithScriptStateAttribute):
3380         (WebCore::setJSTestObjConditionalAttr1):
3381         (WebCore::setJSTestObjConditionalAttr2):
3382         (WebCore::setJSTestObjConditionalAttr3):
3383         (WebCore::setJSTestObjStrawberry):
3384         (WebCore::setJSTestObjId):
3385         (WebCore::setJSTestObjNullableLongSettableAttribute):
3386         (WebCore::setJSTestObjNullableStringValue):
3387         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
3388         (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
3389         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
3390         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
3391         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
3392         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
3393         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
3394         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
3395         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
3396         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
3397         (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
3398         (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
3399         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
3400         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3401         (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
3402         (WebCore::setJSTestTypedefsAttrWithGetterException):
3403         (WebCore::setJSTestTypedefsAttrWithSetterException):
3404
3405 2013-03-20  Hayato Ito  <hayato@chromium.org>
3406
3407         Gesture events should include AllowShadowContent in hit testing
3408         https://bugs.webkit.org/show_bug.cgi?id=112073
3409
3410         Reviewed by Dimitri Glazkov.
3411
3412         Support gesture events for Shadow DOM.
3413         Now 'gesturetap' events can be correctly dispatched in shadow trees.
3414
3415         Test: fast/dom/shadow/gesture-tap.html
3416
3417         * page/EventHandler.cpp:
3418         (WebCore::EventHandler::handleGestureEvent):
3419
3420 2013-03-20  Adam Barth  <abarth@webkit.org>
3421
3422         HTMLNames should construct strings at compile time
3423         https://bugs.webkit.org/show_bug.cgi?id=112831
3424
3425         Reviewed by Darin Adler.
3426
3427         This patch teaches make_names how to construct strings at compile time,
3428         eliminating a large number of startup mallocs.
3429
3430         * WebCore.gyp/WebCore.gyp:
3431         * WebCore.gyp/scripts/action_makenames.py:
3432             - Teach the Chromium build how to deal with Perl modules.
3433         * bindings/scripts/StaticString.pm: Added.
3434             - A Perl module for constructing static strings.
3435         (GenerateStrings):
3436         (GenerateValidateStrings):
3437         * dom/QualifiedName.cpp:
3438         (WebCore::createQualifiedName):
3439             - createQualifiedName now takes an already-constructed StringImpl
3440               object.
3441         * dom/QualifiedName.h:
3442         * dom/make_names.pl:
3443         (valueForName):
3444         (namesToStrings):
3445         (printNamesCppFile):