700be130b3890e89a41738b38c03fd4a4aae1025
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-05-18  Chris Fleizach  <cfleizach@apple.com>
2
3         Reviewed by Maciej Stachowiak.
4
5         WK2: VoiceOver cannot move focus into a web area programmatically
6         https://bugs.webkit.org/show_bug.cgi?id=60661
7
8         Accessibility code relies on the ability to bring focus to the containing widget view.
9         In WK2, that message needs to be propagated to the UI process.
10
11         * page/ChromeClient.h:
12         (WebCore::ChromeClient::makeFirstResponder):
13         * page/mac/ChromeMac.mm:
14         (WebCore::Chrome::focusNSView):
15         * platform/mac/WidgetMac.mm:
16         (WebCore::Widget::setFocus):
17
18 2011-05-18  Alok Priyadarshi  <alokp@chromium.org> and Adrienne Walker  <enne@google.com>
19
20         Reviewed by James Robinson.
21
22         [chromium] Split canvas from LayerTilerChromium
23         https://bugs.webkit.org/show_bug.cgi?id=60719
24
25         LayerTilerChromium now just does tiling. It delegates the task of painting and updating textures to LayerTextureUpdater.
26         Also abstracted LayerTextureSubImage to upload texture pixels.
27
28         * WebCore.gypi:
29         * platform/chromium/TraceEvent.h:
30         * platform/graphics/chromium/ContentLayerChromium.cpp:
31         (WebCore::ContentLayerChromium::create):
32         (WebCore::ContentLayerChromium::ContentLayerChromium):
33         (WebCore::ContentLayerChromium::~ContentLayerChromium):
34         (WebCore::ContentLayerChromium::paintContentsIfDirty):
35         (WebCore::ContentLayerChromium::cleanupResources):
36         (WebCore::ContentLayerChromium::setLayerRenderer):
37         (WebCore::ContentLayerChromium::createTextureUpdater):
38         (WebCore::ContentLayerChromium::drawsContent):
39         (WebCore::ContentLayerChromium::createTilerIfNeeded):
40         (WebCore::ContentLayerChromium::updateCompositorResources):
41         * platform/graphics/chromium/ContentLayerChromium.h:
42         * platform/graphics/chromium/ImageLayerChromium.cpp:
43         (WebCore::ImageLayerTextureUpdater::ImageLayerTextureUpdater):
44         (WebCore::ImageLayerTextureUpdater::~ImageLayerTextureUpdater):
45         (WebCore::ImageLayerTextureUpdater::orientation):
46         (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
47         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
48         (WebCore::ImageLayerTextureUpdater::imageRect):
49         (WebCore::ImageLayerChromium::paintContentsIfDirty):
50         (WebCore::ImageLayerChromium::updateCompositorResources):
51         (WebCore::ImageLayerChromium::createTextureUpdater):
52         * platform/graphics/chromium/ImageLayerChromium.h:
53         * platform/graphics/chromium/LayerPainterChromium.h: Added.
54         * platform/graphics/chromium/LayerRendererChromium.cpp:
55         (WebCore::LayerRendererChromium::create):
56         (WebCore::LayerRendererChromium::LayerRendererChromium):
57         (WebCore::LayerRendererChromium::updateRootLayerContents):
58         (WebCore::LayerRendererChromium::drawRootLayer):
59         (WebCore::LayerRendererChromium::updateAndDrawLayers):
60         (WebCore::LayerRendererChromium::updateLayers):
61         * platform/graphics/chromium/LayerRendererChromium.h:
62         * platform/graphics/chromium/LayerTextureSubImage.cpp: Added.
63         (WebCore::LayerTextureSubImage::LayerTextureSubImage):
64         (WebCore::LayerTextureSubImage::~LayerTextureSubImage):
65         (WebCore::LayerTextureSubImage::setSubImageSize):
66         (WebCore::LayerTextureSubImage::upload):
67         (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
68         (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
69         * platform/graphics/chromium/LayerTextureSubImage.h: Copied from Source/WebCore/platform/chromium/TraceEvent.h.
70         * platform/graphics/chromium/LayerTextureUpdater.h: Copied from Source/WebCore/platform/chromium/TraceEvent.h.
71         (WebCore::LayerTextureUpdater::LayerTextureUpdater):
72         (WebCore::LayerTextureUpdater::~LayerTextureUpdater):
73         (WebCore::LayerTextureUpdater::context):
74         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Added.
75         (WebCore::LayerTextureUpdaterCanvas::LayerTextureUpdaterCanvas):
76         (WebCore::LayerTextureUpdaterCanvas::paintContents):
77         (WebCore::LayerTextureUpdaterBitmap::LayerTextureUpdaterBitmap):
78         (WebCore::LayerTextureUpdaterBitmap::prepareToUpdate):
79         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
80         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Added.
81         (WebCore::LayerTextureUpdaterCanvas::~LayerTextureUpdaterCanvas):
82         (WebCore::LayerTextureUpdaterCanvas::contentRect):
83         (WebCore::LayerTextureUpdaterBitmap::~LayerTextureUpdaterBitmap):
84         (WebCore::LayerTextureUpdaterBitmap::orientation):
85         * platform/graphics/chromium/LayerTilerChromium.cpp:
86         (WebCore::LayerTilerChromium::create):
87         (WebCore::LayerTilerChromium::LayerTilerChromium):
88         (WebCore::LayerTilerChromium::setTileSize):
89         (WebCore::LayerTilerChromium::prepareToUpdate):
90         (WebCore::LayerTilerChromium::updateRect):
91         (WebCore::LayerTilerChromium::draw):
92         * platform/graphics/chromium/LayerTilerChromium.h:
93         (WebCore::LayerTilerChromium::Tile::Tile):
94         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
95         (WebCore::CCHeadsUpDisplay::draw):
96
97 2011-05-18  Mark Pilgrim  <pilgrim@chromium.org>
98
99         Reviewed by Tony Chang.
100
101         IndexedDB put() should fail adding to object store that uses
102         out-of-line keys and has no key generator and the key parameter
103         was not provided
104         https://bugs.webkit.org/show_bug.cgi?id=58609
105
106         Out-of-line keys means that objectStore->m_keyPath is null in ::put(),
107         no key generator means that objectStore->autoIncrement() is false, and
108         key parameter was not provided means that prpKey will be a null pointer.
109         The combination of these 3 should throw a DATA_ERR.
110
111         Test: storage/indexeddb/mozilla/key-requirements-put-no-key.html
112
113         * storage/IDBObjectStoreBackendImpl.cpp:
114         (WebCore::IDBObjectStoreBackendImpl::put):
115
116 2011-05-18  Chris Rogers  <crogers@google.com>
117
118         Reviewed by James Robinson.
119
120         EqualPowerPanner is not using the correct azimuth range for stereo panning
121         https://bugs.webkit.org/show_bug.cgi?id=61085
122
123         No new tests since audio API is not yet implemented.
124
125         * platform/audio/EqualPowerPanner.cpp:
126         (WebCore::EqualPowerPanner::pan):
127
128 2011-05-18  Yi Shen  <yi.4.shen@nokia.com>
129
130         Reviewed by Andreas Kling.
131
132         [Qt] Enterkey to go to Newline does not work in the text area(in HTML form)
133         https://bugs.webkit.org/show_bug.cgi?id=33179
134
135         Fill the missing key text for the EnterKey event.
136
137         Tests: fast/events/onsearch-enter.html
138
139         * platform/qt/PlatformKeyboardEventQt.cpp:
140         (WebCore::keyTextForKeyEvent):
141
142 2011-05-17  Timothy Hatcher  <timothy@apple.com>
143
144         Update the the context menu to reflect the system search provider on Mac.
145
146         <rdar://problem/9198419>
147
148         Reviewed by Sam Weinig.
149
150         * English.lproj/Localizable.strings: Updated.
151         * Source/WebCore/WebCore.exp.in: Added _wkCopyDefaultSearchProviderDisplayName.
152         * platform/DefaultLocalizationStrategy.cpp:
153         (WebCore::DefaultLocalizationStrategy::contextMenuItemTagSearchWeb): Use wkCopyDefaultSearchProviderDisplayName to
154         create the string.
155         * platform/mac/WebCoreSystemInterface.h: Added wkCopyDefaultSearchProviderDisplayName.
156         * platform/mac/WebCoreSystemInterface.mm: Ditto.
157
158 2011-05-18  Rob Buis  <rbuis@rim.com>
159
160         Reviewed by Nikolas Zimmermann.
161
162         Marker test from ietestcenter fails
163         https://bugs.webkit.org/show_bug.cgi?id=60721
164
165         Change <marker> renderer creation behaviour to always create the renderer. This fixes
166         the problem that no marker is rendered when display=none is set on the <marker>. The
167         specification states that display=none should have no influence on <marker> usage:
168         "The ‘display’ property does not apply to the ‘marker’ element; thus, ..., and ‘marker’
169         elements are available for referencing even when the ‘display’ property on the ‘marker’
170         element or any of its ancestors is set to none."
171
172         Tests: svg/W3C-SVG-1.1-SE/painting-marker-07-f.svg
173                svg/custom/painting-marker-07-f-inherit.svg
174
175         * svg/SVGMarkerElement.h:
176         (WebCore::SVGMarkerElement::rendererIsNeeded):
177
178 2011-05-18  Alexis Menard  <alexis.menard@openbossa.org>, Simon Hausmann  <simon.hausmann@nokia.com>
179
180         Reviewed by Eric Carlson.
181
182         MediaElements fails to load the data in some cases.
183         https://bugs.webkit.org/show_bug.cgi?id=60760
184
185         WebKitWebSourceGStreamer is the interface between WebKit and GStreamer
186         that uses the ResourceHandle API to request data and pass it down. For
187         our builds it is absolutely essential that we have a NetworkingContext
188         available there, in order to get access to the QNetworkAccessManager.
189         No access means we basically cannot load the video. The WebSource gains
190         access to the NetworkingContext through a WebCore::Frame pointer it has.
191
192         MediaPlayerPrivateGStreamer is responsible for propagating a pointer of
193         the WebCore::Frame to the WebKitWebSource in
194         mediaPlayerPrivateSourceChangedCallback. In there we used the MediaPlayer's
195         frameView() accessor to access the frame. However the frameView() member
196         is only set through the render tree's RenderVideo, which is rather unreliable
197         given that some sites create "fake" video tags initially that only become
198         visible later (or never).
199
200         A more reliable way is to simply use the document of the MediaPlayerClient,
201         which is provided at constructor time.
202
203         Test: http/tests/media/media-can-load-when-hidden.html
204
205         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
206         (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
207
208 2011-05-18  Adrienne Walker  <enne@google.com>
209
210         Reviewed by James Robinson.
211
212         [chromium] Check HUD texture reserve status before using texture
213         https://bugs.webkit.org/show_bug.cgi?id=61082
214
215         This only changes behavior behind a flag, so shouldn't impact any tests.
216
217         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
218         (WebCore::CCHeadsUpDisplay::draw):
219
220 2011-05-18  Oliver Hunt  <oliver@apple.com>
221
222         Reviewed by Sam Weinig.
223
224         JSGlobalObject and some others do GC allocation during initialization, which can cause heap corruption
225         https://bugs.webkit.org/show_bug.cgi?id=61090
226
227         Rather than having Constructor objects create their structure
228         as part of initialisation, we now pass their expected structure
229         in as an argument.  This required fixing the few custom Constructors
230         and the code generator.
231
232         * bindings/js/JSAudioConstructor.cpp:
233         (WebCore::JSAudioConstructor::JSAudioConstructor):
234         * bindings/js/JSAudioConstructor.h:
235         * bindings/js/JSDOMGlobalObject.h:
236         (WebCore::getDOMConstructor):
237           Pass the Constructor objects structure in as an argument
238         * bindings/js/JSImageConstructor.cpp:
239         (WebCore::JSImageConstructor::JSImageConstructor):
240         * bindings/js/JSImageConstructor.h:
241         * bindings/js/JSOptionConstructor.cpp:
242         (WebCore::JSOptionConstructor::JSOptionConstructor):
243         * bindings/js/JSOptionConstructor.h:
244         * bindings/scripts/CodeGeneratorJS.pm:
245
246 2011-05-18  Abhishek Arya  <inferno@chromium.org>
247
248         Reviewed by Beth Dakin.
249
250         Remove removeChild on table caption since destroy call
251         already does that.
252         https://bugs.webkit.org/show_bug.cgi?id=61083
253
254         Test: fast/table/table-captions-child-visible-crash.html
255
256         * rendering/RenderTable.cpp:
257         (WebCore::RenderTable::recalcCaption):
258
259 2011-05-18  Evan Martin  <evan@chromium.org>
260
261         Reviewed by Tony Chang.
262
263         [chromium] make action_derivedsourcesallinone.py quiet
264         https://bugs.webkit.org/show_bug.cgi?id=61081
265
266         In gyp, it's the responsibility of the build system to print what actions are doing;
267         for example, the compile command is generally silent, while the build system prints
268         "compiling".
269
270         Make this program behave like a compiler: silent on success.
271
272         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
273         delete a print statement.
274
275 2011-05-18  David Kilzer  <ddkilzer@apple.com>
276
277         <http://webkit.org/b/61078> Use toHTTPPipeliningPriority() in initializeMaximumHTTPConnectionCountPerHost()
278
279         Reviewed by Joseph Pecoraro.
280
281         * platform/network/cf/ResourceRequestCFNet.cpp:
282         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Use
283         toHTTPPipeliningPriority() to convert arguments passed to
284         wkSetHTTPPipeliningMaximumPriority() and
285         wkSetHTTPPipeliningMinimumFastLanePriority().
286
287 2011-05-18  Erik Arvidsson  <arv@chromium.org>
288
289         Reviewed by Ojan Vafai.
290
291         event.clientX/clientY is 0/0 in a click generated through a label
292         https://bugs.webkit.org/show_bug.cgi?id=56606
293
294         This copies the coordinates from the underlying event to the simulated mouse event if the underlying event
295         is a mouse event.
296
297         This makes us match Firefox and IE.
298
299         Test: fast/events/simulated-click-coords.html
300
301         * dom/MouseEvent.cpp:
302         (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
303
304 2011-05-18  Nikolas Zimmermann  <nzimmermann@rim.com>
305
306         Not reviewed. Sorted XCode project file.
307
308         * WebCore.xcodeproj/project.pbxproj:
309
310 2011-05-18  Alexander Pavlov  <apavlov@chromium.org>
311
312         Reviewed by Pavel Feldman.
313
314         Web Inspector: Non-color CSS property values can get a color-picker
315         https://bugs.webkit.org/show_bug.cgi?id=61056
316
317         * inspector/front-end/CSSKeywordCompletions.js:
318         (WebInspector.CSSKeywordCompletions.forProperty):
319         (WebInspector.CSSKeywordCompletions.isColorAwareProperty):
320         * inspector/front-end/StylesSidebarPane.js:
321         (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
322
323 2011-05-18  Pratik Solanki  <psolanki@apple.com>
324
325         Reviewed by Dan Bernstein.
326
327         Don't use DEFINE_STATIC_LOCAL with an unsigned
328         https://bugs.webkit.org/show_bug.cgi?id=61026
329
330         * storage/StorageTracker.cpp:
331         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase): DEFINE_STATIC_LOCAL is meant
332         for objects, not unsigned ints. We can just use static here.
333
334 2011-05-18  Rob Buis  <rbuis@rim.com>
335
336         Reviewed by Nikolas Zimmermann.
337
338         NULL deref when SVG elements have table styles 
339         https://bugs.webkit.org/show_bug.cgi?id=45561
340
341         Restrict computed CSS values for SVG display property to block, inline or none.
342
343         Tests: svg/custom/display-table-caption-foreignObject.svg
344                svg/custom/display-table-caption-inherit-foreignObject.xhtml
345                svg/custom/display-table-caption-inherit-text.xhtml
346                svg/custom/display-table-caption-text.svg
347
348         * css/CSSStyleSelector.cpp:
349         (WebCore::SVGDisplayPropertyGuard::SVGDisplayPropertyGuard):
350         (WebCore::SVGDisplayPropertyGuard::~SVGDisplayPropertyGuard):
351         (WebCore::isAcceptableForSVGElement):
352         (WebCore::CSSStyleSelector::applyProperty):
353
354 2011-05-18  Pavel Feldman  <pfeldman@google.com>
355
356         Reviewed by Yury Semikhatsky.
357
358         Web Inspector: [REGRESSION] Completion while on a breakpoint is not working.
359         https://bugs.webkit.org/show_bug.cgi?id=60811
360
361         Test: inspector/debugger/debugger-completions-on-call-frame.html
362
363         * inspector/InjectedScriptSource.js:
364         * inspector/front-end/ConsoleView.js:
365         (WebInspector.ConsoleView.prototype.completions.else.evaluated):
366         * inspector/front-end/DebuggerPresentationModel.js:
367         (WebInspector.PresenationCallFrame.prototype.get variables):
368         * inspector/front-end/ScriptsPanel.js:
369         (WebInspector.ScriptsPanel.prototype.selectedCallFrameVariables):
370
371 2011-05-18  Nikolas Zimmermann  <nzimmermann@rim.com>
372
373         Reviewed by Rob Buis.
374
375         All animated SVG enum properties are now ints
376         https://bugs.webkit.org/show_bug.cgi?id=10749
377
378         DECLARE/DEFINE_ANIMATED_ENUMERATION created fooBaseVal()/setFooBaseVal() methods that take int parameters, and stored all enum types as integers.
379         Modify the SVG DOM API to store real enums, and get rid of any int<->enum conversions. It's now impossible to change any enum values to undefined
380         types, which is the root of several filter security bugs in the past, that were fixed by adding workarounds.
381         (Usual workaround: svgAttributeChanged(): if fooAttr has been changed from SVG DOM, and if it's an enum, check whether the enum is in range, or fix it up.)
382
383         Using a type-safe internal representation for these enum values we can get rid of ugly int<->enum conversions.
384         A lot of parseMappedAttribute() functions duplicated the code for parsing enum values (eg. userSpaceOnUse/objectBoundingBox unit values, in pattern/filter/mask/etc..)
385         Add dozens of new SVGPropertyTraits<EnumType> specializations for all enums we expose to JS, and offer static fromString/toString conversion methods in single places.
386         Use the new SVGPropertyTraits everywhere in svg/.
387
388         This also fixes SVG DOM <-> XML DOM synchronization for SVGAnimatedEnumeration types.
389         Example: <clipPath clipPathUnits="objectBoundingBox">
390         myClipPath.clipPathUnits.baseVal = SVGUnitTypes.SVG_UNIT_TYPE_USERSPACEONUSE;
391         alert(myClipPath.getAttribute('clipPathUnits')); <- without this patch it says "1", now it says "userSpaceOnUse" as expected, and as other browsers do.
392         We're now properly converting the enum values to strings.
393
394         Add testcases for all SVGAnimatedEnumeration objects used in the SVG DOM API. Found several small bugs:
395         - SVGFEConvolveMatrix 'edgeMode' SVG DOM <-> XML DOM synchronization was not working, because of a typo: s/operatorAttr/edgeModeAttr
396         - SVGFEConvolveMatrix was missing an synchronizeProperty() implementation, disabling SVG <-> XML DOM synchronization completly.
397
398         Tests: svg/dom/SVGAnimatedEnumeration-SVGClipPathElement.html
399                svg/dom/SVGAnimatedEnumeration-SVGComponentTransferFunctionElement.html
400                svg/dom/SVGAnimatedEnumeration-SVGFEBlendElement.html
401                svg/dom/SVGAnimatedEnumeration-SVGFEColorMatrixElement.html
402                svg/dom/SVGAnimatedEnumeration-SVGFECompositeElement.html
403                svg/dom/SVGAnimatedEnumeration-SVGFEConvolveMatrixElement.html
404                svg/dom/SVGAnimatedEnumeration-SVGFEDisplacementMapElement.html
405                svg/dom/SVGAnimatedEnumeration-SVGFEMorphologyElement.html
406                svg/dom/SVGAnimatedEnumeration-SVGFETurbulenceElement.html
407                svg/dom/SVGAnimatedEnumeration-SVGFilterElement.html
408                svg/dom/SVGAnimatedEnumeration-SVGGradientElement.html
409                svg/dom/SVGAnimatedEnumeration-SVGMarkerElement.html
410                svg/dom/SVGAnimatedEnumeration-SVGMaskElement.html
411                svg/dom/SVGAnimatedEnumeration-SVGPatternElement.html
412                svg/dom/SVGAnimatedEnumeration-SVGTextContentElement.html
413                svg/dom/SVGAnimatedEnumeration-SVGTextPathElement.html
414
415         Fixes existing svg/dynamic-update/SVGTextContentElement-svgdom-lengthAdjust-prop.html where I found the bug initially.
416
417         * GNUmakefile.list.am: Add svg/properties/SVGAnimatedEnumerationPropertyTearOff.h to build.
418         * WebCore.gypi: Ditto.
419         * WebCore.pro: Ditto.
420         * WebCore.vcproj/WebCore.vcproj: Ditto.
421         * WebCore.xcodeproj/project.pbxproj: Ditto.
422         * bindings/scripts/CodeGeneratorV8.pm: Add V8 magic, to avoid ambigious conversion warning in toV8(PassRefPtr<SVGAnimatedEnumeration>).
423         * platform/graphics/GraphicsTypes.h: Cleanup GradientSpreadMethod, as the SVG dependency is gone.
424         * platform/graphics/filters/FEBlend.cpp:
425         (WebCore::FEBlend::apply): Turn early-returns (introduce in security patches a while ago) into ASSERTs, as the underlying bug has been fixed.
426         * platform/graphics/filters/FEDisplacementMap.cpp:
427         (WebCore::FEDisplacementMap::apply): Ditto.
428         * rendering/svg/RenderSVGResourceClipper.h: Remove toUnitType() usage, the clipPathUnits() provided by SVGClipPathElement have the correct enum type now.
429         (WebCore::RenderSVGResourceClipper::clipPathUnits):
430         * rendering/svg/RenderSVGResourceFilter.h: Remove toUnitType() usage, the filterUnits()/primitiveUnits() provided by SVGFilterElement have the correct enum type now.
431         (WebCore::RenderSVGResourceFilter::filterUnits):
432         (WebCore::RenderSVGResourceFilter::primitiveUnits):
433         * rendering/svg/RenderSVGResourceGradient.cpp: Add helper method platformSpreadMethodFromSVGType() converting from SVGGradientElement::SVGSpreadMethodType to GradientSpreadMethod (platform).
434         (WebCore::RenderSVGResourceGradient::applyResource):
435         * rendering/svg/RenderSVGResourceGradient.h: Ditto.
436         * rendering/svg/RenderSVGResourceLinearGradient.cpp:
437         (WebCore::RenderSVGResourceLinearGradient::buildGradient): Use platformSpreadMethodFromSVGType().
438         * rendering/svg/RenderSVGResourceMarker.h: Remove toUnitType() usage, the markerUnits() provided by SVGMarkerElement have the correct enum type now.
439         (WebCore::RenderSVGResourceMarker::markerUnits):
440         * rendering/svg/RenderSVGResourceMasker.h: Remove toUnitType() usage, the maskUnits()/maskContentUnits() provided by SVGMaskElement have the correct enum type now.
441         (WebCore::RenderSVGResourceMasker::maskUnits):
442         (WebCore::RenderSVGResourceMasker::maskContentUnits):
443         * rendering/svg/RenderSVGResourceRadialGradient.cpp:
444         (WebCore::RenderSVGResourceRadialGradient::buildGradient): Use platformSpreadMethodFromSVGType().
445         * rendering/svg/SVGRenderTreeAsText.cpp:
446         (WebCore::operator<<): Use SVGPropertyTraits<SomeSVGEnumType>::toString() to convert from enum to string, remove code duplication.
447         (WebCore::writeCommonGradientProperties):
448         * rendering/svg/SVGTextChunkBuilder.cpp:
449         (WebCore::SVGTextChunkBuilder::addTextChunk): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
450         * rendering/svg/SVGTextLayoutEngine.cpp:
451         (WebCore::SVGTextLayoutEngine::parentDefinesTextLength): Ditto.
452         (WebCore::SVGTextLayoutEngine::beginTextPathLayout): Ditto.
453         * svg/GradientAttributes.h: Change spread method type from platform GradientSpreadMethod to SVGSpreadMethodType.
454         (WebCore::GradientAttributes::GradientAttributes):
455         (WebCore::GradientAttributes::spreadMethod):
456         (WebCore::GradientAttributes::setSpreadMethod):
457         * svg/SVGAnimatedBoolean.idl: Enable potential exception raising on baseVal setting for the primitive types.
458         * svg/SVGAnimatedEnumeration.h: Switch from generic SVGAnimatedStaticPropertyTearOff<int> to new SVGAnimatedEnumerationPropertyTearOff<EnumType>.
459         * svg/SVGAnimatedEnumeration.idl: Enable potential exception raising on baseVal setting for the primitive types.
460                                           Only SVGAnimatedEnumeration makes use of this if the assigned value is out of range.
461         * svg/SVGAnimatedInteger.idl: Ditto.
462         * svg/SVGAnimatedNumber.idl: Ditto.
463         * svg/SVGAnimatedString.idl: Ditto.
464         * svg/SVGClipPathElement.cpp:
465         (WebCore::SVGClipPathElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
466         * svg/SVGClipPathElement.h:
467         * svg/SVGComponentTransferFunctionElement.cpp:
468         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement): Initialize type to identity, not unknown, as per spec.
469         (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
470         (WebCore::SVGComponentTransferFunctionElement::transferFunction): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
471         * svg/SVGComponentTransferFunctionElement.h: Remove svgAttributeChanged() method, that verified the enum value is not out of range.
472                                                      It's not possible anymore for these values to go out of range.
473         * svg/SVGFEBlendElement.cpp:
474         (WebCore::SVGFEBlendElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<BlendModeType>::fromString(attr->value()).
475         (WebCore::SVGFEBlendElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
476         (WebCore::SVGFEBlendElement::build): Ditto.
477         * svg/SVGFEBlendElement.h: Add SVGPropertyTraits<BlendModeType> specializations.
478         * svg/SVGFEColorMatrixElement.cpp:
479         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<ColorMatrixType>::fromString(attr->value()).
480         (WebCore::SVGFEColorMatrixElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now..
481         (WebCore::SVGFEColorMatrixElement::build): Ditto.
482         * svg/SVGFEColorMatrixElement.h: Add SVGPropertyTraits<ColorMatrixType> specializations.
483         * svg/SVGFECompositeElement.cpp:
484         (WebCore::SVGFECompositeElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<CompositeOperationType>::fromString(attr->value()).
485         (WebCore::SVGFECompositeElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
486         (WebCore::SVGFECompositeElement::build): Ditto.
487         * svg/SVGFECompositeElement.h: Add SVGPropertyTraits<CompositeOperationType> specializations.
488         * svg/SVGFEConvolveMatrixElement.cpp: Fix typo, edgeMode needs to be associated with SVGNames::edgeModeAttr, not SVGNames::operatorAttr.
489         (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EdgeModeType>::fromString(attr->value()).
490         (WebCore::SVGFEConvolveMatrixElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
491         (WebCore::SVGFEConvolveMatrixElement::synchronizeProperty): Add missing synchronizeProperty() implementation, otherwhise SVG DOM <-> XML DOM is not in sync.
492         (WebCore::SVGFEConvolveMatrixElement::build): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
493         * svg/SVGFEConvolveMatrixElement.h: Add SVGPropertyTraits<EdgeModeType> specializations.
494         * svg/SVGFEDisplacementMapElement.cpp:
495         (WebCore::SVGFEDisplacementMapElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<ChannelSelectorType>::fromString(attr->value()).
496         (WebCore::SVGFEDisplacementMapElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
497         (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged): Remove range validation for enum types, they are always in range now.
498         (WebCore::SVGFEDisplacementMapElement::build): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
499         * svg/SVGFEDisplacementMapElement.h: Add SVGPropertyTraits<ChannelSelectorType> specializations.
500         * svg/SVGFEMorphologyElement.cpp:
501         (WebCore::SVGFEMorphologyElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<MorphologyOperatorType>::fromString(attr->value()).
502         (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
503         (WebCore::SVGFEMorphologyElement::build): Ditto.
504         * svg/SVGFEMorphologyElement.h: Add SVGPropertyTraits<MorphologyOperatorType> specializations.
505         * svg/SVGFETurbulenceElement.cpp:
506         (WebCore::SVGFETurbulenceElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGStitchOptions/TurbulenceType>::fromString(attr->value()).
507         (WebCore::SVGFETurbulenceElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
508         (WebCore::SVGFETurbulenceElement::build): Ditto.
509         * svg/SVGFETurbulenceElement.h: Add SVGPropertyTraits<SVGStitchOptions/TurbulenceType> specializations.
510         * svg/SVGFilterElement.cpp:
511         (WebCore::SVGFilterElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGUnitType>::fromString(attr->value()).
512         * svg/SVGFilterElement.h:
513         * svg/SVGGradientElement.cpp:
514         (WebCore::SVGGradientElement::SVGGradientElement): Missing spread method default initialization: set it to 'pad' as per spec.
515         (WebCore::SVGGradientElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGUnitType/SVGSpreadMethodType>::fromString(attr->value()).
516         * svg/SVGGradientElement.h: Add SVGPropertyTraits<SVGSpreadMethodType> specializations.
517         * svg/SVGLinearGradientElement.cpp:
518         (WebCore::SVGLinearGradientElement::collectGradientAttributes): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
519         * svg/SVGMarkerElement.cpp:
520         (WebCore::SVGMarkerElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
521         (WebCore::SVGMarkerElement::synchronizeOrientType): Add a custom synchronization method, that handles orientType/orientAngle -> orientAttr synchronization, which is special
522                                                             as it depends on to other SVG DOM objects (SVGAnimatedAngle and SVGAnimatedEnumeration). All covered by new tests.
523         (WebCore::SVGMarkerElement::orientTypeAnimated): Custom tear off creation method, which would usually be generated by the DECLARE_ANIMATED_... macros.
524         * svg/SVGMarkerElement.h: Add SVGPropertyTraits<SVGMarkerUnitsType/SVGMarkerOrientType> specializations.
525         (WebCore::SVGMarkerElement::orientType): Add custom property handling for the 'orientType' SVGAnimatedEnumeration object, as it has special demands, based on 'orientAngle'.
526         (WebCore::SVGMarkerElement::orientTypeBaseValue): Ditto.
527         (WebCore::SVGMarkerElement::setOrientTypeBaseValue): Ditto.
528         * svg/SVGMaskElement.cpp:
529         (WebCore::SVGMaskElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
530         * svg/SVGMaskElement.h:
531         * svg/SVGPatternElement.cpp:
532         (WebCore::SVGPatternElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
533         * svg/SVGPatternElement.h:
534         * svg/SVGRadialGradientElement.cpp:
535         (WebCore::SVGRadialGradientElement::collectGradientAttributes): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
536         * svg/SVGTextContentElement.cpp:
537         (WebCore::SVGTextContentElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGLengthAdjustType>::fromString(attr->value()).
538         * svg/SVGTextContentElement.h: Add SVGPropertyTraits<SVGLengthAdjustType> specializations.
539         * svg/SVGTextPathElement.cpp:
540         (WebCore::SVGTextPathElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGTextPathMethodType/SVGTextPathSpacingType>::fromString(attr->value()).
541         * svg/SVGTextPathElement.h: Add SVGPropertyTraits<SVGTextPathMethodType/SVGTextPathSpacingType> specializations.
542         * svg/SVGUnitTypes.h: Add SVGPropertyTraits<SVGUnitType> specializations.
543         * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: Added. SVGAnimatedEnumerationPropertyTearOff inherits from SVGAnimatedStaticPropertyTearOff<int>.
544                                                                   SVGAnimatedEnumeration remains a typedef to SVGAnimatedStaticPropertyTearOff<int>, to have a common base
545                                                                   class for all enum types. This special tear off object, overrides setBaseVal, to verify the incoming int
546                                                                   is within the enum range, otherwhise raise an SVG DOM exception. This makes it impossible to make any of
547                                                                   the enums go out of range anymore (which lead to security bugs in the past).
548         (WebCore::SVGAnimatedEnumerationPropertyTearOff::setBaseVal):
549         (WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
550         (WebCore::SVGAnimatedEnumerationPropertyTearOff::SVGAnimatedEnumerationPropertyTearOff):
551         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
552         (WebCore::SVGAnimatedStaticPropertyTearOff::setBaseVal): Made this method virtual, to SVGAnimatedEnumerationPropertyTearOff can override the default behaviour. Also added an ExceptionCode param.
553         (WebCore::SVGAnimatedStaticPropertyTearOff::~SVGAnimatedStaticPropertyTearOff):
554
555 2011-05-18  Kinuko Yasuda  <kinuko@chromium.org>
556
557         Reviewed by David Levin.
558
559         Expose webkitStorageInfo.requestQuota() for Quota API if QUOTA flag is enabled
560         https://bugs.webkit.org/show_bug.cgi?id=59681
561
562         Test: storage/storageinfo-request-quota.html
563
564         * CMakeLists.txt:
565         * CodeGenerators.pri:
566         * DerivedSources.cpp:
567         * DerivedSources.make:
568         * GNUmakefile.am:
569         * GNUmakefile.list.am:
570         * WebCore.gypi:
571         * WebCore.vcproj/WebCore.vcproj:
572         * WebCore.xcodeproj/project.pbxproj:
573         * storage/StorageInfo.idl: Added requestQuota().
574         * storage/StorageInfoQuotaCallback.idl: Added.
575
576 2011-05-18  Renata Hodovan  <reni@webkit.org>
577
578         Reviewed by Nikolas Zimmermann.
579
580         Apply the ParallelJobs support to FEGaussianBlur
581         https://bugs.webkit.org/show_bug.cgi?id=61049
582
583         The Gaussian blur filter of SVG can consume lots of resources if it is
584         applied to a large area. The computation can be distributed to multiple
585         cores if the architecture supports.
586         The average performance progression is about 15% on dual-core machines.
587
588         Developed in cooperation with Gabor Loki and Zoltan Herczeg.
589
590
591         * platform/graphics/filters/FEGaussianBlur.cpp:
592         (WebCore::FEGaussianBlur::platformApplyWorker):
593         (WebCore::FEGaussianBlur::platformApply):
594         * platform/graphics/filters/FEGaussianBlur.h:
595
596 2011-05-18  Pavel Feldman  <pfeldman@google.com>
597
598         Reviewed by Yury Semikhatsky.
599
600         Web Inspector: make parentId for frame optional.
601         https://bugs.webkit.org/show_bug.cgi?id=61032
602
603         * inspector/Inspector.json:
604         * inspector/InspectorPageAgent.cpp:
605         (WebCore::InspectorPageAgent::buildObjectForFrame):
606         * inspector/front-end/ResourceTreeModel.js:
607         (WebInspector.ResourceTreeModel.prototype._addFrame):
608
609 2011-05-18  Gabor Loki  <loki@webkit.org>
610
611         Reviewed by Nikolas Zimmermann.
612
613         Apply the ParallelJobs support to FELighting
614         https://bugs.webkit.org/show_bug.cgi?id=61048
615
616         The lighting filter of SVG can consume lots of resources if it is
617         applied to a large area. The computation can be distributed to multiple
618         cores if the architecture supports.
619         The average performance progression is 10-20% on dual-core machines.
620
621         Developed in cooperation with Zoltan Herczeg.
622
623         * platform/graphics/filters/FELighting.cpp:
624         (WebCore::FELighting::platformApplyGenericPaint):
625         (WebCore::FELighting::platformApplyGenericWorker):
626         (WebCore::FELighting::platformApplyGeneric):
627         * platform/graphics/filters/FELighting.h:
628         * platform/graphics/filters/arm/FELightingNEON.cpp:
629         (WebCore::FELighting::platformApplyNeonWorker):
630         * platform/graphics/filters/arm/FELightingNEON.h:
631         (WebCore::FELighting::platformApplyNeon):
632
633 2011-05-18  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
634
635         Reviewed by Andreas Kling.
636
637         [Qt] Fix tst_QWebFrame::getSetStaticProperty() autotest
638         https://bugs.webkit.org/show_bug.cgi?id=60984
639
640         The code for converting objects to QVariantMap was causing exception,
641         that was "leaking" to the next evaluation. One situation was reading
642         the property 'localStorage' when we do not have a proper security
643         origin, which throws a SECURITY_ERR.
644
645         Now, we will simply not include on the QVariantMap those properties,
646         and make sure that we clean the exception if necessary.
647
648         * bridge/qt/qt_runtime.cpp:
649         (JSC::Bindings::convertValueToQVariantMap):
650         Extracted function that performs conversion from JSObject to a QVariantMap. This
651         functions makes sure that exception is clean after its execution.
652
653         (JSC::Bindings::convertValueToQVariant):
654         Use the previous function. Add a comment explaining the choice of distance value.
655
656 2011-05-18  Ilya Tikhonovsky  <loislo@chromium.org>
657
658         Reviewed by Yury Semikhatsky.
659
660         Web Inspector: scripts panel file selector element doesn't track keyboard events 
661         https://bugs.webkit.org/show_bug.cgi?id=61047
662
663         * inspector/front-end/ScriptsPanel.js:
664         (WebInspector.ScriptsPanel):
665
666 2011-05-16  Pavel Podivilov  <podivilov@chromium.org>
667
668         Reviewed by Yury Semikhatsky.
669
670         Web Inspector: refactoring: ScriptDebugListener::didParseSource has too many parameters.
671         https://bugs.webkit.org/show_bug.cgi?id=60900
672
673         * bindings/js/ScriptDebugServer.cpp:
674         (WebCore::ScriptDebugServer::dispatchDidParseSource):
675         * bindings/v8/ScriptDebugServer.cpp:
676         (WebCore::ScriptDebugServer::dispatchDidParseSource):
677         * inspector/InspectorDebuggerAgent.cpp:
678         (WebCore::InspectorDebuggerAgent::getScriptSource):
679         (WebCore::InspectorDebuggerAgent::didParseSource):
680         * inspector/InspectorDebuggerAgent.h:
681         * inspector/ScriptDebugListener.h:
682         (WebCore::ScriptDebugListener::Script::Script):
683
684 2011-05-18  Alexander Pavlov  <apavlov@chromium.org>
685
686         Reviewed by Pavel Feldman.
687
688         Web Inspector: model-based CSS editing does not update @import-ed stylesheet resources
689         https://bugs.webkit.org/show_bug.cgi?id=60966
690
691         Imported stylesheets didn't use to be returned by InspectorCSSAgent.
692
693         * inspector/InspectorCSSAgent.cpp:
694         (WebCore::InspectorCSSAgent::getAllStyleSheets):
695         (WebCore::InspectorCSSAgent::collectStyleSheets):
696         * inspector/InspectorCSSAgent.h:
697
698 2011-05-18  Pavel Feldman  <pfeldman@google.com>
699
700         Reviewed by Yury Semikhatsky.
701
702         Web Inspector: make "Id" suffixes use consistent case.
703         https://bugs.webkit.org/show_bug.cgi?id=61028
704
705         * inspector/InjectedScriptSource.js:
706         * inspector/Inspector.json:
707         * inspector/InspectorConsoleAgent.cpp:
708         (WebCore::InspectorConsoleAgent::addMessageToConsole):
709         * inspector/InspectorConsoleAgent.h:
710         * inspector/InspectorConsoleInstrumentation.h:
711         (WebCore::InspectorInstrumentation::addMessageToConsole):
712         * inspector/InspectorDebuggerAgent.cpp:
713         (WebCore::parseLocation):
714         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
715         (WebCore::InspectorDebuggerAgent::editScriptSource):
716         (WebCore::InspectorDebuggerAgent::getScriptSource):
717         (WebCore::InspectorDebuggerAgent::didParseSource):
718         * inspector/InspectorDebuggerAgent.h:
719         * inspector/InspectorInstrumentation.cpp:
720         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
721         * inspector/InspectorInstrumentation.h:
722         * inspector/InspectorResourceAgent.cpp:
723         (WebCore::buildObjectForResourceResponse):
724         * inspector/ScriptDebugListener.h:
725         * inspector/front-end/DebuggerModel.js:
726         (WebInspector.DebuggerModel.prototype.scriptForSourceID):
727         (WebInspector.DebuggerModel.prototype.queryScripts):
728         (WebInspector.DebuggerModel.prototype.editScriptSource):
729         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
730         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
731         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
732         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
733         * inspector/front-end/DebuggerPresentationModel.js:
734         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource):
735         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
736         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
737         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
738         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
739         (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
740         (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
741         (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
742         (WebInspector.PresenationCallFrame):
743         * inspector/front-end/NetworkManager.js:
744         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
745         * inspector/front-end/Script.js:
746         (WebInspector.Script):
747         (WebInspector.Script.prototype.requestSource):
748         (WebInspector.Script.prototype.editSource):
749         * inspector/front-end/SourceFile.js:
750         (WebInspector.SourceFile.prototype.forceLoadContent):
751         (WebInspector.SourceFile.prototype._concatenateScriptsContent):
752         (WebInspector.SourceMapping.prototype._sourceLocationToScriptLocation):
753         (WebInspector):
754
755 2011-05-18  Sheriff Bot  <webkit.review.bot@gmail.com>
756
757         Unreviewed, rolling out r86747.
758         http://trac.webkit.org/changeset/86747
759         https://bugs.webkit.org/show_bug.cgi?id=61039
760
761         Breaks JSC debugger tests. (Requested by pfeldman on #webkit).
762
763         * inspector/InjectedScriptSource.js:
764         ():
765         * inspector/Inspector.json:
766         * inspector/InspectorConsoleAgent.cpp:
767         (WebCore::InspectorConsoleAgent::addMessageToConsole):
768         * inspector/InspectorConsoleAgent.h:
769         * inspector/InspectorConsoleInstrumentation.h:
770         (WebCore::InspectorInstrumentation::addMessageToConsole):
771         * inspector/InspectorDebuggerAgent.cpp:
772         (WebCore::parseLocation):
773         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
774         (WebCore::InspectorDebuggerAgent::editScriptSource):
775         (WebCore::InspectorDebuggerAgent::getScriptSource):
776         (WebCore::InspectorDebuggerAgent::didParseSource):
777         * inspector/InspectorDebuggerAgent.h:
778         * inspector/InspectorInstrumentation.cpp:
779         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
780         * inspector/InspectorInstrumentation.h:
781         * inspector/InspectorResourceAgent.cpp:
782         (WebCore::buildObjectForResourceResponse):
783         * inspector/ScriptDebugListener.h:
784         * inspector/front-end/DebuggerModel.js:
785         (WebInspector.DebuggerModel.prototype.scriptForSourceID):
786         (WebInspector.DebuggerModel.prototype.queryScripts):
787         (WebInspector.DebuggerModel.prototype.editScriptSource):
788         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
789         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
790         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
791         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
792         * inspector/front-end/DebuggerPresentationModel.js:
793         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource):
794         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
795         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
796         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
797         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
798         (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
799         (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
800         (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
801         (WebInspector.PresenationCallFrame):
802         * inspector/front-end/NetworkManager.js:
803         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
804         * inspector/front-end/Script.js:
805         (WebInspector.Script):
806         (WebInspector.Script.prototype.requestSource):
807         (WebInspector.Script.prototype.editSource):
808         * inspector/front-end/SourceFile.js:
809         (WebInspector.SourceFile.prototype.forceLoadContent):
810         (WebInspector.SourceFile.prototype._concatenateScriptsContent):
811         (WebInspector.SourceMapping.prototype._sourceLocationToScriptLocation):
812         (WebInspector):
813
814 2011-05-18  Abhishek Arya  <inferno@chromium.org>
815
816         Reviewed by Dirk Schulze.
817
818         When SMIL element is getting removed, make sure to remove it
819         from target's animation elements list.
820         https://bugs.webkit.org/show_bug.cgi?id=60980
821
822         Test: svg/animations/smil-element-not-removed-crash.html
823
824         * svg/animation/SVGSMILElement.cpp:
825         (WebCore::SVGSMILElement::~SVGSMILElement):
826
827 2011-05-18  Pavel Feldman  <pfeldman@google.com>
828
829         Reviewed by Yury Semikhatsky.
830
831         Web Inspector: make "Id" suffixes use consistent case.
832         https://bugs.webkit.org/show_bug.cgi?id=61028
833
834         * inspector/InjectedScriptSource.js:
835         * inspector/Inspector.json:
836         * inspector/InspectorConsoleAgent.cpp:
837         (WebCore::InspectorConsoleAgent::addMessageToConsole):
838         * inspector/InspectorConsoleAgent.h:
839         * inspector/InspectorConsoleInstrumentation.h:
840         (WebCore::InspectorInstrumentation::addMessageToConsole):
841         * inspector/InspectorDebuggerAgent.cpp:
842         (WebCore::parseLocation):
843         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
844         (WebCore::InspectorDebuggerAgent::editScriptSource):
845         (WebCore::InspectorDebuggerAgent::getScriptSource):
846         (WebCore::InspectorDebuggerAgent::didParseSource):
847         * inspector/InspectorDebuggerAgent.h:
848         * inspector/InspectorInstrumentation.cpp:
849         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
850         * inspector/InspectorInstrumentation.h:
851         * inspector/InspectorResourceAgent.cpp:
852         (WebCore::buildObjectForResourceResponse):
853         * inspector/ScriptDebugListener.h:
854         * inspector/front-end/DebuggerModel.js:
855         (WebInspector.DebuggerModel.prototype.scriptForSourceID):
856         (WebInspector.DebuggerModel.prototype.queryScripts):
857         (WebInspector.DebuggerModel.prototype.editScriptSource):
858         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
859         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
860         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
861         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
862         * inspector/front-end/DebuggerPresentationModel.js:
863         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource):
864         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
865         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
866         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
867         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
868         (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
869         (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
870         (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
871         (WebInspector.PresenationCallFrame):
872         * inspector/front-end/NetworkManager.js:
873         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
874         * inspector/front-end/Script.js:
875         (WebInspector.Script):
876         (WebInspector.Script.prototype.requestSource):
877         (WebInspector.Script.prototype.editSource):
878         * inspector/front-end/SourceFile.js:
879         (WebInspector.SourceFile.prototype.forceLoadContent):
880         (WebInspector.SourceFile.prototype._concatenateScriptsContent):
881         (WebInspector.SourceMapping.prototype._sourceLocationToScriptLocation):
882         (WebInspector):
883
884 2011-05-18  Pavel Feldman  <pfeldman@google.com>
885
886         Reviewed by Yury Semikhatsky.
887
888         Web Inspector: do not reveal line -1 when navigating to anchor without line specified.
889         https://bugs.webkit.org/show_bug.cgi?id=60971
890
891         * inspector/front-end/ResourcesPanel.js:
892         (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
893         * inspector/front-end/ScriptsPanel.js:
894         (WebInspector.ScriptsPanel.prototype.showAnchorLocation.):
895         (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
896         * inspector/front-end/inspector.js:
897         (WebInspector._showAnchorLocation):
898
899 2011-05-18  Kent Tamura  <tkent@chromium.org>
900
901         Reviewed by Hajime Morita.
902
903         valueMissing validity for <select> is lame when selecting a value by a key operation
904         https://bugs.webkit.org/show_bug.cgi?id=61021
905
906         We missed updating validity in case that SelectElement::defaultEventHandler
907         update selections.  So, SelectElement::setSelectedIndex() updates validity.
908
909         * dom/SelectElement.cpp:
910         (WebCore::SelectElement::setSelectedIndex): Call SelectElement::updateValidity().
911         * html/HTMLSelectElement.cpp:
912         (WebCore::HTMLSelectElement::setSelectedIndex):
913           Remove unnecessary setNeedsValidityCheck() call.
914           SelectElement::setSlectedIndex() calls it.
915         (WebCore::HTMLSelectElement::setSelectedIndexByUser): ditto.
916
917 2011-05-17  Mikhail Naganov  <mnaganov@chromium.org>
918
919         Reviewed by Pavel Feldman.
920
921         Web Inspector: [Chromium] Enable detailed heap snapshots by default.
922         https://bugs.webkit.org/show_bug.cgi?id=60286
923
924         * inspector/front-end/ProfilesPanel.js:
925
926 2011-05-17  Mikhail Naganov  <mnaganov@chromium.org>
927
928         Reviewed by Pavel Feldman.
929
930         Web Inspector: [Chromium] Make retaining paths list of the Detailed
931         heap snapshots view resizable.
932         https://bugs.webkit.org/show_bug.cgi?id=60960
933
934         * inspector/front-end/DetailedHeapshotView.js:
935         (WebInspector.DetailedHeapshotView.prototype.resize):
936         (WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
937         (WebInspector.DetailedHeapshotView.prototype._retainersHeaderDragging):
938         (WebInspector.DetailedHeapshotView.prototype._endRetainersHeaderDragging):
939         (WebInspector.DetailedHeapshotView.prototype._updateRetainmentViewHeight):
940         * inspector/front-end/heapProfiler.css:
941
942 2011-05-16  Jeremy Noble  <jer.noble@apple.com>
943
944         Reviewed by Darin Adler.
945
946         Disable keyboard input (with exceptions) in full-screen mode.
947         https://bugs.webkit.org/show_bug.cgi?id=60943
948
949         Tests: fullscreen/full-screen-keyboard-disabled.html
950                fullscreen/full-screen-keyboard-enabled.html
951
952         * page/EventHandler.cpp:
953         (WebCore::EventHandler::isKeyEventAllowedInFullScreen): Added.  Implements the 
954             list of allowed keyboard events in the proposed API.
955         (WebCore::EventHandler::keyEvent): Discard events which are not allowed in
956             full-screen mode.
957         * page/EventHandler.h:
958
959 2011-05-17  Nikolas Zimmermann  <nzimmermann@rim.com>
960
961         Reviewed by Dirk Schulze.
962
963         Refactor TextRun creation
964         https://bugs.webkit.org/show_bug.cgi?id=60255
965
966         Add constructTextRun() methods to RenderBlock/InlineTextBox and use it in various places in rendering/.
967         The long-term goal is to remove the ugly eight parameters catch-it-all TextRun constructor, and
968         replace it with explicit setters/getters. To avoid expanding dozens of callsites, when removing
969         the catch-it-all constructor, these helper functions are introduced, which hide the details of
970         creating a TextRun.
971
972         Furthermore it will be used to remove the platform layering violation, that TextRun stores
973         RenderObject pointers for the sake of SVG Fonts support, see bug 60254.
974
975         No change in functionaliy, no new tests.
976
977         * rendering/EllipsisBox.cpp:
978         (WebCore::EllipsisBox::paint):
979         (WebCore::EllipsisBox::selectionRect):
980         (WebCore::EllipsisBox::paintSelection):
981         * rendering/InlineTextBox.cpp:
982         (WebCore::InlineTextBox::selectionRect):
983         (WebCore::InlineTextBox::paint):
984         (WebCore::InlineTextBox::paintSelection):
985         (WebCore::InlineTextBox::paintCompositionBackground):
986         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
987         (WebCore::InlineTextBox::paintTextMatchMarker):
988         (WebCore::InlineTextBox::computeRectForReplacementMarker):
989         (WebCore::InlineTextBox::offsetForPosition):
990         (WebCore::InlineTextBox::positionForOffset):
991         (WebCore::InlineTextBox::constructTextRun):
992         * rendering/InlineTextBox.h:
993         * rendering/RenderBlock.cpp:
994         (WebCore::RenderBlock::constructTextRunAllowTrailingExpansion):
995         * rendering/RenderBlock.h:
996         * rendering/RenderEmbeddedObject.cpp:
997         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
998         * rendering/RenderFileUploadControl.cpp:
999         (WebCore::RenderFileUploadControl::paintObject):
1000         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
1001         * rendering/RenderImage.cpp:
1002         (WebCore::RenderImage::setImageSizeForAltText):
1003         (WebCore::RenderImage::paintReplaced):
1004         * rendering/RenderListBox.cpp:
1005         (WebCore::RenderListBox::updateFromElement):
1006         * rendering/RenderTextControl.cpp:
1007         (WebCore::RenderTextControl::getAvgCharWidth):
1008
1009 2011-05-17  Jeremy Noble  <jer.noble@apple.com>
1010
1011         Reviewed by Darin Adler.
1012
1013         Removing a full-screen element or ancestor from the DOM should trigger exiting full-screen mode.
1014         https://bugs.webkit.org/show_bug.cgi?id=60997
1015
1016         Tests: fullscreen/full-screen-remove-ancestor.html
1017                fullscreen/full-screen-remove-children.html
1018                fullscreen/full-screen-remove.html
1019
1020         * dom/Document.cpp:
1021         (WebCore::Document::fullScreenChangeDelayTimerFired): If the target node was removed from the document
1022             make sure to message the documentElement() as well.
1023         (WebCore::Document::fullScreenElementRemoved): Cancel full screen mode.
1024
1025 2011-05-17  Yuta Kitamura  <yutak@chromium.org>
1026
1027         Reviewed by Kent Tamura.
1028
1029         WebSocket: Add CLOSING state
1030         https://bugs.webkit.org/show_bug.cgi?id=60878
1031
1032         No new tests are added because there is no change in functionality.
1033
1034         * platform/network/SocketStreamHandleBase.h:
1035         * websockets/WebSocket.h:
1036         * websockets/WebSocket.idl:
1037
1038 2011-05-16  MORITA Hajime  <morrita@google.com>
1039
1040         Reviewed by Dimitri Glazkov.
1041
1042         [Refactoring] ShadowContentElement should be part of dom/
1043         https://bugs.webkit.org/show_bug.cgi?id=59117
1044
1045         - Moved html/shadow/ShadowContentElement.h to dom/ShadowContentElement.h
1046         - Pulled ShadowContentElement up to a subclass of StyledElement, from HTMLDivElement
1047         - Added ShadowContentElement.cpp
1048         - Extracted ShadowContentSelector.{cpp,h} from ShadowRoot.{cpp,h}
1049         
1050         No new tests, no behavior change.
1051
1052         * CMakeLists.txt:
1053         * GNUmakefile.list.am:
1054         * WebCore.gypi:
1055         * WebCore.pro:
1056         * WebCore.vcproj/WebCore.vcproj:
1057         * WebCore.xcodeproj/project.pbxproj:
1058         * dom/DOMAllInOne.cpp: Added new ShadowContentSelector.cpp and ShadowContentElement.cpp.
1059         * dom/Node.h: 
1060         (WebCore::Node::forceReattach): Moved from static local function to share between classes.
1061         * dom/ShadowContentElement.cpp: Copied from Source/WebCore/html/shadow/ShadowContentElement.h.
1062         (WebCore::ShadowContentElement::attach):
1063         * dom/ShadowContentElement.h: Copied from Source/WebCore/html/shadow/ShadowContentElement.h.
1064         (WebCore::ShadowContentElement::ShadowContentElement):
1065         (WebCore::ShadowContentElement::isShadowBoundary):
1066         (WebCore::ShadowContentElement::rendererIsNeeded):
1067         (WebCore::ShadowContentElement::createRenderer):
1068         * dom/ShadowContentSelector.cpp: Copied from Source/WebCore/html/shadow/ShadowContentElement.h.
1069         (WebCore::ShadowContentSelector::ShadowContentSelector):
1070         (WebCore::ShadowContentSelector::~ShadowContentSelector):
1071         (WebCore::ShadowContentSelector::attachChildrenFor):
1072         * dom/ShadowContentSelector.h: Renamed from Source/WebCore/html/shadow/ShadowContentElement.h.
1073         (WebCore::ShadowContentSelector::shadowRoot):
1074         (WebCore::ShadowContentSelector::activeElement):
1075         (WebCore::ShadowContentSelector::currentInstance):
1076         * dom/ShadowRoot.cpp:
1077         (WebCore::ShadowRoot::recalcStyle):
1078         * html/HTMLDetailsElement.cpp:
1079         (WebCore::DetailsContentElement::DetailsContentElement):
1080         (WebCore::DetailsSummaryElement::DetailsSummaryElement):
1081         * html/HTMLSummaryElement.cpp:
1082         (WebCore::SummaryContentElement::SummaryContentElement):
1083
1084 2011-05-17  Cris Neckar  <cdn@chromium.org>
1085
1086         Reviewed by Adam Barth.
1087
1088         Clear the image from ImageLoader rather than clearing the ImageLoader in HTMLObjectElement::renderFallbackContent.
1089         https://bugs.webkit.org/show_bug.cgi?id=61005
1090
1091         Test: http/tests/loading/nested_bad_objects.php
1092
1093         * html/HTMLObjectElement.cpp:
1094         (WebCore::HTMLObjectElement::renderFallbackContent):
1095
1096 2011-05-17  Chris Rogers  <crogers@google.com>
1097
1098         Reviewed by Kenneth Russell.
1099
1100         Make sure that AudioNode gets re-enabled after having been disconnected and re-connected.
1101         https://bugs.webkit.org/show_bug.cgi?id=60995
1102
1103         No new tests since audio API is not yet implemented.
1104
1105         * webaudio/AudioNode.cpp:
1106         (WebCore::AudioNode::ref):
1107
1108 2011-05-17  Brady Eidson  <beidson@apple.com>
1109
1110         Reviewed by Darin Adler.
1111
1112         <rdar://problem/9366728> and https://webkit.org/b/60796
1113         Crash when code inside a ResourceLoadDelegate method calls [WebView stopLoading:]
1114
1115         Break up ResourceLoader::didCancel() into willCancel() and didCancel(), and making them pure virtual.
1116         This change has the following benefits:
1117           - Managing ResourceLoader state can be in the base class; Subclasses no longer need to protect
1118             themselves, check these variables as often, or ASSERT them.
1119           - ResourceLoader subclasses no longer have to call the base class ::didCancel
1120           - ResourceLoader::cancel becomes more capable of handling reentrancy with the design that the 
1121             cancellation is completed inside the last call.
1122
1123         No new tests - No change in behavior for previous tests, and new test would require API usage outside
1124         the scope of DumpRenderTree.
1125
1126         * loader/ResourceLoader.cpp:
1127         (WebCore::ResourceLoader::ResourceLoader):
1128         (WebCore::ResourceLoader::cancel): Moved from ResourceLoader::didCancel, and does all of that same work
1129           except it interposes calls to "willCancel" and "didCancel" as required to maintain the same behavior.
1130         * loader/ResourceLoader.h: Added pure virtual didCancel() and willCancel().
1131
1132         Split-up into willCancel() and didCancel(), based on when the base class didCancel() used to be called:
1133         * loader/MainResourceLoader.cpp:
1134         (WebCore::MainResourceLoader::willCancel):
1135         (WebCore::MainResourceLoader::didCancel):
1136         * loader/MainResourceLoader.h:
1137
1138         Split-up into willCancel() and didCancel(), based on when the "reached terminal state" flag used to be checked:
1139         * loader/NetscapePlugInStreamLoader.cpp:
1140         (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): Call the entry point cancel() instead of the old didCancel()
1141         (WebCore::NetscapePlugInStreamLoader::willCancel):
1142         (WebCore::NetscapePlugInStreamLoader::didCancel):
1143         * loader/NetscapePlugInStreamLoader.h:
1144
1145         Split-up into willCancel() and didCancel(), based on when the "reached terminal state" flag used to be checked:
1146         * loader/SubresourceLoader.cpp:
1147         (WebCore::SubresourceLoader::willCancel):
1148         (WebCore::SubresourceLoader::didCancel):
1149         * loader/SubresourceLoader.h:
1150
1151 2011-05-17  Nat Duca  <nduca@chromium.org>
1152
1153         Reviewed by James Robinson.
1154
1155         [chromium] Always set layerRenderer, even on non-drawn-layers
1156         https://bugs.webkit.org/show_bug.cgi?id=60977
1157
1158         This is a defensive fixe for crbug.com/82799, in which
1159         a RenderLayer could not prepare itself because its owning layerImpl
1160         had no associated layerRenderer. The underlying issue is that we
1161         sometimes put renderSurfaces onto the list that won't actually render.
1162         For now, the priority is to reduce fragility so that invisible layers
1163         dont lead to crashers. We do this by being more agressive about 
1164         binding CCLayerImpls to the LayerRenderer, doing it all the time rather
1165         than only when we think it will get rendered.
1166
1167         * platform/graphics/chromium/LayerRendererChromium.cpp:
1168         (WebCore::LayerRendererChromium::paintLayerContents):
1169
1170 2011-05-17  Anders Carlsson  <andersca@apple.com>
1171
1172         Fix the clang build.
1173
1174         * rendering/RenderText.h:
1175         (WebCore::RenderText::nodeAtPoint):
1176         nodeAtPoint should take a const IntPoint reference.
1177
1178 2011-05-17  Erik Arvidsson  <arv@chromium.org>
1179
1180         Reviewed by Ryosuke Niwa.
1181
1182         document.activeElement doesn't point to the focused frame
1183         https://bugs.webkit.org/show_bug.cgi?id=49509
1184
1185         This makes us match IE and Firefox and there is an ongoing WHATWG discussion to make the spec match this.
1186
1187         Test: fast/dom/HTMLDocument/active-element-frames.html
1188
1189         * html/HTMLDocument.cpp:
1190         (WebCore::HTMLDocument::activeElement): Walk up the frame tree from the focusedFrame to find the active frame if any.
1191
1192 2011-05-17  Emil A Eklund  <eae@chromium.org>
1193
1194         Reviewed by Eric Seidel.
1195
1196         Change nodeAtPoint to take IntPoint instead of int x, int y
1197         https://bugs.webkit.org/show_bug.cgi?id=60663
1198
1199         Change nodeAtPoint to take a single const IntPoint& instead of a pair of
1200         ints for the location.
1201
1202         Covered by existing tests.
1203
1204         * platform/graphics/FloatPoint.h:
1205         (WebCore::flooredIntPoint):
1206         * rendering/EllipsisBox.cpp:
1207         (WebCore::EllipsisBox::nodeAtPoint):
1208         * rendering/EllipsisBox.h:
1209         * rendering/InlineBox.cpp:
1210         (WebCore::InlineBox::nodeAtPoint):
1211         * rendering/InlineBox.h:
1212         * rendering/InlineFlowBox.cpp:
1213         (WebCore::InlineFlowBox::nodeAtPoint):
1214         * rendering/InlineFlowBox.h:
1215         * rendering/InlineTextBox.cpp:
1216         (WebCore::InlineTextBox::nodeAtPoint):
1217         * rendering/InlineTextBox.h:
1218         * rendering/RenderBlock.cpp:
1219         (WebCore::RenderBlock::nodeAtPoint):
1220         (WebCore::RenderBlock::hitTestContents):
1221         * rendering/RenderBlock.h:
1222         * rendering/RenderBox.cpp:
1223         (WebCore::RenderBox::nodeAtPoint):
1224         * rendering/RenderBox.h:
1225         * rendering/RenderFrameSet.cpp:
1226         (WebCore::RenderFrameSet::nodeAtPoint):
1227         * rendering/RenderFrameSet.h:
1228         * rendering/RenderImage.cpp:
1229         (WebCore::RenderImage::nodeAtPoint):
1230         * rendering/RenderImage.h:
1231         * rendering/RenderInline.cpp:
1232         (WebCore::RenderInline::nodeAtPoint):
1233         * rendering/RenderInline.h:
1234         * rendering/RenderLineBoxList.cpp:
1235         (WebCore::RenderLineBoxList::hitTest):
1236         * rendering/RenderListBox.cpp:
1237         (WebCore::RenderListBox::nodeAtPoint):
1238         * rendering/RenderListBox.h:
1239         * rendering/RenderObject.cpp:
1240         (WebCore::RenderObject::hitTest):
1241         (WebCore::RenderObject::nodeAtPoint):
1242         * rendering/RenderObject.h:
1243         * rendering/RenderTable.cpp:
1244         (WebCore::RenderTable::nodeAtPoint):
1245         * rendering/RenderTable.h:
1246         * rendering/RenderTableRow.cpp:
1247         (WebCore::RenderTableRow::nodeAtPoint):
1248         * rendering/RenderTableRow.h:
1249         * rendering/RenderTableSection.cpp:
1250         (WebCore::RenderTableSection::nodeAtPoint):
1251         * rendering/RenderTableSection.h:
1252         * rendering/RenderText.h:
1253         (WebCore::RenderText::nodeAtPoint):
1254         * rendering/RenderTextControlMultiLine.cpp:
1255         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
1256         * rendering/RenderTextControlMultiLine.h:
1257         * rendering/RenderTextControlSingleLine.cpp:
1258         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
1259         * rendering/RenderTextControlSingleLine.h:
1260         * rendering/RenderWidget.cpp:
1261         (WebCore::RenderWidget::nodeAtPoint):
1262         * rendering/RenderWidget.h:
1263         * rendering/RootInlineBox.cpp:
1264         (WebCore::RootInlineBox::nodeAtPoint):
1265         * rendering/RootInlineBox.h:
1266         * rendering/svg/RenderSVGForeignObject.cpp:
1267         (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
1268         (WebCore::RenderSVGForeignObject::nodeAtPoint):
1269         * rendering/svg/RenderSVGForeignObject.h:
1270         * rendering/svg/RenderSVGModelObject.cpp:
1271         (WebCore::RenderSVGModelObject::nodeAtPoint):
1272         * rendering/svg/RenderSVGModelObject.h:
1273         * rendering/svg/RenderSVGRoot.cpp:
1274         (WebCore::RenderSVGRoot::nodeAtPoint):
1275         * rendering/svg/RenderSVGRoot.h:
1276         * rendering/svg/RenderSVGText.cpp:
1277         (WebCore::RenderSVGText::nodeAtFloatPoint):
1278         (WebCore::RenderSVGText::nodeAtPoint):
1279         * rendering/svg/RenderSVGText.h:
1280
1281 2011-05-17  Andrew Wilson  <atwilson@chromium.org>
1282
1283         Unreviewed, rolling out r86647.
1284         http://trac.webkit.org/changeset/86647
1285         https://bugs.webkit.org/show_bug.cgi?id=56814
1286
1287         Broke tests downstream in Chromium
1288
1289         * dom/DocumentMarker.h:
1290         (WebCore::DocumentMarker::operator==):
1291         (WebCore::DocumentMarker::operator!=):
1292         * dom/DocumentMarkerController.cpp:
1293         (WebCore::DocumentMarkerController::addMarker):
1294         (WebCore::DocumentMarkerController::copyMarkers):
1295         (WebCore::DocumentMarkerController::removeMarkers):
1296         (WebCore::DocumentMarkerController::markerContainingPoint):
1297         (WebCore::DocumentMarkerController::markersInRange):
1298         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
1299         (WebCore::DocumentMarkerController::removeMarkersFromList):
1300         (WebCore::DocumentMarkerController::repaintMarkers):
1301         (WebCore::DocumentMarkerController::shiftMarkers):
1302         (WebCore::DocumentMarkerController::setMarkersActive):
1303         (WebCore::DocumentMarkerController::hasMarkers):
1304         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
1305         (WebCore::DocumentMarkerController::showMarkers):
1306         * dom/DocumentMarkerController.h:
1307         * editing/CompositeEditCommand.cpp:
1308         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
1309         * editing/DeleteSelectionCommand.cpp:
1310         (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
1311         * editing/Editor.cpp:
1312         (WebCore::Editor::selectionStartHasMarkerFor):
1313         * editing/SpellingCorrectionController.cpp:
1314         (WebCore::SpellingCorrectionController::respondToChangedSelection):
1315         * editing/SpellingCorrectionController.h:
1316         (WebCore::SpellingCorrectionController::shouldStartTimerFor):
1317         * rendering/HitTestResult.cpp:
1318         (WebCore::HitTestResult::spellingToolTip):
1319         (WebCore::HitTestResult::replacedString):
1320         * rendering/InlineTextBox.cpp:
1321         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1322         (WebCore::InlineTextBox::paintTextMatchMarker):
1323         (WebCore::InlineTextBox::computeRectForReplacementMarker):
1324         (WebCore::InlineTextBox::paintDocumentMarkers):
1325         * rendering/svg/SVGInlineFlowBox.cpp:
1326         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
1327
1328 2011-05-17  Andrew Wilson  <atwilson@chromium.org>
1329
1330         Unreviewed, rolling out r86656.
1331         http://trac.webkit.org/changeset/86656
1332
1333         Broke tests downstream in Chromium
1334
1335         * editing/SpellingCorrectionController.cpp:
1336         (WebCore::markersHaveIdenticalDescription):
1337         (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
1338         (WebCore::SpellingCorrectionController::processMarkersOnTextToBeReplacedByResult):
1339
1340 2011-05-17  Yufeng Shen  <miletus@chromium.org>
1341
1342         Reviewed by Darin Fisher.
1343
1344         Make WebKit expose extra touch information
1345         https://bugs.webkit.org/show_bug.cgi?id=59030
1346
1347         * dom/Document.cpp:
1348         (WebCore::Document::createTouch):
1349         * dom/Document.h:
1350         * dom/Document.idl:
1351         * dom/Touch.cpp:
1352         (WebCore::Touch::Touch):
1353         * dom/Touch.h:
1354         (WebCore::Touch::create):
1355         (WebCore::Touch::webkitRadiusX):
1356         (WebCore::Touch::webkitRadiusY):
1357         (WebCore::Touch::webkitRotationAngle):
1358         * dom/Touch.idl:
1359         * page/EventHandler.cpp:
1360         (WebCore::EventHandler::handleTouchEvent):
1361         * platform/PlatformTouchPoint.h:
1362         (WebCore::PlatformTouchPoint::radiusX):
1363         (WebCore::PlatformTouchPoint::radiusY):
1364         (WebCore::PlatformTouchPoint::rotationAngle):
1365
1366 2011-05-17  Eric Seidel  <eric@webkit.org>
1367
1368         Reviewed by Ryosuke Niwa.
1369
1370         Add a LineLayoutState object to hold global state during line layout
1371         https://bugs.webkit.org/show_bug.cgi?id=60113
1372
1373         Like LayoutState for layout(), LineLayoutState keeps track of global information
1374         during an entire linebox tree layout pass (aka layoutInlineChildren).
1375
1376         For now it just holds isFullLayout and the logicalRepaintTop/Bottom.
1377         It's possible we should hold the useRepaintBounds bool as well as
1378         the startLine and endLine RootInlineBox pointers.
1379
1380         No change in behavior, thus no tests.
1381
1382         * rendering/RenderBlock.cpp:
1383         (WebCore::RenderBlock::layoutBlock):
1384         * rendering/RenderBlock.h:
1385         * rendering/RenderBlockLineLayout.cpp:
1386         (WebCore::LineLayoutState::LineLayoutState):
1387         (WebCore::LineLayoutState::markForFullLayout):
1388         (WebCore::LineLayoutState::isFullLayout):
1389         (WebCore::LineLayoutState::setRepaintRange):
1390         (WebCore::LineLayoutState::updateRepaintRangeFromBox):
1391         (WebCore::LineLayoutState::startLine):
1392         (WebCore::LineLayoutState::endLine):
1393         (WebCore::deleteLineRange):
1394         (WebCore::RenderBlock::layoutRunsAndFloats):
1395         (WebCore::RenderBlock::layoutInlineChildren):
1396         (WebCore::RenderBlock::checkFloatsInCleanLine):
1397         (WebCore::RenderBlock::determineStartPosition):
1398         (WebCore::RenderBlock::determineEndPosition):
1399         (WebCore::RenderBlock::matchedEndLine):
1400
1401 2011-05-17  Andreas Kling  <kling@webkit.org>
1402
1403         Reviewed by Kenneth Rohde Christiansen.
1404
1405         Area element doesn't update region when dynamically altered.
1406         https://bugs.webkit.org/show_bug.cgi?id=54636
1407
1408         Recompute the clickable region after the "shape" or "coords" attribute
1409         of an area element is changed.
1410
1411         Test: fast/images/imagemap-dynamic-area-updates.html
1412
1413         * html/HTMLAreaElement.cpp:
1414         (WebCore::HTMLAreaElement::parseMappedAttribute):
1415         (WebCore::HTMLAreaElement::invalidateCachedRegion):
1416         * html/HTMLAreaElement.h:
1417
1418 2011-05-09  Luiz Agostini  <luiz.agostini@openbossa.org>
1419
1420         Reviewed by Kenneth Rohde Christiansen.
1421
1422         [Qt] Redirection of HTTP POST (3xx) incorrectly includes original POST data
1423         https://bugs.webkit.org/show_bug.cgi?id=60440
1424
1425         Makes sure that the HTTP headers Content-type and Content-length are not included in
1426         the requests that do not have any content.
1427
1428         Tests: http/tests/navigation/post-301-response.html
1429                http/tests/navigation/post-302-response.html
1430                http/tests/navigation/post-303-response.html
1431                http/tests/navigation/post-307-response.html
1432
1433         * platform/network/qt/QNetworkReplyHandler.cpp:
1434         (WebCore::QNetworkReplyHandler::sendNetworkRequest):
1435
1436 2011-05-17  Andreas Kling  <kling@webkit.org>
1437
1438         Reviewed by Benjamin Poulain.
1439
1440         [Qt] GraphicsLayerQtImpl: Remove an unused variable.
1441
1442         * platform/graphics/qt/GraphicsLayerQt.cpp:
1443         (WebCore::GraphicsLayerQtImpl::paint):
1444
1445 2011-05-17  Pavel Feldman  <pfeldman@google.com>
1446
1447         Reviewed by Yury Semikhatsky.
1448
1449         Web Inspector: navigating from elements panel does not show source view.
1450         https://bugs.webkit.org/show_bug.cgi?id=60970
1451
1452         * inspector/front-end/TextViewer.js:
1453         (WebInspector.TextViewer.prototype.highlightLine):
1454         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
1455
1456 2011-05-17  Sam Magnuson  <smagnuson@netflix.com>
1457
1458         Reviewed by Kenneth Rohde Christiansen.
1459
1460         [Qt] Node that have both an opacity and a transform animation on them seem not to fire.
1461         https://bugs.webkit.org/show_bug.cgi?id=40841
1462
1463         Test: compositing/animation/busy-indicator.html
1464
1465         * platform/graphics/qt/GraphicsLayerQt.cpp:
1466         (WebCore::GraphicsLayerQtImpl::recache):
1467         (WebCore::GraphicsLayerQtImpl::flushChanges):
1468         (WebCore::GraphicsLayerQt::setContentsToImage):
1469         (WebCore::TransformAnimationQt::getAnimatedProperty):
1470         (WebCore::OpacityAnimationQt::getAnimatedProperty):
1471         (WebCore::GraphicsLayerQt::addAnimation):
1472
1473 2011-05-17  Grace Kloba  <klobag@chromium.org>
1474
1475         Reviewed by Kenneth Russell.
1476
1477         GraphicsContext3DSkia needs to honor the platform Sk_x_SHIFT value instead of assuming BGRA color
1478         https://bugs.webkit.org/show_bug.cgi?id=60965
1479
1480         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
1481         (WebCore::GraphicsContext3D::getImageData):
1482
1483 2011-05-17  Alexander Pavlov  <apavlov@chromium.org>
1484
1485         Reviewed by Yury Semikhatsky.
1486
1487         Web Inspector: Enter/Tab after editing a CSS property does not invoke editor on next field
1488         https://bugs.webkit.org/show_bug.cgi?id=60962
1489
1490         * inspector/front-end/ElementsPanel.js:
1491         (WebInspector.ElementsPanel.prototype.updateStyles):
1492
1493 2011-05-17  Sheriff Bot  <webkit.review.bot@gmail.com>
1494
1495         Unreviewed, rolling out r86660.
1496         http://trac.webkit.org/changeset/86660
1497         https://bugs.webkit.org/show_bug.cgi?id=60958
1498
1499         broke search in console panel (Requested by podivilov on
1500         #webkit).
1501
1502         * inspector/front-end/ConsoleView.js:
1503         (WebInspector.ConsoleView.prototype.show):
1504         (WebInspector.ConsoleView.prototype.afterShow):
1505         (WebInspector.ConsoleView.prototype.hide):
1506         (WebInspector.ConsoleView.prototype.addMessage):
1507         (WebInspector.ConsoleView.prototype.clearMessages):
1508         * inspector/front-end/DebuggerPresentationModel.js:
1509         (WebInspector.DebuggerPresentationModel):
1510         * inspector/front-end/Drawer.js:
1511         (WebInspector.Drawer.prototype.set visibleView):
1512         (WebInspector.Drawer.prototype.show.animationFinished):
1513         (WebInspector.Drawer.prototype.show):
1514         * inspector/front-end/Panel.js:
1515         (WebInspector.Panel):
1516         * inspector/front-end/ResourceTreeModel.js:
1517         (WebInspector.ResourceTreeModel):
1518         * inspector/front-end/inspector.html:
1519         * inspector/front-end/inspector.js:
1520         (WebInspector._createPanels):
1521
1522 2011-05-17  Alexis Menard  <alexis.menard@openbossa.org>
1523
1524         Unreviewed warning fix introduced by r86377.
1525
1526         * rendering/RenderFieldset.cpp:
1527         (WebCore::RenderFieldset::paintMask):
1528
1529 2011-05-17  Yuta Kitamura  <yutak@chromium.org>
1530
1531         Reviewed by Kent Tamura.
1532
1533         WebSocket: Uninline methods in ThreadableWebSocketChannelClientWrapper
1534         https://bugs.webkit.org/show_bug.cgi?id=60945
1535
1536         Add ThreadableWebSocketChannelClientWrapper.cpp. Uninline methods in this class and
1537         move these definitions into .cpp in order to allow further modifications in this class.
1538
1539         No new tests, as this is just refactoring.
1540
1541         * CMakeLists.txt:
1542         * GNUmakefile.list.am:
1543         * WebCore.gypi:
1544         * WebCore.pro:
1545         * WebCore.vcproj/WebCore.vcproj:
1546         * WebCore.xcodeproj/project.pbxproj:
1547         * websockets/ThreadableWebSocketChannelClientWrapper.cpp: Added.
1548         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
1549         (WebCore::ThreadableWebSocketChannelClientWrapper::create):
1550         (WebCore::ThreadableWebSocketChannelClientWrapper::clearSyncMethodDone):
1551         (WebCore::ThreadableWebSocketChannelClientWrapper::setSyncMethodDone):
1552         (WebCore::ThreadableWebSocketChannelClientWrapper::syncMethodDone):
1553         (WebCore::ThreadableWebSocketChannelClientWrapper::sent):
1554         (WebCore::ThreadableWebSocketChannelClientWrapper::setSent):
1555         (WebCore::ThreadableWebSocketChannelClientWrapper::bufferedAmount):
1556         (WebCore::ThreadableWebSocketChannelClientWrapper::setBufferedAmount):
1557         (WebCore::ThreadableWebSocketChannelClientWrapper::clearClient):
1558         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
1559         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
1560         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
1561         (WebCore::ThreadableWebSocketChannelClientWrapper::suspend):
1562         (WebCore::ThreadableWebSocketChannelClientWrapper::resume):
1563         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingEvents):
1564         * websockets/ThreadableWebSocketChannelClientWrapper.h:
1565
1566 2011-05-17  Andreas Kling  <andreas.kling@nokia.com>
1567
1568         Reviewed by Kenneth Rohde Christiansen.
1569
1570         [Qt] Support shadowed text in fast font path.
1571         https://bugs.webkit.org/show_bug.cgi?id=60462
1572
1573         * platform/graphics/Font.cpp:
1574         (WebCore::Font::drawText): Remove complex path shortcut for shadowed text.
1575
1576         * platform/graphics/qt/FontQt.cpp:
1577         (WebCore::Font::drawGlyphs): Paint shadows for simple text.
1578
1579 2011-05-17  Andreas Kling  <kling@webkit.org>
1580
1581         Reviewed by Kenneth Rohde Christiansen.
1582
1583         [Qt] Construct GraphicsLayerQtImpl::State with correct values.
1584         https://bugs.webkit.org/show_bug.cgi?id=60902
1585
1586         The GraphicsLayerQtImpl initial state should match the initial values
1587         of the corresponding GraphicsLayer flags.
1588
1589         * platform/graphics/qt/GraphicsLayerQt.cpp:
1590         (WebCore::GraphicsLayerQtImpl::State::State):
1591
1592 2011-05-12  Hans Wennborg  <hans@chromium.org>
1593
1594         Reviewed by Steve Block.
1595
1596         IndexedDB: Index population should ignore records without key for index
1597         https://bugs.webkit.org/show_bug.cgi?id=60697
1598
1599         When populating a new index, records which do not have a key on the
1600         index's key path should be ignored.
1601
1602         * storage/IDBObjectStoreBackendImpl.cpp:
1603
1604 2011-05-17  Young Han Lee  <joybro@company100.net>
1605
1606         Reviewed by Csaba Osztrogonác.
1607
1608         [Texmap][Qt] Enable strict PassOwnPtr for Qt with texmap enabled.
1609         https://bugs.webkit.org/show_bug.cgi?id=60947
1610
1611         No new tests. Build fix.
1612
1613         * platform/graphics/qt/TextureMapperQt.cpp:
1614         (WebCore::TextureMapper::create):
1615         * platform/graphics/qt/TextureMapperQt.h:
1616         (WebCore::TextureMapperQt::create):
1617         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1618         (WebCore::GraphicsLayer::create):
1619
1620 2011-05-17  Alexander Pavlov  <apavlov@chromium.org>
1621
1622         Reviewed by Yury Semikhatsky.
1623
1624         Web Inspector: Increment/decrement of very big CSS numeric values results in invalid CSS
1625         https://bugs.webkit.org/show_bug.cgi?id=60890
1626
1627         * inspector/front-end/MetricsSidebarPane.js:
1628         (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
1629         * inspector/front-end/StylesSidebarPane.js:
1630         (WebInspector.StylesSidebarPane.alteredFloatNumber):
1631         (WebInspector.StylePropertyTreeElement.prototype):
1632
1633 2011-05-17  Pavel Podivilov  <podivilov@chromium.org>
1634
1635         Reviewed by Yury Semikhatsky.
1636
1637         Web Inspector: merge ConsoleView into ConsolePanel.
1638         https://bugs.webkit.org/show_bug.cgi?id=54670
1639
1640         Console view in drawer looks exactly the same as console panel. Merging ConsoleView and ConsolePanel together
1641         will allow us to reuse panel's functionality (e.g. resizable sidebar) even when console is docked.
1642
1643         * inspector/front-end/ConsoleView.js:
1644         (WebInspector.ConsolePanel.prototype.get toolbarItemLabel):
1645         (WebInspector.ConsolePanel.prototype.show):
1646         (WebInspector.ConsolePanel.prototype.hide):
1647         (WebInspector.ConsolePanel.prototype.showInDrawer):
1648         (WebInspector.ConsolePanel.prototype.afterShowInDrawer):
1649         (WebInspector.ConsolePanel.prototype.hideInDrawer):
1650         (WebInspector.ConsolePanel.prototype.addMessage):
1651         (WebInspector.ConsolePanel.prototype.clearMessages):
1652         * inspector/front-end/DebuggerPresentationModel.js:
1653         (WebInspector.DebuggerPresentationModel):
1654         * inspector/front-end/Drawer.js:
1655         (WebInspector.Drawer.prototype.set visibleView):
1656         (WebInspector.Drawer.prototype.show.animationFinished):
1657         (WebInspector.Drawer.prototype.show):
1658         * inspector/front-end/Panel.js:
1659         (WebInspector.Panel):
1660         * inspector/front-end/ResourceTreeModel.js:
1661         (WebInspector.ResourceTreeModel):
1662         * inspector/front-end/inspector.html:
1663         * inspector/front-end/inspector.js:
1664         (WebInspector._createPanels):
1665
1666 2011-05-16  Yuta Kitamura  <yutak@chromium.org>
1667
1668         Reviewed by Kent Tamura.
1669
1670         WebSocket: WebSocketHandshake prints a carriage return to console
1671         https://bugs.webkit.org/show_bug.cgi?id=60880
1672
1673         * websockets/WebSocketHandshake.cpp:
1674         (WebCore::WebSocketHandshake::readStatusLine):
1675         WebSocketHandshake should not print a carriage return to console. To fix this,
1676         we first check whether the status line ends with CRLF. After that,
1677         we can print the first (lineLength - 2) characters of the status line
1678         which do not contain a carriage return.
1679
1680 2011-05-16  MORITA Hajime  <morrita@google.com>
1681
1682         Unreviewed build fix for r86647, which broke SUPPORT_AUTOCORRECTION_PANEL.
1683
1684         * editing/SpellingCorrectionController.cpp:
1685         (WebCore::markersHaveIdenticalDescription):
1686         (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
1687         (WebCore::SpellingCorrectionController::processMarkersOnTextToBeReplacedByResult):
1688
1689 2011-05-16  Kent Tamura  <tkent@chromium.org>
1690
1691         Fix Leopard build.
1692
1693         * html/HTMLInputElement.cpp:
1694         (WebCore::HTMLInputElement::stepUpFromRenderer): Use double instead of int.
1695
1696 2011-05-16  James Robinson  <jamesr@chromium.org>
1697
1698         Reviewed by Kenneth Russell.
1699
1700         [chromium] Decouple LayerChromium/CCLayerImpl trees
1701         https://bugs.webkit.org/show_bug.cgi?id=58830
1702
1703         Makes the CCLayerImpl tree self-hosting and provides an explicit step
1704         to synchronize the LayerChromium tree to the CCLayerImpl tree.
1705         Tested by compositing/ layout tests and by unit tests in WebKit/chromium.
1706
1707         * WebCore.gypi:
1708         * platform/graphics/chromium/CanvasLayerChromium.cpp:
1709         (WebCore::CanvasLayerChromium::createCCLayerImpl):
1710         * platform/graphics/chromium/LayerChromium.cpp:
1711         (WebCore::LayerChromium::LayerChromium):
1712         (WebCore::LayerChromium::~LayerChromium):
1713         (WebCore::LayerChromium::cleanupResources):
1714         (WebCore::LayerChromium::dumpLayer):
1715         (WebCore::LayerChromium::dumpLayerProperties):
1716         (WebCore::LayerChromium::createCCLayerImpl):
1717         (WebCore::LayerChromium::ccLayerImpl):
1718         * platform/graphics/chromium/LayerChromium.h:
1719         (WebCore::LayerChromium::id):
1720         (WebCore::LayerChromium::setCCLayerImpl):
1721         * platform/graphics/chromium/LayerRendererChromium.cpp:
1722         (WebCore::LayerRendererChromium::updateAndDrawLayers):
1723         (WebCore::LayerRendererChromium::updateLayers):
1724         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
1725         (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive):
1726         * platform/graphics/chromium/LayerRendererChromium.h:
1727         * platform/graphics/chromium/PluginLayerChromium.cpp:
1728         (WebCore::PluginLayerChromium::createCCLayerImpl):
1729         * platform/graphics/chromium/TreeSynchronizer.cpp: Added.
1730         (WebCore::TreeSynchronizer::addCCLayerImplsToMapRecursive):
1731         (WebCore::TreeSynchronizer::synchronizeTreeRecursive):
1732         (WebCore::TreeSynchronizer::synchronizeTrees):
1733         * platform/graphics/chromium/TreeSynchronizer.h:
1734         * platform/graphics/chromium/VideoLayerChromium.cpp:
1735         (WebCore::VideoLayerChromium::createCCLayerImpl):
1736         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
1737         (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl):
1738         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
1739         (WebCore::CCCanvasLayerImpl::create):
1740         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1741         (WebCore::CCLayerImpl::CCLayerImpl):
1742         (WebCore::CCLayerImpl::addChild):
1743         (WebCore::CCLayerImpl::removeFromParent):
1744         (WebCore::CCLayerImpl::removeAllChildren):
1745         (WebCore::CCLayerImpl::clearChildList):
1746         (WebCore::CCLayerImpl::descendantsDrawsContent):
1747         (WebCore::CCLayerImpl::drawsContent):
1748         (WebCore::CCLayerImpl::updateCompositorResources):
1749         * platform/graphics/chromium/cc/CCLayerImpl.h:
1750         (WebCore::CCLayerImpl::create):
1751         (WebCore::CCLayerImpl::parent):
1752         (WebCore::CCLayerImpl::children):
1753         (WebCore::CCLayerImpl::setMaskLayer):
1754         (WebCore::CCLayerImpl::maskLayer):
1755         (WebCore::CCLayerImpl::setReplicaLayer):
1756         (WebCore::CCLayerImpl::replicaLayer):
1757         (WebCore::CCLayerImpl::id):
1758         (WebCore::CCLayerImpl::owner):
1759         (WebCore::CCLayerImpl::setParent):
1760         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
1761         (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
1762         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
1763         (WebCore::CCPluginLayerImpl::create):
1764         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1765         (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
1766         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
1767         (WebCore::CCVideoLayerImpl::create):
1768
1769 2011-05-16  Naoki Takano  <takano.naoki@gmail.com>
1770
1771         Reviewed by Kent Tamura.
1772
1773         HTML5 Number Spinbox displays a 0 in situations where a 0 is not between the min and max.
1774         https://bugs.webkit.org/show_bug.cgi?id=60871
1775
1776         Test: fast/forms/input-stepup-stepdown-from-renderer.html
1777
1778         In number input type, if the value is not a number, including empty, the currect valued is assumed 0.
1779         But we have to handle it separately from the case when the value is actuall "0".
1780
1781         * html/HTMLInputElement.cpp:
1782         (WebCore::HTMLInputElement::stepUpFromRenderer): Added cliping for default value.
1783
1784 2011-05-16  Adam Barth  <abarth@webkit.org>
1785
1786         Reviewed by Eric Seidel.
1787
1788         Remove bogus ASSERT in Document::setCompatibilityMode
1789         https://bugs.webkit.org/show_bug.cgi?id=60935
1790
1791         The ASSERT is invalid when the parser is in the initial state and the
1792         document is non-empty, which is strange but not impossible.
1793
1794         Test: fast/parser/append-child-followed-by-document-write.html
1795
1796         * dom/Document.cpp:
1797         (WebCore::Document::setCompatibilityMode):
1798
1799 2011-05-16  MORITA Hajime  <morrita@google.com>
1800
1801         Reviewed by Tony Chang.
1802
1803         [Refactoring] Member variables of DocumentMarker should be encapsulated.        
1804         https://bugs.webkit.org/show_bug.cgi?id=56814
1805
1806         - Moved DocumentMarker's member variables to private and added getters for them.
1807         - Added DocumentMarker setters and constructors, which contain assertions against m_type values
1808           because description and activeMatch are used with specific type of MarkerType.
1809         - Moved chromium's WebKit::WebFrameImpl::addMarker() to DocumentMarkerController because
1810           it accesses DocumentMarker internals.
1811         - Moved a version of DMC::addMarker() to private and add alternatives that hide
1812           internals of DocumentMarker. (The internal will be renewed by upcoming change.)
1813         
1814         * dom/DocumentMarker.h:
1815         (WebCore::DocumentMarker::type):
1816         (WebCore::DocumentMarker::startOffset):
1817         (WebCore::DocumentMarker::endOffset):
1818         (WebCore::DocumentMarker::description):
1819         (WebCore::DocumentMarker::hasDescription):
1820         (WebCore::DocumentMarker::activeMatch):
1821         (WebCore::DocumentMarker::clearDescription):
1822         (WebCore::DocumentMarker::setStartOffset):
1823         (WebCore::DocumentMarker::setEndOffset):
1824         (WebCore::DocumentMarker::operator==):
1825         (WebCore::DocumentMarker::DocumentMarker):
1826         (WebCore::DocumentMarker::shiftOffsets):
1827         (WebCore::DocumentMarker::setActiveMatch):
1828         * dom/DocumentMarkerController.cpp:
1829         (WebCore::DocumentMarkerController::addMarker):
1830         (WebCore::DocumentMarkerController::addTextMatchMarker):
1831         (WebCore::DocumentMarkerController::copyMarkers):
1832         (WebCore::DocumentMarkerController::removeMarkers):
1833         (WebCore::DocumentMarkerController::markerContainingPoint):
1834         (WebCore::DocumentMarkerController::markersInRange):
1835         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
1836         (WebCore::DocumentMarkerController::removeMarkersFromList):
1837         (WebCore::DocumentMarkerController::repaintMarkers):
1838         (WebCore::DocumentMarkerController::shiftMarkers):
1839         (WebCore::DocumentMarkerController::setMarkersActive):
1840         (WebCore::DocumentMarkerController::hasMarkers):
1841         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
1842         (WebCore::DocumentMarkerController::showMarkers):
1843         * dom/DocumentMarkerController.h:
1844         * editing/CompositeEditCommand.cpp:
1845         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
1846         * editing/DeleteSelectionCommand.cpp:
1847         (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
1848         * editing/Editor.cpp:
1849         (WebCore::Editor::selectionStartHasMarkerFor):
1850         * editing/SpellingCorrectionController.cpp:
1851         (WebCore::SpellingCorrectionController::respondToChangedSelection):
1852         * editing/SpellingCorrectionController.h:
1853         (WebCore::SpellingCorrectionController::shouldStartTimerFor):
1854         * rendering/HitTestResult.cpp:
1855         (WebCore::HitTestResult::spellingToolTip):
1856         (WebCore::HitTestResult::replacedString):
1857         * rendering/InlineTextBox.cpp:
1858         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1859         (WebCore::InlineTextBox::paintTextMatchMarker):
1860         (WebCore::InlineTextBox::computeRectForReplacementMarker):
1861         (WebCore::InlineTextBox::paintDocumentMarkers):
1862         * rendering/svg/SVGInlineFlowBox.cpp:
1863         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
1864
1865 2011-05-16  Martin Robinson  <mrobinson@igalia.com>
1866
1867         Fix the Cairo build for older versions of GTK+.
1868
1869         * platform/gtk/GtkWidgetBackingStoreX11.cpp: Include GtkVersioning.h to
1870         satisfy older versions of GTK+ 2.x.
1871
1872 2011-05-16  Ian Henderson  <ianh@apple.com>
1873
1874         Reviewed by Joseph Pecoraro.
1875
1876         Page::goToItem doesn't work while loading is deferred
1877         https://bugs.webkit.org/show_bug.cgi?id=60412
1878
1879         If goToItem is called while loading is deferred, save the arguments
1880         and try again later instead of doing nothing.
1881
1882         Test: loader/navigation-while-deferring-loads.html
1883
1884         * loader/FrameLoader.cpp:
1885         (WebCore::FrameLoader::setDefersLoading):
1886         Pipe the "defersLoading" state into HistoryController.
1887         * loader/HistoryController.cpp:
1888         (WebCore::HistoryController::HistoryController):
1889         (WebCore::HistoryController::goToItem):
1890         Save the HistoryItem and FrameLoadType if loading is deferred.
1891         (WebCore::HistoryController::setDefersLoading):
1892         If we have a saved HistoryItem after resuming, try going to it.
1893         * loader/HistoryController.h:
1894         * page/Page.cpp:
1895         (WebCore::Page::goToItem):
1896         No longer bail early if loading is deferred, since HistoryController
1897         now handles this case.
1898
1899 2011-05-16  Andrew Wilson  <atwilson@chromium.org>
1900
1901         Unreviewed, rolling out r86625.
1902         http://trac.webkit.org/changeset/86625
1903         https://bugs.webkit.org/show_bug.cgi?id=60719
1904
1905         Caused failed assertion on Chromium gpu canary bots
1906
1907         * WebCore.gypi:
1908         * platform/chromium/TraceEvent.h:
1909         * platform/graphics/chromium/ContentLayerChromium.cpp:
1910         (WebCore::ContentLayerChromium::create):
1911         (WebCore::ContentLayerChromium::ContentLayerChromium):
1912         (WebCore::ContentLayerChromium::~ContentLayerChromium):
1913         (WebCore::ContentLayerChromium::paintContentsIfDirty):
1914         (WebCore::ContentLayerChromium::setLayerRenderer):
1915         (WebCore::ContentLayerChromium::createTilerIfNeeded):
1916         (WebCore::ContentLayerChromium::updateCompositorResources):
1917         * platform/graphics/chromium/ContentLayerChromium.h:
1918         (WebCore::ContentLayerChromium::drawsContent):
1919         * platform/graphics/chromium/ImageLayerChromium.cpp:
1920         (WebCore::ImageLayerChromium::paintContentsIfDirty):
1921         (WebCore::ImageLayerChromium::updateCompositorResources):
1922         * platform/graphics/chromium/ImageLayerChromium.h:
1923         * platform/graphics/chromium/LayerPainterChromium.h: Removed.
1924         * platform/graphics/chromium/LayerRendererChromium.cpp:
1925         (WebCore::LayerRendererChromium::create):
1926         (WebCore::LayerRendererChromium::LayerRendererChromium):
1927         (WebCore::LayerRendererChromium::updateRootLayerContents):
1928         (WebCore::LayerRendererChromium::drawRootLayer):
1929         (WebCore::LayerRendererChromium::updateAndDrawLayers):
1930         (WebCore::LayerRendererChromium::updateLayers):
1931         * platform/graphics/chromium/LayerRendererChromium.h:
1932         * platform/graphics/chromium/LayerTextureSubImage.cpp: Removed.
1933         * platform/graphics/chromium/LayerTextureSubImage.h: Removed.
1934         * platform/graphics/chromium/LayerTextureUpdater.h: Removed.
1935         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Removed.
1936         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Removed.
1937         * platform/graphics/chromium/LayerTilerChromium.cpp:
1938         (WebCore::LayerTilerChromium::create):
1939         (WebCore::LayerTilerChromium::LayerTilerChromium):
1940         (WebCore::LayerTilerChromium::setLayerRenderer):
1941         (WebCore::LayerTilerChromium::setTileSize):
1942         (WebCore::LayerTilerChromium::update):
1943         (WebCore::LayerTilerChromium::uploadCanvas):
1944         (WebCore::LayerTilerChromium::updateFromPixels):
1945         (WebCore::LayerTilerChromium::draw):
1946         * platform/graphics/chromium/LayerTilerChromium.h:
1947         (WebCore::LayerTilerChromium::Tile::Tile):
1948         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1949         (WebCore::CCHeadsUpDisplay::draw):
1950
1951 2011-05-16  Antti Koivisto  <antti@apple.com>
1952
1953         Reviewed by Dave Kilzer.
1954
1955         https://bugs.webkit.org/show_bug.cgi?id=60927
1956         fastCheckSelector() does not inline correctly in all cases
1957
1958         Use anonymous namespace instead of static qualifier to get internal linkage.
1959         Use functions as template arguments instead of classes.
1960
1961         * css/CSSStyleSelector.cpp:
1962         (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
1963
1964 2011-05-16  Chris Rogers  <crogers@google.com>
1965
1966         Unreviewed build fix.
1967
1968         Just return "nullptr" to fix compile errors
1969         https://bugs.webkit.org/show_bug.cgi?id=60932
1970
1971         * platform/audio/mac/AudioBusMac.mm:
1972         (WebCore::AudioBus::loadPlatformResource):
1973         * platform/audio/mac/AudioFileReaderMac.cpp:
1974         (WebCore::AudioFileReader::createBus):
1975
1976 2011-05-16  Emil A Eklund  <eae@chromium.org>
1977
1978         Reviewed by Eric Seidel.
1979
1980         Replace docTop/Right/Bottom/Left/Width/Height with documentRect
1981         https://bugs.webkit.org/show_bug.cgi?id=60743
1982
1983         Change RenderView::documentRect to compute rect once rather than four times.
1984         Replace all uses of docTop/Right/Bottom/Left/Width/Height with documentRect to
1985         simplify the code and reduce complexity.
1986
1987         Covered by existing tests.
1988
1989         * WebCore.exp.in:
1990         * page/FrameView.cpp:
1991         (WebCore::FrameView::adjustViewSize):
1992         (WebCore::FrameView::forceLayoutForPagination):
1993         * page/PrintContext.cpp:
1994         (WebCore::PrintContext::computePageRects):
1995         * rendering/RenderBox.cpp:
1996         (WebCore::RenderBox::paintRootBoxFillLayers):
1997         * rendering/RenderLayerCompositor.cpp:
1998         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
1999         * rendering/RenderView.cpp:
2000         (WebCore::RenderView::documentRect):
2001         * rendering/RenderView.h:
2002
2003 2011-05-16  Tony Chang  <tony@chromium.org>
2004
2005         Reviewed by Adam Barth.
2006
2007         [chromium] shard V8DerivedSources into 19 files
2008         https://bugs.webkit.org/show_bug.cgi?id=60926
2009
2010         This reduces the clobber build time by 4s on my machine.  It helps
2011         by making the slowest to compile V8DerivedSources faster (and thus
2012         more parallelizable).  With 8 files, the 3 slowest are 23s, 18s and
2013         10s.  With 19 files, the 3 slowest are 16s, 10s, and 10s.
2014
2015         * WebCore.gyp/WebCore.gyp:
2016         * storage/IDBObjectStore.h: Fix a missing include that was working
2017           because a different .cpp file before it was including the header.
2018
2019 2011-05-16  Chris Rogers  <crogers@google.com>
2020
2021         Unreviewed build fix.
2022
2023         Fix web audio enabled mac port compile errors
2024         https://bugs.webkit.org/show_bug.cgi?id=60930
2025
2026         * platform/audio/mac/AudioBusMac.mm:
2027         (WebCore::AudioBus::loadPlatformResource):
2028         * platform/audio/mac/AudioFileReaderMac.cpp:
2029         (WebCore::AudioFileReader::createBus):
2030
2031 2011-05-16  Eric Seidel  <eric@webkit.org>
2032
2033         Reviewed by Adam Barth.
2034
2035         Document why RenderBlockLineLayout has its own deleteLineBoxTree implementation
2036         https://bugs.webkit.org/show_bug.cgi?id=60925
2037
2038         I suspect this difference is really just papering over other bugs
2039         but now that I finally understand the difference, I should at least
2040         document it for others.
2041
2042         * rendering/RenderBlockLineLayout.cpp:
2043         (WebCore::deleteLineRange):
2044         (WebCore::RenderBlock::determineStartPosition):
2045
2046 2011-05-16  Alok Priyadarshi  <alokp@chromium.org>
2047
2048         Reviewed by James Robinson.
2049
2050         [chromium] Split canvas from LayerTilerChromium
2051         https://bugs.webkit.org/show_bug.cgi?id=60719
2052
2053         LayerTilerChromium now just does tiling. It delegates the task of painting and updating textures to LayerTextureUpdater.
2054         Also abstracted LayerTextureSubImage to upload texture pixels.
2055
2056         * WebCore.gypi:
2057         * platform/chromium/TraceEvent.h:
2058         * platform/graphics/chromium/ContentLayerChromium.cpp:
2059         (WebCore::ContentLayerChromium::create):
2060         (WebCore::ContentLayerChromium::ContentLayerChromium):
2061         (WebCore::ContentLayerChromium::~ContentLayerChromium):
2062         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2063         (WebCore::ContentLayerChromium::cleanupResources):
2064         (WebCore::ContentLayerChromium::setLayerRenderer):
2065         (WebCore::ContentLayerChromium::createTextureUpdater):
2066         (WebCore::ContentLayerChromium::drawsContent):
2067         (WebCore::ContentLayerChromium::createTilerIfNeeded):
2068         (WebCore::ContentLayerChromium::updateCompositorResources):
2069         * platform/graphics/chromium/ContentLayerChromium.h:
2070         * platform/graphics/chromium/ImageLayerChromium.cpp:
2071         (WebCore::ImageLayerTextureUpdater::ImageLayerTextureUpdater):
2072         (WebCore::ImageLayerTextureUpdater::~ImageLayerTextureUpdater):
2073         (WebCore::ImageLayerTextureUpdater::orientation):
2074         (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
2075         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
2076         (WebCore::ImageLayerTextureUpdater::imageRect):
2077         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2078         (WebCore::ImageLayerChromium::updateCompositorResources):
2079         (WebCore::ImageLayerChromium::createTextureUpdater):
2080         * platform/graphics/chromium/ImageLayerChromium.h:
2081         * platform/graphics/chromium/LayerPainterChromium.h: Added.
2082         * platform/graphics/chromium/LayerRendererChromium.cpp:
2083         (WebCore::LayerRendererChromium::create):
2084         (WebCore::LayerRendererChromium::LayerRendererChromium):
2085         (WebCore::LayerRendererChromium::updateRootLayerContents):
2086         (WebCore::LayerRendererChromium::drawRootLayer):
2087         (WebCore::LayerRendererChromium::updateAndDrawLayers):
2088         (WebCore::LayerRendererChromium::updateLayers):
2089         * platform/graphics/chromium/LayerRendererChromium.h:
2090         * platform/graphics/chromium/LayerTextureSubImage.cpp: Added.
2091         (WebCore::LayerTextureSubImage::LayerTextureSubImage):
2092         (WebCore::LayerTextureSubImage::~LayerTextureSubImage):
2093         (WebCore::LayerTextureSubImage::setSubImageSize):
2094         (WebCore::LayerTextureSubImage::upload):
2095         (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
2096         (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
2097         * platform/graphics/chromium/LayerTextureSubImage.h: Added.
2098         * platform/graphics/chromium/LayerTextureUpdater.h: Added.
2099         (WebCore::LayerTextureUpdater::LayerTextureUpdater):
2100         (WebCore::LayerTextureUpdater::~LayerTextureUpdater):
2101         (WebCore::LayerTextureUpdater::context):
2102         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Added.
2103         (WebCore::LayerTextureUpdaterCanvas::LayerTextureUpdaterCanvas):
2104         (WebCore::LayerTextureUpdaterCanvas::paintContents):
2105         (WebCore::LayerTextureUpdaterBitmap::LayerTextureUpdaterBitmap):
2106         (WebCore::LayerTextureUpdaterBitmap::prepareToUpdate):
2107         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
2108         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Added.
2109         (WebCore::LayerTextureUpdaterCanvas::~LayerTextureUpdaterCanvas):
2110         (WebCore::LayerTextureUpdaterCanvas::contentRect):
2111         (WebCore::LayerTextureUpdaterBitmap::~LayerTextureUpdaterBitmap):
2112         (WebCore::LayerTextureUpdaterBitmap::orientation):
2113         * platform/graphics/chromium/LayerTilerChromium.cpp:
2114         (WebCore::LayerTilerChromium::create):
2115         (WebCore::LayerTilerChromium::LayerTilerChromium):
2116         (WebCore::LayerTilerChromium::setTileSize):
2117         (WebCore::LayerTilerChromium::prepareToUpdate):
2118         (WebCore::LayerTilerChromium::updateRect):
2119         (WebCore::LayerTilerChromium::draw):
2120         * platform/graphics/chromium/LayerTilerChromium.h:
2121         (WebCore::LayerTilerChromium::Tile::Tile):
2122         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2123         (WebCore::CCHeadsUpDisplay::draw):
2124
2125 2011-05-16  Andrew Wilson  <atwilson@chromium.org>
2126
2127         Unreviewed prospective build fix/workaround for chromium ARM compiler error.
2128
2129         * platform/graphics/GraphicsLayer.cpp:
2130         (WebCore::GraphicsLayer::animationNameForTransition):
2131
2132 2011-05-16  Martin Robinson  <mrobinson@igalia.com>
2133
2134         Reviewed by Anders Carlsson.
2135
2136         [GTK] [WebKit2] Provide a fast version of the backing store for X11
2137         https://bugs.webkit.org/show_bug.cgi?id=60912
2138
2139         No new tests. This will be covered by WebKit2 pixel tests.
2140
2141         * GNUmakefile.list.am: Added new GtkWidgetBackingStore source and header files.
2142         * platform/gtk/GtkWidgetBackingStore.h: Added.
2143         * platform/gtk/GtkWidgetBackingStoreCairo.cpp: Added this implementation of the backing
2144         store that uses Cairo and has the same performance characteristics as the WebKit2 implementaiton.
2145         * platform/gtk/GtkWidgetBackingStoreX11.cpp: Added this implementation of the backing
2146         store that uses X11 directly and has better performance than the Cairo version.
2147
2148 2011-05-16  Chris Rogers  <crogers@google.com>
2149
2150         Reviewed by senorblanco@chromium.org.
2151
2152         Add DynamicsCompressorNode implementation
2153         https://bugs.webkit.org/show_bug.cgi?id=60682
2154
2155         No new tests since audio API is not yet implemented.
2156
2157         * DerivedSources.make:
2158         * WebCore.gypi:
2159         * WebCore.xcodeproj/project.pbxproj:
2160         * platform/audio/DynamicsCompressor.cpp: Added.
2161         (WebCore::DynamicsCompressor::DynamicsCompressor):
2162         (WebCore::DynamicsCompressor::initializeParameters):
2163         (WebCore::DynamicsCompressor::parameterValue):
2164         (WebCore::DynamicsCompressor::setEmphasisStageParameters):
2165         (WebCore::DynamicsCompressor::setEmphasisParameters):
2166         (WebCore::DynamicsCompressor::process):
2167         (WebCore::DynamicsCompressor::reset):
2168         * platform/audio/DynamicsCompressor.h: Added.
2169         (WebCore::DynamicsCompressor::isStereo):
2170         (WebCore::DynamicsCompressor::sampleRate):
2171         (WebCore::DynamicsCompressor::nyquist):
2172         * platform/audio/DynamicsCompressorKernel.cpp: Added.
2173         (WebCore::saturate):
2174         (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
2175         (WebCore::DynamicsCompressorKernel::setPreDelayTime):
2176         (WebCore::DynamicsCompressorKernel::process):
2177         (WebCore::DynamicsCompressorKernel::reset):
2178         * platform/audio/DynamicsCompressorKernel.h: Added.
2179         (WebCore::DynamicsCompressorKernel::latencyFrames):
2180         (WebCore::DynamicsCompressorKernel::sampleRate):
2181         * platform/audio/ZeroPole.cpp: Added.
2182         (WebCore::ZeroPole::process):
2183         * platform/audio/ZeroPole.h: Added.
2184         (WebCore::ZeroPole::ZeroPole):
2185         (WebCore::ZeroPole::reset):
2186         (WebCore::ZeroPole::setZero):
2187         (WebCore::ZeroPole::setPole):
2188         (WebCore::ZeroPole::zero):
2189         (WebCore::ZeroPole::pole):
2190         * webaudio/AudioContext.cpp:
2191         (WebCore::AudioContext::createDynamicsCompressor):
2192         * webaudio/AudioContext.h:
2193         * webaudio/AudioContext.idl:
2194         * webaudio/AudioNode.h:
2195         * webaudio/DynamicsCompressorNode.cpp: Added.
2196         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
2197         (WebCore::DynamicsCompressorNode::~DynamicsCompressorNode):
2198         (WebCore::DynamicsCompressorNode::process):
2199         (WebCore::DynamicsCompressorNode::reset):
2200         (WebCore::DynamicsCompressorNode::initialize):
2201         (WebCore::DynamicsCompressorNode::uninitialize):
2202         * webaudio/DynamicsCompressorNode.h: Added.
2203         (WebCore::DynamicsCompressorNode::create):
2204         * webaudio/DynamicsCompressorNode.idl: Added.
2205
2206 2011-05-16  Yuzo Fujishima  <yuzo@google.com>
2207
2208         Reviewed by Antti Koivisto.
2209
2210         Fix for Bug 43704 - Web font is printed as blank if it is not cached
2211         https://bugs.webkit.org/show_bug.cgi?id=43704
2212
2213         In setting printing, we should not validate resources already cached
2214         for the document. If we do, web fonts used for screen are revalidated
2215         and possiby reloaded. Then the fonts can be shown as blank on print.
2216         This patch won't save the case where screen and print use different web
2217         fonts. Nonetheless, this is an improvement.
2218
2219         No new tests because there seems to be no good way to test print images.
2220
2221         * editing/Editor.cpp:
2222         (WebCore::Editor::paste): Use ResourceCacheValidationSuppressor instead of explicitly allowing/disallowing stale resources.
2223         * loader/cache/CachedResourceLoader.h:
2224         (WebCore::ResourceCacheValidationSuppressor::ResourceCacheValidationSuppressor): RAII class for allowing/disallowing stale resources.
2225         (WebCore::ResourceCacheValidationSuppressor::~ResourceCacheValidationSuppressor):
2226         * page/DragController.cpp:
2227         (WebCore::DragController::concludeEditDrag): Use ResourceCacheValidationSuppressor instead of explicitly allowing/disallowing stale resources.
2228         * page/Frame.cpp:
2229         (WebCore::Frame::setPrinting): Use ResourceCacheValidationSuppressor to allow stale resources in printing.
2230
2231 2011-05-16  Dan Bernstein  <mitz@apple.com>
2232
2233         Reviewed by Darin Adler.
2234
2235         <rdar://problem/9446653> REGRESSION (r84750): Moving by word stops at apostrophe mid-word
2236         https://bugs.webkit.org/show_bug.cgi?id=60915
2237
2238         CFStringTokenizer’s kCFStringTokenizerUnitWord considers “Here’s” as two separate tokens.
2239         Switching to CFStringTokenizer in r84750 was an attempt to address an issue with Japanese word
2240         boundaries for searches with WebFindOptionsAtWordStarts, but it turned out to be insufficient,
2241         and in r86387 the Japanese word issue was addressed independently of text boundaries, so just
2242         revert r84750.
2243
2244         * platform/text/mac/TextBoundaries.mm:
2245         (WebCore::findNextWordFromIndex):
2246
2247 2011-05-16  David Kilzer  <ddkilzer@apple.com>
2248
2249         <http://webkit.org/b/60913> C++ exceptions should not be enabled when building with llvm-gcc-4.2
2250         <rdar://problem/9446430>
2251
2252         Reviewed by Mark Rowe.
2253
2254         * Configurations/Base.xcconfig: Fixed typo.
2255
2256 2011-05-16  Jon Lee  <jonlee@apple.com>
2257
2258         Fix for broken regression tests. Adding null pointer check
2259
2260         * page/FrameView.cpp:
2261         (WebCore::FrameView::didAddHorizontalScrollbar):
2262         (WebCore::FrameView::willRemoveHorizontalScrollbar):
2263
2264 2011-05-16  Adrienne Walker  <enne@google.com>
2265
2266         Reviewed by James Robinson.
2267
2268         [chromium] Remove unused member variables from LayerRendererChromium
2269         https://bugs.webkit.org/show_bug.cgi?id=60899
2270
2271         These should have been removed when tiling was enabled for root
2272         layers.
2273
2274         * platform/graphics/chromium/LayerRendererChromium.h:
2275
2276 2011-05-16  Andrew Wilson  <atwilson@chromium.org>
2277
2278         Unreviewed, rolling out r86589.
2279         http://trac.webkit.org/changeset/86589
2280         https://bugs.webkit.org/show_bug.cgi?id=54670
2281
2282         Broke chromium inspector tests.
2283
2284         * inspector/front-end/ConsoleView.js:
2285         (WebInspector.ConsoleView.prototype.show):
2286         (WebInspector.ConsoleView.prototype.afterShow):
2287         (WebInspector.ConsoleView.prototype.hide):
2288         (WebInspector.ConsoleView.prototype.addMessage):
2289         (WebInspector.ConsoleView.prototype.clearMessages):
2290         * inspector/front-end/DebuggerPresentationModel.js:
2291         (WebInspector.DebuggerPresentationModel):
2292         * inspector/front-end/Drawer.js:
2293         (WebInspector.Drawer.prototype.set visibleView):
2294         (WebInspector.Drawer.prototype.show.animationFinished):
2295         (WebInspector.Drawer.prototype.show):
2296         * inspector/front-end/Panel.js:
2297         (WebInspector.Panel):
2298         * inspector/front-end/ResourceTreeModel.js:
2299         (WebInspector.ResourceTreeModel):
2300         * inspector/front-end/inspector.html:
2301         * inspector/front-end/inspector.js:
2302         (WebInspector._createPanels):
2303
2304 2011-05-16  Brian Weinstein  <bweinstein@apple.com>
2305
2306         Reviewed by Enrica Casucci.
2307
2308         REGRESSION (r86542): Dropping URL onto Desktop creates broken Internet Shortcut file.
2309         
2310         r86477 fixed this bug by using latin1 as the CString's encoding instead of ascii, but r86542
2311         undid this change.
2312         
2313         Change it back to latin1 to fix the bug.
2314
2315         * platform/win/ClipboardWin.cpp:
2316         (WebCore::ClipboardWin::writeURL):
2317
2318 2011-05-16  Jeremy Noble  <jer.noble@apple.com>
2319
2320         Unreviewed; build fix for non-SnowLeopard builds.
2321
2322         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Wrap definition 
2323             of layerIsDescendentOf in a #if check.
2324
2325 2011-05-16  Pavel Podivilov  <podivilov@chromium.org>
2326
2327         Reviewed by Yury Semikhatsky.
2328
2329         Web Inspector: merge ConsoleView into ConsolePanel.
2330         https://bugs.webkit.org/show_bug.cgi?id=54670
2331
2332         Console view in drawer looks exactly the same as console panel. Merging ConsoleView and ConsolePanel together
2333         will allow us to reuse panel's functionality (e.g. resizable sidebar) even when console is docked.
2334
2335         * inspector/front-end/ConsoleView.js:
2336         (WebInspector.ConsolePanel.prototype.get toolbarItemLabel):
2337         (WebInspector.ConsolePanel.prototype.show):
2338         (WebInspector.ConsolePanel.prototype.hide):
2339         (WebInspector.ConsolePanel.prototype.showInDrawer):
2340         (WebInspector.ConsolePanel.prototype.afterShowInDrawer):
2341         (WebInspector.ConsolePanel.prototype.hideInDrawer):
2342         (WebInspector.ConsolePanel.prototype.addMessage):
2343         (WebInspector.ConsolePanel.prototype.clearMessages):
2344         * inspector/front-end/DebuggerPresentationModel.js:
2345         (WebInspector.DebuggerPresentationModel):
2346         * inspector/front-end/Drawer.js:
2347         (WebInspector.Drawer.prototype.set visibleView):
2348         (WebInspector.Drawer.prototype.show.animationFinished):
2349         (WebInspector.Drawer.prototype.show):
2350         * inspector/front-end/Panel.js:
2351         (WebInspector.Panel):
2352         * inspector/front-end/ResourceTreeModel.js:
2353         (WebInspector.ResourceTreeModel):
2354         * inspector/front-end/inspector.html:
2355         * inspector/front-end/inspector.js:
2356         (WebInspector._createPanels):
2357
2358 2011-05-13  Jer Noble  <jer.noble@apple.com>
2359
2360         Reviewed by Simon Fraser.
2361
2362         Video is blank, controller is misplaced on trailers.apple.com movie in fullscreen (with two screens)
2363         https://bugs.webkit.org/show_bug.cgi?id=60826
2364
2365         Listen for a WebKitLayerHostChanged notification and, if the affected layer is an
2366         ancestor layer of the qtMovieLayer, tear down the layer and recreate it the
2367         next time setVisible(true) is called.
2368
2369         * dom/Document.cpp:
2370         (WebCore::Document::webkitDidEnterFullScreenForElement):  Call setFullScreenRootLayer(0) 
2371             before disabling animation on the full screen renderer.
2372         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2373         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2374         (WebCore::MediaPlayerPrivateQTKit::createQTMovie): Register an observer for the new 
2375             WebKitLayerHostChanged notification.
2376         (WebCore::layerIsDescendentOf): Added.
2377         (WebCore::MediaPlayerPrivateQTKit::layerHostChanged): Added.  If the changed
2378             layer is an ancestor of the movie layer, tear down rendering and re-
2379             create the next time setVisible(true) is called.
2380         (-[WebCoreMovieObserver layerHostChanged:]):  Added ObjC listener wrapper.
2381
2382 2011-05-16  Adam Barth  <abarth@webkit.org>
2383
2384         Reviewed by Darin Adler.
2385
2386         Remove disable-javascript-urls CSP directive
2387         https://bugs.webkit.org/show_bug.cgi?id=60874
2388
2389         After talking this out with various folks in the CSP working group, we
2390         decided that this syntax isn't the right way to approach this issue.
2391         If we want to address the use case of enabling JavaScript URLs
2392         separately from inline script, we'll probably just make
2393
2394           script-src javascript:
2395
2396         work that way.
2397
2398         * page/ContentSecurityPolicy.cpp:
2399         (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
2400         (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
2401         (WebCore::ContentSecurityPolicy::addDirective):
2402         * page/ContentSecurityPolicy.h:
2403
2404 2011-05-16  Jon Lee  <jonlee@apple.com>
2405
2406        Reviewed by Simon Fraser.
2407
2408        Can't horizontally scroll iframes and overflow because wheel events are always accepted
2409        https://bugs.webkit.org/show_bug.cgi?id=60779
2410
2411        * dom/Document.cpp:
2412        (WebCore::Document::Document): Initialize wheel event handler count
2413        (WebCore::Document::didAddWheelEventHandler): Increment count, and tell the main frame
2414        to recalculate the total number of wheel event handlers in all of its frames' documents
2415        (WebCore::Document::didRemoveWheelEventHandler): Reverse of previous method
2416        * dom/Document.h:
2417        (WebCore::Document::wheelEventHandlerCount): Access the count
2418        * dom/Node.cpp:
2419        (WebCore::tryAddEventListener): If the event listener is a mouse wheel event, then
2420        tell the document to increment its count
2421        (WebCore::tryRemoveEventListener): Reverse of previous method
2422
2423        * page/ChromeClient.h: Two new methods:
2424          numWheelEventHandlersChanged: WebProcess tells UIProcess to update its cached
2425            count of total wheel event handlers, which in this case only include horizontal
2426            scrollbars and mouse wheel JS handlers
2427          shouldRubberBandInDirection: allow the UIProcess to provide some control over
2428            whether rubber banding is allowed when scrolling in a particular direction
2429        * loader/EmptyClients.h:
2430        (WebCore::EmptyChromeClient::numWheelEventHandlersChanged): Default empty impl
2431        (WebCore::EmptyChromeClient::shouldRubberBandInDirection): Default empty impl
2432        * page/EventHandler.cpp:
2433        (WebCore::EventHandler::handleWheelEvent): Remove a redundant pointer check
2434        * page/Frame.cpp:
2435        (WebCore::Frame::setDocument): When the frame's document changes, calculate that
2436        document's total wheel event handlers, and notify the UIProcess
2437        (WebCore::Frame::notifyChromeClientWheelEventHandlerCountChanged): Performs a crawl
2438        of the frame tree to aggregate the count
2439        * page/Frame.h:
2440
2441        * platform/ScrollableArea.h: Virtualize didAddHorizontalScrollbar and
2442        willRemoveHorizontalScrollbar for overriding in RenderLayer and FrameView
2443        (WebCore::ScrollableArea::isHorizontalScrollerPinnedToMinimumPosition): Returns true if there is
2444        no scrollbar or the scroller position is in the minimum scroll position.
2445        (WebCore::ScrollableArea::isHorizontalScrollerPinnedToMaximumPosition): Converse of the above.
2446        (WebCore::ScrollableArea::shouldRubberBandInDirection): Default impl
2447        * page/FrameView.cpp:
2448        (WebCore::FrameView::didAddHorizontalScrollbar): Updates the frame's document's count
2449        (WebCore::FrameView::willRemoveHorizontalScrollbar): Updates the frame's document's
2450        count
2451        (WebCore::FrameView::shouldRubberBandInDirection): Connective glue
2452        * page/FrameView.h: Adding overriding methods from ScrollableArea
2453        * rendering/RenderLayer.cpp: Similar functionality to FrameView
2454        (WebCore::RenderLayer::didAddHorizontalScrollbar):
2455        (WebCore::RenderLayer::willRemoveHorizontalScrollbar):
2456        * rendering/RenderLayer.h:
2457        
2458        * platform/mac/ScrollAnimatorMac.h: Fix typo of "momentum"
2459        * platform/mac/ScrollAnimatorMac.mm:
2460        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): Fix typo of "momentum"
2461        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent): Fix typo of "coalesced"
2462        (WebCore::ScrollAnimatorMac::beginScrollGesture): Fix typo of "coalesced"
2463        (WebCore::ScrollAnimatorMac::snapRubberBand): Fix typo of "momentum"
2464        
2465        (WebCore::ScrollAnimatorMac::handleWheelEvent): New logic for determining whether
2466        to allow rubber-banding based on the area's scroll position and the wheel event.
2467        Could prevent accepting the wheel event. Also, fix typo of "momentum"
2468        (WebCore::isScrollingLeftAndShouldNotRubberBand): Inline helper function for logic
2469        (WebCore::isScrollingRightAndShouldNotRubberBand): Inline helper function for logic
2470
2471 2011-05-16  Leandro Gracia Gil  <leandrogracia@chromium.org>
2472
2473         Reviewed by Tony Gentilcore.
2474
2475         Media Stream API: add local stream requests.
2476         https://bugs.webkit.org/show_bug.cgi?id=60177
2477
2478         Add the code and messages for requesting the generation of local streams and getting the reply back.
2479
2480         Tests for the Media Stream API will be provided by the bug 56587.
2481         One test is re-enabled with this patch.
2482
2483         Test: fast/dom/MediaStream/argument-types.html
2484
2485         * GNUmakefile.list.am:
2486         * WebCore.gypi:
2487         * WebCore.pro:
2488         * WebCore.vcproj/WebCore.vcproj:
2489         * WebCore.xcodeproj/project.pbxproj:
2490         * page/CallbackTask.h: Added.
2491         (WebCore::CallbackTask1::create):
2492         (WebCore::CallbackTask1::performTask):
2493         (WebCore::CallbackTask1::Scheduler::scheduleCallback):
2494         (WebCore::CallbackTask1::CallbackTask1):
2495         * page/MediaStreamClient.h:
2496         * page/MediaStreamController.cpp:
2497         (WebCore::MediaStreamController::isClientAvailable):
2498         (WebCore::MediaStreamController::unregisterFrameController):
2499         (WebCore::MediaStreamController::registerRequest):
2500         (WebCore::MediaStreamController::registerStream):
2501         (WebCore::MediaStreamController::generateStream):
2502         (WebCore::MediaStreamController::streamGenerated):
2503         (WebCore::MediaStreamController::streamGenerationFailed):
2504         * page/MediaStreamController.h:
2505         * page/MediaStreamFrameController.cpp:
2506         (WebCore::MediaStreamFrameController::GenerateStreamRequest::GenerateStreamRequest):
2507         (WebCore::MediaStreamFrameController::GenerateStreamRequest::~GenerateStreamRequest):
2508         (WebCore::MediaStreamFrameController::GenerateStreamRequest::isGenerateStreamRequest):
2509         (WebCore::MediaStreamFrameController::GenerateStreamRequest::abort):
2510         (WebCore::MediaStreamFrameController::GenerateStreamRequest::successCallback):
2511         (WebCore::MediaStreamFrameController::GenerateStreamRequest::errorCallback):
2512         (WebCore::::unregisterAll):
2513         (WebCore::::detachEmbedder):
2514         (WebCore::MediaStreamFrameController::MediaStreamFrameController):
2515         (WebCore::MediaStreamFrameController::pageController):
2516         (WebCore::MediaStreamFrameController::unregister):
2517         (WebCore::MediaStreamFrameController::enterDetachedState):
2518         (WebCore::MediaStreamFrameController::isClientAvailable):
2519         (WebCore::MediaStreamFrameController::disconnectFrame):
2520         (WebCore::MediaStreamFrameController::parseGenerateStreamOptions):
2521         (WebCore::MediaStreamFrameController::generateStream):
2522         (WebCore::MediaStreamFrameController::streamGenerated):
2523         (WebCore::MediaStreamFrameController::streamGenerationFailed):
2524         * page/MediaStreamFrameController.h:
2525         (WebCore::MediaStreamFrameController::ClientBase::ClientBase):
2526         (WebCore::MediaStreamFrameController::ClientBase::~ClientBase):
2527         (WebCore::MediaStreamFrameController::ClientBase::mediaStreamFrameController):
2528         (WebCore::MediaStreamFrameController::ClientBase::clientId):
2529         (WebCore::MediaStreamFrameController::ClientBase::isStream):
2530         (WebCore::MediaStreamFrameController::ClientBase::isGeneratedStream):
2531         (WebCore::MediaStreamFrameController::ClientBase::detachEmbedder):
2532         (WebCore::MediaStreamFrameController::ClientBase::associateFrameController):
2533         (WebCore::MediaStreamFrameController::ClientBase::unregisterClient):
2534         (WebCore::MediaStreamFrameController::StreamClient::StreamClient):
2535         (WebCore::MediaStreamFrameController::StreamClient::~StreamClient):
2536         (WebCore::MediaStreamFrameController::StreamClient::isStream):
2537         (WebCore::MediaStreamFrameController::StreamClient::unregister):
2538         (WebCore::MediaStreamFrameController::IdGenerator::IdGenerator):
2539         (WebCore::MediaStreamFrameController::IdGenerator::getNextId):
2540         (WebCore::MediaStreamFrameController::ClientMapBase::ClientMapBase):
2541         * page/Navigator.cpp:
2542         (WebCore::Navigator::webkitGetUserMedia):
2543         * page/NavigatorUserMediaErrorCallback.h:
2544
2545 2011-05-16  Pavel Podivilov  <podivilov@chromium.org>
2546
2547         Reviewed by Yury Semikhatsky.
2548
2549         Web Inspector: debuggerWasEnabled notification should not be send to front-end on navigation.
2550         https://bugs.webkit.org/show_bug.cgi?id=60888
2551
2552         * inspector/InspectorController.cpp:
2553         (WebCore::InspectorController::disableDebugger):
2554         * inspector/InspectorDebuggerAgent.cpp:
2555         (WebCore::InspectorDebuggerAgent::enable):
2556         (WebCore::InspectorDebuggerAgent::disable):
2557         (WebCore::InspectorDebuggerAgent::restore):
2558         (WebCore::InspectorDebuggerAgent::clearFrontend):
2559         * inspector/InspectorDebuggerAgent.h:
2560
2561 2011-05-16  Yury Semikhatsky  <yurys@chromium.org>
2562
2563         Unreviewed. Windows build fix.
2564
2565         * inspector/InspectorConsoleInstrumentation.h:
2566         (WebCore::InspectorInstrumentation::consoleMarkTimeline):
2567
2568 2011-05-16  Yury Semikhatsky  <yurys@chromium.org>
2569
2570         Unreviewed. Build fix.
2571
2572         * inspector/InspectorInstrumentation.h:
2573         (WebCore::InspectorInstrumentation::willStartWorkerContext):
2574
2575 2011-05-11  Yury Semikhatsky  <yurys@chromium.org>
2576
2577         Reviewed by Pavel Feldman.
2578
2579         Web Inspector: use InstrumentingAgents to access agents from InspectorInstrumentation
2580         https://bugs.webkit.org/show_bug.cgi?id=60624
2581
2582         InspectorInstrumentation retrieves inspector agents from corresponding InstrumentingAgents
2583         instance. Each agent notifies InstrumentingAgents whenever it wants to receive notifications
2584         about changes in WebCore.
2585
2586         * inspector/InspectorAgent.cpp:
2587         (WebCore::InspectorAgent::InspectorAgent):
2588         (WebCore::InspectorAgent::inspectedPageDestroyed):
2589         * inspector/InspectorAgent.h:
2590         * inspector/InspectorConsoleInstrumentation.h:
2591         (WebCore::InspectorInstrumentation::addMessageToConsole):
2592         (WebCore::InspectorInstrumentation::consoleCount):
2593         (WebCore::InspectorInstrumentation::startConsoleTiming):
2594         (WebCore::InspectorInstrumentation::stopConsoleTiming):
2595         (WebCore::InspectorInstrumentation::consoleMarkTimeline):
2596         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
2597         (WebCore::InspectorInstrumentation::addProfile):
2598         (WebCore::InspectorInstrumentation::profilerEnabled):
2599         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
2600         * inspector/InspectorController.cpp:
2601         (WebCore::InspectorController::InspectorController):
2602         (WebCore::InspectorController::inspectedPageDestroyed):
2603         (WebCore::InspectorController::didClearWindowObjectInWorld):
2604         (WebCore::InspectorController::inspectedPage):
2605         * inspector/InspectorController.h:
2606         * inspector/InspectorDatabaseInstrumentation.h: FAST_RETURN_IF_NO_FRONTENDS macros
2607         is used for early return in common case when inspector is not opened. In this
2608         case inspector instrumentation costs one additional check of a static field.
2609         (WebCore::InspectorInstrumentation::didOpenDatabase):
2610         * inspector/InspectorInstrumentation.cpp:
2611         (WebCore::InspectorInstrumentation::instrumentingAgents):
2612         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
2613         (WebCore::InspectorInstrumentation::inspectedPageDestroyedImpl):
2614         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
2615         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
2616         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
2617         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
2618         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
2619         (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
2620         (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
2621         (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl):
2622         (WebCore::InspectorInstrumentation::handleMousePressImpl):
2623         (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
2624         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
2625         (WebCore::InspectorInstrumentation::didScheduleResourceRequestImpl):
2626         (WebCore::InspectorInstrumentation::didInstallTimerImpl):
2627         (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
2628         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
2629         (WebCore::InspectorInstrumentation::willChangeXHRReadyStateImpl):
2630         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
2631         (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
2632         (WebCore::InspectorInstrumentation::willEvaluateScriptImpl):
2633         (WebCore::InspectorInstrumentation::willFireTimerImpl):
2634         (WebCore::InspectorInstrumentation::willLayoutImpl):
2635         (WebCore::InspectorInstrumentation::willLoadXHRImpl):
2636         (WebCore::InspectorInstrumentation::willPaintImpl):
2637         (WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
2638         (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
2639         (WebCore::InspectorInstrumentation::willSendRequestImpl):
2640         (WebCore::InspectorInstrumentation::continueAfterPingLoaderImpl):
2641         (WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
2642         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
2643         (WebCore::InspectorInstrumentation::willReceiveResourceDataImpl):
2644         (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):
2645         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
2646         (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
2647         (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
2648         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
2649         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
2650         (WebCore::InspectorInstrumentation::scriptImportedImpl):
2651         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
2652         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
2653         (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
2654         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2655         (WebCore::InspectorInstrumentation::willWriteHTMLImpl):
2656         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
2657         (WebCore::InspectorInstrumentation::consoleCountImpl):
2658         (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
2659         (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
2660         (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
2661         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
2662         (WebCore::InspectorInstrumentation::addProfileImpl):
2663         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
2664         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
2665         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
2666         (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
2667         (WebCore::InspectorInstrumentation::didStartWorkerContextImpl):
2668         (WebCore::InspectorInstrumentation::didCreateWorkerImpl):
2669         (WebCore::InspectorInstrumentation::didDestroyWorkerImpl):
2670         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
2671         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
2672         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
2673         (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
2674         (WebCore::InspectorInstrumentation::networkStateChangedImpl):
2675         (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
2676         (WebCore::InspectorInstrumentation::hasFrontend):
2677         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
2678         (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
2679         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
2680         * inspector/InspectorInstrumentation.h:
2681         (WebCore::InspectorInstrumentation::bindInstrumentingAgents):
2682         (WebCore::InspectorInstrumentation::unbindInstrumentingAgents):
2683         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
2684         (WebCore::InspectorInstrumentation::inspectedPageDestroyed):
2685         (WebCore::InspectorInstrumentation::willInsertDOMNode):
2686         (WebCore::InspectorInstrumentation::didInsertDOMNode):
2687         (WebCore::InspectorInstrumentation::willRemoveDOMNode):
2688         (WebCore::InspectorInstrumentation::willModifyDOMAttr):
2689         (WebCore::InspectorInstrumentation::didModifyDOMAttr):
2690         (WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
2691         (WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
2692         (WebCore::InspectorInstrumentation::handleMousePress):
2693         (WebCore::InspectorInstrumentation::characterDataModified):
2694         (WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
2695         (WebCore::InspectorInstrumentation::didScheduleResourceRequest):
2696         (WebCore::InspectorInstrumentation::didInstallTimer):
2697         (WebCore::InspectorInstrumentation::didRemoveTimer):
2698         (WebCore::InspectorInstrumentation::willCallFunction):
2699         (WebCore::InspectorInstrumentation::willChangeXHRReadyState):
2700         (WebCore::InspectorInstrumentation::willDispatchEvent):
2701         (WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
2702         (WebCore::InspectorInstrumentation::willEvaluateScript):
2703         (WebCore::InspectorInstrumentation::willFireTimer):
2704         (WebCore::InspectorInstrumentation::willLayout):
2705         (WebCore::InspectorInstrumentation::willLoadXHR):
2706         (WebCore::InspectorInstrumentation::willPaint):
2707         (WebCore::InspectorInstrumentation::willRecalculateStyle):
2708         (WebCore::InspectorInstrumentation::applyUserAgentOverride):
2709         (WebCore::InspectorInstrumentation::willSendRequest):
2710         (WebCore::InspectorInstrumentation::continueAfterPingLoader):
2711         (WebCore::InspectorInstrumentation::markResourceAsCached):
2712         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
2713         (WebCore::InspectorInstrumentation::willReceiveResourceData):
2714         (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
2715         (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
2716         (WebCore::InspectorInstrumentation::continueWithPolicyDownload):
2717         (WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
2718         (WebCore::InspectorInstrumentation::didReceiveContentLength):
2719         (WebCore::InspectorInstrumentation::didFinishLoading):
2720         (WebCore::InspectorInstrumentation::didFailLoading):
2721         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest):
2722         (WebCore::InspectorInstrumentation::scriptImported):
2723         (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
2724         (WebCore::InspectorInstrumentation::loadEventFired):
2725         (WebCore::InspectorInstrumentation::frameDetachedFromParent):
2726         (WebCore::InspectorInstrumentation::didCommitLoad):
2727         (WebCore::InspectorInstrumentation::willWriteHTML):
2728         (WebCore::InspectorInstrumentation::didUseDOMStorage):
2729         (WebCore::InspectorInstrumentation::willStartWorkerContext):
2730         (WebCore::InspectorInstrumentation::didStartWorkerContext):
2731         (WebCore::InspectorInstrumentation::didCreateWorker):
2732         (WebCore::InspectorInstrumentation::didDestroyWorker):
2733         (WebCore::InspectorInstrumentation::didCreateWebSocket):
2734         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
2735         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
2736         (WebCore::InspectorInstrumentation::didCloseWebSocket):
2737         (WebCore::InspectorInstrumentation::networkStateChanged):
2738         (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
2739         (WebCore::InspectorInstrumentation::hasFrontend):
2740         (WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
2741         (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
2742         (WebCore::InspectorInstrumentation::instrumentingAgentsForFrame):
2743         (WebCore::InspectorInstrumentation::instrumentingAgentsWithFrontendForFrame):
2744         (WebCore::InspectorInstrumentation::instrumentingAgentsWithFrontendForPage):
2745         (WebCore::InspectorInstrumentation::instrumentingAgentsWithFrontendForContext):
2746         (WebCore::InspectorInstrumentation::instrumentingAgentsWithFrontendForDocument):
2747
2748 2011-05-16  Vsevolod Vlasov  <vsevik@chromium.org>
2749
2750         Reviewed by Pavel Feldman.
2751
2752         Web Inspector: Move Resources Panel search to backend
2753         https://bugs.webkit.org/show_bug.cgi?id=59596
2754
2755         * inspector/Inspector.json:
2756         * inspector/InspectorPageAgent.cpp:
2757         (WebCore::decodeMainResource):
2758         (WebCore::InspectorPageAgent::resourceContent):
2759         (WebCore::cachedResourcesForFrame):
2760         (WebCore::InspectorPageAgent::getCookies):
2761         (WebCore::InspectorPageAgent::deleteCookie):
2762         (WebCore::createSearchRegexSource):
2763         (WebCore::countRegularExpressionMatches):
2764         (WebCore::buildObjectForSearchMatch):
2765         (WebCore::InspectorPageAgent::searchInResources):
2766         (WebCore::InspectorPageAgent::domContentEventFired):
2767         (WebCore::InspectorPageAgent::loadEventFired):
2768         (WebCore::InspectorPageAgent::frameNavigated):
2769         (WebCore::InspectorPageAgent::frameDetached):
2770         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
2771         * inspector/InspectorPageAgent.h:
2772         * inspector/front-end/ResourcesPanel.js:
2773         (WebInspector.ResourcesPanel.prototype._showResourceView):
2774         (WebInspector.ResourcesPanel.prototype.performSearch.searchInEditedResource):
2775         (WebInspector.ResourcesPanel.prototype.performSearch.callback):
2776         (WebInspector.ResourcesPanel.prototype.performSearch):
2777         (WebInspector.ResourcesPanel.prototype._ensureViewSearchPerformed):
2778         (WebInspector.ResourcesPanel.prototype._showSearchResult.callback):
2779         (WebInspector.ResourcesPanel.prototype._showSearchResult):
2780         (WebInspector.ResourcesPanel.prototype._resetSearchResults):
2781         (WebInspector.ResourcesPanel.prototype.searchCanceled):
2782         (WebInspector.ResourcesPanel.prototype.jumpToNextSearchResult):
2783         (WebInspector.ResourcesPanel.prototype.jumpToPreviousSearchResult):
2784         (WebInspector.FrameTreeElement.prototype.resourceByURL):
2785         (WebInspector.FrameResourceTreeElement.prototype._resetSearchResults):
2786         (WebInspector.FrameResourceTreeElement.prototype.get searchMatchesCount):
2787         (WebInspector.FrameResourceTreeElement.prototype.searchMatchesFound):
2788         (WebInspector.ResourcesSearchController):
2789         (WebInspector.ResourcesSearchController.prototype.nextSearchResult):
2790         (WebInspector.ResourcesSearchController.prototype.previousSearchResult):
2791         (WebInspector.ResourcesSearchController.prototype._searchResult):
2792         (WebInspector.SearchResultsTreeElementsTraverser):
2793         (WebInspector.SearchResultsTreeElementsTraverser.prototype.first):
2794         (WebInspector.SearchResultsTreeElementsTraverser.prototype.last):
2795         (WebInspector.SearchResultsTreeElementsTraverser.prototype.next):
2796         (WebInspector.SearchResultsTreeElementsTraverser.prototype.previous):
2797         (WebInspector.SearchResultsTreeElementsTraverser.prototype._traverseNext):
2798         (WebInspector.SearchResultsTreeElementsTraverser.prototype._elementHasSearchResults):
2799         (WebInspector.SearchResultsTreeElementsTraverser.prototype._traversePrevious):
2800         (WebInspector.SearchResultsTreeElementsTraverser.prototype._lastTreeElement):
2801         * inspector/front-end/SourceFrame.js:
2802         (WebInspector.SourceFrame.createSearchRegex):
2803         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
2804         (WebInspector.SourceFrame.prototype.performSearch):
2805         (WebInspector.SourceFrame.prototype.hasSearchResults):
2806         (WebInspector.SourceFrame.prototype.jumpToFirstSearchResult):
2807         (WebInspector.SourceFrame.prototype.jumpToLastSearchResult):
2808         (WebInspector.SourceFrame.prototype.jumpToNextSearchResult):
2809         (WebInspector.SourceFrame.prototype.jumpToPreviousSearchResult):
2810         (WebInspector.SourceFrame.prototype.jumpToSearchResult):
2811         (WebInspector.SourceFrame.prototype._collectRegexMatches):
2812         * inspector/front-end/utilities.js:
2813         ():
2814
2815 2011-05-16  Andreas Kling  <kling@webkit.org>
2816
2817         Reviewed by Darin Adler.
2818
2819         CSS: Fast path for 'px' lengths should be case-insensitive.
2820         https://bugs.webkit.org/show_bug.cgi?id=60703
2821
2822         No new tests, this is an optimization that avoids creating
2823         a full CSSParser to parse the value.
2824
2825         * css/CSSParser.cpp:
2826         (WebCore::parseSimpleLengthValue):
2827
2828 2011-05-16  Naiem Shaik  <naiem.shaik@gmail.com>
2829
2830         Reviewed by Adam Barth.
2831
2832         This is for fixing build break in webgl due to https://bugs.webkit.org/show_bug.cgi?id=59861
2833         The bug raised for fixing this is https://bugs.webkit.org/show_bug.cgi?id=60867
2834
2835         No new tests. This does not change any functionality.
2836
2837         * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
2838         (WebCore::GraphicsContext3D::create):
2839         * platform/graphics/gtk/GraphicsContext3DInternal.cpp:
2840         (WebCore::GraphicsContext3DInternal::create):
2841         * platform/graphics/gtk/GraphicsContext3DInternal.h:
2842
2843 2011-05-16  Pavel Feldman  <pfeldman@chromium.org>
2844
2845         Reviewed by Yury Semikhatsky.
2846
2847         Web Inspector: parse edited attributes by means of InspectorDOMAgent.
2848         https://bugs.webkit.org/show_bug.cgi?id=60807
2849
2850         This change moves attribute parsing from the front-end to the backend. 
2851
2852         * inspector/InspectorDOMAgent.cpp:
2853         (WebCore::InspectorDOMAgent::setAttribute):
2854         * inspector/front-end/DOMAgent.js:
2855         (WebInspector.DOMNode.prototype.setAttribute):
2856         * inspector/front-end/ElementsTreeOutline.js:
2857         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded):
2858         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
2859
2860 2011-05-16  Nikolas Zimmermann  <nzimmermann@rim.com>
2861
2862         Not reviewed.
2863
2864         Switch from Vector<UChar> to StringBuilder in dom/
2865         https://bugs.webkit.org/show_bug.cgi?id=57843
2866
2867         Incorporate comment from Darin/Andreas.
2868
2869         * dom/DatasetDOMStringMap.cpp:
2870         (WebCore::convertAttributeNameToPropertyName): Use 'character' local, instead of charaters[i].
2871         (WebCore::convertPropertyNameToAttributeName): Ditto.
2872
2873 2011-05-16  Alexander Pavlov  <apavlov@chromium.org>
2874
2875         Reviewed by Pavel Feldman.
2876
2877         Web Inspector: Fix SourceJavaScriptTokenizer keyword parsing
2878         https://bugs.webkit.org/show_bug.cgi?id=60773
2879
2880         * inspector/front-end/SourceJavaScriptTokenizer.js:
2881         (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
2882         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
2883
2884 2011-05-16  Nikolas Zimmermann  <nzimmermann@rim.com>
2885
2886         Reviewed by Darin Adler.
2887
2888         Switch from Vector<UChar> to StringBuilder in dom/
2889         https://bugs.webkit.org/show_bug.cgi?id=57843
2890
2891         * dom/DatasetDOMStringMap.cpp:
2892         (WebCore::convertAttributeNameToPropertyName):
2893         (WebCore::convertPropertyNameToAttributeName):
2894         * dom/Range.cpp:
2895         (WebCore::Range::toString):
2896         * dom/ScriptElement.cpp:
2897         (WebCore::ScriptElement::scriptContent):
2898
2899 2011-05-05  Pavel Podivilov  <podivilov@chromium.org>
2900
2901         Reviewed by Pavel Feldman.
2902
2903         Web Inspector: move double click handling from TextEditor to SourceFrame.
2904         https://bugs.webkit.org/show_bug.cgi?id=60271
2905
2906         It is SourceFrame's responsibility to check if content is editable and
2907         to configure TextEditor component (e.g. set editable range) when user
2908         tries to initiate editing.
2909
2910         * inspector/front-end/ResourceView.js:
2911         (WebInspector.ResourceSourceFrame.prototype.doubleClick):
2912         (WebInspector.RevisionSourceFrame.prototype.doubleClick):
2913         * inspector/front-end/SourceFrame.js:
2914         (WebInspector.SourceFrame.prototype.beforeTextChanged):
2915         (WebInspector.SourceFrame.prototype.afterTextChanged):
2916         (WebInspector.SourceFrame.prototype.doubleClick):
2917         (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
2918         (WebInspector.SourceFrame.prototype.commitEditing):
2919         (WebInspector.SourceFrame.prototype.cancelEditing):
2920         (WebInspector.SourceFrame.prototype._setReadOnly):
2921         * inspector/front-end/TextViewer.js:
2922         (WebInspector.TextViewer.prototype.set readOnly):
2923         (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
2924         (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
2925         (WebInspector.TextViewer.prototype._doubleClick):
2926         (WebInspector.TextViewer.prototype._commitEditing):
2927         (WebInspector.TextViewer.prototype._cancelEditing):
2928         (WebInspector.TextViewerDelegate.prototype.doubleClick):
2929         (WebInspector.TextViewerDelegate.prototype.beforeTextChanged):
2930         (WebInspector.TextViewerDelegate.prototype.afterTextChanged):
2931
2932 2011-05-15  Robert Hogan  <robert@webkit.org>
2933
2934         Reviewed by Yury Semikhatsky.
2935
2936         [Qt] Fix crash in inspector/console/console-long-eval-crash.html
2937         https://bugs.webkit.org/show_bug.cgi?id=60858
2938
2939         The client may be gone when sendMessageToBackend() is called.
2940
2941         * inspector/InspectorFrontendHost.cpp:
2942         (WebCore::InspectorFrontendHost::sendMessageToBackend):
2943
2944 2011-05-16  Nikolas Zimmermann  <nzimmermann@rim.com>
2945
2946         Reviewed by Dirk Schulze.
2947
2948         Replace direct StringConcatenate usage, by using operator+ (again)
2949         https://bugs.webkit.org/show_bug.cgi?id=60700
2950
2951         Remove makeString() usage everywhere, instead directly use operator+.
2952
2953         * accessibility/AccessibilityObject.cpp:
2954         (WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):
2955         * bindings/js/JSDOMWindowBase.cpp:
2956         * bindings/js/ScriptDebugServer.cpp:
2957         (WebCore::ScriptDebugServer::setBreakpoint):
2958         * bindings/v8/V8Proxy.cpp:
2959         (WebCore::V8Proxy::reportUnsafeAccessTo):
2960         * css/CSSMutableStyleDeclaration.cpp:
2961         (WebCore::CSSMutableStyleDeclaration::borderSpacingValue):
2962         * dom/ExceptionBase.cpp:
2963         (WebCore::ExceptionBase::ExceptionBase):
2964         * dom/XMLDocumentParser.cpp:
2965         (WebCore::XMLDocumentParser::handleError):
2966         * html/FTPDirectoryDocument.cpp:
2967         (WebCore::processFileDateString):
2968         * inspector/CodeGeneratorInspector.pm:
2969         * inspector/InspectorConsoleAgent.cpp:
2970         (WebCore::InspectorConsoleAgent::count):
2971         (WebCore::InspectorConsoleAgent::didReceiveResponse):
2972         * inspector/InspectorDOMAgent.cpp:
2973         * inspector/InspectorDOMDebuggerAgent.cpp:
2974         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
2975         * inspector/InspectorDebuggerAgent.cpp:
2976         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2977         (WebCore::InspectorDebuggerAgent::setBreakpoint):
2978         * loader/FrameLoader.cpp:
2979         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
2980         (WebCore::FrameLoader::checkIfRunInsecureContent):
2981         (WebCore::FrameLoader::shouldAllowNavigation):
2982         * loader/archive/cf/LegacyWebArchive.cpp:
2983         (WebCore::LegacyWebArchive::createFromSelection):
2984         * loader/cache/CachedResourceLoader.cpp:
2985         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
2986         * page/ContentSecurityPolicy.cpp:
2987         (WebCore::CSPDirective::CSPDirective):
2988         (WebCore::ContentSecurityPolicy::checkSourceAndReportViolation):
2989         * page/DOMWindow.cpp:
2990         (WebCore::DOMWindow::postMessageTimerFired):
2991         (WebCore::DOMWindow::crossDomainAccessErrorMessage):
2992         * page/PageSerializer.cpp:
2993         (WebCore::SerializerMarkupAccumulator::SerializerMarkupAccumulator):
2994         (WebCore::SerializerMarkupAccumulator::appendElement):
2995         (WebCore::PageSerializer::urlForBlankFrame):
2996         * page/PrintContext.cpp:
2997         (WebCore::PrintContext::pageProperty):
2998         (WebCore::PrintContext::pageSizeAndMarginsInPixels):
2999         * platform/efl/PlatformKeyboardEventEfl.cpp:
3000         (WebCore::createKeyMap):
3001         (WebCore::createWindowsKeyMap):
3002         * platform/efl/RenderThemeEfl.cpp:
3003         (WebCore::RenderThemeEfl::formatMediaControlsCurrentTime):
3004         * platform/graphics/GraphicsLayer.cpp:
3005         (WebCore::GraphicsLayer::animationNameForTransition):
3006         * platform/graphics/brew/ImageBrew.cpp:
3007         (WebCore::Image::loadPlatformResource):
3008         * platform/graphics/ca/GraphicsLayerCA.cpp:
3009         (WebCore::animationIdentifier):
3010         * platform/graphics/cg/ImageBufferCG.cpp:
3011         (WebCore::CGImageToDataURL):
3012         * platform/graphics/gtk/ImageBufferGtk.cpp:
3013         (WebCore::ImageBuffer::toDataURL):
3014         * platform/graphics/haiku/ImageBufferHaiku.cpp:
3015         (WebCore::ImageBuffer::toDataURL):
3016         * platform/graphics/qt/ImageBufferQt.cpp:
3017         (WebCore::ImageBuffer::toDataURL):
3018         * platform/graphics/skia/ImageBufferSkia.cpp:
3019         (WebCore::ImageToDataURL):
3020         * platform/network/CredentialStorage.cpp:
3021         (WebCore::originStringFromURL):
3022         * platform/network/cf/SocketStreamHandleCFNet.cpp:
3023         (WebCore::SocketStreamHandle::reportErrorToClient):
3024         * platform/sql/SQLiteDatabase.cpp:
3025         (WebCore::SQLiteDatabase::setSynchronous):
3026         * platform/text/wince/TextCodecWinCE.cpp:
3027         (WebCore::LanguageManager::LanguageManager):
3028         * platform/win/ClipboardUtilitiesWin.cpp:
3029         * platform/win/ClipboardWin.cpp:
3030         (WebCore::ClipboardWin::writeURL):
3031         * platform/win/FileSystemWin.cpp:
3032         (WebCore::listDirectory):
3033         * platform/win/LanguageWin.cpp:
3034         (WebCore::platformDefaultLanguage):
3035         * platform/win/PathWalker.cpp:
3036         (WebCore::PathWalker::PathWalker):
3037         * platform/win/SystemInfo.cpp:
3038         (WebCore::osVersionForUAString):
3039         (WebCore::windowsVersionForUAString):
3040         * plugins/PluginStream.cpp:
3041         (WebCore::PluginStream::startStream):
3042         * svg/SVGAngle.cpp:
3043         (WebCore::SVGAngle::valueAsString):
3044         * svg/SVGLength.cpp:
3045         (WebCore::SVGLength::valueAsString):
3046         * svg/SVGPaint.cpp:
3047         (WebCore::SVGPaint::cssText):
3048         * svg/SVGPointList.cpp:
3049         (WebCore::SVGPointList::valueAsString):
3050         * svg/SVGPreserveAspectRatio.cpp:
3051         (WebCore::SVGPreserveAspectRatio::valueAsString):
3052         * svg/SVGTransform.cpp:
3053         (WebCore::SVGTransform::valueAsString):
3054         * svg/SVGTransformList.cpp:
3055         * svg/SVGUseElement.cpp:
3056         (WebCore::dumpInstanceTree):
3057         * websockets/WebSocket.cpp:
3058         (WebCore::WebSocket::connect):
3059         * websockets/WebSocketChannel.cpp:
3060         (WebCore::WebSocketChannel::didFail):
3061         (WebCore::WebSocketChannel::appendToBuffer):
3062         * websockets/WebSocketHandshake.cpp:
3063         (WebCore::WebSocketHandshake::readServerHandshake):
3064
3065 2011-05-12  Yury Semikhatsky  <yurys@chromium.org>
3066
3067         Reviewed by Pavel Feldman.
3068
3069         Web Inspector: inspector console should be searchable
3070         https://bugs.webkit.org/show_bug.cgi?id=60711
3071
3072         Search now works for Console panel. It shows number of matching console entries
3073         and allows to jump to the next matching console entry. Also the matches count
3074         is dynamically updated when new messages are added to the console.
3075
3076         ResourceTreeModel and DebuggerPresentationModel now listen to console events instead
3077         of being called directly from ConsoleView.
3078
3079         * inspector/front-end/ConsolePanel.js:
3080         (WebInspector.ConsolePanel):
3081         (WebInspector.ConsolePanel.prototype.show):
3082         (WebInspector.ConsolePanel.prototype.hide):
3083         (WebInspector.ConsolePanel.prototype.searchCanceled):
3084         (WebInspector.ConsolePanel.prototype.performSearch):
3085         (WebInspector.ConsolePanel.prototype.jumpToNextSearchResult):
3086         (WebInspector.ConsolePanel.prototype.jumpToPreviousSearchResult):
3087         (WebInspector.ConsolePanel.prototype._clearCurrentSearchResultHighlight):
3088         (WebInspector.ConsolePanel.prototype._jumpToSearchResult):
3089         (WebInspector.ConsolePanel.prototype._consoleMessageAdded):
3090         (WebInspector.ConsolePanel.prototype._consoleCleared):
3091         * inspector/front-end/ConsoleView.js:
3092         (WebInspector.ConsoleView.prototype.addMessage):
3093         (WebInspector.ConsoleView.prototype.clearMessages):
3094         (WebInspector.ConsoleMessage.prototype.clearHighlight):
3095         (WebInspector.ConsoleMessage.prototype.highlightSearchResults):
3096         (WebInspector.ConsoleMessage.prototype.matchesRegex):
3097         (WebInspector.ConsoleMessage.prototype.toMessageElement):
3098         (WebInspector.ConsoleCommand.prototype.clearHighlight):
3099         (WebInspector.ConsoleCommand.prototype.highlightSearchResults):
3100         (WebInspector.ConsoleCommand.prototype.matchesRegex):
3101         (WebInspector.ConsoleCommand.prototype.toMessageElement):
3102         (WebInspector.ConsoleCommand.prototype._formatCommand):
3103         * inspector/front-end/DebuggerPresentationModel.js:
3104         (WebInspector.DebuggerPresentationModel):
3105         (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
3106         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
3107         (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
3108         * inspector/front-end/ResourceTreeModel.js:
3109         (WebInspector.ResourceTreeModel):
3110         (WebInspector.ResourceTreeModel.prototype._consoleMessageAdded):
3111         * inspector/front-end/ScriptsPanel.js:
3112         (WebInspector.ScriptsPanel):
3113         (WebInspector.ScriptsPanel.prototype._consoleMessagesCleared):
3114         * inspector/front-end/utilities.js:
3115         ():
3116
3117 2011-05-16  Adam Barth  <abarth@webkit.org>
3118
3119         [Qt] QtPlatformPlugin create methods should use PassOwnPtr
3120         https://bugs.webkit.org/show_bug.cgi?id=60873
3121
3122         * plugins/qt/PluginViewQt.cpp:
3123         (WebCore::PluginView::platformStart):
3124
3125 2011-05-15  Adam Barth  <abarth@webkit.org>
3126
3127         Attempt to fix Qt build.  (Strict PassOwnPtr fix.)
3128
3129         * platform/graphics/qt/GraphicsLayerQt.cpp:
3130         (WebCore::GraphicsLayerQt::GraphicsLayerQt):
3131         (WebCore::GraphicsLayer::create):
3132
3133 2011-05-15  Adam Barth  <abarth@webkit.org>
3134
3135         Attempt to fix Qt build.  (Strict PassOwnPtr fix.)
3136
3137         * platform/text/qt/TextCodecQt.cpp:
3138         (WebCore::newTextCodecQt):
3139
3140 2011-05-15  Adam Barth  <abarth@webkit.org>
3141
3142         Attempt to fix Qt build.  (Strict PassOwnPtr fix.)
3143
3144         * platform/network/qt/QNetworkReplyHandler.cpp:
3145         (WebCore::QNetworkReplyWrapper::release):
3146         (WebCore::QNetworkReplyWrapper::receiveMetaData):
3147         (WebCore::QNetworkReplyWrapper::receiveSniffedMIMEType):
3148         (WebCore::QNetworkReplyHandler::release):
3149         (WebCore::QNetworkReplyHandler::finish):
3150         (WebCore::QNetworkReplyHandler::redirect):
3151         (WebCore::QNetworkReplyHandler::start):
3152
3153 2011-05-15  Adam Barth  <abarth@webkit.org>
3154
3155         Attempt to fix Qt build.  (Strict PassOwnPtr fix.)
3156
3157         * dom/XMLDocumentParserQt.cpp:
3158         (WebCore::XMLDocumentParser::doEnd):
3159
3160 2011-05-15  Kenichi Ishibashi  <bashi@chromium.org>
3161
3162         Reviewed by Kent Tamura.
3163
3164         <output>, <meter> and <progress> elements with display:block can be focused if you try to tab to it
3165         https://bugs.webkit.org/show_bug.cgi?id=60602
3166
3167         HTMLFormControlElement::isFocusable() returns true when the element is
3168         visible as a block element.  However, for output, meter, and progress
3169         elements, the function should not return true unless they have
3170         tabindex attributes.  Override supportsFocus() of these elements to
3171         apply the result of Node::supportsFocus() because it takes care of
3172         whether the element has tabindex or not.
3173
3174         Test: fast/forms/focus-with-display-block.html
3175
3176         * html/HTMLFormControlElement.h: Made supportsFocus() protected.
3177         * html/HTMLMeterElement.cpp:
3178         (WebCore::HTMLMeterElement::supportsFocus): Added.
3179         * html/HTMLMeterElement.h:
3180         * html/HTMLOutputElement.cpp:
3181         (WebCore::HTMLOutputElement::supportsFocus): Added.
3182         * html/HTMLOutputElement.h:
3183         * html/HTMLProgressElement.cpp:
3184         (WebCore::HTMLProgressElement::supportsFocus): Added.
3185         * html/HTMLProgressElement.h:
3186
3187 2011-05-15  Jon Lee  <jonlee@apple.com>
3188
3189         Reviewed by Dan Bernstein.
3190
3191         Missing migration from Editor::TextCheckingOptions to TextCheckingType in SpellingCorrectionController.cpp
3192         https://bugs.webkit.org/show_bug.cgi?id=60870
3193
3194         * editing/SpellingCorrectionController.cpp:
3195         (WebCore::SpellingCorrectionController::correctionPanelTimerFired): Migrating to using TextCheckingType
3196
3197 2011-05-15  Geoffrey Garen  <ggaren@apple.com>
3198
3199         Reviewed by Gavin Barraclough.
3200
3201         https://bugs.webkit.org/show_bug.cgi?id=59699
3202         Global object is recreated on teardown, for no good reason
3203         
3204         (Another partial fix for <rdar://problem/9417875> REGRESSION: SunSpider
3205         ~7% slower in browser than on command line (was 17%))
3206         
3207         I'm basically rolling out http://trac.webkit.org/changeset/49786 because
3208
3209         (a) it created this performance problem
3210         
3211         and
3212         
3213         (b) a more complete fix, which obsoletes http://trac.webkit.org/changeset/49786,
3214         was committed in http://trac.webkit.org/changeset/53439.
3215         
3216         Tested with the file attached to https://bugs.webkit.org/show_bug.cgi?id=29832.
3217
3218         * page/Frame.cpp:
3219         (WebCore::Frame::~Frame): Don't create a new window every time we destroy
3220         a frame.
3221
3222 2011-05-12  MORITA Hajime  <morrita@google.com>
3223
3224         ShadowContentElement should affect the order of renderer children
3225         https://bugs.webkit.org/show_bug.cgi?id=59157
3226
3227         Introduced ShadowContentSelector to collect and forward content
3228         children for each ShadowContentElement. ShadowRoot collects child
3229         nodes of its host (we call these children "content children"), and
3230         the descendant ShadowContentElement pulls that these content
3231         children and put it under its child during
3232         ShadowContentElement::attach().
3233         
3234         Content children no longer create its renderer during its normal
3235         attach() phase (called "light" phase). And they create it during
3236         attach() as a content children instead (called "forwarded phase").
3237         These phases are detected by NodeRendererFactory and represented
3238         as NodeRendererFactory::AttachPhase value AttachContentLight and
3239         AttachContentForwarded.
3240         
3241         Tests: fast/html/details-add-details-child-1.html
3242                fast/html/details-add-details-child-2.html
3243                fast/html/details-nested-1.html
3244                fast/html/details-nested-2.html
3245
3246         * dom/Element.cpp:
3247         (WebCore::Element::attach):
3248         (WebCore::Element::childrenChanged):
3249         * dom/Node.cpp:
3250         (WebCore::NodeRendererFactory::NodeRendererFactory):
3251         (WebCore::NodeRendererFactory::shouldCreateRenderer):
3252         (WebCore::NodeRendererFactory::nextRenderer):
3253         (WebCore::NodeRendererFactory::createRendererIfNeeded):
3254         * dom/ShadowRoot.cpp:
3255         (WebCore::forceReattach):
3256         (WebCore::ShadowContentSelector::shadowRoot):
3257         (WebCore::ShadowContentSelector::activeElement):
3258         (WebCore::ShadowContentSelector::currentInstance):
3259         (WebCore::ShadowContentSelector::ShadowContentSelector):
3260         (WebCore::ShadowContentSelector::~ShadowContentSelector):
3261         (WebCore::ShadowContentSelector::attachChildrenFor):
3262         (WebCore::ShadowContentElement::attach):
3263         (WebCore::ShadowRoot::recalcStyle):
3264         (WebCore::ShadowRoot::activeContentContainer):
3265         (WebCore::ShadowRoot::hostChildrenChanged):
3266         (WebCore::ShadowRoot::attach):
3267         * dom/ShadowRoot.h:
3268         * html/shadow/ShadowContentElement.h:
3269         (WebCore::ShadowContentElement::rendererIsNeeded):
3270         * rendering/RenderDetails.cpp:
3271         * rendering/RenderDetails.h:
3272
3273 2011-05-13  MORITA Hajime  <morrita@google.com>
3274
3275         Reviewed by Ryosuke Niwa.
3276
3277         Refactoring: Editor::TextCheckingOptions should be replaced with TextCheckingType
3278         https://bugs.webkit.org/show_bug.cgi?id=57088
3279
3280         Removed Editor::TextCheckingOptions and replaced it with TextCheckingTypeMask
3281         No new tests, no behavior change.
3282
3283         * editing/Editor.cpp:
3284         (WebCore::Editor::replaceSelectionWithFragment):
3285         (WebCore::Editor::markMisspellingsAfterTypingToWord):
3286         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
3287         (WebCore::Editor::markMisspellingsAndBadGrammar):
3288         (WebCore::Editor::resolveTextCheckingTypeMask):
3289         * editing/Editor.h:
3290         * platform/text/TextChecking.h: Added TextCheckingTypeShowCorrectionPanel
3291
3292 2011-05-15  Ilya Tikhonovsky  <loislo@chromium.org>
3293
3294         Reviewed by Yury Semikhatsky.
3295
3296         Web Inspector: chromium renderer crash at eval in console.
3297
3298         https://bugs.webkit.org/show_bug.cgi?id=60616
3299         Renderer of inspected page is crashing when modal dialog
3300         has been opened via console eval and page is reloaded.
3301
3302         Test: inspector/console/console-long-eval-crash.html
3303
3304         * inspector/CodeGeneratorInspector.pm:
3305         * inspector/InspectorController.cpp:
3306         (WebCore::InspectorController::connectFrontend):
3307         (WebCore::InspectorController::dispatchMessageFromFrontend):
3308         * inspector/InspectorController.h:
3309
3310 2011-05-15  Eric Carlson  <eric.carlson@apple.com>
3311
3312         Reviewed by Maciej Stachowiak.
3313
3314         Use new AVAssetReferenceRestrictions to prevent cross site media references
3315         https://bugs.webkit.org/show_bug.cgi?id=60791
3316         <rdar://problem/9374202>
3317
3318         Test: http/tests/media/video-cross-site.html
3319
3320         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
3321         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Set restriction
3322             to prevent cross-domain references from being followed.
3323
3324 2011-05-15  Arno Renevier  <arno@renevier.net>
3325
3326         Reviewed by Darin Adler.
3327
3328         remove unecessary includes from Source/WebCore/html/HTMLFrameElementBase.cpp
3329         https://bugs.webkit.org/show_bug.cgi?id=60775
3330
3331         No new tests. This change only impacts compilation.
3332
3333         * html/HTMLFrameElementBase.cpp:
3334
3335 2011-05-14  Malcolm MacLeod  <malcolm.macleod@tshwanedje.com>
3336
3337         Reviewed by Kevin Ollivier.
3338
3339         [wx] Fix strokeArc and fillRoundedRect drawing, and add clipPath support.
3340         
3341         https://bugs.webkit.org/show_bug.cgi?id=60847
3342
3343         * platform/graphics/wx/GraphicsContextWx.cpp:
3344         (WebCore::GraphicsContext::strokeArc):
3345         (WebCore::GraphicsContext::clipConvexPolygon):
3346         (WebCore::GraphicsContext::fillRoundedRect):
3347         (WebCore::GraphicsContext::drawFocusRing):
3348         (WebCore::GraphicsContext::clipOut):
3349         (WebCore::GraphicsContext::clipPath):
3350         (WebCore::GraphicsContext::clip):
3351         (WebCore::GraphicsContext::addInnerRoundedRectClip):
3352
3353 2011-05-14  Eric Carlson  <eric.carlson@apple.com>
3354
3355         Reviewed by Dan Bernstein.
3356
3357         HTTP video-on-demand streams frequently have live stream UI
3358         https://bugs.webkit.org/show_bug.cgi?id=60849
3359         <rdar://problem/9440502>
3360
3361         No new tests, we don't currently have tests for http live streams. Changes verified manually.
3362
3363         * html/HTMLMediaElement.cpp:
3364         (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): Reset the media controls so
3365             a duration change which identifies a format will be picked up.
3366         (WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged): New, reset media controls
3367             so they can be reconfigured for the media file characteristics.
3368         * html/HTMLMediaElement.h:
3369
3370         * platform/graphics/MediaPlayer.cpp:
3371         (WebCore::MediaPlayer::characteristicChanged): New, pass through to the element.
3372         * platform/graphics/MediaPlayer.h:
3373         (WebCore::MediaPlayerClient::mediaPlayerCharacteristicChanged):
3374
3375         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3376         (WebCore::MediaPlayerPrivateAVFoundation::setHasVideo): Call characteristicChanged when
3377             setting changes.
3378         (WebCore::MediaPlayerPrivateAVFoundation::setHasAudio): Ditto.
3379         (WebCore::MediaPlayerPrivateAVFoundation::setHasClosedCaptions): Ditto.
3380         (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Move the duration
3381             change notification logic to invalidateCachedDuration.
3382         (WebCore::MediaPlayerPrivateAVFoundation::invalidateCachedDuration): New, invalidate
3383             the cached duration and notify the element when it changes.
3384         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Call invalidateCachedDuration
3385             for the DurationChanged notification.
3386         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Define DurationChanged.
3387
3388         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
3389         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Don't check asset or
3390             item duration until they have been loaded.
3391         (WebCore::itemKVOProperties): Listen for duration change.
3392         (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): Deal with
3393             duration change notification.
3394
3395 2011-05-14  Abhishek Arya  <inferno@chromium.org>
3396
3397         Reviewed by Dan Bernstein.
3398
3399         As per spec, only allow one font family name in a font face rule.
3400         Other things like initial value, inherited value or multiple names
3401         are discarded.
3402         https://bugs.webkit.org/show_bug.cgi?id=60837
3403
3404         Test: fast/css/invalid-font-family-in-font-face-crash.html
3405
3406         * css/CSSParser.cpp:
3407         (WebCore::CSSParser::createFontFaceRule):
3408
3409 2011-05-13  Oliver Hunt  <oliver@apple.com>
3410
3411         Reviewed by Geoffrey Garen.
3412
3413         Make GC validation more aggressive
3414         https://bugs.webkit.org/show_bug.cgi?id=60802
3415
3416         This makes GC_VALIDATION much more aggressive in webcore,
3417         adding logic to every visitChildren method to ensure that
3418         the structure still has correct flags.
3419
3420         Additionally every function generated for the dom bindings
3421         makes use of the new GC_VALIDATION object assertions to further
3422         ensure that the object appears to be sensible.
3423
3424         * bindings/js/JSAttrCustom.cpp:
3425         (WebCore::JSAttr::visitChildren):
3426         * bindings/js/JSAudioContextCustom.cpp:
3427         (WebCore::JSAudioContext::visitChildren):
3428         * bindings/js/JSCSSRuleCustom.cpp:
3429         (WebCore::JSCSSRule::visitChildren):
3430         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3431         (WebCore::JSCSSStyleDeclaration::visitChildren):
3432         * bindings/js/JSCanvasRenderingContextCustom.cpp:
3433         (WebCore::JSCanvasRenderingContext::visitChildren):
3434         * bindings/js/JSDOMGlobalObject.cpp:
3435         (WebCore::JSDOMGlobalObject::visitChildren):
3436         (WebCore::JSDOMGlobalObject::setInjectedScript):
3437         * bindings/js/JSDOMWindowCustom.cpp:
3438         (WebCore::JSDOMWindow::visitChildren):
3439         * bindings/js/JSDOMWindowShell.cpp:
3440         (WebCore::JSDOMWindowShell::visitChildren):
3441         * bindings/js/JSEventListener.cpp:
3442         (WebCore::JSEventListener::JSEventListener):
3443         * bindings/js/JSEventListener.h:
3444         (WebCore::JSEventListener::jsFunction):
3445         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
3446         (WebCore::JSJavaScriptAudioNode::visitChildren):
3447         * bindings/js/JSMessageChannelCustom.cpp:
3448         (WebCore::JSMessageChannel::visitChildren):
3449         * bindings/js/JSMessagePortCustom.cpp:
3450         (WebCore::JSMessagePort::visitChildren):
3451         * bindings/js/JSNamedNodeMapCustom.cpp:
3452         (WebCore::JSNamedNodeMap::visitChildren):
3453         * bindings/js/JSNodeCustom.cpp:
3454         (WebCore::JSNode::visitChildren):
3455         * bindings/js/JSNodeFilterCustom.cpp:
3456         (WebCore::JSNodeFilter::visitChildren):
3457         * bindings/js/JSNodeIteratorCustom.cpp:
3458         (WebCore::JSNodeIterator::visitChildren):
3459         * bindings/js/JSSVGElementInstanceCustom.cpp:
3460         (WebCore::JSSVGElementInstance::visitChildren):
3461         * bindings/js/JSSharedWorkerCustom.cpp:
3462         (WebCore::JSSharedWorker::visitChildren):
3463         * bindings/js/JSStyleSheetCustom.cpp:
3464         (WebCore::JSStyleSheet::visitChildren):
3465         * bindings/js/JSTreeWalkerCustom.cpp:
3466         (WebCore::JSTreeWalker::visitChildren):
3467         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3468         (WebCore::JSWebGLRenderingContext::visitChildren):
3469         * bindings/js/JSWorkerContextCustom.cpp:
3470         (WebCore::JSWorkerContext::visitChildren):
3471         * bindings/js/JSXMLHttpRequestCustom.cpp:
3472         (WebCore::JSXMLHttpRequest::visitChildren):
3473         * bindings/js/JSXPathResultCustom.cpp:
3474         (WebCore::JSXPathResult::visitChildren):
3475         * bindings/scripts/CodeGeneratorJS.pm:
3476
3477 2011-05-13  Oliver Hunt  <oliver@apple.com>
3478
3479         Reviewed by Geoffrey Garen.
3480
3481         Make GC validation more aggressive
3482         https://bugs.webkit.org/show_bug.cgi?id=60802
3483
3484         This makes GC_VALIDATION much more aggressive in webcore,
3485         adding logic to every visitChildren method to ensure that
3486         the structure still has correct flags.
3487
3488         Additionally every function generated for the dom bindings
3489         makes use of the new GC_VALIDATION object assertions to further
3490         ensure that the object appears to be sensible.
3491
3492         * bindings/js/JSAttrCustom.cpp:
3493         (WebCore::JSAttr::visitChildren):
3494         * bindings/js/JSAudioContextCustom.cpp:
3495         (WebCore::JSAudioContext::visitChildren):
3496         * bindings/js/JSCSSRuleCustom.cpp:
3497         (WebCore::JSCSSRule::visitChildren):
3498         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3499         (WebCore::JSCSSStyleDeclaration::visitChildren):
3500         * bindings/js/JSCanvasRenderingContextCustom.cpp:
3501         (WebCore::JSCanvasRenderingContext::visitChildren):
3502         * bindings/js/JSDOMGlobalObject.cpp:
3503         (WebCore::JSDOMGlobalObject::visitChildren):
3504         (WebCore::JSDOMGlobalObject::setInjectedScript):
3505         * bindings/js/JSDOMWindowCustom.cpp:
3506         (WebCore::JSDOMWindow::visitChildren):
3507         * bindings/js/JSDOMWindowShell.cpp:
3508         (WebCore::JSDOMWindowShell::visitChildren):
3509         * bindings/js/JSEventListener.cpp:
3510         (WebCore::JSEventListener::JSEventListener):
3511         * bindings/js/JSEventListener.h:
3512         (WebCore::JSEventListener::jsFunction):
3513         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
3514         (WebCore::JSJavaScriptAudioNode::visitChildren):
3515         * bindings/js/JSMessageChannelCustom.cpp:
3516         (WebCore::JSMessageChannel::visitChildren):
3517         * bindings/js/JSMessagePortCustom.cpp:
3518         (WebCore::JSMessagePort::visitChildren):
3519         * bindings/js/JSNamedNodeMapCustom.cpp:
3520         (WebCore::JSNamedNodeMap::visitChildren):
3521         * bindings/js/JSNodeCustom.cpp:
3522         (WebCore::JSNode::visitChildren):
3523         * bindings/js/JSNodeFilterCustom.cpp:
3524         (WebCore::JSNodeFilter::visitChildren):
3525         * bindings/js/JSNodeIteratorCustom.cpp:
3526         (WebCore::JSNodeIterator::visitChildren):
3527         * bindings/js/JSSVGElementInstanceCustom.cpp:
3528         (WebCore::JSSVGElementInstance::visitChildren):
3529         * bindings/js/JSSharedWorkerCustom.cpp:
3530         (WebCore::JSSharedWorker::visitChildren):
3531         * bindings/js/JSStyleSheetCustom.cpp:
3532         (WebCore::JSStyleSheet::visitChildren):
3533         * bindings/js/JSTreeWalkerCustom.cpp:
3534         (WebCore::JSTreeWalker::visitChildren):
3535         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3536         (WebCore::JSWebGLRenderingContext::visitChildren):
3537         * bindings/js/JSWorkerContextCustom.cpp:
3538         (WebCore::JSWorkerContext::visitChildren):
3539         * bindings/js/JSXMLHttpRequestCustom.cpp:
3540         (WebCore::JSXMLHttpRequest::visitChildren):
3541         * bindings/js/JSXPathResultCustom.cpp:
3542         (WebCore::JSXPathResult::visitChildren):
3543         * bindings/scripts/CodeGeneratorJS.pm:
3544
3545 2011-05-14  Oliver Hunt  <oliver@apple.com>
3546
3547         Reviewed by Anders Carlsson.
3548
3549         Make Qt bindings GC safe
3550         https://bugs.webkit.org/show_bug.cgi?id=60841
3551
3552         Trying to do cache management by using "this" as a key from a GC
3553         object's destructor leads to a violation of GC semantics.  Make
3554         the qt bindings use a Weak<> handle for finalization.
3555
3556         * bridge/qt/qt_runtime.cpp:
3557         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
3558         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
3559         * bridge/qt/qt_runtime.h:
3560         (JSC::Bindings::QtRuntimeMethodData::finalize):
3561
3562 2011-05-14  Ryosuke Niwa  <rniwa@webkit.org>
3563
3564         Reviewed by Eric Seidel.
3565
3566         Make canHaveChildrenForEditing more efficient
3567         https://bugs.webkit.org/show_bug.cgi?id=53564
3568
3569         Improved the performance (1-2% in release and 20% in debug) by adding virtual member function
3570         canContainRangeEndPoint to Node. It returns true whenever the associated node can have be a container
3571         node for a position.
3572
3573         As of this revision, canContainRangeEndPoint returns true on Document, DocumentFragment, Text nodes
3574         and any elements except:
3575
3576         HTML: applet, br, embed, frame, frameset, hr (unless has children), img, input, keygen,
3577               meter, object (unless uses fallback content), output, progress, select, and textarea.
3578
3579         No new tests are added since this change cannot be tested directly.
3580
3581         * dom/Document.h:
3582         (WebCore::Document::canContainRangeEndPoint): Added; returns false.
3583         * dom/DocumentFragment.h:
3584         (WebCore::DocumentFragment::canContainRangeEndPoint): Added; returns true.
3585         * dom/Element.h:
3586         (WebCore::Element::canContainRangeEndPoint): Ditto.
3587         * dom/Node.h:
3588         (WebCore::Node::canContainRangeEndPoint): Added; returns false.
3589         * dom/Text.h:
3590         (WebCore::Text::canContainRangeEndPoint): Added; returns true.
3591         * editing/htmlediting.cpp: Removed editingIgnoresContent and canHaveChildrenForEditing.
3592         * editing/htmlediting.h:
3593         (WebCore::editingIgnoresContent): Moved from htmlediting.cpp; made it inline.
3594         (WebCore::canHaveChildrenForEditing): Ditto.
3595         * html/HTMLBRElement.h:
3596         (WebCore::HTMLBRElement::canContainRangeEndPoint): Added; returns false.
3597         * html/HTMLButtonElement.h:
3598         (WebCore::HTMLDataGridElement::canContainRangeEndPoint): Ditto.
3599         * html/HTMLFormControlElement.h:
3600         (WebCore::HTMLFormControlElementWithState::canContainRangeEndPoint): Ditto.
3601         * html/HTMLFrameElementBase.h:
3602         (WebCore::HTMLFrameElementBase::canContainRangeEndPoint): Ditto.
3603         * html/HTMLImageElement.h:
3604         (WebCore::HTMLImageElement::canContainRangeEndPoint): Ditto.
3605         * html/HTMLMeterElement.h:
3606         (WebCore::HTMLMeterElement::canContainRangeEndPoint): Ditto.
3607         * html/HTMLOutputElement.h:
3608         (WebCore::HTMLOutputElement::canContainRangeEndPoint): Ditto.
3609         * html/HTMLPlugInElement.h:
3610         (WebCore::HTMLPlugInElement::canContainRangeEndPoint): Ditto.
3611         * html/HTMLProgressElement.h:
3612         (WebCore::HTMLProgressElement::canContainRangeEndPoint): Ditto.
3613         * html/HTMLHRElement.h:
3614         (WebCore::HTMLHRElement::canContainRangeEndPoint): Added; returns true iff it has children.
3615         * html/HTMLObjectElement.h:
3616         (WebCore::HTMLObjectElement::canContainRangeEndPoint): Added; returns true iff it uses fallback
3617         content.
3618
3619 2011-05-14  Jeremy Noble  <jer.noble@apple.com>
3620
3621         Reviewed by Darin Adler.
3622
3623         Exiting full screen causes <video> element inline controls to become visible
3624         https://bugs.webkit.org/show_bug.cgi?id=60142
3625
3626         Create a queue of elements who must be targeted with webkitfullscreenchange events. Instead of dispatching
3627         a single event with whatever the current value of m_fullScreenElement is (which may have been cleared, or
3628         changed since the timer was asked to fire), dispatch one event for each entry in the queue.
3629
3630         Test: fullscreen/video-controls-override.html
3631
3632         * dom/Document.cpp:
3633         (WebCore::Document::webkitDidEnterFullScreenForElement): Push current full screen element onto the
3634             webkitfullscreenchange event delay queue.
3635         (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
3636         (WebCore::Document::fullScreenElementRemoved): Ditto.
3637         (WebCore::Document::fullScreenChangeDelayTimerFired): Empty the queue, dispatching a 
3638             webkitfullscreenchange event for each entry.
3639         * dom/Document.h:
3640
3641 2011-05-14  Patrick Gansterer  <paroga@webkit.org>
3642
3643         Reviewed by Andreas Kling.
3644
3645         Buildfix for SharedTimerWx.cpp
3646         https://bugs.webkit.org/show_bug.cgi?id=60829
3647
3648         * platform/wx/SharedTimerWx.cpp:
3649         (WebCore::WebKitTimer::WebKitTimer):
3650         We can't call the constructor of a base class in the body of the constructor.
3651
3652 2011-05-14  Patrick Gansterer  <paroga@webkit.org>
3653
3654         Unreviewed WinCE build fix for r86477.
3655
3656         Remove the global namespace prefix from GlobalLock/GlobalUnlock.
3657
3658         * platform/win/ClipboardUtilitiesWin.cpp:
3659
3660 2011-05-14  Csaba Osztrogonác  <ossy@webkit.org>
3661
3662         Unreviewed, rolling out r86469 and r86471, because they made hundreds tests crash on Qt.
3663
3664         Make GC validation more aggressive
3665         https://bugs.webkit.org/show_bug.cgi?id=60802
3666
3667         * bindings/js/JSAttrCustom.cpp:
3668         (WebCore::JSAttr::visitChildren):
3669         * bindings/js/JSAudioContextCustom.cpp:
3670         (WebCore::JSAudioContext::visitChildren):
3671         * bindings/js/JSCSSRuleCustom.cpp:
3672         (WebCore::JSCSSRule::visitChildren):
3673         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3674         (WebCore::JSCSSStyleDeclaration::visitChildren):
3675         * bindings/js/JSCanvasRenderingContextCustom.cpp:
3676         (WebCore::JSCanvasRenderingContext::visitChildren):
3677         * bindings/js/JSDOMGlobalObject.cpp:
3678         (WebCore::JSDOMGlobalObject::visitChildren):
3679         (WebCore::JSDOMGlobalObject::setInjectedScript):
3680         * bindings/js/JSDOMWindowCustom.cpp:
3681         (WebCore::JSDOMWindow::visitChildren):
3682         * bindings/js/JSDOMWindowShell.cpp:
3683         (WebCore::JSDOMWindowShell::visitChildren):
3684         * bindings/js/JSEventListener.cpp:
3685         (WebCore::JSEventListener::JSEventListener):
3686         * bindings/js/JSEventListener.h:
3687         (WebCore::JSEventListener::jsFunction):
3688         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
3689         (WebCore::JSJavaScriptAudioNode::visitChildren):
3690         * bindings/js/JSMessageChannelCustom.cpp:
3691         (WebCore::JSMessageChannel::visitChildren):
3692         * bindings/js/JSMessagePortCustom.cpp:
3693         (WebCore::JSMessagePort::visitChildren):
3694         * bindings/js/JSNamedNodeMapCustom.cpp:
3695         (WebCore::JSNamedNodeMap::visitChildren):
3696         * bindings/js/JSNodeCustom.cpp:
3697         (WebCore::JSNode::visitChildren):
3698         * bindings/js/JSNodeFilterCustom.cpp:
3699         (WebCore::JSNodeFilter::visitChildren):
3700         * bindings/js/JSNodeIteratorCustom.cpp:
3701         (WebCore::JSNodeIterator::visitChildren):
3702         * bindings/js/JSSVGElementInstanceCustom.cpp:
3703         (WebCore::JSSVGElementInstance::visitChildren):
3704         * bindings/js/JSSharedWorkerCustom.cpp:
3705         (WebCore::JSSharedWorker::visitChildren):
3706         * bindings/js/JSStyleSheetCustom.cpp:
3707         (WebCore::JSStyleSheet::visitChildren):
3708         * bindings/js/JSTreeWalkerCustom.cpp:
3709         (WebCore::JSTreeWalker::visitChildren):
3710         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3711         (WebCore::JSWebGLRenderingContext::visitChildren):
3712         * bindings/js/JSWorkerContextCustom.cpp:
3713         (WebCore::JSWorkerContext::visitChildren):
3714         * bindings/js/JSXMLHttpRequestCustom.cpp:
3715         (WebCore::JSXMLHttpRequest::visitChildren):
3716         * bindings/js/JSXPathResultCustom.cpp:
3717         (WebCore::JSXPathResult::visitChildren):
3718         * bindings/scripts/CodeGeneratorJS.pm:
3719
3720 2011-05-13  Alexey Proskuryakov  <ap@apple.com>
3721
3722         Reviewed by Darin Adler.
3723
3724         HTML5 Application Cache Update Failures on Page Refresh
3725         https://bugs.webkit.org/show_bug.cgi?id=60598
3726         <rdar://problem/9418639>
3727
3728         Test: http/tests/appcache/interrupted-update.html
3729
3730         The reason was two-fold:
3731         1) Cache group state wasn't fully reset after a failed cache update (or an initial load).
3732         2) The cache group is not deleted until after after the navigation (from autorelease pool),
3733         so the failed and sorry old version was picked up by cache selection algorithm.
3734
3735         The latter is more of a surprising behavior than a problem in itself. Keeping an appcache in
3736         memory for reload is generally a good thing for performance.
3737
3738         * loader/appcache/ApplicationCacheGroup.cpp:
3739         (WebCore::ApplicationCacheGroup::stopLoading): Added a FIXME about half-baked state resetting
3740         code that sent me looking for a wrong fix originally.
3741         (WebCore::ApplicationCacheGroup::stopLoadingInFrame): Stopped load is an update failure like
3742         any other, so we should call cacheUpdateFailed(), which knows how to reset state.
3743
3744 2011-05-13  Enrica Casucci  <enrica@apple.com>
3745
3746         Reviewed by Darin Adler and Brian Weinstein.
3747
3748         REGRESSION (WK2): Can't drag and drop a link or image from Safari to Desktop
3749         https://bugs.webkit.org/show_bug.cgi?id=60819
3750         <rdar://problem/9370689>
3751
3752         To support drag-and-drop to the desktop and other windows applications,
3753         we need to support the fileDescriptor and fileContentZero clipboard formats.
3754         This patch adds the support for serializing these types across the process boundary.
3755         It also fixes a regression introduced by r70914, that was causing the content of the
3756         shortcut files to be corrupted. Using ascii() to convert from String to CString was
3757         causing '\n' and '\r' to be replaced with '?'.
3758         
3759         * platform/DragData.h:
3760         * platform/win/ClipboardUtilitiesWin.cpp:
3761         (WebCore::fileDescriptorFormat): Moved from ClipboardWin.cpp.
3762         (WebCore::fileContentFormatZero): Moved from ClipboardWin.cpp.
3763         (WebCore::getFileDescriptorData): Serialize FileDescriptor type.
3764         (WebCore::getFileContentData): Serialize FileContent type.
3765         (WebCore::setFileDescriptorData): Deserialize FileDescriptor type.
3766         (WebCore::setFileContentData): Deserialize FileContent type.
3767         (WebCore::setCFData): Added missing initialization of the tymed field
3768         that was causing the cfHDrop format not to be deserialized correctly. 
3769         * platform/win/ClipboardUtilitiesWin.h:
3770         * platform/win/ClipboardWin.cpp:
3771         (WebCore::createGlobalHDropContent): Changed ascii() to latin1().
3772         (WebCore::ClipboardWin::writeURL):
3773         * platform/win/DragDataWin.cpp:
3774         (WebCore::DragData::getDragFileDescriptorData):
3775         (WebCore::DragData::getDragFileContentData):
3776
3777 2011-05-13  Daniel Cheng  <dcheng@chromium.org>
3778
3779         Fix the build.
3780
3781         Add includes that the builders are suddenly complaining about...
3782
3783         * page/DragState.h:
3784
3785 2011-05-13  Daniel Cheng  <dcheng@chromium.org>
3786
3787         Reviewed by Tony Chang.
3788
3789         Improve drag start logic
3790         https://bugs.webkit.org/show_bug.cgi?id=59409
3791
3792         Rewrite and simplify the dragging logic to better match IE, Firefox, and the behavior
3793         defined in the spec. Among other things:
3794         - draggableNode() no longer returns text nodes when dragging anchors.
3795         - When starting a drag over an image in a selection, prefer to drag the selection.
3796         - Several redundant hit tests have been removed.
3797         - Minor refactoring to make the logic easier to follow.
3798
3799         Test: platform/mac/editing/pasteboard/drag-selections-to-contenteditable.html
3800
3801         * WebCore.xcodeproj/project.pbxproj:
3802         * page/DragController.cpp:
3803         (WebCore::DragController::draggableNode):
3804         (WebCore::DragController::startDrag):
3805         * page/DragController.h:
3806         * page/DragState.h:
3807         (WebCore::DragState::shouldDispatchEvents):
3808         * page/EventHandler.cpp:
3809         (WebCore::EventHandler::EventHandler):
3810         (WebCore::EventHandler::eventMayStartDrag):
3811         (WebCore::EventHandler::updateDragSourceActionsAllowed):
3812         (WebCore::EventHandler::updateDragAndDrop):
3813         (WebCore::EventHandler::cancelDragAndDrop):
3814         (WebCore::EventHandler::dragHysteresisExceeded):
3815         (WebCore::EventHandler::dragSourceEndedAt):
3816         (WebCore::ExactlyOneBitSet):
3817         (WebCore::EventHandler::handleDrag):
3818         * page/EventHandler.h:
3819
3820 2011-05-13  Oliver Hunt  <oliver@apple.com>
3821
3822         Reviewed by Geoffrey Garen.
3823
3824         Make GC validation more aggressive
3825         https://bugs.webkit.org/show_bug.cgi?id=60802
3826
3827         This makes GC_VALIDATION much more aggressive in webcore,
3828         adding logic to every visitChildren method to ensure that
3829         the structure still has correct flags.
3830
3831         Additionally every function generated for the dom bindings
3832         makes use of the new GC_VALIDATION object assertions to further
3833         ensure that the object appears to be sensible.
3834
3835         * bindings/js/JSAttrCustom.cpp:
3836         (WebCore::JSAttr::visitChildren):
3837         * bindings/js/JSAudioContextCustom.cpp:
3838         (WebCore::JSAudioContext::visitChildren):
3839         * bindings/js/JSCSSRuleCustom.cpp:
3840         (WebCore::JSCSSRule::visitChildren):
3841         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3842         (WebCore::JSCSSStyleDeclaration::visitChildren):
3843         * bindings/js/JSCanvasRenderingContextCustom.cpp:
3844         (WebCore::JSCanvasRenderingContext::visitChildren):
3845         * bindings/js/JSDOMGlobalObject.cpp:
3846         (WebCore::JSDOMGlobalObject::visitChildren):
3847         (WebCore::JSDOMGlobalObject::setInjectedScript):
3848         * bindings/js/JSDOMWindowCustom.cpp:
3849         (WebCore::JSDOMWindow::visitChildren):
3850         * bindings/js/JSDOMWindowShell.cpp:
3851         (WebCore::JSDOMWindowShell::visitChildren):
3852         * bindings/js/JSEventListener.cpp:
3853         (WebCore::JSEventListener::JSEventListener):
3854         * bindings/js/JSEventListener.h:
3855         (WebCore::JSEventListener::jsFunction):
3856         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
3857         (WebCore::JSJavaScriptAudioNode::visitChildren):
3858         * bindings/js/JSMessageChannelCustom.cpp:
3859         (WebCore::JSMessageChannel::visitChildren):
3860         * bindings/js/JSMessagePortCustom.cpp:
3861         (WebCore::JSMessagePort::visitChildren):
3862         * bindings/js/JSNamedNodeMapCustom.cpp:
3863         (WebCore::JSNamedNodeMap::visitChildren):
3864         * bindings/js/JSNodeCustom.cpp:
3865         (WebCore::JSNode::visitChildren):
3866         * bindings/js/JSNodeFilterCustom.cpp:
3867         (WebCore::JSNodeFilter::visitChildren):
3868         * bindings/js/JSNodeIteratorCustom.cpp:
3869         (WebCore::JSNodeIterator::visitChildren):
3870         * bindings/js/JSSVGElementInstanceCustom.cpp:
3871         (WebCore::JSSVGElementInstance::visitChildren):
3872         * bindings/js/JSSharedWorkerCustom.cpp:
3873         (WebCore::JSSharedWorker::visitChildren):
3874         * bindings/js/JSStyleSheetCustom.cpp:
3875         (WebCore::JSStyleSheet::visitChildren):
3876         * bindings/js/JSTreeWalkerCustom.cpp:
3877         (WebCore::JSTreeWalker::visitChildren):
3878         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3879         (WebCore::JSWebGLRenderingContext::visitChildren):
3880         * bindings/js/JSWorkerContextCustom.cpp:
3881         (WebCore::JSWorkerContext::visitChildren):
3882         * bindings/js/JSXMLHttpRequestCustom.cpp:
3883         (WebCore::JSXMLHttpRequest::visitChildren):
3884         * bindings/js/JSXPathResultCustom.cpp:
3885         (WebCore::JSXPathResult::visitChildren):
3886         * bindings/scripts/CodeGeneratorJS.pm:
3887
3888 2011-05-13  Mikhail Naganov  <mnaganov@chromium.org>
3889
3890         Web Inspector: Unreviewed image glyph position fix in CSS after r85588.
3891
3892         * inspector/front-end/heapProfiler.css:
3893         (.heapshot-help-status-bar-item .glyph):
3894
3895 2011-05-13  Adam Barth  <abarth@webkit.org>
3896
3897         Reviewed by Eric Seidel.
3898
3899         iframe sandbox doesn't properly block popups
3900         https://bugs.webkit.org/show_bug.cgi?id=60784
3901
3902         Previously, we weren't implementing this requirement from the spec:
3903
3904         "This flag also prevents content from creating new auxiliary browsing
3905         contexts, e.g. using the target attribute or the window.open() method."
3906
3907         Tests: http/tests/security/no-popup-from-sandbox-top.html
3908                http/tests/security/no-popup-from-sandbox.html
3909
3910         * loader/PolicyChecker.cpp:
3911         (WebCore::PolicyChecker::checkNewWindowPolicy):
3912
3913 2011-05-13  Ryosuke Niwa  <rniwa@webkit.org>
3914
3915         Reviewed by Darin Adler.
3916
3917         click event shouldn't fire when the target is ever removed in mouseup
3918         https://bugs.webkit.org/show_bug.cgi?id=60600
3919
3920         Fixed the bug by invalidating m_clickNode when it or one of its ancestors has been removed
3921         from the document. New behavior matches Internet Explorer and Firefox.
3922
3923         Tests: fast/events/remove-target-in-mouseup-deep.html
3924                fast/events/remove-target-in-mouseup-insertback.html
3925                fast/events/remove-target-in-mouseup-twice.html
3926                fast/events/remove-target-in-mouseup.html
3927
3928         * dom/Document.cpp:
3929         (WebCore::Document::nodeChildrenWillBeRemoved): Calls EventHandler::nodeWillBeRemoved.
3930         (WebCore::Document::nodeWillBeRemoved): Calls EventHandler::nodeWillBeRemoved.
3931         * page/EventHandler.cpp:
3932         (WebCore::EventHandler::nodeWillBeRemoved): Added; invalidates m_clickNode when m_clickNode
3933         or one of its ancestor is removed from the document.
3934         * page/EventHandler.h:
3935
3936 2011-05-13  Alexey Proskuryakov  <ap@apple.com>
3937
3938         Reviewed by Joseph Pecoraro.
3939
3940         Hide appcache status bar items
3941         https://bugs.webkit.org/show_bug.cgi?id=60799
3942
3943         We have a number of non-trivial bugs that make these more misleading than helpful to developers.
3944
3945         * inspector/front-end/ApplicationCacheItemsView.js: (WebInspector.ApplicationCacheItemsView):
3946         Just hide the items for now. Removing all support code would be complicated, and not helpful.
3947
3948 2011-05-13  Adam Barth  <abarth@webkit.org>
3949
3950         Reviewed by Eric Seidel.
3951
3952         indexedDB is visible inside iframe sandbox
3953         https://bugs.webkit.org/show_bug.cgi?id=60785
3954
3955         We're supposed to return a null indexedDB factory when inside an iframe
3956         sandbox.
3957
3958         Test: http/tests/security/no-indexeddb-from-sandbox.html
3959
3960         * page/DOMWindow.cpp:
3961         (WebCore::DOMWindow::webkitIndexedDB):
3962
3963 2011-05-13  Adam Roben  <aroben@apple.com>
3964
3965         Fix manual tests that got broken by the move of WebCore into Source
3966
3967         * manual-tests/plugins/object-clipping.html:
3968         * manual-tests/pointer-events.html:
3969         * manual-tests/video-waiting-seeking.html:
3970         Updated some paths.
3971
3972 2011-05-13  Nat Duca  <nduca@chromium.org>
3973
3974         Reviewed by James Robinson.
3975
3976         [chromium] compositing tests are failing
3977         https://bugs.webkit.org/show_bug.cgi?id=60738
3978
3979         Bind texture before setting its filtering state.
3980
3981         * platform/graphics/chromium/LayerTilerChromium.cpp:
3982         (WebCore::LayerTilerChromium::updateFromPixels):
3983
3984 2011-05-13  Alexey Proskuryakov  <ap@apple.com>
3985
3986         Reviewed by Dan Bernstein.
3987
3988         https://bugs.webkit.org/show_bug.cgi?id=60787
3989         Add some assertions to ApplicationCacheGroup
3990
3991         * loader/appcache/ApplicationCacheGroup.cpp:
3992         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Check that count doesn't&nbs