<rdar://problem/10475450> Synthetic bold is illegible under some scaling transforms
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-07  Dan Bernstein  <mitz@apple.com>
2
3         <rdar://problem/10475450> Synthetic bold is illegible under some scaling transforms
4         https://bugs.webkit.org/show_bug.cgi?id=78044
5
6         Reviewed by Beth Dakin.
7
8         Tests: fast/text/synthetic-bold-transformed-expected.html
9                fast/text/synthetic-bold-transformed.html
10
11         * platform/graphics/mac/FontMac.mm:
12         (WebCore::Font::drawGlyphs): Changed to interpret syntheticBoldOffset as a length in device pixels.
13
14 2012-02-07  Levi Weintraub  <leviw@chromium.org>
15
16         Update LayoutUnit usage in ColumnInfo and RenderFrameSet
17         https://bugs.webkit.org/show_bug.cgi?id=77914
18
19         Reviewed by Eric Seidel.
20
21         Updating ColumnInfo and RenderFrameSet to use LayoutUnits
22         instead of directly referencing integers for locations and
23         distances.
24
25         No new tests. No changed behavior.
26
27         * rendering/ColumnInfo.h:
28         (WebCore::ColumnInfo::forcedBreakOffset):
29         (WebCore::ColumnInfo::maximumDistanceBetweenForcedBreaks):
30         (ColumnInfo):
31         * rendering/RenderFrameSet.cpp:
32         (WebCore::RenderFrameSet::paintColumnBorder):
33         (WebCore::RenderFrameSet::paintRowBorder):
34         * rendering/RenderFrameSet.h:
35         (RenderFrameSet):
36
37 2012-02-07  Adam Klein  <adamk@chromium.org>
38
39         Add JSC support for delivering mutations when the outermost script context exits
40         https://bugs.webkit.org/show_bug.cgi?id=70289
41
42         Reviewed by Eric Seidel.
43
44         The meat of this change is in JSMainThreadExecState, where a counter
45         is incremented every time WebCore calls into JSC and decremented every
46         time it returns. When the counter reaches zero, any pending mutations
47         are delivered (this mirrors very similar code in V8Proxy and V8RecursionScope).
48
49         The rest of the changes are of two sorts: compilation/logic fixes for
50         JSC code when ENABLE(MUTATION_OBSERVERS) is true, and additional
51         usages of JSMainThreadExecState so as to trigger the above
52         increment/decrements at the appropriate times.
53
54         * bindings/js/JSCustomXPathNSResolver.cpp:
55         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
56         Use JSMainThreadExecState instead of JSC::call.
57         * bindings/js/JSDictionary.cpp:
58         (WebCore::JSDictionary::convertValue): Add support
59         for tryGetProperty with a HashMap<AtomicString>.
60         * bindings/js/JSDictionary.h:
61         * bindings/js/JSErrorHandler.cpp:
62         (WebCore::JSErrorHandler::handleEvent):
63         Use JSMainThreadExecState instead of JSC::call.
64         * bindings/js/JSHTMLDocumentCustom.cpp:
65         (WebCore::JSHTMLDocument::open):
66         Use JSMainThreadExecState instead of JSC::call.
67         * bindings/js/JSMainThreadExecState.cpp:
68         (WebCore::JSMainThreadExecState::didLeaveScriptContext):
69         * bindings/js/JSMainThreadExecState.h:
70         (WebCore::JSMainThreadExecState::JSMainThreadExecState):
71         Increment a static recursion level counter.
72         (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
73         Decrement a static recursion level counter and, if we are
74         at zero (the outermost script invocation), deliver any
75         outstanding mutation records.
76         * bindings/js/JSNodeFilterCondition.cpp:
77         (WebCore::JSNodeFilterCondition::acceptNode):
78         Use JSMainThreadExecState instead of JSC::call.
79         * bindings/js/JSWebKitMutationObserverCustom.cpp:
80         (WebCore::JSWebKitMutationObserver::observe):
81         Fix JSDictionary logic, add support for attributeFilter.
82
83 2012-02-07  Anders Carlsson  <andersca@apple.com>
84
85         Fix build.
86
87         * platform/ScrollableArea.h:
88         (WebCore::ScrollableArea::scrollableAreaBoundingBox):
89
90 2012-02-07  Levi Weintraub  <leviw@chromium.org>
91
92         [SVG] Use element disappears after scripted change
93         https://bugs.webkit.org/show_bug.cgi?id=74392
94
95         Reviewed by Eric Seidel.
96
97         Solution uncovered by Nikolas Zimmermann. Removing an early return that caused
98         SVGUseElements to not update the shadow root's style, and therefor not render
99         correctly.
100
101         Test: svg/custom/use-disappears-after-style-update.svg
102
103         * svg/SVGUseElement.cpp:
104         (WebCore::SVGUseElement::didRecalcStyle):
105
106 2012-02-07  Kentaro Hara  <haraken@chromium.org>
107
108         Rename [v8OnProto] IDL attribute to [V8OnProto] IDL attribute
109         https://bugs.webkit.org/show_bug.cgi?id=77973
110
111         Reviewed by Adam Barth.
112
113         This patch renames [v8OnProto] to [V8OnProto], since V8 specific IDL
114         attributes should be prefixed by "V8".
115
116         No tests. No change in behavior.
117
118         * bindings/scripts/CodeGeneratorV8.pm:
119         (GenerateNormalAttrGetter):
120         (GenerateNormalAttrSetter):
121         (GenerateSingleBatchedAttribute):
122         (GenerateImplementation):
123
124 2011-10-10  Jer Noble  <jer.noble@apple.com>
125
126         media/audio-data-url.html test broken on Lion
127         https://bugs.webkit.org/show_bug.cgi?id=69779
128
129         Reviewed by Eric Carlson.
130
131         Do not use "OpenForPlayback" attribute on data:// urls, as CoreMedia/QuickTime X cannot
132         handle those URLs.
133
134         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
135         (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
136
137 2012-02-07  Anders Carlsson  <andersca@apple.com>
138
139         Scrolling tree should keep track of region we can't do fast scrolling for
140         https://bugs.webkit.org/show_bug.cgi?id=78050
141
142         Reviewed by Dan Bernstein.
143
144         We currently won't do fast scrolling for subframes and other types of scrollable areas.
145         Because of this, we'll have the scrolling tree keep a region of the page for which we can't
146         do fast scrolling. This region will be updated after layout.
147
148         * page/FrameView.cpp:
149         (WebCore::FrameView::scrollableAreaBoundingBox):
150         Return the bounding box.
151
152         * page/scrolling/ScrollingCoordinator.cpp:
153         (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
154         Go through all the scrollable areas in this frame view and compute the region which we can't do
155         fast scrolling for.
156
157         * page/scrolling/ScrollingTree.cpp:
158         (WebCore::ScrollingTree::commitNewTreeState):
159         Update the non-fast-scrollable region.
160
161         * page/scrolling/ScrollingTreeState.cpp:
162         (WebCore::ScrollingTreeState::setNonFastScrollableRegion):
163         Set the non-fast-scrollable region if it's changed.
164
165         * platform/ScrollableArea.h:
166         Add scrollableAreaBoundingBox member function.
167
168         * rendering/RenderLayer.cpp:
169         (WebCore::RenderLayer::scrollableAreaBoundingBox):
170         Return the bounding box.
171
172         * rendering/RenderListBox.cpp:
173         (WebCore::RenderListBox::scrollableAreaBoundingBox):
174         Return the bounding box.
175
176 2012-02-07  Levi Weintraub  <leviw@chromium.org>
177
178         unicode-bidi:plaintext is supposed to be effective on display:inline elements too
179         https://bugs.webkit.org/show_bug.cgi?id=73310
180
181         Reviewed by Eric Seidel.
182
183         Adding support for unicode-bidi: plaintext as a property on inlines. These are treated
184         like unicode-bidi: isolate with the addition of their directionality being determined
185         by the UBA.
186
187         Tests: fast/text/international/inline-plaintext-is-isolated-expected.html
188                fast/text/international/inline-plaintext-is-isolated.html
189                fast/text/international/inline-plaintext-relayout-with-leading-neutrals-expected.html
190                fast/text/international/inline-plaintext-relayout-with-leading-neutrals.html
191                fast/text/international/inline-plaintext-with-generated-content-expected.html
192                fast/text/international/inline-plaintext-with-generated-content.html
193
194         * platform/text/UnicodeBidi.h:
195         (WebCore::isIsolated): Added this convenience function as Plaintext and Isolate Unicode-Bidi values
196         are both treated as isolated content.
197         * rendering/InlineIterator.h:
198         (WebCore::notifyObserverEnteredObject): Inline now supports Unicode-Bidi Plaintext.
199         (WebCore::notifyObserverWillExitObject): Ditto.
200         (WebCore::bidiFirstSkippingEmptyInlines): Changed to support being called without a resolver.
201         (WebCore::isIsolatedInline): Inline now supports Unicode-Bidi: Plaintext.
202         * rendering/RenderBlockLineLayout.cpp:
203         (WebCore::determineDirectionality): Generalized for inlines.
204         (WebCore::constructBidiRuns): Added support for Unicode-Bidi: Plaintext as an isolated inline.
205         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Fixed comment.
206         (WebCore::RenderBlock::determineStartPosition): Fixed comment and switched to updated
207         bidiFirstSkippingEmptyInlines.
208
209 2012-02-07  Kentaro Hara  <haraken@chromium.org>
210
211         [Refactoring] Use the [IsWorkerContext] IDL in CodeGeneratorV8.pm
212         https://bugs.webkit.org/show_bug.cgi?id=77957
213
214         Reviewed by Adam Barth.
215
216         This patch replaces IsSubType("WorkerContext") and something equivalent that
217         with the [IsWorkerContext] IDL.
218
219         No tests. No change in behavior.
220
221         * bindings/scripts/CodeGeneratorV8.pm:
222         (GetInternalFields):
223         (GenerateConstructorGetter):
224         (GenerateImplementation):
225
226 2012-02-07  David Reveman  <reveman@chromium.org>
227
228         [Chromium] Crash when using per-tile painting on Windows.
229         https://bugs.webkit.org/show_bug.cgi?id=75715
230
231         Reviewed by James Robinson.
232
233         PlatformCanvas constructor on win32 expects forth argument to be a
234         shared section handle. Passing a pointer to a system memory causes
235         it to crash. Fix this by not using the PlatformCanvas API for
236         SkCanvas construction in per-tile texture uploader.
237
238         Tested with manual tests.
239
240         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
241         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
242         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
243         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
244         (Texture):
245
246 2012-02-07  Jer Noble  <jer.noble@apple.com>
247
248         Unreviewed build fix; make OSStatus the explicit return type for CMTimebase functions.
249
250         * platform/mac/PlatformClockCM.mm:
251
252 2012-02-07  James Robinson  <jamesr@chromium.org>
253
254         [chromium] Allow retaining texture across frames in composited video playback and correctly handle lost context
255         https://bugs.webkit.org/show_bug.cgi?id=77923
256
257         Reviewed by Kenneth Russell.
258
259         Thanks to r106840, we can improve the video playback mode a bit. Instead of creating a new texture on every
260         frame, this attempts to reuse the texture from the previous frame unless the context is lost. Also improves
261         error checking in case the TextureManager cannot successfully reserve memory for the texture.
262
263         Tested manually by killing the GPU process with an html5 video playing and verifying that the video playback
264         continues and that we don't create a new set of textures for each plane on each frame.
265
266         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
267         (WebCore::CCVideoLayerImpl::draw):
268         (WebCore::CCVideoLayerImpl::reserveTextures):
269
270 2012-02-07  Matthew Delaney  <mdelaney@apple.com>
271
272         https://bugs.webkit.org/show_bug.cgi?id=77912
273         Removing old CG shadow code.
274         
275         A CG-specific shadow offset hack was added in http://trac.webkit.org/changeset/34317
276         for this particular setShadow method. However, this shadow offset adjustment for CG
277         has since moved down into platform specific code. Thus, this offset adjustment here
278         is now redundant.
279
280         The CG-only shadow setting code block in this setShadow method is now redundant.
281         Since it sets the shadow values to the CGContext directly - and not to the State object -
282         it will be overwritten later by any subsequent calls to setting shadow values such as
283         blur, offset, or shadow color.
284
285         Reviewed by Simon Fraser.
286
287         No new tests. Current canvas tests cover this path.
288
289         * html/canvas/CanvasRenderingContext2D.cpp:
290         (WebCore::CanvasRenderingContext2D::setShadow):
291
292 2012-02-07  James Robinson  <jamesr@chromium.org>
293
294         [chromium] Gracefully handle compositor initialization failure in single-threaded proxy
295         https://bugs.webkit.org/show_bug.cgi?id=78013
296
297         Reviewed by Kenneth Russell.
298
299         If compositor initialization fails it's not safe to proceed through the rest of the frame process. This adds
300         some early outs.
301
302         Tested manually by forcing the first makeContextCurrent() call fail.
303
304         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
305         (WebCore::CCLayerTreeHost::updateLayers):
306         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
307         (CCLayerTreeHost):
308         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
309         (WebCore::CCSingleThreadProxy::compositeAndReadback):
310         (WebCore::CCSingleThreadProxy::compositeImmediately):
311         (WebCore::CCSingleThreadProxy::commitIfNeeded):
312         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
313         (CCSingleThreadProxy):
314
315 2012-02-07  Brady Eidson  <beidson@apple.com>
316
317         <rdar://problem/9567286> and https://bugs.webkit.org/show_bug.cgi?id=78003
318         WebKit associates credentials with the wrong site if the authentication challenge takes place after a redirect chain
319
320         Reviewed by Alexey Proskuryakov.
321
322         Test: http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials.html
323
324         Associate the credential with the URL of the challenge itself, not the original request:
325         * platform/network/cf/ResourceHandleCFNet.cpp:
326         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 
327         (WebCore::ResourceHandle::receivedCredential):
328         * platform/network/mac/ResourceHandleMac.mm:
329         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
330         (WebCore::ResourceHandle::receivedCredential):
331
332 2012-02-07  Tony Chang  <tony@chromium.org>
333
334         move warning about css values and render style constants closer to where it applies
335         https://bugs.webkit.org/show_bug.cgi?id=78017
336
337         Reviewed by Darin Adler.
338
339         Move the warning about keeping RenderStyleConstnats.h enums and
340         CSSValueKeywords.in values in the same order closer to the properties
341         that the warning applies to. The warning was easy to miss and was
342         confusing since it doesn't apply to most values.
343
344         Also refactor 2 conversion functions to
345         enumerate the possible values so the order doesn't matter.
346
347         No new tests, just refactoring and comment cleanup.
348
349         * css/CSSPrimitiveValueMappings.h:
350         (WebCore::CSSPrimitiveValue::operator EListStylePosition): Name all possible values and add a NOT_REACHED().
351         (WebCore::CSSPrimitiveValue::operator EUserModify): Name all possible values and add a NOT_REACHED().
352         * css/CSSValueKeywords.in:
353         * css/SVGCSSPropertyNames.in:
354         * css/SVGCSSValueKeywords.in:
355         * rendering/style/RenderStyleConstants.h:
356
357 2012-02-06  Jer Noble  <jer.noble@apple.com>
358
359         Use CMClock as a timing source for PlatformClock where available.
360         https://bugs.webkit.org/show_bug.cgi?id=77885
361
362         Reviewed by Eric Carlson.
363
364         No new tests; performance improvement covered by existing test cases.
365
366         * WebCore.xcodeproj/project.pbxproj:
367         * platform/Clock.cpp:
368         (Clock::create): Use PlatformClockCM if available.
369         * platform/mac/PlatformClockCM.h: Added.
370         (WebCore::PlatformClockCM::playRate):
371         (WebCore::PlatformClockCM::isRunning):
372         * platform/mac/PlatformClockCM.mm: Added.
373         (PlatformClockCM::PlatformClockCM):
374         (PlatformClockCM::initializeWithTimingSource):
375         (PlatformClockCM::setCurrentTime):
376         (PlatformClockCM::currentTime):
377         (PlatformClockCM::setPlayRate):
378         (PlatformClockCM::start):
379         (PlatformClockCM::stop):
380
381 2012-02-06  Anders Carlsson  <andersca@apple.com>
382
383         ScrollableAreaSet should be moved from Page to FrameView
384         https://bugs.webkit.org/show_bug.cgi?id=62762
385
386         Reviewed by Beth Dakin.
387
388         It makes more sense for the set of scrollable areas to be per frame view instead of per page;
389         scrollable areas are associated with a containing frame view and their lifecycle follows the lifecycle of the
390         frame view much more closely. This could even fix a bunch of crashes where a scrollable area outlived its containing page.
391
392         * WebCore.exp.in:
393         Replace the Page member functions with FrameView member functions instead.
394
395         * page/EventHandler.cpp:
396         (WebCore::EventHandler::mouseMoved):
397         Check if the frame view contains the given layer.
398
399         (WebCore::EventHandler::updateMouseEventTargetNode):
400         Ditto.
401
402         * page/FocusController.cpp:
403         (WebCore::contentAreaDidShowOrHide):
404         Add helper function.
405
406         (WebCore::FocusController::setContainingWindowIsVisible):
407         Call contentAreaDidShowOrHide for the main frame view, and for all scrollable areas
408         inside all subframe views.
409
410         * page/FrameView.cpp:
411         (WebCore::FrameView::FrameView):
412         Use early returns to make the code more clear. Also, don't add the scrollable area to the set here.
413
414         (WebCore::FrameView::~FrameView):
415         Don't remove the scrollable area here.
416
417         (WebCore::FrameView::zoomAnimatorTransformChanged):
418         m_page is gone so use m_frame->page() instead.
419
420         (WebCore::FrameView::setAnimatorsAreActive):
421         Call ScrollAnimator::setIsActive for all the scrollable areas in this frame view. Previously we used to do
422         this for all scrollable areas on the page, but since setAnimatorsAreActive will be called for each document,
423         this will be done implicitly.
424
425         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
426         Call ScrollableArea::contentDidPaint for this frame view and all its immediate scrollable areas. Previously, we used
427         to do this for all scrollable areas on the page, but we only need to do it for this frame view.
428
429         (WebCore::FrameView::scrollAnimatorEnabled):
430         Get the page from m_frame since m_page is gone.
431
432         (WebCore::FrameView::addScrollableArea):
433         (WebCore::FrameView::removeScrollableArea):
434         (WebCore::FrameView::containsScrollableArea):
435         Move these member functions here from Page.
436
437         (WebCore::FrameView::addChild):
438         If we are adding a frame view, add it to the scrollable area set.
439
440         (WebCore::FrameView::removeChild):
441         If we are removing a frame view, remove it from the scrollable area set.
442
443         * page/FrameView.h:
444         Move the member function declarations and the scrollable area set member variable here from Page.
445
446         * page/Page.cpp:
447         (WebCore::Page::~Page):
448         Don't call disconnectPage on the scrollable areas anymore.
449
450         * platform/ScrollView.h:
451         (ScrollView):
452         Make addChild and removeChild virtual.
453
454         * platform/ScrollableArea.h:
455         Remove disconnectFromPage.
456
457         * rendering/RenderLayer.cpp:
458         (WebCore::RenderLayer::RenderLayer):
459         (WebCore::RenderLayer::~RenderLayer):
460         (WebCore::RenderLayer::styleChanged):
461         The frame view now keeps track of the scrollable areas.
462
463         * rendering/RenderLayer.h:
464         Remove the page member variable and disconnectFromPage.
465
466         * rendering/RenderListBox.cpp:
467         (WebCore::RenderListBox::RenderListBox):
468         (WebCore::RenderListBox::~RenderListBox):
469         The frame view now keeps track of the scrollable areas.
470
471         * rendering/RenderListBox.h:
472         Remove the page member variable and disconnectFromPage.
473
474 2012-02-07  Matthew Delaney  <mdelaney@apple.com>
475
476         Remove redundant checks in CanvasRenderingContext2D.cpp
477         https://bugs.webkit.org/show_bug.cgi?id=78000
478
479         Reviewed by Dan Bernstein.
480
481         * html/canvas/CanvasRenderingContext2D.cpp:
482         (WebCore::CanvasRenderingContext2D::setShadowColor):
483         (WebCore::CanvasRenderingContext2D::setShadow):
484         (WebCore::CanvasRenderingContext2D::drawImage):
485
486 2012-02-07  Abhishek Arya  <inferno@chromium.org>
487
488         Crash in ContainerNode functions due to mutation events.
489         https://bugs.webkit.org/show_bug.cgi?id=77999
490
491         Reviewed by Ryosuke Niwa.
492
493         Add RefPtr to protect premature deletion of this due to mutation events.
494
495         Tests: fast/dom/remove-body-during-body-replacement.html
496                fast/dom/remove-body-during-body-replacement2.html
497
498         * dom/ContainerNode.cpp:
499         (WebCore::ContainerNode::insertBefore):
500         (WebCore::ContainerNode::replaceChild):
501         (WebCore::ContainerNode::removeChild):
502         (WebCore::ContainerNode::appendChild):
503
504 2012-02-07  Dana Jansens  <danakj@chromium.org>
505
506         [Chromium] Memory bug during occlusion tracking if Vector::append() needs to reallocate the buffer
507         https://bugs.webkit.org/show_bug.cgi?id=77996
508
509         Reviewed by James Robinson.
510
511         We're holding onto the last element in the Vector and then calling
512         append(). If append() reallocates the Vector's buffer, the pointer
513         is no longer valid.
514
515         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
516         (WebCore::enterTargetRenderSurface):
517
518 2012-02-07  Abhishek Arya  <inferno@chromium.org>
519
520         Crash due to column style not updated on post block
521         in splitInlines.
522         https://bugs.webkit.org/show_bug.cgi?id=77939
523
524         Reviewed by Julien Chaffraix.
525
526         Test: fast/multicol/span/split-inline-wrong-post-block-crash.html
527
528         * rendering/RenderInline.cpp:
529         (WebCore::RenderInline::splitFlow):
530
531 2012-02-07  Peter Rybin  <peter.rybin@gmail.com>
532
533         Web Inspector: CodeGeneratorInspector.py: extend Array validator functionality
534         https://bugs.webkit.org/show_bug.cgi?id=77919
535
536         Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-02-07
537         Reviewed by Yury Semikhatsky.
538
539         Array validator method runtimeCast is added, internal backing method
540         is moved from .cpp to .h (it's template anyway), boolean validator is
541         supported.
542
543         * inspector/CodeGeneratorInspector.py:
544         (RawTypes.Bool.get_validate_method_params.ValidateMethodParams):
545         (RawTypes.Bool.get_validate_method_params):
546         (TypeBuilder):
547
548 2012-02-07  Dean Jackson  <dino@apple.com>
549
550         Apple/Safari: Enable WebGL multisampling on ATI cards
551         for OS X 10.7.2 and above.
552         https://bugs.webkit.org/show_bug.cgi?id=77922
553
554         Address review comments by Alexey Proskuryakov and Mark Rowe.
555
556         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
557         (WebCore::systemAllowsMultisamplingOnATICards):
558
559 2012-02-07  Dean Jackson  <dino@apple.com>
560
561         Apple/Safari: Enable WebGL multisampling on ATI cards
562         for OS X 10.7.2 and above.
563         https://bugs.webkit.org/show_bug.cgi?id=77922
564
565         Reviewed by Chris Marrin.
566
567         Follow Chrome's lead to allow WebGL antialiasing
568         on ATI cards as long as we're on 10.7.2 and above.
569
570         No new tests. Covered by existing tests.
571
572         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
573         (WebCore::systemAllowsMultisamplingOnATICards):
574         (WebCore):
575         (WebCore::GraphicsContext3D::validateAttributes):
576
577 2012-02-07  Pavel Feldman  <pfeldman@google.com>
578
579         Web Inspector: add generic support for undo-ing DOM edits.
580         https://bugs.webkit.org/show_bug.cgi?id=77875
581
582         Reviewed by Yury Semikhatsky.
583
584         This change introduces InspectorHistory::Action that encapsulates all DOM modifications
585         initiated by the inspector. There is a way to undo these actions up until the undoable
586         state marker.
587
588         Tests: inspector/elements/undo-dom-edits-2.html
589                inspector/elements/undo-dom-edits.html
590                inspector/styles/undo-add-property.html
591                inspector/styles/undo-change-property.html
592                inspector/styles/undo-property-toggle.html
593
594         * CMakeLists.txt:
595         * GNUmakefile.list.am:
596         * Target.pri:
597         * WebCore.gypi:
598         * WebCore.vcproj/WebCore.vcproj:
599         * WebCore.xcodeproj/project.pbxproj:
600         * inspector/Inspector.json:
601         * inspector/InspectorAllInOne.cpp:
602         * inspector/InspectorCSSAgent.cpp:
603         (InspectorCSSAgent::StyleSheetAction):
604         (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
605         (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
606         (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
607         (WebCore):
608         (InspectorCSSAgent::SetStyleSheetTextAction):
609         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
610         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
611         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
612         (InspectorCSSAgent::SetPropertyTextAction):
613         (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
614         (WebCore::InspectorCSSAgent::SetPropertyTextAction::toString):
615         (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
616         (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
617         (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
618         (WebCore::InspectorCSSAgent::SetPropertyTextAction::merge):
619         (InspectorCSSAgent::TogglePropertyAction):
620         (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
621         (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
622         (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
623         (WebCore::InspectorCSSAgent::getStyleSheetText):
624         (WebCore::InspectorCSSAgent::setStyleSheetText):
625         (WebCore::InspectorCSSAgent::setPropertyText):
626         (WebCore::InspectorCSSAgent::toggleProperty):
627         * inspector/InspectorCSSAgent.h:
628         (InspectorCSSAgent):
629         * inspector/InspectorDOMAgent.cpp:
630         (InspectorDOMAgent::DOMAction):
631         (WebCore::InspectorDOMAgent::DOMAction::DOMAction):
632         (WebCore::InspectorDOMAgent::DOMAction::perform):
633         (WebCore::InspectorDOMAgent::DOMAction::undo):
634         (WebCore):
635         (InspectorDOMAgent::RemoveChildAction):
636         (WebCore::InspectorDOMAgent::RemoveChildAction::RemoveChildAction):
637         (WebCore::InspectorDOMAgent::RemoveChildAction::perform):
638         (WebCore::InspectorDOMAgent::RemoveChildAction::undo):
639         (InspectorDOMAgent::InsertBeforeAction):
640         (WebCore::InspectorDOMAgent::InsertBeforeAction::InsertBeforeAction):
641         (WebCore::InspectorDOMAgent::InsertBeforeAction::perform):
642         (WebCore::InspectorDOMAgent::InsertBeforeAction::undo):
643         (InspectorDOMAgent::RemoveAttributeAction):
644         (WebCore::InspectorDOMAgent::RemoveAttributeAction::RemoveAttributeAction):
645         (WebCore::InspectorDOMAgent::RemoveAttributeAction::perform):
646         (WebCore::InspectorDOMAgent::RemoveAttributeAction::undo):
647         (InspectorDOMAgent::SetAttributeAction):
648         (WebCore::InspectorDOMAgent::SetAttributeAction::SetAttributeAction):
649         (WebCore::InspectorDOMAgent::SetAttributeAction::perform):
650         (WebCore::InspectorDOMAgent::SetAttributeAction::undo):
651         (InspectorDOMAgent::SetOuterHTMLAction):
652         (WebCore::InspectorDOMAgent::SetOuterHTMLAction::SetOuterHTMLAction):
653         (WebCore::InspectorDOMAgent::SetOuterHTMLAction::perform):
654         (WebCore::InspectorDOMAgent::SetOuterHTMLAction::undo):
655         (WebCore::InspectorDOMAgent::SetOuterHTMLAction::newNode):
656         (InspectorDOMAgent::ReplaceWholeTextAction):
657         (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::ReplaceWholeTextAction):
658         (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::perform):
659         (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::undo):
660         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
661         (WebCore::InspectorDOMAgent::reset):
662         (WebCore::InspectorDOMAgent::setAttributeValue):
663         (WebCore::InspectorDOMAgent::setAttributesAsText):
664         (WebCore::InspectorDOMAgent::removeAttribute):
665         (WebCore::InspectorDOMAgent::removeNode):
666         (WebCore::InspectorDOMAgent::setNodeName):
667         (WebCore::InspectorDOMAgent::setOuterHTML):
668         (WebCore::InspectorDOMAgent::setNodeValue):
669         (WebCore::InspectorDOMAgent::moveTo):
670         (WebCore::InspectorDOMAgent::undo):
671         (WebCore::InspectorDOMAgent::markUndoableState):
672         * inspector/InspectorDOMAgent.h:
673         (InspectorDOMAgent):
674         (WebCore::InspectorDOMAgent::history):
675         * inspector/InspectorHistory.cpp: Added.
676         (WebCore::InspectorHistory::Action::Action):
677         (WebCore):
678         (WebCore::InspectorHistory::Action::~Action):
679         (WebCore::InspectorHistory::Action::toString):
680         (WebCore::InspectorHistory::Action::isUndoableStateMark):
681         (WebCore::InspectorHistory::Action::mergeId):
682         (WebCore::InspectorHistory::Action::merge):
683         (WebCore::InspectorHistory::InspectorHistory):
684         (WebCore::InspectorHistory::~InspectorHistory):
685         (WebCore::InspectorHistory::perform):
686         (WebCore::InspectorHistory::markUndoableState):
687         (WebCore::InspectorHistory::undo):
688         (WebCore::InspectorHistory::reset):
689         * inspector/InspectorHistory.h: Added.
690         (WebCore):
691         (InspectorHistory):
692         (Action):
693         * inspector/InspectorStyleSheet.cpp:
694         (WebCore::InspectorStyle::setPropertyText):
695         (WebCore::InspectorStyle::styleText):
696         (WebCore::InspectorStyleSheet::addRule):
697         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
698         (WebCore::InspectorStyleSheet::buildObjectForStyle):
699         (WebCore::InspectorStyleSheet::setPropertyText):
700         (WebCore::InspectorStyleSheet::getText):
701         (WebCore::InspectorStyleSheetForInlineStyle::getText):
702         * inspector/InspectorStyleSheet.h:
703         (InspectorStyle):
704         (InspectorStyleSheet):
705         (InspectorStyleSheetForInlineStyle):
706         * inspector/front-end/CSSStyleModel.js:
707         (WebInspector.CSSProperty.prototype.setText):
708         * inspector/front-end/ElementsPanel.js:
709         (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
710         (WebInspector.ElementsPanel.prototype._updateSidebars):
711         (WebInspector.ElementsPanel.prototype.handleShortcut):
712         * inspector/front-end/StylesSidebarPane.js:
713         (WebInspector.StylePropertiesSection.prototype.onpopulate):
714         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
715         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
716         (WebInspector.StylePropertyTreeElement):
717         (WebInspector.StylePropertyTreeElement.prototype):
718
719 2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
720
721         Unreviewed, rolling out r106935.
722         http://trac.webkit.org/changeset/106935
723         https://bugs.webkit.org/show_bug.cgi?id=77994
724
725         "Crashes runMultiThread webkit_unit_test" (Requested by tonyg-
726         cr on #webkit).
727
728         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
729         (WebCore::CCLayerTreeHost::setNeedsRedraw):
730         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
731         (WebCore::CCSingleThreadProxy::setNeedsRedraw):
732         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
733         (WebCore::CCThreadProxy::setNeedsRedraw):
734         * platform/graphics/chromium/cc/CCThreadProxy.h:
735         (CCThreadProxy):
736
737 2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
738
739         Unreviewed, rolling out r106932.
740         http://trac.webkit.org/changeset/106932
741         https://bugs.webkit.org/show_bug.cgi?id=77988
742
743         Breaks Mac bots (Requested by pfeldman on #webkit).
744
745         * CMakeLists.txt:
746         * GNUmakefile.list.am:
747         * Target.pri:
748         * WebCore.gypi:
749         * WebCore.vcproj/WebCore.vcproj:
750         * WebCore.xcodeproj/project.pbxproj:
751         * inspector/Inspector.json:
752         * inspector/InspectorAllInOne.cpp:
753         * inspector/InspectorCSSAgent.cpp:
754         (WebCore::InspectorCSSAgent::getStyleSheetText):
755         (WebCore::InspectorCSSAgent::setStyleSheetText):
756         (WebCore::InspectorCSSAgent::setPropertyText):
757         (WebCore::InspectorCSSAgent::toggleProperty):
758         * inspector/InspectorCSSAgent.h:
759         (InspectorCSSAgent):
760         * inspector/InspectorDOMAgent.cpp:
761         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
762         (WebCore::InspectorDOMAgent::reset):
763         (WebCore::InspectorDOMAgent::setAttributeValue):
764         (WebCore::InspectorDOMAgent::setAttributesAsText):
765         (WebCore::InspectorDOMAgent::removeAttribute):
766         (WebCore::InspectorDOMAgent::removeNode):
767         (WebCore::InspectorDOMAgent::setNodeName):
768         (WebCore::InspectorDOMAgent::setOuterHTML):
769         (WebCore::InspectorDOMAgent::setNodeValue):
770         (WebCore::InspectorDOMAgent::moveTo):
771         * inspector/InspectorDOMAgent.h:
772         (InspectorDOMAgent):
773         * inspector/InspectorHistory.cpp: Removed.
774         * inspector/InspectorHistory.h: Removed.
775         * inspector/InspectorStyleSheet.cpp:
776         (WebCore::InspectorStyle::setPropertyText):
777         (WebCore::InspectorStyle::styleText):
778         (WebCore::InspectorStyleSheet::addRule):
779         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
780         (WebCore::InspectorStyleSheet::buildObjectForStyle):
781         (WebCore::InspectorStyleSheet::setPropertyText):
782         (WebCore::InspectorStyleSheet::text):
783         (WebCore::InspectorStyleSheetForInlineStyle::text):
784         * inspector/InspectorStyleSheet.h:
785         (InspectorStyle):
786         (InspectorStyleSheet):
787         (InspectorStyleSheetForInlineStyle):
788         * inspector/front-end/CSSStyleModel.js:
789         (WebInspector.CSSProperty.prototype.setText):
790         * inspector/front-end/ElementsPanel.js:
791         (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
792         (WebInspector.ElementsPanel.prototype.handleShortcut):
793         * inspector/front-end/StylesSidebarPane.js:
794         (WebInspector.StylePropertiesSection.prototype.onpopulate):
795         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
796         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
797         (WebInspector.StylePropertyTreeElement):
798         (WebInspector.StylePropertyTreeElement.prototype):
799
800 2012-02-07  Priit Laes  <plaes@plaes.org>
801
802         [GTK] Build failure with --enable-web-audio
803         https://bugs.webkit.org/show_bug.cgi?id=77978
804
805         Reviewed by Gustavo Noronha Silva.
806
807         * GNUmakefile.list.am: Include AudioSourceProviderClient.h
808
809 2012-02-07  Alexei Filippov  <alexeif@chromium.org>
810
811         Web Inspector: fix objects duplication when switching filter in heap profiler.
812         https://bugs.webkit.org/show_bug.cgi?id=77974
813
814         Reviewed by Yury Semikhatsky.
815
816         * inspector/front-end/DetailedHeapshotView.js:
817         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
818
819 2012-02-07  Jonathan Backer  <backer@chromium.org>
820
821         [chromium] Add setNeedsRedraw to WebWidget
822         https://bugs.webkit.org/show_bug.cgi?id=77555
823
824         Reviewed by James Robinson.
825
826         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
827         (WebCore::CCLayerTreeHost::setNeedsRedraw):
828         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
829         (WebCore::CCSingleThreadProxy::setNeedsRedraw):
830         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
831         (WebCore::CCThreadProxy::setNeedsRedraw):
832         (WebCore::CCThreadProxy::resetDamageTrackerOnImplThread):
833         (WebCore):
834         * platform/graphics/chromium/cc/CCThreadProxy.h:
835         (CCThreadProxy):
836
837 2012-02-07  Michael Brüning  <michael.bruning@nokia.com>
838
839         [Qt][WK2] Compute and set cache capacities using the current CacheModel
840         https://bugs.webkit.org/show_bug.cgi?id=73918
841
842         Reviewed by Kenneth Rohde Christiansen.
843
844         No new tests. (build fix)
845
846         * platform/qt/FileSystemQt.cpp:
847         (WebCore::getVolumeFreeSizeForPath):
848
849 2012-02-07  Pavel Feldman  <pfeldman@google.com>
850
851         Web Inspector: add generic support for undo-ing DOM edits.
852         https://bugs.webkit.org/show_bug.cgi?id=77875
853
854         Reviewed by Yury Semikhatsky.
855
856         This change introduces InspectorHistory::Action that encapsulates all DOM modifications
857         initiated by the inspector. There is a way to undo these actions up until the undoable
858         state marker.
859
860         Tests: inspector/elements/undo-dom-edits-2.html
861                inspector/elements/undo-dom-edits.html
862                inspector/styles/undo-add-property.html
863                inspector/styles/undo-change-property.html
864                inspector/styles/undo-property-toggle.html
865
866         * CMakeLists.txt:
867         * GNUmakefile.list.am:
868         * Target.pri:
869         * WebCore.gypi:
870         * WebCore.vcproj/WebCore.vcproj:
871         * WebCore.xcodeproj/project.pbxproj:
872         * inspector/Inspector.json:
873         * inspector/InspectorAllInOne.cpp:
874         * inspector/InspectorCSSAgent.cpp:
875         (InspectorCSSAgent::StyleSheetAction):
876         (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
877         (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
878         (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
879         (WebCore):
880         (InspectorCSSAgent::SetStyleSheetTextAction):
881         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
882         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
883         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
884         (InspectorCSSAgent::SetPropertyTextAction):
885         (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
886         (WebCore::InspectorCSSAgent::SetPropertyTextAction::toString):
887         (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
888         (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
889         (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
890         (WebCore::InspectorCSSAgent::SetPropertyTextAction::merge):
891         (InspectorCSSAgent::TogglePropertyAction):
892         (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
893         (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
894         (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
895         (WebCore::InspectorCSSAgent::getStyleSheetText):
896         (WebCore::InspectorCSSAgent::setStyleSheetText):
897         (WebCore::InspectorCSSAgent::setPropertyText):
898         (WebCore::InspectorCSSAgent::toggleProperty):
899         * inspector/InspectorCSSAgent.h:
900         (InspectorCSSAgent):
901         * inspector/InspectorDOMAgent.cpp:
902         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
903         (WebCore::InspectorDOMAgent::reset):
904         (WebCore::InspectorDOMAgent::setAttributeValue):
905         (WebCore::InspectorDOMAgent::setAttributesAsText):
906         (WebCore::InspectorDOMAgent::removeAttribute):
907         (WebCore::InspectorDOMAgent::removeNode):
908         (WebCore::InspectorDOMAgent::setNodeName):
909         (WebCore::InspectorDOMAgent::setOuterHTML):
910         (WebCore::InspectorDOMAgent::setNodeValue):
911         (WebCore::InspectorDOMAgent::moveTo):
912         (WebCore::InspectorDOMAgent::undo):
913         (WebCore):
914         (WebCore::InspectorDOMAgent::markUndoableState):
915         * inspector/InspectorDOMAgent.h:
916         (InspectorDOMAgent):
917         (WebCore::InspectorDOMAgent::history):
918         * inspector/InspectorHistory.cpp: Added.
919         (WebCore::InspectorHistory::Action::Action):
920         (WebCore):
921         (WebCore::InspectorHistory::Action::~Action):
922         (WebCore::InspectorHistory::Action::toString):
923         (WebCore::InspectorHistory::Action::isUndoableStateMark):
924         (WebCore::InspectorHistory::Action::mergeId):
925         (WebCore::InspectorHistory::Action::merge):
926         (WebCore::InspectorHistory::InspectorHistory):
927         (WebCore::InspectorHistory::~InspectorHistory):
928         (WebCore::InspectorHistory::perform):
929         (WebCore::InspectorHistory::markUndoableState):
930         (WebCore::InspectorHistory::undo):
931         (WebCore::InspectorHistory::reset):
932         * inspector/InspectorHistory.h: Added.
933         (WebCore):
934         (InspectorHistory):
935         (Action):
936         * inspector/InspectorStyleSheet.cpp:
937         (WebCore::InspectorStyle::setPropertyText):
938         (WebCore::InspectorStyle::styleText):
939         (WebCore::InspectorStyleSheet::addRule):
940         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
941         (WebCore::InspectorStyleSheet::buildObjectForStyle):
942         (WebCore::InspectorStyleSheet::setPropertyText):
943         (WebCore::InspectorStyleSheet::getText):
944         (WebCore::InspectorStyleSheetForInlineStyle::getText):
945         * inspector/InspectorStyleSheet.h:
946         (InspectorStyle):
947         (InspectorStyleSheet):
948         (InspectorStyleSheetForInlineStyle):
949         * inspector/front-end/CSSStyleModel.js:
950         (WebInspector.CSSProperty.prototype.setText):
951         * inspector/front-end/ElementsPanel.js:
952         (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
953         (WebInspector.ElementsPanel.prototype._updateSidebars):
954         (WebInspector.ElementsPanel.prototype.handleShortcut):
955         * inspector/front-end/StylesSidebarPane.js:
956         (WebInspector.StylePropertiesSection.prototype.onpopulate):
957         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
958         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
959         (WebInspector.StylePropertyTreeElement):
960         (WebInspector.StylePropertyTreeElement.prototype):
961
962 2012-02-07  Chris Guan  <chris.guan@torchmobile.com.cn>
963
964         [Blackberry] Clean up Networkjob and Networkmanger: remove unused variables in release build and change some public functions into be private ones
965         https://bugs.webkit.org/show_bug.cgi?id=77926
966
967         Reviewed by Rob Buis.
968
969         1. rename clientIsOk to isClientAvailable.
970         2. m_isRunning is only for an ASSERT in NetWorkManager, So move out from
971         release build but keep available in debug build.
972         
973         No changes in behavior, so no new tests.
974
975         * platform/network/blackberry/NetworkJob.cpp:
976         (WebCore::NetworkJob::NetworkJob):
977         (WebCore::NetworkJob::handleNotifyDataReceived):
978         (WebCore::NetworkJob::handleNotifyDataSent):
979         (WebCore::NetworkJob::handleNotifyClose):
980         (WebCore::NetworkJob::startNewJobWithRequest):
981         (WebCore::NetworkJob::sendResponseIfNeeded):
982         (WebCore::NetworkJob::sendMultipartResponseIfNeeded):
983         * platform/network/blackberry/NetworkJob.h:
984         (NetworkJob):
985         (WebCore::NetworkJob::isClientAvailable):
986
987 2012-02-06  Yury Semikhatsky  <yurys@chromium.org>
988
989         Web Inspector: don't mark object is queriable if it is only reachable by internal reference
990         https://bugs.webkit.org/show_bug.cgi?id=77877
991
992         Reviewed by Pavel Feldman.
993
994         * inspector/front-end/HeapSnapshot.js:
995         (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
996
997 2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
998
999         Unreviewed, rolling out r106909.
1000         http://trac.webkit.org/changeset/106909
1001         https://bugs.webkit.org/show_bug.cgi?id=77965
1002
1003         ~20 tests are crashing on chromium win release bot. (Requested
1004         by loislo on #webkit).
1005
1006         * html/HTMLDetailsElement.cpp:
1007         (WebCore::HTMLDetailsElement::createShadowSubtree):
1008         * html/HTMLKeygenElement.cpp:
1009         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
1010         * html/HTMLMeterElement.cpp:
1011         (WebCore::HTMLMeterElement::createShadowSubtree):
1012         * html/HTMLProgressElement.cpp:
1013         (WebCore::HTMLProgressElement::createShadowSubtree):
1014         * html/HTMLSummaryElement.cpp:
1015         (WebCore::HTMLSummaryElement::createShadowSubtree):
1016         * html/HTMLTextAreaElement.cpp:
1017         (WebCore::HTMLTextAreaElement::createShadowSubtree):
1018
1019 2012-02-07  Andreas Kling  <awesomekling@apple.com>
1020
1021         REGRESSION(r106819): ~28% or so performance regression on the ManInBlue HTML benchmark
1022         <http://webkit.org/b/77952>
1023
1024         Reviewed by Andreas Kling.
1025         Patch by Ryosuke Niwa.
1026
1027         The performance regression was caused by using ensureAttributeData() which forces the
1028         regeneration of invalidated attributes ("style" and SVG animatable attributes.)
1029         Added an ensureAttributeDataWithoutUpdate() helper that only ensures the presence
1030         of ElementAttributeData, not the validity of its contents. Use that when grabbing
1031         at an element's inline and attribute styles.
1032
1033         * dom/Element.h:
1034         (Element):
1035         (WebCore::Element::ensureAttributeDataWithoutUpdate):
1036         * dom/StyledElement.h:
1037         (WebCore::StyledElement::ensureInlineStyleDecl):
1038         (WebCore::StyledElement::ensureAttributeStyle):
1039
1040 2012-02-07  Michael Brüning  <michael.bruning@nokia.com>
1041
1042         [Qt][WK2] Compute and set cache capacities using the current CacheModel
1043         https://bugs.webkit.org/show_bug.cgi?id=73918
1044
1045         Reviewed by Csaba Osztrogonác.
1046
1047         No new tests. (build fix).
1048
1049         * platform/qt/FileSystemQt.cpp:
1050
1051 2012-02-07  Michael Brüning  <michael.bruning@nokia.com>
1052
1053         [Qt][WK2] Compute and set cache capacities using the current CacheModel
1054         https://bugs.webkit.org/show_bug.cgi?id=73918
1055
1056         Reviewed by Kenneth Rohde Christiansen.
1057
1058         No new tests. (Not applicable)
1059
1060         Added OS-specific implementation for retrieving the free disk space.
1061
1062         * platform/FileSystem.h:
1063         (WebCore):
1064         * platform/qt/FileSystemQt.cpp:
1065         (WebCore::getVolumeFreeSizeForPath):
1066         (WebCore):
1067
1068 2012-02-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1069
1070         [Inspector] Add the Nokia N9 user agent
1071         https://bugs.webkit.org/show_bug.cgi?id=77949
1072
1073         Reviewed by Simon Hausmann.
1074
1075         * inspector/front-end/SettingsScreen.js:
1076         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
1077
1078 2012-02-07  Alexander Pavlov  <apavlov@chromium.org>
1079
1080         [CRASH] bool EventHandler::dispatchSyntheticTouchEventIfEnabled(const PlatformMouseEvent& event) references a NULL pointer
1081         https://bugs.webkit.org/show_bug.cgi?id=77953
1082
1083         Reviewed by Andreas Kling.
1084
1085         * page/EventHandler.cpp:
1086         (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
1087
1088 2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1089
1090         Unreviewed, rolling out r106912.
1091         http://trac.webkit.org/changeset/106912
1092         https://bugs.webkit.org/show_bug.cgi?id=77947
1093
1094         "AppleWebKit build is broken" (Requested by haraken on
1095         #webkit).
1096
1097         * dom/ScriptExecutionContext.cpp:
1098         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1099         (WebCore):
1100         * dom/ScriptExecutionContext.h:
1101         (WebCore):
1102         (ScriptExecutionContext):
1103         * html/DOMURL.cpp:
1104         (WebCore::DOMURL::DOMURL):
1105         (WebCore):
1106         (WebCore::DOMURL::~DOMURL):
1107         (WebCore::DOMURL::contextDestroyed):
1108         (WebCore::DOMURL::createObjectURL):
1109         (WebCore::DOMURL::revokeObjectURL):
1110         * html/DOMURL.h:
1111         (WebCore::DOMURL::create):
1112         (DOMURL):
1113         * html/DOMURL.idl:
1114         * html/PublicURLManager.h: Removed.
1115         * page/DOMWindow.cpp:
1116         (WebCore):
1117         (WebCore::DOMWindow::webkitURL):
1118         * page/DOMWindow.h:
1119         (DOMWindow):
1120         * page/DOMWindow.idl:
1121         * workers/WorkerContext.cpp:
1122         (WebCore):
1123         (WebCore::WorkerContext::webkitURL):
1124         * workers/WorkerContext.h:
1125         (WorkerContext):
1126         * workers/WorkerContext.idl:
1127
1128 2012-02-07  Kentaro Hara  <haraken@chromium.org>
1129
1130         Unreviewed, rolling out r106862.
1131         http://trac.webkit.org/changeset/106862
1132         https://bugs.webkit.org/show_bug.cgi?id=77510
1133
1134         Mac build fails if we manually remove generated code
1135
1136         * DerivedSources.make:
1137         * bindings/scripts/generate-bindings.pl:
1138         (generateEmptyHeaderAndCpp):
1139         * bindings/scripts/resolve-supplemental.pl:
1140         * bindings/scripts/update-idl-needs-rebuild.pl: Removed.
1141
1142 2012-02-07  Kaustubh Atrawalkar  <kaustubh@motorola.com>
1143
1144         Migrate createObjectURL & revokeObjectURL to static (Class) methods.
1145         https://bugs.webkit.org/show_bug.cgi?id=74386
1146
1147         Reviewed by David Levin.
1148
1149         Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
1150         Already Existing:
1151             fast/files/revoke-blob-url.html
1152             fast/dom/window-domurl-crash.html
1153             fast/files/apply-blob-url-to-img.html
1154             fast/files/create-blob-url-crash.html
1155             fast/files/workers/inline-worker-via-blob-url.html
1156
1157         * dom/ScriptExecutionContext.cpp:
1158         (WebCore::ScriptExecutionContext::fileThread):
1159         (WebCore):
1160         (WebCore::ScriptExecutionContext::publicURLManager):
1161         * dom/ScriptExecutionContext.h:
1162         (WebCore):
1163         (ScriptExecutionContext):
1164         * html/DOMURL.cpp:
1165         (WebCore):
1166         (WebCore::DOMURL::createObjectURL): Changed to static.
1167         (WebCore::DOMURL::revokeObjectURL): ditto.
1168         * html/DOMURL.h:
1169         (DOMURL):
1170         (WebCore::DOMURL::create):
1171         * html/DOMURL.idl:
1172         * html/PublicURLManager.h: Added.
1173         (WebCore):
1174         (PublicURLManager):
1175         (WebCore::PublicURLManager::create):
1176         (WebCore::PublicURLManager::contextDestroyed):
1177         (WebCore::PublicURLManager::blobURLs):
1178         (WebCore::PublicURLManager::streamURLs):
1179         * page/DOMWindow.cpp: Removed object initialization for DOMURL.
1180         (WebCore):
1181         * page/DOMWindow.h: ditto.
1182         (DOMWindow):
1183         * page/DOMWindow.idl:
1184         * workers/WorkerContext.cpp:
1185         (WebCore):
1186         * workers/WorkerContext.h:
1187         (WorkerContext):
1188         * workers/WorkerContext.idl:
1189
1190 2012-02-03  Vsevolod Vlasov  <vsevik@chromium.org>
1191
1192         http/tests/inspector/indexeddb/database-structure.html failing on chromium win/linux
1193         https://bugs.webkit.org/show_bug.cgi?id=77661
1194
1195         Reviewed by Yury Semikhatsky.
1196
1197         * inspector/InspectorIndexedDBAgent.cpp:
1198         (WebCore):
1199
1200 2012-02-07  Hayato Ito  <hayato@chromium.org>
1201
1202         Fix build on Mac with '--shadow-dom'.
1203         https://bugs.webkit.org/show_bug.cgi?id=77940
1204
1205         Reviewed by Hajime Morita.
1206
1207         * WebCore.xcodeproj/project.pbxproj:
1208
1209 2012-02-06  Shinya Kawanaka  <shinyak@google.com>
1210
1211         Stop calling Element::ensureShadowRoot() if it is used in construction phase.
1212         https://bugs.webkit.org/show_bug.cgi?id=77929
1213
1214         Reviewed by Hajime Morita.
1215
1216         ShadowRoot's life cycle can be consufing If Element::ensureShadowRoot() is used.
1217         So we want to remove Element::ensureShadowRoot().
1218         This patch replaces Element::ensureShadowRoot() if it is used in object construction phase.
1219
1220         No new tests, no change in behavior.
1221
1222         * html/HTMLDetailsElement.cpp:
1223         (WebCore::HTMLDetailsElement::createShadowSubtree):
1224         * html/HTMLKeygenElement.cpp:
1225         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
1226         * html/HTMLMeterElement.cpp:
1227         (WebCore::HTMLMeterElement::createShadowSubtree):
1228         * html/HTMLProgressElement.cpp:
1229         (WebCore::HTMLProgressElement::createShadowSubtree):
1230         * html/HTMLSummaryElement.cpp:
1231         (WebCore::HTMLSummaryElement::createShadowSubtree):
1232         * html/HTMLTextAreaElement.cpp:
1233         (WebCore::HTMLTextAreaElement::createShadowSubtree):
1234
1235 2012-02-06  Shinya Kawanaka  <shinyak@google.com>
1236
1237         Remove Element::ensureShadowRoot export.
1238         https://bugs.webkit.org/show_bug.cgi?id=77932
1239
1240         Reviewed by Hajime Morita.
1241
1242         Removes Element::ensureShadowRoot export.
1243
1244         No new tests, no change in behavior.
1245
1246         * WebCore.exp.in:
1247
1248 2012-02-06  Ilya Tikhonovsky  <loislo@chromium.org>
1249
1250         Unreviewed. Web Inspector: rename Artificial to Synthetic according to v8 patch r10614.
1251
1252         * inspector/front-end/DetailedHeapshotGridNodes.js:
1253         * inspector/front-end/HeapSnapshot.js:
1254         (WebInspector.HeapSnapshotNode.prototype.get isSynthetic):
1255         (WebInspector.HeapSnapshot.prototype._init):
1256
1257 2012-02-06  Hayato Ito  <hayato@chromium.org>
1258
1259         Implement querySelector on ShadowRoot.
1260         https://bugs.webkit.org/show_bug.cgi?id=77714
1261
1262         Reviewed by Dimitri Glazkov.
1263
1264         * dom/SelectorQuery.cpp:
1265         (WebCore::nodeIsRootNodeOfTreeScope):
1266         (WebCore):
1267         (WebCore::SelectorDataList::execute):
1268
1269 2012-02-06  Martin Robinson  <mrobinson@igalia.com> and Nayan Kumar K  <nayankk@motorola.com>
1270
1271         [GTK] Add TextureMapperGL implementation
1272         https://bugs.webkit.org/show_bug.cgi?id=75308
1273
1274         Reviewed by Alejandro G. Castro.
1275
1276         No new tests. This will be covered by accelerated compositing and
1277         3D CSS transform tests eventually.
1278
1279         * GNUmakefile.list.am: Added some files necessary to build TextureMapperGL.
1280         * platform/graphics/cairo/TextureMapperGLCairo.cpp: Added implementations.
1281         * platform/graphics/cairo/TextureMapperGLCairo.h: Updated member list.
1282         * platform/graphics/gtk/WindowGLContext.h: Added.
1283         * platform/graphics/gtk/WindowGLContextGLX.cpp: Added.
1284         * platform/graphics/opengl/TextureMapperGL.cpp: Use the GL shims on GTK.
1285
1286 2012-02-06  Emil A Eklund  <eae@chromium.org>
1287
1288         Change baselinePosition and lineHeight to LayoutUnit
1289         https://bugs.webkit.org/show_bug.cgi?id=77905
1290
1291         Reviewed by Eric Seidel.
1292
1293         Change the virtual baselinePosition and lineHeight methods to return
1294         LayoutUnits as they are both computed from the height and top/bottom
1295         margins (or width and left/right margins for vertical text), all of
1296         which are LayoutUnits.
1297
1298         No new tests.
1299
1300         * platform/efl/RenderThemeEfl.cpp:
1301         (WebCore::RenderThemeEfl::baselinePosition):
1302         * platform/efl/RenderThemeEfl.h:
1303         (RenderThemeEfl):
1304         * platform/gtk/RenderThemeGtk.cpp:
1305         (WebCore::RenderThemeGtk::baselinePosition):
1306         * platform/gtk/RenderThemeGtk.h:
1307         (RenderThemeGtk):
1308         * platform/qt/RenderThemeQt.cpp:
1309         (WebCore::RenderThemeQt::baselinePosition):
1310         * platform/qt/RenderThemeQt.h:
1311         (RenderThemeQt):
1312         * rendering/RenderListMarker.cpp:
1313         (WebCore::RenderListMarker::lineHeight):
1314         (WebCore::RenderListMarker::baselinePosition):
1315         * rendering/RenderListMarker.h:
1316         (RenderListMarker):
1317         * rendering/RenderSlider.cpp:
1318         (WebCore::RenderSlider::baselinePosition):
1319         * rendering/RenderSlider.h:
1320         (RenderSlider):
1321         * rendering/RootInlineBox.h:
1322         (WebCore::RootInlineBox::baselinePosition):
1323         (WebCore::RootInlineBox::lineHeight):
1324         * rendering/mathml/RenderMathMLFraction.cpp:
1325         (WebCore::RenderMathMLFraction::baselinePosition):
1326         * rendering/mathml/RenderMathMLFraction.h:
1327         (RenderMathMLFraction):
1328         * rendering/mathml/RenderMathMLOperator.cpp:
1329         (WebCore::RenderMathMLOperator::baselinePosition):
1330         * rendering/mathml/RenderMathMLOperator.h:
1331         (RenderMathMLOperator):
1332         * rendering/mathml/RenderMathMLRow.cpp:
1333         (WebCore::RenderMathMLRow::baselinePosition):
1334         * rendering/mathml/RenderMathMLRow.h:
1335         (RenderMathMLRow):
1336         * rendering/mathml/RenderMathMLSubSup.cpp:
1337         (WebCore::RenderMathMLSubSup::baselinePosition):
1338         * rendering/mathml/RenderMathMLSubSup.h:
1339         (RenderMathMLSubSup):
1340         * rendering/mathml/RenderMathMLUnderOver.cpp:
1341         (WebCore::RenderMathMLUnderOver::baselinePosition):
1342         * rendering/mathml/RenderMathMLUnderOver.h:
1343         (RenderMathMLUnderOver):
1344
1345 2012-02-06  Xianzhu Wang  <wangxianzhu@chromium.org>
1346
1347         Avoid Page::updateViewportArguments() if the causing frame is not the main frame
1348         https://bugs.webkit.org/show_bug.cgi?id=77387
1349
1350         Reviewed by Kenneth Rohde Christiansen.
1351
1352         * dom/Document.cpp:
1353         (WebCore::Document::processViewport):
1354         (WebCore::Document::updateViewportArguments):
1355         (WebCore::Document::setInPageCache):
1356         * dom/Document.h:
1357         (Document):
1358         * html/HTMLBodyElement.cpp:
1359         (WebCore::HTMLBodyElement::insertedIntoDocument):
1360         * page/Frame.cpp:
1361         (WebCore::Frame::setDocument):
1362         * page/Page.cpp:
1363         (WebCore::Page::viewportArguments):
1364         (WebCore):
1365         * page/Page.h:
1366         (Page):
1367
1368 2012-02-06  Martin Robinson  <mrobinson@igalia.com>
1369
1370         Fix some miscellaneous 'make dist' error for WebKitGTK+.
1371
1372         * GNUmakefile.list.am: Add some missing Shadow DOM files to the
1373         source list.
1374
1375 2012-02-06  Dana Jansens  <danakj@chromium.org>
1376
1377         Add contains() test to Region
1378         https://bugs.webkit.org/show_bug.cgi?id=72294
1379
1380         Reviewed by Anders Carlsson.
1381
1382         * platform/graphics/Region.cpp:
1383         (WebCore::Region::contains):
1384         (WebCore):
1385         * platform/graphics/Region.h:
1386         (Region):
1387         (Shape):
1388         (WebCore::operator==):
1389         (WebCore):
1390
1391 2012-02-06  Kentaro Hara  <haraken@chromium.org>
1392
1393         Rename [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
1394         [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs
1395         https://bugs.webkit.org/show_bug.cgi?id=77852
1396
1397         Reviewed by Adam Barth.
1398
1399         This patch renames [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
1400         [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs for clarification.
1401
1402         [DontCheckEnums] => [DoNotCheckConstants]  (This IDL inserts assertions to check if a
1403         constant value is equal to the expected constant value)
1404         [ReturnsNew] => [ReturnNewObject] (For clarification)
1405         [DoNotCheckDomainSecurityOnGet] => [DoNotCheckDomainSecurityOnGetter] (For naming consistency
1406         with other [*Getter] IDLs)
1407         [DoNotCheckDomainSecurityOnSet] => [DoNotCheckDomainSecurityOnSetter] (For naming consistency
1408         with other [*Setter] IDLs)
1409         [ImplementationFunction=] => [ImplementedAs=] (For clarification. This IDL specifies a method
1410         name in implementation)
1411
1412         No tests. No change in behavior.
1413
1414         * bindings/scripts/CodeGenerator.pm:
1415         (ShouldCheckEnums):
1416         (GenerateCompileTimeCheckForEnumsIfNeeded):
1417         * bindings/scripts/CodeGeneratorJS.pm:
1418         (GenerateHeader):
1419         (GenerateImplementation):
1420         (NativeToJSValue):
1421         * bindings/scripts/CodeGeneratorV8.pm:
1422         (GenerateSingleBatchedAttribute):
1423         (GenerateFunctionCallString):
1424         (NativeToJSValue):
1425
1426         * bindings/scripts/test/TestObj.idl:
1427         * bindings/scripts/test/TestTypedArray.idl:
1428
1429         * bindings/scripts/test/JS/JSTestInterface.cpp:
1430         (WebCore):
1431         * bindings/scripts/test/JS/JSTestObj.cpp:
1432         (WebCore):
1433         * bindings/scripts/test/V8/V8TestInterface.cpp:
1434         (WebCore):
1435         * bindings/scripts/test/V8/V8TestObj.cpp:
1436         (WebCore):
1437
1438         * css/WebKitCSSFilterValue.idl:
1439         * css/WebKitCSSTransformValue.idl:
1440         * dom/DOMCoreException.idl:
1441         * dom/Document.idl:
1442         * dom/EventException.idl:
1443         * dom/RangeException.idl:
1444         * fileapi/FileException.idl:
1445         * fileapi/OperationNotAllowedException.idl:
1446         * html/HTMLFormElement.idl:
1447         * html/canvas/Float32Array.idl:
1448         * html/canvas/Float64Array.idl:
1449         * html/canvas/Int16Array.idl:
1450         * html/canvas/Int32Array.idl:
1451         * html/canvas/Int8Array.idl:
1452         * html/canvas/OESStandardDerivatives.idl:
1453         * html/canvas/OESVertexArrayObject.idl:
1454         * html/canvas/Uint16Array.idl:
1455         * html/canvas/Uint32Array.idl:
1456         * html/canvas/Uint8Array.idl:
1457         * html/canvas/Uint8ClampedArray.idl:
1458         * html/canvas/WebGLCompressedTextures.idl:
1459         * html/canvas/WebGLDebugRendererInfo.idl:
1460         * html/canvas/WebGLRenderingContext.idl:
1461         * inspector/JavaScriptCallFrame.idl:
1462         * loader/appcache/DOMApplicationCache.idl:
1463         * page/Console.idl:
1464         * page/DOMWindow.idl:
1465         * page/Location.idl:
1466         * storage/IDBCursor.idl:
1467         * storage/IDBDatabaseException.idl:
1468         * storage/IDBObjectStore.idl:
1469         * storage/SQLException.idl:
1470         * svg/SVGComponentTransferFunctionElement.idl:
1471         * svg/SVGException.idl:
1472         * svg/SVGFEBlendElement.idl:
1473         * svg/SVGFEColorMatrixElement.idl:
1474         * svg/SVGFECompositeElement.idl:
1475         * svg/SVGFEConvolveMatrixElement.idl:
1476         * svg/SVGFEDisplacementMapElement.idl:
1477         * svg/SVGFEMorphologyElement.idl:
1478         * svg/SVGFETurbulenceElement.idl:
1479         * svg/SVGGradientElement.idl:
1480         * xml/XMLHttpRequestException.idl:
1481         * xml/XPathException.idl:
1482
1483 2012-02-06  James Robinson  <jamesr@chromium.org>
1484
1485         [chromium] canvas demo is slow due to unnecessary resource cleanups
1486         https://bugs.webkit.org/show_bug.cgi?id=77135
1487
1488         Reviewed by Kenneth Russell.
1489
1490         This defers dropping a ManagedTexture until it is evicted by the manager, the layer is destroyed, the
1491         TextureManager is destroyed, or the layer is added to a CCLayerTreeHost that has a different texture manager. In
1492         particular, removing a layer from a CCLayerTreeHost and then adding it back to the same host does not drop any
1493         ManagedTextures unless the manager has to evict it for other reasons. This provides a big speedup on sites that
1494         rebuild the compositing tree frequently.
1495
1496         New unit test added for ManagedTexture / TextureManager interaction.
1497
1498         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1499         (WebCore::Canvas2DLayerChromium::setLayerTreeHost):
1500         (WebCore::Canvas2DLayerChromium::setTextureManager):
1501         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1502         (Canvas2DLayerChromium):
1503         * platform/graphics/chromium/LayerChromium.cpp:
1504         (WebCore::LayerChromium::setLayerTreeHost):
1505         * platform/graphics/chromium/LayerChromium.h:
1506         (LayerChromium):
1507         * platform/graphics/chromium/ManagedTexture.cpp:
1508         (WebCore::ManagedTexture::setTextureManager):
1509         (WebCore):
1510         (WebCore::ManagedTexture::steal):
1511         (WebCore::ManagedTexture::clear):
1512         * platform/graphics/chromium/ManagedTexture.h:
1513         (ManagedTexture):
1514         * platform/graphics/chromium/RenderSurfaceChromium.h:
1515         (RenderSurfaceChromium):
1516         * platform/graphics/chromium/TiledLayerChromium.cpp:
1517         (WebCore::TiledLayerChromium::setLayerTreeHost):
1518         (WebCore):
1519         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1520         * platform/graphics/chromium/TiledLayerChromium.h:
1521
1522 2012-02-06  Kentaro Hara  <haraken@chromium.org>
1523
1524         Unreviewed, rolling out r106883.
1525         http://trac.webkit.org/changeset/106883
1526         https://bugs.webkit.org/show_bug.cgi?id=77852
1527
1528         build failure around Chromium V8 bindings
1529
1530         * bindings/scripts/CodeGenerator.pm:
1531         (ShouldCheckEnums):
1532         (GenerateCompileTimeCheckForEnumsIfNeeded):
1533         * bindings/scripts/CodeGeneratorJS.pm:
1534         (GenerateHeader):
1535         (GenerateImplementation):
1536         (NativeToJSValue):
1537         * bindings/scripts/CodeGeneratorV8.pm:
1538         (GenerateSingleBatchedAttribute):
1539         (GenerateFunctionCallString):
1540         (NativeToJSValue):
1541         * bindings/scripts/test/JS/JSTestInterface.cpp:
1542         (WebCore):
1543         * bindings/scripts/test/JS/JSTestObj.cpp:
1544         (WebCore):
1545         * bindings/scripts/test/TestObj.idl:
1546         * bindings/scripts/test/TestTypedArray.idl:
1547         * bindings/scripts/test/V8/V8TestInterface.cpp:
1548         (WebCore):
1549         * bindings/scripts/test/V8/V8TestObj.cpp:
1550         (WebCore):
1551         * css/WebKitCSSFilterValue.idl:
1552         * css/WebKitCSSTransformValue.idl:
1553         * dom/DOMCoreException.idl:
1554         * dom/Document.idl:
1555         * dom/EventException.idl:
1556         * dom/RangeException.idl:
1557         * fileapi/FileException.idl:
1558         * fileapi/OperationNotAllowedException.idl:
1559         * html/HTMLFormElement.idl:
1560         * html/canvas/Float32Array.idl:
1561         * html/canvas/Float64Array.idl:
1562         * html/canvas/Int16Array.idl:
1563         * html/canvas/Int32Array.idl:
1564         * html/canvas/Int8Array.idl:
1565         * html/canvas/OESStandardDerivatives.idl:
1566         * html/canvas/OESVertexArrayObject.idl:
1567         * html/canvas/Uint16Array.idl:
1568         * html/canvas/Uint32Array.idl:
1569         * html/canvas/Uint8Array.idl:
1570         * html/canvas/Uint8ClampedArray.idl:
1571         * html/canvas/WebGLCompressedTextures.idl:
1572         * html/canvas/WebGLDebugRendererInfo.idl:
1573         * html/canvas/WebGLRenderingContext.idl:
1574         * inspector/JavaScriptCallFrame.idl:
1575         * loader/appcache/DOMApplicationCache.idl:
1576         * page/Console.idl:
1577         * page/DOMWindow.idl:
1578         * page/Location.idl:
1579         * storage/IDBCursor.idl:
1580         * storage/IDBDatabaseException.idl:
1581         * storage/IDBObjectStore.idl:
1582         * storage/SQLException.idl:
1583         * svg/SVGComponentTransferFunctionElement.idl:
1584         * svg/SVGException.idl:
1585         * svg/SVGFEBlendElement.idl:
1586         * svg/SVGFEColorMatrixElement.idl:
1587         * svg/SVGFECompositeElement.idl:
1588         * svg/SVGFEConvolveMatrixElement.idl:
1589         * svg/SVGFEDisplacementMapElement.idl:
1590         * svg/SVGFEMorphologyElement.idl:
1591         * svg/SVGFETurbulenceElement.idl:
1592         * svg/SVGGradientElement.idl:
1593         * xml/XMLHttpRequestException.idl:
1594         * xml/XPathException.idl:
1595
1596 2012-02-06  Yongsheng Zhu  <yongsheng.zhu@intel.com>
1597
1598         WebGL must allocate smaller drawing buffer when the allocation fails. 
1599         https://bugs.webkit.org/show_bug.cgi?id=76654
1600
1601         Reviewed by Kenneth Russell.
1602
1603         Test: fast/canvas/webgl/drawingbuffer-test.html
1604
1605         * platform/graphics/gpu/DrawingBuffer.cpp:
1606         (WebCore):
1607         (WebCore::DrawingBuffer::create):
1608         (WebCore::DrawingBuffer::reset):
1609
1610 2012-02-06  Kentaro Hara  <haraken@chromium.org>
1611
1612         Unreviewed. Rebaselined run-bindings-tests results.
1613
1614         * bindings/scripts/test/V8/V8TestObj.cpp:
1615         (WebCore::TestObjInternal::optionsObjectCallback):
1616
1617 2012-02-06  Levi Weintraub  <leviw@chromium.org>
1618
1619         Correct usage of LayoutUnits in dom, editing, page, accessibility, inspector, and loader
1620         https://bugs.webkit.org/show_bug.cgi?id=77891
1621
1622         Reviewed by Darin Adler.
1623
1624         Updating the usage of LayoutUnits in the dom, editing, page, accessibility, inspector, and loader
1625         directories to properly use LayoutUnits vs ints.
1626
1627         No new tests. No new behavior.
1628
1629         * accessibility/AccessibilityObject.h:
1630         (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
1631         (WebCore::AccessibilityObject::doAXBoundsForRange):
1632         * accessibility/AccessibilityRenderObject.cpp:
1633         (WebCore::AccessibilityRenderObject::isOffScreen):
1634         (WebCore::AccessibilityRenderObject::clickPoint):
1635         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
1636         (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
1637         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
1638         * accessibility/AccessibilityRenderObject.h:
1639         (AccessibilityRenderObject):
1640         * accessibility/AccessibilitySlider.cpp:
1641         (WebCore::AccessibilitySlider::elementAccessibilityHitTest):
1642         * accessibility/AccessibilitySlider.h:
1643         (AccessibilitySlider):
1644         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1645         (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
1646         * css/CSSComputedStyleDeclaration.cpp:
1647         (WebCore::computedTransform):
1648         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1649         * dom/Clipboard.h:
1650         (WebCore::Clipboard::dragLocation):
1651         (Clipboard):
1652         * dom/DocumentMarkerController.cpp:
1653         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
1654         * dom/DocumentMarkerController.h:
1655         * dom/Element.cpp:
1656         (WebCore::Element::screenRect):
1657         * dom/Element.h:
1658         (Element):
1659         * editing/Editor.cpp:
1660         (WebCore::Editor::rangeForPoint):
1661         (WebCore::Editor::firstRectForRange):
1662         * editing/RenderedPosition.cpp:
1663         (WebCore::RenderedPosition::absoluteRect):
1664         * editing/RenderedPosition.h:
1665         (WebCore::RenderedPosition::absoluteRect):
1666         (RenderedPosition):
1667         * editing/VisiblePosition.h:
1668         (VisiblePosition):
1669         * inspector/DOMNodeHighlighter.cpp:
1670         * loader/SubframeLoader.cpp:
1671         (WebCore::SubframeLoader::createJavaAppletWidget):
1672         * loader/SubframeLoader.h:
1673         (SubframeLoader):
1674         * page/EventHandler.cpp:
1675         (WebCore::EventHandler::handleMousePressEvent):
1676         * page/Frame.cpp:
1677         (WebCore::Frame::nodeImage):
1678         * page/win/FrameCGWin.cpp:
1679         (WebCore::Frame::nodeImage):
1680
1681 2012-02-05  Kentaro Hara  <haraken@chromium.org>
1682
1683         Rename [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
1684         [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs
1685         https://bugs.webkit.org/show_bug.cgi?id=77852
1686
1687         Reviewed by Adam Barth.
1688
1689         This patch renames [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
1690         [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs for clarification.
1691
1692         [DontCheckEnums] => [DoNotCheckConstants]  (This IDL inserts assertions to check if a
1693         constant value is equal to the expected constant value)
1694         [ReturnsNew] => [ReturnNewObject] (For clarification)
1695         [DoNotCheckDomainSecurityOnGet] => [DoNotCheckDomainSecurityOnGetter] (For naming consistency
1696         with other [*Getter] IDLs)
1697         [DoNotCheckDomainSecurityOnSet] => [DoNotCheckDomainSecurityOnSetter] (For naming consistency
1698         with other [*Setter] IDLs)
1699         [ImplementationFunction=] => [ImplementedAs=] (For clarification. This IDL specifies a method
1700         name in implementation)
1701
1702         No tests. No change in behavior.
1703
1704         * bindings/scripts/CodeGenerator.pm:
1705         (ShouldCheckEnums):
1706         (GenerateCompileTimeCheckForEnumsIfNeeded):
1707         * bindings/scripts/CodeGeneratorJS.pm:
1708         (GenerateHeader):
1709         (GenerateImplementation):
1710         (NativeToJSValue):
1711         * bindings/scripts/CodeGeneratorV8.pm:
1712         (GenerateSingleBatchedAttribute):
1713         (GenerateFunctionCallString):
1714         (NativeToJSValue):
1715
1716         * bindings/scripts/test/TestObj.idl:
1717         * bindings/scripts/test/TestTypedArray.idl:
1718
1719         * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests results.
1720         (WebCore):
1721         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
1722         (WebCore):
1723         * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
1724         (WebCore):
1725         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
1726         (WebCore):
1727
1728         * bindings/scripts/test/TestObj.idl:
1729         * bindings/scripts/test/TestTypedArray.idl:
1730         * css/WebKitCSSFilterValue.idl:
1731         * css/WebKitCSSTransformValue.idl:
1732         * dom/DOMCoreException.idl:
1733         * dom/Document.idl:
1734         * dom/EventException.idl:
1735         * dom/RangeException.idl:
1736         * fileapi/FileException.idl:
1737         * fileapi/OperationNotAllowedException.idl:
1738         * html/HTMLFormElement.idl:
1739         * html/canvas/Float32Array.idl:
1740         * html/canvas/Float64Array.idl:
1741         * html/canvas/Int16Array.idl:
1742         * html/canvas/Int32Array.idl:
1743         * html/canvas/Int8Array.idl:
1744         * html/canvas/OESStandardDerivatives.idl:
1745         * html/canvas/OESVertexArrayObject.idl:
1746         * html/canvas/Uint16Array.idl:
1747         * html/canvas/Uint32Array.idl:
1748         * html/canvas/Uint8Array.idl:
1749         * html/canvas/Uint8ClampedArray.idl:
1750         * html/canvas/WebGLCompressedTextures.idl:
1751         * html/canvas/WebGLDebugRendererInfo.idl:
1752         * html/canvas/WebGLRenderingContext.idl:
1753         * inspector/JavaScriptCallFrame.idl:
1754         * loader/appcache/DOMApplicationCache.idl:
1755         * page/Console.idl:
1756         * page/DOMWindow.idl:
1757         * page/Location.idl:
1758         * storage/IDBCursor.idl:
1759         * storage/IDBDatabaseException.idl:
1760         * storage/IDBObjectStore.idl:
1761         * storage/SQLException.idl:
1762         * svg/SVGComponentTransferFunctionElement.idl:
1763         * svg/SVGException.idl:
1764         * svg/SVGFEBlendElement.idl:
1765         * svg/SVGFEColorMatrixElement.idl:
1766         * svg/SVGFECompositeElement.idl:
1767         * svg/SVGFEConvolveMatrixElement.idl:
1768         * svg/SVGFEDisplacementMapElement.idl:
1769         * svg/SVGFEMorphologyElement.idl:
1770         * svg/SVGFETurbulenceElement.idl:
1771         * svg/SVGGradientElement.idl:
1772         * xml/XMLHttpRequestException.idl:
1773
1774 2012-02-06  Stephen Chenney  <schenney@chromium.org>
1775
1776         RenderSVGShape::strokeContains will fail for some strokes
1777         https://bugs.webkit.org/show_bug.cgi?id=76931
1778
1779         Reviewed by Darin Adler.
1780
1781         Adding support for rounded zero-length endcaps for SVG path hit
1782         testing.
1783
1784         Tests: svg/hittest/zero-length-butt-cap-path.xhtml
1785                svg/hittest/zero-length-round-cap-path.xhtml
1786                svg/hittest/zero-length-square-cap-path.xhtml
1787
1788         * rendering/svg/RenderSVGShape.cpp:
1789         (WebCore::RenderSVGShape::strokeContains):
1790
1791 2012-02-06  Gregg Tavares  <gman@google.com>
1792
1793         Add webGLErrorsToConsoleEnabled Settings flag
1794         https://bugs.webkit.org/show_bug.cgi?id=77696
1795
1796         Reviewed by Kenneth Russell.
1797
1798         No new tests as there is no change in behavior.
1799
1800         * html/canvas/WebGLRenderingContext.cpp:
1801         (WebCore):
1802         (WebCore::WebGLRenderingContext::setupFlags):
1803         * page/Settings.cpp:
1804         (WebCore::Settings::Settings):
1805         * page/Settings.h:
1806         (Settings):
1807         (WebCore::Settings::webGLErrorsToConsoleEnabled):
1808
1809 2012-02-06  Emil A Eklund  <eae@chromium.org>
1810
1811         Convert PopupMenuClient::clientPadding over to new layout abstraction
1812         https://bugs.webkit.org/show_bug.cgi?id=77798
1813
1814         Reviewed by Eric Seidel.
1815
1816         Change PopupMenuClient and all classes inheriting from it to use the new
1817         layout types for padding.
1818
1819         No new tests.
1820
1821         * platform/PopupMenuClient.h:
1822         (PopupMenuClient):
1823         * rendering/RenderMenuList.h:
1824         * rendering/RenderTextControlSingleLine.cpp:
1825         (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
1826         (WebCore::RenderTextControlSingleLine::clientPaddingRight):
1827         * rendering/RenderTextControlSingleLine.h:
1828
1829 2012-02-06  Philip Rogers  <pdr@google.com>
1830
1831         Fix color animations by value
1832         https://bugs.webkit.org/show_bug.cgi?id=77812
1833
1834         Reviewed by Darin Adler.
1835
1836         Test: svg/animations/animate-color-fill-from-by.html
1837
1838         * svg/SVGAnimatedColor.cpp:
1839         (WebCore::SVGAnimatedColorAnimator::calculateFromAndByValues):
1840
1841 2012-02-03  Jer Noble  <jer.noble@apple.com>
1842
1843         REGRESSION (r104303): Clicking inline video controls gives the video a focus ring
1844         https://bugs.webkit.org/show_bug.cgi?id=77288
1845
1846         Reviewed by Darin Adler.
1847
1848         Test: media/video-mouse-focus.html
1849
1850         Do not allow media elements to be focused by mouse click by overriding isMouseFocusable
1851         and returning false.
1852
1853         * html/HTMLMediaElement.cpp:
1854         (WebCore::HTMLMediaElement::isMouseFocusable):
1855         * html/HTMLMediaElement.h:
1856
1857 2012-02-06  Anders Carlsson  <andersca@apple.com>
1858
1859         Overlay scrollbars flash when window is simply activated
1860         https://bugs.webkit.org/show_bug.cgi?id=77911
1861         <rdar://problem/10211995>
1862
1863         Reviewed by Kenneth Russell.
1864
1865         Add a new member function, FocusController::setContainingWindowIsVisible, and move the code
1866         that calls ScrollableArea::contentAreaDidShow/ScrollableArea::contentAreaDidHide there, since
1867         we only want to flash scrollers when the window becomes visible.
1868
1869         * WebCore.exp.in:
1870         * page/FocusController.cpp:
1871         (WebCore::FocusController::FocusController):
1872         (WebCore::FocusController::setActive):
1873         (WebCore::FocusController::setContainingWindowIsVisible):
1874         (WebCore):
1875         * page/FocusController.h:
1876         (FocusController):
1877         (WebCore::FocusController::containingWindowIsVisible):
1878
1879         * platform/mac/ScrollAnimatorMac.mm:
1880         (-[WebScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
1881         Call ScrollAnimatorMac::contentAreaWillPaint here, since that will trigger AppKit to flash the scrollers.
1882
1883 2012-02-06  Greg Simon  <gregsimon@chromium.org>
1884
1885         postMessage leaks MemoryEvent object
1886         https://bugs.webkit.org/show_bug.cgi?id=77893
1887
1888         Reviewed by Adam Barth.
1889
1890         Changed from PassRefPtr().leakRef() to RefPtr.get() when 
1891         calling into FrameLoaderClient to stop +1 extra ref.
1892
1893         * page/DOMWindow.cpp:
1894         (WebCore::DOMWindow::postMessageTimerFired):
1895
1896 2012-02-06  Ehsan Akhgari  <ehsan.akhgari@gmail.com>
1897
1898         WebGL conformance test misc/functions-returning-strings.html fails
1899         https://bugs.webkit.org/show_bug.cgi?id=77149
1900
1901         Make sure that WebGL methods returning strings don't return null when
1902         they run successfully.
1903
1904         Reviewed by Kenneth Russell.
1905
1906         Test: fast/canvas/webgl/functions-returning-strings.html
1907
1908         * html/canvas/WebGLRenderingContext.cpp:
1909         (WebCore):
1910         (WebCore::WebGLRenderingContext::getProgramInfoLog):
1911         (WebCore::WebGLRenderingContext::getShaderInfoLog):
1912         (WebCore::WebGLRenderingContext::getShaderSource):
1913         (WebCore::WebGLRenderingContext::ensureNotNull):
1914         * html/canvas/WebGLRenderingContext.h:
1915         (WebGLRenderingContext):
1916
1917 2012-02-06  Enrica Casucci  <enrica@apple.com>
1918
1919         Refactor Mac platform implementation of the Pasteboard class.
1920         https://bugs.webkit.org/show_bug.cgi?id=77567
1921         
1922         The goal of this change is to remove the majority of the methods in
1923         the class interface that are Mac specific.
1924         writeSelectionForTypes has been left to support OS X services.
1925         Some of the methods have been turned into static functions.
1926         The method asURL was being used only by the DragData class and its
1927         implementation has been moved there.
1928         This is a first step in the direction of removing NSPasteboard access from
1929         the WebProcess for WebKit2 (https://bugs.webkit.org/show_bug.cgi?id=77259)
1930         leaving the WebKit1 behavior unchanged.
1931
1932         Reviewed by Alexey Proskuryakov.
1933
1934         No new tests. No changes in behavior.
1935
1936         * platform/Pasteboard.h: Removed most of the Mac specific methods.
1937         * platform/mac/ClipboardMac.mm:
1938         (WebCore::ClipboardMac::writeRange):
1939         (WebCore::ClipboardMac::writeURL):
1940         * platform/mac/DragDataMac.mm:
1941         (WebCore::DragData::asURL): Moved code from PasteboardMac.mm. Removed FIXME
1942         because we only want to handle the case of single file, otherwise the user
1943         doesn't know which of the files has been chosen.
1944         * platform/mac/PasteboardMac.mm:
1945         (WebCore::writeURLForTypes):
1946         (WebCore::Pasteboard::writeURL):
1947         (WebCore::writeFileWrapperAsRTFDAttachment): Now a static function.
1948         (WebCore::Pasteboard::writeImage):
1949         (WebCore::documentFragmentWithImageResource): Ditto.
1950         (WebCore::documentFragmentWithRTF): Ditto.
1951         (WebCore::Pasteboard::documentFragment):
1952
1953 2012-02-06  James Robinson  <jamesr@chromium.org>
1954
1955         [chromium] Drop tiles completely outside of layer bounds when resizing to a smaller size
1956         https://bugs.webkit.org/show_bug.cgi?id=77910
1957
1958         Reviewed by Kenneth Russell.
1959
1960         When resizing a tiled layer to a smaller size, drop all tiles that lie completely outside the new layer bounds.
1961         This avoids attempting to access out-of-bounds tiles when iterating over all tiles in the tiler, which triggers
1962         ASSERT()s, as well as saves some memory.
1963
1964         New unit test added to TiledLayerChromiumTest.
1965
1966         * platform/graphics/chromium/TiledLayerChromium.cpp:
1967         (WebCore::TiledLayerChromium::invalidateRect):
1968         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
1969         (WebCore::CCLayerTilingData::setBounds):
1970
1971 2012-02-06  Chris Rogers  <crogers@google.com>
1972
1973         zvmul incorrectly multiplies complex arrays on Windows.
1974         https://bugs.webkit.org/show_bug.cgi?id=77900
1975
1976         Reviewed by Kenneth Russell.
1977
1978         * platform/audio/VectorMath.cpp:
1979         (WebCore::VectorMath::zvmul):
1980
1981 2012-02-06  Andreas Kling  <awesomekling@apple.com>
1982
1983         REGRESSION(r106756): 10% performance hit on DOM/Template.
1984         <http://webkit.org/b/77831>
1985
1986         Reviewed by Ryosuke Niwa.
1987
1988         Let the StylePropertySet used for element attribute style have the element as its parent.
1989         This is accomplished by adding an m_parentIsElement bit to StylePropertySet and sharing
1990         some of the internal logic with inline styles.
1991
1992         In the end, this means that CSSParser will now pick up the document's CSSValuePool when
1993         parsing properties for attribute styles, which fixes the perf regression from r106756.
1994
1995         * css/StylePropertySet.cpp:
1996         (WebCore::StylePropertySet::StylePropertySet):
1997         (WebCore::StylePropertySet::contextStyleSheet):
1998
1999             Find contextStyleSheet via the parentElement() when there is one.
2000
2001         (WebCore::StylePropertySet::setNeedsStyleRecalc):
2002
2003             Always set FullStyleChange for attribute style mutations. We can probably use the
2004             same lighter invalidation as inline styles, but that's a topic for another patch.
2005
2006         * css/StylePropertySet.h:
2007         (WebCore::StylePropertySet::createInline):
2008         (WebCore::StylePropertySet::createAttributeStyle):
2009         (WebCore::StylePropertySet::parentRuleInternal):
2010         (WebCore::StylePropertySet::clearParentRule):
2011         (StylePropertySet):
2012         (WebCore::StylePropertySet::parentElement):
2013         (WebCore::StylePropertySet::clearParentElement):
2014
2015             Added m_parentIsElement bit and update assertions as appropriate to not just
2016             cover the inline style case. Added a createAttributeStyle() helper to create
2017             a StylePropertySet for use as Element::attributeStyle().
2018
2019         * dom/StyledElement.h:
2020         * dom/ElementAttributeData.h:
2021         * dom/ElementAttributeData.cpp:
2022         (WebCore::ElementAttributeData::ensureAttributeStyle):
2023
2024             Use StylePropertySet::createAttributeStyle().
2025
2026         * dom/StyledElement.cpp:
2027         (WebCore::StyledElement::removeCSSProperties):
2028         (WebCore::StyledElement::addCSSProperty):
2029         (WebCore::StyledElement::addCSSImageProperty):
2030
2031             Remove setNeedsStyleRecalc() calls since that is now handled automatically by
2032             StylePropertySet's mutation methods.
2033
2034 2012-02-06  Kentaro Hara  <haraken@chromium.org>
2035
2036         In AppleWebKit, stop rebuilding IDLs that need not to be rebuilt
2037         https://bugs.webkit.org/show_bug.cgi?id=77510
2038
2039         Reviewed by Adam Barth.
2040
2041         Currently, if any IDL file is updated, all IDL files are rebuilt.
2042         This patch stops rebuilding IDL files which are not modified nor
2043         whose supplemental dependencies are not changed.
2044
2045         The new build flow is as follows:
2046
2047             supplemental.dep : $(ALL_IDLS)
2048                 perl resolve-supplemental.pl ...
2049
2050             %.idl-needs-rebuild : %.idl supplemental.dep
2051                 perl update-idl-needs-rebuild.pl ...
2052
2053             JS%.cpp : %.idl-needs-rebuild
2054                 perl generate-bindings.pl ...
2055
2056         resolve-supplemental.pl generates the following supplemental.dep.
2057         The number in () is the last access timestamp of the file.
2058
2059             A.idl(1200)
2060             B.idl(1000) B-supplemental1.idl(800) B-supplemental2.idl(1200)
2061             C.idl(1000)
2062
2063         update-idl-needs-rebuild.pl for X.idl touches X.idl-needs-rebuild,
2064         if X.idl-needs-rebuild is older than X.idl or the IDL files which are
2065         supplementing X.idl. For example, if the timestamps of A.idl-needs-rebuild,
2066         B.idl-needs-rebuild and C.idl-needs-rebuild are all 1000, then A.idl-needs-rebuild
2067         and B.idl-needs-rebuild will be touched.
2068
2069         Even if no IDL files are modified, update-idl-needs-rebuild.pl can run for all IDL files,
2070         but generate-bindings.pl won't run. If any IDL file is updated, resolve-supplemental.pl
2071         will run once, update-idl-needs-rebuild.pl will run for all IDL files, and
2072         generate-bindings.pl will run for the IDL files which are modified or whose
2073         dependencies are changed.
2074
2075         No tests. I manually confirmed the followings:
2076         - Touch Element.idl, then only Element.idl is rebuilt
2077         - Touch DOMWindow.idl, then only DOMWindow.idl is rebuilt
2078         - Touch DOMWindowWebAudio.idl, then only DOMWindow.idl and DOMWindowWebAudio.idl are rebuilt
2079
2080         * DerivedSources.make: Modified the build flow as described above.
2081         * bindings/scripts/generate-bindings.pl: Modified to read an IDL file path from .idl-needs-rebuild.
2082         * bindings/scripts/update-idl-needs-rebuild.pl: Added. Touches X.idl-needs-rebuild if
2083         the X.idl-needs-rebuild is older than X.idl or the IDL files which are supplementing X.idl.
2084         (touch):
2085
2086 2012-02-06  Wei James  <james.wei@intel.com>
2087
2088         AudioBus need to support stereo->mono down mix in copyFrom sumFrom etc.
2089         https://bugs.webkit.org/show_bug.cgi?id=77609
2090
2091         Reviewed by Kenneth Russell.
2092
2093         Test: webaudio/stereo2mono-down-mixing.html
2094
2095         * platform/audio/AudioBus.cpp:
2096         (WebCore):
2097         (WebCore::AudioBus::copyFrom):
2098         (WebCore::AudioBus::sumFrom):
2099
2100 2012-02-06  Cris Neckar  <cdn@chromium.org>
2101
2102         Add RefPtrs for parent and sibling counter nodes
2103         https://bugs.webkit.org/show_bug.cgi?id=75212
2104
2105         Reviewed by Adam Barth.
2106
2107         Test: fast/css/counters/reparent-table-children-with-counters-crash.html
2108
2109         * rendering/RenderCounter.cpp:
2110         (WebCore::findPlaceForCounter):
2111         (WebCore::makeCounterNode):
2112         (WebCore::updateCounters):
2113
2114 2012-02-06  Kalev Lember  <kalevlember@gmail.com>
2115
2116         [GTK] Add missing pango include dir to fix build
2117         https://bugs.webkit.org/show_bug.cgi?id=77832
2118
2119         Reviewed by Martin Robinson.
2120
2121         * GNUmakefile.am: Added $(PANGO_CFLAGS) to libWebCore_la_CPPFLAGS.
2122
2123 2012-02-06  Jochen Eisinger  <jochen@chromium.org>
2124
2125         Before accessing a frame's script controller in V8 bindings, first check that the frame actually exists
2126         https://bugs.webkit.org/show_bug.cgi?id=77370
2127
2128         Reviewed by Adam Barth.
2129
2130         I don't have a working reproduction of the crash yet. As soon as I have
2131         one,  I will add new layout tests.
2132
2133         * bindings/v8/PageScriptDebugServer.cpp:
2134         (WebCore::PageScriptDebugServer::addListener):
2135         * bindings/v8/ScheduledAction.cpp:
2136         (WebCore::ScheduledAction::execute):
2137         * bindings/v8/ScriptCachedFrameData.cpp:
2138         (WebCore::ScriptCachedFrameData::restore):
2139         * page/DOMTimer.cpp:
2140         (WebCore::DOMTimer::DOMTimer): remove temporary debug code
2141
2142 2012-02-06  James Robinson  <jamesr@chromium.org>
2143
2144         Support detaching TextureManager from ManagedTexture
2145         https://bugs.webkit.org/show_bug.cgi?id=77655
2146
2147         Reviewed by Kenneth Russell.
2148         Initial patch by Alok Priyadarshi.
2149
2150         TextureManager now holds references to the textures it manages.
2151         This allows TextureManager to inform managed textures when it gets deleted
2152         so that the texture that outlive the TextureManager can handle the situation gracefully.
2153
2154         Unit test in TextureManagerTest.cpp
2155
2156         * platform/graphics/chromium/ManagedTexture.cpp:
2157         (WebCore::ManagedTexture::ManagedTexture):
2158         (WebCore::ManagedTexture::~ManagedTexture):
2159         (WebCore):
2160         (WebCore::ManagedTexture::managerWillDie):
2161         (WebCore::ManagedTexture::isValid):
2162         (WebCore::ManagedTexture::reserve):
2163         (WebCore::ManagedTexture::unreserve):
2164         (WebCore::ManagedTexture::steal):
2165         (WebCore::ManagedTexture::reset):
2166         * platform/graphics/chromium/ManagedTexture.h:
2167         (WebCore::ManagedTexture::manager):
2168         (ManagedTexture):
2169         (WebCore::ManagedTexture::isReserved):
2170         * platform/graphics/chromium/TextureManager.cpp:
2171         (WebCore::TextureManager::~TextureManager):
2172         (WebCore):
2173         (WebCore::TextureManager::setPreferredMemoryLimitBytes):
2174         (WebCore::TextureManager::registerTexture):
2175         (WebCore::TextureManager::unregisterTexture):
2176         * platform/graphics/chromium/TextureManager.h:
2177         (WebCore):
2178         (TextureManager):
2179
2180 2012-02-06  Anders Carlsson  <andersca@apple.com>
2181
2182         Wheel event handler count not updated when adding handlers to the window
2183         https://bugs.webkit.org/show_bug.cgi?id=77895
2184
2185         Reviewed by Dan Bernstein.
2186
2187         Test: fast/events/wheelevent-handler-count.html
2188
2189         * page/DOMWindow.cpp:
2190         (WebCore::DOMWindow::addEventListener):
2191         (WebCore::DOMWindow::removeEventListener):
2192         Update the wheel event count.
2193
2194         * testing/Internals.cpp:
2195         (WebCore::Internals::wheelEventHandlerCount):
2196         * testing/Internals.h:
2197         * testing/Internals.idl:
2198         Add wheelEventHandlerCount to window.internals.
2199
2200 2012-02-06  Matthew Delaney  <mdelaney@apple.com>
2201
2202         toDataURL() uses stale data after putImageData()
2203         https://bugs.webkit.org/show_bug.cgi?id=65767
2204
2205         This patch fixes the issue we've encountered of getting back
2206         stale copies of the CGContext of accelerated ImageBuffers who have seen
2207         putImageData calls but have not been drawn into via the CG API.
2208         This issue is fixed by modifying the way we implement putImageData
2209         in ImageBufferCG to draw the bits wrapped in a CGImage while the CGContext
2210         is in a state where the data will effectively be copied (as is needed for
2211         implementing putImageData) instead of directly modifying the bits of the IOSurface.
2212
2213         Reviewed by Chris Marrin.
2214
2215         Test: fast/canvas/check-stale-putImageData, pixel test to check that the canvas is in fact painted.
2216
2217         * platform/graphics/cg/ImageBufferCG.cpp: Implement new way of putting image data.
2218         * platform/graphics/ImageBuffer.h: Merged two previously separate put data calls
2219             into a single and more sensibly named 'putByteArray', since that's what it does!
2220
2221         * WebCore.exp.in: Added new WKSI call for use in ImageBufferCG.cpp
2222         * platform/mac/WebCoreSystemInterface.h:
2223         * platform/mac/WebCoreSystemInterface.mm:
2224
2225         Using new method name.
2226         * html/canvas/CanvasRenderingContext2D.cpp:
2227         * platform/graphics/ImageBuffer.cpp:
2228         * platform/graphics/ShadowBlur.cpp:        
2229         * platform/graphics/filters/FEColorMatrix.cpp:
2230         * platform/graphics/filters/FEDropShadow.cpp:
2231         * platform/graphics/filters/FilterEffect.cpp:
2232
2233         Updated other ports' ImageBuffers to use new method.
2234         * platform/graphics/cairo/ImageBufferCairo.cpp:
2235         * platform/graphics/qt/ImageBufferQt.cpp:
2236         * platform/graphics/skia/ImageBufferSkia.cpp:
2237         * platform/graphics/wince/ImageBufferWinCE.cpp:
2238         * platform/graphics/wx/ImageBufferWx.cpp:
2239
2240 2012-02-06  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2241
2242         Provide more attribute methods in Element
2243         https://bugs.webkit.org/show_bug.cgi?id=77800
2244
2245         Reviewed by Ryosuke Niwa.
2246
2247         Reduce the clients of NamedNodeMap. This will make easier to change the
2248         implementation of our attribute storage. The clients now use Element methods
2249         that expose Attribute* accessors.
2250
2251         Instead of checking the existence of NamedNodeMap, clients can call
2252         hasAttributes() or hasAttributesWithoutUpdate() (that skips updating invalid
2253         style or animation svg attributes).
2254
2255         If there are attributes, they can be accessed by index via attributeCount() /
2256         attributeItem(), as well as by QualifiedName. Those accessors assume there are an
2257         attribute storage.
2258
2259         * css/SelectorChecker.cpp:
2260         (WebCore::anyAttributeMatches):
2261         (WebCore::SelectorChecker::checkOneSelector):
2262         * css/SelectorChecker.h:
2263         (WebCore::SelectorChecker::checkExactAttribute):
2264         * dom/DatasetDOMStringMap.cpp:
2265         (WebCore::DatasetDOMStringMap::getNames):
2266         (WebCore::DatasetDOMStringMap::item):
2267         (WebCore::DatasetDOMStringMap::contains):
2268         * dom/Document.cpp:
2269         (WebCore::Document::importNode): use setAttributesFromElement() instead of manually copying.
2270         * dom/Element.h:
2271         (Element):
2272         (WebCore::Element::hasAttributesWithoutUpdate):
2273         (WebCore):
2274         (WebCore::Element::attributeCount):
2275         (WebCore::Element::attributeItem):
2276         (WebCore::Element::getAttributeItem):
2277         (WebCore::Element::removeAttribute):
2278         * dom/Node.cpp:
2279         (WebCore::Node::isDefaultNamespace):
2280         (WebCore::Node::lookupNamespaceURI):
2281         (WebCore::Node::lookupNamespacePrefix):
2282         (WebCore::Node::compareDocumentPosition):
2283         * editing/ApplyStyleCommand.cpp:
2284         (WebCore::hasNoAttributeOrOnlyStyleAttribute):
2285         (WebCore::isEmptyFontTag):
2286         * editing/EditingStyle.cpp:
2287         (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
2288         * editing/InsertParagraphSeparatorCommand.cpp:
2289         (WebCore::highestVisuallyEquivalentDivBelowRoot):
2290         * editing/MarkupAccumulator.cpp:
2291         (WebCore::MarkupAccumulator::appendElement):
2292         * editing/markup.cpp:
2293         (WebCore::completeURLs):
2294         (WebCore::StyledMarkupAccumulator::appendElement):
2295         * html/HTMLEmbedElement.cpp:
2296         (WebCore::HTMLEmbedElement::parametersForPlugin):
2297         * html/HTMLInputElement.cpp:
2298         (WebCore::HTMLInputElement::updateType):
2299         * html/HTMLObjectElement.cpp:
2300         (WebCore::HTMLObjectElement::parametersForPlugin):
2301         * html/HTMLParamElement.cpp:
2302         (WebCore::HTMLParamElement::isURLAttribute):
2303         * html/parser/HTMLFormattingElementList.cpp:
2304         (WebCore::attributeCountWithoutUpdate):
2305         (WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
2306         (WebCore::HTMLFormattingElementList::ensureNoahsArkCondition): Store Attribute*
2307         to avoid looking up the right element again by name.
2308         * inspector/DOMEditor.cpp:
2309         (WebCore::DOMEditor::innerPatchNode):
2310         (WebCore::DOMEditor::createDigest):
2311         * inspector/InspectorDOMAgent.cpp:
2312         (WebCore::InspectorDOMAgent::setAttributesAsText):
2313         (WebCore::InspectorDOMAgent::performSearch):
2314         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
2315         * page/PageSerializer.cpp:
2316         (WebCore::isCharsetSpecifyingNode):
2317         * svg/SVGStyledElement.cpp:
2318         (WebCore::SVGStyledElement::getPresentationAttribute):
2319         * xml/XPathFunctions.cpp:
2320         (WebCore::XPath::FunLang::evaluate):
2321         * xml/XPathNodeSet.cpp:
2322         (WebCore::XPath::NodeSet::traversalSort):
2323         * xml/XPathStep.cpp:
2324         (WebCore::XPath::Step::nodesInAxis):
2325         * xml/parser/XMLDocumentParserLibxml2.cpp:
2326         (WebCore::XMLDocumentParser::XMLDocumentParser):
2327         * xml/parser/XMLTreeBuilder.cpp:
2328         (WebCore::XMLTreeBuilder::XMLTreeBuilder):
2329
2330 2012-02-06  Joshua Bell  <jsbell@chromium.org>
2331
2332         IndexedDB: Raise exception during add/put call if autoIncrement key insertion will fail
2333         https://bugs.webkit.org/show_bug.cgi?id=77374
2334
2335         If a put request will use a key generator, try inserting a dummy key during the sync
2336         put() call to check if the key insertion will succeed so an exception can be raised
2337         early, rather than deferring to the asynchronous task.
2338
2339         Reviewed by Tony Chang.
2340
2341         Test: storage/indexeddb/keypath-edges.html
2342
2343         * storage/IDBObjectStoreBackendImpl.cpp:
2344         (WebCore::IDBObjectStoreBackendImpl::put):
2345
2346 2012-02-06  Gustavo Noronha Silva  <gns@gnome.org>
2347
2348         Add a null check for the gdkwindow, that will happen if the window
2349         is not mapped.
2350
2351         Reviewed by Martin Robinson.
2352
2353         * platform/gtk/GtkUtilities.cpp:
2354         (WebCore::convertWidgetPointToScreenPoint):
2355
2356 2012-02-06  Eugene Girard  <girard@chromium.org>
2357
2358         IndexedDB createObjectStore should throw if options arg is invalid
2359         Added logic to OptionsObject to determine if an invalid object was created.
2360         Javascript bindings now detect invalid OptionsObject's and throw TypeError when found.
2361         https://bugs.webkit.org/show_bug.cgi?id=58471
2362
2363         Reviewed by Adam Barth.
2364
2365         Test: storage/indexeddb/createObjectStore-bad-options.html
2366
2367         * bindings/scripts/CodeGeneratorV8.pm:
2368         (GenerateParametersCheck):
2369         * bindings/v8/OptionsObject.cpp:
2370         (WebCore::OptionsObject::isObject):
2371         * bindings/v8/OptionsObject.h:
2372
2373 2012-02-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2374
2375         Unreviewed, rolling out r106797 and r106806.
2376         http://trac.webkit.org/changeset/106797
2377         http://trac.webkit.org/changeset/106806
2378         https://bugs.webkit.org/show_bug.cgi?id=77888
2379
2380         The change is still causing some crashes in webaudio/ on the
2381         Chromium bots (Requested by jchaffraix on #webkit).
2382
2383         * Modules/intents/IntentRequest.cpp:
2384         (WebCore::IntentRequest::create):
2385         * bindings/generic/ActiveDOMCallback.cpp:
2386         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
2387         * dom/ActiveDOMObject.cpp:
2388         (WebCore::ActiveDOMObject::ActiveDOMObject):
2389         (WebCore::ActiveDOMObject::~ActiveDOMObject):
2390         * dom/ActiveDOMObject.h:
2391         (ActiveDOMObject):
2392         * dom/DocumentEventQueue.cpp:
2393         (WebCore::DocumentEventQueue::DocumentEventQueue):
2394         * dom/ScriptExecutionContext.cpp:
2395         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
2396         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2397         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
2398         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
2399         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
2400         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
2401         * dom/ScriptExecutionContext.h:
2402         (ScriptExecutionContext):
2403         * fileapi/DOMFileSystem.cpp:
2404         (WebCore::DOMFileSystem::create):
2405         * fileapi/FileReader.cpp:
2406         (WebCore):
2407         * fileapi/FileReader.h:
2408         (WebCore::FileReader::create):
2409         * fileapi/FileWriter.cpp:
2410         (WebCore):
2411         * fileapi/FileWriter.h:
2412         (WebCore::FileWriter::create):
2413         * history/CachedFrame.cpp:
2414         (WebCore::CachedFrame::CachedFrame):
2415         * html/HTMLAudioElement.cpp:
2416         (WebCore::HTMLAudioElement::create):
2417         (WebCore::HTMLAudioElement::createForJSConstructor):
2418         * html/HTMLMarqueeElement.cpp:
2419         (WebCore::HTMLMarqueeElement::create):
2420         * html/HTMLVideoElement.cpp:
2421         (WebCore::HTMLVideoElement::create):
2422         * mediastream/PeerConnection.cpp:
2423         (WebCore::PeerConnection::create):
2424         * notifications/Notification.cpp:
2425         (WebCore::Notification::create):
2426         * notifications/NotificationCenter.cpp:
2427         * notifications/NotificationCenter.h:
2428         (WebCore::NotificationCenter::create):
2429         * page/DOMTimer.cpp:
2430         (WebCore::DOMTimer::install):
2431         (WebCore::DOMTimer::fired):
2432         * page/EventSource.cpp:
2433         (WebCore::EventSource::create):
2434         * page/SuspendableTimer.cpp:
2435         (WebCore::SuspendableTimer::SuspendableTimer):
2436         * storage/IDBDatabase.cpp:
2437         (WebCore::IDBDatabase::create):
2438         * storage/IDBRequest.cpp:
2439         (WebCore::IDBRequest::create):
2440         * storage/IDBTransaction.cpp:
2441         (WebCore::IDBTransaction::create):
2442         * storage/IDBVersionChangeRequest.cpp:
2443         (WebCore::IDBVersionChangeRequest::create):
2444         * webaudio/AudioContext.cpp:
2445         (WebCore::AudioContext::create):
2446         * websockets/WebSocket.cpp:
2447         * websockets/WebSocket.h:
2448         (WebCore::WebSocket::create):
2449         * workers/SharedWorker.cpp:
2450         (WebCore::SharedWorker::create):
2451         * workers/Worker.cpp:
2452         (WebCore::Worker::create):
2453         * xml/XMLHttpRequest.cpp:
2454         (WebCore::XMLHttpRequest::create):
2455
2456 2012-02-06  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2457
2458         Move style related functions from NamedNodeMap to ElementAttributeData
2459         https://bugs.webkit.org/show_bug.cgi?id=77879
2460
2461         Reviewed by Ryosuke Niwa.
2462
2463         This commit also removes the NamedNodeMap::mappedAttributeCount(),
2464         which is a leftover from removal of mapped attributes.
2465
2466         * dom/ElementAttributeData.cpp:
2467         (WebCore::ElementAttributeData::ensureInlineStyleDecl):
2468         (WebCore):
2469         (WebCore::ElementAttributeData::destroyInlineStyleDecl):
2470         (WebCore::ElementAttributeData::ensureAttributeStyle):
2471         * dom/ElementAttributeData.h:
2472         (WebCore::ElementAttributeData::inlineStyleDecl):
2473         (ElementAttributeData):
2474         (WebCore::ElementAttributeData::attributeStyle):
2475         * dom/NamedNodeMap.cpp:
2476         * dom/NamedNodeMap.h:
2477         * dom/StyledElement.h:
2478         (StyledElement):
2479         (WebCore::StyledElement::inlineStyleDecl):
2480         (WebCore::StyledElement::ensureInlineStyleDecl):
2481         (WebCore::StyledElement::attributeStyle):
2482         (WebCore::StyledElement::ensureAttributeStyle):
2483         (WebCore::StyledElement::destroyInlineStyleDecl):
2484
2485 2012-02-06  Abhishek Arya  <inferno@chromium.org>
2486
2487         Crash in SubframeLoader::loadSubframe.
2488         https://bugs.webkit.org/show_bug.cgi?id=77345
2489
2490         Reviewed by Nate Chapin.
2491
2492         Mutation event when loading subframe can blow away the
2493         main frame. Add a RefPtr to protect against that.
2494
2495         Test: fast/frames/subframe-load-crash-main.html
2496
2497         * loader/SubframeLoader.cpp:
2498         (WebCore::SubframeLoader::loadSubframe):
2499
2500 2012-02-06  ChangSeok Oh  <shivamidow@gmail.com>
2501
2502         Initial implementation of GraphicsContext3DOpenGLES.cpp
2503         https://bugs.webkit.org/show_bug.cgi?id=76248
2504
2505         Reviewed by Martin Robinson.
2506
2507         Implemented APIs in GraphicsContext3DOpenGLES.cpp according to the GLES spec. roughly.
2508         But no way to run these codes right now, because they need an extra port
2509         specific implementation to work. I plan to add these extra codes for the GTK port
2510         in the next patch. And also this patch doesn't support anti-aliasing yet. Another bug
2511         will deal with it.
2512         Moved some APIs in GraphicsContext3DOpenGLES.cpp to GraphicsContext3DCommon.cpp.
2513         It looks it could be shared between gl and gles.
2514         Two helper functions are added to avoid code duplication in GraphicsContext3D.
2515         Added a missing period at the end of comment lines.
2516
2517         No new tests required.
2518         We'll be able to verify this patch by using the existing webgl test cases.
2519
2520         * platform/graphics/GraphicsContext3D.h: Add build flag to access stencilBuffer & depthBuffer for gles.
2521         (WebCore):
2522         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2523         (WebCore::GraphicsContext3D::reshapeFBOs): Helper function extracted from GC3D::reshape to resize regular & multisampled FBOs.
2524         (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Helper function to resolve multisampling.
2525         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2526         (WebCore::GraphicsContext3D::validateAttributes): Add condition to disable antialiasing & packedDepthStencilExtension for GLES.
2527         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
2528         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
2529
2530         Following APIs looked shareable so that moved into GC3DOpenGLCommon.cpp.
2531         (WebCore::GraphicsContext3D::prepareTexture):
2532         (WebCore):
2533         (WebCore::GraphicsContext3D::readRenderingResults):
2534         (WebCore::GraphicsContext3D::reshape):
2535         (WebCore::GraphicsContext3D::bindFramebuffer):
2536         (WebCore::GraphicsContext3D::copyTexImage2D):
2537         (WebCore::GraphicsContext3D::copyTexSubImage2D):
2538         (WebCore::GraphicsContext3D::getActiveUniform):
2539         (WebCore::GraphicsContext3D::readPixels):
2540
2541         Added a missing period at the end of comment line.
2542         (WebCore::GraphicsContext3D::compileShader):
2543         (WebCore::GraphicsContext3D::getActiveAttrib):
2544         (WebCore::GraphicsContext3D::uniform2fv):
2545         (WebCore::GraphicsContext3D::uniform3fv):
2546         (WebCore::GraphicsContext3D::uniform4fv):
2547         (WebCore::GraphicsContext3D::uniform2iv):
2548         (WebCore::GraphicsContext3D::uniform3iv):
2549         (WebCore::GraphicsContext3D::uniform4iv):
2550         (WebCore::GraphicsContext3D::uniformMatrix2fv):
2551         (WebCore::GraphicsContext3D::uniformMatrix3fv):
2552         (WebCore::GraphicsContext3D::uniformMatrix4fv):
2553         (WebCore::GraphicsContext3D::texSubImage2D):
2554
2555         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
2556         (WebCore::GraphicsContext3D::reshapeFBOs): Same with the above.
2557         (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Same with the above.
2558
2559         Brief explanation about what the differences are between gl and gles.
2560         (WebCore::GraphicsContext3D::renderbufferStorage): Removed codes for converting GLES parameter to GL parameter.
2561         (WebCore::GraphicsContext3D::getIntegerv): Removed codes that emulate GLES.
2562         (WebCore::GraphicsContext3D::texImage2D): Removed codes for converting GLES parameter to GL parameter.
2563
2564 2012-02-06  Alexander Pavlov  <apavlov@chromium.org>
2565
2566         Web Inspector: [Meta] Allow emulation of touch events
2567         https://bugs.webkit.org/show_bug.cgi?id=77096
2568
2569         Reviewed by Pavel Feldman.
2570
2571         This is the inspector part of the change, core part implementation tracked in bug 77105.
2572
2573         * English.lproj/localizedStrings.js:
2574         * inspector/Inspector.json:
2575         * inspector/InspectorDOMAgent.cpp:
2576         (DOMAgentState):
2577         (WebCore::InspectorDOMAgent::clearFrontend):
2578         (WebCore::InspectorDOMAgent::restore):
2579         (WebCore):
2580         (WebCore::InspectorDOMAgent::updateTouchEventEmulationInDocuments):
2581         (WebCore::InspectorDOMAgent::setTouchEmulationEnabled):
2582         * inspector/InspectorDOMAgent.h:
2583         (InspectorDOMAgent):
2584         * inspector/front-end/DOMAgent.js:
2585         (WebInspector.DOMAgent.prototype._captureDOM):
2586         (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged):
2587         * inspector/front-end/Settings.js:
2588         (WebInspector.Settings):
2589         * inspector/front-end/SettingsScreen.js:
2590         (WebInspector.SettingsScreen):
2591
2592 2012-02-06  Chris Guan  <chris.guan@torchmobile.com.cn>
2593
2594         [Blackberry] Non-supported about: operations never stops loading
2595         https://bugs.webkit.org/show_bug.cgi?id=76366
2596
2597         Reviewed by Rob Buis.
2598
2599         If user typed a non-supported "about:" scheme such as "about:nonsupport",
2600         the loadAboutURL() function in NetworkManger should recognize and handle it as 
2601         an error of invalid url.
2602
2603         * platform/network/blackberry/NetworkJob.cpp:
2604         (WebCore::NetworkJob::loadAboutURL):
2605         (WebCore::NetworkJob::handleAbout):
2606         * platform/network/blackberry/NetworkJob.h:
2607         (NetworkJob):
2608         * platform/network/blackberry/NetworkManager.cpp:
2609         (WebCore::NetworkManager::startJob):
2610
2611 2012-02-06  Alexander Pavlov  <apavlov@chromium.org>
2612
2613         Web Inspector: Remove unused disabledComputedProperties from methods in StylesSidebarPane
2614         https://bugs.webkit.org/show_bug.cgi?id=77876
2615
2616         Reviewed by Pavel Feldman.
2617
2618         * inspector/front-end/StylesSidebarPane.js:
2619         (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
2620         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
2621         (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
2622         (WebInspector.StylesSidebarPane.prototype._refreshSectionsForStyleRules):
2623         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
2624         (WebInspector.StylePropertiesSection.prototype.onpopulate):
2625         (WebInspector.ComputedStylePropertiesSection):
2626         (WebInspector.ComputedStylePropertiesSection.prototype._isPropertyInherited):
2627
2628 2012-02-06  Alexei Filippov  <alexeif@chromium.org>
2629
2630         Web Inspector: Redesign summary view / retaining tree contents
2631         https://bugs.webkit.org/show_bug.cgi?id=77870
2632
2633         Reviewed by Pavel Feldman.
2634
2635         1. Make object IDs less contrast.
2636         2. Put array indices in [].
2637         3. Do not write type if it's just "Object".
2638
2639         * inspector/front-end/DetailedHeapshotGridNodes.js:
2640         (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
2641         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
2642         (WebInspector.HeapSnapshotObjectNode.prototype._emptyData):
2643         (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
2644         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
2645         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
2646         * inspector/front-end/heapProfiler.css:
2647         (.detailed-heapshot-view .console-formatted-id):
2648         (.detailed-heapshot-view td.object-column span.grayed):
2649
2650 2012-02-06  No'am Rosenthal  <noam.rosenthal@nokia.com>
2651
2652         [Texmap][Qt] Avoid an image copy when uploading textures in WebKit1
2653         https://bugs.webkit.org/show_bug.cgi?id=77748
2654
2655         Reviewed by Kenneth Rohde Christiansen.
2656
2657         Use QPixmap::buffer() API to get access to the QPixmap's pixels without implicit copies.
2658
2659         Instrumentation shows that the deep image copies created from TextureMapperGL are
2660         eliminated.
2661
2662         * platform/graphics/opengl/TextureMapperGL.cpp:
2663         (WebCore::BitmapTextureGL::updateContents):
2664
2665 2012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2666
2667         LayoutTest failures on r106797
2668         https://bugs.webkit.org/show_bug.cgi?id=77868
2669
2670         Call suspendIfNeeded from subclass of IDBRequest, IDBVersionChangeRequest.
2671
2672         Reviewed by Simon Hausmann.
2673
2674         * storage/IDBVersionChangeRequest.cpp:
2675         (WebCore::IDBVersionChangeRequest::create):
2676
2677 2012-02-06  No'am Rosenthal  <noam.rosenthal@nokia.com>
2678
2679         [Qt] Implement ImageBuffer::copyImage(ImageBuffer::DontCopyBackingStore)
2680         https://bugs.webkit.org/show_bug.cgi?id=77689
2681
2682         Reviewed by Kenneth Rohde Christiansen.
2683
2684         Use StillImageQt::createForRendering when using DontCopyBackingStore.
2685         Enable DontCopyBackingStore in TextureMapperNode.
2686         This removes deep copies resulting from the use of ImageBuffer.
2687
2688         Instrumentation shows that deep image copies resulted from ImageBuffer are eliminated.
2689
2690         * platform/graphics/qt/ImageBufferQt.cpp:
2691         (WebCore::ImageBuffer::copyImage):
2692         * platform/graphics/texmap/TextureMapperNode.cpp:
2693         (WebCore::TextureMapperNode::renderContent):
2694
2695 2012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2696
2697         WebGestureEvent can not encode delta and area.
2698         https://bugs.webkit.org/show_bug.cgi?id=77728
2699
2700         Add area field to PlatformGestureEvent.
2701
2702         Reviewed by Kenneth Rohde Christiansen.
2703
2704         * platform/PlatformGestureEvent.h:
2705         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
2706         (WebCore::PlatformGestureEvent::area):
2707
2708 2012-02-06  Charles Wei  <charles.wei@torchmobile.com.cn>
2709
2710         [BlackBerry]Use extension for a mimetype as the suggested extension
2711         if the url file doesn't have an extension.
2712         https://bugs.webkit.org/show_bug.cgi?id=76779
2713
2714         Reviewed by Antonio Gomes.
2715
2716         No new tests. 
2717
2718         * platform/network/blackberry/NetworkJob.cpp:
2719         (WebCore::NetworkJob::sendResponseIfNeeded):
2720
2721 2012-02-06  Kentaro Hara  <haraken@chromium.org>
2722
2723         Rename [HasIndexGetter], [HasNameGetter] and [HasCustomIndexSetter] IDLs
2724         https://bugs.webkit.org/show_bug.cgi?id=77848
2725
2726         Reviewed by Adam Barth.
2727
2728         For naming consistency with [CustomGetter] and [CustomSetter],
2729         this patch renames the following IDLs:
2730
2731         [HasIndexGetter] => [IndexedGetter]  (Remove "Has". This IDL is for "indexed" properties
2732         in the Web IDL: http://dev.w3.org/2006/webapi/WebIDL/#idl-indexed-properties)
2733         [HasCustomIndexSetter] => [CustomIndexedSetter]  (Ditto.)
2734         [HasNameGetter] => [NamedGetter] (Remove "Has". This IDL is for "named" properties
2735         in the Web IDL: http://dev.w3.org/2006/webapi/WebIDL/#idl-named-properties)
2736
2737         No tests. No change in behavior.
2738
2739         * bindings/scripts/CodeGeneratorJS.pm:
2740         (GenerateGetOwnPropertySlotBody):
2741         (GenerateGetOwnPropertyDescriptorBody):
2742         (GenerateHeader):
2743         (GenerateImplementation):
2744         * bindings/scripts/CodeGeneratorV8.pm:
2745         (GenerateHeaderNamedAndIndexedPropertyAccessors):
2746         (GenerateImplementationIndexer):
2747         (GenerateImplementationNamedPropertyGetter):
2748
2749         * bindings/scripts/test/TestEventTarget.idl: No change in run-bindings-tests results.
2750         * bindings/scripts/test/TestTypedArray.idl: Ditto.
2751
2752         * Modules/gamepad/GamepadList.idl:
2753         * css/CSSRuleList.idl:
2754         * css/CSSStyleDeclaration.idl:
2755         * css/CSSValueList.idl:
2756         * css/MediaList.idl:
2757         * css/StyleSheetList.idl:
2758         * css/WebKitCSSFilterValue.idl:
2759         * css/WebKitCSSKeyframesRule.idl:
2760         * css/WebKitCSSTransformValue.idl:
2761         * dom/ClientRectList.idl:
2762         * dom/DOMStringList.idl:
2763         * dom/DOMStringMap.idl:
2764         * dom/DataTransferItemList.idl:
2765         * dom/NamedNodeMap.idl:
2766         * dom/NodeList.idl:
2767         * dom/TouchList.idl:
2768         * fileapi/EntryArray.idl:
2769         * fileapi/EntryArraySync.idl:
2770         * fileapi/FileList.idl:
2771         * html/DOMSettableTokenList.idl:
2772         * html/DOMTokenList.idl:
2773         * html/HTMLAllCollection.idl:
2774         * html/HTMLCollection.idl:
2775         * html/HTMLFormElement.idl:
2776         * html/HTMLOptionsCollection.idl:
2777         * html/HTMLPropertiesCollection.idl:
2778         * html/HTMLSelectElement.idl:
2779         * html/TextTrackCueList.idl:
2780         * html/canvas/CanvasPixelArray.idl:
2781         * html/canvas/Float32Array.idl:
2782         * html/canvas/Float64Array.idl:
2783         * html/canvas/Int16Array.idl:
2784         * html/canvas/Int32Array.idl:
2785         * html/canvas/Int8Array.idl:
2786         * html/canvas/Uint16Array.idl:
2787         * html/canvas/Uint32Array.idl:
2788         * html/canvas/Uint8Array.idl:
2789         * html/canvas/Uint8ClampedArray.idl:
2790         * html/track/TextTrackList.idl:
2791         * mediastream/MediaStreamList.idl:
2792         * mediastream/MediaStreamTrackList.idl:
2793         * page/SpeechInputResultList.idl:
2794         * page/WebKitAnimationList.idl:
2795         * plugins/DOMMimeTypeArray.idl:
2796         * plugins/DOMPlugin.idl:
2797         * plugins/DOMPluginArray.idl:
2798         * storage/Storage.idl:
2799
2800 2012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2801
2802         Ensure timers and other active DOM objects do not fire in suspended documents.
2803         https://bugs.webkit.org/show_bug.cgi?id=53733
2804
2805         ScriptExecutionContext now remembers it has suspended active DOM objects
2806         and suspends all newly installed active DOM objects as well.
2807
2808         All create-calls active DOM objects now calls the post constructor method
2809         suspendIfNeeded that updates the suspend state. It is post constructor
2810         because the suspend/resume functions are virtual and thus can not be called
2811         from constructors.
2812
2813         Reviewed by Mihai Parparita.
2814
2815         Test: fast/events/suspend-timers.html
2816
2817         * Modules/intents/IntentRequest.cpp:
2818         (WebCore::IntentRequest::create):
2819         * bindings/generic/ActiveDOMCallback.cpp:
2820         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
2821         * dom/ActiveDOMObject.cpp:
2822         (WebCore::ActiveDOMObject::ActiveDOMObject):
2823         (WebCore::ActiveDOMObject::~ActiveDOMObject):
2824         (WebCore::ActiveDOMObject::suspendIfNeeded):
2825         * dom/ActiveDOMObject.h:
2826         (WebCore::ActiveDOMObject::suspendIfNeededCalled):
2827         * dom/DocumentEventQueue.cpp:
2828         (WebCore::DocumentEventQueue::DocumentEventQueue):
2829         * dom/ScriptExecutionContext.cpp:
2830         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
2831         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2832         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
2833         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
2834         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
2835         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
2836         (WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded):
2837         * dom/ScriptExecutionContext.h:
2838         (WebCore::ScriptExecutionContext::activeDOMObjectsAreSuspended):
2839         * fileapi/DOMFileSystem.cpp:
2840         (WebCore::DOMFileSystem::create):
2841         * fileapi/FileReader.cpp:
2842         (WebCore::FileReader::create):
2843         * fileapi/FileReader.h:
2844         * fileapi/FileWriter.cpp:
2845         (WebCore::FileWriter::create):
2846         * fileapi/FileWriter.h:
2847         * history/CachedFrame.cpp:
2848         (WebCore::CachedFrame::CachedFrame):
2849         * html/HTMLAudioElement.cpp:
2850         (WebCore::HTMLAudioElement::create):
2851         * html/HTMLMarqueeElement.cpp:
2852         (WebCore::HTMLMarqueeElement::create):
2853         * html/HTMLVideoElement.cpp:
2854         (WebCore::HTMLVideoElement::create):
2855         * mediastream/PeerConnection.cpp:
2856         (WebCore::PeerConnection::create):
2857         * notifications/Notification.cpp:
2858         (WebCore::Notification::create):
2859         * notifications/NotificationCenter.cpp:
2860         (WebCore::NotificationCenter::create):
2861         * notifications/NotificationCenter.h:
2862         * page/DOMTimer.cpp:
2863         (WebCore::DOMTimer::install):
2864         (WebCore::DOMTimer::fired):
2865         * page/EventSource.cpp:
2866         (WebCore::EventSource::create):
2867         * page/SuspendableTimer.cpp:
2868         (WebCore::SuspendableTimer::SuspendableTimer):
2869         * storage/IDBDatabase.cpp:
2870         (WebCore::IDBDatabase::create):
2871         * storage/IDBRequest.cpp:
2872         (WebCore::IDBRequest::create):
2873         * storage/IDBTransaction.cpp:
2874         (WebCore::IDBTransaction::create):
2875         * webaudio/AudioContext.cpp:
2876         (WebCore::AudioContext::create):
2877         * websockets/WebSocket.cpp:
2878         (WebCore::WebSocket::create):
2879         * websockets/WebSocket.h:
2880         * workers/SharedWorker.cpp:
2881         (WebCore::SharedWorker::create):
2882         * workers/Worker.cpp:
2883         (WebCore::Worker::create):
2884         * xml/XMLHttpRequest.cpp:
2885         (WebCore::XMLHttpRequest::create):
2886
2887 2012-02-06  Philippe Normand  <pnormand@igalia.com>
2888
2889         Adding FFTFrameGStreamer.cpp that I forgot to commit
2890         in r106537. That new file was reviewed in https://bugs.webkit.org/show_bug.cgi?id=73545.
2891
2892         * platform/audio/gstreamer/FFTFrameGStreamer.cpp: Added.
2893
2894 2012-02-06  Hayato Ito  <hayato@chromium.org>
2895
2896         Add <shadow> element, which is guarded by SHADOW_DOM flag.
2897         https://bugs.webkit.org/show_bug.cgi?id=76435
2898
2899         Reviewed by Dimitri Glazkov.
2900
2901         Test: fast/dom/shadow/shadow-element.html
2902
2903         * CMakeLists.txt:
2904         * DerivedSources.cpp:
2905         * DerivedSources.make:
2906         * DerivedSources.pri:
2907         * GNUmakefile.list.am:
2908         * Target.pri:
2909         * WebCore.gypi:
2910         * WebCore.vcproj/WebCore.vcproj:
2911         * WebCore.xcodeproj/project.pbxproj:
2912         * html/HTMLElementsAllInOne.cpp:
2913         * html/HTMLTagNames.in:
2914         * html/shadow/HTMLShadowElement.cpp: Added.
2915         (WebCore):
2916         (WebCore::HTMLShadowElement::HTMLShadowElement):
2917         (WebCore::HTMLShadowElement::create):
2918         (WebCore::HTMLShadowElement::~HTMLShadowElement):
2919         * html/shadow/HTMLShadowElement.h: Added.
2920         (WebCore):
2921         (HTMLShadowElement):
2922         * html/shadow/HTMLShadowElement.idl: Added.
2923
2924 2012-02-06  Joe Thomas  <joethomas@motorola.com>
2925
2926         https://bugs.webkit.org/show_bug.cgi?id=76995.
2927         WebKit fails IETC :indeterminate and input type=radio test.
2928
2929         All input types should respect indeterminate property(getter and setter). This is true with other browsers.
2930         Indeterminate appearance for radio input type is supported by IOS platform. Webkit need not support indeterminate appearance
2931         for radio input type on other platforms.
2932
2933         Reviewed by Kent Tamura.
2934
2935         Test: fast/forms/indeterminate-input-types.html
2936
2937         * html/CheckboxInputType.cpp:
2938         (WebCore::CheckboxInputType::supportsIndeterminateAppearance): Checks indeterminate appearance is supported.
2939         (WebCore):
2940         * html/CheckboxInputType.h:
2941         (CheckboxInputType):
2942         * html/HTMLInputElement.cpp:
2943         (WebCore::HTMLInputElement::setIndeterminate): Removed the check isCheckable().
2944         (WebCore::HTMLInputElement::isIndeterminate): Checks indeterminate appearance is supported.
2945         (WebCore):
2946         * html/HTMLInputElement.h:
2947         (HTMLInputElement):
2948         * html/InputType.cpp:
2949         (WebCore::InputType::supportsIndeterminateAppearance): Checks indeterminate appearance is supported.
2950         (WebCore):
2951         * html/InputType.h:
2952         (InputType):
2953         * html/RadioInputType.cpp:
2954         (WebCore::RadioInputType::willDispatchClick): Indeterminate related code is moved to IOS specific.
2955         (WebCore::RadioInputType::didDispatchClick): Ditto.
2956         (WebCore::RadioInputType::supportsIndeterminateAppearance): Checks indeterminate appearance is supported.
2957         (WebCore):
2958         * html/RadioInputType.h:
2959         (RadioInputType):
2960
2961 2012-02-06  Robin Cao  <robin.cao@torchmobile.com.cn>
2962
2963         [BlackBerry] Remove unused variable in PluginViewBlackBerry
2964         https://bugs.webkit.org/show_bug.cgi?id=77847
2965
2966         Reviewed by Kentaro Hara.
2967
2968         No changes in behavior, so no new tests.
2969
2970         * plugins/blackberry/PluginViewBlackBerry.cpp:
2971         (WebCore::PluginView::updatePluginWidget):
2972
2973 2012-02-06  Peter Rybin  <peter.rybin@gmail.com>
2974
2975         Web Inspector: Fix CallArgument type in Inspector.json
2976         https://bugs.webkit.org/show_bug.cgi?id=77839
2977
2978         Reviewed by Yury Semikhatsky.
2979
2980         Protocol description is fixed: field type is changed. No changes to
2981         program code are necessary.
2982
2983         * inspector/Inspector-0.1.json:
2984         * inspector/Inspector-1.0.json:
2985         * inspector/Inspector.json:
2986
2987 2012-02-05  Gavin Barraclough  <barraclough@apple.com>
2988
2989         Remove JSObject defineGetter/defineSetter lookupGetter/lookupSetter
2990         https://bugs.webkit.org/show_bug.cgi?id=77451
2991
2992         Reviewed by Sam Weinig.
2993
2994         These can now all be implemented in terms of defineOwnProperty & getPropertyDescriptor.
2995         Also remove initializeGetterSetterProperty, since this is equivalent to putDirectAccessor.
2996
2997         * bindings/js/JSDOMWindowCustom.cpp:
2998         (WebCore):
2999         (WebCore::JSDOMWindow::defineOwnProperty):
3000         * bindings/js/JSDOMWindowShell.cpp:
3001         (WebCore):
3002         * bindings/js/JSDOMWindowShell.h:
3003         (JSDOMWindowShell):
3004         * bindings/js/JSLocationCustom.cpp:
3005         (WebCore::JSLocation::defineOwnProperty):
3006         (WebCore::JSLocationPrototype::defineOwnProperty):
3007         * bindings/scripts/CodeGeneratorJS.pm:
3008         (GenerateHeader):
3009         * page/DOMWindow.idl:
3010         * page/Location.idl:
3011
3012 2012-02-06  Carlos Garcia Campos  <cgarcia@igalia.com>
3013
3014         Unreviewed. Fix make distrcheck.
3015
3016         * GNUmakefile.am: Fix typo in inspector json file.
3017         * GNUmakefile.list.am: Remove non existent file.
3018
3019 2012-02-06  Yury Semikhatsky  <yurys@chromium.org>
3020
3021         Unreviewed. Qt minimal compilation fix after r106777.
3022
3023         * inspector/InspectorDatabaseAgent.h: added missing #if ENABLED guards.
3024
3025 2012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>
3026
3027         Web Inspector: REGRESSION detached dom nodes aren't highlighted
3028         https://bugs.webkit.org/show_bug.cgi?id=77829
3029
3030         This functionality was lost when I replaced (Native roots) with (Detached DOM trees) on v8 side.
3031
3032         Reviewed by Yury Semikhatsky.
3033
3034         * inspector/front-end/HeapSnapshot.js:
3035         (WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTreesRoot):
3036         (WebInspector.HeapSnapshot.prototype._markDetachedDOMTreeNodes):
3037
3038 2012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>
3039
3040         Web Inspector: get rid of artificial heap snapshot nodes from the retaining tree.
3041         https://bugs.webkit.org/show_bug.cgi?id=77850
3042
3043         Reviewed by Yury Semikhatsky.
3044
3045         * inspector/front-end/DetailedHeapshotGridNodes.js:
3046         (WebInspector.HeapSnapshotObjectNode):
3047         (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
3048         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
3049         * inspector/front-end/HeapSnapshot.js:
3050         (WebInspector.HeapSnapshotNode.prototype.get isArtificial):
3051         (WebInspector.HeapSnapshot.prototype._init):
3052
3053 2012-02-05  Peter Rybin  <peter.rybin@gmail.com>
3054
3055         Web Inspector: CodeGeneratorInspector.py: switch domain agents to formal interfaces in BackendDispatcher
3056         https://bugs.webkit.org/show_bug.cgi?id=77444
3057
3058         Reviewed by Yury Semikhatsky.
3059
3060         All agent code is switched to formal interfaces. Actual agent class
3061         names and includes are dropped from InspectorBackendDispatcher.h.
3062
3063         * inspector/CodeGeneratorInspector.py:
3064         (DomainNameFixes.get_fixed_data):
3065         (Generator.go):
3066         * inspector/InspectorAgent.h:
3067         * inspector/InspectorApplicationCacheAgent.h:
3068         * inspector/InspectorCSSAgent.cpp:
3069         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
3070         * inspector/InspectorCSSAgent.h:
3071         (InspectorCSSAgent):
3072         * inspector/InspectorConsoleAgent.h:
3073         * inspector/InspectorDOMAgent.cpp:
3074         (WebCore::InspectorDOMAgent::highlightNode):
3075         * inspector/InspectorDOMAgent.h:
3076         (InspectorDOMAgent):
3077         * inspector/InspectorDOMDebuggerAgent.h:
3078         * inspector/InspectorDOMStorageAgent.h:
3079         * inspector/InspectorDatabaseAgent.h:
3080         * inspector/InspectorDebuggerAgent.cpp:
3081         (WebCore::InspectorDebuggerAgent::setBreakpoint):
3082         (WebCore::InspectorDebuggerAgent::continueToLocation):
3083         * inspector/InspectorDebuggerAgent.h:
3084         (InspectorDebuggerAgent):
3085         * inspector/InspectorFileSystemAgent.h:
3086         * inspector/InspectorIndexedDBAgent.h:
3087         * inspector/InspectorMemoryAgent.h:
3088         * inspector/InspectorPageAgent.h:
3089         * inspector/InspectorProfilerAgent.cpp:
3090         (WebCore::InspectorProfilerAgent::getProfile):
3091         (WebCore::InspectorProfilerAgent::removeProfile):
3092         * inspector/InspectorProfilerAgent.h:
3093         (InspectorProfilerAgent):
3094         * inspector/InspectorResourceAgent.cpp:
3095         (WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
3096         * inspector/InspectorResourceAgent.h:
3097         (InspectorResourceAgent):
3098         * inspector/InspectorRuntimeAgent.h:
3099         * inspector/InspectorTimelineAgent.cpp:
3100         (WebCore::InspectorTimelineAgent::start):
3101         * inspector/InspectorTimelineAgent.h:
3102         (InspectorTimelineAgent):
3103         * inspector/InspectorWorkerAgent.cpp:
3104         (WebCore::InspectorWorkerAgent::sendMessageToWorker):
3105         * inspector/InspectorWorkerAgent.h:
3106         (InspectorWorkerAgent):
3107
3108 2012-02-05  Kentaro Hara  <haraken@chromium.org>
3109
3110         Rename [TreatNullAs=EmptyString] to [TreatNullAs=NullString],
3111         [TreatUndefinedAs=EmptyString] to [TreatUndefinedAs=NullString]
3112         https://bugs.webkit.org/show_bug.cgi?id=77611
3113
3114         Reviewed by Adam Barth.
3115
3116         While the Web IDL spec requires [TreatNullAs=EmptyString] and [TreatUndefinedAs=EmptyString],
3117         the current WebKit treats them as (not an empty string but) a null string.
3118         To avoid confusion, this patch renames [TreatNullAs=EmptyString] to [TreatNullAs=NullString],
3119         and [TreatUndefinedAs=EmptyString] to [TreatUndefinedAs=NullString].
3120         (Eventually we should fix WebKit so that it uses an empty string and then
3121         rename them to [TreatNullAs=EmptyString] and [TreatUndefinedAs=EmptyString].)
3122
3123         No tests. No change in behavior.
3124
3125         * bindings/scripts/CodeGeneratorJS.pm: Added FIXME.
3126         (JSValueToNative):
3127         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
3128         (GetNativeTypeFromSignature):
3129
3130         * bindings/scripts/test/TestObj.idl:
3131         * css/CSSCharsetRule.idl:
3132         * css/CSSPageRule.idl:
3133         * css/CSSRule.idl:
3134         * css/CSSStyleDeclaration.idl:
3135         * css/CSSStyleRule.idl:
3136         * css/CSSValue.idl:
3137         * css/MediaList.idl:
3138         * css/WebKitCSSKeyframesRule.idl:
3139         * dom/Attr.idl:
3140         * dom/CharacterData.idl:
3141         * dom/DOMImplementation.idl:
3142         * dom/Document.idl:
3143         * dom/Element.idl:
3144         * dom/NamedNodeMap.idl:
3145         * dom/Node.idl:
3146         * dom/ProcessingInstruction.idl:
3147         * dom/ShadowRoot.idl:
3148         * fileapi/Blob.idl:
3149         * fileapi/DirectoryEntry.idl:
3150         * fileapi/DirectoryEntrySync.idl:
3151         * fileapi/Entry.idl:
3152         * fileapi/EntrySync.idl:
3153         * fileapi/WebKitBlobBuilder.idl:
3154         * html/HTMLAnchorElement.idl:
3155         * html/HTMLButtonElement.idl:
3156         * html/HTMLCanvasElement.idl:
3157         * html/HTMLDocument.idl:
3158         * html/HTMLElement.idl:
3159         * html/HTMLFieldSetElement.idl:
3160         * html/HTMLFormElement.idl:
3161         * html/HTMLFrameElement.idl:
3162         * html/HTMLInputElement.idl:
3163         * html/HTMLKeygenElement.idl:
3164         * html/HTMLMediaElement.idl:
3165         * html/HTMLObjectElement.idl:
3166         * html/HTMLOutputElement.idl:
3167         * html/HTMLScriptElement.idl:
3168         * html/HTMLSelectElement.idl:
3169         * html/HTMLTextAreaElement.idl:
3170         * html/HTMLTitleElement.idl:
3171         * html/canvas/CanvasRenderingContext2D.idl:
3172         * page/Console.idl:
3173         * page/DOMWindow.idl:
3174         * storage/StorageEvent.idl:
3175         * svg/SVGAngle.idl:
3176         * svg/SVGElement.idl:
3177         * svg/SVGLength.idl:
3178         * svg/SVGScriptElement.idl:
3179
3180 2012-02-05  Kentaro Hara  <haraken@chromium.org>
3181
3182         Rename [JSCCustom*] IDL to [JSCustom*] IDL
3183         https://bugs.webkit.org/show_bug.cgi?id=77844
3184
3185         Reviewed by Adam Barth.
3186
3187         Most existing JSC-specific IDLs have "JS" prefix. We can rename [JSCCustom] to
3188         [JSCustom], [JSCCustomGetter] to [JSCustomGetter], and [JSCCustomSetter] to
3189         [JSCustomSetter].
3190
3191         No tests. No change in behavior.
3192
3193         * bindings/scripts/CodeGeneratorJS.pm:
3194         (GenerateHeader):
3195         (GenerateImplementation):
3196         * css/CSSStyleDeclaration.idl:
3197         * html/HTMLDocument.idl:
3198         * html/canvas/DataView.idl:
3199         * page/DOMWindow.idl:
3200         * page/MemoryInfo.idl:
3201         * webaudio/ConvolverNode.idl:
3202         * webaudio/DOMWindowWebAudio.idl:
3203         * webaudio/WaveShaperNode.idl:
3204         * websockets/DOMWindowWebSocket.idl:
3205         * workers/WorkerContext.idl:
3206
3207 2012-02-05  ChangSeok Oh  <shivamidow@gmail.com>
3208
3209         [EFL] Enable WebGL with glx backend
3210         https://bugs.webkit.org/show_bug.cgi?id=77308
3211
3212         Reviewed by Martin Robinson.
3213
3214         Implemented WebGL feature for EFL port. The way is very similar to the one of GTK port.
3215
3216         No new tests required. We can verify this feature with the existing test cases.
3217
3218         * CMakeLists.txt: Revised common files required for WebGL.
3219         * PlatformEfl.cmake: Added EFL specific files.
3220         * html/HTMLCanvasElement.cpp:
3221         (WebCore::HTMLCanvasElement::getContext):
3222         * platform/graphics/ANGLEWebKitBridge.h:
3223         * platform/graphics/GraphicsContext3D.h:
3224         (WebCore):
3225         (WebCore::GraphicsContext3D::platformTexture):
3226         (GraphicsContext3D):
3227         (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
3228         * platform/graphics/efl/DrawingBufferEfl.cpp: Copied from GTK port.
3229         (WebCore):
3230         (WebCore::DrawingBuffer::DrawingBuffer):
3231         (WebCore::DrawingBuffer::~DrawingBuffer):
3232         (WebCore::DrawingBuffer::platformColorBuffer):
3233         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
3234         * platform/graphics/efl/GraphicsContext3DEfl.cpp: Almost same with GraphicsContext3DGtk.cpp.
3235         (WebCore::GraphicsContext3D::create):
3236         (WebCore::GraphicsContext3D::GraphicsContext3D):
3237         (WebCore::GraphicsContext3D::~GraphicsContext3D):
3238         (WebCore::GraphicsContext3D::makeContextCurrent):
3239         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
3240         (WebCore::GraphicsContext3D::isGLES2Compliant):
3241         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
3242         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
3243         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
3244         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
3245         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
3246         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3247         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
3248
3249 2012-02-05  Abhishek Arya  <inferno@chromium.org>
3250
3251         Crash in FormSubmission::create.
3252         https://bugs.webkit.org/show_bug.cgi?id=77813
3253
3254         Reviewed by Kent Tamura.
3255
3256         Test: fast/forms/form-submission-create-crash.xhtml
3257
3258         * loader/FormSubmission.cpp:
3259         (WebCore::FormSubmission::create):
3260
3261 2012-02-05  Andreas Kling  <awesomekling@apple.com>
3262
3263         Remove unused file MappedAttributeEntry.h.
3264         <http://webkit.org/b/77841>
3265
3266         Reviewed by Anders Carlsson.
3267
3268         * GNUmakefile.list.am:
3269         * WebCore.gypi:
3270         * WebCore.vcproj/WebCore.vcproj:
3271         * WebCore.xcodeproj/project.pbxproj:
3272         * dom/MappedAttributeEntry.h: Removed.
3273         * dom/StyledElement.h:
3274
3275 2012-02-05  Andreas Kling  <awesomekling@apple.com>
3276
3277         StyledElement: Rename parseMappedAttribute() to parseAttribute().
3278         <http://webkit.org/b/77830>
3279
3280         Reviewed by Anders Carlsson.
3281
3282         Rename across the board and decorate subclasses with OVERRIDE.
3283
3284 2012-02-05  Gustavo Noronha Silva  <gns@gnome.org>
3285
3286         Unreviewed syntax fix.
3287
3288         * English.lproj/localizedStrings.js:
3289
3290 2012-02-05  Andreas Kling  <awesomekling@apple.com>
3291
3292         Swedish buildfix.
3293
3294         * dom/Document.cpp:
3295         (WebCore::wheelEventHandlerCountChanged):
3296
3297 2012-02-05  Anders Carlsson  <andersca@apple.com>
3298
3299         The scrolling tree should be aware of any wheel event handlers on the page
3300         https://bugs.webkit.org/show_bug.cgi?id=77840
3301
3302         Reviewed by Andreas Kling.
3303
3304         If there are wheel event handlers on the page, any wheel events must be redispatched
3305         to the main thread so they can go through the DOM event handling.
3306
3307         * dom/Document.cpp:
3308         (WebCore::wheelEventHandlerCountChanged):
3309         Inform the scrolling coordinator that the wheel event count changed.
3310
3311         (WebCore::Document::didAddWheelEventHandler):
3312         (WebCore::Document::didRemoveWheelEventHandler):
3313         Call wheelEventHandlerCountChanged.
3314
3315         * page/scrolling/ScrollingCoordinator.cpp:
3316         (WebCore::ScrollingCoordinator::frameViewWheelEventHandlerCountChanged):
3317         Call recomputeWheelEventHandlerCount.
3318
3319         (WebCore::ScrollingCoordinator::recomputeWheelEventHandlerCount):
3320         Update the scrolling tree state.
3321
3322         * page/scrolling/ScrollingTree.cpp:
3323         (WebCore::ScrollingTree::ScrollingTree):
3324         Initialize m_hasWheelEventHandlers to false.
3325
3326         (WebCore::ScrollingTree::tryToHandleWheelEvent):
3327         If m_hasWheelEventHandlers is true, bail.
3328
3329         (WebCore::ScrollingTree::commitNewTreeState):
3330         Update m_hasWheelEventHandlers.
3331
3332         * page/scrolling/ScrollingTreeState.cpp:
3333         (WebCore::ScrollingTreeState::ScrollingTreeState):
3334         (WebCore::ScrollingTreeState::setWheelEventHandlerCount):
3335         Add getter and setter for the wheel event handler count.
3336
3337 2012-02-05  Andreas Kling  <awesomekling@apple.com>
3338
3339         Remove mapped vs non-mapped attribute distinction.
3340         <http://webkit.org/b/77827>
3341
3342         Reviewed by Antti Koivisto.
3343
3344         Removed the isMappedAttribute flag from Attribute as it no longer serves
3345         a practical purpose. Previously, StyledElement would generate mapped
3346         attributes and plain Element would generate non-mapped ones.
3347
3348         The distinction is now made much more clearly by dividing the work between
3349         Element's and StyledElement's attributeChanged() methods. The only thing
3350         that StyledElement wants to do in addition to what Element does is
3351         calling parseMappedAttribute() (which we'll rename in a later patch.)
3352
3353         * dom/Attribute.cpp:
3354         (WebCore::Attribute::clone):
3355         * dom/Attribute.h:
3356         (WebCore::Attribute::create):
3357         (WebCore::Attribute::Attribute):
3358         (Attribute):
3359         * dom/Document.cpp:
3360         (WebCore::Document::createAttributeNS):
3361         * dom/Element.cpp:
3362         (WebCore::Element::attributeChanged):
3363         * dom/Element.h:
3364         (Element):
3365         * dom/Node.cpp:
3366         (WebCore::Node::dumpStatistics):
3367         * dom/StyledElement.cpp:
3368         (WebCore::StyledElement::attributeChanged):
3369         (WebCore::StyledElement::parseMappedAttribute):
3370         * dom/StyledElement.h:
3371         (StyledElement):
3372         * html/parser/HTMLConstructionSite.cpp:
3373         (WebCore):
3374         * html/parser/HTMLTreeBuilder.cpp:
3375         (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
3376         * html/parser/TextDocumentParser.cpp:
3377         (WebCore::TextDocumentParser::insertFakePreElement):
3378         * svg/SVGStyledElement.cpp:
3379         (WebCore::SVGStyledElement::getPresentationAttribute):
3380         * xml/parser/MarkupTokenBase.h:
3381         (WebCore::::initializeAttributes):
3382
3383 2012-02-05  Andreas Kling  <awesomekling@apple.com>
3384
3385         Kill CSSMappedAttributeDeclaration.
3386         <http://webkit.org/b/77820>
3387
3388         Reviewed by Antti Koivisto.
3389
3390         Replace all use of CSSMappedAttributeDeclaration by StylePropertySet.
3391         Moved the setNeedsStyleRecalc() calls from CSSMappedAttributeDeclaration
3392         to the add/remove-CSS-property helpers in StyledElement.
3393
3394         This removes one step of indirection for attribute styles and reduces
3395         the size of elements that have presentational attributes by one pointer.
3396
3397         * CMakeLists.txt:
3398         * GNUmakefile.list.am:
3399         * Target.pri:
3400         * WebCore.gypi:
3401         * WebCore.order:
3402         * WebCore.vcproj/WebCore.vcproj:
3403         * WebCore.xcodeproj/project.pbxproj:
3404         * dom/CSSMappedAttributeDeclaration.cpp: Removed.
3405         * dom/CSSMappedAttributeDeclaration.h: Removed.
3406         * dom/DOMAllInOne.cpp:
3407
3408             Remove CSSMappedAttributeDeclaration.{cpp,h}
3409
3410         * css/CSSParser.h:
3411         * css/CSSParser.cpp:
3412         (WebCore::parseSimpleLengthValue):
3413
3414             Remove CSSParser::parseMappedAttributeValue(), we now use parseValue()
3415             directly instead. We lose the benefit of caching new CSSValues in the
3416             document's CSSValuePool but this optimization can be added back later.
3417
3418         * css/CSSStyleSelector.cpp:
3419         (WebCore::CSSStyleSelector::matchAllRules):
3420         * dom/ElementAttributeData.h:
3421         (ElementAttributeData):
3422         * dom/NamedNodeMap.cpp:
3423         (WebCore::NamedNodeMap::ensureAttributeStyle):
3424         * dom/NamedNodeMap.h:
3425         (WebCore::NamedNodeMap::attributeStyle):
3426         (NamedNodeMap):
3427         * dom/StyledElement.cpp:
3428         (WebCore::StyledElement::removeCSSProperties):
3429         (WebCore::StyledElement::addCSSProperty):
3430         (WebCore::StyledElement::addCSSImageProperty):
3431         (WebCore::StyledElement::addCSSLength):
3432         (WebCore::StyledElement::addCSSColor):
3433         * dom/StyledElement.h:
3434         (WebCore):
3435         (WebCore::StyledElement::attributeStyle):
3436         (WebCore::StyledElement::ensureAttributeStyle):
3437         * inspector/InspectorCSSAgent.cpp:
3438         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
3439
3440 2012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>
3441
3442         Web Inspector: beautify retaining tree items view.
3443         https://bugs.webkit.org/show_bug.cgi?id=77810
3444
3445         Reviewed by Yury Semikhatsky.
3446
3447         * inspector/front-end/DetailedHeapshotGridNodes.js:
3448         (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
3449         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
3450         * inspector/front-end/heapProfiler.css:
3451         (.cycled-ancessor-node):
3452         * inspector/front-end/profilesPanel.css:
3453
3454 2012-02-04  Shawn Singh  <shawnsingh@chromium.org>
3455
3456         [chromium] Add support to force full damage in CCDamageTracker
3457         https://bugs.webkit.org/show_bug.cgi?id=76805
3458
3459         Reviewed by James Robinson.
3460
3461         Unit test added to CCDamageTrackerTest.cpp.
3462
3463         This feature is needed for events that should cause the entire
3464         surface to be damaged, even if layers themselves had only partial
3465         damage or no damage at all. For example, tab-switching is one such
3466         event.
3467
3468         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
3469         (WebCore::CCDamageTracker::CCDamageTracker):
3470         (WebCore::CCDamageTracker::updateDamageRectForNextFrame):
3471         * platform/graphics/chromium/cc/CCDamageTracker.h:
3472         (WebCore::CCDamageTracker::forceFullDamageNextUpdate):
3473         (CCDamageTracker):
3474
3475 2012-02-04  Anders Carlsson  <andersca@apple.com>
3476
3477         Remove dead code from ScrollingCoordinator
3478         https://bugs.webkit.org/show_bug.cgi?id=77821
3479
3480         Reviewed by Sam Weinig.
3481
3482         * WebCore.exp.in:
3483         * page/scrolling/ScrollingCoordinator.cpp:
3484         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
3485         * page/scrolling/ScrollingCoordinator.h:
3486         (ScrollingCoordinator):
3487         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3488         (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
3489         * rendering/RenderLayerCompositor.cpp:
3490         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
3491         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
3492
3493 2012-02-04  Anders Carlsson  <andersca@apple.com>
3494
3495         The scrolling tree should inform the main scrolling coordinator when the scroll position changes
3496         https://bugs.webkit.org/show_bug.cgi?id=77818
3497
3498         Reviewed by Sam Weinig.
3499
3500         * page/scrolling/ScrollingCoordinator.cpp:
3501         (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
3502         Set the main frame scroll position.
3503
3504         * page/scrolling/ScrollingTree.cpp:
3505         (WebCore::ScrollingTree::updateMainFrameScrollPosition):
3506         Call ScrollingCoordinator::updateMainFrameScrollPosition on the main thread.
3507
3508         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
3509         (WebCore::ScrollingTreeNodeMac::scrollBy):
3510         Call ScrollingTree::updateMainFrameScrollPosition.
3511
3512 2012-02-04  Andreas Kling  <awesomekling@apple.com>
3513
3514         Element: Remove unnecessary attributeChanged() argument.
3515         <http://webkit.org/b/77814>
3516
3517         Reviewed by Ryosuke Niwa.
3518
3519         Remove the 'preserveDecls' argument to Element::attributeChanged() as that is no
3520         longer needed after the removal of per-attribute style declarations.
3521         Decorated subclass overrides with OVERRIDE since we're touching the lines.