2011-05-20 Rob Buis <rbuis@rim.com>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-05-20  Rob Buis  <rbuis@rim.com>
2
3         Reviewed by Dirk Schulze.
4
5         Use test from ietestcenter fails
6         https://bugs.webkit.org/show_bug.cgi?id=60844
7
8         When an id changes on an in-document element, we need to check whether the id
9         is part of the pending elements. Since this is the same thing as happens in
10         insertedIntoDocument, split out the common code into buildPendingResourcesIfNeeded.
11
12         Test: svg/W3C-SVG-1.1-SE/struct-use-14-f.svg
13
14         * svg/SVGStyledElement.cpp:
15         (WebCore::SVGStyledElement::svgAttributeChanged):
16         (WebCore::SVGStyledElement::insertedIntoDocument):
17         (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
18         * svg/SVGStyledElement.h:
19
20 2011-05-20  Abhishek Arya  <inferno@chromium.org>
21
22         Reviewed by Kent Tamura.
23
24         Make auto-focus a post attach callback in
25         HTMLFormControlElement::attach().
26         https://bugs.webkit.org/show_bug.cgi?id=32882
27
28         Original patch by Darin Adler. This one uses a part of it.
29         
30         Test: fast/forms/input-element-attach-crash.html
31
32         * dom/Document.cpp:
33         (WebCore::Document::recalcStyle): Make sure that m_inStyleRecalc is
34         already false by the time post-attach callbacks are done so that
35         layout triggered inside those callbacks can work properly.
36         * html/HTMLFormControlElement.cpp:
37         (WebCore::shouldAutofocus): Helper function that expresses
38         the rule for which form control elements should auto-focus.
39         (WebCore::focusPostAttach): Called post-attach to focus an
40         element if we discover it should be focused during attach.
41         (WebCore::HTMLFormControlElement::attach): Refactored code for
42         which elements need auto-focus into a separate function. Instead
43         of focusing right away, use the focusPostAttach function to focus
44         after attach is done. Also added calls to suspendPostAttachCallbacks
45         and resumePostAttachCallbacks so post-attach callbacks happen late
46         enough. Before, they could run inside the base attach function.
47         * html/HTMLInputElement.cpp:
48         (WebCore::HTMLInputElement::attach): Added calls to
49         suspendPostAttachCallbacks and resumePostAttachCallbacks so
50         post-attach callbacks happen late enough
51
52 2011-05-20  Alok Priyadarshi  <alokp@chromium.org>
53
54         Reviewed by James Robinson.
55
56         [chromium] Remove LayerRendererChromium::useShader
57         https://bugs.webkit.org/show_bug.cgi?id=61143
58
59         GPU compositor tests should be sufficient.
60
61         * platform/graphics/chromium/LayerRendererChromium.cpp:
62         (WebCore::LayerRendererChromium::LayerRendererChromium):
63         * platform/graphics/chromium/LayerRendererChromium.h:
64         * platform/graphics/chromium/LayerTilerChromium.cpp:
65         (WebCore::LayerTilerChromium::draw):
66         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
67         (WebCore::RenderSurfaceChromium::drawSurface):
68         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
69         (WebCore::CCCanvasLayerImpl::draw):
70         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
71         (WebCore::CCHeadsUpDisplay::draw):
72         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
73         (WebCore::CCLayerImpl::drawDebugBorder):
74         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
75         (WebCore::CCPluginLayerImpl::draw):
76         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
77         (WebCore::CCVideoLayerImpl::drawYUV):
78         (WebCore::CCVideoLayerImpl::drawRGBA):
79
80 2011-05-20  Dirk Schulze  <krit@webkit.org>
81
82         Reviewed by Darin Adler.
83
84         SVGPathSegList needs better getTotalLength, getSegmentAtLength path traversal code
85         https://bugs.webkit.org/show_bug.cgi?id=12047
86
87         Right now SVGPathElement::getTotalLength and SVGPathElement::getPointAtLength use toPathData()
88         to transform a SVGPathByteStream to a Path. This Path gets traversed to find the searched value.
89         With this patch both functions use the SVGPathByteStream directly together with the existing
90         traversing code in SVG. This avoids the intermediate transforming to a platform path and gives
91         platform independent results.
92         The traversal code in SVG needed to be extended to support all PathTraversalActions.
93
94         No new tests added. The existing tests cover the changes.
95
96         * svg/SVGPathElement.cpp:
97         (WebCore::SVGPathElement::getTotalLength):
98         (WebCore::SVGPathElement::getPointAtLength):
99         * svg/SVGPathParserFactory.cpp:
100         (WebCore::SVGPathParserFactory::getTotalLengthOfSVGPathByteStream):
101         (WebCore::SVGPathParserFactory::getPointAtLengthOfSVGPathByteStream):
102         * svg/SVGPathParserFactory.h:
103         * svg/SVGPathTraversalStateBuilder.cpp:
104         (WebCore::SVGPathTraversalStateBuilder::continueConsuming):
105         (WebCore::SVGPathTraversalStateBuilder::totalLength):
106         (WebCore::SVGPathTraversalStateBuilder::currentPoint):
107         * svg/SVGPathTraversalStateBuilder.h:
108
109 2011-05-20  Mark Pilgrim  <pilgrim@chromium.org>
110
111         Reviewed by Tony Chang.
112
113         IndexedDB createObjectStore should throw if name is null
114         https://bugs.webkit.org/show_bug.cgi?id=58465
115
116         Test: storage/indexeddb/mozilla/create-objectstore-null-name.html
117
118         * storage/IDBDatabase.idl:
119         * storage/IDBDatabaseBackendImpl.cpp:
120         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
121
122 2011-05-20  Xiaomei Ji  <xji@chromium.org>
123
124         Reviewed by Ryosuke Niwa.
125
126         ctrl-arrow does not work on words separated by multiple spaces.
127         https://bugs.webkit.org/show_bug.cgi?id=57543.
128
129         Add the leftmost boundary of a box in RTL block or the rightmost boundary of a box in LTR
130         block as word break if its inlineBox is the current box and it is a word break.
131
132         * editing/visible_units.cpp:
133         (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality): Add the rightmost
134         boundary of a box in LTR block or leftmost boundary of a box in RTL block as visually
135         first word break.
136         (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
137         (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
138         (WebCore::leftWordBoundary): Fix bug change "box" to "adjacentBox".
139         (WebCore::rightWordBoundary): Fix bug change "box" to "adjacentBox".
140
141 2011-05-19  Evan Martin  <evan@chromium.org>
142
143         Reviewed by Tony Chang.
144
145         [chromium] remove <(library) variable
146         https://bugs.webkit.org/show_bug.cgi?id=61158
147
148         This was for a build experiment; we can just use the correct value now.
149
150         * WebCore.gyp/WebCore.gyp:
151
152 2011-05-20  Pavel Podivilov  <podivilov@chromium.org>
153
154         Reviewed by Pavel Feldman.
155
156         Web Inspector: breakpoints disappear from ui after navigation.
157         https://bugs.webkit.org/show_bug.cgi?id=61133
158
159         * inspector/front-end/DebuggerPresentationModel.js:
160         (WebInspector.DebuggerPresentationModel.prototype._debuggerWasEnabled):
161         (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
162
163 2011-05-20  Sheriff Bot  <webkit.review.bot@gmail.com>
164
165         Unreviewed, rolling out r86958.
166         http://trac.webkit.org/changeset/86958
167         https://bugs.webkit.org/show_bug.cgi?id=61195
168
169         broke breakpoints persisting (Requested by podivilov on
170         #webkit).
171
172         * inspector/front-end/DebuggerPresentationModel.js:
173         (WebInspector.DebuggerPresentationModel.prototype._debuggerWasEnabled):
174         (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
175
176 2011-05-19  Sergey Vorobyev  <sergeyvorobyev@google.com>
177
178         Reviewed by Yury Semikhatsky.
179
180         Web Inspector: Background network events collection - add GUI to Inspector.
181         https://bugs.webkit.org/show_bug.cgi?id=58652
182
183         Now in WebInspector Network panel avalaible new checkbox item in context menu:
184         "Background events collection". It allows to save all network events when inspector
185         frontend closed. Events that occur before collection enabling are not preserved after
186         frontend reopening. Property unique for each page. Disabled by default.
187
188
189         Tests: http/tests/inspector/network/network-clear-after-disabled.html
190                http/tests/inspector/network/network-close-load-open.html
191                http/tests/inspector/network/network-open-load-reopen.html
192
193         * inspector/EventsCollector.cpp:
194         (WebCore::EventsCollector::clear):
195         * inspector/EventsCollector.h:
196         * inspector/Inspector.json:
197         * inspector/InspectorFrontendProxy.cpp:
198         (WebCore::InspectorFrontendProxy::inspectorFrontendChannel):
199         * inspector/InspectorFrontendProxy.h:
200         * inspector/InspectorResourceAgent.cpp:
201         (WebCore::InspectorResourceAgent::setFrontend):
202         (WebCore::InspectorResourceAgent::clearFrontend):
203         (WebCore::InspectorResourceAgent::isBackgroundEventsCollectionEnabled):
204         (WebCore::InspectorResourceAgent::setBackgroundEventsCollectionEnabled):
205         (WebCore::InspectorResourceAgent::initializeBackgroundCollection):
206         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
207         * inspector/InspectorResourceAgent.h:
208         * inspector/front-end/NetworkPanel.js:
209         (WebInspector.NetworkPanel):
210         (WebInspector.NetworkPanel.prototype._contextMenu):
211         (WebInspector.NetworkPanel.prototype._toggleBackgroundEventsCollection):
212
213 2011-05-20  Pavel Podivilov  <podivilov@chromium.org>
214
215         Reviewed by Pavel Feldman.
216
217         Web Inspector: breakpoints disappear from ui after navigation.
218         https://bugs.webkit.org/show_bug.cgi?id=61133
219
220         * inspector/front-end/DebuggerPresentationModel.js:
221         (WebInspector.DebuggerPresentationModel.prototype._debuggerWasEnabled):
222         (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
223
224 2011-05-20  Jer Noble  <jer.noble@apple.com>
225
226         Reviewed by Maciej Stachowiak.
227
228         Win: non-full-screen content is briefly seen when entering full-screen mode (and vice versa)
229         https://bugs.webkit.org/show_bug.cgi?id=61108
230
231         Instead of repainting the full- and non-full-screen windows in WebCore, delegate that
232         responsibility to the FullScreenControllerClient.  Because the repaint operation may 
233         be asynchronous, add a new method for clients to use to indicate repainting has completed.
234
235         * platform/graphics/win/FullScreenController.cpp:
236         (FullScreenController::Private::Private): Added new ivars.
237         (FullScreenController::enterFullScreen): Split into two functions (pre-and post repaint)
238         (FullScreenController::enterFullScreenRepaintCompleted): Ditto.
239         (FullScreenController::exitFullScreen): Ditto.
240         (FullScreenController::exitFullScreenRepaintCompleted): Ditto.
241         (FullScreenController::repaintCompleted): Call the appropriated repaint completed function.
242         * platform/graphics/win/FullScreenController.h:
243         * platform/graphics/win/FullScreenControllerClient.h:
244
245 2011-05-20  Yury Semikhatsky  <yurys@chromium.org>
246
247         Reviewed by Pavel Feldman.
248
249         Web Inspector: use RefPtr instead of OwnPtr to store InspectorBackendDispatcher
250         https://bugs.webkit.org/show_bug.cgi?id=61188
251
252         * inspector/WorkerInspectorController.cpp:
253         (WebCore::WorkerInspectorController::connectFrontend):
254         (WebCore::WorkerInspectorController::disconnectFrontend):
255         * inspector/WorkerInspectorController.h:
256
257 2011-05-20  Tonis Tiigi  <tonistiigi@gmail.com>
258
259         Reviewed by Pavel Feldman.
260
261         Web Inspector: Network panel should only show pointer cursor over valid resources
262         https://bugs.webkit.org/show_bug.cgi?id=55240
263
264         Cursor style removed from filler area.
265
266         * inspector/front-end/networkPanel.css:
267         (.network-sidebar .data-grid tr:not(.filler) td.name-column):
268
269 2011-05-20  Peter Varga  <pvarga@webkit.org>
270
271         Reviewed by Simon Hausmann.
272
273         [Qt][V8] Use qtscript-staging's shipped version of V8 when building with --v8
274         https://bugs.webkit.org/show_bug.cgi?id=56649
275
276         Use the provided V8 and functionality of
277         http://qt.gitorious.org/+qt-developers/qt/qtscript-staging to build QtWebKit+V8.
278         Based on the original patch of Andras Becsi <abecsi@webkit.org>.
279
280         No new tests needed.
281
282         * CodeGenerators.pri: Add generating of DebuggerScriptSource.h
283         * WebCore.pri: Fix the options for V8 build.
284         * WebCore.pro: Ditto.
285         * bindings/v8/NPV8Object.cpp:
286         (WebCore::npObjectTypeInfo): Add missing initializer.
287         * bindings/v8/ScriptController.cpp:
288         (WebCore::ScriptController::disableEval): Temporarily disable
289         unsupported feature on Qt.
290         * bindings/v8/ScriptControllerQt.cpp:
291         (WebCore::ScriptController::qtScriptEngine): use the QtScriptEngine
292         constructor of qtscript-staging.
293         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: Add missing
294         initializer.
295         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: Ditto.
296         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Ditto.
297         * loader/appcache/ApplicationCacheGroup.cpp: Add missing header.
298         * loader/cache/CachedResourceRequest.cpp: Ditto.
299         * page/PageSerializer.cpp: Ditto.
300         * page/qt/FrameQt.cpp: Ditto.
301         * storage/StorageEventDispatcher.cpp: Ditto.
302
303 2011-05-20  Tonis Tiigi  <tonistiigi@gmail.com>
304
305         Reviewed by Pavel Feldman.
306
307         Web Inspector: console.log(XMLDocument) should be case preserving
308         https://bugs.webkit.org/show_bug.cgi?id=60765
309
310         Changes the XML document checking from base documents MIME type
311         to xmlVersion parameter.
312
313         * inspector/InspectorDOMAgent.cpp:
314         (WebCore::InspectorDOMAgent::buildObjectForNode):
315         * inspector/front-end/DOMAgent.js:
316         (WebInspector.DOMNode):
317         * inspector/front-end/ElementsTreeOutline.js:
318         (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
319
320 2011-05-20  Mikhail Naganov  <mnaganov@chromium.org>
321
322         Reviewed by Yury Semikhatsky.
323
324         Web Inspector: [Chromium] Use bottom-up CPU profile tree built in VM,
325         instead of building it on Inspector's side.
326         https://bugs.webkit.org/show_bug.cgi?id=61185
327
328         * bindings/js/ScriptProfile.cpp:
329         (WebCore::ScriptProfile::bottomUpHead):
330         (WebCore::ScriptProfile::buildInspectorObjectForBottomUpHead):
331         * bindings/js/ScriptProfile.h:
332         * bindings/v8/ScriptProfile.cpp:
333         (WebCore::ScriptProfile::bottomUpHead):
334         (WebCore::ScriptProfile::buildInspectorObjectForBottomUpHead):
335         * bindings/v8/ScriptProfile.h:
336         * inspector/InspectorProfilerAgent.cpp:
337         (WebCore::InspectorProfilerAgent::getProfile):
338         * inspector/front-end/ProfileView.js:
339         (WebInspector.CPUProfileView.prototype.get bottomUpProfileDataGridTree):
340
341 2011-05-20  Adam Roben  <aroben@apple.com>
342
343         Mac build fix after r86936
344
345         * WebCore.xcodeproj/project.pbxproj: Added preprocessor.pm like the
346         other .pm files.
347
348 2011-05-20  Kent Tamura  <tkent@chromium.org>
349
350         Try to fix Windows CE build.
351         Touch html.css to kick UA style sheet generation.
352
353         * css/html.css:
354
355 2011-05-20  Kent Tamura  <tkent@chromium.org>
356
357         Try to fix Windows CE build. 
358
359         * CMakeLists.txt: Add --preprocessor flag.
360
361 2011-05-20  Kent Tamura  <tkent@chromium.org>
362
363         Reviewed by Hajime Morita.
364
365         Apply feature flags to user-agent style sheets
366         https://bugs.webkit.org/show_bug.cgi?id=52612
367
368         A user-agent style sheet should not have style definitions for disabled
369         features because such definitions makes feature detection harder and
370         causes incorrect behavior (See Bug 52214).
371
372         We have handled such feature-dependent style definitions by providing
373         separated CSS files and selecting them in build files. Adding such style
374         definition was hard because we need to update each of build files. This
375         change simplifies the process to add such style definitions by applying
376         preprocessor to the CSS files.
377
378         Implementation:
379         make-css-file-arrays.pl invokes a preprocessor if it has --defines
380         option. Otherwise, it just remove lines beginning with #.
381         In this change, we pass --defines on Mac, Windows, Chromium, GTK, and
382         CMake platforms. Qt and Android have no behavior change.
383
384         * CMakeLists.txt:
385           - IDL handling depends on preprocessor.pm.
386           - Pass --defines option to make-css-file-arrays.pl
387           - Add WebCore/bindings/scripts to @INC for make-css-file-arrays.pl
388         * CodeGenerators.pri: IDL handling depends on preprocessor.pm.
389         * DerivedSources.make: ditto.
390         * GNUmakefile.am: ditto.
391         * WebCore.gyp/WebCore.gyp: ditto.
392         * WebCore.gyp/scripts/action_useragentstylesheets.py:
393           Change parameter order to support perl modules and options.
394           Many code is taken from rule_bindings.py.
395         * WebCore.vcproj/MigrateScripts: Handles preprocessor.pm.
396         * bindings/scripts/IDLParser.pm:
397           Move the preprocessor code to preprocessor.pm.
398         * bindings/scripts/preprocessor.pm:
399           Added. The code was moved from IDLParser.pm
400         * css/html.css: Enclose some style definitions with #if-#endif.
401         * css/make-css-file-arrays.pl:
402           - Add --defines and --preprocessor options.
403           - Invoke a preprocessor if --defines is specified.
404
405 2011-05-20  Dirk Schulze  <krit@webkit.org>
406
407         Rubber-stamped by Nikolas Zimmermann.
408
409         Remove unnecessary class Path inlcude from PathTraversalState.
410
411         * platform/graphics/PathTraversalState.h:
412
413 2011-05-19  Pavel Podivilov  <podivilov@chromium.org>
414
415         Reviewed by Pavel Feldman.
416
417         Web Inspector: ctrl+s should not switch source frame to read only mode.
418         https://bugs.webkit.org/show_bug.cgi?id=61125
419
420         * inspector/front-end/SourceFrame.js:
421         (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
422         (WebInspector.SourceFrame.prototype.commitEditing):
423         * inspector/front-end/inspector.js:
424         (WebInspector.documentKeyDown):
425
426 2011-05-20  Piroska András  <Piroska.Andras@stud.u-szeged.hu>
427
428         Reviewed by Nikolas Zimmermann.
429
430         Apply the ParallelJobs support to FEConvolveMatrix
431         https://bugs.webkit.org/show_bug.cgi?id=61171
432
433         The FEConvolveMatrix filter of SVG can consume lots of resources if it is
434         applied to a large area. The computation can be distributed to multiple
435         cores if the architecture supports.
436         The average performance progression is 20-30% on dual-core machines.
437
438         Developed in cooperation with Gabor Loki.
439
440         * platform/graphics/filters/FEConvolveMatrix.cpp:
441         (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
442         (WebCore::FEConvolveMatrix::setInteriorPixels):
443         (WebCore::FEConvolveMatrix::setInteriorPixelsWorker):
444         (WebCore::FEConvolveMatrix::apply):
445         * platform/graphics/filters/FEConvolveMatrix.h:
446
447 2011-05-20  Sheriff Bot  <webkit.review.bot@gmail.com>
448
449         Unreviewed, rolling out r86920.
450         http://trac.webkit.org/changeset/86920
451         https://bugs.webkit.org/show_bug.cgi?id=61173
452
453         It cause compile error on some buildbot in chromium. e.g.
454         http://build.chromium.org/p/chromium.memory/builders/Chromium%20Mac%20Builder%20%28valgrind%29/builds/12336/steps/compile/logs/stdio#error1
455         (Requested by ukai_ on #webkit).
456
457         * WebCore.xcodeproj/project.pbxproj:
458         * css/CSSComputedStyleDeclaration.cpp:
459         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
460         * css/CSSParser.cpp:
461         (WebCore::CSSParser::parseValue):
462         * css/CSSPrimitiveValueMappings.h:
463         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
464         (WebCore::CSSPrimitiveValue::operator EImageRendering):
465         * css/CSSPropertyNames.in:
466         * css/CSSStyleSelector.cpp:
467         (WebCore::CSSStyleSelector::applyProperty):
468         * css/CSSValueKeywords.in:
469         * css/SVGCSSComputedStyleDeclaration.cpp:
470         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
471         * css/SVGCSSPropertyNames.in:
472         * css/SVGCSSStyleSelector.cpp:
473         (WebCore::CSSStyleSelector::applySVGProperty):
474         * css/SVGCSSValueKeywords.in:
475         * html/HTMLCanvasElement.cpp:
476         (WebCore::HTMLCanvasElement::paint):
477         * html/HTMLCanvasElement.h:
478         * platform/graphics/ImageRenderingMode.h: Removed.
479         * rendering/RenderBoxModelObject.cpp:
480         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
481         * rendering/RenderHTMLCanvas.cpp:
482         (WebCore::RenderHTMLCanvas::paintReplaced):
483         * rendering/style/RenderStyle.cpp:
484         (WebCore::RenderStyle::diff):
485         * rendering/style/RenderStyle.h:
486         * rendering/style/RenderStyleConstants.h:
487         * rendering/style/SVGRenderStyle.cpp:
488         (WebCore::SVGRenderStyle::diff):
489         * rendering/style/SVGRenderStyle.h:
490         (WebCore::SVGRenderStyle::initialImageRendering):
491         (WebCore::SVGRenderStyle::setImageRendering):
492         (WebCore::SVGRenderStyle::imageRendering):
493         (WebCore::SVGRenderStyle::InheritedFlags::operator==):
494         (WebCore::SVGRenderStyle::setBitDefaults):
495         * rendering/style/SVGRenderStyleDefs.h:
496         * rendering/style/StyleRareInheritedData.cpp:
497         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
498         (WebCore::StyleRareInheritedData::operator==):
499         * rendering/style/StyleRareInheritedData.h:
500         * rendering/svg/SVGRenderTreeAsText.cpp:
501         (WebCore::writeStyle):
502
503 2011-05-20  Dirk Schulze  <krit@webkit.org>
504
505         Reviewed by Eric Seidel.
506
507         SVG Large curve path segment OOM crash
508         https://bugs.webkit.org/show_bug.cgi?id=42079
509
510         Limit the depth of repeatedly splitting a segment on length calculation to 20. The limitation
511         is necessary for very big segments that would be splitter into millions of parts otherwise.
512         The limitation just cause a less accurate approximation.
513         At the moment the limit is fixed to 20. This is comparable with splitting the segment into 
514         ~1 million parts as a worst case. We might want to be more flexible later.
515
516         Test: svg/custom/path-getTotalLength-on-big-segment-crash.svg
517
518         * platform/graphics/PathTraversalState.cpp:
519         (WebCore::midPoint):
520         (WebCore::curveLength):
521         (WebCore::PathTraversalState::PathTraversalState):
522         (WebCore::PathTraversalState::moveTo):
523         (WebCore::PathTraversalState::quadraticBezierTo):
524         (WebCore::PathTraversalState::cubicBezierTo):
525         * platform/graphics/PathTraversalState.h:
526
527 2011-05-20  Leo Yang  <leo.yang@torchmobile.com.cn>
528
529         Reviewed by Nikolas Zimmermann.
530
531         SVGRootInlineBox triggers calculateBoundaries twice in layout
532         https://bugs.webkit.org/show_bug.cgi?id=60979
533
534         SVGRootInlineBox was calculating boundaries for children twice
535         in computePerCharacterLayoutInformation(). The first time of
536         calculation was in layoutChildBoxes() which is called by
537         computePerCharacterLayoutInformation(), and the second time of
538         calculation was in layoutRootBox() following layoutChildBoxes().
539
540         This patch calculates rectangle of children in layoutChildBoxes()
541         and then uses the rectange in layoutRootBox() to reduce a pass
542         of calculating child boundaries.
543
544         No functionality change, no new tests.
545
546         * rendering/svg/SVGRootInlineBox.cpp:
547         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
548         (WebCore::SVGRootInlineBox::layoutChildBoxes):
549         (WebCore::SVGRootInlineBox::layoutRootBox):
550         * rendering/svg/SVGRootInlineBox.h:
551
552 2011-05-19  Naoki Takano  <takano.naoki@gmail.com>
553
554         Reviewed by Kent Tamura.
555
556         Fix a problem that updating HTMLInputElement::value sets the cursor to a wrong position.
557         https://bugs.webkit.org/show_bug.cgi?id=61163
558
559         Manual test input-number-localization.html.
560         Because we can't assume any number formats in various WebKit ports.
561
562         * html/HTMLInputElement.cpp:
563         (WebCore::HTMLInputElement::setValue): The cursor must be the last position of visibleValue(), not m_value.
564         * manual-tests/input-number-localization.html: Added manual test to check the cursor correctly moved to the last poisition of the input.
565
566 2011-05-19  Jer Noble  <jer.noble@apple.com>
567
568         Reviewed by Maciej Stachowiak.
569
570         WebKit2: Flashing when entering and exiting full screen mode
571         https://bugs.webkit.org/show_bug.cgi?id=56957
572
573         Guard against the parameter of setAnimating() matching the ivar value it's 
574         setting, thus avoiding tearing down the renderer's layer backing.
575
576         * rendering/RenderFullScreen.cpp:
577         (RenderFullScreen::setAnimating):
578
579 2011-05-19  Julien Chaffraix  <jchaffraix@codeaurora.org>
580
581         Reviewed by Adam Barth.
582
583         Remove Node::deprecatedParserAddChild
584         https://bugs.webkit.org/show_bug.cgi?id=60818
585
586         Refactoring only so no new tests.
587
588         This patch fails short of one instance of deprecatedParserAddChild which will
589         require a refactoring of <input> shadow DOM to be removed.
590
591         * dom/XMLDocumentParser.cpp:
592         (WebCore::XMLDocumentParser::pushCurrentNode): Updated to use a ContainerNode.
593         (WebCore::XMLDocumentParser::clearCurrentNodeStack): We now need to clear
594         up m_leafTextNode too.
595
596         (WebCore::XMLDocumentParser::enterText):
597         (WebCore::XMLDocumentParser::exitText):
598         Those methods were updated to use m_leafTextNode instead of m_currentNode.
599
600         * dom/XMLDocumentParser.h:
601         Changed the currentNode logic to use ContainerNode. Also fixed the style of the
602         forward declarations.
603
604         * dom/XMLDocumentParserLibxml2.cpp:
605         (WebCore::XMLDocumentParser::startElementNs):
606         (WebCore::XMLDocumentParser::endElementNs):
607         (WebCore::XMLDocumentParser::characters):
608         (WebCore::XMLDocumentParser::processingInstruction):
609         (WebCore::XMLDocumentParser::cdataBlock):
610         (WebCore::XMLDocumentParser::comment):
611         * dom/XMLDocumentParserQt.cpp:
612         (WebCore::XMLDocumentParser::parse):
613         (WebCore::XMLDocumentParser::parseStartElement):
614         (WebCore::XMLDocumentParser::parseEndElement):
615         (WebCore::XMLDocumentParser::parseCharacters):
616         (WebCore::XMLDocumentParser::parseProcessingInstruction):
617         (WebCore::XMLDocumentParser::parseCdata):
618         (WebCore::XMLDocumentParser::parseComment):
619         Removed the calls to deprecatedParserAddChild, changed the code to use
620         m_leafTextNode when it made sense and used ContainerNode instead of
621         Node for m_currentNode.
622
623 2011-05-19  Mike Lawther  <mikelawther@chromium.org>
624
625         Reviewed by Simon Fraser.
626
627         implement image-rendering: optimize-contrast (with a vendor prefix) as defined in CSS3 image values
628         https://bugs.webkit.org/show_bug.cgi?id=56627
629
630         Tests: css3/images/optimize-contrast-canvas.html
631                css3/images/optimize-contrast-image.html
632
633         * WebCore.xcodeproj/project.pbxproj:
634         * css/CSSComputedStyleDeclaration.cpp:
635         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
636         * css/CSSParser.cpp:
637         (WebCore::CSSParser::parseValue):
638         * css/CSSPrimitiveValueMappings.h:
639         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
640         (WebCore::CSSPrimitiveValue::operator EImageRendering):
641         * css/CSSPropertyNames.in:
642         * css/CSSStyleSelector.cpp:
643         (WebCore::CSSStyleSelector::applyProperty):
644         * css/CSSValueKeywords.in:
645         * css/SVGCSSComputedStyleDeclaration.cpp:
646         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
647         * css/SVGCSSPropertyNames.in:
648         * css/SVGCSSStyleSelector.cpp:
649         (WebCore::CSSStyleSelector::applySVGProperty):
650         * css/SVGCSSValueKeywords.in:
651         * html/HTMLCanvasElement.cpp:
652         (WebCore::HTMLCanvasElement::paint):
653         * html/HTMLCanvasElement.h:
654         * platform/graphics/ImageRenderingMode.h: Added.
655         * rendering/RenderBoxModelObject.cpp:
656         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
657         * rendering/RenderHTMLCanvas.cpp:
658         (WebCore::RenderHTMLCanvas::paintReplaced):
659         * rendering/style/RenderStyle.cpp:
660         (WebCore::RenderStyle::diff):
661         * rendering/style/RenderStyle.h:
662         (WebCore::InheritedFlags::imageRendering):
663         (WebCore::InheritedFlags::setImageRendering):
664         (WebCore::InheritedFlags::initialImageRendering):
665         * rendering/style/RenderStyleConstants.h:
666         * rendering/style/SVGRenderStyle.cpp:
667         (WebCore::SVGRenderStyle::diff):
668         * rendering/style/SVGRenderStyle.h:
669         (WebCore::SVGRenderStyle::InheritedFlags::operator==):
670         (WebCore::SVGRenderStyle::setBitDefaults):
671         * rendering/style/SVGRenderStyleDefs.h:
672         * rendering/svg/SVGRenderTreeAsText.cpp:
673         (WebCore::writeStyle):
674
675 2011-05-18  Kenneth Russell  <kbr@google.com>
676
677         Reviewed by James Robinson.
678
679         [chromium] Disable blending in compositor for WebGL layers with alpha=false
680         https://bugs.webkit.org/show_bug.cgi?id=61091
681
682         Test: compositing/webgl/webgl-no-alpha.html
683
684         * platform/graphics/chromium/CanvasLayerChromium.cpp:
685         (WebCore::CanvasLayerChromium::CanvasLayerChromium):
686         (WebCore::CanvasLayerChromium::pushPropertiesTo):
687         * platform/graphics/chromium/CanvasLayerChromium.h:
688         * platform/graphics/chromium/WebGLLayerChromium.cpp:
689         (WebCore::WebGLLayerChromium::setContext):
690         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
691         (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl):
692         (WebCore::CCCanvasLayerImpl::draw):
693         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
694         (WebCore::CCCanvasLayerImpl::setHasAlpha):
695
696 2011-05-18  Jeremy Noble  <jer.noble@apple.com>
697
698         Reviewed by Darin Adler.
699
700         Poster is not shown in Safari for video element with no playable source elements.
701         https://bugs.webkit.org/show_bug.cgi?id=61109
702
703         Test: media/video-src-invalid-poster.html
704
705         In the case where no video sources are playable, update the display state and 
706         renderer, allowing the poster image to display.
707
708         * html/HTMLMediaElement.cpp:
709         (WebCore::HTMLMediaElement::waitForSourceChange): 
710
711 2011-05-19  Andrew Wilson  <atwilson@chromium.org>
712
713         Reviewed by Darin Adler.
714
715         MessagePortArray cloning code needs to verify source before copying.
716         https://bugs.webkit.org/show_bug.cgi?id=61130
717
718         * bindings/js/JSMessagePortCustom.cpp:
719         (WebCore::fillMessagePortArray):
720         Changed code to not pre-allocate the destination array.
721         * bindings/v8/custom/V8MessagePortCustom.cpp:
722         (WebCore::getMessagePortArray):
723         Changed code to not pre-allocate the destination array.
724
725 2011-05-19  Sheriff Bot  <webkit.review.bot@gmail.com>
726
727         Unreviewed, rolling out r86869, r86873, r86875, and r86877.
728         http://trac.webkit.org/changeset/86869
729         http://trac.webkit.org/changeset/86873
730         http://trac.webkit.org/changeset/86875
731         http://trac.webkit.org/changeset/86877
732         https://bugs.webkit.org/show_bug.cgi?id=61139
733
734         broke builds and debug DRT (Requested by rniwa on #webkit).
735
736         * DerivedSources.make:
737         * WebCore.exp.in:
738         * WebCore.gyp/WebCore.gyp:
739         * WebCore.gypi:
740         * WebCore.xcodeproj/project.pbxproj:
741         * testing/Internals.cpp: Removed.
742         * testing/Internals.h: Removed.
743         * testing/Internals.idl: Removed.
744         * testing/js/WebCoreTestSupport.cpp: Removed.
745         * testing/js/WebCoreTestSupport.h: Removed.
746         * testing/v8/WebCoreTestSupport.cpp: Removed.
747         * testing/v8/WebCoreTestSupport.h: Removed.
748
749 2011-05-19  Dimitri Glazkov  <dglazkov@chromium.org>
750
751         One more fix after r86869.
752
753         * WebCore.exp.in: Made __ZN7WebCore12JSDOMWrapperD2Ev only export for debug builds.
754
755 2011-05-19  Anders Carlsson  <andersca@apple.com>
756
757         Add two more symbols needed by the window.internals library.
758
759         * WebCore.exp.in:
760
761 2011-05-19  Dimitri Glazkov  <dglazkov@chromium.org>
762
763         Fix Leopard build after r86869.
764
765         * WebCore.exp.in: Moved now-always-used exported symbols out of the conditional guard.
766
767 2011-05-19  Robert Hogan  <robert@webkit.org>
768
769         Reviewed by Andreas Kling.
770
771         [Qt] Fix plugins/windowless_plugin_paint_test.html
772         https://bugs.webkit.org/show_bug.cgi?id=60992
773
774         Call gdk_init_check before gdk_display_get_default().
775         If we don't do this, gdk_display_get_default() will hang
776         the next time it's called.
777
778         * plugins/qt/PluginViewQt.cpp:
779         (WebCore::getPluginDisplay):
780
781 2011-05-18  Dimitri Glazkov  <dglazkov@chromium.org>
782
783         Reviewed by Darin Adler.
784
785         Add build logistics and plumbing for window.internals object.
786         https://bugs.webkit.org/show_bug.cgi?id=60313
787
788         Test: fast/harness/internals-object.html
789
790         * DerivedSources.make: Added support for generating from Internals.idl.
791         * WebCore.gyp/WebCore.gyp: Added new webcore_test_support library.
792         * WebCore.gypi: Ditto.
793         * WebCore.xcodeproj/project.pbxproj: Added WebCoreTestSupport library.
794         * testing/Internals.cpp: Added.
795         * testing/Internals.h: Added.
796         * testing/Internals.idl: Added.
797         * testing/js/WebCoreTestSupport.cpp: Added.
798         * testing/js/WebCoreTestSupport.h: Added.
799         * testing/v8/WebCoreTestSupport.cpp: Added.
800         * testing/v8/WebCoreTestSupport.h: Added.
801
802 2011-05-19  Dimitri Glazkov  <dglazkov@chromium.org>
803
804         Accept XCode's decisions to keep modifying WebCore.xcodeproj.
805
806         * WebCore.xcodeproj/project.pbxproj: Opened in XCode then closed.
807
808 2011-05-19  Andrew Wason  <rectalogic@rectalogic.com>
809
810         Reviewed by Darin Adler.
811
812         Fix GraphicsContext3DQt.cpp compile error
813         https://bugs.webkit.org/show_bug.cgi?id=61128
814
815         * platform/graphics/qt/GraphicsContext3DQt.cpp:
816         (WebCore::GraphicsContext3D::GraphicsContext3D):
817          clear() m_internal OwnPtr.
818
819 2011-05-19  Tonis Tiigi  <tonistiigi@gmail.com>
820
821         Reviewed by Pavel Feldman.
822
823         Web Inspector: Resizing columns in the network panel is weird
824         https://bugs.webkit.org/show_bug.cgi?id=55238
825
826         Makes network panel column resizing more usable by adding "first only" and "last only"
827         resizing methods to WebInspector.DataGrid. Current behavior is named "nearest" and
828         remains default. Network panels datagrid is set to use method "last".
829
830         * inspector/front-end/DataGrid.js:
831         (WebInspector.DataGrid.prototype.get resizeMethod):
832         (WebInspector.DataGrid.prototype.set resizeMethod):
833         (WebInspector.DataGrid.prototype._resizerDragging):
834         * inspector/front-end/NetworkPanel.js:
835         (WebInspector.NetworkPanel.prototype._createTable):
836
837 2011-05-19  Ryosuke Niwa  <rniwa@webkit.org>
838
839         Reviewed by Darin Adler.
840
841         JoinTextNodesCommand is never used
842         https://bugs.webkit.org/show_bug.cgi?id=61089
843
844         Deleted JoinTextNodesCommand because it's never used.
845
846         * CMakeLists.txt:
847         * GNUmakefile.list.am:
848         * WebCore.gypi:
849         * WebCore.pro:
850         * WebCore.vcproj/WebCore.vcproj:
851         * WebCore.xcodeproj/project.pbxproj:
852         * editing/CompositeEditCommand.cpp:
853         * editing/CompositeEditCommand.h:
854         * editing/EditingAllInOne.cpp:
855         * editing/JoinTextNodesCommand.cpp: Removed.
856         * editing/JoinTextNodesCommand.h: Removed.
857
858 2011-05-19  Ryosuke Niwa  <rniwa@webkit.org>
859
860         Reviewed by Darin Adler.
861
862         REGRESSION (r83322): Many crashes in Mail.app in WebCore::Node::nodeIndex
863         https://bugs.webkit.org/show_bug.cgi?id=61012
864
865         The crash was caused by ReplaceSelectionCommand's inserting content into a middle of the paragraph
866         being moved when the insertion position's container node is the node to split to. Fixed the crash
867         by not changing the insertion position in such a case.
868
869         Unfortunately, this fix caused markup to bloat in some tests but we'll take this regression since
870         it's much better than crashing.
871
872         Test: editing/pasteboard/paste-after-inline-style-element.html
873
874         * editing/ReplaceSelectionCommand.cpp:
875         (WebCore::ReplaceSelectionCommand::doApply):
876
877 2011-05-19  Brady Eidson  <beidson@apple.com>
878
879         Try to fix SUPPORT_AUTOCORRECTION_PANEL build.
880
881         * editing/SpellingCorrectionController.cpp:
882         (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
883         (WebCore::SpellingCorrectionController::processMarkersOnTextToBeReplacedByResult):
884
885 2011-05-19  Darin Adler  <darin@apple.com>
886
887         Try to fix SUPPORT_AUTOCORRECTION_PANEL build.
888
889         * editing/SpellingCorrectionController.cpp:
890         (WebCore::markersHaveIdenticalDescription): Call description() function.
891
892 2011-05-19  Andrey Adaikin  <aandrey@google.com>
893
894         Reviewed by Pavel Feldman.
895
896         Web Inspector: switch to Scripts panel is too slow
897         https://bugs.webkit.org/show_bug.cgi?id=61030
898
899         - It is very expensive to listen to the DOM mutation events, thus we remove the listeners whenever we do any internal
900         DOM manipulations (such as expand/collapse line rows) and set the listeners back when we are finished.
901         - Also, when we switch to the Scripts panel that have a non-zero scrollTop offset, we would do the rendering work twice.
902
903         * inspector/front-end/SourceFrame.js:
904         (WebInspector.SourceFrame.prototype.show):
905         * inspector/front-end/TextViewer.js:
906         (WebInspector.TextEditorMainPanel):
907         (WebInspector.TextEditorMainPanel.prototype.beginDomUpdates):
908         (WebInspector.TextEditorMainPanel.prototype.endDomUpdates):
909         (WebInspector.TextEditorMainPanel.prototype._enableDOMNodeRemovedListener):
910         (WebInspector.TextEditorMainChunk):
911         (WebInspector.TextEditorMainChunk.prototype.set expanded):
912         (WebInspector.TextEditorMainChunk.prototype._createRow):
913
914 2011-05-19  Pavel Feldman  <pfeldman@google.com>
915
916         Not reviewed: inspector protocol tests fixed.
917
918         * inspector/InjectedScriptSource.js:
919
920 2011-05-19  David Grogan  <dgrogan@chromium.org>
921
922         Reviewed by David Levin.
923
924         Make EventQueue post a Task to the task queue for each asynchronous event
925         https://bugs.webkit.org/show_bug.cgi?id=60790
926
927         Currently EventQueue queues up events to be fired asynchronously and
928         fires each of them when a single DOMTimer goes off.  In the words of
929         dimich, "Having 2 queues will sooner or later cause problems with
930         ordering of tasks, termination, suspension and other things that all
931         require some control on how queues operate."
932
933         No new tests; this is just a refactoring to avoid potential future
934         problems.
935
936         * dom/EventQueue.cpp:
937         (WebCore::EventQueue::EventQueue):
938         (WebCore::EventQueue::EventDispatcherTask::create):
939         (WebCore::EventQueue::EventDispatcherTask::dispatchEvent):
940         (WebCore::EventQueue::EventDispatcherTask::performTask):
941         (WebCore::EventQueue::EventDispatcherTask::cancel):
942         (WebCore::EventQueue::EventDispatcherTask::EventDispatcherTask):
943         (WebCore::EventQueue::removeEvent):
944         (WebCore::EventQueue::enqueueEvent):
945         (WebCore::EventQueue::enqueueOrDispatchScrollEvent):
946         (WebCore::EventQueue::cancelEvent):
947         (WebCore::EventQueue::cancelQueuedEvents):
948         * dom/EventQueue.h:
949
950 2011-05-18  Yury Semikhatsky  <yurys@chromium.org>
951
952         Reviewed by Pavel Feldman.
953
954         InjectedScriptSource.js - "Don't be eval()."
955         https://bugs.webkit.org/show_bug.cgi?id=60800
956
957         Thanks to Adam Barth for providing JSC implementation!
958
959         InjectedScriptHost.evaluate is used to perform script evaluations for
960         inspector needs. This method is not affected by CSP and should fix inspector
961         on pages with CSP restrictions.
962
963         Test: inspector/console/console-eval-blocked.html
964
965         * bindings/js/JSInjectedScriptHostCustom.cpp:
966         (WebCore::JSInjectedScriptHost::evaluate):
967         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
968         (WebCore::V8InjectedScriptHost::evaluateCallback):
969         (WebCore::V8InjectedScriptHost::inspectedNodeCallback):
970         * inspector/InjectedScriptHost.idl:
971         * inspector/InjectedScriptSource.js:
972         (.):
973
974 2011-05-19  Pavel Feldman  <pfeldman@google.com>
975
976         Reviewed by Yury Semikhatsky.
977
978         Web Inspector: expose object class name as a part of RemoteObject mirror.
979         https://bugs.webkit.org/show_bug.cgi?id=61067
980
981         * inspector/InjectedScriptSource.js:
982         * inspector/Inspector.json:
983
984 2011-05-19  Pavel Feldman  <pfeldman@google.com>
985
986         Reviewed by Yury Semikhatsky.
987
988         Web Inspector: make "this" a part of callFrame, not scope in the protocol.
989         https://bugs.webkit.org/show_bug.cgi?id=61057
990
991         * inspector/InjectedScriptSource.js:
992         * inspector/Inspector.json:
993         * inspector/front-end/ScopeChainSidebarPane.js:
994         (WebInspector.ScopeChainSidebarPane.prototype.update):
995
996 2011-05-19  Kent Tamura  <tkent@chromium.org>
997
998         Reviewed by Hajime Morita.
999
1000         tooLong validity should not be true for a value set by a script
1001         https://bugs.webkit.org/show_bug.cgi?id=60948
1002
1003         The specification has been updated so that tooLong should be true only
1004         for user-edit values.
1005         
1006         Introduce m_wasModifiedByUser flag to HTMLInputElement and
1007         HTMLTextAreaElemnt. It is set to true when a renderer updates the
1008         value, and is cleared when the value is updated by others.
1009
1010         * html/HTMLInputElement.cpp:
1011         (WebCore::HTMLInputElement::HTMLInputElement):
1012           Initialize m_wasModifiedByUser.
1013         (WebCore::HTMLInputElement::tooLong):
1014           Skip the check if m_wasModifiedByUser is false.
1015         (WebCore::HTMLInputElement::updateType): Clear m_wasModifiedByUser.
1016         (WebCore::HTMLInputElement::copyNonAttributeProperties):
1017         (WebCore::HTMLInputElement::setValue): If sendChange is true,
1018           m_wasModifiedByUser should be true because sendChange is set in a case
1019           of form auto-fill.  We assume a value set by form auto-fill is a kind
1020           of user-edit.
1021         (WebCore::HTMLInputElement::setValueFromRenderer):
1022           m_wasModifiedByUser should be true for the update by a renderer.
1023         * html/HTMLInputElement.h: Declare m_wasModifiedByUser.
1024         * html/HTMLTextAreaElement.cpp:
1025         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
1026           Initialize m_wasModifiedByUser.
1027         (WebCore::HTMLTextAreaElement::updateValue):
1028           m_wasModifiedByUser should be true for the update by a renderer.
1029         (WebCore::HTMLTextAreaElement::setValueCommon): Clear m_wasModifiedByUser.
1030         (WebCore::HTMLTextAreaElement::tooLong):
1031           Skip the check if m_wasModifiedByUser is false.
1032         * html/HTMLTextAreaElement.h: Declare m_wasModifiedByUser.
1033
1034 2011-05-19  David Barr  <davidbarr@chromium.org>
1035
1036         Reviewed by Simon Fraser.
1037
1038         CSS3: We fail 'border radius sum of radii' test
1039         https://bugs.webkit.org/show_bug.cgi?id=38788
1040
1041         Ignore border-radius properties with negative values.
1042
1043         Test: fast/css/border-radius-non-negative.html
1044
1045         * WebCore.xcodeproj/project.pbxproj:
1046         * css/CSSParser.cpp:
1047         (WebCore::CSSParser::parseValue):
1048         (WebCore::CSSParser::parseBorderRadius):
1049
1050 2011-05-19  Yuta Kitamura  <yutak@chromium.org>
1051
1052         Reviewed by Kent Tamura.
1053
1054         WebSocket: Use ScriptContext::Task to hold pending events of ThreadableWebSocketChannelClientWrapper
1055         https://bugs.webkit.org/show_bug.cgi?id=61034
1056
1057         Refactoring only. No new tests.
1058
1059         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
1060         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
1061         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
1062         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
1063         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
1064         (WebCore::ThreadableWebSocketChannelClientWrapper::resume):
1065         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
1066         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
1067         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
1068         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
1069         * websockets/ThreadableWebSocketChannelClientWrapper.h:
1070         Remove m_pendingConnected, m_pendingMessages and m_pendingClosed, and use ScriptContext::Task
1071         to hold these pending events.
1072
1073 2011-05-19  Emil A Eklund  <eae@chromium.org>
1074
1075         Reviewed by Alexey Proskuryakov.
1076
1077         REGRESSION (r80808): Multiple <select> - Selection reset to first element from multiple selected ones
1078         https://bugs.webkit.org/show_bug.cgi?id=60986
1079
1080         * html/HTMLSelectElement.cpp:
1081         (WebCore::HTMLSelectElement::setMultiple):
1082         Don't restore selection if the multiple attribute hasn't changed.
1083
1084 2011-05-18  Fumitoshi Ukai  <ukai@chromium.org>
1085
1086         Reviewed by Alexey Proskuryakov.
1087
1088         http/tests/websocket/tests/workers/worker-handshake-challenge-randomness.html crashed once on Windows XP Debug (Tests)
1089         https://bugs.webkit.org/show_bug.cgi?id=57048
1090
1091         * platform/network/cf/SocketStreamHandleCFNet.cpp:
1092         (WebCore::SocketStreamHandle::platformClose): use loaderRunLoop to schedule streams on platform WIN
1093
1094 2011-05-18  MORITA Hajime  <morrita@google.com>
1095
1096         Unreviewed attempt to fix clang build.
1097
1098         * rendering/InlineTextBox.h:
1099
1100 2011-05-18  Nat Duca  <nduca@chromium.org>
1101
1102         Reviewed by James Robinson.
1103
1104         [chromium] Add histograms for paint times
1105         https://bugs.webkit.org/show_bug.cgi?id=61010
1106
1107         * platform/graphics/chromium/ContentLayerChromium.cpp:
1108         (WebCore::ContentLayerPainter::paint):
1109
1110 2011-05-18  Adrienne Walker  <enne@google.com>
1111
1112         Reviewed by James Robinson.
1113
1114         [chromium] Fix incorrect size when clipping image layer upload rects
1115         https://bugs.webkit.org/show_bug.cgi?id=61105
1116
1117         The clipped destination and source rects should have the same size.
1118
1119         * platform/graphics/chromium/ImageLayerChromium.cpp:
1120         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
1121
1122 2011-05-17  MORITA Hajime  <morrita@google.com>
1123
1124         Reviewed by Tony Chang.
1125
1126         [Refactoring] Member variables of DocumentMarker should be encapsulated.
1127         https://bugs.webkit.org/show_bug.cgi?id=56814
1128
1129         - Moved DocumentMarker's member variables to private and added getters for them.
1130         - Added DocumentMarker setters and constructors, which contain assertions against m_type values
1131           because description and activeMatch are used with specific type of MarkerType.
1132         - Moved chromium's WebKit::WebFrameImpl::addMarker() to DocumentMarkerController::addTextMatchMarker()
1133           because it accesses DocumentMarker internals.
1134         - Moved a version of DMC::addMarker() to private and add alternatives that hide
1135           internals of DocumentMarker. (The internal will be renewed by upcoming change.)
1136         
1137         * dom/DocumentMarker.h:
1138         (WebCore::DocumentMarker::type):
1139         (WebCore::DocumentMarker::startOffset):
1140         (WebCore::DocumentMarker::endOffset):
1141         (WebCore::DocumentMarker::description):
1142         (WebCore::DocumentMarker::hasDescription):
1143         (WebCore::DocumentMarker::activeMatch):
1144         (WebCore::DocumentMarker::clearDescription):
1145         (WebCore::DocumentMarker::setStartOffset):
1146         (WebCore::DocumentMarker::setEndOffset):
1147         (WebCore::DocumentMarker::operator==):
1148         (WebCore::DocumentMarker::DocumentMarker):
1149         (WebCore::DocumentMarker::shiftOffsets):
1150         (WebCore::DocumentMarker::setActiveMatch):
1151         * dom/DocumentMarkerController.cpp:
1152         (WebCore::DocumentMarkerController::addMarker):
1153         (WebCore::DocumentMarkerController::addTextMatchMarker):
1154         (WebCore::DocumentMarkerController::copyMarkers):
1155         (WebCore::DocumentMarkerController::removeMarkers):
1156         (WebCore::DocumentMarkerController::markerContainingPoint):
1157         (WebCore::DocumentMarkerController::markersInRange):
1158         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
1159         (WebCore::DocumentMarkerController::removeMarkersFromList):
1160         (WebCore::DocumentMarkerController::repaintMarkers):
1161         (WebCore::DocumentMarkerController::shiftMarkers):
1162         (WebCore::DocumentMarkerController::setMarkersActive):
1163         (WebCore::DocumentMarkerController::hasMarkers):
1164         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
1165         (WebCore::DocumentMarkerController::showMarkers):
1166         * dom/DocumentMarkerController.h:
1167         * editing/CompositeEditCommand.cpp:
1168         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
1169         * editing/DeleteSelectionCommand.cpp:
1170         (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
1171         * editing/Editor.cpp:
1172         (WebCore::Editor::selectionStartHasMarkerFor):
1173         * editing/SpellingCorrectionController.cpp:
1174         (WebCore::SpellingCorrectionController::respondToChangedSelection):
1175         * editing/SpellingCorrectionController.h:
1176         (WebCore::SpellingCorrectionController::shouldStartTimerFor):
1177         * rendering/HitTestResult.cpp:
1178         (WebCore::HitTestResult::spellingToolTip):
1179         (WebCore::HitTestResult::replacedString):
1180         * rendering/InlineTextBox.cpp:
1181         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1182         (WebCore::InlineTextBox::paintTextMatchMarker):
1183         (WebCore::InlineTextBox::computeRectForReplacementMarker):
1184         (WebCore::InlineTextBox::paintDocumentMarkers):
1185         * rendering/svg/SVGInlineFlowBox.cpp:
1186         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
1187
1188 2011-05-18  Oliver Hunt  <oliver@apple.com>
1189
1190         Reviewed by Geoffrey Garen.
1191
1192         +[WebScriptObject throwException:] doesn't work when invoked from obj-c field access
1193         https://bugs.webkit.org/show_bug.cgi?id=61100
1194
1195         The objc bindings were written to assume exceptions would
1196         come from obj-c style exceptions, rather than throwException:
1197         This code simply calls the global ObjcInstance mechanism for
1198         transferring the reported exception.
1199
1200         * bridge/objc/objc_instance.h:
1201         * bridge/objc/objc_runtime.mm:
1202         (JSC::Bindings::ObjcField::valueFromInstance):
1203         (JSC::Bindings::ObjcField::setValueToInstance):
1204
1205 2011-05-16  Adrienne Walker  <enne@google.com>
1206
1207         Reviewed by James Robinson.
1208
1209         [chromium] Robustly handle mapTexSubImage2D returning NULL
1210         https://bugs.webkit.org/show_bug.cgi?id=60934
1211
1212         Also, lazily create the temp buffer so that both the map and non-map
1213         cases can use it.
1214
1215         * platform/graphics/chromium/LayerTextureSubImage.cpp:
1216         (WebCore::LayerTextureSubImage::setSubImageSize):
1217         (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
1218         (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
1219
1220 2011-05-18  Emil A Eklund  <eae@chromium.org>
1221
1222         Reviewed by Darin Adler.
1223
1224         Change RenderTextControl::hitInnerTextElement to use IntPoint
1225         https://bugs.webkit.org/show_bug.cgi?id=61003
1226
1227         Covered by existing tests.
1228
1229         * rendering/RenderTextControl.cpp:
1230         (WebCore::RenderTextControl::hitInnerTextElement):
1231         * rendering/RenderTextControl.h:
1232         * rendering/RenderTextControlMultiLine.cpp:
1233         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
1234         * rendering/RenderTextControlSingleLine.cpp:
1235         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
1236
1237 2011-05-18  Chris Fleizach  <cfleizach@apple.com>
1238
1239         Reviewed by Maciej Stachowiak.
1240
1241         WK2: VoiceOver cannot move focus into a web area programmatically
1242         https://bugs.webkit.org/show_bug.cgi?id=60661
1243
1244         Accessibility code relies on the ability to bring focus to the containing widget view.
1245         In WK2, that message needs to be propagated to the UI process.
1246
1247         * page/ChromeClient.h:
1248         (WebCore::ChromeClient::makeFirstResponder):
1249         * page/mac/ChromeMac.mm:
1250         (WebCore::Chrome::focusNSView):
1251         * platform/mac/WidgetMac.mm:
1252         (WebCore::Widget::setFocus):
1253
1254 2011-05-18  Alok Priyadarshi  <alokp@chromium.org> and Adrienne Walker  <enne@google.com>
1255
1256         Reviewed by James Robinson.
1257
1258         [chromium] Split canvas from LayerTilerChromium
1259         https://bugs.webkit.org/show_bug.cgi?id=60719
1260
1261         LayerTilerChromium now just does tiling. It delegates the task of painting and updating textures to LayerTextureUpdater.
1262         Also abstracted LayerTextureSubImage to upload texture pixels.
1263
1264         * WebCore.gypi:
1265         * platform/chromium/TraceEvent.h:
1266         * platform/graphics/chromium/ContentLayerChromium.cpp:
1267         (WebCore::ContentLayerChromium::create):
1268         (WebCore::ContentLayerChromium::ContentLayerChromium):
1269         (WebCore::ContentLayerChromium::~ContentLayerChromium):
1270         (WebCore::ContentLayerChromium::paintContentsIfDirty):
1271         (WebCore::ContentLayerChromium::cleanupResources):
1272         (WebCore::ContentLayerChromium::setLayerRenderer):
1273         (WebCore::ContentLayerChromium::createTextureUpdater):
1274         (WebCore::ContentLayerChromium::drawsContent):
1275         (WebCore::ContentLayerChromium::createTilerIfNeeded):
1276         (WebCore::ContentLayerChromium::updateCompositorResources):
1277         * platform/graphics/chromium/ContentLayerChromium.h:
1278         * platform/graphics/chromium/ImageLayerChromium.cpp:
1279         (WebCore::ImageLayerTextureUpdater::ImageLayerTextureUpdater):
1280         (WebCore::ImageLayerTextureUpdater::~ImageLayerTextureUpdater):
1281         (WebCore::ImageLayerTextureUpdater::orientation):
1282         (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
1283         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
1284         (WebCore::ImageLayerTextureUpdater::imageRect):
1285         (WebCore::ImageLayerChromium::paintContentsIfDirty):
1286         (WebCore::ImageLayerChromium::updateCompositorResources):
1287         (WebCore::ImageLayerChromium::createTextureUpdater):
1288         * platform/graphics/chromium/ImageLayerChromium.h:
1289         * platform/graphics/chromium/LayerPainterChromium.h: Added.
1290         * platform/graphics/chromium/LayerRendererChromium.cpp:
1291         (WebCore::LayerRendererChromium::create):
1292         (WebCore::LayerRendererChromium::LayerRendererChromium):
1293         (WebCore::LayerRendererChromium::updateRootLayerContents):
1294         (WebCore::LayerRendererChromium::drawRootLayer):
1295         (WebCore::LayerRendererChromium::updateAndDrawLayers):
1296         (WebCore::LayerRendererChromium::updateLayers):
1297         * platform/graphics/chromium/LayerRendererChromium.h:
1298         * platform/graphics/chromium/LayerTextureSubImage.cpp: Added.
1299         (WebCore::LayerTextureSubImage::LayerTextureSubImage):
1300         (WebCore::LayerTextureSubImage::~LayerTextureSubImage):
1301         (WebCore::LayerTextureSubImage::setSubImageSize):
1302         (WebCore::LayerTextureSubImage::upload):
1303         (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
1304         (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
1305         * platform/graphics/chromium/LayerTextureSubImage.h: Copied from Source/WebCore/platform/chromium/TraceEvent.h.
1306         * platform/graphics/chromium/LayerTextureUpdater.h: Copied from Source/WebCore/platform/chromium/TraceEvent.h.
1307         (WebCore::LayerTextureUpdater::LayerTextureUpdater):
1308         (WebCore::LayerTextureUpdater::~LayerTextureUpdater):
1309         (WebCore::LayerTextureUpdater::context):
1310         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Added.
1311         (WebCore::LayerTextureUpdaterCanvas::LayerTextureUpdaterCanvas):
1312         (WebCore::LayerTextureUpdaterCanvas::paintContents):
1313         (WebCore::LayerTextureUpdaterBitmap::LayerTextureUpdaterBitmap):
1314         (WebCore::LayerTextureUpdaterBitmap::prepareToUpdate):
1315         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
1316         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Added.
1317         (WebCore::LayerTextureUpdaterCanvas::~LayerTextureUpdaterCanvas):
1318         (WebCore::LayerTextureUpdaterCanvas::contentRect):
1319         (WebCore::LayerTextureUpdaterBitmap::~LayerTextureUpdaterBitmap):
1320         (WebCore::LayerTextureUpdaterBitmap::orientation):
1321         * platform/graphics/chromium/LayerTilerChromium.cpp:
1322         (WebCore::LayerTilerChromium::create):
1323         (WebCore::LayerTilerChromium::LayerTilerChromium):
1324         (WebCore::LayerTilerChromium::setTileSize):
1325         (WebCore::LayerTilerChromium::prepareToUpdate):
1326         (WebCore::LayerTilerChromium::updateRect):
1327         (WebCore::LayerTilerChromium::draw):
1328         * platform/graphics/chromium/LayerTilerChromium.h:
1329         (WebCore::LayerTilerChromium::Tile::Tile):
1330         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1331         (WebCore::CCHeadsUpDisplay::draw):
1332
1333 2011-05-18  Mark Pilgrim  <pilgrim@chromium.org>
1334
1335         Reviewed by Tony Chang.
1336
1337         IndexedDB put() should fail adding to object store that uses
1338         out-of-line keys and has no key generator and the key parameter
1339         was not provided
1340         https://bugs.webkit.org/show_bug.cgi?id=58609
1341
1342         Out-of-line keys means that objectStore->m_keyPath is null in ::put(),
1343         no key generator means that objectStore->autoIncrement() is false, and
1344         key parameter was not provided means that prpKey will be a null pointer.
1345         The combination of these 3 should throw a DATA_ERR.
1346
1347         Test: storage/indexeddb/mozilla/key-requirements-put-no-key.html
1348
1349         * storage/IDBObjectStoreBackendImpl.cpp:
1350         (WebCore::IDBObjectStoreBackendImpl::put):
1351
1352 2011-05-18  Chris Rogers  <crogers@google.com>
1353
1354         Reviewed by James Robinson.
1355
1356         EqualPowerPanner is not using the correct azimuth range for stereo panning
1357         https://bugs.webkit.org/show_bug.cgi?id=61085
1358
1359         No new tests since audio API is not yet implemented.
1360
1361         * platform/audio/EqualPowerPanner.cpp:
1362         (WebCore::EqualPowerPanner::pan):
1363
1364 2011-05-18  Yi Shen  <yi.4.shen@nokia.com>
1365
1366         Reviewed by Andreas Kling.
1367
1368         [Qt] Enterkey to go to Newline does not work in the text area(in HTML form)
1369         https://bugs.webkit.org/show_bug.cgi?id=33179
1370
1371         Fill the missing key text for the EnterKey event.
1372
1373         Tests: fast/events/onsearch-enter.html
1374
1375         * platform/qt/PlatformKeyboardEventQt.cpp:
1376         (WebCore::keyTextForKeyEvent):
1377
1378 2011-05-17  Timothy Hatcher  <timothy@apple.com>
1379
1380         Update the the context menu to reflect the system search provider on Mac.
1381
1382         <rdar://problem/9198419>
1383
1384         Reviewed by Sam Weinig.
1385
1386         * English.lproj/Localizable.strings: Updated.
1387         * Source/WebCore/WebCore.exp.in: Added _wkCopyDefaultSearchProviderDisplayName.
1388         * platform/DefaultLocalizationStrategy.cpp:
1389         (WebCore::DefaultLocalizationStrategy::contextMenuItemTagSearchWeb): Use wkCopyDefaultSearchProviderDisplayName to
1390         create the string.
1391         * platform/mac/WebCoreSystemInterface.h: Added wkCopyDefaultSearchProviderDisplayName.
1392         * platform/mac/WebCoreSystemInterface.mm: Ditto.
1393
1394 2011-05-18  Rob Buis  <rbuis@rim.com>
1395
1396         Reviewed by Nikolas Zimmermann.
1397
1398         Marker test from ietestcenter fails
1399         https://bugs.webkit.org/show_bug.cgi?id=60721
1400
1401         Change <marker> renderer creation behaviour to always create the renderer. This fixes
1402         the problem that no marker is rendered when display=none is set on the <marker>. The
1403         specification states that display=none should have no influence on <marker> usage:
1404         "The ‘display’ property does not apply to the ‘marker’ element; thus, ..., and ‘marker’
1405         elements are available for referencing even when the ‘display’ property on the ‘marker’
1406         element or any of its ancestors is set to none."
1407
1408         Tests: svg/W3C-SVG-1.1-SE/painting-marker-07-f.svg
1409                svg/custom/painting-marker-07-f-inherit.svg
1410
1411         * svg/SVGMarkerElement.h:
1412         (WebCore::SVGMarkerElement::rendererIsNeeded):
1413
1414 2011-05-18  Alexis Menard  <alexis.menard@openbossa.org>, Simon Hausmann  <simon.hausmann@nokia.com>
1415
1416         Reviewed by Eric Carlson.
1417
1418         MediaElements fails to load the data in some cases.
1419         https://bugs.webkit.org/show_bug.cgi?id=60760
1420
1421         WebKitWebSourceGStreamer is the interface between WebKit and GStreamer
1422         that uses the ResourceHandle API to request data and pass it down. For
1423         our builds it is absolutely essential that we have a NetworkingContext
1424         available there, in order to get access to the QNetworkAccessManager.
1425         No access means we basically cannot load the video. The WebSource gains
1426         access to the NetworkingContext through a WebCore::Frame pointer it has.
1427
1428         MediaPlayerPrivateGStreamer is responsible for propagating a pointer of
1429         the WebCore::Frame to the WebKitWebSource in
1430         mediaPlayerPrivateSourceChangedCallback. In there we used the MediaPlayer's
1431         frameView() accessor to access the frame. However the frameView() member
1432         is only set through the render tree's RenderVideo, which is rather unreliable
1433         given that some sites create "fake" video tags initially that only become
1434         visible later (or never).
1435
1436         A more reliable way is to simply use the document of the MediaPlayerClient,
1437         which is provided at constructor time.
1438
1439         Test: http/tests/media/media-can-load-when-hidden.html
1440
1441         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1442         (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
1443
1444 2011-05-18  Adrienne Walker  <enne@google.com>
1445
1446         Reviewed by James Robinson.
1447
1448         [chromium] Check HUD texture reserve status before using texture
1449         https://bugs.webkit.org/show_bug.cgi?id=61082
1450
1451         This only changes behavior behind a flag, so shouldn't impact any tests.
1452
1453         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1454         (WebCore::CCHeadsUpDisplay::draw):
1455
1456 2011-05-18  Oliver Hunt  <oliver@apple.com>
1457
1458         Reviewed by Sam Weinig.
1459
1460         JSGlobalObject and some others do GC allocation during initialization, which can cause heap corruption
1461         https://bugs.webkit.org/show_bug.cgi?id=61090
1462
1463         Rather than having Constructor objects create their structure
1464         as part of initialisation, we now pass their expected structure
1465         in as an argument.  This required fixing the few custom Constructors
1466         and the code generator.
1467
1468         * bindings/js/JSAudioConstructor.cpp:
1469         (WebCore::JSAudioConstructor::JSAudioConstructor):
1470         * bindings/js/JSAudioConstructor.h:
1471         * bindings/js/JSDOMGlobalObject.h:
1472         (WebCore::getDOMConstructor):
1473           Pass the Constructor objects structure in as an argument
1474         * bindings/js/JSImageConstructor.cpp:
1475         (WebCore::JSImageConstructor::JSImageConstructor):
1476         * bindings/js/JSImageConstructor.h:
1477         * bindings/js/JSOptionConstructor.cpp:
1478         (WebCore::JSOptionConstructor::JSOptionConstructor):
1479         * bindings/js/JSOptionConstructor.h:
1480         * bindings/scripts/CodeGeneratorJS.pm:
1481
1482 2011-05-18  Abhishek Arya  <inferno@chromium.org>
1483
1484         Reviewed by Beth Dakin.
1485
1486         Remove removeChild on table caption since destroy call
1487         already does that.
1488         https://bugs.webkit.org/show_bug.cgi?id=61083
1489
1490         Test: fast/table/table-captions-child-visible-crash.html
1491
1492         * rendering/RenderTable.cpp:
1493         (WebCore::RenderTable::recalcCaption):
1494
1495 2011-05-18  Evan Martin  <evan@chromium.org>
1496
1497         Reviewed by Tony Chang.
1498
1499         [chromium] make action_derivedsourcesallinone.py quiet
1500         https://bugs.webkit.org/show_bug.cgi?id=61081
1501
1502         In gyp, it's the responsibility of the build system to print what actions are doing;
1503         for example, the compile command is generally silent, while the build system prints
1504         "compiling".
1505
1506         Make this program behave like a compiler: silent on success.
1507
1508         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
1509         delete a print statement.
1510
1511 2011-05-18  David Kilzer  <ddkilzer@apple.com>
1512
1513         <http://webkit.org/b/61078> Use toHTTPPipeliningPriority() in initializeMaximumHTTPConnectionCountPerHost()
1514
1515         Reviewed by Joseph Pecoraro.
1516
1517         * platform/network/cf/ResourceRequestCFNet.cpp:
1518         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Use
1519         toHTTPPipeliningPriority() to convert arguments passed to
1520         wkSetHTTPPipeliningMaximumPriority() and
1521         wkSetHTTPPipeliningMinimumFastLanePriority().
1522
1523 2011-05-18  Erik Arvidsson  <arv@chromium.org>
1524
1525         Reviewed by Ojan Vafai.
1526
1527         event.clientX/clientY is 0/0 in a click generated through a label
1528         https://bugs.webkit.org/show_bug.cgi?id=56606
1529
1530         This copies the coordinates from the underlying event to the simulated mouse event if the underlying event
1531         is a mouse event.
1532
1533         This makes us match Firefox and IE.
1534
1535         Test: fast/events/simulated-click-coords.html
1536
1537         * dom/MouseEvent.cpp:
1538         (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
1539
1540 2011-05-18  Nikolas Zimmermann  <nzimmermann@rim.com>
1541
1542         Not reviewed. Sorted XCode project file.
1543
1544         * WebCore.xcodeproj/project.pbxproj:
1545
1546 2011-05-18  Alexander Pavlov  <apavlov@chromium.org>
1547
1548         Reviewed by Pavel Feldman.
1549
1550         Web Inspector: Non-color CSS property values can get a color-picker
1551         https://bugs.webkit.org/show_bug.cgi?id=61056
1552
1553         * inspector/front-end/CSSKeywordCompletions.js:
1554         (WebInspector.CSSKeywordCompletions.forProperty):
1555         (WebInspector.CSSKeywordCompletions.isColorAwareProperty):
1556         * inspector/front-end/StylesSidebarPane.js:
1557         (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
1558
1559 2011-05-18  Pratik Solanki  <psolanki@apple.com>
1560
1561         Reviewed by Dan Bernstein.
1562
1563         Don't use DEFINE_STATIC_LOCAL with an unsigned
1564         https://bugs.webkit.org/show_bug.cgi?id=61026
1565
1566         * storage/StorageTracker.cpp:
1567         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase): DEFINE_STATIC_LOCAL is meant
1568         for objects, not unsigned ints. We can just use static here.
1569
1570 2011-05-18  Rob Buis  <rbuis@rim.com>
1571
1572         Reviewed by Nikolas Zimmermann.
1573
1574         NULL deref when SVG elements have table styles 
1575         https://bugs.webkit.org/show_bug.cgi?id=45561
1576
1577         Restrict computed CSS values for SVG display property to block, inline or none.
1578
1579         Tests: svg/custom/display-table-caption-foreignObject.svg
1580                svg/custom/display-table-caption-inherit-foreignObject.xhtml
1581                svg/custom/display-table-caption-inherit-text.xhtml
1582                svg/custom/display-table-caption-text.svg
1583
1584         * css/CSSStyleSelector.cpp:
1585         (WebCore::SVGDisplayPropertyGuard::SVGDisplayPropertyGuard):
1586         (WebCore::SVGDisplayPropertyGuard::~SVGDisplayPropertyGuard):
1587         (WebCore::isAcceptableForSVGElement):
1588         (WebCore::CSSStyleSelector::applyProperty):
1589
1590 2011-05-18  Pavel Feldman  <pfeldman@google.com>
1591
1592         Reviewed by Yury Semikhatsky.
1593
1594         Web Inspector: [REGRESSION] Completion while on a breakpoint is not working.
1595         https://bugs.webkit.org/show_bug.cgi?id=60811
1596
1597         Test: inspector/debugger/debugger-completions-on-call-frame.html
1598
1599         * inspector/InjectedScriptSource.js:
1600         * inspector/front-end/ConsoleView.js:
1601         (WebInspector.ConsoleView.prototype.completions.else.evaluated):
1602         * inspector/front-end/DebuggerPresentationModel.js:
1603         (WebInspector.PresenationCallFrame.prototype.get variables):
1604         * inspector/front-end/ScriptsPanel.js:
1605         (WebInspector.ScriptsPanel.prototype.selectedCallFrameVariables):
1606
1607 2011-05-18  Nikolas Zimmermann  <nzimmermann@rim.com>
1608
1609         Reviewed by Rob Buis.
1610
1611         All animated SVG enum properties are now ints
1612         https://bugs.webkit.org/show_bug.cgi?id=10749
1613
1614         DECLARE/DEFINE_ANIMATED_ENUMERATION created fooBaseVal()/setFooBaseVal() methods that take int parameters, and stored all enum types as integers.
1615         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
1616         types, which is the root of several filter security bugs in the past, that were fixed by adding workarounds.
1617         (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.)
1618
1619         Using a type-safe internal representation for these enum values we can get rid of ugly int<->enum conversions.
1620         A lot of parseMappedAttribute() functions duplicated the code for parsing enum values (eg. userSpaceOnUse/objectBoundingBox unit values, in pattern/filter/mask/etc..)
1621         Add dozens of new SVGPropertyTraits<EnumType> specializations for all enums we expose to JS, and offer static fromString/toString conversion methods in single places.
1622         Use the new SVGPropertyTraits everywhere in svg/.
1623
1624         This also fixes SVG DOM <-> XML DOM synchronization for SVGAnimatedEnumeration types.
1625         Example: <clipPath clipPathUnits="objectBoundingBox">
1626         myClipPath.clipPathUnits.baseVal = SVGUnitTypes.SVG_UNIT_TYPE_USERSPACEONUSE;
1627         alert(myClipPath.getAttribute('clipPathUnits')); <- without this patch it says "1", now it says "userSpaceOnUse" as expected, and as other browsers do.
1628         We're now properly converting the enum values to strings.
1629
1630         Add testcases for all SVGAnimatedEnumeration objects used in the SVG DOM API. Found several small bugs:
1631         - SVGFEConvolveMatrix 'edgeMode' SVG DOM <-> XML DOM synchronization was not working, because of a typo: s/operatorAttr/edgeModeAttr
1632         - SVGFEConvolveMatrix was missing an synchronizeProperty() implementation, disabling SVG <-> XML DOM synchronization completly.
1633
1634         Tests: svg/dom/SVGAnimatedEnumeration-SVGClipPathElement.html
1635                svg/dom/SVGAnimatedEnumeration-SVGComponentTransferFunctionElement.html
1636                svg/dom/SVGAnimatedEnumeration-SVGFEBlendElement.html
1637                svg/dom/SVGAnimatedEnumeration-SVGFEColorMatrixElement.html
1638                svg/dom/SVGAnimatedEnumeration-SVGFECompositeElement.html
1639                svg/dom/SVGAnimatedEnumeration-SVGFEConvolveMatrixElement.html
1640                svg/dom/SVGAnimatedEnumeration-SVGFEDisplacementMapElement.html
1641                svg/dom/SVGAnimatedEnumeration-SVGFEMorphologyElement.html
1642                svg/dom/SVGAnimatedEnumeration-SVGFETurbulenceElement.html
1643                svg/dom/SVGAnimatedEnumeration-SVGFilterElement.html
1644                svg/dom/SVGAnimatedEnumeration-SVGGradientElement.html
1645                svg/dom/SVGAnimatedEnumeration-SVGMarkerElement.html
1646                svg/dom/SVGAnimatedEnumeration-SVGMaskElement.html
1647                svg/dom/SVGAnimatedEnumeration-SVGPatternElement.html
1648                svg/dom/SVGAnimatedEnumeration-SVGTextContentElement.html
1649                svg/dom/SVGAnimatedEnumeration-SVGTextPathElement.html
1650
1651         Fixes existing svg/dynamic-update/SVGTextContentElement-svgdom-lengthAdjust-prop.html where I found the bug initially.
1652
1653         * GNUmakefile.list.am: Add svg/properties/SVGAnimatedEnumerationPropertyTearOff.h to build.
1654         * WebCore.gypi: Ditto.
1655         * WebCore.pro: Ditto.
1656         * WebCore.vcproj/WebCore.vcproj: Ditto.
1657         * WebCore.xcodeproj/project.pbxproj: Ditto.
1658         * bindings/scripts/CodeGeneratorV8.pm: Add V8 magic, to avoid ambigious conversion warning in toV8(PassRefPtr<SVGAnimatedEnumeration>).
1659         * platform/graphics/GraphicsTypes.h: Cleanup GradientSpreadMethod, as the SVG dependency is gone.
1660         * platform/graphics/filters/FEBlend.cpp:
1661         (WebCore::FEBlend::apply): Turn early-returns (introduce in security patches a while ago) into ASSERTs, as the underlying bug has been fixed.
1662         * platform/graphics/filters/FEDisplacementMap.cpp:
1663         (WebCore::FEDisplacementMap::apply): Ditto.
1664         * rendering/svg/RenderSVGResourceClipper.h: Remove toUnitType() usage, the clipPathUnits() provided by SVGClipPathElement have the correct enum type now.
1665         (WebCore::RenderSVGResourceClipper::clipPathUnits):
1666         * rendering/svg/RenderSVGResourceFilter.h: Remove toUnitType() usage, the filterUnits()/primitiveUnits() provided by SVGFilterElement have the correct enum type now.
1667         (WebCore::RenderSVGResourceFilter::filterUnits):
1668         (WebCore::RenderSVGResourceFilter::primitiveUnits):
1669         * rendering/svg/RenderSVGResourceGradient.cpp: Add helper method platformSpreadMethodFromSVGType() converting from SVGGradientElement::SVGSpreadMethodType to GradientSpreadMethod (platform).
1670         (WebCore::RenderSVGResourceGradient::applyResource):
1671         * rendering/svg/RenderSVGResourceGradient.h: Ditto.
1672         * rendering/svg/RenderSVGResourceLinearGradient.cpp:
1673         (WebCore::RenderSVGResourceLinearGradient::buildGradient): Use platformSpreadMethodFromSVGType().
1674         * rendering/svg/RenderSVGResourceMarker.h: Remove toUnitType() usage, the markerUnits() provided by SVGMarkerElement have the correct enum type now.
1675         (WebCore::RenderSVGResourceMarker::markerUnits):
1676         * rendering/svg/RenderSVGResourceMasker.h: Remove toUnitType() usage, the maskUnits()/maskContentUnits() provided by SVGMaskElement have the correct enum type now.
1677         (WebCore::RenderSVGResourceMasker::maskUnits):
1678         (WebCore::RenderSVGResourceMasker::maskContentUnits):
1679         * rendering/svg/RenderSVGResourceRadialGradient.cpp:
1680         (WebCore::RenderSVGResourceRadialGradient::buildGradient): Use platformSpreadMethodFromSVGType().
1681         * rendering/svg/SVGRenderTreeAsText.cpp:
1682         (WebCore::operator<<): Use SVGPropertyTraits<SomeSVGEnumType>::toString() to convert from enum to string, remove code duplication.
1683         (WebCore::writeCommonGradientProperties):
1684         * rendering/svg/SVGTextChunkBuilder.cpp:
1685         (WebCore::SVGTextChunkBuilder::addTextChunk): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1686         * rendering/svg/SVGTextLayoutEngine.cpp:
1687         (WebCore::SVGTextLayoutEngine::parentDefinesTextLength): Ditto.
1688         (WebCore::SVGTextLayoutEngine::beginTextPathLayout): Ditto.
1689         * svg/GradientAttributes.h: Change spread method type from platform GradientSpreadMethod to SVGSpreadMethodType.
1690         (WebCore::GradientAttributes::GradientAttributes):
1691         (WebCore::GradientAttributes::spreadMethod):
1692         (WebCore::GradientAttributes::setSpreadMethod):
1693         * svg/SVGAnimatedBoolean.idl: Enable potential exception raising on baseVal setting for the primitive types.
1694         * svg/SVGAnimatedEnumeration.h: Switch from generic SVGAnimatedStaticPropertyTearOff<int> to new SVGAnimatedEnumerationPropertyTearOff<EnumType>.
1695         * svg/SVGAnimatedEnumeration.idl: Enable potential exception raising on baseVal setting for the primitive types.
1696                                           Only SVGAnimatedEnumeration makes use of this if the assigned value is out of range.
1697         * svg/SVGAnimatedInteger.idl: Ditto.
1698         * svg/SVGAnimatedNumber.idl: Ditto.
1699         * svg/SVGAnimatedString.idl: Ditto.
1700         * svg/SVGClipPathElement.cpp:
1701         (WebCore::SVGClipPathElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
1702         * svg/SVGClipPathElement.h:
1703         * svg/SVGComponentTransferFunctionElement.cpp:
1704         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement): Initialize type to identity, not unknown, as per spec.
1705         (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
1706         (WebCore::SVGComponentTransferFunctionElement::transferFunction): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1707         * svg/SVGComponentTransferFunctionElement.h: Remove svgAttributeChanged() method, that verified the enum value is not out of range.
1708                                                      It's not possible anymore for these values to go out of range.
1709         * svg/SVGFEBlendElement.cpp:
1710         (WebCore::SVGFEBlendElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<BlendModeType>::fromString(attr->value()).
1711         (WebCore::SVGFEBlendElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1712         (WebCore::SVGFEBlendElement::build): Ditto.
1713         * svg/SVGFEBlendElement.h: Add SVGPropertyTraits<BlendModeType> specializations.
1714         * svg/SVGFEColorMatrixElement.cpp:
1715         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<ColorMatrixType>::fromString(attr->value()).
1716         (WebCore::SVGFEColorMatrixElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now..
1717         (WebCore::SVGFEColorMatrixElement::build): Ditto.
1718         * svg/SVGFEColorMatrixElement.h: Add SVGPropertyTraits<ColorMatrixType> specializations.
1719         * svg/SVGFECompositeElement.cpp:
1720         (WebCore::SVGFECompositeElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<CompositeOperationType>::fromString(attr->value()).
1721         (WebCore::SVGFECompositeElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1722         (WebCore::SVGFECompositeElement::build): Ditto.
1723         * svg/SVGFECompositeElement.h: Add SVGPropertyTraits<CompositeOperationType> specializations.
1724         * svg/SVGFEConvolveMatrixElement.cpp: Fix typo, edgeMode needs to be associated with SVGNames::edgeModeAttr, not SVGNames::operatorAttr.
1725         (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EdgeModeType>::fromString(attr->value()).
1726         (WebCore::SVGFEConvolveMatrixElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1727         (WebCore::SVGFEConvolveMatrixElement::synchronizeProperty): Add missing synchronizeProperty() implementation, otherwhise SVG DOM <-> XML DOM is not in sync.
1728         (WebCore::SVGFEConvolveMatrixElement::build): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1729         * svg/SVGFEConvolveMatrixElement.h: Add SVGPropertyTraits<EdgeModeType> specializations.
1730         * svg/SVGFEDisplacementMapElement.cpp:
1731         (WebCore::SVGFEDisplacementMapElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<ChannelSelectorType>::fromString(attr->value()).
1732         (WebCore::SVGFEDisplacementMapElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1733         (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged): Remove range validation for enum types, they are always in range now.
1734         (WebCore::SVGFEDisplacementMapElement::build): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1735         * svg/SVGFEDisplacementMapElement.h: Add SVGPropertyTraits<ChannelSelectorType> specializations.
1736         * svg/SVGFEMorphologyElement.cpp:
1737         (WebCore::SVGFEMorphologyElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<MorphologyOperatorType>::fromString(attr->value()).
1738         (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1739         (WebCore::SVGFEMorphologyElement::build): Ditto.
1740         * svg/SVGFEMorphologyElement.h: Add SVGPropertyTraits<MorphologyOperatorType> specializations.
1741         * svg/SVGFETurbulenceElement.cpp:
1742         (WebCore::SVGFETurbulenceElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGStitchOptions/TurbulenceType>::fromString(attr->value()).
1743         (WebCore::SVGFETurbulenceElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1744         (WebCore::SVGFETurbulenceElement::build): Ditto.
1745         * svg/SVGFETurbulenceElement.h: Add SVGPropertyTraits<SVGStitchOptions/TurbulenceType> specializations.
1746         * svg/SVGFilterElement.cpp:
1747         (WebCore::SVGFilterElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGUnitType>::fromString(attr->value()).
1748         * svg/SVGFilterElement.h:
1749         * svg/SVGGradientElement.cpp:
1750         (WebCore::SVGGradientElement::SVGGradientElement): Missing spread method default initialization: set it to 'pad' as per spec.
1751         (WebCore::SVGGradientElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGUnitType/SVGSpreadMethodType>::fromString(attr->value()).
1752         * svg/SVGGradientElement.h: Add SVGPropertyTraits<SVGSpreadMethodType> specializations.
1753         * svg/SVGLinearGradientElement.cpp:
1754         (WebCore::SVGLinearGradientElement::collectGradientAttributes): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1755         * svg/SVGMarkerElement.cpp:
1756         (WebCore::SVGMarkerElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
1757         (WebCore::SVGMarkerElement::synchronizeOrientType): Add a custom synchronization method, that handles orientType/orientAngle -> orientAttr synchronization, which is special
1758                                                             as it depends on to other SVG DOM objects (SVGAnimatedAngle and SVGAnimatedEnumeration). All covered by new tests.
1759         (WebCore::SVGMarkerElement::orientTypeAnimated): Custom tear off creation method, which would usually be generated by the DECLARE_ANIMATED_... macros.
1760         * svg/SVGMarkerElement.h: Add SVGPropertyTraits<SVGMarkerUnitsType/SVGMarkerOrientType> specializations.
1761         (WebCore::SVGMarkerElement::orientType): Add custom property handling for the 'orientType' SVGAnimatedEnumeration object, as it has special demands, based on 'orientAngle'.
1762         (WebCore::SVGMarkerElement::orientTypeBaseValue): Ditto.
1763         (WebCore::SVGMarkerElement::setOrientTypeBaseValue): Ditto.
1764         * svg/SVGMaskElement.cpp:
1765         (WebCore::SVGMaskElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
1766         * svg/SVGMaskElement.h:
1767         * svg/SVGPatternElement.cpp:
1768         (WebCore::SVGPatternElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
1769         * svg/SVGPatternElement.h:
1770         * svg/SVGRadialGradientElement.cpp:
1771         (WebCore::SVGRadialGradientElement::collectGradientAttributes): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1772         * svg/SVGTextContentElement.cpp:
1773         (WebCore::SVGTextContentElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGLengthAdjustType>::fromString(attr->value()).
1774         * svg/SVGTextContentElement.h: Add SVGPropertyTraits<SVGLengthAdjustType> specializations.
1775         * svg/SVGTextPathElement.cpp:
1776         (WebCore::SVGTextPathElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGTextPathMethodType/SVGTextPathSpacingType>::fromString(attr->value()).
1777         * svg/SVGTextPathElement.h: Add SVGPropertyTraits<SVGTextPathMethodType/SVGTextPathSpacingType> specializations.
1778         * svg/SVGUnitTypes.h: Add SVGPropertyTraits<SVGUnitType> specializations.
1779         * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: Added. SVGAnimatedEnumerationPropertyTearOff inherits from SVGAnimatedStaticPropertyTearOff<int>.
1780                                                                   SVGAnimatedEnumeration remains a typedef to SVGAnimatedStaticPropertyTearOff<int>, to have a common base
1781                                                                   class for all enum types. This special tear off object, overrides setBaseVal, to verify the incoming int
1782                                                                   is within the enum range, otherwhise raise an SVG DOM exception. This makes it impossible to make any of
1783                                                                   the enums go out of range anymore (which lead to security bugs in the past).
1784         (WebCore::SVGAnimatedEnumerationPropertyTearOff::setBaseVal):
1785         (WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
1786         (WebCore::SVGAnimatedEnumerationPropertyTearOff::SVGAnimatedEnumerationPropertyTearOff):
1787         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
1788         (WebCore::SVGAnimatedStaticPropertyTearOff::setBaseVal): Made this method virtual, to SVGAnimatedEnumerationPropertyTearOff can override the default behaviour. Also added an ExceptionCode param.
1789         (WebCore::SVGAnimatedStaticPropertyTearOff::~SVGAnimatedStaticPropertyTearOff):
1790
1791 2011-05-18  Kinuko Yasuda  <kinuko@chromium.org>
1792
1793         Reviewed by David Levin.
1794
1795         Expose webkitStorageInfo.requestQuota() for Quota API if QUOTA flag is enabled
1796         https://bugs.webkit.org/show_bug.cgi?id=59681
1797
1798         Test: storage/storageinfo-request-quota.html
1799
1800         * CMakeLists.txt:
1801         * CodeGenerators.pri:
1802         * DerivedSources.cpp:
1803         * DerivedSources.make:
1804         * GNUmakefile.am:
1805         * GNUmakefile.list.am:
1806         * WebCore.gypi:
1807         * WebCore.vcproj/WebCore.vcproj:
1808         * WebCore.xcodeproj/project.pbxproj:
1809         * storage/StorageInfo.idl: Added requestQuota().
1810         * storage/StorageInfoQuotaCallback.idl: Added.
1811
1812 2011-05-18  Renata Hodovan  <reni@webkit.org>
1813
1814         Reviewed by Nikolas Zimmermann.
1815
1816         Apply the ParallelJobs support to FEGaussianBlur
1817         https://bugs.webkit.org/show_bug.cgi?id=61049
1818
1819         The Gaussian blur filter of SVG can consume lots of resources if it is
1820         applied to a large area. The computation can be distributed to multiple
1821         cores if the architecture supports.
1822         The average performance progression is about 15% on dual-core machines.
1823
1824         Developed in cooperation with Gabor Loki and Zoltan Herczeg.
1825
1826
1827         * platform/graphics/filters/FEGaussianBlur.cpp:
1828         (WebCore::FEGaussianBlur::platformApplyWorker):
1829         (WebCore::FEGaussianBlur::platformApply):
1830         * platform/graphics/filters/FEGaussianBlur.h:
1831
1832 2011-05-18  Pavel Feldman  <pfeldman@google.com>
1833
1834         Reviewed by Yury Semikhatsky.
1835
1836         Web Inspector: make parentId for frame optional.
1837         https://bugs.webkit.org/show_bug.cgi?id=61032
1838
1839         * inspector/Inspector.json:
1840         * inspector/InspectorPageAgent.cpp:
1841         (WebCore::InspectorPageAgent::buildObjectForFrame):
1842         * inspector/front-end/ResourceTreeModel.js:
1843         (WebInspector.ResourceTreeModel.prototype._addFrame):
1844
1845 2011-05-18  Gabor Loki  <loki@webkit.org>
1846
1847         Reviewed by Nikolas Zimmermann.
1848
1849         Apply the ParallelJobs support to FELighting
1850         https://bugs.webkit.org/show_bug.cgi?id=61048
1851
1852         The lighting filter of SVG can consume lots of resources if it is
1853         applied to a large area. The computation can be distributed to multiple
1854         cores if the architecture supports.
1855         The average performance progression is 10-20% on dual-core machines.
1856
1857         Developed in cooperation with Zoltan Herczeg.
1858
1859         * platform/graphics/filters/FELighting.cpp:
1860         (WebCore::FELighting::platformApplyGenericPaint):
1861         (WebCore::FELighting::platformApplyGenericWorker):
1862         (WebCore::FELighting::platformApplyGeneric):
1863         * platform/graphics/filters/FELighting.h:
1864         * platform/graphics/filters/arm/FELightingNEON.cpp:
1865         (WebCore::FELighting::platformApplyNeonWorker):
1866         * platform/graphics/filters/arm/FELightingNEON.h:
1867         (WebCore::FELighting::platformApplyNeon):
1868
1869 2011-05-18  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1870
1871         Reviewed by Andreas Kling.
1872
1873         [Qt] Fix tst_QWebFrame::getSetStaticProperty() autotest
1874         https://bugs.webkit.org/show_bug.cgi?id=60984
1875
1876         The code for converting objects to QVariantMap was causing exception,
1877         that was "leaking" to the next evaluation. One situation was reading
1878         the property 'localStorage' when we do not have a proper security
1879         origin, which throws a SECURITY_ERR.
1880
1881         Now, we will simply not include on the QVariantMap those properties,
1882         and make sure that we clean the exception if necessary.
1883
1884         * bridge/qt/qt_runtime.cpp:
1885         (JSC::Bindings::convertValueToQVariantMap):
1886         Extracted function that performs conversion from JSObject to a QVariantMap. This
1887         functions makes sure that exception is clean after its execution.
1888
1889         (JSC::Bindings::convertValueToQVariant):
1890         Use the previous function. Add a comment explaining the choice of distance value.
1891
1892 2011-05-18  Ilya Tikhonovsky  <loislo@chromium.org>
1893
1894         Reviewed by Yury Semikhatsky.
1895
1896         Web Inspector: scripts panel file selector element doesn't track keyboard events 
1897         https://bugs.webkit.org/show_bug.cgi?id=61047
1898
1899         * inspector/front-end/ScriptsPanel.js:
1900         (WebInspector.ScriptsPanel):
1901
1902 2011-05-16  Pavel Podivilov  <podivilov@chromium.org>
1903
1904         Reviewed by Yury Semikhatsky.
1905
1906         Web Inspector: refactoring: ScriptDebugListener::didParseSource has too many parameters.
1907         https://bugs.webkit.org/show_bug.cgi?id=60900
1908
1909         * bindings/js/ScriptDebugServer.cpp:
1910         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1911         * bindings/v8/ScriptDebugServer.cpp:
1912         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1913         * inspector/InspectorDebuggerAgent.cpp:
1914         (WebCore::InspectorDebuggerAgent::getScriptSource):
1915         (WebCore::InspectorDebuggerAgent::didParseSource):
1916         * inspector/InspectorDebuggerAgent.h:
1917         * inspector/ScriptDebugListener.h:
1918         (WebCore::ScriptDebugListener::Script::Script):
1919
1920 2011-05-18  Alexander Pavlov  <apavlov@chromium.org>
1921
1922         Reviewed by Pavel Feldman.
1923
1924         Web Inspector: model-based CSS editing does not update @import-ed stylesheet resources
1925         https://bugs.webkit.org/show_bug.cgi?id=60966
1926
1927         Imported stylesheets didn't use to be returned by InspectorCSSAgent.
1928
1929         * inspector/InspectorCSSAgent.cpp:
1930         (WebCore::InspectorCSSAgent::getAllStyleSheets):
1931         (WebCore::InspectorCSSAgent::collectStyleSheets):
1932         * inspector/InspectorCSSAgent.h:
1933
1934 2011-05-18  Pavel Feldman  <pfeldman@google.com>
1935
1936         Reviewed by Yury Semikhatsky.
1937
1938         Web Inspector: make "Id" suffixes use consistent case.
1939         https://bugs.webkit.org/show_bug.cgi?id=61028
1940
1941         * inspector/InjectedScriptSource.js:
1942         * inspector/Inspector.json:
1943         * inspector/InspectorConsoleAgent.cpp:
1944         (WebCore::InspectorConsoleAgent::addMessageToConsole):
1945         * inspector/InspectorConsoleAgent.h:
1946         * inspector/InspectorConsoleInstrumentation.h:
1947         (WebCore::InspectorInstrumentation::addMessageToConsole):
1948         * inspector/InspectorDebuggerAgent.cpp:
1949         (WebCore::parseLocation):
1950         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1951         (WebCore::InspectorDebuggerAgent::editScriptSource):
1952         (WebCore::InspectorDebuggerAgent::getScriptSource):
1953         (WebCore::InspectorDebuggerAgent::didParseSource):
1954         * inspector/InspectorDebuggerAgent.h:
1955         * inspector/InspectorInstrumentation.cpp:
1956         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
1957         * inspector/InspectorInstrumentation.h:
1958         * inspector/InspectorResourceAgent.cpp:
1959         (WebCore::buildObjectForResourceResponse):
1960         * inspector/ScriptDebugListener.h:
1961         * inspector/front-end/DebuggerModel.js:
1962         (WebInspector.DebuggerModel.prototype.scriptForSourceID):
1963         (WebInspector.DebuggerModel.prototype.queryScripts):
1964         (WebInspector.DebuggerModel.prototype.editScriptSource):
1965         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
1966         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
1967         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
1968         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
1969         * inspector/front-end/DebuggerPresentationModel.js:
1970         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource):
1971         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
1972         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
1973         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
1974         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
1975         (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
1976         (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
1977         (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
1978         (WebInspector.PresenationCallFrame):
1979         * inspector/front-end/NetworkManager.js:
1980         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
1981         * inspector/front-end/Script.js:
1982         (WebInspector.Script):
1983         (WebInspector.Script.prototype.requestSource):
1984         (WebInspector.Script.prototype.editSource):
1985         * inspector/front-end/SourceFile.js:
1986         (WebInspector.SourceFile.prototype.forceLoadContent):
1987         (WebInspector.SourceFile.prototype._concatenateScriptsContent):
1988         (WebInspector.SourceMapping.prototype._sourceLocationToScriptLocation):
1989         (WebInspector):
1990
1991 2011-05-18  Sheriff Bot  <webkit.review.bot@gmail.com>
1992
1993         Unreviewed, rolling out r86747.
1994         http://trac.webkit.org/changeset/86747
1995         https://bugs.webkit.org/show_bug.cgi?id=61039
1996
1997         Breaks JSC debugger tests. (Requested by pfeldman on #webkit).
1998
1999         * inspector/InjectedScriptSource.js:
2000         ():
2001         * inspector/Inspector.json:
2002         * inspector/InspectorConsoleAgent.cpp:
2003         (WebCore::InspectorConsoleAgent::addMessageToConsole):
2004         * inspector/InspectorConsoleAgent.h:
2005         * inspector/InspectorConsoleInstrumentation.h:
2006         (WebCore::InspectorInstrumentation::addMessageToConsole):
2007         * inspector/InspectorDebuggerAgent.cpp:
2008         (WebCore::parseLocation):
2009         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
2010         (WebCore::InspectorDebuggerAgent::editScriptSource):
2011         (WebCore::InspectorDebuggerAgent::getScriptSource):
2012         (WebCore::InspectorDebuggerAgent::didParseSource):
2013         * inspector/InspectorDebuggerAgent.h:
2014         * inspector/InspectorInstrumentation.cpp:
2015         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
2016         * inspector/InspectorInstrumentation.h:
2017         * inspector/InspectorResourceAgent.cpp:
2018         (WebCore::buildObjectForResourceResponse):
2019         * inspector/ScriptDebugListener.h:
2020         * inspector/front-end/DebuggerModel.js:
2021         (WebInspector.DebuggerModel.prototype.scriptForSourceID):
2022         (WebInspector.DebuggerModel.prototype.queryScripts):
2023         (WebInspector.DebuggerModel.prototype.editScriptSource):
2024         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
2025         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
2026         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
2027         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
2028         * inspector/front-end/DebuggerPresentationModel.js:
2029         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource):
2030         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
2031         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
2032         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
2033         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
2034         (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
2035         (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
2036         (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
2037         (WebInspector.PresenationCallFrame):
2038         * inspector/front-end/NetworkManager.js:
2039         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
2040         * inspector/front-end/Script.js:
2041         (WebInspector.Script):
2042         (WebInspector.Script.prototype.requestSource):
2043         (WebInspector.Script.prototype.editSource):
2044         * inspector/front-end/SourceFile.js:
2045         (WebInspector.SourceFile.prototype.forceLoadContent):
2046         (WebInspector.SourceFile.prototype._concatenateScriptsContent):
2047         (WebInspector.SourceMapping.prototype._sourceLocationToScriptLocation):
2048         (WebInspector):
2049
2050 2011-05-18  Abhishek Arya  <inferno@chromium.org>
2051
2052         Reviewed by Dirk Schulze.
2053
2054         When SMIL element is getting removed, make sure to remove it
2055         from target's animation elements list.
2056         https://bugs.webkit.org/show_bug.cgi?id=60980
2057
2058         Test: svg/animations/smil-element-not-removed-crash.html
2059
2060         * svg/animation/SVGSMILElement.cpp:
2061         (WebCore::SVGSMILElement::~SVGSMILElement):
2062
2063 2011-05-18  Pavel Feldman  <pfeldman@google.com>
2064
2065         Reviewed by Yury Semikhatsky.
2066
2067         Web Inspector: make "Id" suffixes use consistent case.
2068         https://bugs.webkit.org/show_bug.cgi?id=61028
2069
2070         * inspector/InjectedScriptSource.js:
2071         * inspector/Inspector.json:
2072         * inspector/InspectorConsoleAgent.cpp:
2073         (WebCore::InspectorConsoleAgent::addMessageToConsole):
2074         * inspector/InspectorConsoleAgent.h:
2075         * inspector/InspectorConsoleInstrumentation.h:
2076         (WebCore::InspectorInstrumentation::addMessageToConsole):
2077         * inspector/InspectorDebuggerAgent.cpp:
2078         (WebCore::parseLocation):
2079         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
2080         (WebCore::InspectorDebuggerAgent::editScriptSource):
2081         (WebCore::InspectorDebuggerAgent::getScriptSource):
2082         (WebCore::InspectorDebuggerAgent::didParseSource):
2083         * inspector/InspectorDebuggerAgent.h:
2084         * inspector/InspectorInstrumentation.cpp:
2085         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
2086         * inspector/InspectorInstrumentation.h:
2087         * inspector/InspectorResourceAgent.cpp:
2088         (WebCore::buildObjectForResourceResponse):
2089         * inspector/ScriptDebugListener.h:
2090         * inspector/front-end/DebuggerModel.js:
2091         (WebInspector.DebuggerModel.prototype.scriptForSourceID):
2092         (WebInspector.DebuggerModel.prototype.queryScripts):
2093         (WebInspector.DebuggerModel.prototype.editScriptSource):
2094         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
2095         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
2096         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
2097         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
2098         * inspector/front-end/DebuggerPresentationModel.js:
2099         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource):
2100         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
2101         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
2102         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
2103         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
2104         (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
2105         (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
2106         (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
2107         (WebInspector.PresenationCallFrame):
2108         * inspector/front-end/NetworkManager.js:
2109         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
2110         * inspector/front-end/Script.js:
2111         (WebInspector.Script):
2112         (WebInspector.Script.prototype.requestSource):
2113         (WebInspector.Script.prototype.editSource):
2114         * inspector/front-end/SourceFile.js:
2115         (WebInspector.SourceFile.prototype.forceLoadContent):
2116         (WebInspector.SourceFile.prototype._concatenateScriptsContent):
2117         (WebInspector.SourceMapping.prototype._sourceLocationToScriptLocation):
2118         (WebInspector):
2119
2120 2011-05-18  Pavel Feldman  <pfeldman@google.com>
2121
2122         Reviewed by Yury Semikhatsky.
2123
2124         Web Inspector: do not reveal line -1 when navigating to anchor without line specified.
2125         https://bugs.webkit.org/show_bug.cgi?id=60971
2126
2127         * inspector/front-end/ResourcesPanel.js:
2128         (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
2129         * inspector/front-end/ScriptsPanel.js:
2130         (WebInspector.ScriptsPanel.prototype.showAnchorLocation.):
2131         (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
2132         * inspector/front-end/inspector.js:
2133         (WebInspector._showAnchorLocation):
2134
2135 2011-05-18  Kent Tamura  <tkent@chromium.org>
2136
2137         Reviewed by Hajime Morita.
2138
2139         valueMissing validity for <select> is lame when selecting a value by a key operation
2140         https://bugs.webkit.org/show_bug.cgi?id=61021
2141
2142         We missed updating validity in case that SelectElement::defaultEventHandler
2143         update selections.  So, SelectElement::setSelectedIndex() updates validity.
2144
2145         * dom/SelectElement.cpp:
2146         (WebCore::SelectElement::setSelectedIndex): Call SelectElement::updateValidity().
2147         * html/HTMLSelectElement.cpp:
2148         (WebCore::HTMLSelectElement::setSelectedIndex):
2149           Remove unnecessary setNeedsValidityCheck() call.
2150           SelectElement::setSlectedIndex() calls it.
2151         (WebCore::HTMLSelectElement::setSelectedIndexByUser): ditto.
2152
2153 2011-05-17  Mikhail Naganov  <mnaganov@chromium.org>
2154
2155         Reviewed by Pavel Feldman.
2156
2157         Web Inspector: [Chromium] Enable detailed heap snapshots by default.
2158         https://bugs.webkit.org/show_bug.cgi?id=60286
2159
2160         * inspector/front-end/ProfilesPanel.js:
2161
2162 2011-05-17  Mikhail Naganov  <mnaganov@chromium.org>
2163
2164         Reviewed by Pavel Feldman.
2165
2166         Web Inspector: [Chromium] Make retaining paths list of the Detailed
2167         heap snapshots view resizable.
2168         https://bugs.webkit.org/show_bug.cgi?id=60960
2169
2170         * inspector/front-end/DetailedHeapshotView.js:
2171         (WebInspector.DetailedHeapshotView.prototype.resize):
2172         (WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
2173         (WebInspector.DetailedHeapshotView.prototype._retainersHeaderDragging):
2174         (WebInspector.DetailedHeapshotView.prototype._endRetainersHeaderDragging):
2175         (WebInspector.DetailedHeapshotView.prototype._updateRetainmentViewHeight):
2176         * inspector/front-end/heapProfiler.css:
2177
2178 2011-05-16  Jeremy Noble  <jer.noble@apple.com>
2179
2180         Reviewed by Darin Adler.
2181
2182         Disable keyboard input (with exceptions) in full-screen mode.
2183         https://bugs.webkit.org/show_bug.cgi?id=60943
2184
2185         Tests: fullscreen/full-screen-keyboard-disabled.html
2186                fullscreen/full-screen-keyboard-enabled.html
2187
2188         * page/EventHandler.cpp:
2189         (WebCore::EventHandler::isKeyEventAllowedInFullScreen): Added.  Implements the 
2190             list of allowed keyboard events in the proposed API.
2191         (WebCore::EventHandler::keyEvent): Discard events which are not allowed in
2192             full-screen mode.
2193         * page/EventHandler.h:
2194
2195 2011-05-17  Nikolas Zimmermann  <nzimmermann@rim.com>
2196
2197         Reviewed by Dirk Schulze.
2198
2199         Refactor TextRun creation
2200         https://bugs.webkit.org/show_bug.cgi?id=60255
2201
2202         Add constructTextRun() methods to RenderBlock/InlineTextBox and use it in various places in rendering/.
2203         The long-term goal is to remove the ugly eight parameters catch-it-all TextRun constructor, and
2204         replace it with explicit setters/getters. To avoid expanding dozens of callsites, when removing
2205         the catch-it-all constructor, these helper functions are introduced, which hide the details of
2206         creating a TextRun.
2207
2208         Furthermore it will be used to remove the platform layering violation, that TextRun stores
2209         RenderObject pointers for the sake of SVG Fonts support, see bug 60254.
2210
2211         No change in functionaliy, no new tests.
2212
2213         * rendering/EllipsisBox.cpp:
2214         (WebCore::EllipsisBox::paint):
2215         (WebCore::EllipsisBox::selectionRect):
2216         (WebCore::EllipsisBox::paintSelection):
2217         * rendering/InlineTextBox.cpp:
2218         (WebCore::InlineTextBox::selectionRect):
2219         (WebCore::InlineTextBox::paint):
2220         (WebCore::InlineTextBox::paintSelection):
2221         (WebCore::InlineTextBox::paintCompositionBackground):
2222         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
2223         (WebCore::InlineTextBox::paintTextMatchMarker):
2224         (WebCore::InlineTextBox::computeRectForReplacementMarker):
2225         (WebCore::InlineTextBox::offsetForPosition):
2226         (WebCore::InlineTextBox::positionForOffset):
2227         (WebCore::InlineTextBox::constructTextRun):
2228         * rendering/InlineTextBox.h:
2229         * rendering/RenderBlock.cpp:
2230         (WebCore::RenderBlock::constructTextRunAllowTrailingExpansion):
2231         * rendering/RenderBlock.h:
2232         * rendering/RenderEmbeddedObject.cpp:
2233         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
2234         * rendering/RenderFileUploadControl.cpp:
2235         (WebCore::RenderFileUploadControl::paintObject):
2236         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
2237         * rendering/RenderImage.cpp:
2238         (WebCore::RenderImage::setImageSizeForAltText):
2239         (WebCore::RenderImage::paintReplaced):
2240         * rendering/RenderListBox.cpp:
2241         (WebCore::RenderListBox::updateFromElement):
2242         * rendering/RenderTextControl.cpp:
2243         (WebCore::RenderTextControl::getAvgCharWidth):
2244
2245 2011-05-17  Jeremy Noble  <jer.noble@apple.com>
2246
2247         Reviewed by Darin Adler.
2248
2249         Removing a full-screen element or ancestor from the DOM should trigger exiting full-screen mode.
2250         https://bugs.webkit.org/show_bug.cgi?id=60997
2251
2252         Tests: fullscreen/full-screen-remove-ancestor.html
2253                fullscreen/full-screen-remove-children.html
2254                fullscreen/full-screen-remove.html
2255
2256         * dom/Document.cpp:
2257         (WebCore::Document::fullScreenChangeDelayTimerFired): If the target node was removed from the document
2258             make sure to message the documentElement() as well.
2259         (WebCore::Document::fullScreenElementRemoved): Cancel full screen mode.
2260
2261 2011-05-17  Yuta Kitamura  <yutak@chromium.org>
2262
2263         Reviewed by Kent Tamura.
2264
2265         WebSocket: Add CLOSING state
2266         https://bugs.webkit.org/show_bug.cgi?id=60878
2267
2268         No new tests are added because there is no change in functionality.
2269
2270         * platform/network/SocketStreamHandleBase.h:
2271         * websockets/WebSocket.h:
2272         * websockets/WebSocket.idl:
2273
2274 2011-05-16  MORITA Hajime  <morrita@google.com>
2275
2276         Reviewed by Dimitri Glazkov.
2277
2278         [Refactoring] ShadowContentElement should be part of dom/
2279         https://bugs.webkit.org/show_bug.cgi?id=59117
2280
2281         - Moved html/shadow/ShadowContentElement.h to dom/ShadowContentElement.h
2282         - Pulled ShadowContentElement up to a subclass of StyledElement, from HTMLDivElement
2283         - Added ShadowContentElement.cpp
2284         - Extracted ShadowContentSelector.{cpp,h} from ShadowRoot.{cpp,h}
2285         
2286         No new tests, no behavior change.
2287
2288         * CMakeLists.txt:
2289         * GNUmakefile.list.am:
2290         * WebCore.gypi:
2291         * WebCore.pro:
2292         * WebCore.vcproj/WebCore.vcproj:
2293         * WebCore.xcodeproj/project.pbxproj:
2294         * dom/DOMAllInOne.cpp: Added new ShadowContentSelector.cpp and ShadowContentElement.cpp.
2295         * dom/Node.h: 
2296         (WebCore::Node::forceReattach): Moved from static local function to share between classes.
2297         * dom/ShadowContentElement.cpp: Copied from Source/WebCore/html/shadow/ShadowContentElement.h.
2298         (WebCore::ShadowContentElement::attach):
2299         * dom/ShadowContentElement.h: Copied from Source/WebCore/html/shadow/ShadowContentElement.h.
2300         (WebCore::ShadowContentElement::ShadowContentElement):
2301         (WebCore::ShadowContentElement::isShadowBoundary):
2302         (WebCore::ShadowContentElement::rendererIsNeeded):
2303         (WebCore::ShadowContentElement::createRenderer):
2304         * dom/ShadowContentSelector.cpp: Copied from Source/WebCore/html/shadow/ShadowContentElement.h.
2305         (WebCore::ShadowContentSelector::ShadowContentSelector):
2306         (WebCore::ShadowContentSelector::~ShadowContentSelector):
2307         (WebCore::ShadowContentSelector::attachChildrenFor):
2308         * dom/ShadowContentSelector.h: Renamed from Source/WebCore/html/shadow/ShadowContentElement.h.
2309         (WebCore::ShadowContentSelector::shadowRoot):
2310         (WebCore::ShadowContentSelector::activeElement):
2311         (WebCore::ShadowContentSelector::currentInstance):
2312         * dom/ShadowRoot.cpp:
2313         (WebCore::ShadowRoot::recalcStyle):
2314         * html/HTMLDetailsElement.cpp:
2315         (WebCore::DetailsContentElement::DetailsContentElement):
2316         (WebCore::DetailsSummaryElement::DetailsSummaryElement):
2317         * html/HTMLSummaryElement.cpp:
2318         (WebCore::SummaryContentElement::SummaryContentElement):
2319
2320 2011-05-17  Cris Neckar  <cdn@chromium.org>
2321
2322         Reviewed by Adam Barth.
2323
2324         Clear the image from ImageLoader rather than clearing the ImageLoader in HTMLObjectElement::renderFallbackContent.
2325         https://bugs.webkit.org/show_bug.cgi?id=61005
2326
2327         Test: http/tests/loading/nested_bad_objects.php
2328
2329         * html/HTMLObjectElement.cpp:
2330         (WebCore::HTMLObjectElement::renderFallbackContent):
2331
2332 2011-05-17  Chris Rogers  <crogers@google.com>
2333
2334         Reviewed by Kenneth Russell.
2335
2336         Make sure that AudioNode gets re-enabled after having been disconnected and re-connected.
2337         https://bugs.webkit.org/show_bug.cgi?id=60995
2338
2339         No new tests since audio API is not yet implemented.
2340
2341         * webaudio/AudioNode.cpp:
2342         (WebCore::AudioNode::ref):
2343
2344 2011-05-17  Brady Eidson  <beidson@apple.com>
2345
2346         Reviewed by Darin Adler.
2347
2348         <rdar://problem/9366728> and https://webkit.org/b/60796
2349         Crash when code inside a ResourceLoadDelegate method calls [WebView stopLoading:]
2350
2351         Break up ResourceLoader::didCancel() into willCancel() and didCancel(), and making them pure virtual.
2352         This change has the following benefits:
2353           - Managing ResourceLoader state can be in the base class; Subclasses no longer need to protect
2354             themselves, check these variables as often, or ASSERT them.
2355           - ResourceLoader subclasses no longer have to call the base class ::didCancel
2356           - ResourceLoader::cancel becomes more capable of handling reentrancy with the design that the 
2357             cancellation is completed inside the last call.
2358
2359         No new tests - No change in behavior for previous tests, and new test would require API usage outside
2360         the scope of DumpRenderTree.
2361
2362         * loader/ResourceLoader.cpp:
2363         (WebCore::ResourceLoader::ResourceLoader):
2364         (WebCore::ResourceLoader::cancel): Moved from ResourceLoader::didCancel, and does all of that same work
2365           except it interposes calls to "willCancel" and "didCancel" as required to maintain the same behavior.
2366         * loader/ResourceLoader.h: Added pure virtual didCancel() and willCancel().
2367
2368         Split-up into willCancel() and didCancel(), based on when the base class didCancel() used to be called:
2369         * loader/MainResourceLoader.cpp:
2370         (WebCore::MainResourceLoader::willCancel):
2371         (WebCore::MainResourceLoader::didCancel):
2372         * loader/MainResourceLoader.h:
2373
2374         Split-up into willCancel() and didCancel(), based on when the "reached terminal state" flag used to be checked:
2375         * loader/NetscapePlugInStreamLoader.cpp:
2376         (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): Call the entry point cancel() instead of the old didCancel()
2377         (WebCore::NetscapePlugInStreamLoader::willCancel):
2378         (WebCore::NetscapePlugInStreamLoader::didCancel):
2379         * loader/NetscapePlugInStreamLoader.h:
2380
2381         Split-up into willCancel() and didCancel(), based on when the "reached terminal state" flag used to be checked:
2382         * loader/SubresourceLoader.cpp:
2383         (WebCore::SubresourceLoader::willCancel):
2384         (WebCore::SubresourceLoader::didCancel):
2385         * loader/SubresourceLoader.h:
2386
2387 2011-05-17  Nat Duca  <nduca@chromium.org>
2388
2389         Reviewed by James Robinson.
2390
2391         [chromium] Always set layerRenderer, even on non-drawn-layers
2392         https://bugs.webkit.org/show_bug.cgi?id=60977
2393
2394         This is a defensive fixe for crbug.com/82799, in which
2395         a RenderLayer could not prepare itself because its owning layerImpl
2396         had no associated layerRenderer. The underlying issue is that we
2397         sometimes put renderSurfaces onto the list that won't actually render.
2398         For now, the priority is to reduce fragility so that invisible layers
2399         dont lead to crashers. We do this by being more agressive about 
2400         binding CCLayerImpls to the LayerRenderer, doing it all the time rather
2401         than only when we think it will get rendered.
2402
2403         * platform/graphics/chromium/LayerRendererChromium.cpp:
2404         (WebCore::LayerRendererChromium::paintLayerContents):
2405
2406 2011-05-17  Anders Carlsson  <andersca@apple.com>
2407
2408         Fix the clang build.
2409
2410         * rendering/RenderText.h:
2411         (WebCore::RenderText::nodeAtPoint):
2412         nodeAtPoint should take a const IntPoint reference.
2413
2414 2011-05-17  Erik Arvidsson  <arv@chromium.org>
2415
2416         Reviewed by Ryosuke Niwa.
2417
2418         document.activeElement doesn't point to the focused frame
2419         https://bugs.webkit.org/show_bug.cgi?id=49509
2420
2421         This makes us match IE and Firefox and there is an ongoing WHATWG discussion to make the spec match this.
2422
2423         Test: fast/dom/HTMLDocument/active-element-frames.html
2424
2425         * html/HTMLDocument.cpp:
2426         (WebCore::HTMLDocument::activeElement): Walk up the frame tree from the focusedFrame to find the active frame if any.
2427
2428 2011-05-17  Emil A Eklund  <eae@chromium.org>
2429
2430         Reviewed by Eric Seidel.
2431
2432         Change nodeAtPoint to take IntPoint instead of int x, int y
2433         https://bugs.webkit.org/show_bug.cgi?id=60663
2434
2435         Change nodeAtPoint to take a single const IntPoint& instead of a pair of
2436         ints for the location.
2437
2438         Covered by existing tests.
2439
2440         * platform/graphics/FloatPoint.h:
2441         (WebCore::flooredIntPoint):
2442         * rendering/EllipsisBox.cpp:
2443         (WebCore::EllipsisBox::nodeAtPoint):
2444         * rendering/EllipsisBox.h:
2445         * rendering/InlineBox.cpp:
2446         (WebCore::InlineBox::nodeAtPoint):
2447         * rendering/InlineBox.h:
2448         * rendering/InlineFlowBox.cpp:
2449         (WebCore::InlineFlowBox::nodeAtPoint):
2450         * rendering/InlineFlowBox.h:
2451         * rendering/InlineTextBox.cpp:
2452         (WebCore::InlineTextBox::nodeAtPoint):
2453         * rendering/InlineTextBox.h:
2454         * rendering/RenderBlock.cpp:
2455         (WebCore::RenderBlock::nodeAtPoint):
2456         (WebCore::RenderBlock::hitTestContents):
2457         * rendering/RenderBlock.h:
2458         * rendering/RenderBox.cpp:
2459         (WebCore::RenderBox::nodeAtPoint):
2460         * rendering/RenderBox.h:
2461         * rendering/RenderFrameSet.cpp:
2462         (WebCore::RenderFrameSet::nodeAtPoint):
2463         * rendering/RenderFrameSet.h:
2464         * rendering/RenderImage.cpp:
2465         (WebCore::RenderImage::nodeAtPoint):
2466         * rendering/RenderImage.h:
2467         * rendering/RenderInline.cpp:
2468         (WebCore::RenderInline::nodeAtPoint):
2469         * rendering/RenderInline.h:
2470         * rendering/RenderLineBoxList.cpp:
2471         (WebCore::RenderLineBoxList::hitTest):
2472         * rendering/RenderListBox.cpp:
2473         (WebCore::RenderListBox::nodeAtPoint):
2474         * rendering/RenderListBox.h:
2475         * rendering/RenderObject.cpp:
2476         (WebCore::RenderObject::hitTest):
2477         (WebCore::RenderObject::nodeAtPoint):
2478         * rendering/RenderObject.h:
2479         * rendering/RenderTable.cpp:
2480         (WebCore::RenderTable::nodeAtPoint):
2481         * rendering/RenderTable.h:
2482         * rendering/RenderTableRow.cpp:
2483         (WebCore::RenderTableRow::nodeAtPoint):
2484         * rendering/RenderTableRow.h:
2485         * rendering/RenderTableSection.cpp:
2486         (WebCore::RenderTableSection::nodeAtPoint):
2487         * rendering/RenderTableSection.h:
2488         * rendering/RenderText.h:
2489         (WebCore::RenderText::nodeAtPoint):
2490         * rendering/RenderTextControlMultiLine.cpp:
2491         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
2492         * rendering/RenderTextControlMultiLine.h:
2493         * rendering/RenderTextControlSingleLine.cpp:
2494         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
2495         * rendering/RenderTextControlSingleLine.h:
2496         * rendering/RenderWidget.cpp:
2497         (WebCore::RenderWidget::nodeAtPoint):
2498         * rendering/RenderWidget.h:
2499         * rendering/RootInlineBox.cpp:
2500         (WebCore::RootInlineBox::nodeAtPoint):
2501         * rendering/RootInlineBox.h:
2502         * rendering/svg/RenderSVGForeignObject.cpp:
2503         (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
2504         (WebCore::RenderSVGForeignObject::nodeAtPoint):
2505         * rendering/svg/RenderSVGForeignObject.h:
2506         * rendering/svg/RenderSVGModelObject.cpp:
2507         (WebCore::RenderSVGModelObject::nodeAtPoint):
2508         * rendering/svg/RenderSVGModelObject.h:
2509         * rendering/svg/RenderSVGRoot.cpp:
2510         (WebCore::RenderSVGRoot::nodeAtPoint):
2511         * rendering/svg/RenderSVGRoot.h:
2512         * rendering/svg/RenderSVGText.cpp:
2513         (WebCore::RenderSVGText::nodeAtFloatPoint):
2514         (WebCore::RenderSVGText::nodeAtPoint):
2515         * rendering/svg/RenderSVGText.h:
2516
2517 2011-05-17  Andrew Wilson  <atwilson@chromium.org>
2518
2519         Unreviewed, rolling out r86647.
2520         http://trac.webkit.org/changeset/86647
2521         https://bugs.webkit.org/show_bug.cgi?id=56814
2522
2523         Broke tests downstream in Chromium
2524
2525         * dom/DocumentMarker.h:
2526         (WebCore::DocumentMarker::operator==):
2527         (WebCore::DocumentMarker::operator!=):
2528         * dom/DocumentMarkerController.cpp:
2529         (WebCore::DocumentMarkerController::addMarker):
2530         (WebCore::DocumentMarkerController::copyMarkers):
2531         (WebCore::DocumentMarkerController::removeMarkers):
2532         (WebCore::DocumentMarkerController::markerContainingPoint):
2533         (WebCore::DocumentMarkerController::markersInRange):
2534         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
2535         (WebCore::DocumentMarkerController::removeMarkersFromList):
2536         (WebCore::DocumentMarkerController::repaintMarkers):
2537         (WebCore::DocumentMarkerController::shiftMarkers):
2538         (WebCore::DocumentMarkerController::setMarkersActive):
2539         (WebCore::DocumentMarkerController::hasMarkers):
2540         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
2541         (WebCore::DocumentMarkerController::showMarkers):
2542         * dom/DocumentMarkerController.h:
2543         * editing/CompositeEditCommand.cpp:
2544         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
2545         * editing/DeleteSelectionCommand.cpp:
2546         (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
2547         * editing/Editor.cpp:
2548         (WebCore::Editor::selectionStartHasMarkerFor):
2549         * editing/SpellingCorrectionController.cpp:
2550         (WebCore::SpellingCorrectionController::respondToChangedSelection):
2551         * editing/SpellingCorrectionController.h:
2552         (WebCore::SpellingCorrectionController::shouldStartTimerFor):
2553         * rendering/HitTestResult.cpp:
2554         (WebCore::HitTestResult::spellingToolTip):
2555         (WebCore::HitTestResult::replacedString):
2556         * rendering/InlineTextBox.cpp:
2557         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
2558         (WebCore::InlineTextBox::paintTextMatchMarker):
2559         (WebCore::InlineTextBox::computeRectForReplacementMarker):
2560         (WebCore::InlineTextBox::paintDocumentMarkers):
2561         * rendering/svg/SVGInlineFlowBox.cpp:
2562         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
2563
2564 2011-05-17  Andrew Wilson  <atwilson@chromium.org>
2565
2566         Unreviewed, rolling out r86656.
2567         http://trac.webkit.org/changeset/86656
2568
2569         Broke tests downstream in Chromium
2570
2571         * editing/SpellingCorrectionController.cpp:
2572         (WebCore::markersHaveIdenticalDescription):
2573         (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
2574         (WebCore::SpellingCorrectionController::processMarkersOnTextToBeReplacedByResult):
2575
2576 2011-05-17  Yufeng Shen  <miletus@chromium.org>
2577
2578         Reviewed by Darin Fisher.
2579
2580         Make WebKit expose extra touch information
2581         https://bugs.webkit.org/show_bug.cgi?id=59030
2582
2583         * dom/Document.cpp:
2584         (WebCore::Document::createTouch):
2585         * dom/Document.h:
2586         * dom/Document.idl:
2587         * dom/Touch.cpp:
2588         (WebCore::Touch::Touch):
2589         * dom/Touch.h:
2590         (WebCore::Touch::create):
2591         (WebCore::Touch::webkitRadiusX):
2592         (WebCore::Touch::webkitRadiusY):
2593         (WebCore::Touch::webkitRotationAngle):
2594         * dom/Touch.idl:
2595         * page/EventHandler.cpp:
2596         (WebCore::EventHandler::handleTouchEvent):
2597         * platform/PlatformTouchPoint.h:
2598         (WebCore::PlatformTouchPoint::radiusX):
2599         (WebCore::PlatformTouchPoint::radiusY):
2600         (WebCore::PlatformTouchPoint::rotationAngle):
2601
2602 2011-05-17  Eric Seidel  <eric@webkit.org>
2603
2604         Reviewed by Ryosuke Niwa.
2605
2606         Add a LineLayoutState object to hold global state during line layout
2607         https://bugs.webkit.org/show_bug.cgi?id=60113
2608
2609         Like LayoutState for layout(), LineLayoutState keeps track of global information
2610         during an entire linebox tree layout pass (aka layoutInlineChildren).
2611
2612         For now it just holds isFullLayout and the logicalRepaintTop/Bottom.
2613         It's possible we should hold the useRepaintBounds bool as well as
2614         the startLine and endLine RootInlineBox pointers.
2615
2616         No change in behavior, thus no tests.
2617
2618         * rendering/RenderBlock.cpp:
2619         (WebCore::RenderBlock::layoutBlock):
2620         * rendering/RenderBlock.h:
2621         * rendering/RenderBlockLineLayout.cpp:
2622         (WebCore::LineLayoutState::LineLayoutState):
2623         (WebCore::LineLayoutState::markForFullLayout):
2624         (WebCore::LineLayoutState::isFullLayout):
2625         (WebCore::LineLayoutState::setRepaintRange):
2626         (WebCore::LineLayoutState::updateRepaintRangeFromBox):
2627         (WebCore::LineLayoutState::startLine):
2628         (WebCore::LineLayoutState::endLine):
2629         (WebCore::deleteLineRange):
2630         (WebCore::RenderBlock::layoutRunsAndFloats):
2631         (WebCore::RenderBlock::layoutInlineChildren):
2632         (WebCore::RenderBlock::checkFloatsInCleanLine):
2633         (WebCore::RenderBlock::determineStartPosition):
2634         (WebCore::RenderBlock::determineEndPosition):
2635         (WebCore::RenderBlock::matchedEndLine):
2636
2637 2011-05-17  Andreas Kling  <kling@webkit.org>
2638
2639         Reviewed by Kenneth Rohde Christiansen.
2640
2641         Area element doesn't update region when dynamically altered.
2642         https://bugs.webkit.org/show_bug.cgi?id=54636
2643
2644         Recompute the clickable region after the "shape" or "coords" attribute
2645         of an area element is changed.
2646
2647         Test: fast/images/imagemap-dynamic-area-updates.html
2648
2649         * html/HTMLAreaElement.cpp:
2650         (WebCore::HTMLAreaElement::parseMappedAttribute):
2651         (WebCore::HTMLAreaElement::invalidateCachedRegion):
2652         * html/HTMLAreaElement.h:
2653
2654 2011-05-09  Luiz Agostini  <luiz.agostini@openbossa.org>
2655
2656         Reviewed by Kenneth Rohde Christiansen.
2657
2658         [Qt] Redirection of HTTP POST (3xx) incorrectly includes original POST data
2659         https://bugs.webkit.org/show_bug.cgi?id=60440
2660
2661         Makes sure that the HTTP headers Content-type and Content-length are not included in
2662         the requests that do not have any content.
2663
2664         Tests: http/tests/navigation/post-301-response.html
2665                http/tests/navigation/post-302-response.html
2666                http/tests/navigation/post-303-response.html
2667                http/tests/navigation/post-307-response.html
2668
2669         * platform/network/qt/QNetworkReplyHandler.cpp:
2670         (WebCore::QNetworkReplyHandler::sendNetworkRequest):
2671
2672 2011-05-17  Andreas Kling  <kling@webkit.org>
2673
2674         Reviewed by Benjamin Poulain.
2675
2676         [Qt] GraphicsLayerQtImpl: Remove an unused variable.
2677
2678         * platform/graphics/qt/GraphicsLayerQt.cpp:
2679         (WebCore::GraphicsLayerQtImpl::paint):
2680
2681 2011-05-17  Pavel Feldman  <pfeldman@google.com>
2682
2683         Reviewed by Yury Semikhatsky.
2684
2685         Web Inspector: navigating from elements panel does not show source view.
2686         https://bugs.webkit.org/show_bug.cgi?id=60970
2687
2688         * inspector/front-end/TextViewer.js:
2689         (WebInspector.TextViewer.prototype.highlightLine):
2690         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
2691
2692 2011-05-17  Sam Magnuson  <smagnuson@netflix.com>
2693
2694         Reviewed by Kenneth Rohde Christiansen.
2695
2696         [Qt] Node that have both an opacity and a transform animation on them seem not to fire.
2697         https://bugs.webkit.org/show_bug.cgi?id=40841
2698
2699         Test: compositing/animation/busy-indicator.html
2700
2701         * platform/graphics/qt/GraphicsLayerQt.cpp:
2702         (WebCore::GraphicsLayerQtImpl::recache):
2703         (WebCore::GraphicsLayerQtImpl::flushChanges):
2704         (WebCore::GraphicsLayerQt::setContentsToImage):
2705         (WebCore::TransformAnimationQt::getAnimatedProperty):
2706         (WebCore::OpacityAnimationQt::getAnimatedProperty):
2707         (WebCore::GraphicsLayerQt::addAnimation):
2708
2709 2011-05-17  Grace Kloba  <klobag@chromium.org>
2710
2711         Reviewed by Kenneth Russell.
2712
2713         GraphicsContext3DSkia needs to honor the platform Sk_x_SHIFT value instead of assuming BGRA color
2714         https://bugs.webkit.org/show_bug.cgi?id=60965
2715
2716         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
2717         (WebCore::GraphicsContext3D::getImageData):
2718
2719 2011-05-17  Alexander Pavlov  <apavlov@chromium.org>
2720
2721         Reviewed by Yury Semikhatsky.
2722
2723         Web Inspector: Enter/Tab after editing a CSS property does not invoke editor on next field
2724         https://bugs.webkit.org/show_bug.cgi?id=60962
2725
2726         * inspector/front-end/ElementsPanel.js:
2727         (WebInspector.ElementsPanel.prototype.updateStyles):
2728
2729 2011-05-17  Sheriff Bot  <webkit.review.bot@gmail.com>
2730
2731         Unreviewed, rolling out r86660.
2732         http://trac.webkit.org/changeset/86660
2733         https://bugs.webkit.org/show_bug.cgi?id=60958
2734
2735         broke search in console panel (Requested by podivilov on
2736         #webkit).
2737
2738         * inspector/front-end/ConsoleView.js:
2739         (WebInspector.ConsoleView.prototype.show):
2740         (WebInspector.ConsoleView.prototype.afterShow):
2741         (WebInspector.ConsoleView.prototype.hide):
2742         (WebInspector.ConsoleView.prototype.addMessage):
2743         (WebInspector.ConsoleView.prototype.clearMessages):
2744         * inspector/front-end/DebuggerPresentationModel.js:
2745         (WebInspector.DebuggerPresentationModel):
2746         * inspector/front-end/Drawer.js:
2747         (WebInspector.Drawer.prototype.set visibleView):
2748         (WebInspector.Drawer.prototype.show.animationFinished):
2749         (WebInspector.Drawer.prototype.show):
2750         * inspector/front-end/Panel.js:
2751         (WebInspector.Panel):
2752         * inspector/front-end/ResourceTreeModel.js:
2753         (WebInspector.ResourceTreeModel):
2754         * inspector/front-end/inspector.html:
2755         * inspector/front-end/inspector.js:
2756         (WebInspector._createPanels):
2757
2758 2011-05-17  Alexis Menard  <alexis.menard@openbossa.org>
2759
2760         Unreviewed warning fix introduced by r86377.
2761
2762         * rendering/RenderFieldset.cpp:
2763         (WebCore::RenderFieldset::paintMask):
2764
2765 2011-05-17  Yuta Kitamura  <yutak@chromium.org>
2766
2767         Reviewed by Kent Tamura.
2768
2769         WebSocket: Uninline methods in ThreadableWebSocketChannelClientWrapper
2770         https://bugs.webkit.org/show_bug.cgi?id=60945
2771
2772         Add ThreadableWebSocketChannelClientWrapper.cpp. Uninline methods in this class and
2773         move these definitions into .cpp in order to allow further modifications in this class.
2774
2775         No new tests, as this is just refactoring.
2776
2777         * CMakeLists.txt:
2778         * GNUmakefile.list.am:
2779         * WebCore.gypi:
2780         * WebCore.pro:
2781         * WebCore.vcproj/WebCore.vcproj:
2782         * WebCore.xcodeproj/project.pbxproj:
2783         * websockets/ThreadableWebSocketChannelClientWrapper.cpp: Added.
2784         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
2785         (WebCore::ThreadableWebSocketChannelClientWrapper::create):
2786         (WebCore::ThreadableWebSocketChannelClientWrapper::clearSyncMethodDone):
2787         (WebCore::ThreadableWebSocketChannelClientWrapper::setSyncMethodDone):
2788         (WebCore::ThreadableWebSocketChannelClientWrapper::syncMethodDone):
2789         (WebCore::ThreadableWebSocketChannelClientWrapper::sent):
2790         (WebCore::ThreadableWebSocketChannelClientWrapper::setSent):
2791         (WebCore::ThreadableWebSocketChannelClientWrapper::bufferedAmount):
2792         (WebCore::ThreadableWebSocketChannelClientWrapper::setBufferedAmount):
2793         (WebCore::ThreadableWebSocketChannelClientWrapper::clearClient):
2794         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
2795         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
2796         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
2797         (WebCore::ThreadableWebSocketChannelClientWrapper::suspend):
2798         (WebCore::ThreadableWebSocketChannelClientWrapper::resume):
2799         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingEvents):
2800         * websockets/ThreadableWebSocketChannelClientWrapper.h:
2801
2802 2011-05-17  Andreas Kling  <andreas.kling@nokia.com>
2803
2804         Reviewed by Kenneth Rohde Christiansen.
2805
2806         [Qt] Support shadowed text in fast font path.
2807         https://bugs.webkit.org/show_bug.cgi?id=60462
2808
2809         * platform/graphics/Font.cpp:
2810         (WebCore::Font::drawText): Remove complex path shortcut for shadowed text.
2811
2812         * platform/graphics/qt/FontQt.cpp:
2813         (WebCore::Font::drawGlyphs): Paint shadows for simple text.
2814
2815 2011-05-17  Andreas Kling  <kling@webkit.org>
2816
2817         Reviewed by Kenneth Rohde Christiansen.
2818
2819         [Qt] Construct GraphicsLayerQtImpl::State with correct values.
2820         https://bugs.webkit.org/show_bug.cgi?id=60902
2821
2822         The GraphicsLayerQtImpl initial state should match the initial values
2823         of the corresponding GraphicsLayer flags.
2824
2825         * platform/graphics/qt/GraphicsLayerQt.cpp:
2826         (WebCore::GraphicsLayerQtImpl::State::State):
2827
2828 2011-05-12  Hans Wennborg  <hans@chromium.org>
2829
2830         Reviewed by Steve Block.
2831
2832         IndexedDB: Index population should ignore records without key for index
2833         https://bugs.webkit.org/show_bug.cgi?id=60697
2834
2835         When populating a new index, records which do not have a key on the
2836         index's key path should be ignored.
2837
2838         * storage/IDBObjectStoreBackendImpl.cpp:
2839
2840 2011-05-17  Young Han Lee  <joybro@company100.net>
2841
2842         Reviewed by Csaba Osztrogonác.
2843
2844         [Texmap][Qt] Enable strict PassOwnPtr for Qt with texmap enabled.
2845         https://bugs.webkit.org/show_bug.cgi?id=60947
2846
2847         No new tests. Build fix.
2848
2849         * platform/graphics/qt/TextureMapperQt.cpp:
2850         (WebCore::TextureMapper::create):
2851         * platform/graphics/qt/TextureMapperQt.h:
2852         (WebCore::TextureMapperQt::create):
2853         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2854         (WebCore::GraphicsLayer::create):
2855
2856 2011-05-17  Alexander Pavlov  <apavlov@chromium.org>
2857
2858         Reviewed by Yury Semikhatsky.
2859
2860         Web Inspector: Increment/decrement of very big CSS numeric values results in invalid CSS
2861         https://bugs.webkit.org/show_bug.cgi?id=60890
2862
2863         * inspector/front-end/MetricsSidebarPane.js:
2864         (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
2865         * inspector/front-end/StylesSidebarPane.js:
2866         (WebInspector.StylesSidebarPane.alteredFloatNumber):
2867         (WebInspector.StylePropertyTreeElement.prototype):
2868
2869 2011-05-17  Pavel Podivilov  <podivilov@chromium.org>
2870
2871         Reviewed by Yury Semikhatsky.
2872
2873         Web Inspector: merge ConsoleView into ConsolePanel.
2874         https://bugs.webkit.org/show_bug.cgi?id=54670
2875
2876         Console view in drawer looks exactly the same as console panel. Merging ConsoleView and ConsolePanel together
2877         will allow us to reuse panel's functionality (e.g. resizable sidebar) even when console is docked.
2878
2879         * inspector/front-end/ConsoleView.js:
2880         (WebInspector.ConsolePanel.prototype.get toolbarItemLabel):
2881         (WebInspector.ConsolePanel.prototype.show):
2882         (WebInspector.ConsolePanel.prototype.hide):
2883         (WebInspector.ConsolePanel.prototype.showInDrawer):
2884         (WebInspector.ConsolePanel.prototype.afterShowInDrawer):
2885         (WebInspector.ConsolePanel.prototype.hideInDrawer):
2886         (WebInspector.ConsolePanel.prototype.addMessage):
2887         (WebInspector.ConsolePanel.prototype.clearMessages):
2888         * inspector/front-end/DebuggerPresentationModel.js:
2889         (WebInspector.DebuggerPresentationModel):
2890         * inspector/front-end/Drawer.js:
2891         (WebInspector.Drawer.prototype.set visibleView):
2892         (WebInspector.Drawer.prototype.show.animationFinished):
2893         (WebInspector.Drawer.prototype.show):
2894         * inspector/front-end/Panel.js:
2895         (WebInspector.Panel):
2896         * inspector/front-end/ResourceTreeModel.js:
2897         (WebInspector.ResourceTreeModel):
2898         * inspector/front-end/inspector.html:
2899         * inspector/front-end/inspector.js:
2900         (WebInspector._createPanels):
2901
2902 2011-05-16  Yuta Kitamura  <yutak@chromium.org>
2903
2904         Reviewed by Kent Tamura.
2905
2906         WebSocket: WebSocketHandshake prints a carriage return to console
2907         https://bugs.webkit.org/show_bug.cgi?id=60880
2908
2909         * websockets/WebSocketHandshake.cpp:
2910         (WebCore::WebSocketHandshake::readStatusLine):
2911         WebSocketHandshake should not print a carriage return to console. To fix this,
2912         we first check whether the status line ends with CRLF. After that,
2913         we can print the first (lineLength - 2) characters of the status line
2914         which do not contain a carriage return.
2915
2916 2011-05-16  MORITA Hajime  <morrita@google.com>
2917
2918         Unreviewed build fix for r86647, which broke SUPPORT_AUTOCORRECTION_PANEL.
2919
2920         * editing/SpellingCorrectionController.cpp:
2921         (WebCore::markersHaveIdenticalDescription):
2922         (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
2923         (WebCore::SpellingCorrectionController::processMarkersOnTextToBeReplacedByResult):
2924
2925 2011-05-16  Kent Tamura  <tkent@chromium.org>
2926
2927         Fix Leopard build.
2928
2929         * html/HTMLInputElement.cpp:
2930         (WebCore::HTMLInputElement::stepUpFromRenderer): Use double instead of int.
2931
2932 2011-05-16  James Robinson  <jamesr@chromium.org>
2933
2934         Reviewed by Kenneth Russell.
2935
2936         [chromium] Decouple LayerChromium/CCLayerImpl trees
2937         https://bugs.webkit.org/show_bug.cgi?id=58830
2938
2939         Makes the CCLayerImpl tree self-hosting and provides an explicit step
2940         to synchronize the LayerChromium tree to the CCLayerImpl tree.
2941         Tested by compositing/ layout tests and by unit tests in WebKit/chromium.
2942
2943         * WebCore.gypi:
2944         * platform/graphics/chromium/CanvasLayerChromium.cpp:
2945         (WebCore::CanvasLayerChromium::createCCLayerImpl):
2946         * platform/graphics/chromium/LayerChromium.cpp:
2947         (WebCore::LayerChromium::LayerChromium):
2948         (WebCore::LayerChromium::~LayerChromium):
2949         (WebCore::LayerChromium::cleanupResources):
2950         (WebCore::LayerChromium::dumpLayer):
2951         (WebCore::LayerChromium::dumpLayerProperties):
2952         (WebCore::LayerChromium::createCCLayerImpl):
2953         (WebCore::LayerChromium::ccLayerImpl):
2954         * platform/graphics/chromium/LayerChromium.h:
2955         (WebCore::LayerChromium::id):
2956         (WebCore::LayerChromium::setCCLayerImpl):
2957         * platform/graphics/chromium/LayerRendererChromium.cpp:
2958         (WebCore::LayerRendererChromium::updateAndDrawLayers):
2959         (WebCore::LayerRendererChromium::updateLayers):
2960         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
2961         (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive):
2962         * platform/graphics/chromium/LayerRendererChromium.h:
2963         * platform/graphics/chromium/PluginLayerChromium.cpp:
2964         (WebCore::PluginLayerChromium::createCCLayerImpl):
2965         * platform/graphics/chromium/TreeSynchronizer.cpp: Added.
2966         (WebCore::TreeSynchronizer::addCCLayerImplsToMapRecursive):
2967         (WebCore::TreeSynchronizer::synchronizeTreeRecursive):
2968         (WebCore::TreeSynchronizer::synchronizeTrees):
2969         * platform/graphics/chromium/TreeSynchronizer.h:
2970         * platform/graphics/chromium/VideoLayerChromium.cpp:
2971         (WebCore::VideoLayerChromium::createCCLayerImpl):
2972         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
2973         (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl):
2974         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
2975         (WebCore::CCCanvasLayerImpl::create):
2976         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2977         (WebCore::CCLayerImpl::CCLayerImpl):
2978         (WebCore::CCLayerImpl::addChild):
2979         (WebCore::CCLayerImpl::removeFromParent):
2980         (WebCore::CCLayerImpl::removeAllChildren):
2981         (WebCore::CCLayerImpl::clearChildList):
2982         (WebCore::CCLayerImpl::descendantsDrawsContent):
2983         (WebCore::CCLayerImpl::drawsContent):
2984         (WebCore::CCLayerImpl::updateCompositorResources):
2985         * platform/graphics/chromium/cc/CCLayerImpl.h:
2986         (WebCore::CCLayerImpl::create):
2987         (WebCore::CCLayerImpl::parent):
2988         (WebCore::CCLayerImpl::children):
2989         (WebCore::CCLayerImpl::setMaskLayer):
2990         (WebCore::CCLayerImpl::maskLayer):
2991         (WebCore::CCLayerImpl::setReplicaLayer):
2992         (WebCore::CCLayerImpl::replicaLayer):
2993         (WebCore::CCLayerImpl::id):
2994         (WebCore::CCLayerImpl::owner):
2995         (WebCore::CCLayerImpl::setParent):
2996         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
2997         (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
2998         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
2999         (WebCore::CCPluginLayerImpl::create):
3000         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3001         (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
3002         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
3003         (WebCore::CCVideoLayerImpl::create):
3004
3005 2011-05-16  Naoki Takano  <takano.naoki@gmail.com>
3006
3007         Reviewed by Kent Tamura.
3008
3009         HTML5 Number Spinbox displays a 0 in situations where a 0 is not between the min and max.
3010         https://bugs.webkit.org/show_bug.cgi?id=60871
3011
3012         Test: fast/forms/input-stepup-stepdown-from-renderer.html
3013
3014         In number input type, if the value is not a number, including empty, the currect valued is assumed 0.
3015         But we have to handle it separately from the case when the value is actuall "0".
3016
3017         * html/HTMLInputElement.cpp:
3018         (WebCore::HTMLInputElement::stepUpFromRenderer): Added cliping for default value.
3019
3020 2011-05-16  Adam Barth  <abarth@webkit.org>
3021
3022         Reviewed by Eric Seidel.
3023
3024         Remove bogus ASSERT in Document::setCompatibilityMode
3025         https://bugs.webkit.org/show_bug.cgi?id=60935
3026
3027         The ASSERT is invalid when the parser is in the initial state and the
3028         document is non-empty, which is strange but not impossible.
3029
3030         Test: fast/parser/append-child-followed-by-document-write.html
3031
3032         * dom/Document.cpp:
3033         (WebCore::Document::setCompatibilityMode):
3034
3035 2011-05-16  MORITA Hajime  <morrita@google.com>
3036
3037         Reviewed by Tony Chang.
3038
3039         [Refactoring] Member variables of DocumentMarker should be encapsulated.        
3040         https://bugs.webkit.org/show_bug.cgi?id=56814
3041
3042         - Moved DocumentMarker's member variables to private and added getters for them.
3043         - Added DocumentMarker setters and constructors, which contain assertions against m_type values
3044           because description and activeMatch are used with specific type of MarkerType.
3045         - Moved chromium's WebKit::WebFrameImpl::addMarker() to DocumentMarkerController because
3046           it accesses DocumentMarker internals.
3047         - Moved a version of DMC::addMarker() to private and add alternatives that hide
3048           internals of DocumentMarker. (The internal will be renewed by upcoming change.)
3049         
3050         * dom/DocumentMarker.h:
3051         (WebCore::DocumentMarker::type):
3052         (WebCore::DocumentMarker::startOffset):
3053         (WebCore::DocumentMarker::endOffset):
3054         (WebCore::DocumentMarker::description):
3055         (WebCore::DocumentMarker::hasDescription):
3056         (WebCore::DocumentMarker::activeMatch):
3057         (WebCore::DocumentMarker::clearDescription):
3058         (WebCore::DocumentMarker::setStartOffset):
3059         (WebCore::DocumentMarker::setEndOffset):
3060         (WebCore::DocumentMarker::operator==):
3061         (WebCore::DocumentMarker::DocumentMarker):
3062         (WebCore::DocumentMarker::shiftOffsets):
3063         (WebCore::DocumentMarker::setActiveMatch):
3064         * dom/DocumentMarkerController.cpp:
3065         (WebCore::DocumentMarkerController::addMarker):
3066         (WebCore::DocumentMarkerController::addTextMatchMarker):
3067         (WebCore::DocumentMarkerController::copyMarkers):
3068         (WebCore::DocumentMarkerController::removeMarkers):
3069         (WebCore::DocumentMarkerController::markerContainingPoint):
3070         (WebCore::DocumentMarkerController::markersInRange):
3071         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
3072         (WebCore::DocumentMarkerController::removeMarkersFromList):
3073         (WebCore::DocumentMarkerController::repaintMarkers):
3074         (WebCore::DocumentMarkerController::shiftMarkers):
3075         (WebCore::DocumentMarkerController::setMarkersActive):
3076         (WebCore::DocumentMarkerController::hasMarkers):
3077         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
3078         (WebCore::DocumentMarkerController::showMarkers):
3079         * dom/DocumentMarkerController.h:
3080         * editing/CompositeEditCommand.cpp:
3081         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
3082         * editing/DeleteSelectionCommand.cpp:
3083         (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
3084         * editing/Editor.cpp:
3085         (WebCore::Editor::selectionStartHasMarkerFor):
3086         * editing/SpellingCorrectionController.cpp:
3087         (WebCore::SpellingCorrectionController::respondToChangedSelection):
3088         * editing/SpellingCorrectionController.h:
3089         (WebCore::SpellingCorrectionController::shouldStartTimerFor):
3090         * rendering/HitTestResult.cpp:
3091         (WebCore::HitTestResult::spellingToolTip):
3092         (WebCore::HitTestResult::replacedString):
3093         * rendering/InlineTextBox.cpp:
3094         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
3095         (WebCore::InlineTextBox::paintTextMatchMarker):
3096         (WebCore::InlineTextBox::computeRectForReplacementMarker):
3097         (WebCore::InlineTextBox::paintDocumentMarkers):
3098         * rendering/svg/SVGInlineFlowBox.cpp:
3099         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
3100
3101 2011-05-16  Martin Robinson  <mrobinson@igalia.com>
3102
3103         Fix the Cairo build for older versions of GTK+.
3104
3105         * platform/gtk/GtkWidgetBackingStoreX11.cpp: Include GtkVersioning.h to
3106         satisfy older versions of GTK+ 2.x.
3107
3108 2011-05-16  Ian Henderson  <ianh@apple.com>
3109
3110         Reviewed by Joseph Pecoraro.
3111
3112         Page::goToItem doesn't work while loading is deferred
3113         https://bugs.webkit.org/show_bug.cgi?id=60412
3114
3115         If goToItem is called while loading is deferred, save the arguments
3116         and try again later instead of doing nothing.
3117
3118         Test: loader/navigation-while-deferring-loads.html
3119
3120         * loader/FrameLoader.cpp:
3121         (WebCore::FrameLoader::setDefersLoading):
3122         Pipe the "defersLoading" state into HistoryController.
3123         * loader/HistoryController.cpp:
3124         (WebCore::HistoryController::HistoryController):
3125         (WebCore::HistoryController::goToItem):
3126         Save the HistoryItem and FrameLoadType if loading is deferred.
3127         (WebCore::HistoryController::setDefersLoading):
3128         If we have a saved HistoryItem after resuming, try going to it.
3129         * loader/HistoryController.h:
3130         * page/Page.cpp:
3131         (WebCore::Page::goToItem):
3132         No longer bail early if loading is deferred, since HistoryController
3133         now handles this case.
3134
3135 2011-05-16  Andrew Wilson  <atwilson@chromium.org>
3136
3137         Unreviewed, rolling out r86625.
3138         http://trac.webkit.org/changeset/86625
3139         https://bugs.webkit.org/show_bug.cgi?id=60719
3140
3141         Caused failed assertion on Chromium gpu canary bots
3142
3143         * WebCore.gypi:
3144         * platform/chromium/TraceEvent.h:
3145         * platform/graphics/chromium/ContentLayerChromium.cpp:
3146         (WebCore::ContentLayerChromium::create):
3147         (WebCore::ContentLayerChromium::ContentLayerChromium):
3148         (WebCore::ContentLayerChromium::~ContentLayerChromium):
3149         (WebCore::ContentLayerChromium::paintContentsIfDirty):
3150         (WebCore::ContentLayerChromium::setLayerRenderer):
3151         (WebCore::ContentLayerChromium::createTilerIfNeeded):
3152         (WebCore::ContentLayerChromium::updateCompositorResources):
3153         * platform/graphics/chromium/ContentLayerChromium.h:
3154         (WebCore::ContentLayerChromium::drawsContent):
3155         * platform/graphics/chromium/ImageLayerChromium.cpp:
3156         (WebCore::ImageLayerChromium::paintContentsIfDirty):
3157         (WebCore::ImageLayerChromium::updateCompositorResources):
3158         * platform/graphics/chromium/ImageLayerChromium.h:
3159         * platform/graphics/chromium/LayerPainterChromium.h: Removed.
3160         * platform/graphics/chromium/LayerRendererChromium.cpp:
3161         (WebCore::LayerRendererChromium::create):
3162         (WebCore::LayerRendererChromium::LayerRendererChromium):
3163         (WebCore::LayerRendererChromium::updateRootLayerContents):
3164         (WebCore::LayerRendererChromium::drawRootLayer):
3165         (WebCore::LayerRendererChromium::updateAndDrawLayers):
3166         (WebCore::LayerRendererChromium::updateLayers):
3167         * platform/graphics/chromium/LayerRendererChromium.h:
3168         * platform/graphics/chromium/LayerTextureSubImage.cpp: Removed.
3169         * platform/graphics/chromium/LayerTextureSubImage.h: Removed.
3170         * platform/graphics/chromium/LayerTextureUpdater.h: Removed.
3171         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Removed.
3172         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Removed.
3173         * platform/graphics/chromium/LayerTilerChromium.cpp:
3174         (WebCore::LayerTilerChromium::create):
3175         (WebCore::LayerTilerChromium::LayerTilerChromium):
3176         (WebCore::LayerTilerChromium::setLayerRenderer):
3177         (WebCore::LayerTilerChromium::setTileSize):
3178         (WebCore::LayerTilerChromium::update):
3179         (WebCore::LayerTilerChromium::uploadCanvas):
3180         (WebCore::LayerTilerChromium::updateFromPixels):
3181         (WebCore::LayerTilerChromium::draw):
3182         * platform/graphics/chromium/LayerTilerChromium.h:
3183         (WebCore::LayerTilerChromium::Tile::Tile):
3184         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3185         (WebCore::CCHeadsUpDisplay::draw):
3186
3187 2011-05-16  Antti Koivisto  <antti@apple.com>
3188
3189         Reviewed by Dave Kilzer.
3190
3191         https://bugs.webkit.org/show_bug.cgi?id=60927
3192         fastCheckSelector() does not inline correctly in all cases
3193
3194         Use anonymous namespace instead of static qualifier to get internal linkage.
3195         Use functions as template arguments instead of classes.
3196
3197         * css/CSSStyleSelector.cpp:
3198         (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
3199
3200 2011-05-16  Chris Rogers  <crogers@google.com>
3201
3202         Unreviewed build fix.
3203
3204         Just return "nullptr" to fix compile errors
3205         https://bugs.webkit.org/show_bug.cgi?id=60932
3206
3207         * platform/audio/mac/AudioBusMac.mm:
3208         (WebCore::AudioBus::loadPlatformResource):
3209         * platform/audio/mac/AudioFileReaderMac.cpp:
3210         (WebCore::AudioFileReader::createBus):
3211
3212 2011-05-16  Emil A Eklund  <eae@chromium.org>
3213
3214         Reviewed by Eric Seidel.
3215
3216         Replace docTop/Right/Bottom/Left/Width/Height with documentRect
3217         https://bugs.webkit.org/show_bug.cgi?id=60743
3218
3219         Change RenderView::documentRect to compute rect once rather than four times.
3220         Replace all uses of docTop/Right/Bottom/Left/Width/Height with documentRect to
3221         simplify the code and reduce complexity.
3222
3223         Covered by existing tests.
3224
3225         * WebCore.exp.in:
3226         * page/FrameView.cpp:
3227         (WebCore::FrameView::adjustViewSize):
3228         (WebCore::FrameView::forceLayoutForPagination):
3229         * page/PrintContext.cpp:
3230         (WebCore::PrintContext::computePageRects):
3231         * rendering/RenderBox.cpp:
3232         (WebCore::RenderBox::paintRootBoxFillLayers):
3233         * rendering/RenderLayerCompositor.cpp:
3234         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
3235         * rendering/RenderView.cpp:
3236         (WebCore::RenderView::documentRect):
3237         * rendering/RenderView.h:
3238
3239 2011-05-16  Tony Chang  <tony@chromium.org>
3240
3241         Reviewed by Adam Barth.
3242
3243         [chromium] shard V8DerivedSources into 19 files
3244         https://bugs.webkit.org/show_bug.cgi?id=60926
3245
3246         This reduces the clobber build time by 4s on my machine.  It helps
3247         by making the slowest to compile V8DerivedSources faster (and thus
3248         more parallelizable).  With 8 files, the 3 slowest are 23s, 18s and
3249         10s.  With 19 files, the 3 slowest are 16s, 10s, and 10s.
3250
3251         * WebCore.gyp/WebCore.gyp:
3252         * storage/IDBObjectStore.h: Fix a missing include that was working
3253           because a different .cpp file before it was including the header.
3254
3255 2011-05-16  Chris Rogers  <crogers@google.com>
3256
3257         Unreviewed build fix.
3258
3259         Fix web audio enabled mac port compile errors
3260         https://bugs.webkit.org/show_bug.cgi?id=60930
3261
3262         * platform/audio/mac/AudioBusMac.mm:
3263         (WebCore::AudioBus::loadPlatformResource):
3264         * platform/audio/mac/AudioFileReaderMac.cpp:
3265         (WebCore::AudioFileReader::createBus):
3266
3267 2011-05-16  Eric Seidel  <eric@webkit.org>
3268
3269         Reviewed by Adam Barth.
3270
3271         Document why RenderBlockLineLayout has its own deleteLineBoxTree implementation
3272         https://bugs.webkit.org/show_bug.cgi?id=60925
3273
3274         I suspect this difference is really just papering over other bugs
3275         but now that I finally understand the difference, I should at least
3276         document it for others.
3277
3278         * rendering/RenderBlockLineLayout.cpp:
3279         (WebCore::deleteLineRange):
3280         (WebCore::RenderBlock::determineStartPosition):
3281
3282 2011-05-16  Alok Priyadarshi  <alokp@chromium.org>
3283
3284         Reviewed by James Robinson.
3285
3286         [chromium] Split canvas from LayerTilerChromium
3287         https://bugs.webkit.org/show_bug.cgi?id=60719
3288
3289         LayerTilerChromium now just does tiling. It delegates the task of painting and updating textures to LayerTextureUpdater.
3290         Also abstracted LayerTextureSubImage to upload texture pixels.
3291
3292         * WebCore.gypi:
3293         * platform/chromium/TraceEvent.h:
3294         * platform/graphics/chromium/ContentLayerChromium.cpp:
3295         (WebCore::ContentLayerChromium::create):
3296         (WebCore::ContentLayerChromium::ContentLayerChromium):
3297         (WebCore::ContentLayerChromium::~ContentLayerChromium):
3298         (WebCore::ContentLayerChromium::paintContentsIfDirty):
3299         (WebCore::ContentLayerChromium::cleanupResources):
3300         (WebCore::ContentLayerChromium::setLayerRenderer):
3301         (WebCore::ContentLayerChromium::createTextureUpdater):
3302         (WebCore::ContentLayerChromium::drawsContent):
3303         (WebCore::ContentLayerChromium::createTilerIfNeeded):
3304         (WebCore::ContentLayerChromium::updateCompositorResources):
3305         * platform/graphics/chromium/ContentLayerChromium.h:
3306         * platform/graphics/chromium/ImageLayerChromium.cpp:
3307         (WebCore::ImageLayerTextureUpdater::ImageLayerTextureUpdater):
3308         (WebCore::ImageLayerTextureUpdater::~ImageLayerTextureUpdater):
3309         (WebCore::ImageLayerTextureUpdater::orientation):
3310         (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
3311         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
3312         (WebCore::ImageLayerTextureUpdater::imageRect):
3313         (WebCore::ImageLayerChromium::paintContentsIfDirty):
3314         (WebCore::ImageLayerChromium::updateCompositorResources):
3315         (WebCore::ImageLayerChromium::createTextureUpdater):
3316         * platform/graphics/chromium/ImageLayerChromium.h:
3317         * platform/graphics/chromium/LayerPainterChromium.h: Added.
3318         * platform/graphics/chromium/LayerRendererChromium.cpp:
3319         (WebCore::LayerRendererChromium::create):
3320         (WebCore::LayerRendererChromium::LayerRendererChromium):
3321         (WebCore::LayerRendererChromium::updateRootLayerContents):
3322         (WebCore::LayerRendererChromium::drawRootLayer):
3323         (WebCore::LayerRendererChromium::updateAndDrawLayers):
3324         (WebCore::LayerRendererChromium::updateLayers):
3325         * platform/graphics/chromium/LayerRendererChromium.h:
3326         * platform/graphics/chromium/LayerTextureSubImage.cpp: Added.
3327         (WebCore::LayerTextureSubImage::LayerTextureSubImage):
3328         (WebCore::LayerTextureSubImage::~LayerTextureSubImage):
3329         (WebCore::LayerTextureSubImage::setSubImageSize):
3330         (WebCore::LayerTextureSubImage::upload):
3331         (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
3332         (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
3333         * platform/graphics/chromium/LayerTextureSubImage.h: Added.
3334         * platform/graphics/chromium/LayerTextureUpdater.h: Added.
3335         (WebCore::LayerTextureUpdater::LayerTextureUpdater):
3336         (WebCore::LayerTextureUpdater::~LayerTextureUpdater):
3337         (WebCore::LayerTextureUpdater::context):
3338         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Added.
3339         (WebCore::LayerTextureUpdaterCanvas::LayerTextureUpdaterCanvas):
3340         (WebCore::LayerTextureUpdaterCanvas::paintContents):
3341         (WebCore::LayerTextureUpdaterBitmap::LayerTextureUpdaterBitmap):
3342         (WebCore::LayerTextureUpdaterBitmap::prepareToUpdate):
3343         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
3344         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Added.
3345         (WebCore::LayerTextureUpdaterCanvas::~LayerTextureUpdaterCanvas):
3346         (WebCore::LayerTextureUpdaterCanvas::contentRect):
3347         (WebCore::LayerTextureUpdaterBitmap::~LayerTextureUpdaterBitmap):
3348         (WebCore::LayerTextureUpdaterBitmap::orientation):
3349         * platform/graphics/chromium/LayerTilerChromium.cpp:
3350         (WebCore::LayerTilerChromium::create):
3351         (WebCore::LayerTilerChromium::LayerTilerChromium):
3352         (WebCore::LayerTilerChromium::setTileSize):
3353         (WebCore::LayerTilerChromium::prepareToUpdate):
3354         (WebCore::LayerTilerChromium::updateRect):
3355         (WebCore::LayerTilerChromium::draw):
3356         * platform/graphics/chromium/LayerTilerChromium.h:
3357         (WebCore::LayerTilerChromium::Tile::Tile):
3358         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3359         (WebCore::CCHeadsUpDisplay::draw):
3360
3361 2011-05-16  Andrew Wilson  <atwilson@chromium.org>
3362
3363         Unreviewed prospective build fix/workaround for chromium ARM compiler error.
3364
3365         * platform/graphics/GraphicsLayer.cpp:
3366         (WebCore::GraphicsLayer::animationNameForTransition):
3367
3368 2011-05-16  Martin Robinson  <mrobinson@igalia.com>
3369
3370         Reviewed by Anders Carlsson.
3371
3372         [GTK] [WebKit2] Provide a fast version of the backing store for X11
3373         https://bugs.webkit.org/show_bug.cgi?id=60912
3374
3375         No new tests. This will be covered by WebKit2 pixel tests.
3376
3377         * GNUmakefile.list.am: Added new GtkWidgetBackingStore source and header files.
3378         * platform/gtk/GtkWidgetBackingStore.h: Added.
3379         * platform/gtk/GtkWidgetBackingStoreCairo.cpp: Added this implementation of the backing
3380         store that uses Cairo and has the same performance characteristics as the WebKit2 implementaiton.
3381         * platform/gtk/GtkWidgetBackingStoreX11.cpp: Added this implementation of the backing
3382         store that uses X11 directly and has better performance than the Cairo version.
3383
3384 2011-05-16  Chris Rogers  <crogers@google.com>
3385
3386         Reviewed by senorblanco@chromium.org.
3387
3388         Add DynamicsCompressorNode implementation
3389         https://bugs.webkit.org/show_bug.cgi?id=60682
3390
3391         No new tests since audio API is not yet implemented.
3392
3393         * DerivedSources.make:
3394         * WebCore.gypi:
3395         * WebCore.xcodeproj/project.pbxproj:
3396         * platform/audio/DynamicsCompressor.cpp: Added.
3397         (WebCore::DynamicsCompressor::DynamicsCompressor):
3398         (WebCore::DynamicsCompressor::initializeParameters):
3399         (WebCore::DynamicsCompressor::parameterValue):
3400         (WebCore::DynamicsCompressor::setEmphasisStageParameters):
3401         (WebCore::DynamicsCompressor::setEmphasisParameters):
3402         (WebCore::DynamicsCompressor::process):
3403         (WebCore::DynamicsCompressor::reset):
3404         * platform/audio/DynamicsCompressor.h: Added.
3405         (WebCore::DynamicsCompressor::isStereo):
3406         (WebCore::DynamicsCompressor::sampleRate):
3407         (WebCore::DynamicsCompressor::nyquist):
3408         * platform/audio/DynamicsCompressorKernel.cpp: Added.
3409         (WebCore::saturate):
3410         (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
3411         (WebCore::DynamicsCompressorKernel::setPreDelayTime):
3412         (WebCore::DynamicsCompressorKernel::process):
3413         (WebCore::DynamicsCompressorKernel::reset):
3414         * platform/audio/DynamicsCompressorKernel.h: Added.
3415         (WebCore::DynamicsCompressorKernel::latencyFrames):
3416         (WebCore::DynamicsCompressorKernel::sampleRate):
3417         * platform/audio/ZeroPole.cpp: Added.
3418         (WebCore::ZeroPole::process):
3419         * platform/audio/ZeroPole.h: Added.
3420         (WebCore::ZeroPole::ZeroPole):
3421         (WebCore::ZeroPole::reset):
3422         (WebCore::ZeroPole::setZero):
3423         (WebCore::ZeroPole::setPole):
3424         (WebCore::ZeroPole::zero):
3425         (WebCore::ZeroPole::pole):
3426         * webaudio/AudioContext.cpp:
3427         (WebCore::AudioContext::createDynamicsCompressor):
3428         * webaudio/AudioContext.h:
3429         * webaudio/AudioContext.idl:
3430         * webaudio/AudioNode.h:
3431         * webaudio/DynamicsCompressorNode.cpp: Added.
3432         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
3433         (WebCore::DynamicsCompressorNode::~DynamicsCompressorNode):
3434         (WebCore::DynamicsCompressorNode::process):
3435         (WebCore::DynamicsCompressorNode::reset):
3436         (WebCore::DynamicsCompressorNode::initialize):