Remove initPopStateEvent method
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-11-07  Dominic Cooney  <dominicc@chromium.org>
2
3         Remove initPopStateEvent method
4         https://bugs.webkit.org/show_bug.cgi?id=71691
5
6         Reviewed by Ojan Vafai.
7
8         * dom/PopStateEvent.cpp:
9         * dom/PopStateEvent.h:
10         * dom/PopStateEvent.idl:
11
12 2011-11-07  Andreas Kling  <kling@webkit.org>
13
14         CSSValue: Devirtualize isFooType().
15         <http://webkit.org/b/71668>
16
17         Reviewed by Darin Adler.
18
19         Add a member to CSSValue to determine which subclass a given
20         value object is, along with 5 bits to tell us whether the
21         value is primitive/mutable/initial/inherited/a list.
22
23         All non-private subclass constructors now take CSSValue::ClassType
24         as their first argument. A few constructors were duplicated as
25         private members to allow calling them from ::create() methods
26         without passing an explicit ClassType.
27
28         Furthermore, since CSSValue::cssValueType() can be inferred from
29         the subclass type, we compute it instead of storing it in a member.
30
31         * CMakeLists.txt:
32         * GNUmakefile.list.am:
33         * Target.pri:
34         * WebCore.gypi:
35         * WebCore.vcproj/WebCore.vcproj:
36         * WebCore.xcodeproj/project.pbxproj:
37
38             Adding CSSValue.cpp.
39
40         * css/CSSValue.cpp: Added.
41         (WebCore::CSSValue::cssValueType):
42
43             Out-of-line implementation of this method. Only used by CSSOM.
44
45         * css/CSSValue.h:
46         (WebCore::CSSValue::isMutableValue):
47         (WebCore::CSSValue::isPrimitiveValue):
48         (WebCore::CSSValue::isValueList):
49         (WebCore::CSSValue::isInitialValue):
50         (WebCore::CSSValue::isInheritedValue):
51         (WebCore::CSSValue::isBorderImageValue):
52         (WebCore::CSSValue::isBorderImageSliceValue):
53         (WebCore::CSSValue::isCursorImageValue):
54         (WebCore::CSSValue::isFontFamilyValue):
55         (WebCore::CSSValue::isFontFeatureValue):
56         (WebCore::CSSValue::isFontValue):
57         (WebCore::CSSValue::isImageGeneratorValue):
58         (WebCore::CSSValue::isImageValue):
59         (WebCore::CSSValue::isImplicitInitialValue):
60         (WebCore::CSSValue::isReflectValue):
61         (WebCore::CSSValue::isShadowValue):
62         (WebCore::CSSValue::isTimingFunctionValue):
63         (WebCore::CSSValue::isWebKitCSSTransformValue):
64         (WebCore::CSSValue::isCSSLineBoxContainValue):
65         (WebCore::CSSValue::isFlexValue):
66         (WebCore::CSSValue::isWebKitCSSFilterValue):
67         (WebCore::CSSValue::isSVGColor):
68         (WebCore::CSSValue::isSVGPaint):
69         (WebCore::CSSValue::classType):
70         (WebCore::CSSValue::CSSValue):
71         (WebCore::CSSValue::isPrimitiveType):
72         (WebCore::CSSValue::isListType):
73         (WebCore::CSSValue::isMutableType):
74         (WebCore::CSSValue::isInheritedType):
75         (WebCore::CSSValue::isInitialType):
76
77             Store subclass type information into a member variable and
78             made all the isFooValue() functions non-virtual and inline.
79             Some subclass type lookups (primitive values, notably) are
80             cached in a bool member on construction.
81
82         * css/CSSAspectRatioValue.h:
83         (WebCore::CSSAspectRatioValue::CSSAspectRatioValue):
84         * css/CSSBorderImageSliceValue.cpp:
85         (WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue):
86         * css/CSSBorderImageSliceValue.h:
87         * css/CSSBorderImageValue.cpp:
88         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
89         * css/CSSBorderImageValue.h:
90         * css/CSSCanvasValue.h:
91         (WebCore::CSSCanvasValue::CSSCanvasValue):
92         * css/CSSCrossfadeValue.h:
93         (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
94         * css/CSSCursorImageValue.cpp:
95         (WebCore::CSSCursorImageValue::CSSCursorImageValue):
96         * css/CSSCursorImageValue.h:
97         * css/CSSFlexValue.h:
98         (WebCore::CSSFlexValue::CSSFlexValue):
99         * css/CSSFontFaceSrcValue.h:
100         (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
101         * css/CSSFunctionValue.cpp:
102         (WebCore::CSSFunctionValue::CSSFunctionValue):
103         * css/CSSGradientValue.h:
104         (WebCore::CSSGradientValue::isLinearGradient):
105         (WebCore::CSSGradientValue::isRadialGradient):
106         (WebCore::CSSGradientValue::CSSGradientValue):
107         (WebCore::CSSLinearGradientValue::CSSLinearGradientValue):
108         (WebCore::CSSRadialGradientValue::CSSRadialGradientValue):
109         * css/CSSImageGeneratorValue.cpp:
110         (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue):
111         * css/CSSImageGeneratorValue.h:
112         * css/CSSImageValue.cpp:
113         (WebCore::CSSImageValue::CSSImageValue):
114         * css/CSSImageValue.h:
115         * css/CSSInheritedValue.h:
116         (WebCore::CSSInheritedValue::CSSInheritedValue):
117         * css/CSSInitialValue.h:
118         (WebCore::CSSInitialValue::CSSInitialValue):
119         (WebCore::CSSInitialValue::create):
120         * css/CSSLineBoxContainValue.cpp:
121         (WebCore::CSSLineBoxContainValue::CSSLineBoxContainValue):
122         * css/CSSLineBoxContainValue.h:
123         * css/CSSMutableValue.h:
124         (WebCore::CSSMutableValue::CSSMutableValue):
125         * css/CSSPrimitiveValue.cpp:
126         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
127         * css/CSSPrimitiveValue.h:
128         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
129         * css/CSSPrimitiveValueMappings.h:
130         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
131         * css/CSSReflectValue.h:
132         (WebCore::CSSReflectValue::CSSReflectValue):
133         * css/CSSTimingFunctionValue.h:
134         (WebCore::CSSTimingFunctionValue::isLinearTimingFunctionValue):
135         (WebCore::CSSTimingFunctionValue::isCubicBezierTimingFunctionValue):
136         (WebCore::CSSTimingFunctionValue::isStepsTimingFunctionValue):
137         (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
138         (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
139         (WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
140         (WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
141         * css/CSSUnicodeRangeValue.h:
142         (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
143         * css/CSSValueList.cpp:
144         (WebCore::CSSValueList::CSSValueList):
145         * css/CSSValueList.h:
146         * css/FontFamilyValue.cpp:
147         (WebCore::FontFamilyValue::FontFamilyValue):
148         * css/FontFamilyValue.h:
149         * css/FontFeatureValue.cpp:
150         (WebCore::FontFeatureValue::FontFeatureValue):
151         * css/FontFeatureValue.h:
152         * css/FontValue.h:
153         (WebCore::FontValue::FontValue):
154         * css/ShadowValue.cpp:
155         (WebCore::ShadowValue::ShadowValue):
156         * css/ShadowValue.h:
157         * css/WebKitCSSFilterValue.cpp:
158         (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
159         * css/WebKitCSSFilterValue.h:
160         * css/WebKitCSSTransformValue.cpp:
161         (WebCore::WebKitCSSTransformValue::WebKitCSSTransformValue):
162         * css/WebKitCSSTransformValue.h:
163         * svg/SVGColor.cpp:
164         (WebCore::SVGColor::SVGColor):
165         * svg/SVGColor.h:
166         * svg/SVGPaint.cpp:
167         (WebCore::SVGPaint::SVGPaint):
168         * svg/SVGPaint.h:
169
170             Propagate subclass type information and kill isFooType() virtuals.
171
172 2011-11-07  Mihnea Ovidenie  <mihnea@adobe.com>
173
174         Leaks seen in RenderRegion::setRenderBoxRegionInfo on Leaks bot
175         https://bugs.webkit.org/show_bug.cgi?id=71259
176
177         Reviewed by Darin Adler.
178
179         Leak fixes covered by existing tests.
180
181         * rendering/RenderFlowThread.cpp:
182         (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
183         The RenderBoxRegionInfo taken out of RenderRegion must be deleted on all code paths.
184         * rendering/RenderRegion.cpp:
185         (WebCore::RenderRegion::removeRenderBoxRegionInfo):
186         The RenderBoxRegionInfo map owns the values, therefore, when values are removed from map
187         they must also be deleted.
188
189 2011-11-07  Adam Barth  <abarth@webkit.org>
190
191         iframe sandbox treats vertical tab as a valid delimiter
192         https://bugs.webkit.org/show_bug.cgi?id=71704
193
194         Reviewed by Eric Seidel.
195
196         This patch adjusts our parser slightly to match the HTML5 spec.  The
197         only difference is in how we handle vertical tabs.  Previously, we
198         treated them as a delimiter, but we're not supposed to do that.
199
200         Test: fast/frames/sandboxed-iframe-parsing-space-characters.html
201
202         * page/SecurityOrigin.cpp:
203         (WebCore::SecurityOrigin::parseSandboxPolicy):
204
205 2011-11-07  Adam Barth  <abarth@webkit.org>
206
207         Factor SecurityContext out of ScriptExecutionContext
208         https://bugs.webkit.org/show_bug.cgi?id=71721
209
210         Reviewed by Eric Seidel.
211
212         The new SecurityContext object lets us tightly scope control of
213         the security-critical information in ScriptExecutionContext.
214         Originally I had hoped to put all this state on SecurityOrigin, but
215         SecurityOrigin gets shared between documents in some corner cases, so
216         it's not a good fit for state like the sandbox flags and the CSP policy
217         that really needs to be per-document.
218
219         * CMakeLists.txt:
220         * GNUmakefile.list.am:
221         * Target.pri:
222         * WebCore.gypi:
223         * WebCore.vcproj/WebCore.vcproj:
224         * WebCore.xcodeproj/project.pbxproj:
225         * dom/DOMAllInOne.cpp:
226         * dom/ScriptExecutionContext.cpp:
227         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
228         * dom/ScriptExecutionContext.h:
229         * loader/FrameLoader.h:
230         * loader/FrameLoaderTypes.h:
231         * page/SecurityOrigin.h:
232
233 2011-11-07  Kentaro Hara  <haraken@chromium.org>
234
235         Refactor CodeGeneratorV8.pm before making a core change for bug 71093.
236         https://bugs.webkit.org/show_bug.cgi?id=71659
237
238         Reviewed by Adam Barth.
239
240         Just refactor CodeGeneratorV8.pm without any change in behavior,
241         as the first step for fixing bug 71093.
242
243         Tests: WebCore/bindings/scripts/test/TestObj.idl
244                WebCore/bindings/scripts/test/TestInterface.idl
245
246         * bindings/scripts/CodeGeneratorV8.pm:
247         (GenerateHeader): Sort generated headers in alphabetical order. Removed unnecessary variable names from method signatures. These changes are for silencing style check errors when a new TestXXXX.idl is added.
248         (GenerateConstructorCallback): Renamed variables to clarify their roles.
249         (WriteData): Removed an unused array @implHeaderContent.
250         * bindings/scripts/test/V8/V8TestInterface.h: Updated a run-binding-tests result.
251         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: Ditto.
252         * bindings/scripts/test/V8/V8TestObj.h: Ditto.
253         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Ditto.
254
255 2011-11-07  Ken Buchanan <kenrb@chromium.org>
256
257         Crash due to mixed direction text runs
258         https://bugs.webkit.org/show_bug.cgi?id=66015
259
260         Reviewed by David Hyatt.
261
262         Test for bug fix.
263
264         * fast/text/international/bidi-neutral-in-mixed-direction-run-crash.html: Added
265         * fast/text/international/bidi-neutral-in-mixed-direction-run-cras-expected.txt: Added
266
267 2011-11-07  Tim Horton  <timothy_horton@apple.com>
268
269         getBBox() on a SVGPathElement with curves incorrectly includes control points
270         https://bugs.webkit.org/show_bug.cgi?id=53512
271         <rdar://problem/9861154>
272
273         Reviewed by Oliver Hunt.
274
275         Split Path::boundingRect() into two, adding Path::fastBoundingRect()
276         for a rough estimate of the bounding rect (always equal to or larger
277         than boundingRect()). fastBoundingRect() currently falls back to
278         boundingRect() for all ports besides CG, though in most cases
279         (on a port-by-port basis) the current implementation of boundingRect()
280         will need to become fastBoundingRect(), and a new, more accurate method will
281         be implemented for boundingRect().
282
283         All previous callers of boundingRect() are transitioned to using fastBoundingRect()
284         except SVGPathElement::getBBox, which wants an accurate bounding box.
285
286         The CoreGraphics implementation of Path::boundingRect() called
287         CGPathGetBoundingBox, which includes the path's control points in its
288         calculations. Snow Leopard added CGPathGetPathBoundingBox, which
289         finds the bounding box of only points within the path, and does not
290         include control points. On Snow Leopard and above, we now use the latter.
291
292         Test: svg/custom/getBBox-path.svg
293
294         * html/HTMLAreaElement.cpp:
295         * html/canvas/CanvasRenderingContext2D.cpp:
296         * platform/graphics/Path.cpp:
297         * platform/graphics/Path.h:
298         * platform/graphics/cg/GraphicsContextCG.cpp:
299         * platform/graphics/cg/PathCG.cpp:
300         (WebCore::Path::boundingRect):
301         * rendering/RenderObject.h:
302         * rendering/svg/RenderSVGPath.cpp:
303         * svg/SVGPathElement.cpp:
304         * svg/SVGPathElement.h:
305
306 2011-11-07  Vsevolod Vlasov  <vsevik@chromium.org>
307
308         Web Inspector: Suggest box should be open immediately if forced by Ctrl+Space.
309         https://bugs.webkit.org/show_bug.cgi?id=71710
310
311         Reviewed by Pavel Feldman.
312
313         * inspector/front-end/TextPrompt.js:
314         (WebInspector.TextPrompt.prototype.clearAutoComplete):
315         (WebInspector.TextPrompt.prototype.autoCompleteSoon):
316
317 2011-11-07  vsevik@chromium.org  <vsevik@chromium.org>
318
319         Web Inspector: Suggest box should consume enter key pressed event.
320         https://bugs.webkit.org/show_bug.cgi?id=71700
321
322         Reviewed by Pavel Feldman.
323
324         * inspector/front-end/ConsoleView.js:
325         (WebInspector.ConsoleView):
326         * inspector/front-end/TextPrompt.js:
327         (WebInspector.TextPrompt.prototype._attachInternal):
328         (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
329
330 2011-11-07  David Barr  <davidbarr@chromium.org>
331
332         Optimize outline rendering to avoid transparency layers
333         https://bugs.webkit.org/show_bug.cgi?id=60750
334
335         Add fast path for solid block outlines with alpha.
336         Improve readability of piecewise path while at it.
337
338         Reviewed by Simon Fraser.
339
340         No intended change in behaviour, no new tests.
341
342         * rendering/RenderObject.cpp:
343         (WebCore::RenderObject::paintOutline):
344
345 2011-11-07  Vsevolod Vlasov  <vsevik@chromium.org>
346
347         Web Inspector: Suggest box should not accept suggestion on space key pressed.
348         https://bugs.webkit.org/show_bug.cgi?id=71706
349
350         Reviewed by Pavel Feldman.
351
352         * inspector/front-end/TextPrompt.js:
353         (WebInspector.TextPrompt.prototype.onKeyDown):
354         (WebInspector.TextPrompt.SuggestBox.prototype.tabKeyPressed):
355
356 2011-11-07  Andreas Kling  <kling@webkit.org>
357
358         Don't use CSSOM's CSSValue.cssValueType internally in WebCore.
359         <http://webkit.org/b/71679>
360
361         Reviewed by Darin Adler.
362
363         Swap out cssValueType() usage for isPrimitiveValue(), isInitialValue()
364         and isInheritedValue() to increase code clarity.
365
366         The plan is to turn cssValueType() into a computed value based on the
367         CSSValue subclass (coming soon to <http://webkit.org/b/71668>.)
368         This is a clean-up in preparation for that.
369
370         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
371         (WebCore::JSCSSStyleDeclaration::nameGetter):
372         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
373         (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
374         * css/CSSInheritedValue.h:
375         (WebCore::CSSInheritedValue::isInheritedValue):
376         * css/CSSInitialValue.h:
377         (WebCore::CSSInitialValue::isInitialValue):
378         * css/CSSParser.cpp:
379         (WebCore::CSSParser::parseColor):
380         * css/CSSStyleSelector.cpp:
381         (WebCore::CSSStyleSelector::applyDeclaration):
382         (WebCore::CSSStyleSelector::applyProperty):
383         (WebCore::CSSStyleSelector::mapFillAttachment):
384         (WebCore::CSSStyleSelector::mapFillClip):
385         (WebCore::CSSStyleSelector::mapFillComposite):
386         (WebCore::CSSStyleSelector::mapFillOrigin):
387         (WebCore::CSSStyleSelector::mapFillImage):
388         (WebCore::CSSStyleSelector::mapFillRepeatX):
389         (WebCore::CSSStyleSelector::mapFillRepeatY):
390         (WebCore::CSSStyleSelector::mapFillSize):
391         (WebCore::CSSStyleSelector::mapFillXPosition):
392         (WebCore::CSSStyleSelector::mapFillYPosition):
393         (WebCore::CSSStyleSelector::mapAnimationDelay):
394         (WebCore::CSSStyleSelector::mapAnimationDirection):
395         (WebCore::CSSStyleSelector::mapAnimationDuration):
396         (WebCore::CSSStyleSelector::mapAnimationFillMode):
397         (WebCore::CSSStyleSelector::mapAnimationIterationCount):
398         (WebCore::CSSStyleSelector::mapAnimationName):
399         (WebCore::CSSStyleSelector::mapAnimationPlayState):
400         (WebCore::CSSStyleSelector::mapAnimationProperty):
401         (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
402         * css/CSSValue.h:
403         (WebCore::CSSValue::isInheritedValue):
404         (WebCore::CSSValue::isInitialValue):
405         * css/SVGCSSStyleSelector.cpp:
406         (WebCore::CSSStyleSelector::applySVGProperty):
407         * editing/EditingStyle.cpp:
408         (WebCore::EditingStyle::extractFontSizeDelta):
409         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
410
411 2011-11-07  Sheriff Bot  <webkit.review.bot@gmail.com>
412
413         Unreviewed, rolling out r99432.
414         http://trac.webkit.org/changeset/99432
415         https://bugs.webkit.org/show_bug.cgi?id=71709
416
417         It made layout tests extra slow on all bots (Requested by
418         Ossy_night on #webkit).
419
420         * inspector/front-end/ConsoleView.js:
421         (WebInspector.ConsoleView):
422         * inspector/front-end/TextPrompt.js:
423         (WebInspector.TextPrompt.prototype._attachInternal):
424         (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
425
426 2011-11-07  Andreas Kling  <kling@webkit.org>
427
428         REGRESSION(r99409): Broke transitions/clip-transition.html
429         <http://webkit.org/b/71692>
430
431         Reviewed by Darin Adler.
432
433         Add missing base class initializers to CSSPrimitiveValue constructors.
434         This was causing some CSSPrimitiveValues to masquerade as CSS_CUSTOM values.
435
436         * css/CSSPrimitiveValue.h:
437         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
438         * css/CSSPrimitiveValueMappings.h:
439         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
440
441 2011-11-07  ChangSeok Oh  <shivamidow@gmail.com>
442
443         [EFL] Support requestAnimationFrame API
444         https://bugs.webkit.org/show_bug.cgi?id=67112
445
446         Reviewed by Andreas Kling.
447
448         Add some files to build-target when enabling requestAnimationFrame option.
449
450         fast/animation/request-animation-frame-cancel.html
451         fast/animation/request-animation-frame-cancel2.html
452         fast/animation/request-animation-frame-display.html
453         fast/animation/request-animation-frame-during-modal.html
454         fast/animation/request-animation-frame-timestamps.html
455         fast/animation/request-animation-frame-within-callback.html
456         fast/animation/request-animation-frame.html
457
458         * CMakeLists.txt:
459         * UseJSC.cmake:
460
461 2011-11-07  Sam Weinig  <sam@webkit.org>
462
463         Add missing .in and .pl files to the Xcode project for easy access.
464
465         Reviewed by Eric Carlson.
466
467         * WebCore.xcodeproj/project.pbxproj:
468         Add some missing files to the Xcode project.
469
470 2011-11-07  Jessie Berlin  <jberlin@apple.com>
471
472         Need a way to allow a scheme access to Local Storage and Databases while Private Browsing is
473         enabled.
474         https://bugs.webkit.org/show_bug.cgi?id=71631
475
476         Reviewed by Jon Honeycutt.
477
478         Check the SchemeRegistry before preventing read/write access to Local Storage and Databases
479         in Private Browsing.
480
481         * WebCore.exp.in:
482         Export the symbols for registering the schemes as allowing Local Storage and Database access
483         in Private Browsing.
484
485         * dom/Document.cpp:
486         (WebCore::Document::allowDatabaseAccess):
487         Check if the scheme allows Database access in Private Browsing.
488
489         * platform/SchemeRegistry.cpp:
490         (WebCore::schemesAllowingLocalStorageAccessInPrivateBrowsing):
491         (WebCore::schemesAllowingDatabaseAccessInPrivateBrowsing):
492         (WebCore::SchemeRegistry::registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing):
493         (WebCore::SchemeRegistry::allowsLocalStorageAccessInPrivateBrowsing):
494         (WebCore::SchemeRegistry::registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing):
495         (WebCore::SchemeRegistry::allowsDatabaseAccessInPrivateBrowsing):
496         * platform/SchemeRegistry.h:
497
498         * storage/Storage.cpp:
499         (WebCore::Storage::length):
500         Ask the storage area if it is disabled by Private Browsing in the frame instead of just
501         checking if Private Browsing is enabled for that frame because the answer might depend on
502         what type of storage that storage area is.
503         (WebCore::Storage::key):
504         Ditto.
505         (WebCore::Storage::getItem):
506         Ditto.
507         (WebCore::Storage::contains):
508         Ditto.
509
510         * storage/StorageArea.h:
511         Make it possible to query a StorageArea for whether it is disabled by Private Browsing in a
512         Frame.
513         * storage/StorageAreaImpl.cpp:
514         (WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):
515         Renamed from privateBrowsingEnabled.
516         Check not only if Private Browsing is enabled for the Frame, but also if the storage type is
517         Local Storage and if there is an exception for the scheme of the resource currently loaded
518         into the Frame.
519         (WebCore::StorageAreaImpl::setItem):
520         Renamed privateBrowsingEnabled -> disabledByPrivateBrowsingInFrame.
521         (WebCore::StorageAreaImpl::removeItem):
522         Ditto.
523         (WebCore::StorageAreaImpl::clear):
524         Ditto.
525         * storage/StorageAreaImpl.h:
526
527 2011-11-07  Dominic Cooney  <dominicc@chromium.org>
528
529         Remove initCloseEvent method
530         https://bugs.webkit.org/show_bug.cgi?id=71374
531
532         Reviewed by Ojan Vafai.
533
534         Test: fast/dom/Window/window-properties.html
535
536         * websockets/CloseEvent.h:
537         (WebCore::CloseEvent::initCloseEvent):
538         * websockets/CloseEvent.idl:
539
540 2011-11-07  Anders Carlsson  <andersca@apple.com>
541
542         Simplify NetscapePlugin::convertPoint and make it work (in theory) with transformed plug-ins
543         https://bugs.webkit.org/show_bug.cgi?id=71699
544
545         Reviewed by Sam Weinig.
546
547         Export AffineTransform symbols used by WebKit2.
548
549         * WebCore.exp.in:
550
551 2011-11-07  Michael Saboff  <msaboff@apple.com>
552
553         Towards 8 Bit Strings: Templatize JSC::Lexer class by character type
554         https://bugs.webkit.org/show_bug.cgi?id=71331
555
556         Changed the SourceProvider::data() virtual method to return a
557         StringImpl* instead of a UChar*.
558         Changed Identifier() constructor to use JSGlobalData*.
559
560         Reviewed by Darin Adler.
561
562         No new tests - refactored SourceProvider class and sub-classes.
563
564         * bindings/js/CachedScriptSourceProvider.h:
565         (WebCore::CachedScriptSourceProvider::stringData):
566         * bindings/js/StringSourceProvider.h:
567         (WebCore::StringSourceProvider::stringData):
568         * bridge/qt/qt_runtime.cpp:
569         (JSC::Bindings::convertQVariantToValue):
570
571 2011-11-07  Dominic Cooney  <dominicc@chromium.org>
572
573         Remove initOverflowEvent from JavaScript bindings
574         https://bugs.webkit.org/show_bug.cgi?id=71687
575
576         Reviewed by Ojan Vafai.
577
578         Now that OverflowEvent has a constructor, we don't need the
579         initOverflowEvent method. It has to remain in the Objective C
580         binding because it is part of the Objective C public API.
581
582         * dom/OverflowEvent.idl:
583
584 2011-11-07  Noel Gordon  <noel.gordon@gmail.com>
585
586         Refactor canvas encoding mimeType validation
587         https://bugs.webkit.org/show_bug.cgi?id=71651
588
589         Reviewed by Andreas Kling.
590
591         No new tests, refactoring only, covered by existing canvas tests.
592
593         * html/HTMLCanvasElement.cpp:
594         (WebCore::HTMLCanvasElement::toEncodingMimeType): move encoder mimeType
595         validation logic into a helper routine.
596         (WebCore::HTMLCanvasElement::toDataURL):
597         * html/HTMLCanvasElement.h:
598
599 2011-11-07  Vsevolod Vlasov  <vsevik@chromium.org>
600
601         Web Inspector: Suggest box should consume enter key pressed event.
602         https://bugs.webkit.org/show_bug.cgi?id=71700
603
604         Reviewed by Pavel Feldman.
605
606         * inspector/front-end/ConsoleView.js:
607         (WebInspector.ConsoleView):
608         * inspector/front-end/TextPrompt.js:
609         (WebInspector.TextPrompt.prototype._attachInternal):
610         (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
611
612 2011-11-07  Dominic Cooney  <dominicc@chromium.org>
613
614         Remove initPageTransitionEvent method
615         https://bugs.webkit.org/show_bug.cgi?id=71689
616
617         Reviewed by Ojan Vafai.
618
619         initPageTransitionEvent was removed from the HTML spec; it has
620         been replaced by new PageTransitionEvent(...).
621
622         Removing a method, so no new tests.
623
624         * dom/PageTransitionEvent.cpp:
625         * dom/PageTransitionEvent.h:
626         * dom/PageTransitionEvent.idl:
627
628 2011-11-07  Alexander Pavlov  <apavlov@chromium.org>
629
630         Web Inspector: TextPrompt+SuggestBox should autocomplete on "Right" keydown and with a single suggestion in place
631         https://bugs.webkit.org/show_bug.cgi?id=71676
632
633         Reviewed by Pavel Feldman.
634
635         * inspector/front-end/TextPrompt.js:
636         (WebInspector.TextPrompt.prototype.onKeyDown):
637         (WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
638         * inspector/front-end/inspectorCommon.css:
639         (body): Revert inadvertent style change from a preceding commit.
640
641 2011-11-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
642
643         Fix the Qt build on Mac OS X when using the QuickTime media backend
644
645         When QtWebKit is built on Mac OS X using the QuickTime media backend
646         we build both KURLCFNet.cpp and KURLMac, just like the Mac port, so
647         we have to guard the potentially duplicate symbol createCFURL with
648         more than just !PLATFORM(MAC).
649
650         Reviewed by Andreas Kling.
651
652         * platform/cf/KURLCFNet.cpp:
653
654 2011-11-07  Pavel Feldman  <pfeldman@google.com>
655
656         Not reviewed: follow up to r99407. Style the suggest box.
657         https://bugs.webkit.org/show_bug.cgi?id=65511
658
659
660         * inspector/front-end/TextPrompt.js:
661         * inspector/front-end/inspector.css:
662         * inspector/front-end/textPrompt.css:
663
664 2011-11-07  Roland Steiner  <rolandsteiner@chromium.org>
665
666         https://bugs.webkit.org/show_bug.cgi?id=70223
667         CSSStyleSheet: finding the owner node should be in its own method
668
669         Add styleSheetOwnerNode() function that returns the owner Node of the style sheet, or 0.
670
671         Reviewed by Dimitri Glazkov.
672
673         No new tests. (refactoring)
674
675         * css/CSSStyleSheet.cpp:
676         (WebCore::CSSStyleSheet::styleSheetOwnerNode):
677         (WebCore::CSSStyleSheet::document):
678         * css/CSSStyleSheet.h:
679
680 2011-11-07  Yury Semikhatsky  <yurys@chromium.org>
681
682         [Chromium] Web Inspector: use native worker inspector instead of fake workers
683         https://bugs.webkit.org/show_bug.cgi?id=71670
684
685         Removed context menu option for switching between native and "fake" workers
686         debugger. Native debugger is used by default on platforms that support it.
687
688         Reviewed by Pavel Feldman.
689
690         * English.lproj/localizedStrings.js:
691         * inspector/front-end/ScriptsPanel.js:
692         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
693         * inspector/front-end/Settings.js:
694         (WebInspector.Settings):
695         * inspector/front-end/WorkersSidebarPane.js:
696         (WebInspector.WorkerListSidebarPane):
697         (WebInspector.WorkerListSidebarPane.prototype._autoattachToWorkersClicked):
698         * inspector/front-end/scriptsPanel.css:
699         (#shared-workers-list):
700
701 2011-11-07  Vsevolod Vlasov  <vsevik@chromium.org>
702
703         Web Inspector: Add advanced search shortcut to ShortcutsScreen.
704         https://bugs.webkit.org/show_bug.cgi?id=71302
705
706         Reviewed by Pavel Feldman.
707
708         * English.lproj/localizedStrings.js:
709         * inspector/front-end/AdvancedSearchController.js:
710         (WebInspector.AdvancedSearchController.createShortcut):
711         * inspector/front-end/inspector.js:
712         (WebInspector._registerShortcuts):
713
714 2011-11-07  Andreas Kling  <kling@webkit.org>
715
716         CSSImageValue: Remove inheritance from CachedImageClient.
717         <http://webkit.org/b/71675>
718
719         Reviewed by Antti Koivisto.
720
721         CSSImageValue doesn't actually use any of the CachedImageClient
722         functionality, and holds a reference to the resource via the
723         CachedResourceHandle in StyleCachedImage.
724
725         So we can safely remove the multiple inheritance and simplify
726         the class.
727
728         * css/CSSImageValue.cpp:
729         (WebCore::CSSImageValue::~CSSImageValue):
730         (WebCore::CSSImageValue::cachedImage):
731         (WebCore::CSSImageValue::clearCachedImage):
732         * css/CSSImageValue.h:
733
734 2011-11-07  Andreas Kling  <kling@webkit.org>
735
736         CSSPrimitiveValue: Remove unused virtual function parseString().
737         <http://webkit.org/b/71671>
738
739         Reviewed by Antti Koivisto.
740
741         * css/CSSPrimitiveValue.cpp:
742         * css/CSSPrimitiveValue.h:
743
744 2011-11-07  Andrey Kosyakov  <caseq@chromium.org>
745
746         Web Inspector: use toString as the Date object description.
747         https://bugs.webkit.org/show_bug.cgi?id=71605
748
749         Reviewed by Yury Semikhatsky.
750
751         Test: inspector/remote-object.html
752
753         * inspector/InjectedScriptSource.js:
754         (.):
755
756 2011-10-26  Andrey Kosyakov  <caseq@chromium.org>
757
758         Web Inspector: [refactoring] get JS-specific methods out of SourceFrame
759         https://bugs.webkit.org/show_bug.cgi?id=70885
760
761         Reviewed by Pavel Feldman.
762
763         No new tests, as there's no new functionality.
764
765         * inspector/front-end/JavaScriptSourceFrame.js:
766         (WebInspector.JavaScriptSourceFrame):
767         (WebInspector.JavaScriptSourceFrame.prototype.willHide):
768         (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
769         (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
770         (WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
771         (WebInspector.JavaScriptSourceFrame.prototype.editContent):
772         (WebInspector.JavaScriptSourceFrame.prototype.contentChanged):
773         (WebInspector.JavaScriptSourceFrame.prototype.setReadonly):
774         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
775         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.):
776         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
777         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else):
778         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
779         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
780         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
781         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
782         (WebInspector.JavaScriptSourceFrame.prototype.cancelEditing):
783         (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
784         (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
785         (WebInspector.JavaScriptSourceFrame.prototype._onShowPopover.showObjectPopover):
786         (WebInspector.JavaScriptSourceFrame.prototype._onShowPopover):
787         (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
788         (WebInspector.JavaScriptSourceFrame.prototype.addBreakpoint):
789         (WebInspector.JavaScriptSourceFrame.prototype.removeBreakpoint):
790         (WebInspector.JavaScriptSourceFrame.prototype._mouseDown):
791         (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition.finishEditing):
792         (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition):
793         (WebInspector.JavaScriptSourceFrame.prototype._createConditionElement):
794         (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
795         (WebInspector.JavaScriptSourceFrame.prototype.clearExecutionLine):
796         (WebInspector.JavaScriptSourceFrame.prototype._lineNumberAfterEditing):
797         (WebInspector.JavaScriptSourceFrame.prototype._onTextViewerContentLoaded):
798         (WebInspector.JavaScriptSourceFrameDelegate):
799         (WebInspector.JavaScriptSourceFrameDelegate.prototype.requestContent):
800         (WebInspector.JavaScriptSourceFrameDelegate.prototype.setBreakpoint):
801         (WebInspector.JavaScriptSourceFrameDelegate.prototype.removeBreakpoint):
802         (WebInspector.JavaScriptSourceFrameDelegate.prototype.updateBreakpoint):
803         (WebInspector.JavaScriptSourceFrameDelegate.prototype.findBreakpoint):
804         (WebInspector.JavaScriptSourceFrameDelegate.prototype.continueToLine):
805         (WebInspector.JavaScriptSourceFrameDelegate.prototype.canEditScriptSource):
806         (WebInspector.JavaScriptSourceFrameDelegate.prototype.setScriptSource):
807         (WebInspector.JavaScriptSourceFrameDelegate.prototype.setScriptSourceIsBeingEdited):
808         (WebInspector.JavaScriptSourceFrameDelegate.prototype.suggestedFileName):
809         (WebInspector.JavaScriptSourceFrameDelegate.prototype.addToWatch):
810         * inspector/front-end/ResourceView.js:
811         (WebInspector.ResourceSourceFrame):
812         * inspector/front-end/ScriptsPanel.js:
813         (WebInspector.SourceFrameDelegateForScriptsPanel):
814         * inspector/front-end/SourceFrame.js:
815         (WebInspector.SourceFrame):
816         (WebInspector.SourceFrame.prototype.willHide):
817         (WebInspector.SourceFrame.prototype.get textViewer):
818         (WebInspector.SourceFrame.prototype.requestContent):
819         (WebInspector.SourceFrame.prototype._saveViewerState):
820         (WebInspector.SourceFrame.prototype._restoreViewerState):
821         (WebInspector.SourceFrame.prototype.beforeTextChanged):
822         (WebInspector.SourceFrame.prototype.afterTextChanged):
823         (WebInspector.SourceFrame.prototype._initializeTextViewer):
824         (WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
825         (WebInspector.SourceFrame.prototype.suggestedFileName):
826         (WebInspector.SourceFrame.prototype.canEditSource):
827         (WebInspector.SourceFrame.prototype.startEditing):
828         (WebInspector.SourceFrame.prototype.commitEditing):
829         (WebInspector.SourceFrame.prototype.didEditContent):
830         (WebInspector.SourceFrame.prototype.editContent):
831         (WebInspector.SourceFrame.prototype.cancelEditing):
832         (WebInspector.SourceFrame.prototype.setReadOnly):
833         * inspector/front-end/inspector.html:
834
835 2011-11-06  Andreas Kling  <kling@webkit.org>
836
837         CSSValue: Devirtualize cssValueType().
838         <http://webkit.org/b/71667>
839
840         Reviewed by Antti Koivisto.
841
842         Keep the cssValueType in a CSSValue member instead of using
843         virtual functions.
844
845         This is part of a project to completely devirtualize CSSValue
846         <http://webkit.org/b/71666> and will incur a temporary object
847         size regression for CSSValue while the work is ongoing.
848
849         * css/CSSInheritedValue.cpp:
850         * css/CSSInheritedValue.h:
851         (WebCore::CSSInheritedValue::CSSInheritedValue):
852         * css/CSSInitialValue.cpp:
853         * css/CSSInitialValue.h:
854         (WebCore::CSSInitialValue::CSSInitialValue):
855         * css/CSSPrimitiveValue.cpp:
856         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
857         * css/CSSPrimitiveValue.h:
858         * css/CSSValue.h:
859         (WebCore::CSSValue::cssValueType):
860         (WebCore::CSSValue::CSSValue):
861         * css/CSSValueList.cpp:
862         (WebCore::CSSValueList::CSSValueList):
863         * css/CSSValueList.h:
864
865 2011-11-07  Pavel Feldman  <pfeldman@chromium.org>
866
867         Web Inspector: introduce UserAgent override setting.
868         https://bugs.webkit.org/show_bug.cgi?id=71627
869
870         Reviewed by Yury Semikhatsky.
871
872         * English.lproj/localizedStrings.js:
873         * inspector/InspectorResourceAgent.cpp:
874         (WebCore::InspectorResourceAgent::clearFrontend):
875         (WebCore::InspectorResourceAgent::applyUserAgentOverride):
876         (WebCore::InspectorResourceAgent::setUserAgentOverride):
877         * inspector/front-end/HelpScreen.js:
878         (WebInspector.HelpScreen):
879         (WebInspector.HelpScreen.prototype.show):
880         (WebInspector.HelpScreen.prototype._onBlur):
881         * inspector/front-end/NetworkManager.js:
882         (WebInspector.NetworkManager.prototype._cacheDisabledSettingChanged):
883         (WebInspector.NetworkManager.prototype._userAgentSettingChanged):
884         * inspector/front-end/Settings.js:
885         (WebInspector.Settings):
886         * inspector/front-end/SettingsScreen.js:
887         (WebInspector.SettingsScreen):
888         (WebInspector.SettingsScreen.prototype._createSelectSetting.get for):
889         (WebInspector.SettingsScreen.prototype._createCustomSetting):
890         (WebInspector.SettingsScreen.prototype._createUserActionControl.checkboxClicked):
891         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
892         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.textDoubleClicked):
893         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.textChanged):
894         * inspector/front-end/helpScreen.css:
895         (.help-table td):
896         (.help-content fieldset label):
897
898 2011-11-07  Alexander Pavlov  <apavlov@chromium.org>
899
900         Web Inspector: autocomplete combobox for Styles sidebar and Console.
901         https://bugs.webkit.org/show_bug.cgi?id=65511
902
903         Reviewed by Pavel Feldman.
904
905         * inspector/front-end/ConsoleView.js:
906         (WebInspector.ConsoleView):
907         * inspector/front-end/StylesSidebarPane.js:
908         (WebInspector.StylePropertyTreeElement.prototype):
909         ():
910         * inspector/front-end/TextPrompt.js:
911         (WebInspector.TextPrompt):
912         (WebInspector.TextPrompt.prototype.setSuggestBoxEnabled):
913         (WebInspector.TextPrompt.prototype._attachInternal):
914         (WebInspector.TextPrompt.prototype.applySuggestion):
915         (WebInspector.TextPrompt.prototype.acceptSuggestion):
916         (WebInspector.TextPromptWithHistory):
917         * inspector/front-end/inspector.css:
918         (.suggest-box.generic-suggest):
919         (.suggest-box.generic-suggest.above-anchor):
920         (.suggest-box.generic-suggest .content):
921
922 2011-11-07  Pavel Feldman  <pfeldman@chromium.org>
923
924         Web Inspector: split script-formatter test into multiple tests.
925         https://bugs.webkit.org/show_bug.cgi?id=71607
926
927         Reviewed by Yury Semikhatsky.
928
929         Tests: inspector/debugger/script-formatter-breakpoints.html
930                inspector/debugger/script-formatter-console.html
931
932         * inspector/front-end/ScriptsPanel.js:
933         (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
934
935 2011-11-07  Keishi Hattori  <keishi@webkit.org>
936
937         Change ColorChooser from singleton to ordinary object
938         https://bugs.webkit.org/show_bug.cgi?id=71644
939
940         Reviewed by Kent Tamura.
941
942         Changing WebCore::ColorChooser from a singleton to an ordinary object can broaden how browsers implement the color chooser interface.
943
944         * WebCore.exp.in:
945         * html/ColorInputType.cpp:
946         (WebCore::ColorInputType::~ColorInputType):
947         (WebCore::ColorInputType::setValue): If a chooser exists, calls Chrome::setSelectedColorInColorChooser
948         (WebCore::ColorInputType::handleDOMActivateEvent):
949         (WebCore::ColorInputType::detach):
950         (WebCore::ColorInputType::didCleanup): Called after cleanup is complete.
951         (WebCore::ColorInputType::cleanupColorChooser): Renamed from cleanupColorChooserIfCurrentClient.
952         * html/ColorInputType.h:
953         * html/HTMLInputElement.cpp:
954         (WebCore::HTMLInputElement::selectColorInColorChooser):
955         * html/HTMLInputElement.h:
956         * loader/EmptyClients.h:
957         (WebCore::EmptyChromeClient::cleanupColorChooser): Added colorChooser argument because there are many WebCore::ColorChoosers now.
958         (WebCore::EmptyChromeClient::setSelectedColorInColorChooser): Ditto.
959         * page/Chrome.cpp:
960         (WebCore::Chrome::cleanupColorChooser): Added colorChooser argument because there are many WebCore::ColorChoosers now.
961         (WebCore::Chrome::setSelectedColorInColorChooser): Ditto.
962         * page/Chrome.h:
963         * page/ChromeClient.h:
964         * platform/ColorChooser.cpp:
965         (WebCore::ColorChooserClient::~ColorChooserClient):
966         (WebCore::ColorChooserClient::newColorChooser): Creates a new color chooser that is connected to itself.
967         (WebCore::ColorChooserClient::discardChooser): Discards the connected color chooser.
968         (WebCore::ColorChooser::ColorChooser): ColorChooser is RefCounted.
969         (WebCore::ColorChooser::create): Creates a ColorChooser that is connected to the given ColorChooserClient.
970         (WebCore::ColorChooser::~ColorChooser):
971         (WebCore::ColorChooser::didChooseColor): Called from WebKit side when user chose a color. Calls ColorChooserClient::didChooseColor
972         (WebCore::ColorChooser::didCleanup): Called from WebKit side when user color chooser was cleaned up. Calls ColorChooserClient::didCleanup
973         * platform/ColorChooser.h:
974         (WebCore::ColorChooserClient::chooser): Returns the current ColorChooser.
975         (WebCore::ColorChooser::disconnectClient): Disconnects the ColorChooserClient.
976         * testing/Internals.cpp:
977         (WebCore::Internals::selectColorInColorChooser): Added element argument. This calls didChooseColor on the ColorChooser of that element.
978         * testing/Internals.h:
979         * testing/Internals.idl: Removed connectColorChooserClient and updated selectColorInColorChooser.
980
981 2011-11-07  Alexander Pavlov  <apavlov@chromium.org>
982
983         Web Inspector: Cannot edit elements commented with <!--
984         https://bugs.webkit.org/show_bug.cgi?id=71357
985
986         Reviewed by Pavel Feldman.
987
988         * inspector/InspectorDOMAgent.cpp:
989         (WebCore::InspectorDOMAgent::getOuterHTML):
990         (WebCore::InspectorDOMAgent::setOuterHTML):
991         * inspector/front-end/ElementsTreeOutline.js:
992         (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
993         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
994         (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu):
995         (WebInspector.ElementsTreeElement.prototype._populateNodeContextMenu):
996
997 2011-11-06  Noel Gordon  <noel.gordon@gmail.com>
998
999         Fix some style issues in ImageBuffer.h
1000         https://bugs.webkit.org/show_bug.cgi?id=71649
1001
1002         Reviewed by Kent Tamura.
1003
1004         No new tests. Style change only.
1005
1006         * platform/graphics/ImageBuffer.h:
1007
1008 2011-11-06  Keishi Hattori  <keishi@webkit.org>
1009
1010         InputType::fallbackValue and defaultValue should be const
1011         https://bugs.webkit.org/show_bug.cgi?id=71641
1012
1013         Reviewed by Kent Tamura.
1014     
1015         Changing InputType::fallbackValue and defaultValue to const. Also adding OVERRIDE.
1016
1017         * html/BaseCheckableInputType.cpp:
1018         (WebCore::BaseCheckableInputType::fallbackValue):
1019         * html/BaseCheckableInputType.h:
1020         * html/ColorInputType.cpp:
1021         (WebCore::ColorInputType::fallbackValue):
1022         * html/ColorInputType.h:
1023         * html/InputType.cpp:
1024         (WebCore::InputType::fallbackValue):
1025         (WebCore::InputType::defaultValue):
1026         * html/InputType.h:
1027         * html/RangeInputType.cpp:
1028         (WebCore::RangeInputType::fallbackValue):
1029         * html/RangeInputType.h:
1030         * html/ResetInputType.cpp:
1031         (WebCore::ResetInputType::defaultValue):
1032         * html/ResetInputType.h:
1033         * html/SubmitInputType.cpp:
1034         (WebCore::SubmitInputType::defaultValue):
1035         * html/SubmitInputType.h:
1036
1037 2011-11-06  Keishi Hattori  <keishi@webkit.org>
1038
1039         Remove ColorInputType::handleClickEvent
1040         https://bugs.webkit.org/show_bug.cgi?id=71640
1041
1042         Reviewed by Kent Tamura.
1043
1044         When you click the input color element, both ColorInputType::handleClickEvent and
1045         ColorInputType::handleDOMActivateEvent are called, causing Chrome::openColorChooser
1046         to be called too many times.
1047
1048         * html/ColorInputType.cpp: Removed ColorInputType::handleClickEvent
1049         * html/ColorInputType.h: Removed ColorInputType::handleClickEvent
1050
1051 2011-11-06  Keishi Hattori  <keishi@webkit.org>
1052
1053         Remove extra semicolon in ColorInputType
1054         https://bugs.webkit.org/show_bug.cgi?id=71639
1055
1056         Reviewed by Kent Tamura.
1057
1058         * html/ColorInputType.cpp:
1059         (WebCore::ColorInputType::setValue):
1060
1061 2011-11-06  Dominic Cooney  <dominicc@chromium.org>
1062
1063         Remove initBeforeLoadEvent method
1064         https://bugs.webkit.org/show_bug.cgi?id=71636
1065
1066         Reviewed by Adam Barth.
1067
1068         Test: fast/dom/Window/window-properties.html
1069
1070         * dom/BeforeLoadEvent.h:
1071         * dom/BeforeLoadEvent.idl:
1072
1073 2011-11-06  Adam Barth  <abarth@webkit.org>
1074
1075         Don't crash when a context hasn't been created.  This fixed a
1076         testing-only crash on the bots in the Chromium port.
1077
1078         * testing/v8/WebCoreTestSupport.cpp:
1079         (WebCoreTestSupport::resetInternalsObject):
1080
1081 2011-11-06  Darin Adler  <darin@apple.com>
1082
1083         Leaks seen in RenderFlowThread::setRegionRangeForBox on Leaks bot
1084         https://bugs.webkit.org/show_bug.cgi?id=71260
1085
1086         Reviewed by Mark Rowe.
1087
1088         Memory leak fix covered by existing tests.
1089
1090         * rendering/RenderFlowThread.cpp:
1091         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
1092         Instead of calling remove, call take and then delete, since the
1093         values of the map are owned and need to be deleted when removed.
1094
1095 2011-11-06  Adam Barth  <abarth@webkit.org>
1096
1097         Implement the sandbox directive for CSP
1098         https://bugs.webkit.org/show_bug.cgi?id=71604
1099
1100         Reviewed by Sam Weinig.
1101
1102         At TPAC, Microsoft was pushing pretty hard to add the sandbox directive
1103         to CSP.  There's a question about whether it's going to be in CSP 1.0
1104         or CSP 1.1, but it seems to be clearly headed into the spec.
1105
1106         This patch implements the sandbox directive for CSP.  It's built on the
1107         same machinery we use for the sandbox attribute for iframe.  Now that
1108         I've done the implementation, I'm going to write up some concrete text
1109         for the spec.
1110
1111         Tests: http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-subframe.html
1112                http/tests/security/contentSecurityPolicy/sandbox-allow-scripts.html
1113                http/tests/security/contentSecurityPolicy/sandbox-empty-subframe.html
1114                http/tests/security/contentSecurityPolicy/sandbox-empty.html
1115
1116         * page/ContentSecurityPolicy.cpp:
1117         (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
1118         (WebCore::ContentSecurityPolicy::applySandboxPolicy):
1119         (WebCore::ContentSecurityPolicy::addDirective):
1120         * page/ContentSecurityPolicy.h:
1121
1122 2011-11-03  Filip Pizlo  <fpizlo@apple.com>
1123
1124         JSC should be able to sample itself in a more flexible way than just sampling flags
1125         https://bugs.webkit.org/show_bug.cgi?id=71522
1126
1127         Reviewed by Gavin Barraclough.
1128
1129         No new tests, since no functionality changed.
1130
1131         * ForwardingHeaders/wtf/Spectrum.h: Added.
1132
1133 2011-11-06  Nikita Vasilyev  <me@elv1s.ru>
1134
1135         Web Inspector: Unindent edited text by pressing Shift + Tab
1136         https://bugs.webkit.org/show_bug.cgi?id=70181
1137
1138         Indent and unindent text in all selected lines.
1139
1140         Reviewed by Pavel Feldman.
1141
1142         * inspector/front-end/TextViewer.js:
1143         (WebInspector.TextEditorMainPanel.prototype.unindentLines.get var):
1144         (WebInspector.TextEditorMainPanel.prototype.unindentLines):
1145
1146 2011-11-05  Martin Robinson  <mrobinson@igalia.com>
1147
1148         Remove ContextShadow
1149         https://bugs.webkit.org/show_bug.cgi?id=71617
1150
1151         Reviewed by Ariya Hidayat.
1152
1153         No new tests. This patch does not change behavior.
1154
1155         Completely remove ContextShadow. It's unused, unmaintained, and
1156         replaced by ShadowBlur.
1157
1158         * WebCore.gypi: Remove references to deleted files.
1159         * WebCore.vcproj/WebCore.vcproj: Remove references to deleted files.
1160         * platform/graphics/ContextShadow.cpp: Removed.
1161         * platform/graphics/ContextShadow.h: Removed.
1162         * platform/gtk/WidgetRenderingContext.cpp: Remove now-inaccurate TODO.
1163
1164 2011-11-04  Jon Lee  <jonlee@apple.com>
1165
1166         Dragging a file onto <input type="file"> should give distinct visual feedback
1167         https://bugs.webkit.org/show_bug.cgi?id=13897
1168         <rdar://problem/5232483>
1169
1170         Reviewed by Dan Bernstein.
1171
1172         When hovering over a file input element, we set the button's state to active
1173         to differentiate dragging one file over the input element (which populates that
1174         element) versus over the document (which would load the file into the view).
1175
1176         * html/HTMLInputElement.cpp:
1177         (WebCore::HTMLInputElement::HTMLInputElement):
1178         (WebCore::HTMLInputElement::canReceiveDroppedFiles):
1179         (WebCore::HTMLInputElement::setCanReceiveDroppedFiles): If set, the element
1180         is updated, which sets the active state on the button control.
1181         * html/HTMLInputElement.h: Add a boolean member representing whether the file
1182         input can receive dropped files.
1183         * page/DragController.cpp:
1184         (WebCore::DragController::DragController): Update/set the file input that
1185         can receive dropped files.
1186         (WebCore::DragController::dragExited):
1187         (WebCore::DragController::tryDocumentDrag):
1188         (WebCore::DragController::concludeEditDrag):
1189         * page/DragController.h:
1190         * rendering/RenderFileUploadControl.cpp:
1191         (WebCore::RenderFileUploadControl::updateFromElement): Sets the button active
1192         state if the input can receive dropped files.
1193
1194 2011-11-05  Darin Adler  <darin@apple.com>
1195
1196         Improve pending resource hash table code, including fixing a memory leak
1197         https://bugs.webkit.org/show_bug.cgi?id=71616
1198
1199         Reviewed by Adam Roben.
1200
1201         Memory leak fix and refactoring covered by existing tests.
1202
1203         * svg/SVGDocumentExtensions.cpp:
1204         (WebCore::SVGDocumentExtensions::addPendingResource): Replace the combination
1205         of contains, get, and add with just add, removing an extra unneeded hash table
1206         lookup each time this function is called.
1207         (WebCore::SVGDocumentExtensions::isElementInPendingResources): Added a comment
1208         about the performance of this function. Removed unnecessary check for an empty
1209         map; the code already efficiently exits doing nothing without the check.
1210         (WebCore::SVGDocumentExtensions::removeElementFromPendingResources): Removed
1211         unnecessary check for an empty map; the code already efficiently does nothing
1212         without the check. Use removePendingResource rather than calling remove to
1213         avoid leaking the SVGPendingElements set.
1214         (WebCore::SVGDocumentExtensions::removePendingResource): Replace the
1215         combination of get and remove with a call to take, removing an extra
1216         unneeded hash table lookup each time this function is called
1217
1218 2011-11-05  Dan Winship  <danw@gnome.org>
1219
1220         [GTK] Actually use the user_data arguments to gio async functions
1221         instead of using g_object_set_data() to basically reinvent them.
1222         https://bugs.webkit.org/show_bug.cgi?id=71614
1223
1224         Reviewed by Martin Robinson.
1225
1226         No new tests; behavior is unchanged
1227
1228         * platform/network/soup/ResourceHandleSoup.cpp:
1229         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1230         (WebCore::cleanupSoupRequestOperation):
1231         (WebCore::sendRequestCallback):
1232         (WebCore::startHTTPRequest):
1233         (WebCore::ResourceHandle::platformSetDefersLoading):
1234         (WebCore::closeCallback):
1235         (WebCore::readCallback):
1236         (WebCore::startNonHTTPRequest):
1237
1238 2011-11-05  Dan Winship  <danw@gnome.org>
1239
1240         [GTK] Don't unnecessarily 0-initialize read buffers.
1241         https://bugs.webkit.org/show_bug.cgi?id=71612
1242
1243         Reviewed by Martin Robinson.
1244
1245         No new tests; behavior is unchanged
1246
1247         * platform/network/soup/ResourceHandleSoup.cpp:
1248         (WebCore::sendRequestCallback):
1249
1250 2011-11-05  Dan Winship  <danw@gnome.org>
1251
1252         [GTK] Remove a bit of dead code
1253         https://bugs.webkit.org/show_bug.cgi?id=71613
1254
1255         Reviewed by Martin Robinson.
1256
1257         No new tests; behavior is unchanged
1258
1259         * platform/network/soup/ResourceHandleSoup.cpp:
1260         (WebCore::readCallback): the caller that needed the convertToUTF16
1261         code was removed in r77408, but the code was accidentally left
1262         behind.
1263
1264 2011-11-05  Adam Barth  <abarth@webkit.org>
1265
1266         Refactor sandbox flag calculation to make implementing CSP sandbox directive easier
1267         https://bugs.webkit.org/show_bug.cgi?id=71603
1268
1269         Reviewed by Sam Weinig.
1270
1271         This patch changes the way we compute sandbox bits.  Instead of caching
1272         the result on Frame, we always compute the sandbox bits for a new
1273         document fresh from the inputs to the process (the sandbox attribute
1274         and the forced sandbox flags).
1275
1276         This patch is just refactoring.  It shouldn't have an observable
1277         effects.  This patch makes it easier to implement CSP's sandbox
1278         directive in a subsequent patch.
1279
1280         * dom/Document.cpp:
1281         (WebCore::Document::initSecurityContext):
1282         * html/HTMLFrameOwnerElement.cpp:
1283         (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
1284         * loader/FrameLoader.cpp:
1285         (WebCore::FrameLoader::FrameLoader):
1286         (WebCore::FrameLoader::init):
1287         (WebCore::FrameLoader::effectiveSandboxFlags):
1288         (WebCore::createWindow):
1289         * loader/FrameLoader.h:
1290         (WebCore::FrameLoader::forceSandboxFlags):
1291
1292 2011-11-05  Andreas Kling  <kling@webkit.org>
1293
1294         CSSStyleDeclaration: Devirtualize isMutableStyleDeclaration().
1295         https://bugs.webkit.org/show_bug.cgi?id=71609
1296
1297         Reviewed by Anders Carlsson.
1298
1299         Add a bool member to CSSStyleDeclaration that determines whether
1300         it's a CSSMutableDeclaration.
1301
1302         * css/CSSMutableStyleDeclaration.cpp:
1303         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
1304         * css/CSSMutableStyleDeclaration.h:
1305         * css/CSSStyleDeclaration.cpp:
1306         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
1307         * css/CSSStyleDeclaration.h:
1308         (WebCore::CSSStyleDeclaration::isMutableStyleDeclaration):
1309
1310 2011-11-05  Andreas Kling  <kling@webkit.org>
1311
1312         Web Inspector: Simplify InspectorCSSAgent::inlineStyleElement().
1313         https://bugs.webkit.org/show_bug.cgi?id=71608
1314
1315         Reviewed by Pavel Feldman.
1316
1317         Use CSSMutableStyleDeclaration::isInlineStyleDeclaration() instead
1318         of doing the same checks manually.
1319
1320         * inspector/InspectorCSSAgent.cpp:
1321         (WebCore::InspectorCSSAgent::inlineStyleElement):
1322
1323 2011-11-05  Simon Hausmann  <simon.hausmann@nokia.com>
1324
1325         Reviewed by Andreas Kling.
1326
1327         Removed duplicated npruntime_internal.h from bindings/v8
1328         in favour of the one from bridge/, which has a few more
1329         #undefs.
1330
1331         https://bugs.webkit.org/show_bug.cgi?id=45617
1332
1333         * bindings/v8/npruntime_internal.h: Removed.
1334         * Target.pri: Removed strange occurence here.
1335
1336 2011-11-05  Simon Hausmann  <simon.hausmann@nokia.com>
1337
1338         Remove empty and unused dom/PositionCreationFunctions.h header file
1339         https://bugs.webkit.org/show_bug.cgi?id=71552
1340
1341         Reviewed by Kenneth Rohde Christiansen.
1342
1343         The file is empty (0 bytes) and not used anywhere. It was added in
1344         2009 in r48234 but hasn't been touched since then.
1345
1346         * WebCore.gypi:
1347         * dom/PositionCreationFunctions.h: Removed.
1348
1349 2011-11-04  Adam Barth  <abarth@webkit.org>
1350
1351         Fix assert after running tests in dumpAsText folders.  See
1352         https://bugs.webkit.org/show_bug.cgi?id=71599 for discussion.  This
1353         patch reverts part of a slightly over-agressive refactoring in
1354         http://trac.webkit.org/changeset/99347.
1355
1356         * dom/Document.cpp:
1357         (WebCore::Document::setIsViewSource):
1358
1359 2011-11-04  Ben Wells  <benwells@chromium.org>
1360
1361         Canvas drawImage(canvas) with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
1362         https://bugs.webkit.org/show_bug.cgi?id=71537
1363
1364         Reviewed by Stephen White.
1365
1366         drawImage(canvas) now uses the same approach as drawImage(image) to fix these errors.
1367
1368         Test: fast/canvas/canvas-composite-canvas.html
1369
1370         * html/canvas/CanvasRenderingContext2D.cpp:
1371         (WebCore::CanvasRenderingContext2D::drawImage):
1372         (WebCore::drawImageToContext):
1373         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
1374         * html/canvas/CanvasRenderingContext2D.h:
1375
1376 2011-11-04  Adam Barth  <abarth@webkit.org>
1377
1378         JavaScript URLs execute in sandboxed iframes
1379         https://bugs.webkit.org/show_bug.cgi?id=71599
1380
1381         Reviewed by Eric Seidel.
1382
1383         This patch fixes the intentional regression I introduced earlier today
1384         by moving the sandbox bits from SecurityOrigin to Document. In the
1385         process, I renamed SecurityOrigin::createEmpty to
1386         SecurityOrigin::createUnique to better align with HTML5 terminology.
1387
1388         * WebCore.exp.in:
1389         * bindings/ScriptControllerBase.cpp:
1390         (WebCore::ScriptController::canExecuteScripts):
1391         * dom/Document.cpp:
1392         (WebCore::Document::setIsViewSource):
1393         (WebCore::Document::initSecurityContext):
1394         * dom/ScriptExecutionContext.cpp:
1395         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
1396         * dom/ScriptExecutionContext.h:
1397         (WebCore::ScriptExecutionContext::sandboxFlags):
1398         (WebCore::ScriptExecutionContext::enforceSandboxFlags):
1399         (WebCore::ScriptExecutionContext::isSandboxed):
1400         * html/HTMLAppletElement.cpp:
1401         (WebCore::HTMLAppletElement::canEmbedJava):
1402         * loader/DocumentWriter.cpp:
1403         (WebCore::DocumentWriter::begin):
1404         * loader/FrameLoader.cpp:
1405         (WebCore::isDocumentSandboxed):
1406         (WebCore::FrameLoader::addHTTPOriginIfNeeded):
1407         * loader/PolicyChecker.cpp:
1408         (WebCore::PolicyChecker::checkNewWindowPolicy):
1409         * loader/SubframeLoader.cpp:
1410         (WebCore::SubframeLoader::requestPlugin):
1411         * page/SecurityOrigin.cpp:
1412         (WebCore::SecurityOrigin::SecurityOrigin):
1413         (WebCore::SecurityOrigin::create):
1414         (WebCore::SecurityOrigin::createUnique):
1415         * page/SecurityOrigin.h:
1416
1417 2011-11-04  Joseph Pecoraro  <pecoraro@apple.com>
1418
1419         Potential Unused Param Build Issue
1420         https://bugs.webkit.org/show_bug.cgi?id=71598
1421
1422         Reviewed by Kent Tamura.
1423
1424         * html/HTMLSelectElement.cpp:
1425         (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
1426
1427 2011-11-04  Stephen Chenney  <schenney@chromium.org>
1428
1429         Crash in ScrollAnimator.cpp
1430         https://bugs.webkit.org/show_bug.cgi?id=69865
1431
1432         The code in ScrollAnimator assumes that horizontal per-page mouse
1433         wheel events cannot happen, which is not true. This patch adds layout
1434         tests for all paging wheel event situations and fixes the broken
1435         horizontal case.
1436
1437         Reviewed by Anders Carlsson
1438
1439         Tests: fast/events/platform-wheelevent-paging-x-in-non-scrolling-div.html
1440                fast/events/platform-wheelevent-paging-x-in-non-scrolling-page.html
1441                fast/events/platform-wheelevent-paging-x-in-scrolling-div.html
1442                fast/events/platform-wheelevent-paging-x-in-scrolling-page.html
1443                fast/events/platform-wheelevent-paging-xy-in-scrolling-div.html
1444                fast/events/platform-wheelevent-paging-xy-in-scrolling-page.html
1445                fast/events/platform-wheelevent-paging-y-in-non-scrolling-div.html
1446                fast/events/platform-wheelevent-paging-y-in-non-scrolling-page.html
1447                fast/events/platform-wheelevent-paging-y-in-scrolling-div.html
1448                fast/events/platform-wheelevent-paging-y-in-scrolling-page.html
1449
1450         * platform/PlatformWheelEvent.h: Modify the comment to reflect the new
1451         reality.
1452         * platform/ScrollAnimator.cpp:
1453         (WebCore::ScrollAnimator::handleWheelEvent): Modified the code to handle the
1454         horizontal per-page wheel event case.
1455
1456 2011-11-04  Rafael Weinstein  <rafaelw@chromium.org>
1457
1458         [MutationObservers] Refactor MutationObserverRegistration into its own class that is
1459         referenced by registration points
1460
1461         https://bugs.webkit.org/show_bug.cgi?id=71577
1462
1463         Reviewed by Ojan Vafai.
1464
1465         MutationObserverRegistration is now owned by the node which is observed. If transient
1466         registrations are created, they hold a reference to this object.
1467
1468         The ownership relationship between Node, MutationObserverRegistration &
1469         WebKitMutationObserver now goes like this: WebKitMutationObserver is RefCounted -
1470         and only script and MutationObserverRegistration take references to it. Exactly
1471         one MutationObserverRegistration can exist for any given tuple of
1472         <Node, WebKitMutationObserver>. This represents an observer observing at a given
1473         Node. Further observation by the same observer has the effect of *resetting*
1474         the existing observation. The Node owns the MutationObserverRegistration.
1475         Transient registrations are only pointers to the registration. The registration
1476         keeps a RefPtr to its registration node and all of its transient registration nodes
1477         as long as *any* transient registrations exist. This ensures the registration
1478         and all registration nodes stay alive at least until the end of the microtask.
1479
1480         No tests required - refactor only.
1481
1482         * GNUmakefile.list.am:
1483         * WebCore.gypi:
1484         * WebCore.pro:
1485         * WebCore.vcproj/WebCore.vcproj:
1486         * WebCore.xcodeproj/project.pbxproj:
1487         * dom/CharacterData.cpp:
1488         (WebCore::enqueueCharacterDataMutationRecord):
1489         * dom/ChildListMutationScope.cpp:
1490         (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
1491         * dom/Element.cpp:
1492         (WebCore::enqueueAttributesMutationRecord):
1493         * dom/MutationObserverRegistration.cpp: Added.
1494         (WebCore::MutationObserverRegistration::create):
1495         (WebCore::MutationObserverRegistration::MutationObserverRegistration):
1496         (WebCore::MutationObserverRegistration::~MutationObserverRegistration):
1497         (WebCore::MutationObserverRegistration::resetObservation):
1498         (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
1499         (WebCore::MutationObserverRegistration::clearTransientRegistrations):
1500         (WebCore::MutationObserverRegistration::unregister):
1501         (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
1502         * dom/MutationObserverRegistration.h: Copied from Source/WebCore/dom/WebKitMutationObserver.h.
1503         (WebCore::MutationObserverRegistration::observer):
1504         (WebCore::MutationObserverRegistration::deliveryOptions):
1505         * dom/Node.cpp:
1506         (WebCore::Node::clearRareData):
1507         (WebCore::Node::mutationObserverRegistry):
1508         (WebCore::Node::transientMutationObserverRegistry):
1509         (WebCore::addObserverToDeliverySet):
1510         (WebCore::Node::collectMatchingObserversForMutation):
1511         (WebCore::Node::getRegisteredMutationObserversOfType):
1512         (WebCore::Node::registerMutationObserver):
1513         (WebCore::Node::unregisterMutationObserver):
1514         (WebCore::Node::registerTransientMutationObserver):
1515         (WebCore::Node::unregisterTransientMutationObserver):
1516         (WebCore::Node::notifyMutationObserversNodeWillDetach):
1517         * dom/Node.h:
1518         * dom/NodeRareData.h:
1519         (WebCore::NodeRareData::mutationObserverRegistry):
1520         (WebCore::NodeRareData::ensureMutationObserverRegistry):
1521         (WebCore::NodeRareData::transientMutationObserverRegistry):
1522         (WebCore::NodeRareData::ensureTransientMutationObserverRegistry):
1523         * dom/WebKitMutationObserver.cpp:
1524         (WebCore::WebKitMutationObserver::~WebKitMutationObserver):
1525         (WebCore::WebKitMutationObserver::observe):
1526         (WebCore::WebKitMutationObserver::disconnect):
1527         (WebCore::WebKitMutationObserver::observationStarted):
1528         (WebCore::WebKitMutationObserver::observationEnded):
1529         (WebCore::WebKitMutationObserver::deliver):
1530         * dom/WebKitMutationObserver.h:
1531
1532 2011-11-04  Raymond Toy  <rtoy@google.com>
1533
1534        Add methods to compute magnitude and phase response for biquads
1535        https://bugs.webkit.org/show_bug.cgi?id=71055
1536
1537        Reviewed by Kenneth Russell.
1538
1539
1540         * platform/audio/Biquad.cpp:
1541         (WebCore::Biquad::getFrequencyResponse):
1542         Computes the magnitude and phase (radians) response for the given
1543         biquad at the specified set of (normalized) frequencies.
1544         * platform/audio/Biquad.h:
1545         Declare getFrequencyResponse.
1546         * webaudio/BiquadDSPKernel.cpp:
1547         (WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
1548         Factor out the code that updates filter coefficients.  Allow the
1549         caller to specify whether the smoothed values are used or not and
1550         whether we do the update even if the coefficients are not dirty.
1551         (WebCore::BiquadDSPKernel::process):
1552         Use updateCoefficientsIfNecessary to update.
1553         (WebCore::BiquadDSPKernel::getFrequencyResponse):
1554         Implmentation of getFrequencyResponse.
1555         * webaudio/BiquadDSPKernel.h:
1556         Declare getFrequencyResponse.
1557         * webaudio/BiquadFilterNode.cpp:
1558         (WebCore::BiquadFilterNode::getFrequencyResponse):
1559         Implementation of getFrequencyResponse
1560         * webaudio/BiquadFilterNode.h:
1561         Declare getFrequencyResponse.
1562         * webaudio/BiquadFilterNode.idl:
1563         Define interface to getFrequencyResponse.
1564         * webaudio/BiquadProcessor.cpp:
1565         (WebCore::BiquadProcessor::checkForDirtyCoefficients):
1566         Factor out code for checking for dirty coefficients.
1567         (WebCore::BiquadProcessor::process):
1568         Use checkForDirtyCoefficients.
1569         (WebCore::BiquadProcessor::getFrequencyResponse):
1570         Implementation of getFrequencyResponse
1571         * webaudio/BiquadProcessor.h:
1572         Declare getFrequencyResponse.
1573
1574 2011-11-04  Benjamin Poulain  <bpoulain@apple.com>
1575
1576         [Mac] ResourceRequest's nsURLRequest() does not differentiate null and empty URLs with CFNetwork
1577         https://bugs.webkit.org/show_bug.cgi?id=71539
1578
1579         Reviewed by David Kilzer.
1580
1581         In order to have CFURL and NSURL to be consistent when both are used on Mac,
1582         KURL::createCFURL() is changed to support empty URL values.
1583
1584         * platform/cf/KURLCFNet.cpp:
1585         (WebCore::createCFURLFromBuffer):
1586         (WebCore::KURL::createCFURL):
1587         * platform/mac/KURLMac.mm:
1588         (WebCore::KURL::operator NSURL *):
1589         (WebCore::KURL::createCFURL):
1590
1591 2011-11-04  Fady Samuel  <fsamuel@chromium.org>
1592
1593         CSS Aspect Ratio Property Parsing Stage
1594         https://bugs.webkit.org/show_bug.cgi?id=70707
1595
1596         Reviewed by Ojan Vafai.
1597
1598         Added parsing support for -webkit-aspect-ratio CSS property.
1599         The spec can be found here: http://www.xanthir.com/blog/b4810
1600
1601         Test: fast/css/aspect-ratio-parsing-tests.html
1602
1603         * CMakeLists.txt:
1604         * GNUmakefile.list.am:
1605         * Target.pri:
1606         * WebCore.gypi:
1607         * WebCore.vcproj/WebCore.vcproj:
1608         * WebCore.xcodeproj/project.pbxproj:
1609         * css/CSSAspectRatioValue.cpp: Added.
1610         (WebCore::CSSAspectRatioValue::~CSSAspectRatioValue):
1611         (WebCore::CSSAspectRatioValue::cssText):
1612         * css/CSSAspectRatioValue.h: Added.
1613         (WebCore::CSSAspectRatioValue::create):
1614         (WebCore::CSSAspectRatioValue::numeratorValue):
1615         (WebCore::CSSAspectRatioValue::denominatorValue):
1616         (WebCore::CSSAspectRatioValue::CSSAspectRatioValue):
1617         * css/CSSComputedStyleDeclaration.cpp:
1618         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1619         * css/CSSMutableStyleDeclaration.cpp:
1620         * css/CSSParser.cpp:
1621         (WebCore::CSSParser::parseValue):
1622         (WebCore::CSSParser::parseAspectRatio):
1623         * css/CSSParser.h:
1624         * css/CSSProperty.cpp:
1625         (WebCore::CSSProperty::isInheritedProperty):
1626         * css/CSSPropertyNames.in:
1627         * css/CSSStyleSelector.cpp:
1628         (WebCore::CSSStyleSelector::applyProperty):
1629
1630 2011-11-04  Adam Barth  <abarth@webkit.org>
1631
1632         Delete FrameLoader::isSandboxed
1633         https://bugs.webkit.org/show_bug.cgi?id=71591
1634
1635         Reviewed by Eric Seidel.
1636
1637         We should always use document->securityOrigin()->isSandboxed because
1638         that picks up the sandbox bits that are frozen on the document rather
1639         than the ones that could change on the Frame.
1640
1641         This patch starts preparing us to implement the CSP sandbox directive,
1642         which will cause use to have document sandbox bits without any attribute.
1643
1644         * bindings/ScriptControllerBase.cpp:
1645         (WebCore::ScriptController::canExecuteScripts):
1646             - This call site was the only functional site left where these two
1647               could be different. This patch causes one progression and one
1648               regression. The progression is that we now correctly freeze the
1649               allow-scripts bit when a document is created, but the regression
1650               is we now allow the execution of JavaScript URLs, as noted in 
1651               fast/frames/sandboxed-iframe-scripting.html. That's even more of
1652               an edge case, so I think it's a win overall.
1653         * loader/DocumentWriter.cpp:
1654         (WebCore::DocumentWriter::begin):
1655             - I don't think this part of the change is testable. There's no
1656               time to execute script between when the bits get copied off the
1657               Frame and when they're checked, so there's no time to change them.
1658         * loader/FrameLoader.cpp:
1659             - Update FIXME comment that is now fixed.
1660         * loader/FrameLoader.h:
1661             - Remove wrong API.
1662
1663 2011-11-04  Adam Barth  <abarth@webkit.org>
1664
1665         When CSP blocks mixed content, we shouldn't also warn about mixed content
1666         https://bugs.webkit.org/show_bug.cgi?id=71588
1667
1668         Reviewed by Eric Seidel.
1669
1670         Getting both warnings confused some early adopters.  They thought the
1671         insecure loads were happening even though they blocked them with CSP.
1672         This patch restricts the mixed content warnings to show only when the
1673         load isn't already blocked by CSP or by the embedder.
1674
1675         Test: http/tests/security/contentSecurityPolicy/block-mixed-content-hides-warning.html
1676
1677         * loader/cache/CachedResourceLoader.cpp:
1678         (WebCore::CachedResourceLoader::canRequest):
1679
1680 2011-11-04  Michael Nordman  <michaeln@google.coom>
1681
1682         Allow ScriptExecutionContext::addMessage to be called from background threads.
1683         https://bugs.webkit.org/show_bug.cgi?id=71575
1684
1685         Reviewed by Nate Chapin.
1686
1687         No new tests.
1688
1689         * dom/Document.cpp:
1690         (WebCore::Document::addMessage):
1691         * dom/ScriptExecutionContext.cpp:
1692         * dom/ScriptExecutionContext.h:
1693         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::create):
1694         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask):
1695         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
1696         * workers/WorkerContext.cpp:
1697         (WebCore::WorkerContext::addMessage):
1698
1699 2011-11-04  Shawn Singh  <shawnsingh@chromium.org>
1700
1701         [chromium] Re-named the original scissorRect to clipRect
1702         https://bugs.webkit.org/show_bug.cgi?id=71580
1703
1704         Reviewed by James Robinson.
1705
1706         Existing tests are updated appropriately; and no new behavior is
1707         introduced by this patch.
1708
1709         * platform/graphics/chromium/LayerChromium.cpp:
1710         (WebCore::LayerChromium::LayerChromium):
1711         * platform/graphics/chromium/LayerChromium.h:
1712         (WebCore::LayerChromium::setUsesLayerClipping):
1713         (WebCore::LayerChromium::usesLayerClipping):
1714         (WebCore::LayerChromium::clipRect):
1715         (WebCore::LayerChromium::setClipRect):
1716         * platform/graphics/chromium/LayerRendererChromium.cpp:
1717         (WebCore::LayerRendererChromium::drawLayersInternal):
1718         (WebCore::LayerRendererChromium::drawLayer):
1719         * platform/graphics/chromium/RenderSurfaceChromium.h:
1720         (WebCore::RenderSurfaceChromium::clipRect):
1721         (WebCore::RenderSurfaceChromium::setClipRect):
1722         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1723         (WebCore::CCLayerImpl::CCLayerImpl):
1724         * platform/graphics/chromium/cc/CCLayerImpl.h:
1725         (WebCore::CCLayerImpl::setUsesLayerClipping):
1726         (WebCore::CCLayerImpl::usesLayerClipping):
1727         (WebCore::CCLayerImpl::clipRect):
1728         (WebCore::CCLayerImpl::setClipRect):
1729         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1730         (WebCore::CCLayerTreeHost::updateLayers):
1731         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1732         (WebCore::layerShouldBeSkipped):
1733         (WebCore::calculateDrawTransformsAndVisibilityInternal):
1734         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
1735         (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
1736         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1737         (WebCore::CCRenderSurface::draw):
1738         * platform/graphics/chromium/cc/CCRenderSurface.h:
1739         (WebCore::CCRenderSurface::setClipRect):
1740         (WebCore::CCRenderSurface::clipRect):
1741
1742 2011-11-04  Dmitry Lomov  <dslomov@google.com>
1743
1744         Add the ability to transfer ArrayBuffer and "neuter" it.
1745         https://bugs.webkit.org/show_bug.cgi?id=71535
1746
1747         Reviewed by David Levin.
1748
1749         * html/canvas/ArrayBuffer.cpp:
1750         (WebCore::ArrayBuffer::create):
1751         (WebCore::ArrayBuffer::ArrayBuffer):
1752         (WebCore::ArrayBuffer::data):
1753         (WebCore::ArrayBuffer::byteLength):
1754         (WebCore::ArrayBuffer::transfer):
1755         (WebCore::ArrayBufferContents::~ArrayBufferContents):
1756         (WebCore::ArrayBufferContents::tryAllocate):
1757         (WebCore::ArrayBuffer::addView):
1758         (WebCore::ArrayBuffer::removeView):
1759         * html/canvas/ArrayBuffer.h:
1760         (WebCore::ArrayBufferContents::ArrayBufferContents):
1761         (WebCore::ArrayBufferContents::data):
1762         (WebCore::ArrayBufferContents::sizeInBytes):
1763         (WebCore::ArrayBufferContents::release):
1764         (WebCore::ArrayBuffer::~ArrayBuffer):
1765         * html/canvas/ArrayBufferView.cpp:
1766         (WebCore::ArrayBufferView::ArrayBufferView):
1767         (WebCore::ArrayBufferView::~ArrayBufferView):
1768         (WebCore::ArrayBufferView::neuter):
1769         * html/canvas/ArrayBufferView.h:
1770         * html/canvas/DataView.cpp:
1771         (WebCore::DataView::neuter):
1772         (WebCore::DataView::neuterBinding):
1773         * html/canvas/DataView.h:
1774         * html/canvas/TypedArrayBase.h:
1775         (WebCore::TypedArrayBase::neuter):
1776         (WebCore::TypedArrayBase::neuterBinding):
1777
1778 2011-11-04  Noel Gordon  <noel.gordon@gmail.com>
1779
1780         [Chromium] Implement canvas.toDataURL("image/webp")
1781         https://bugs.webkit.org/show_bug.cgi?id=70172
1782
1783         Reviewed by Adam Barth.
1784
1785         Add a webp image encoder for the chromium skia ports, add it to the canvas
1786         element toDataURL() flow with support for an optional quality [0.0-1.0].
1787         Use a webp compression method (3) that provides good speed and compression
1788         performance for this image format, and works well for various input image
1789         types: line-art, screen-shots, and photographic images.
1790
1791         Test: fast/canvas/canvas-toDataURL-webp.html
1792
1793         * WebCore.gypi:
1794         * platform/chromium/MIMETypeRegistryChromium.cpp:
1795         (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
1796         * platform/graphics/skia/ImageBufferSkia.cpp:
1797         (WebCore::ImageToDataURL):
1798         * platform/image-encoders/skia/WEBPImageEncoder.cpp: Added.
1799         (WebCore::writeOutput):
1800         (WebCore::importPicture):
1801         (WebCore::importPictureBGRA):
1802         (WebCore::importPictureRGBA):
1803         (WebCore::encodePixels):
1804         (WebCore::WEBPImageEncoder::encode):
1805         * platform/image-encoders/skia/WEBPImageEncoder.h: Added.
1806
1807 2011-11-04  Patrick Gansterer  <paroga@webkit.org>
1808
1809         [Qt] Remove ENABLE_SQLITE from qmake files
1810         https://bugs.webkit.org/show_bug.cgi?id=71546
1811
1812         Reviewed by Simon Hausmann.
1813
1814         ENABLE_SQLITE is required to build WebCore, so remove conditions.
1815
1816         * Target.pri:
1817
1818 2011-11-04  Nate Chapin  <japhet@chromium.org>
1819
1820         [V8] Null out V8NPObject::rootObject when the owning
1821         Frame goes away.
1822         https://bugs.webkit.org/show_bug.cgi?id=71569
1823
1824         Reviewed by Adam Barth.
1825
1826         No new tests, this has only been successfully triggered
1827         using ppapi flash.
1828
1829         * bindings/v8/V8Helpers.cpp:
1830         (WebCore::toV8Context):
1831         * bindings/v8/npruntime.cpp:
1832
1833 2011-11-04  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
1834
1835         Send the submissions character encoding in hidden _charset_ field.
1836         https://bugs.webkit.org/show_bug.cgi?id=19079
1837
1838         Reviewed by Darin Adler.
1839
1840         Spec reference http://dev.w3.org/html5/spec/Overview.html#attr-fe-name-charset
1841         If _charset_ used as the name of a hidden control it should send character encoding
1842         as value while submissions.
1843
1844         Tests: http/tests/misc/char-encoding-in-hidden-charset-field-default.html
1845                http/tests/misc/char-encoding-in-hidden-charset-field-with-Big5.html
1846                http/tests/misc/char-encoding-in-hidden-charset-field-with-EUC-JP.html
1847                http/tests/misc/char-encoding-in-hidden-charset-field-with-ISO-2022-JP.html
1848                http/tests/misc/char-encoding-in-hidden-charset-field-with-Shift_JIS.html
1849                http/tests/misc/char-encoding-in-hidden-charset-field-with-accept-charset.html
1850                http/tests/misc/char-encoding-in-hidden-charset-field-with-get-method.html
1851                http/tests/misc/char-encoding-in-hidden-charset-field-with-one-field.html
1852                http/tests/misc/char-encoding-in-text-charset-field-with-value.html
1853                http/tests/misc/char-encoding-without-charset-field.html
1854
1855         * html/HiddenInputType.cpp:
1856         (WebCore::HiddenInputType::isHiddenType):
1857         (WebCore::HiddenInputType::appendFormData): For _charset_ send value as respective encodingType.
1858         * html/HiddenInputType.h: Override appendFormData for hidden control types.
1859
1860 2011-11-04  Robert Sesek  <rsesek@chromium.org>
1861
1862         [chromium] Use Chromium's copy of libWebKitSystemInterfaceLeopard.a
1863         https://bugs.webkit.org/show_bug.cgi?id=71563
1864
1865         Reviewed by Adam Barth.
1866
1867         Use libWebKitSystemInterfaceLeopard.a that's in the Chromium port,
1868         rather in WebKitLibraries/.
1869
1870         * WebCore.gyp/WebCore.gyp:
1871
1872 2011-11-04  Julien Chaffraix  <jchaffraix@webkit.org>
1873
1874         RenderLayer::styleChanged invalidates the GraphicsLayer needlessly
1875         https://bugs.webkit.org/show_bug.cgi?id=71517
1876
1877         Reviewed by Simon Fraser.
1878
1879         Unused code removal covered by existing tests.
1880
1881         The current code is invalidating the whole RenderLayerBacking as part of
1882         a style change. However this is redundant with the repainting logic which
1883         would invalidate only the necessary bits.
1884
1885         * rendering/RenderLayer.cpp:
1886         (WebCore::RenderLayer::styleChanged):
1887         Remove the invalidation code as it duplicates and defeats the repaint logic.
1888
1889 2011-11-04  Mihnea Ovidenie  <mihnea@adobe.com>
1890
1891         Correct parsing of incomplete @-webkit-region rules.
1892         https://bugs.webkit.org/show_bug.cgi?id=71514
1893
1894         Reviewed by Adam Barth.
1895
1896         Test: fast/regions/parse-incomplete-region-rule.html
1897
1898         Make sure to set the region rule to 0 on the fail branch.
1899         * css/CSSGrammar.y:
1900
1901 2011-11-04  Adam Klein  <adamk@chromium.org>
1902
1903         Reduce refcount churn in ChildListMutationScope
1904         https://bugs.webkit.org/show_bug.cgi?id=71527
1905
1906         Reviewed by Ryosuke Niwa.
1907
1908         Only the ChildListMutationAccumulator needs to hold a reference to the
1909         target node, and the added/removed children only need be ref'd if a
1910         ChildListMutationAccumulator exists (i.e., if there are interested
1911         observers).
1912
1913         * dom/ChildListMutationScope.cpp:
1914         (WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::enqueueMutationRecord):
1915         (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::childAdded):
1916         (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::willRemoveChild):
1917         (WebCore::ChildListMutationScope::ChildListMutationScope):
1918         (WebCore::ChildListMutationScope::~ChildListMutationScope):
1919         (WebCore::ChildListMutationScope::childAdded):
1920         (WebCore::ChildListMutationScope::willRemoveChild):
1921         * dom/ChildListMutationScope.h:
1922         * dom/ContainerNode.cpp:
1923         (WebCore::dispatchChildInsertionEvents):
1924         (WebCore::dispatchChildRemovalEvents):
1925
1926 2011-11-04  Levi Weintraub  <leviw@chromium.org>
1927
1928         Correct usage of LayoutUnits in RenderImage and SVGImage
1929         https://bugs.webkit.org/show_bug.cgi?id=71525
1930
1931         Reviewed by Darin Adler.
1932
1933         Correcting incorrect usage of LayoutUnits for image sizes that should be integers and fixing overloaded functions that
1934         should be using LayoutUnits.
1935
1936         No new tests -- no change in behavior.
1937
1938         * rendering/RenderImage.cpp:
1939         (WebCore::RenderImage::imageDimensionsChanged):
1940         (WebCore::RenderImage::paintIntoRect):
1941         (WebCore::RenderImage::nodeAtPoint):
1942         (WebCore::RenderImage::computeReplacedLogicalWidth):
1943         * rendering/RenderImage.h:
1944         * svg/graphics/SVGImage.cpp:
1945         (WebCore::SVGImageChromeClient::invalidateContentsAndWindow):
1946
1947 2011-11-04  Adam Barth  <abarth@webkit.org>
1948
1949         Implement allow-popups for iframe@sandbox
1950         https://bugs.webkit.org/show_bug.cgi?id=66505
1951
1952         Reviewed by Darin Adler.
1953
1954         Enable allow-popups sandbox bit.  My previous patch attempted to
1955         forward the sandbox bits during setOpener, but that interacted poorly
1956         with out (internal) sandboxing of the initial document.  This patch
1957         forwards the bits during createWindow, which is more targeted to the
1958         case when a sandbox frame actually creates a new window.
1959
1960         * loader/FrameLoader.cpp:
1961         (WebCore::createWindow):
1962         * loader/PolicyChecker.cpp:
1963         (WebCore::PolicyChecker::checkNewWindowPolicy):
1964
1965 2011-11-04  Kaustubh Atrawalkar  <kaustubh@motorola.com>
1966
1967         Remove initMediaStreamEvent method
1968         https://bugs.webkit.org/show_bug.cgi?id=71344
1969
1970         This method has been removed from the spec draft.
1971         http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#mediastreamevent
1972
1973         Reviewed by Adam Barth.
1974
1975         No new tests. Removed method.
1976
1977         * mediastream/MediaStreamEvent.cpp:
1978         * mediastream/MediaStreamEvent.h:
1979         * mediastream/MediaStreamEvent.idl:
1980
1981 2011-11-04  Adam Barth  <abarth@webkit.org>
1982
1983         Anonymous CORS fetch for WebGL texture fails when there is no appropriate server response even for the same origin requests
1984         https://bugs.webkit.org/show_bug.cgi?id=71053
1985
1986         Reviewed by Darin Adler.
1987
1988         The crossorigin attribute should behave like XMLHttpRequest:
1989         same-origin images pass without and CORS headers, but CORS checks are
1990         performed for cross-origin loads.  This patch better aligns our
1991         behavior with Firefox, as discussed in the bug.
1992
1993         Test: http/tests/security/img-crossorigin-loads-same-origin.html
1994
1995         * loader/ImageLoader.cpp:
1996         (WebCore::ImageLoader::notifyFinished):
1997
1998 2011-11-04  Gaurav Shah  <gauravsh@chromium.org>
1999
2000         HTMLKeygenElement: Fix "keytype" handling in appendFormData.
2001         https://bugs.webkit.org/show_bug.cgi?id=70617
2002
2003         This fixes a bug introduced by http://trac.webkit.org/changeset/97658
2004         which causes all HTML Keygen elements with a keytype optional attribute
2005         to be considered as unsupported.
2006
2007         A regression test is included.
2008
2009         Reviewed by Darin Adler.
2010
2011         Test: http/tests/misc/submit-post-keygen.html
2012
2013         * html/HTMLKeygenElement.cpp:
2014
2015 2011-11-03  Adrienne Walker  <enne@google.com>
2016
2017         [chromium] Implement checkerboarding for missing layer tiles
2018         https://bugs.webkit.org/show_bug.cgi?id=69585
2019
2020         Reviewed by James Robinson.
2021
2022         For tiles that have no texture or haven't even been created yet,
2023         draw using the background color of the layer.
2024
2025         The only background color set is currently the non-composited content,
2026         and all other layers use transparent black by default.
2027
2028         * platform/graphics/chromium/LayerChromium.cpp:
2029         (WebCore::LayerChromium::pushPropertiesTo):
2030         * platform/graphics/chromium/NonCompositedContentHost.cpp:
2031         (WebCore::NonCompositedContentHost::setBackgroundColor):
2032         * platform/graphics/chromium/NonCompositedContentHost.h:
2033         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2034         (WebCore::CCLayerImpl::setBackgroundColor):
2035         * platform/graphics/chromium/cc/CCLayerImpl.h:
2036         (WebCore::CCLayerImpl::backgroundColor):
2037         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2038         (WebCore::CCTiledLayerImpl::drawTiles):
2039
2040 2011-11-04  Nico Weber  <thakis@chromium.org>
2041
2042         [chromium] Remove most exit time destructors
2043         https://bugs.webkit.org/show_bug.cgi?id=71524
2044
2045         Do this by using the DEFINE_STATIC_LOCAL macro, which allocates things on the heaps and then leaks them.
2046
2047         Reviewed by Dimitri Glazkov.
2048
2049         No behavior change, so no new tests.
2050
2051         * platform/chromium/CursorChromium.cpp:
2052         (WebCore::pointerCursor):
2053         (WebCore::crossCursor):
2054         (WebCore::handCursor):
2055         (WebCore::iBeamCursor):
2056         (WebCore::waitCursor):
2057         (WebCore::helpCursor):
2058         (WebCore::eastResizeCursor):
2059         (WebCore::northResizeCursor):
2060         (WebCore::northEastResizeCursor):
2061         (WebCore::northWestResizeCursor):
2062         (WebCore::southResizeCursor):
2063         (WebCore::southEastResizeCursor):
2064         (WebCore::southWestResizeCursor):
2065         (WebCore::westResizeCursor):
2066         (WebCore::northSouthResizeCursor):
2067         (WebCore::eastWestResizeCursor):
2068         (WebCore::northEastSouthWestResizeCursor):
2069         (WebCore::northWestSouthEastResizeCursor):
2070         (WebCore::columnResizeCursor):
2071         (WebCore::rowResizeCursor):
2072         (WebCore::middlePanningCursor):
2073         (WebCore::eastPanningCursor):
2074         (WebCore::northPanningCursor):
2075         (WebCore::northEastPanningCursor):
2076         (WebCore::northWestPanningCursor):
2077         (WebCore::southPanningCursor):
2078         (WebCore::southEastPanningCursor):
2079         (WebCore::southWestPanningCursor):
2080         (WebCore::westPanningCursor):
2081         (WebCore::moveCursor):
2082         (WebCore::verticalTextCursor):
2083         (WebCore::cellCursor):
2084         (WebCore::contextMenuCursor):
2085         (WebCore::aliasCursor):
2086         (WebCore::progressCursor):
2087         (WebCore::noDropCursor):
2088         (WebCore::copyCursor):
2089         (WebCore::noneCursor):
2090         (WebCore::notAllowedCursor):
2091         (WebCore::zoomInCursor):
2092         (WebCore::zoomOutCursor):
2093         (WebCore::grabCursor):
2094         (WebCore::grabbingCursor):
2095         * platform/chromium/LanguageChromium.cpp:
2096         (WebCore::platformDefaultLanguage):
2097         * platform/chromium/MIMETypeRegistryChromium.cpp:
2098         (WebCore::dummyHashSet):
2099
2100 2011-11-03  Anders Carlsson  <andersca@apple.com>
2101
2102         Add NetscapePlugin::convertFromRootView
2103         https://bugs.webkit.org/show_bug.cgi?id=71526
2104
2105         Reviewed by Sam Weinig.
2106
2107         Export some symbols that WebKit2 needs.
2108
2109         * WebCore.exp.in:
2110
2111 2011-11-03  Adrienne Walker  <enne@google.com>
2112
2113         [chromium] Fix incorrect visibility/scissor rect for threaded compositing
2114         https://bugs.webkit.org/show_bug.cgi?id=70962
2115
2116         Reviewed by James Robinson.
2117
2118         In order to properly scroll independent of layout on the compositor
2119         thread, we have to apply the scroll to the right layer. Previously,
2120         the NonCompositedContentHost was the root of the graphics layer tree
2121         with all other layers underneath it. However, applying a scroll to
2122         that layer would also scroll the clip layer for the main frame
2123         underneath it, causing visibility issues.
2124
2125         This patch moves the NonCompositedHost to be a child of the
2126         RenderLayerCompositor's scroll layer. This was exposed on
2127         RenderLayerCompositor, because there's no other way to get to this
2128         layer in a way that doesn't make assumptions about the structure of
2129         the layers on a frame.
2130
2131         This also removes the hacks in calculateVisibleLayerRect and
2132         tilingTransform for scroll position.
2133
2134         Partially tested by existing compositor tests. Manually tested
2135         threaded compositing scrolling.
2136
2137         * platform/graphics/chromium/NonCompositedContentHost.cpp:
2138         (WebCore::NonCompositedContentHost::setScrollLayer):
2139         (WebCore::NonCompositedContentHost::setViewport):
2140         (WebCore::NonCompositedContentHost::scrollLayer):
2141         * platform/graphics/chromium/NonCompositedContentHost.h:
2142         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2143         (WebCore::CCLayerTreeHost::create):
2144         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2145         (WebCore::CCLayerTreeHost::applyScrollDeltas):
2146         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2147         (WebCore::CCLayerTreeHost::setRootLayer):
2148         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
2149         (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
2150         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2151         (WebCore::findScrollLayer):
2152         (WebCore::CCLayerTreeHostImpl::setRootLayer):
2153         (WebCore::CCLayerTreeHostImpl::scrollRootLayer):
2154         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
2155         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2156         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2157         (WebCore::CCTiledLayerImpl::tilingTransform):
2158         * rendering/RenderLayerCompositor.cpp:
2159         (WebCore::RenderLayerCompositor::scrollLayer):
2160         * rendering/RenderLayerCompositor.h:
2161
2162 2011-11-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2163
2164         [Qt] Refactor and clean up the qmake build system
2165
2166         The qmake build system has accumulated a bit of cruft and redundancy
2167         over time. There's also a fairly tight coupling between how to build
2168         the various targets, and _what_ to build, making it harder to add new
2169         rules or sources. This patch aims to elevate these issues somewhat.
2170
2171         This is a short-list of the changes:
2172
2173           * The rules for how to build targets are now mostly contained as
2174             prf-files in Tools/qmake/mkspecs/features. Using mkspecs also
2175             allows us to do pre- and post-processing of each project file,
2176             which helps to clean up the actual project files.
2177
2178           * Derived sources are no longer generated as a separate make-step
2179             but is part of each target's project file as a subdir. Makefile
2180             rules are used to ensure that we run make on the derived sources
2181             before running qmake on the actual target makefile. This makes
2182             it easier to keep a proper dependency between derived sources
2183             and the target.
2184
2185           * We use GNU make and the compiler to generate dependencies on
2186             UNIX-based systems running Qt 5. This allows us to lessen the
2187             need to run qmake, which should reduce compile time.
2188
2189           * WebKit2 is now build by default if building with Qt 5. It can
2190             be disabled by passing --no-webkit2 to build-webkit.
2191
2192         The result of these changes are hopefully a cleaner and easier
2193         build system to modify, and faster build times due to no longer
2194         running qmake on every single build. It's also a first step
2195         towards possibly generating the list of sources using another
2196         build system.
2197
2198         https://bugs.webkit.org/show_bug.cgi?id=71222
2199
2200         Reviewed by Simon Hausmann.
2201
2202         * DerivedSources.pri: Renamed from Source/WebCore/CodeGenerators.pri.
2203         * DerivedSources.pro: Removed.
2204         * Target.pri: Copied from Source/WebCore/WebCore.pro.
2205         * WebCore.pro:
2206
2207 2011-11-04  Tommy Widenflycht  <tommyw@google.com>
2208
2209         [chromium] MediaStream API: Fixing wrong path for PeerConnectionHandler.h in WebCore.gyp
2210         https://bugs.webkit.org/show_bug.cgi?id=71548
2211
2212         Reviewed by Tony Gentilcore.
2213
2214         * WebCore.gypi:
2215
2216 2011-11-04  Patrick Gansterer  <paroga@webkit.org>
2217
2218         Unreviewed CMake build fix for !ENABLE(SQL_DATABASE).
2219
2220         * CMakeLists.txt: Always compile the SQLite source files, since they are required for build.
2221
2222 2011-11-03  Ryosuke Niwa  <rniwa@webkit.org>
2223
2224         REGRESSION (r99076): Pasting into password fields is broken
2225         https://bugs.webkit.org/show_bug.cgi?id=71483
2226
2227         Reviewed by Darin Adler.
2228
2229         The bug was caused by plainText serializing secured (instead of original) text.
2230         Fixed the bug by adding new TextIterator behavior that serializes the original text
2231         and using it in ReplacementFragment::ReplacementFragment.
2232
2233         * editing/ReplaceSelectionCommand.cpp:
2234         (WebCore::ReplacementFragment::ReplacementFragment):
2235         * editing/TextIterator.cpp:
2236         (WebCore::TextIterator::TextIterator):
2237         (WebCore::TextIterator::emitText):
2238         * editing/TextIterator.h:
2239
2240 2011-11-03  Eric Carlson  <eric.carlson@apple.com>
2241
2242         Add TrackEvent
2243         https://bugs.webkit.org/show_bug.cgi?id=71178
2244
2245         Reviewed by Sam Weinig.
2246
2247         Test: fast/events/constructors/track-event-constructor.html
2248
2249         * CMakeLists.txt: Add new files for TrackEvent.
2250         * CodeGenerators.pri: Ditto.
2251         * DerivedSources.cpp: Ditto.
2252         * DerivedSources.make: Ditto.
2253         * GNUmakefile.am: Ditto.
2254         * GNUmakefile.list.am: Ditto.
2255         * WebCore.gypi: Ditto.
2256         * WebCore.pro: Ditto.
2257         * WebCore.xcodeproj/project.pbxproj: Ditto.
2258         * bindings/generic/EventConstructors.h: Ditto.
2259         * bindings/gobject/GNUmakefile.am: Ditto.
2260         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Ditto.
2261         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
2262
2263         * bindings/js/JSDictionary.cpp:
2264         (WebCore::JSDictionary::convertValue): Add method to convert to a Track.
2265         * bindings/js/JSDictionary.h:
2266
2267         * bindings/js/JSEventConstructors.cpp:  Add new files for TrackEvent.
2268
2269         * bindings/js/JSTrackCustom.cpp: Added. 
2270         (WebCore::toTrack): New, convert from a JSValue to a Track.
2271         (WebCore::toJS): New, return a JS wrapper for a Track.
2272         * bindings/js/JSTrackCustom.h: Added.
2273
2274         * bindings/js/JSTrackEventCustom.cpp: Added.
2275         (WebCore::JSTrackEvent::track): New, returns a TextEvent's 'track' attribute.
2276
2277         * bindings/v8/OptionsObject.cpp:
2278         (WebCore::OptionsObject::get): Returns RefPtr<TrackBase>.
2279
2280         * bindings/v8/custom/V8EventConstructors.cpp: Add Track initializing constructor.
2281
2282         * bindings/v8/custom/V8TrackEventCustom.cpp: Added.
2283         (WebCore::V8TrackEvent::trackAccessorGetter): New, returns a TextEvent's 'track' attribute.
2284
2285         * dom/EventFactory.in: Add TrackEvent.
2286
2287         * dom/EventNames.h: Add 'addtrack' event.
2288
2289         * html/TextTrack.cpp:
2290         (WebCore::TextTrack::TextTrack): Call new base class constructor.
2291         * html/TextTrack.h: Now derive from BaseTrack for the day we implement VideoTrack and AudioTrack.
2292
2293         * html/track/TrackBase.cpp: Added.
2294         (WebCore::TrackBase::TrackBase):
2295         (WebCore::TrackBase::~TrackBase):
2296         * html/track/TrackBase.h: Added.
2297         (WebCore::TrackBase::type): Return the track type.
2298
2299         * html/track/TrackEvent.cpp: Added.
2300         (WebCore::TrackEventInit::TrackEventInit):
2301         (WebCore::TrackEvent::TrackEvent):
2302         (WebCore::TrackEvent::~TrackEvent):
2303         (WebCore::TrackEvent::interfaceName):
2304         * html/track/TrackEvent.h: Added.
2305         (WebCore::TrackEvent::create):
2306         (WebCore::TrackEvent::isTrackEvent):
2307         (WebCore::TrackEvent::track):
2308         * html/track/TrackEvent.idl: Added.
2309
2310         * page/DOMWindow.idl: Add TrackEvent.
2311
2312 2011-11-03  Ben Wells  <benwells@chromium.org>
2313
2314         Optimize canvas fills / drawImage when covering entire canvas
2315         https://bugs.webkit.org/show_bug.cgi?id=70789
2316
2317         Reviewed by Stephen White.
2318
2319         If we're filling a rect or drawing an image, and it covers the entire canvas, we don't
2320         need to worry about clearing outside the area updated by the operation if we're in
2321         a composite mode that requires this (such as source-in, copy, etc.). In this case we
2322         can take the simple path through the code and save a clear (for copy) or a temporary
2323         image buffer (for the other modes).
2324
2325         No new tests - optimization, behaviour is unchanged and covered by existing tests.
2326
2327         * html/canvas/CanvasRenderingContext2D.cpp:
2328         (WebCore::CanvasRenderingContext2D::fillRect):
2329         (WebCore::CanvasRenderingContext2D::drawImage):
2330         (WebCore::CanvasRenderingContext2D::rectContainsCanvas):
2331         * html/canvas/CanvasRenderingContext2D.h:
2332
2333 2011-11-03  Mark Hahnenberg  <mhahnenberg@apple.com>
2334
2335         De-virtualize JSObject::getPropertyNames
2336         https://bugs.webkit.org/show_bug.cgi?id=71306
2337
2338         Reviewed by Darin Adler.
2339
2340         No new tests.
2341
2342         Added getPropertyNames to the MethodTable, changed all the virtual 
2343         implementations of getPropertyNames to static ones, and replaced 
2344         all call sites with corresponding lookups in the MethodTable.
2345
2346         * bindings/js/JSDOMWindowCustom.cpp:
2347         (WebCore::JSDOMWindow::getPropertyNames):
2348         * bindings/js/JSDOMWindowShell.cpp:
2349         (WebCore::JSDOMWindowShell::getPropertyNames):
2350         * bindings/js/JSDOMWindowShell.h:
2351         * bindings/scripts/CodeGeneratorJS.pm:
2352         (GenerateHeader):
2353         * bridge/NP_jsobject.cpp:
2354         (_NPN_Enumerate):
2355         * bridge/qt/qt_runtime.cpp:
2356         (JSC::Bindings::convertValueToQVariantMap):
2357
2358 2011-11-02  Xiaomei Ji  <xji@chromium.org>
2359
2360         Enable ctrl-arrow move cursor by word in visual order in cr-win by command line flag.
2361         https://bugs.webkit.org/show_bug.cgi?id=71163
2362
2363         Reviewed by Ryosuke Niwa.
2364
2365         Add m_visualWordMovementEnabled page setting, trigger visual word movement
2366         function (instead of logical one) when it is set as true.
2367
2368         right|leftWordPosition() are tested in editing/selection/move-by-word-visually*
2369         by using --webkit-visual-word flag.
2370
2371         * editing/FrameSelection.cpp:
2372         (WebCore::FrameSelection::modifyMovingRight):
2373         (WebCore::FrameSelection::modifyMovingLeft):
2374         (WebCore::FrameSelection::visualWordMovementEnabled):
2375         * editing/FrameSelection.h:
2376         * page/Settings.cpp:
2377         (WebCore::Settings::Settings):
2378         * page/Settings.h:
2379         (WebCore::Settings::setVisualWordMovementEnabled):
2380         (WebCore::Settings::visualWordMovementEnabled):
2381
2382 2011-11-03  Levi Weintraub  <leviw@chromium.org>
2383
2384         Correct usage of LayoutUnits and integers in Table rendering classes
2385         https://bugs.webkit.org/show_bug.cgi?id=71500
2386
2387         Reviewed by Darin Adler.
2388
2389         Fixing the Table layout classes to operate on integers -- sub-pixel table layout breaks
2390         the spec. Meanwhile correcting the Table rendering classes themselves to still use
2391         LayoutUnits.
2392
2393         No new tests -- no change in behavior.
2394
2395         * rendering/AutoTableLayout.cpp: Reverting to operating on integers.
2396         (WebCore::AutoTableLayout::recalcColumn):
2397         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
2398         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
2399         (WebCore::AutoTableLayout::layout):
2400         * rendering/AutoTableLayout.h: Reverting to operating on integers.
2401         * rendering/FixedTableLayout.cpp: Ditto.
2402         (WebCore::FixedTableLayout::computePreferredLogicalWidths):
2403         (WebCore::FixedTableLayout::layout):
2404         * rendering/RenderTable.h: Switching to LayoutUnits.
2405         (WebCore::RenderTable::getColumnPos):
2406         (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
2407         * rendering/RenderTableCell.cpp: Switching to LayoutUnits.
2408         (WebCore::RenderTableCell::updateLogicalWidth):
2409         (WebCore::RenderTableCell::setOverrideHeightFromRowHeight):
2410         (WebCore::RenderTableCell::computeRectForRepaint):
2411         (WebCore::RenderTableCell::cellBaselinePosition):
2412         (WebCore::RenderTableCell::scrollbarsChanged):
2413         * rendering/RenderTableCell.h: Switching to LayoutUnits
2414         * rendering/RenderTableSection.cpp: Ditto.
2415         (WebCore::RenderTableSection::setCellLogicalWidths):
2416         (WebCore::RenderTableSection::layoutRows):
2417
2418 2011-11-03  James Robinson  <jamesr@chromium.org>
2419
2420         [chromium] Notify scheduler on SwapBuffers in threaded compositor mode
2421         https://bugs.webkit.org/show_bug.cgi?id=71381
2422
2423         Reviewed by Kenneth Russell.
2424
2425         * platform/graphics/chromium/cc/CCScheduler.cpp:
2426         (WebCore::CCScheduler::didSwapBuffers):
2427         * platform/graphics/chromium/cc/CCScheduler.h:
2428         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2429         (WebCore::CCThreadProxy::drawLayersAndSwapOnImplThread):
2430
2431 2011-11-03  Daniel Bates  <dbates@rim.com>
2432
2433         CMake: Add missing WebGL IDL file html/canvas/WebGLContextEvent.idl
2434
2435         Rubber-stamped by Martin Robinson
2436
2437         * CMakeLists.txt:
2438
2439 2011-11-03  Daniel Bates  <dbates@rim.com>
2440
2441         CMake: Only generate from WebGL IDLs when building with WebGL
2442         https://bugs.webkit.org/show_bug.cgi?id=71516
2443
2444         Reviewed by Martin Robinson.
2445
2446         * CMakeLists.txt:
2447
2448 2011-11-03  Erik Arvidsson  <arv@chromium.org>
2449
2450         Remove support for LegacyDefaultOptionalArguments
2451         https://bugs.webkit.org/show_bug.cgi?id=71489
2452
2453         Reviewed by Darin Adler.
2454
2455         This removes support for LegacyDefaultOptionalArguments and [RequiresAllArguments=Raise].
2456         [RequiresAllArguments=Raise] is now the standard behavior so it would be a no op.
2457
2458         No new tests. Covered by existing tests.
2459
2460         * bindings/scripts/CodeGeneratorJS.pm:
2461         (GenerateArgumentsCountCheck): Check the "RequiresAllArguments" extended attribute and generate code
2462                                        that returns undefined if there are missing arguments.
2463         * bindings/scripts/CodeGeneratorV8.pm:
2464         (GenerateArgumentsCountCheck): Ditto.
2465         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2466         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): Add generated argument count checks.
2467         * bindings/scripts/test/JS/JSTestObj.cpp:
2468         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): Ditto.
2469         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs): Ditto.
2470         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): Ditto.
2471         (WebCore::jsTestObjPrototypeFunctionSerializedValue): Ditto.
2472         (WebCore::jsTestObjPrototypeFunctionIdbKey): Ditto.
2473         (WebCore::jsTestObjPrototypeFunctionOptionsObject): Ditto.
2474         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException): Ditto.
2475         (WebCore::jsTestObjPrototypeFunctionAddEventListener): Ditto.
2476         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): Ditto.
2477         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg): Ditto.
2478         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg): Ditto.
2479         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture): Ditto.
2480         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD): Ditto.
2481         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): Ditto.
2482         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): Ditto.
2483         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): Ditto.
2484         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): Ditto.
2485         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1): Ditto.
2486         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2): Ditto.
2487         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3): Ditto.
2488         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4): Ditto.
2489         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5): Ditto.
2490         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6): Ditto.
2491         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7): Ditto.
2492         * bindings/scripts/test/TestCallback.idl: Remove LegacyDefaultOptionalArguments.
2493         * bindings/scripts/test/TestMediaQueryListListener.idl: Ditto.
2494         * bindings/scripts/test/TestObj.idl: Remove LegacyDefaultOptionalArguments and [RequiresAllArguments=Raise]
2495         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Remove LegacyDefaultOptionalArguments.
2496         (WebCore::TestMediaQueryListListenerInternal::methodCallback): Add generated argument count checks.
2497         * bindings/scripts/test/V8/V8TestObj.cpp:
2498         (WebCore::TestObjInternal::voidMethodWithArgsCallback): Ditto.
2499         (WebCore::TestObjInternal::intMethodWithArgsCallback): Ditto.
2500         (WebCore::TestObjInternal::objMethodWithArgsCallback): Ditto.
2501         (WebCore::TestObjInternal::serializedValueCallback): Ditto.
2502         (WebCore::TestObjInternal::idbKeyCallback): Ditto.
2503         (WebCore::TestObjInternal::optionsObjectCallback): Ditto.
2504         (WebCore::TestObjInternal::customArgsAndExceptionCallback): Ditto.
2505         (WebCore::TestObjInternal::withDynamicFrameAndArgCallback): Ditto.
2506         (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback): Ditto.
2507         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback): Ditto.
2508         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback): Ditto.
2509         (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback): Ditto.
2510         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback): Ditto.
2511         (WebCore::TestObjInternal::methodWithCallbackArgCallback): Ditto.
2512         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback): Ditto.
2513         (WebCore::TestObjInternal::overloadedMethod1Callback): Ditto.
2514         (WebCore::TestObjInternal::overloadedMethod2Callback): Ditto.
2515         (WebCore::TestObjInternal::overloadedMethod3Callback): Ditto.
2516         (WebCore::TestObjInternal::overloadedMethod4Callback): Ditto.
2517         (WebCore::TestObjInternal::overloadedMethod5Callback): Ditto.
2518         (WebCore::TestObjInternal::overloadedMethod6Callback): Ditto.
2519         (WebCore::TestObjInternal::overloadedMethod7Callback): Ditto.
2520         (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback): Ditto.
2521         (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback): Ditto.
2522
2523 2011-11-03  Darin Adler  <darin@apple.com>
2524
2525         Change remaining callers of releaseRef to call leakRef
2526         https://bugs.webkit.org/show_bug.cgi?id=71422
2527
2528         Reviewed by Darin Fisher.
2529
2530         * bindings/objc/WebScriptObject.mm:
2531         (-[WebScriptObject _setImp:originRootObject:rootObject:]):
2532         (-[WebScriptObject _setOriginRootObject:andRootObject:]):
2533         * bridge/NP_jsobject.cpp:
2534         (_NPN_CreateScriptObject):
2535         * dom/QualifiedName.cpp:
2536         (WebCore::QNameComponentsTranslator::translate):
2537         * history/PageCache.cpp:
2538         (WebCore::PageCache::add):
2539         * html/HTMLTableElement.cpp:
2540         (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
2541         (WebCore::HTMLTableElement::addSharedCellBordersDecl):
2542         (WebCore::HTMLTableElement::addSharedGroupDecls):
2543         * platform/graphics/cg/ImageSourceCG.cpp:
2544         (WebCore::ImageSource::createFrameAtIndex):
2545         * platform/graphics/mac/FontCustomPlatformData.cpp:
2546         (WebCore::createFontCustomPlatformData):
2547         * platform/mac/ContextMenuMac.mm:
2548         (WebCore::ContextMenu::releasePlatformDescription):
2549         * platform/mac/SharedBufferMac.mm:
2550         (WebCore::SharedBuffer::createCFData):
2551         * rendering/RenderMediaControlsChromium.cpp:
2552         (WebCore::platformResource):
2553         Use leakRef.
2554
2555 2011-11-02  Darin Adler  <darin@apple.com>
2556
2557         Change remaining callers of releaseRef to call leakRef
2558         https://bugs.webkit.org/show_bug.cgi?id=71422
2559
2560         Reviewed by Darin Fisher.
2561
2562         * bindings/objc/WebScriptObject.mm:
2563         (-[WebScriptObject _setImp:originRootObject:rootObject:]):
2564         (-[WebScriptObject _setOriginRootObject:andRootObject:]):
2565         * bridge/NP_jsobject.cpp:
2566         (_NPN_CreateScriptObject):
2567         * dom/QualifiedName.cpp:
2568         (WebCore::QNameComponentsTranslator::translate):
2569         * history/PageCache.cpp:
2570         (WebCore::PageCache::add):
2571         * html/HTMLTableElement.cpp:
2572         (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
2573         (WebCore::HTMLTableElement::addSharedCellBordersDecl):
2574         (WebCore::HTMLTableElement::addSharedGroupDecls):
2575         * platform/graphics/cg/ImageSourceCG.cpp:
2576         (WebCore::ImageSource::createFrameAtIndex):
2577         * platform/graphics/mac/FontCustomPlatformData.cpp:
2578         (WebCore::createFontCustomPlatformData):
2579         * platform/mac/ContextMenuMac.mm:
2580         (WebCore::ContextMenu::releasePlatformDescription):
2581         * platform/mac/SharedBufferMac.mm:
2582         (WebCore::SharedBuffer::createCFData):
2583         * rendering/RenderMediaControlsChromium.cpp:
2584         (WebCore::platformResource):
2585         Use leakRef.
2586
2587 2011-11-03  Daniel Cheng  <dcheng@chromium.org>
2588
2589         [chromium] Remove unused clipboard methods
2590         https://bugs.webkit.org/show_bug.cgi?id=71512
2591
2592         Reviewed by Tony Chang.
2593
2594         * platform/chromium/PlatformSupport.h:
2595
2596 2011-11-03  Anna Cavender  <annacc@chromium.org>
2597
2598         Implement TextTrackCueList.
2599         https://bugs.webkit.org/show_bug.cgi?id=70451
2600
2601         Reviewed by Eric Carlson.
2602
2603         Test: media/track/track-text-track-cue-list.html
2604
2605         * html/LoadableTextTrack.cpp:
2606         (WebCore::LoadableTextTrack::newCuesAvailable):
2607             Update TextTrack's TextTrackCueList (m_cues) when new cues are discovered.
2608         * html/TextTrack.cpp:
2609         (WebCore::TextTrack::TextTrack):
2610             Create an empty TextTrackCueList upon TextTrack creation.
2611         (WebCore::TextTrack::cues):
2612             Return this TextTrack's list of cues.
2613
2614         Implement TextTrackCueList functionality:
2615         * html/TextTrackCueList.cpp:
2616         (WebCore::TextTrackCueList::TextTrackCueList):
2617         (WebCore::TextTrackCueList::length):
2618         (WebCore::TextTrackCueList::item):
2619         (WebCore::TextTrackCueList::getCueById):
2620         (WebCore::TextTrackCueList::add):
2621         (WebCore::TextTrackCueList::remove):
2622         (WebCore::TextTrackCueList::contains):
2623         * html/TextTrackCueList.h:
2624         (WebCore::TextTrackCueList::~TextTrackCueList):
2625
2626 2011-11-03  Joshua Bell  <jsbell@chromium.org>
2627
2628         IndexedDB result of deleting a record should be true or false
2629         https://bugs.webkit.org/show_bug.cgi?id=60197
2630
2631         Reviewed by David Levin.
2632
2633         IDBObjectStore.delete() was incorrectly firing an error if there
2634         was no record to remove. Match the spec, and return true/false
2635         as success values instead. Bring JSC binding implementation of
2636         SerializedScriptValue more in line with V8 version for methods
2637         called from IDB code.
2638
2639         Test: storage/indexeddb/mozilla/delete-result.html
2640
2641         * bindings/js/SerializedScriptValue.cpp:
2642         (WebCore::SerializedScriptValue::createFromWire):
2643         (WebCore::SerializedScriptValue::undefinedValue):
2644         (WebCore::SerializedScriptValue::booleanValue):
2645         * bindings/js/SerializedScriptValue.h:
2646         * bindings/v8/SerializedScriptValue.cpp:
2647         (WebCore::SerializedScriptValue::nullValue):
2648         (WebCore::SerializedScriptValue::undefinedValue):
2649         (WebCore::SerializedScriptValue::booleanValue):
2650         * bindings/v8/SerializedScriptValue.h:
2651         * storage/IDBObjectStoreBackendImpl.cpp:
2652         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
2653
2654 2011-11-03  Adam Barth  <abarth@webkit.org>
2655
2656         Implement allow-popups for iframe@sandbox
2657         https://bugs.webkit.org/show_bug.cgi?id=66505
2658
2659         Reviewed by Eric Seidel.
2660
2661         There's been some discussion in the HTML working group about adding an
2662         allow-popups directive to the iframe sandbox.  Microsoft has added it
2663         to IE10 platform preview and is fairly adamant about this feature
2664         because it's needed by one or their products that's planning to use
2665         iframe sandbox.  Hixie says he'll add it to the spec once we implement
2666         it, so here's our implementation.  (See discussion in the W3C linked in
2667         the bug for more details.)
2668
2669         This patch lands most of the infrastructure for this feature, but it
2670         doesn't actually enable the feature.  I'll enable it in a follow-up
2671         patch.
2672
2673         Tests: http/tests/security/popup-allowed-by-sandbox-is-sandboxed-control.html
2674                http/tests/security/popup-allowed-by-sandbox-is-sandboxed.html
2675                http/tests/security/popup-allowed-by-sandbox-when-allowed.html
2676
2677         * html/HTMLIFrameElement.cpp:
2678         (WebCore::HTMLIFrameElement::parseMappedAttribute):
2679         * loader/FrameLoader.h:
2680         (WebCore::FrameLoader::forceSandboxFlags):
2681         * loader/FrameLoaderTypes.h:
2682         * page/SecurityOrigin.cpp:
2683         (WebCore::SecurityOrigin::parseSandboxPolicy):
2684         * page/SecurityOrigin.h:
2685         (WebCore::SecurityOrigin::sandboxFlags):
2686         * svg/graphics/SVGImage.cpp:
2687         (WebCore::SVGImage::dataChanged):
2688
2689 2011-11-03  Mark Hahnenberg  <mhahnenberg@apple.com>
2690
2691         De-virtualize JSObject::className
2692         https://bugs.webkit.org/show_bug.cgi?id=71428
2693
2694         Reviewed by Sam Weinig.
2695
2696         No new tests.
2697
2698         Added className to the MethodTable, changed all the virtual 
2699         implementations of className to static ones, and replaced 
2700         all call sites with corresponding lookups in the MethodTable.
2701
2702         * bindings/js/JSDOMWindowShell.cpp:
2703         (WebCore::JSDOMWindowShell::className):
2704         * bindings/js/JSDOMWindowShell.h:
2705         * bindings/js/JSInjectedScriptHostCustom.cpp:
2706         (WebCore::JSInjectedScriptHost::internalConstructorName):
2707         * bridge/testqtbindings.cpp:
2708         (Global::className):
2709
2710 2011-11-02  Jer Noble  <jer.noble@apple.com>
2711
2712         Add Clock class and platform-specific implementations.
2713         https://bugs.webkit.org/show_bug.cgi?id=71341
2714
2715         Reviewed by Sam Weinig.
2716
2717         No new tests; these classes will be used and tested by the MediaController feature.
2718
2719         Adds a abstract Clock class and two concrete, platform-specific subclasses.
2720
2721         Clock provides a basic interface for starting, stopping, and querying a generic timeline.
2722         PlatformClockCA implements this interface using a CoreAudio CAClock object, which uses
2723         the default audio device's hardware clock as a timing source. PlatformClockPOSIX 
2724         implements this interface using gettimeofday() as its timing source.
2725
2726         * WebCore.xcodeproj/project.pbxproj:
2727         * platform/Clock.cpp: Added.
2728         (Clock::create): Creates a platform-specific clock.
2729         * platform/Clock.h: Added.
2730         (WebCore::Clock::~Clock):
2731         (WebCore::Clock::Clock):
2732         * platform/mac/PlatformClockCA.cpp: Added.
2733         (PlatformClockCA::PlatformClockCA):
2734         (PlatformClockCA::~PlatformClockCA):
2735         (PlatformClockCA::setCurrentTime):
2736         (PlatformClockCA::currentTime):
2737         (PlatformClockCA::setPlayRate):
2738         (PlatformClockCA::PlatformClockCA::playRate):
2739         (PlatformClockCA::start):
2740         (PlatformClockCA::stop):
2741         * platform/mac/PlatformClockCA.h: Added.
2742         (WebCore::PlatformClockCA::isRunning):
2743         * platform/posix/PlatformClockPOSIX.cpp: Added.
2744         (timevalToFloat):
2745         (timevalDelta):
2746         (PlatformClockPOSIX::PlatformClockPOSIX):
2747         (PlatformClockPOSIX::setCurrentTime):
2748         (PlatformClockPOSIX::currentTime):
2749         (PlatformClockPOSIX::setPlayRate):
2750         (PlatformClockPOSIX::PlatformClockPOSIX::playRate):
2751         (PlatformClockPOSIX::start):
2752         (PlatformClockPOSIX::stop):
2753         (PlatformClockPOSIX::now):
2754         * platform/posix/PlatformClockPOSIX.h: Added.
2755         (WebCore::PlatformClockPOSIX::isRunning):
2756
2757 2011-11-03  Joshua Bell  <jsbell@chromium.org>
2758
2759         IndexedDB: Object stores not persisting between sessions
2760         https://bugs.webkit.org/show_bug.cgi?id=71313
2761
2762         Reviewed by Tony Chang.
2763
2764         Logic flaw introduced with r98806 skipped the loading of object stores
2765         during subsequent sessions.
2766
2767         * storage/IDBDatabaseBackendImpl.cpp:
2768         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
2769         (WebCore::IDBDatabaseBackendImpl::openInternal):
2770
2771 2011-11-03  Pavel Feldman  <pfeldman@google.com>
2772
2773         Web Inspector: fix heap profiler rendering and resize.
2774         https://bugs.webkit.org/show_bug.cgi?id=71484
2775
2776         Reviewed by Yury Semikhatsky.
2777
2778         * inspector/front-end/DetailedHeapshotView.js:
2779         (WebInspector.DetailedHeapshotView.prototype.wasShown.profileCallback2):
2780         (WebInspector.DetailedHeapshotView.prototype.wasShown):
2781         (WebInspector.DetailedHeapshotView.prototype._changeView):
2782         (WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
2783
2784 2011-11-03  Julien Chaffraix  <jchaffraix@webkit.org>
2785
2786         Stop abusing RenderTableSection::needsRecalcCells logic
2787         https://bugs.webkit.org/show_bug.cgi?id=71420
2788
2789         Reviewed by Darin Adler.
2790
2791         Change covered by existing tests like fast/repaint/table-extra-bottom-grow.html
2792         and fast/table/row-height-recalc* (among others).
2793
2794         Cell recalculation is very expensive and should only be called when the section's structure
2795         changed in a way that requires a safe update to its structure (like removing a row as our
2796         column split may not be appropriate anymore).
2797
2798         The current code would abuse cell recalculation to actually reset the logical height on the
2799         RowStruct. This change makes it do the right thing.
2800
2801         * rendering/RenderTableCell.h:
2802         * rendering/RenderTableRow.h:
2803         Removed styleWillChange override as it was unneeded.
2804
2805         * rendering/RenderTableCell.cpp:
2806         (WebCore::RenderTableCell::styleDidChange):
2807         * rendering/RenderTableRow.cpp:
2808         (WebCore::RenderTableRow::styleDidChange):
2809         Move the code from styleWillChange to styleDidChange.
2810
2811         * rendering/RenderTableSection.cpp:
2812         (WebCore::RenderTableSection::rowLogicalHeightChanged):
2813         This function just reset the height on the |RowStruct| which is the
2814         only part of recalcCells that we would need.
2815
2816         (WebCore::RenderTableSection::rowIndexForRenderer):
2817         Added this function to find out which index a column has (strangely
2818         RenderTableRow does not have this information).
2819
2820         * rendering/RenderTableSection.h: Added the 2 previous functions.
2821
2822 2011-11-03  Andreas Kling  <kling@webkit.org>
2823
2824         CSSRuleList: Move rule orphaning from deleteRule() out to callers.
2825         https://bugs.webkit.org/show_bug.cgi?id=71470
2826
2827         Reviewed by Antti Koivisto.
2828
2829         Rule parenting is the responsibility of the owner rule (the rule containing
2830         the rule list), so move parent clearing out of CSSRuleList::deleteRule() and
2831         into the (two) call sites.
2832
2833         * css/CSSMediaRule.cpp:
2834         (WebCore::CSSMediaRule::deleteRule):
2835         * css/CSSRuleList.cpp:
2836         (WebCore::CSSRuleList::deleteRule):
2837         * css/WebKitCSSKeyframesRule.cpp:
2838         (WebCore::WebKitCSSKeyframesRule::deleteRule):
2839
2840 2011-11-03  Pavel Feldman  <pfeldman@google.com>
2841
2842         Web Inspector: do not map scripts generated with document.write to the document resources.
2843         https://bugs.webkit.org/show_bug.cgi?id=71114
2844
2845         Reviewed by Yury Semikhatsky.
2846
2847         * inspector/front-end/DebuggerPresentationModel.js:
2848         (WebInspector.DebuggerPresentationModel):
2849         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2850         (WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
2851         (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
2852         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
2853         (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
2854         (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
2855         (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
2856         (WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
2857         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2858         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
2859         * inspector/front-end/RawSourceCode.js:
2860         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
2861         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
2862         (WebInspector.RawSourceCode.prototype._createSourceMapping):
2863         * inspector/front-end/Script.js:
2864         (WebInspector.Script.prototype.editSource):
2865         (WebInspector.Script.prototype.isInlineScript):
2866
2867 2011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>
2868
2869         [Qt] Remove Maemo specific code paths
2870         https://bugs.webkit.org/show_bug.cgi?id=71476
2871
2872         Reviewed by Kenneth Rohde Christiansen.
2873
2874         * WebCore.pri:
2875         * features.pri:
2876         * plugins/PluginPackage.cpp:
2877         (WebCore::PluginPackage::determineQuirks):
2878         * plugins/PluginView.cpp:
2879         (WebCore::PluginView::setValue):
2880         * plugins/PluginView.h:
2881         * plugins/qt/PluginViewQt.cpp:
2882         (WebCore::PluginView::updatePluginWidget):
2883         (WebCore::PluginView::paint):
2884         (WebCore::PluginView::platformGetValueStatic):
2885
2886 2011-11-03  Fady Samuel  <fsamuel@chromium.org>
2887
2888         Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
2889         https://bugs.webkit.org/show_bug.cgi?id=70609
2890
2891         Reviewed by Kenneth Rohde Christiansen.
2892
2893         Operations in computeViewportAttributes that are not a part of the spec: 
2894
2895         http://www.w3.org/TR/2011/WD-css-device-adapt-20110915/#constraining-viewport-property-values
2896
2897         were moved into the functions restrictMinimumScaleFactorToViewportSize and
2898         restrictScaleFactorToInitialScaleIfNotUserScalable.
2899
2900         * WebCore.exp.in:
2901         * dom/ViewportArguments.cpp:
2902         (WebCore::computeViewportAttributes):
2903         (WebCore::restrictMinimumScaleFactorToViewportSize):
2904         (WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable):
2905         * dom/ViewportArguments.h:
2906
2907 2011-11-03  Andreas Kling  <kling@webkit.org>
2908
2909         Unreviewed build fix, sigh.
2910
2911         * css/CSSFontFaceRule.h:
2912         * css/CSSMutableStyleDeclaration.h:
2913
2914 2011-11-03  Andreas Kling  <kling@webkit.org>
2915
2916         Unreviewed build fix, out-of-line StyleSheet::parentStyleSheet()
2917         again since there's a cycle in the includes between CSSRule/StyleSheet.
2918
2919         * css/StyleSheet.cpp:
2920         (WebCore::StyleSheet::parentStyleSheet):
2921         * css/StyleSheet.h:
2922
2923 2011-11-03  Andreas Kling  <kling@webkit.org>
2924
2925         Unreviewed build fix after r99185, removing forward-declaration
2926         of CSSRule since CSSRule.h is already included.
2927
2928         * css/StyleSheet.h:
2929
2930 2011-11-03  Andreas Kling  <kling@webkit.org>
2931
2932         CSSOM: Inline some trivial methods.
2933         https://bugs.webkit.org/show_bug.cgi?id=71468
2934
2935         Reviewed by Antti Koivisto.
2936
2937         * css/CSSFontFaceRule.cpp:
2938         * css/CSSFontFaceRule.h:
2939         (WebCore::CSSFontFaceRule::setDeclaration):
2940         * css/CSSStyleRule.cpp:
2941         * css/CSSStyleRule.h:
2942         (WebCore::CSSStyleRule::setDeclaration):
2943         * css/CSSStyleSheet.cpp:
2944         * css/CSSStyleSheet.h:
2945         (WebCore::CSSStyleSheet::ownerRule):
2946         * css/StyleSheet.cpp:
2947         * css/StyleSheet.h:
2948         (WebCore::StyleSheet::parentStyleSheet):
2949         * css/WebKitCSSKeyframesRule.cpp:
2950         * css/WebKitCSSKeyframesRule.h:
2951         (WebCore::WebKitCSSKeyframesRule::name):
2952         (WebCore::WebKitCSSKeyframesRule::length):
2953
2954 2011-11-03  Andreas Kling  <kling@webkit.org>
2955
2956         Devirtualize MediaList.
2957         https://bugs.webkit.org/show_bug.cgi?id=71464
2958
2959         Reviewed by Antti Koivisto.
2960
2961         * css/MediaList.h: Make the destructor non-virtual.
2962
2963 2011-11-03  Zoltan Herczeg  <zherczeg@webkit.org>
2964
2965         Optimizing arithmetic composite filter to ARM-neon SIMD instruction set
2966         https://bugs.webkit.org/show_bug.cgi?id=65522
2967
2968         Reviewed by Dirk Schulze.
2969
2970         This patch continues the work of Felician Marton.
2971
2972         The arithmetic operation of feComposite SVG filter can be greatly enhanced
2973         by the ARM-NEON instruction set since we are able to calculate the pixel data
2974         for all four RGBA channels at the same time.
2975
2976         It won't affect the general behavior and existing tests will cover the changes.
2977
2978         * CMakeLists.txt:
2979         * GNUmakefile.list.am:
2980         * WebCore.gypi:
2981         * WebCore.pro:
2982         * WebCore.vcproj/WebCore.vcproj:
2983         * platform/graphics/filters/FEComposite.cpp:
2984         (WebCore::computeArithmeticPixels):
2985         (WebCore::arithmeticSoftware):
2986         (WebCore::FEComposite::platformArithmeticSoftware):
2987         (WebCore::FEComposite::platformApplySoftware):
2988         * platform/graphics/filters/FEComposite.h:
2989         * platform/graphics/filters/arm/FECompositeArithmeticNEON.cpp: Added.
2990         * platform/graphics/filters/arm/FECompositeArithmeticNEON.h: Added.
2991         (WebCore::FEComposite::platformArithmeticNeon):
2992
2993 2011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>
2994
2995         [Qt] Add pageScaleFactor to the serialized history item
2996         https://bugs.webkit.org/show_bug.cgi?id=71463
2997
2998         Reviewed by Tor Arne Vestbø.
2999
3000         r75758 added the pageScaleFactor member, which we need to
3001         serialize.
3002
3003         * history/qt/HistoryItemQt.cpp:
3004         (WebCore::HistoryItem::restoreState):
3005         (WebCore::HistoryItem::saveState):
3006
3007 2011-11-03  Mike Lawther  <mikelawther@chromium.org>
3008
3009         Use createPrimitiveNumericValue function
3010         https://bugs.webkit.org/show_bug.cgi?id=71432
3011
3012         Reviewed by Andreas Kling.
3013
3014         No new tests - no change in functionality.
3015
3016         * css/CSSParser.cpp:
3017         (WebCore::CSSParser::parseWrapShapeRect):
3018         (WebCore::CSSParser::parseWrapShapeCircle):
3019         (WebCore::CSSParser::parseWrapShapeEllipse):
3020         (WebCore::CSSParser::parseWrapShapePolygon):
3021
3022 2011-11-03  Pavel Feldman  <pfeldman@google.com>
3023
3024         Not reviewed: win build fix. Assign autoDPI at all cases (breakage introduced in r99173).
3025
3026         * dom/ViewportArguments.cpp:
3027         (WebCore::computeViewportAttributes):
3028
3029 2011-11-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3030
3031         Differentiate implicit viewport from that of the meta tag
3032         https://bugs.webkit.org/show_bug.cgi?id=71453
3033
3034         Reviewed by Simon Hausmann.
3035
3036         This is needed because of DPI adjustment taking place with the meta
3037         tag. This is to be avoided when no viewport meta tag is present.
3038
3039         * dom/Document.cpp:
3040         (WebCore::Document::processViewport):
3041         * dom/ViewportArguments.cpp:
3042         (WebCore::computeViewportAttributes):
3043         * dom/ViewportArguments.h:
3044         (WebCore::ViewportArguments::ViewportArguments):
3045         (WebCore::ViewportArguments::operator==):
3046
3047 2011-11-03  Andreas Kling  <kling@webkit.org>
3048
3049         Devirtualize CSSRule.
3050         https://bugs.webkit.org/show_bug.cgi?id=71382
3051
3052         Reviewed by Antti Koivisto.
3053
3054         Remove the virtual destructor from CSSRule, and reimplement RefCounted's deref()
3055         to invoke operator delete on the appropriate subclass type.
3056
3057         This removes the CSSRule vtable and shrinks each instance by one CPU word.
3058
3059         * css/CSSCharsetRule.h:
3060         * css/CSSFontFaceRule.h:
3061         * css/CSSMediaRule.h:
3062         * css/CSSPageRule.h:
3063         * css/CSSRegionStyleRule.h:
3064         * css/CSSRule.cpp:
3065         * css/CSSRule.h:
3066         (WebCore::CSSRule::deref):
3067         (WebCore::CSSRule::~CSSRule):
3068         * css/CSSStyleRule.h:
3069         * css/WebKitCSSKeyframeRule.h:
3070
3071             Devirtualize!
3072
3073         * css/CSSRule.cpp:
3074         (WebCore::CSSRule::destroy):
3075
3076             Added, invokes operator delete on the right subclass type.
3077
3078         * css/CSSImportRule.cpp:
3079         (WebCore::CSSImportRule::CSSImportRule):
3080         (WebCore::CSSImportRule::~CSSImportRule):
3081         (WebCore::CSSImportRule::requestStyleSheet):
3082         * css/CSSImportRule.h:
3083         (WebCore::CSSImportRule::ImportedStyleSheetClient::ImportedStyleSheetClient):
3084         (WebCore::CSSImportRule::ImportedStyleSheetClient::~ImportedStyleSheetClient):
3085         (WebCore::CSSImportRule::ImportedStyleSheetClient::setCSSStyleSheet):
3086
3087             Break out the inheritance from CachedStyleSheetClient into a member variable
3088             that simply redirects the setCSSStyleSheet() callback to the CSSImportRule.
3089
3090 2011-10-31  Hans Wennborg  <hans@chromium.org>
3091
3092         IndexedDB: Recycle cursor objects when calling continue()
3093         https://bugs.webkit.org/show_bug.cgi?id=71115
3094
3095         Reviewed by Darin Fisher.
3096
3097         The IndexedDB spec says that cursors should be recycled when calling
3098         continue(). Let the IDBRequest keep track of which cursor to return
3099         upon success, and have the cursor use a new callback:
3100         onSuccessWithContinuation() to signal that the continue was successful.
3101
3102         When we start using the new callback, the
3103         storage/indexeddb/cursor-inconsistency.html layout test will start
3104         passing.
3105
3106         * storage/IDBCallbacks.h:
3107         * storage/IDBCursorBackendImpl.cpp:
3108         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
3109         * storage/IDBRequest.cpp:
3110         (WebCore::IDBRequest::IDBRequest):
3111         (WebCore::IDBRequest::setCursor):
3112         (WebCore::IDBRequest::onSuccess):
3113         (WebCore::IDBRequest::onSuccessWithContinuation):
3114         * storage/IDBRequest.h:
3115
3116 2011-11-03  Pavel Feldman  <pfeldman@google.com>
3117
3118         Web Inspector: preserve script location for inline handlers.
3119         https://bugs.webkit.org/show_bug.cgi?id=71367
3120
3121         Makes eventHandler report position, not line number;
3122
3123         Reviewed by Yury Semikhatsky.
3124
3125         * bindings/js/CachedScriptSourceProvider.h:
3126         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
3127         * bindings/js/JSLazyEventListener.cpp:
3128         (WebCore::JSLazyEventListener::JSLazyEventListener):
3129         (WebCore::JSLazyEventListener::initializeJSFunction):
3130         * bindings/js/JSLazyEventListener.h:
3131         (WebCore::JSLazyEventListener::create):
3132         * bindings/js/ScriptController.cpp:
3133         (WebCore::ScriptController::eventHandlerPosition):
3134         * bindings/js/ScriptController.h:
3135         * bindings/js/ScriptEventListener.cpp:
3136         (WebCore::createAttributeEventListener):
3137         * bindings/js/ScriptSourceProvider.h:
3138         (WebCore::ScriptSourceProvider::ScriptSourceProvider):
3139         * bindings/js/StringSourceProvider.h:
3140         (WebCore::StringSourceProvider::create):
3141         (WebCore::StringSourceProvider::StringSourceProvider):
3142         (WebCore::makeSource):
3143
3144 2011-11-03  Alexander Pavlov  <apavlov@chromium.org>
3145
3146         Web Inspector: [Styles] Do not check isEditingAnyField in StylesSidebarPane._createNewRule
3147         https://bugs.webkit.org/show_bug.cgi?id=71217
3148
3149         Reviewed by Yury Semikhatsky.
3150
3151         * inspector/front-end/StylesSidebarPane.js:
3152         (WebInspector.StylesSidebarPane.prototype.set _createNewRule):
3153
3154 2011-11-03  Balazs Kelemen  <kbalazs@webkit.org>
3155
3156         [Qt] X11 plugins need to be reworked for Qt5
3157         https://bugs.webkit.org/show_bug.cgi?id=70023
3158
3159         Reviewed by Simon Hausmann.
3160
3161         Disable X11 plugins with Qt5.
3162         * features.pri:
3163
3164 2011-11-03  Sheriff Bot  <webkit.review.bot@gmail.com>
3165
3166         Unreviewed, rolling out r99138.
3167         http://trac.webkit.org/changeset/99138
3168         https://bugs.webkit.org/show_bug.cgi?id=71455
3169
3170         It made 200+ tests flakey on SL and on Qt (Requested by Ossy
3171         on #webkit).
3172
3173         * html/HTMLIFrameElement.cpp:
3174         (WebCore::parseSandboxAttribute):
3175         (WebCore::HTMLIFrameElement::parseMappedAttribute):
3176         * loader/FrameLoader.cpp:
3177         (WebCore::FrameLoader::setOpener):
3178         (WebCore::createWindow):
3179         * loader/FrameLoader.h:
3180         (WebCore::FrameLoader::setForcedSandboxFlags):
3181         * loader/FrameLoaderTypes.h:
3182         * loader/PolicyChecker.cpp:
3183         (WebCore::PolicyChecker::checkNewWindowPolicy):
3184         * page/SecurityOrigin.cpp:
3185         * page/SecurityOrigin.h:
3186         * svg/graphics/SVGImage.cpp:
3187         (WebCore::SVGImage::dataChanged):
3188
3189 2011-11-03  Kentaro Hara  <haraken@chromium.org>
3190
3191         Fixed wrong implementation of doubleValue % 2^{64}.
3192         https://bugs.webkit.org/show_bug.cgi?id=67980
3193
3194         Reviewed by Hajime Morita.
3195
3196         fast/events/constructors/progress-event-constructor.html was failing
3197         because of the wrong implementation of conversion from an ECMAScript value
3198         to an IDL unsigned long long value (Spec: http://www.w3.org/TR/WebIDL/#es-unsigned-long-long).
3199         In particular, the calculation of doubleValue % 2^{64} was wrong.
3200         This patch implemented it correctly in doubleToInteger() in wtf/MathExtras.h.
3201
3202         * bindings/js/JSDictionary.cpp:
3203         (WebCore::JSDictionary::convertValue): Uses doubleToInteger().
3204         * bindings/v8/OptionsObject.cpp:
3205         (WebCore::OptionsObject::getKeyValue): Ditto.
3206
3207 2011-11-03  Alexander Pavlov  <apavlov@chromium.org>
3208
3209         Web Inspector: Introduce SuggestBox for TextPrompt
3210         https://bugs.webkit.org/show_bug.cgi?id=71288
3211
3212         Reviewed by Pavel Feldman.
3213
3214         Drive-by fix for a regression where clicking in the Database query view did not focus the prompt.
3215
3216         * WebCore.gypi:
3217         * WebCore.vcproj/WebCore.vcproj:
3218         * inspector/front-end/ConsoleView.js:
3219         (WebInspector.ConsoleView):
3220         (WebInspector.ConsoleView.prototype.completions):
3221         (WebInspector.ConsoleView.prototype._completions.receivedPropertyNames):
3222         (WebInspector.ConsoleView.prototype._completions):
3223         (WebInspector.ConsoleView.prototype._reportCompletions):
3224         * inspector/front-end/DatabaseQueryView.js:
3225         (WebInspector.DatabaseQueryView):
3226         (WebInspector.DatabaseQueryView.prototype.afterShow):
3227         (WebInspector.DatabaseQueryView.prototype.completions):
3228         (WebInspector.DatabaseQueryView.prototype._selectStart.moveBackIfOutside):
3229         (WebInspector.DatabaseQueryView.prototype._selectStart):
3230         (WebInspector.DatabaseQueryView.prototype._appendViewQueryResult):
3231         (WebInspector.DatabaseQueryView.prototype._appendErrorQueryResult):
3232         (WebInspector.DatabaseQueryView.prototype._appendQueryResult):
3233         * inspector/front-end/ElementsPanel.js:
3234         * inspector/front-end/Popover.js:
3235         (WebInspector.Popover):
3236         (WebInspector.Popover.prototype._positionElement):
3237         * inspector/front-end/StylesSidebarPane.js:
3238         (WebInspector.StylePropertyTreeElement.prototype):
3239         ():
3240         * inspector/front-end/TextPrompt.js:
3241         (WebInspector.TextPrompt):
3242         (WebInspector.TextPrompt.prototype.setSuggestForceable):
3243         (WebInspector.TextPrompt.prototype._attachInternal):
3244         (WebInspector.TextPrompt.prototype._removeFromElement):
3245         (WebInspector.TextPrompt.prototype.defaultKeyHandler):
3246         (WebInspector.TextPrompt.prototype.onKeyDown):
3247         (WebInspector.TextPrompt.prototype.acceptAutoComplete):
3248         (WebInspector.TextPrompt.prototype.autoCompleteSoon):
3249         (WebInspector.TextPrompt.prototype.complete):
3250         (WebInspector.TextPrompt.prototype._completionsReady):
3251         (WebInspector.TextPrompt.prototype.applySuggestion):
3252         (WebInspector.TextPrompt.prototype.acceptSuggestion):
3253         (WebInspector.TextPrompt.prototype.isSuggestBoxVisible):
3254         (WebInspector.TextPrompt.prototype.moveCaretToEndOfPrompt):
3255         (WebInspector.TextPrompt.prototype.tabKeyPressed):
3256         (WebInspector.TextPrompt.prototype.enterKeyPressed):
3257         (WebInspector.TextPrompt.prototype.upKeyPressed):
3258         (WebInspector.TextPrompt.prototype.downKeyPressed):
3259         (WebInspector.TextPrompt.SuggestBoxConfig):
3260         (WebInspector.TextPromptWithHistory):
3261         (WebInspector.TextPromptWithHistory.prototype.pushHistoryItem):
3262         (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
3263         (WebInspector.TextPrompt.SuggestBox):
3264         (WebInspector.TextPrompt.SuggestBox.prototype.get visible):
3265         (WebInspector.TextPrompt.SuggestBox.prototype.get hasSelection):
3266         (WebInspector.TextPrompt.SuggestBox.prototype._onscrollresize):
3267         (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPosition):
3268         (WebInspector.TextPrompt.SuggestBox.prototype._onboxmousedown):
3269         (WebInspector.TextPrompt.SuggestBox.prototype.hide):
3270         (WebInspector.TextPrompt.SuggestBox.prototype.removeFromElement):
3271         (WebInspector.TextPrompt.SuggestBox.prototype._applySuggestion):
3272         (WebInspector.TextPrompt.SuggestBox.prototype.acceptSuggestion):
3273         (WebInspector.TextPrompt.SuggestBox.prototype._onNextItem):
3274         (WebInspector.TextPrompt.SuggestBox.prototype._onPreviousItem):
3275         (WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestionsSoon):
3276         (WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
3277         (WebInspector.TextPrompt.SuggestBox.prototype._onItemMouseDown):
3278         (WebInspector.TextPrompt.SuggestBox.prototype._createItemElement):
3279         (WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
3280         (WebInspector.TextPrompt.SuggestBox.prototype._updateSelection):
3281         (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
3282         (WebInspector.TextPrompt.SuggestBox.prototype.upKeyPressed):
3283         (WebInspector.TextPrompt.SuggestBox.prototype.downKeyPressed):
3284         (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
3285         (WebInspector.TextPrompt.SuggestBox.prototype.tabKeyPressed):
3286         (WebInspector.TextPrompt.SuggestBox.prototype.spaceKeyPressed):
3287         * inspector/front-end/WebKit.qrc:
3288         * inspector/front-end/inspector.css:
3289         (.search-view .search-panel):
3290         (#search-results-pane-file-based .search-match .search-match-content):
3291         (.custom-popup-horizontal-scroll ::-webkit-scrollbar, .custom-popup-vertical-scroll ::-webkit-scrollbar):
3292         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-corner, .custom-popup-vertical-scroll ::-webkit-scrollbar-corner):
3293         (.custom-popup-horizontal-scroll ::-webkit-resizer, .custom-popup-vertical-scroll ::-webkit-resizer):
3294         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-button, .custom-popup-vertical-scroll ::-webkit-scrollbar-button):
3295         (.custom-popup-horizontal-scroll ::-webkit-scrollbar:horizontal:corner-present):
3296         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-thumb:horizontal):
3297         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-thumb:horizontal:hover):
3298         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-thumb:horizontal:active):
3299         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:start):
3300         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:end):
3301         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:end:corner-present):
3302         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:decrement):
3303         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:increment):
3304         (.custom-popup-vertical-scroll ::-webkit-scrollbar:vertical:corner-present):
3305         (.custom-popup-vertical-scroll ::-webkit-scrollbar-thumb:vertical):
3306         (.custom-popup-vertical-scroll ::-webkit-scrollbar-thumb:vertical:hover):
3307         (.custom-popup-vertical-scroll ::-webkit-scrollbar-thumb:vertical:active):
3308         (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:start):
3309         (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:end):
3310         (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:end:corner-present):
3311         (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:decrement):
3312         (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:increment):
3313         * inspector/front-end/popover.css:
3314         (.popover.right-bottom-arrow .arrow):
3315         * inspector/front-end/textPrompt.css: Added.
3316         (.suggest-box):
3317         (.suggest-box.visible):
3318         (.suggest-box .container):
3319         (.suggest-box-content-item):
3320         (.suggest-box-content-item .prefix):
3321         (.suggest-box-content-item.selected):
3322         (.suggest-box-content-item:hover:not(.selected)):
3323         * inspector/front-end/utilities.js:
3324         (setupPrototypeUtilities.Element.prototype.boxInWindow):
3325
3326 2011-11-03  Devdatta Deshpande  <webkit.devdatta@gmail.com>
3327
3328         REGRESSION (r94132): broke fast/loader/location-port.html on GTK
3329         https://bugs.webkit.org/show_bug.cgi?id=67277
3330
3331         Reviewed by Adam Barth.
3332
3333         If port is 0, SoupURI does not have an explicitly specified port. Due
3334         to this port value is ignored in SoupURI. Hence, an extra check is
3335         required to restore the port.
3336
3337         Test: LayoutTests/fast/loader/location-port.html
3338
3339         * platform/network/soup/ResourceRequestSoup.cpp:
3340         (WebCore::ResourceRequest::updateFromSoupMessage):
3341
3342 2011-11-03  Joseph Pecoraro  <pecoraro@apple.com>
3343
3344         Web Inspector: Allow the toolbar background to be transparent on mac platforms when remote
3345         https://bugs.webkit.org/show_bug.cgi?id=71437
3346
3347         Reviewed by Yury Semikhatsky.
3348
3349         * inspector/front-end/inspector.css:
3350         (body.detached.platform-mac-snowleopard #toolbar):
3351
3352 2011-11-02  Adam Barth  <abarth@webkit.org>
3353
3354         CSP should handle empty URLs as agreed at TPAC
3355         https://bugs.webkit.org/show_bug.cgi?id=71426
3356
3357         Reviewed by Eric Seidel.
3358
3359         It was somewhat unclear how CSP should treat plugins that lacked a URL
3360         because most of the CSP rules are URL-based.  At TPAC, we decided to
3361         treat "empty" URLs as if there were the URL of the document.  That
3362         means you can use plugins with no URL if you've included 'self' in
3363         object-src, but you can also block them by using 'none' as your
3364         object-src.
3365
3366         Tests: http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html
3367                http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html
3368                http/tests/security/contentSecurityPolicy/object-src-none-allowed.html
3369                http/tests/security/contentSecurityPolicy/object-src-none-blocked.html
3370
3371         * page/ContentSecurityPolicy.cpp:
3372         (WebCore::CSPDirective::CSPDirective):
3373         (WebCore::CSPDirective::allows):
3374         (WebCore::ContentSecurityPolicy::createCSPDirective):
3375
3376 2011-11-02  Adam Barth  <abarth@webkit.org>
3377
3378         Implement allow-popups for iframe@sandbox
3379         https://bugs.webkit.org/show_bug.cgi?id=66505
3380
3381         Reviewed by Eric Seidel.
3382
3383         There's been some discussion in the HTML working group about adding an
3384         allow-popups directive to the iframe sandbox.  Microsoft has added it
3385         to IE10 platform preview and is fairly adamant about this feature
3386         because it's needed by one or their products that's planning to use
3387         iframe sandbox.  Hixie says he'll add it to the spec once we implement
3388         it, so here's our implementation.  (See discussion in the W3C linked in
3389         the bug for more details.)
3390
3391         Tests: http/tests/security/popup-allowed-by-sandbox-is-sandboxed-control.html
3392                http/tests/security/popup-allowed-by-sandbox-is-sandboxed.html
3393                http/tests/security/popup-allowed-by-sandbox-when-allowed.html
3394
3395         * html/HTMLIFrameElement.cpp:
3396         (WebCore::HTMLIFrameElement::parseMappedAttribute):
3397         * loader/FrameLoader.cpp:
3398         (WebCore::FrameLoader::setOpener):
3399         (WebCore::createWindow):
3400         * loader/FrameLoader.h:
3401         (WebCore::FrameLoader::forceSandboxFlags):
3402         * loader/FrameLoaderTypes.h:
3403         * loader/PolicyChecker.cpp:
3404         (WebCore::PolicyChecker::checkNewWindowPolicy):
3405         * page/SecurityOrigin.cpp:
3406         (WebCore::SecurityOrigin::parseSandboxPolicy):
3407         * page/SecurityOrigin.h:
3408         (WebCore::SecurityOrigin::sandboxFlags):
3409         * svg/graphics/SVGImage.cpp:
3410         (WebCore::SVGImage::dataChanged):
3411
3412 2011-11-02  Sam Weinig  <sam@webkit.org>
3413
3414         Remove the ability to generate custom lookupGetter/lookupSetter functions,
3415         now that they can not be overridden 
3416
3417         Reviewed by Adam Roben.
3418
3419         * bindings/scripts/CodeGeneratorJS.pm:
3420         (GenerateHeader):
3421
3422 2011-11-02  Sam Weinig  <sam@webkit.org>
3423
3424         Fix crashing tests after r99126 (commit for https://bugs.webkit.org/show_bug.cgi?id=71307)
3425
3426         Reviewed by Adam Roben.
3427
3428         * bindings/js/JSDOMWindowShell.cpp:
3429         (WebCore::JSDOMWindowShell::getOwnPropertyNames):
3430         Since we are proxying to the window, we need to pass it as the this object,
3431         not the shell.
3432
3433 2011-11-02  Erik Arvidsson  <arv@chromium.org>
3434
3435         Remove LegacyDefaultOptionalArguments flag from storage IDL files
3436         https://bugs.webkit.org/show_bug.cgi?id=65744
3437
3438         Reviewed by Adam Barth.
3439
3440         Test: storage/domstorage/localstorage/missing-arguments.html
3441
3442         * storage/DatabaseCallback.idl:
3443         * storage/IDBRequest.idl:
3444         * storage/IDBTransaction.idl:
3445         * storage/SQLResultSetRowList.idl:
3446         * storage/SQLStatementCallback.idl:
3447         * storage/SQLStatementErrorCallback.idl:
3448         * storage/SQLTransaction.idl:
3449         * storage/SQLTransactionCallback.idl:
3450         * storage/SQLTransactionErrorCallback.idl:
3451         * storage/SQLTransactionSync.idl:
3452         * storage/SQLTransactionSyncCallback.idl:
3453         * storage/Storage.idl:
3454         * storage/StorageInfo.idl:
3455         * storage/StorageInfoErrorCallback.idl:
3456         * storage/StorageInfoQuotaCallback.idl:
3457         * storage/StorageInfoUsageCallback.idl:
3458
3459 2011-11-02  Adam Klein  <adamk@chromium.org>
3460
3461         Replace usage of StringImpl with String where possible in CharacterData and Text
3462         https://bugs.webkit.org/show_bug.cgi?id=71383
3463
3464         Reviewed by Darin Adler.
3465
3466         Ryosuke Niwa, in http://webkit.org/b/70862, asked me to replace usages
3467         of String with StringImpl. I've done more than what he asked in this
3468         patch, the biggest change being that CharacterData now holds a String
3469         instead of a RefPtr<StringImpl>.
3470
3471         No new tests, as this should have no effect on behavior.
3472
3473         * dom/CharacterData.cpp:
3474         (WebCore::CharacterData::setData):
3475         (WebCore::CharacterData::substringData):
3476         (WebCore::CharacterData::parserAppendData):
3477         (WebCore::CharacterData::appendData):
3478         (WebCore::CharacterData::insertData):
3479         (WebCore::CharacterData::deleteData):
3480         (WebCore::CharacterData::replaceData):
3481         (WebCore::CharacterData::containsOnlyWhitespace):
3482         (WebCore::CharacterData::setDataAndUpdate):
3483         (WebCore::CharacterData::updateRenderer):
3484         (WebCore::CharacterData::dispatchModifiedEvent):
3485         * dom/CharacterData.h:
3486         (WebCore::CharacterData::length):
3487         (WebCore::CharacterData::dataImpl):
3488         (WebCore::CharacterData::CharacterData):
3489         (WebCore::CharacterData::setDataWithoutUpdate):
3490         * dom/Text.cpp:
3491         (WebCore::Text::splitText):
3492
3493 2011-11-02  Mark Hahnenberg  <mhahnenberg@apple.com>
3494
3495         De-virtualize JSObject::getOwnPropertyNames
3496         https://bugs.webkit.org/show_bug.cgi?id=71307
3497
3498         Reviewed by Darin Adler.
3499
3500         No new tests.
3501