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