Access key should work on all elements.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-11-11  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
2
3         Access key should work on all elements.
4         https://bugs.webkit.org/show_bug.cgi?id=71854
5
6         Reviewed by Adam Barth.
7
8         As per specification http://dev.w3.org/html5/spec/Overview.html#elements-in-the-dom
9         says All HTML elements can have the accesskey content attribute set. Adding "accessKey"
10         attribute idl file as [Reflect].
11
12         Test: fast/forms/access-key-for-all-elements.html
13
14         * html/HTMLAnchorElement.idl: Removed redundant IDL attribute entries.
15         * html/HTMLAreaElement.idl: Ditto. 
16         * html/HTMLButtonElement.idl: Ditto.
17         * html/HTMLElement.idl: Added accessKey IDL attribute.
18         * html/HTMLInputElement.idl: Ditto.
19         * html/HTMLLabelElement.idl: Ditto.
20         * html/HTMLLegendElement.idl: Ditto.
21         * html/HTMLTextAreaElement.idl: Ditto.
22
23 2011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>
24
25         Add jsCast to replace static_cast
26         https://bugs.webkit.org/show_bug.cgi?id=72071
27
28         Reviewed by Geoffrey Garen.
29
30         No new tests. 
31
32         Added new jsCast and changed all of the static_cast sites in functions that 
33         are in the MethodTable to use jsCast instead.
34
35         * bindings/js/JSAttrCustom.cpp:
36         (WebCore::JSAttr::visitChildren):
37         * bindings/js/JSAudioContextCustom.cpp:
38         (WebCore::JSAudioContext::visitChildren):
39         * bindings/js/JSCSSRuleCustom.cpp:
40         (WebCore::JSCSSRule::visitChildren):
41         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
42         (WebCore::JSCSSStyleDeclaration::visitChildren):
43         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
44         (WebCore::toHTMLCanvasStyle):
45         * bindings/js/JSCanvasRenderingContextCustom.cpp:
46         (WebCore::JSCanvasRenderingContext::visitChildren):
47         * bindings/js/JSDOMGlobalObject.cpp:
48         (WebCore::JSDOMGlobalObject::visitChildren):
49         * bindings/js/JSDOMStringMapCustom.cpp:
50         (WebCore::JSDOMStringMap::getOwnPropertyNames):
51         (WebCore::JSDOMStringMap::deleteProperty):
52         * bindings/js/JSDOMWindowBase.cpp:
53         (WebCore::JSDOMWindowBase::toThisObject):
54         * bindings/js/JSDOMWindowCustom.cpp:
55         (WebCore::JSDOMWindow::visitChildren):
56         (WebCore::JSDOMWindow::getOwnPropertySlot):
57         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
58         (WebCore::JSDOMWindow::put):
59         (WebCore::JSDOMWindow::deleteProperty):
60         (WebCore::JSDOMWindow::getPropertyNames):
61         (WebCore::JSDOMWindow::getOwnPropertyNames):
62         (WebCore::JSDOMWindow::defineGetter):
63         (WebCore::JSDOMWindow::defineSetter):
64         (WebCore::JSDOMWindow::defineOwnProperty):
65         * bindings/js/JSDOMWindowShell.cpp:
66         (WebCore::JSDOMWindowShell::className):
67         (WebCore::JSDOMWindowShell::getOwnPropertySlot):
68         (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
69         (WebCore::JSDOMWindowShell::put):
70         (WebCore::JSDOMWindowShell::putWithAttributes):
71         (WebCore::JSDOMWindowShell::defineOwnProperty):
72         (WebCore::JSDOMWindowShell::deleteProperty):
73         (WebCore::JSDOMWindowShell::getPropertyNames):
74         (WebCore::JSDOMWindowShell::getOwnPropertyNames):
75         (WebCore::JSDOMWindowShell::defineGetter):
76         (WebCore::JSDOMWindowShell::defineSetter):
77         * bindings/js/JSHTMLAppletElementCustom.cpp:
78         (WebCore::JSHTMLAppletElement::getCallData):
79         * bindings/js/JSHTMLEmbedElementCustom.cpp:
80         (WebCore::JSHTMLEmbedElement::getCallData):
81         * bindings/js/JSHTMLObjectElementCustom.cpp:
82         (WebCore::JSHTMLObjectElement::getCallData):
83         * bindings/js/JSHistoryCustom.cpp:
84         (WebCore::JSHistory::deleteProperty):
85         (WebCore::JSHistory::getOwnPropertyNames):
86         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
87         (WebCore::JSJavaScriptAudioNode::visitChildren):
88         * bindings/js/JSLocationCustom.cpp:
89         (WebCore::JSLocation::deleteProperty):
90         (WebCore::JSLocation::getOwnPropertyNames):
91         * bindings/js/JSMessageChannelCustom.cpp:
92         (WebCore::JSMessageChannel::visitChildren):
93         * bindings/js/JSMessagePortCustom.cpp:
94         (WebCore::JSMessagePort::visitChildren):
95         * bindings/js/JSNamedNodeMapCustom.cpp:
96         (WebCore::JSNamedNodeMap::visitChildren):
97         * bindings/js/JSNodeCustom.cpp:
98         (WebCore::JSNode::visitChildren):
99         * bindings/js/JSNodeFilterCustom.cpp:
100         (WebCore::JSNodeFilter::visitChildren):
101         * bindings/js/JSNodeIteratorCustom.cpp:
102         (WebCore::JSNodeIterator::visitChildren):
103         * bindings/js/JSSVGElementInstanceCustom.cpp:
104         (WebCore::JSSVGElementInstance::visitChildren):
105         * bindings/js/JSSharedWorkerCustom.cpp:
106         (WebCore::JSSharedWorker::visitChildren):
107         * bindings/js/JSStorageCustom.cpp:
108         (WebCore::JSStorage::deleteProperty):
109         (WebCore::JSStorage::getOwnPropertyNames):
110         * bindings/js/JSStyleSheetCustom.cpp:
111         (WebCore::JSStyleSheet::visitChildren):
112         * bindings/js/JSTreeWalkerCustom.cpp:
113         (WebCore::JSTreeWalker::visitChildren):
114         * bindings/js/JSWebGLRenderingContextCustom.cpp:
115         (WebCore::JSWebGLRenderingContext::visitChildren):
116         * bindings/js/JSWorkerContextCustom.cpp:
117         (WebCore::JSWorkerContext::visitChildren):
118         * bindings/js/JSXMLHttpRequestCustom.cpp:
119         (WebCore::JSXMLHttpRequest::visitChildren):
120         * bindings/js/JSXPathResultCustom.cpp:
121         (WebCore::JSXPathResult::visitChildren):
122         * bindings/scripts/CodeGeneratorJS.pm:
123         (GenerateHeader):
124         (GenerateImplementation):
125         * bindings/scripts/test/JS/JSTestInterface.cpp:
126         (WebCore::JSTestInterface::getOwnPropertySlot):
127         (WebCore::JSTestInterface::getOwnPropertyDescriptor):
128         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
129         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
130         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertyDescriptor):
131         (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
132         (WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
133         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
134         (WebCore::JSTestNamedConstructor::getOwnPropertySlot):
135         (WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
136         * bindings/scripts/test/JS/JSTestObj.cpp:
137         (WebCore::JSTestObjPrototype::getOwnPropertySlot):
138         (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
139         (WebCore::JSTestObj::getOwnPropertySlot):
140         (WebCore::JSTestObj::getOwnPropertyDescriptor):
141         (WebCore::JSTestObj::put):
142         (WebCore::JSTestObj::visitChildren):
143         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
144         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
145         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
146         * bridge/objc/objc_runtime.mm:
147         (JSC::Bindings::ObjcFallbackObjectImp::getCallData):
148         (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
149         * bridge/qt/qt_instance.cpp:
150         (JSC::Bindings::QtRuntimeObject::visitChildren):
151         * bridge/qt/qt_runtime.cpp:
152         (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
153         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertySlot):
154         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor):
155         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertySlot):
156         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor):
157         * bridge/runtime_array.cpp:
158         (JSC::RuntimeArray::getOwnPropertyNames):
159         (JSC::RuntimeArray::getOwnPropertySlot):
160         (JSC::RuntimeArray::getOwnPropertyDescriptor):
161         (JSC::RuntimeArray::getOwnPropertySlotByIndex):
162         (JSC::RuntimeArray::put):
163         (JSC::RuntimeArray::putByIndex):
164         * bridge/runtime_method.cpp:
165         (JSC::RuntimeMethod::getOwnPropertySlot):
166         (JSC::RuntimeMethod::getOwnPropertyDescriptor):
167         * bridge/runtime_object.cpp:
168         (JSC::Bindings::RuntimeObject::getOwnPropertySlot):
169         (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
170         (JSC::Bindings::RuntimeObject::put):
171         (JSC::Bindings::RuntimeObject::defaultValue):
172         (JSC::Bindings::RuntimeObject::getCallData):
173         (JSC::Bindings::RuntimeObject::getConstructData):
174         (JSC::Bindings::RuntimeObject::getOwnPropertyNames):
175
176 2011-11-11  Vincent Scheib  <scheib@chromium.org>
177
178         Unreviewed, rolling out r99994.
179         http://trac.webkit.org/changeset/99994
180         https://bugs.webkit.org/show_bug.cgi?id=72150
181
182         Broke chromium windows build
183
184         * WebCore.gypi:
185         * bindings/generic/RuntimeEnabledFeatures.h:
186         (WebCore::RuntimeEnabledFeatures::webkitLockMouseEnabled):
187         (WebCore::RuntimeEnabledFeatures::webkitUnlockMouseEnabled):
188         (WebCore::RuntimeEnabledFeatures::webkitMouseLockedEnabled):
189         * page/MouseLockable.cpp: Removed.
190         * page/MouseLockable.h: Removed.
191         * page/MouseLockable.idl: Removed.
192         * page/Navigator.cpp:
193         * page/Navigator.h:
194         * page/Navigator.idl:
195
196 2011-11-11  Adam Klein  <adamk@chromium.org>
197
198         [v8] Remove unused V8Proxy::executingScript method
199         https://bugs.webkit.org/show_bug.cgi?id=72160
200
201         Reviewed by Nate Chapin.
202
203         * bindings/v8/V8Proxy.cpp:
204         * bindings/v8/V8Proxy.h:
205
206 2011-11-11  Brady Eidson  <beidson@apple.com>
207
208         Rubberstamped by Andy Estes
209
210         100,000!
211         Congratulations WebKit, and here's to hundreds of thousands more!
212         
213         * ChangeLog: Point out revision 100,000.
214
215 2011-11-11  David Kilzer  <ddkilzer@apple.com>
216
217         <http://webkit.org/b/71921> Remove use of strcpy in KURL
218
219         Reviewed by Antti Koivisto.
220
221         * platform/KURL.cpp:
222         (WebCore::KURL::init): Replace strcpy() with strncpy().
223
224 2011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>
225
226         De-virtualize supportsProfiling, supportsRichSourceInfo, shouldInterruptScript in JSGlobalObject
227         https://bugs.webkit.org/show_bug.cgi?id=72035
228
229         Reviewed by Geoffrey Garen.
230
231         No new tests.
232
233         * bindings/js/JSDOMGlobalObject.cpp: Changed constructor to support passing new GlobalObjectMethodTable pointer to parent class.
234         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
235         * bindings/js/JSDOMGlobalObject.h:
236         * bindings/js/JSDOMWindowBase.cpp: Added static const GlobalObjectMethodTable and filled it in with the proper function pointers.
237         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
238         (WebCore::JSDOMWindowBase::supportsProfiling): Changed to static to put in the method table.
239         (WebCore::JSDOMWindowBase::supportsRichSourceInfo): Ditto.
240         (WebCore::JSDOMWindowBase::shouldInterruptScript): Ditto.
241         * bindings/js/JSDOMWindowBase.h:
242
243
244 2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
245
246         Unreviewed, rolling out r99869.
247         http://trac.webkit.org/changeset/99869
248         https://bugs.webkit.org/show_bug.cgi?id=72157
249
250         "Caused a ~400% perf regression on the Chromium intl1 page
251         cyclers" (Requested by ojan on #webkit).
252
253         * dom/Document.cpp:
254         (WebCore::Document::Document):
255         (WebCore::Document::images):
256         (WebCore::Document::applets):
257         (WebCore::Document::embeds):
258         (WebCore::Document::plugins):
259         (WebCore::Document::objects):
260         (WebCore::Document::scripts):
261         (WebCore::Document::links):
262         (WebCore::Document::forms):
263         (WebCore::Document::anchors):
264         * dom/Document.h:
265         * html/CollectionType.h:
266
267 2011-11-11  Vincent Scheib  <scheib@chromium.org>
268
269         Mouse Lock Navigator IDL
270         https://bugs.webkit.org/show_bug.cgi?id=72150
271
272         Reviewed by Dimitri Glazkov.
273
274         Tests require mocking (similar to geolocation) that will be built after this.
275
276         * WebCore.gypi:
277         * bindings/generic/RuntimeEnabledFeatures.h:
278         (WebCore::RuntimeEnabledFeatures::webkitPointerEnabled):
279         * page/MouseLockable.cpp: Added.
280         (WebCore::MouseLockable::MouseLockable):
281         (WebCore::MouseLockable::~MouseLockable):
282         (WebCore::MouseLockable::webkitLock):
283         (WebCore::MouseLockable::webkitUnlock):
284         (WebCore::MouseLockable::webkitIsLocked):
285         * page/MouseLockable.h: Added.
286         (WebCore::MouseLockable::create):
287         * page/MouseLockable.idl: Added.
288         * page/Navigator.cpp:
289         (WebCore::Navigator::webkitPointer):
290         * page/Navigator.h:
291         * page/Navigator.idl:
292
293 2011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>
294
295         De-virtualize JSGlobalObject::allowsAccessFrom
296         https://bugs.webkit.org/show_bug.cgi?id=71969
297
298         Reviewed by Darin Adler.
299
300         No new tests.
301
302         Since allowsAccessFrom is only used by WebScriptObject, we know that we'll always have a 
303         JSDOMWindowBase, so we can simply have allowsAccessFrom to live in JSDOMWindowBase rather 
304         than JSGlobalObject.
305
306         * bindings/js/JSDOMWindowBase.h: De-virtualized allowsAccessFrom.
307         * bindings/objc/WebScriptObject.mm:
308         (-[WebScriptObject _isSafeScript]): Added a cast from a JSGlobalObject to a JSDOMWindowBase in 
309         order to call the allowsAccessFrom method.
310
311 2011-11-11  Rafael Weinstein  <rafaelw@chromium.org>
312
313         [MutationObservers] Support attributeFilter for attribute mutations
314         https://bugs.webkit.org/show_bug.cgi?id=70860
315
316         Reviewed by Dimitri Glazkov.
317
318         This patch adds an attributeFilter to the MutationObserverRegistration and
319         adds support for only observing attributes whose name are in the provided
320         filter set (array of strings).
321
322         Test: fast/mutation/observe-attributes.html.
323
324         * bindings/js/JSWebKitMutationObserverCustom.cpp:
325         (WebCore::JSWebKitMutationObserver::observe):
326         * bindings/v8/OptionsObject.cpp:
327         (WebCore::OptionsObject::get):
328         * bindings/v8/OptionsObject.h:
329         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
330         (WebCore::V8WebKitMutationObserver::observeCallback):
331         * dom/Element.cpp:
332         (WebCore::enqueueAttributesMutationRecord):
333         * dom/MutationObserverRegistration.cpp:
334         (WebCore::MutationObserverRegistration::resetObservation):
335         (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
336         (WebCore::MutationObserverRegistration::caseInsensitiveAttributeFilter):
337         * dom/MutationObserverRegistration.h:
338         * dom/Node.cpp:
339         (WebCore::Node::collectMatchingObserversForMutation):
340         (WebCore::Node::getRegisteredMutationObserversOfType):
341         * dom/Node.h:
342         * dom/WebKitMutationObserver.cpp:
343         (WebCore::WebKitMutationObserver::observe):
344         * dom/WebKitMutationObserver.h:
345
346 2011-11-11  Vsevolod Vlasov  <vsevik@chromium.org>
347
348         Application cache status indicator gets stuck at DOWNLOADING after a failure
349         https://bugs.webkit.org/show_bug.cgi?id=60793
350
351         Reviewed by Pavel Feldman.
352
353         Test: http/tests/inspector/resource-tree/appcache-manifest-with-non-existing-file.html
354
355         * inspector/InspectorApplicationCacheAgent.cpp:
356         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
357         (WebCore::InspectorApplicationCacheAgent::restore):
358         (WebCore::InspectorApplicationCacheAgent::enable):
359         * inspector/InspectorApplicationCacheAgent.h:
360         * inspector/InspectorController.cpp:
361         (WebCore::InspectorController::InspectorController):
362         (WebCore::InspectorController::restoreInspectorStateFromCookie):
363         * inspector/front-end/ApplicationCacheItemsView.js:
364         (WebInspector.ApplicationCacheItemsView):
365         (WebInspector.ApplicationCacheItemsView.prototype.updateStatus):
366
367 2011-11-11  Eric Carlson  <eric.carlson@apple.com>
368
369         Implement TextTrackList and the textTracks attribute of HTMLMediaElement
370         https://bugs.webkit.org/show_bug.cgi?id=71123
371
372         Reviewed by Sam Weinig.
373
374         Test: media/track/track-add-track.html
375               media/track/tracklist-is-reachable.html
376
377         * CMakeLists.txt: Add new files for TextTrackList.
378         * DerivedSources.cpp: Ditto.
379         * DerivedSources.make: Ditto.
380         * DerivedSources.pri: Ditto.
381         * GNUmakefile.list.am: Ditto.
382         * Target.pri: Ditto.
383         * WebCore.gypi: Ditto.
384         * WebCore.xcodeproj/project.pbxproj: Ditto.
385         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
386
387         * bindings/js/JSTextTrackListCustom.cpp: Added.
388         (WebCore::JSTextTrackListOwner::isReachableFromOpaqueRoots):
389
390         * dom/EventTargetFactory.in: Add TextTrackList, conditional on VIDEO_TRACK.
391
392         * html/HTMLAudioElement.cpp:
393         (WebCore::HTMLAudioElement::createForJSConstructor): Update for scheduleLoad change.
394
395         * html/HTMLMediaElement.cpp:
396         (WebCore::HTMLMediaElement::~HTMLMediaElement): Update for m_textTracks change from
397             generic Vector to TextTrackList.
398         (WebCore::HTMLMediaElement::attributeChanged): Ditto.
399         (WebCore::HTMLMediaElement::insertedIntoDocument): Update for scheduleLoad change.
400         (WebCore::HTMLMediaElement::scheduleLoad): Add a parameter so caller can specify if
401             the main resource or a text track should be loaded.
402         (WebCore::HTMLMediaElement::loadTimerFired): Update to allow text track loading.
403         (WebCore::HTMLMediaElement::loadInternal): Don't call loadTextTracks.
404         (WebCore::HTMLMediaElement::isSafeToLoadURL): Log when CSP denies load.
405         (WebCore::HTMLMediaElement::playInternal): Update for scheduleLoad change.
406         (WebCore::HTMLMediaElement::pauseInternal): Ditto.
407         (WebCore::HTMLMediaElement::addTrack): Update for m_textTracks change from
408             generic Vector to TextTrackList.
409         (WebCore::HTMLMediaElement::addTextTrack): New, add track to m_textTracks and configure.
410         (WebCore::HTMLMediaElement::configureTextTracks): New, add comments about what this should
411             do eventually.
412         (WebCore::HTMLMediaElement::textTracks): New, return TextTrackList.
413         (WebCore::HTMLMediaElement::trackWasAdded): Bail if runtime feature is not enabled, schedule
414             asynchronous text track load.
415         (WebCore::HTMLMediaElement::trackWillBeRemoved): Minor cleanup.
416         (WebCore::HTMLMediaElement::selectNextSourceChild): Ditto.
417         (WebCore::HTMLMediaElement::sourceWasAdded): Update for scheduleLoad change.
418         * html/HTMLMediaElement.h:
419         * html/HTMLMediaElement.idl: Add textTracks attribute.
420
421         * html/HTMLTrackElement.cpp: 
422         (WebCore::HTMLTrackElement::insertedIntoTree): Use new mediaElement() method.
423         (WebCore::HTMLTrackElement::willRemove): Ditto.
424         (WebCore::HTMLTrackElement::attributeChanged): When 'src' is changed, call scheduleLoad
425             instead of HTMLMediaElement
426         (WebCore::HTMLTrackElement::isDefault): hasAttribute -> fastHasAttribute.
427         (WebCore::HTMLTrackElement::track): Allocate track if necessary.
428         (WebCore::HTMLTrackElement::scheduleLoad): New, tell the track to schedule a load.
429         (WebCore::HTMLTrackElement::canLoadUrl): New, check security policy to see if it is OK
430             to load a text track. If so, dispatch 'beforeload' event to give it a chance to disallow
431             load.
432         (WebCore::HTMLTrackElement::loadingCompleted): Renamed from textTrackLoadingCompleted.
433         (WebCore::HTMLTrackElement::textTrackReadyStateChanged): New, TextTrackLoadingClient interface
434             used to inform parent of TextTrack state changes.
435         (WebCore::HTMLTrackElement::textTrackModeChanged): Ditto.
436         (WebCore::HTMLTrackElement::textTrackAddCues): Ditto.
437         (WebCore::HTMLTrackElement::textTrackRemoveCues): Ditto.
438         (WebCore::HTMLTrackElement::textTrackAddCue): Ditto.
439         (WebCore::HTMLTrackElement::textTrackRemoveCue): Ditto.
440         (WebCore::HTMLTrackElement::mediaElement): New, return parent element.
441         * html/HTMLTrackElement.h:
442
443         * html/LoadableTextTrack.cpp:
444         (WebCore::LoadableTextTrack::LoadableTextTrack): Initialize new instance variables.
445         (WebCore::LoadableTextTrack::scheduleLoad): New, prime a timer to kick off loading.
446         (WebCore::LoadableTextTrack::loadTimerFired): Cancel current load, if any, check to see if
447             new url is allowed to load, and start new load.
448         (WebCore::LoadableTextTrack::cueLoadingCompleted): 
449         * html/LoadableTextTrack.h:
450         (WebCore::LoadableTextTrackClient::~LoadableTextTrackClient): TextTrackLoadingClient -> LoadableTextTrackClient
451         (WebCore::LoadableTextTrackClient::canLoadUrl): 
452         (WebCore::LoadableTextTrackClient::loadingCompleted):
453         (WebCore::LoadableTextTrack::create):
454
455         * html/TextTrack.cpp:
456         (WebCore::TextTrack::TextTrack): setClient(0) -> clearClient().
457         * html/TextTrack.h:
458         (WebCore::TextTrack::clearClient): Renamed from setClient, because it is only used to clear the client pointer.
459
460         * html/TextTrackCueList.cpp:
461         (WebCore::TextTrackCueList::add): Get rid of a compiler warning that breaks the OS X build.
462
463         * html/track/TextTrackList.cpp: Added. Implement the TextTrackList object.
464         (TextTrackList::TextTrackList):
465         (TextTrackList::~TextTrackList):
466         (TextTrackList::length):
467         (TextTrackList::item):
468         (TextTrackList::append):
469         (TextTrackList::remove):
470         (TextTrackList::interfaceName):
471         (TextTrackList::scheduleAddTrackEvent):
472         (TextTrackList::asyncEventTimerFired):
473         * html/track/TextTrackList.h: Added.
474         (WebCore::TextTrackList::create):
475         (WebCore::TextTrackList::scriptExecutionContext):
476         (WebCore::TextTrackList::clearOwner):
477         (WebCore::TextTrackList::owner):
478         (WebCore::TextTrackList::refEventTarget):
479         (WebCore::TextTrackList::derefEventTarget):
480         (WebCore::TextTrackList::eventTargetData):
481         (WebCore::TextTrackList::ensureEventTargetData):
482         * html/track/TextTrackList.idl: Added.
483
484         * loader/TextTrackLoader.cpp:
485         (WebCore::TextTrackLoader::cancelLoad): New, cancel pending or in progress load and delete loader.
486         (WebCore::TextTrackLoader::notifyFinished): Call cancelLoad.
487         (WebCore::TextTrackLoader::load): Ditto.
488         * loader/TextTrackLoader.h:
489         * page/DOMWindow.idl: Add TextTrackList.
490
491 2011-11-11  Pavel Feldman  <pfeldman@google.com>
492
493         Web Inspector: reimplement DOM search using no XPath.
494         https://bugs.webkit.org/show_bug.cgi?id=72125
495
496         Reviewed by Yury Semikhatsky.
497
498         * inspector/InspectorDOMAgent.cpp:
499         (WebCore::InspectorDOMAgent::performSearch):
500         (WebCore::InspectorDOMAgent::buildObjectForNode):
501         * inspector/InspectorDOMAgent.h:
502
503 2011-11-11  Gavin Peters  <gavinp@chromium.org>
504
505         Protect Document during error responses
506         https://bugs.webkit.org/show_bug.cgi?id=72068
507
508         Add a Document protector to the error response code handler, just
509         as exists for other ends of requests.
510
511         Reviewed by Nate Chapin.
512
513         Test: http/tests/misc/xslt-bad-import.html
514
515         * loader/cache/CachedResourceRequest.cpp:
516         (WebCore::CachedResourceRequest::didReceiveData):
517
518 2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
519
520         Unreviewed, rolling out r99979.
521         http://trac.webkit.org/changeset/99979
522         https://bugs.webkit.org/show_bug.cgi?id=72136
523
524         bad commit message (Requested by gavinp on #webkit).
525
526         * loader/cache/CachedResourceRequest.cpp:
527         (WebCore::CachedResourceRequest::didReceiveData):
528
529 2011-11-11  Gavin Peters  <gavinp@chromium.org>
530
531         Protect Document during error responses
532         https://bugs.webkit.org/show_bug.cgi?id=72068
533
534         Add a Document protector to the error response code handler, just
535         as exists for other ends of requests.
536
537         Reviewed by Nate Chapin.
538
539         Test: http/tests/misc/xslt-bad-import.html
540
541         * loader/cache/CachedResourceRequest.cpp:
542         (WebCore::CachedResourceRequest::didReceiveData):
543
544 2011-11-10  Philippe Normand  <pnormand@igalia.com>
545
546         [GStreamer] GstCaps and GstPad RefPtr implementation
547         https://bugs.webkit.org/show_bug.cgi?id=72023
548
549         Reviewed by Martin Robinson.
550
551         Smart pointer implementations for GstCaps and GstPad and them
552         in the media player code.
553
554         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
555         (WTF::GstPad):
556         (WTF::GstCaps):
557         * platform/graphics/gstreamer/GRefPtrGStreamer.h:
558         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
559         (WebCore::GStreamerGWorld::enterFullscreen):
560         (WebCore::GStreamerGWorld::exitFullscreen):
561         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
562         (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
563         (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
564         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
565         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
566         (webkit_web_src_init):
567         (StreamingClient::didReceiveResponse):
568
569 2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
570
571         Unreviewed, rolling out r99964.
572         http://trac.webkit.org/changeset/99964
573         https://bugs.webkit.org/show_bug.cgi?id=72124
574
575         Broke too many Qt tests (Requested by tronical_ on #webkit).
576
577         * Target.pri:
578         * html/HTMLSelectElement.h:
579         (WebCore::HTMLSelectElement::usesMenuList):
580         * platform/qt/QtMobileWebStyle.cpp: Added.
581         (QtMobileWebStyle::QtMobileWebStyle):
582         (drawRectangularControlBackground):
583         (QtMobileWebStyle::drawChecker):
584         (QtMobileWebStyle::findChecker):
585         (QtMobileWebStyle::drawRadio):
586         (QtMobileWebStyle::findRadio):
587         (QtMobileWebStyle::drawControl):
588         (QtMobileWebStyle::drawPrimitive):
589         (QtMobileWebStyle::drawMultipleComboButton):
590         (QtMobileWebStyle::drawSimpleComboButton):
591         (QtMobileWebStyle::getButtonImageSize):
592         (QtMobileWebStyle::findComboButton):
593         (QtMobileWebStyle::drawComplexControl):
594         * platform/qt/QtMobileWebStyle.h: Added.
595         * platform/qt/QtStyleOptionWebComboBox.h:
596         (WebCore::QtStyleOptionWebComboBox::QtStyleOptionWebComboBox):
597         (WebCore::QtStyleOptionWebComboBox::checkMultiple):
598         * platform/qt/RenderThemeQStyle.cpp: Removed.
599         * platform/qt/RenderThemeQStyle.h: Removed.
600         * platform/qt/RenderThemeQt.cpp:
601         (WebCore::initStyleOption):
602         (WebCore::StylePainter::StylePainter):
603         (WebCore::StylePainter::init):
604         (WebCore::StylePainter::~StylePainter):
605         (WebCore::RenderThemeQt::create):
606         (WebCore::RenderTheme::themeForPage):
607         (WebCore::RenderThemeQt::RenderThemeQt):
608         (WebCore::RenderThemeQt::~RenderThemeQt):
609         (WebCore::RenderThemeQt::isControlStyled):
610         (WebCore::RenderThemeQt::popupInternalPaddingBottom):
611         (WebCore::RenderThemeQt::fallbackStyle):
612         (WebCore::RenderThemeQt::qStyle):
613         (WebCore::RenderThemeQt::extraDefaultStyleSheet):
614         (WebCore::RenderThemeQt::findFrameLineWidth):
615         (WebCore::inflateButtonRect):
616         (WebCore::RenderThemeQt::adjustRepaintRect):
617         (WebCore::RenderThemeQt::minimumMenuListSize):
618         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
619         (WebCore::RenderThemeQt::adjustButtonStyle):
620         (WebCore::RenderThemeQt::setButtonPadding):
621         (WebCore::RenderThemeQt::paintButton):
622         (WebCore::RenderThemeQt::adjustTextFieldStyle):
623         (WebCore::RenderThemeQt::paintTextField):
624         (WebCore::RenderThemeQt::adjustMenuListStyle):
625         (WebCore::RenderThemeQt::setPopupPadding):
626         (WebCore::RenderThemeQt::paintMenuList):
627         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
628         (WebCore::RenderThemeQt::paintMenuListButton):
629         (WebCore::RenderThemeQt::animationDurationForProgressBar):
630         (WebCore::RenderThemeQt::paintProgressBar):
631         (WebCore::RenderThemeQt::paintSliderTrack):
632         (WebCore::RenderThemeQt::paintSliderThumb):
633         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
634         (WebCore::RenderThemeQt::paintInnerSpinButton):
635         (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
636         (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
637         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
638         (WebCore::RenderThemeQt::paintMediaMuteButton):
639         (WebCore::RenderThemeQt::paintMediaPlayButton):
640         (WebCore::RenderThemeQt::paintMediaCurrentTime):
641         (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
642         (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
643         (WebCore::RenderThemeQt::paintMediaSliderTrack):
644         (WebCore::RenderThemeQt::paintMediaSliderThumb):
645         (WebCore::RenderThemeQt::adjustSliderThumbSize):
646         (WebCore::RenderThemeQt::caretBlinkInterval):
647         (WebCore::RenderThemeQt::fileListNameForWidth):
648         * platform/qt/RenderThemeQt.h:
649         (WebCore::StylePainter::isValid):
650         (WebCore::StylePainter::drawPrimitive):
651         (WebCore::StylePainter::drawControl):
652         (WebCore::StylePainter::drawComplexControl):
653         * platform/qt/RenderThemeQtMobile.cpp: Removed.
654         * platform/qt/RenderThemeQtMobile.h: Removed.
655         * platform/qt/ScrollbarThemeQt.cpp:
656         (WebCore::ScrollbarTheme::nativeTheme):
657         (WebCore::ScrollbarThemeQt::paint):
658         (WebCore::ScrollbarThemeQt::scrollbarThickness):
659         (WebCore::ScrollbarThemeQt::paintScrollCorner):
660
661 2011-11-11  Pavel Feldman  <pfeldman@google.com>
662
663         Not reviewed: fix Snow Leopard build.
664
665         * inspector/InspectorDOMAgent.cpp:
666         (WebCore::InspectorDOMAgent::performSearch):
667
668 2011-11-11  Pavel Feldman  <pfeldman@google.com>
669
670         Web Inspector: make search in DOM panel scale.
671         https://bugs.webkit.org/show_bug.cgi?id=72118
672
673         Reviewed by Yury Semikhatsky.
674
675         * inspector/Inspector.json:
676         * inspector/InspectorDOMAgent.cpp:
677         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
678         (WebCore::InspectorDOMAgent::reset):
679         (WebCore::InspectorDOMAgent::performSearch):
680         (WebCore::InspectorDOMAgent::getSearchResults):
681         (WebCore::InspectorDOMAgent::discardSearchResults):
682         * inspector/InspectorDOMAgent.h:
683         * inspector/front-end/DOMAgent.js:
684         (WebInspector.DOMAgent.prototype.performSearch.callback):
685         (WebInspector.DOMAgent.prototype.performSearch):
686         (WebInspector.DOMAgent.prototype.searchResult.mycallback):
687         (WebInspector.DOMAgent.prototype.searchResult):
688         (WebInspector.DOMAgent.prototype.cancelSearch):
689         (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
690         * inspector/front-end/ElementsPanel.js:
691         (WebInspector.ElementsPanel.prototype.searchCanceled):
692         (WebInspector.ElementsPanel.prototype.performSearch.resultCountCallback):
693         (WebInspector.ElementsPanel.prototype.performSearch):
694         (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult):
695         (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
696         (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult.):
697         (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult):
698         (WebInspector.ElementsPanel.prototype._hideSearchHighlights):
699         * inspector/front-end/NetworkPanel.js:
700         (WebInspector.NetworkLogView.prototype._highlightNthMatchedResource):
701         * inspector/front-end/ResourcesPanel.js:
702         (WebInspector.ResourcesPanel.prototype._showSearchResult.callback):
703         (WebInspector.ResourcesPanel.prototype._showSearchResult):
704         * inspector/front-end/ScriptsPanel.js:
705         (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
706         (WebInspector.ScriptsPanel.prototype.performSearch):
707         (WebInspector.ScriptsPanel.prototype.jumpToNextSearchResult):
708         (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
709         * inspector/front-end/SearchController.js:
710         (WebInspector.SearchController.prototype._updateSearchMatchesCountAndCurrentMatchIndex):
711
712 2011-11-11  Pierre Rossi  <pierre.rossi@gmail.com>
713
714         [Qt] Remove the QStyle dependency in Qt's mobile theme
715         https://bugs.webkit.org/show_bug.cgi?id=67773
716
717         This refactoring splits up RenderThemeQt with two
718         subclasses, a QStyle-backed one, and a Mobile version
719         that uses the old mobile theme for now.
720
721         QStyle availability is detected at compile time, and
722         its use is determined by the QT_WEBKIT_USE_MOBILE_THEME
723         environment variable.
724
725         Reviewed by Simon Hausmann.
726
727         Covered by the existing tests.
728
729         * Target.pri:
730         * platform/qt/QtMobileWebStyle.cpp: Removed. The relevant logic
731         now lives within RenderThemeQtMobile.
732         * platform/qt/QtMobileWebStyle.h: Removed. Ditto.
733         * platform/qt/RenderThemeQStyle.cpp: Added.
734         (WebCore::initStyleOption):
735         (WebCore::RenderThemeQStyle::getStylePainter):
736         (WebCore::StylePainterQStyle::StylePainterQStyle):
737         (WebCore::StylePainterQStyle::init):
738         (WebCore::RenderThemeQStyle::create):
739         (WebCore::RenderThemeQStyle::RenderThemeQStyle):
740         (WebCore::RenderThemeQStyle::~RenderThemeQStyle):
741         (WebCore::RenderThemeQStyle::fallbackStyle):
742         (WebCore::RenderThemeQStyle::qStyle):
743         (WebCore::RenderThemeQStyle::findFrameLineWidth):
744         (WebCore::RenderThemeQStyle::inflateButtonRect):
745         (WebCore::RenderThemeQStyle::computeSizeBasedOnStyle):
746         (WebCore::RenderThemeQStyle::adjustButtonStyle):
747         (WebCore::RenderThemeQStyle::setButtonPadding):
748         (WebCore::RenderThemeQStyle::paintButton):
749         (WebCore::RenderThemeQStyle::adjustTextFieldStyle):
750         (WebCore::RenderThemeQStyle::paintTextField):
751         (WebCore::RenderThemeQStyle::adjustTextAreaStyle):
752         (WebCore::RenderThemeQStyle::paintTextArea):
753         (WebCore::RenderThemeQStyle::setPopupPadding):
754         (WebCore::RenderThemeQStyle::paintMenuList):
755         (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
756         (WebCore::RenderThemeQStyle::paintMenuListButton):
757         (WebCore::RenderThemeQStyle::animationDurationForProgressBar):
758         (WebCore::RenderThemeQStyle::paintProgressBar):
759         (WebCore::RenderThemeQStyle::paintSliderTrack):
760         (WebCore::RenderThemeQStyle::adjustSliderTrackStyle):
761         (WebCore::RenderThemeQStyle::paintSliderThumb):
762         (WebCore::RenderThemeQStyle::adjustSliderThumbStyle):
763         (WebCore::RenderThemeQStyle::paintSearchField):
764         (WebCore::RenderThemeQStyle::adjustSearchFieldStyle):
765         (WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle):
766         (WebCore::RenderThemeQStyle::paintSearchFieldDecoration):
767         (WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle):
768         (WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration):
769         (WebCore::RenderThemeQStyle::paintInnerSpinButton):
770         (WebCore::RenderThemeQStyle::initializeCommonQStyleOptions):
771         (WebCore::RenderThemeQStyle::adjustSliderThumbSize):
772         * platform/qt/RenderThemeQStyle.h: Added.
773         (WebCore::StylePainterQStyle::isValid):
774         (WebCore::StylePainterQStyle::drawPrimitive):
775         (WebCore::StylePainterQStyle::drawControl):
776         (WebCore::StylePainterQStyle::drawComplexControl):
777         * platform/qt/RenderThemeQt.cpp:
778         (WebCore::RenderThemeQt::RenderThemeQt):
779         (WebCore::RenderThemeQt::isControlStyled):
780         (WebCore::RenderThemeQt::inflateButtonRect):
781         (WebCore::RenderThemeQt::adjustRepaintRect):
782         (WebCore::RenderThemeQt::minimumMenuListSize):
783         (WebCore::RenderThemeQt::adjustTextFieldStyle):
784         (WebCore::RenderThemeQt::adjustMenuListStyle):
785         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
786         (WebCore::RenderThemeQt::adjustProgressBarStyle):
787         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
788         (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
789         (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
790         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
791         (WebCore::RenderThemeQt::paintMediaMuteButton):
792         (WebCore::RenderThemeQt::paintMediaPlayButton):
793         (WebCore::RenderThemeQt::paintMediaCurrentTime):
794         (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
795         (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
796         (WebCore::RenderThemeQt::paintMediaSliderTrack):
797         (WebCore::RenderThemeQt::paintMediaSliderThumb):
798         (WebCore::RenderThemeQt::adjustSliderThumbSize):
799         (WebCore::RenderThemeQt::caretBlinkInterval):
800         (WebCore::RenderThemeQt::fileListNameForWidth):
801         (WebCore::StylePainter::StylePainter):
802         (WebCore::StylePainter::init):
803         (WebCore::StylePainter::~StylePainter):
804         * platform/qt/RenderThemeQt.h:
805         (WebCore::RenderThemeQt::useMobileTheme):
806         (WebCore::StylePainter::isValid):
807         * platform/qt/RenderThemeQtMobile.cpp: Added.
808         (WebCore::drawRectangularControlBackground):
809         (WebCore::RenderThemeQtMobile::getStylePainter):
810         (WebCore::StylePainterMobile::StylePainterMobile):
811         (WebCore::StylePainterMobile::drawChecker):
812         (WebCore::StylePainterMobile::findChecker):
813         (WebCore::StylePainterMobile::drawRadio):
814         (WebCore::StylePainterMobile::findRadio):
815         (WebCore::StylePainterMobile::drawMultipleComboButton):
816         (WebCore::StylePainterMobile::drawSimpleComboButton):
817         (WebCore::StylePainterMobile::getButtonImageSize):
818         (WebCore::StylePainterMobile::findComboButton):
819         (WebCore::StylePainterMobile::drawLineEdit):
820         (WebCore::StylePainterMobile::drawCheckBox):
821         (WebCore::StylePainterMobile::drawRadioButton):
822         (WebCore::StylePainterMobile::drawPushButton):
823         (WebCore::StylePainterMobile::drawComboBox):
824         (WebCore::RenderThemeQtMobile::create):
825         (WebCore::RenderTheme::themeForPage):
826         (WebCore::RenderThemeQtMobile::RenderThemeQtMobile):
827         (WebCore::RenderThemeQtMobile::~RenderThemeQtMobile):
828         (WebCore::RenderThemeQtMobile::isControlStyled):
829         (WebCore::RenderThemeQtMobile::popupInternalPaddingBottom):
830         (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
831         (WebCore::RenderThemeQtMobile::adjustButtonStyle):
832         (WebCore::RenderThemeQtMobile::setButtonPadding):
833         (WebCore::RenderThemeQtMobile::paintButton):
834         (WebCore::RenderThemeQtMobile::adjustTextFieldStyle):
835         (WebCore::RenderThemeQtMobile::paintTextField):
836         (WebCore::RenderThemeQtMobile::adjustMenuListStyle):
837         (WebCore::RenderThemeQtMobile::setPopupPadding):
838         (WebCore::RenderThemeQtMobile::paintMenuList):
839         (WebCore::RenderThemeQtMobile::paintMenuListButton):
840         (WebCore::RenderThemeQtMobile::animationDurationForProgressBar):
841         (WebCore::RenderThemeQtMobile::paintProgressBar):
842         (WebCore::RenderThemeQtMobile::paintSliderTrack):
843         (WebCore::RenderThemeQtMobile::paintSliderThumb):
844         (WebCore::RenderThemeQtMobile::checkMultiple):
845         (WebCore::RenderThemeQtMobile::setPaletteFromPageClientIfExists):
846         (WebCore::RenderThemeQtMobile::adjustSliderThumbSize):
847         * platform/qt/RenderThemeQtMobile.h: Added.
848         * platform/qt/ScrollbarThemeQt.cpp:
849         (WebCore::ScrollbarTheme::nativeTheme):
850         (WebCore::ScrollbarThemeQt::paint):
851         (WebCore::ScrollbarThemeQt::scrollbarThickness):
852         (WebCore::ScrollbarThemeQt::paintScrollCorner):
853
854 2011-11-11  Alexander Pavlov  <apavlov@chromium.org>
855
856         Web Inspector: Option to configure indentation of pretty-printed Javascript
857         https://bugs.webkit.org/show_bug.cgi?id=72119
858
859         Reviewed by Pavel Feldman.
860
861         Drive-by fix for field names and added indent caching, as suggested by Pavel Podivilov.
862
863         * inspector/front-end/JavaScriptFormatter.js:
864         (FormattedContentBuilder):
865         (FormattedContentBuilder.prototype.increaseNestingLevel):
866         (FormattedContentBuilder.prototype.decreaseNestingLevel):
867         (FormattedContentBuilder.prototype._addIndent):
868         * inspector/front-end/ScriptFormatter.js:
869         * inspector/front-end/ScriptFormatterWorker.js:
870         (onmessage):
871         (formatScript):
872         (HTMLScriptFormatter):
873         (HTMLScriptFormatter.prototype.scriptEnded):
874
875 2011-11-11  Andreas Kling  <kling@webkit.org>
876
877         Unreviewed Chromium build fix after r99958.
878
879         * bindings/scripts/CodeGeneratorV8.pm:
880         (GenerateImplementationCustomCall):o
881
882             Remove hack that forced HTMLOptionsCollection to have a custom
883             callAsFunctionCallback().
884
885 2011-11-11  Mike Lewis <mikelikespie@gmail.com>
886
887         Web Inspector: DevTools InspectorStubs.js incorrectly converting responses to arguments.
888         https://bugs.webkit.org/show_bug.cgi?id=72096
889
890         JSON.parse doesn't garantee the order of keys.
891         We have to explicitly order the results according to Inspector.json spec.
892
893         Reviewed by Pavel Feldman.
894
895         * inspector/CodeGeneratorInspector.py:
896
897 2011-11-10  Andreas Kling  <kling@webkit.org>
898
899         Remove ability to call HTMLCollections in V8 bindings as well.
900         <http://webkit.org/b/72045>
901
902         Reviewed by Anders Carlsson.
903
904         Follow the JSC bindings and remove the ability to call HTMLCollections
905         in the V8 bindings (excluding HTMLAllCollection.)
906
907         * bindings/scripts/CodeGeneratorV8.pm:
908         (GenerateHeaderCustomCall):
909         (GenerateImplementationCustomCall):
910         * dom/NodeList.idl:
911         * html/HTMLCollection.idl:
912
913             Remove the V8CustomCall attribute as it's no longer needed.
914
915         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
916         * bindings/v8/custom/V8NodeListCustom.cpp:
917
918 2011-11-11  Alexander Pavlov  <apavlov@chromium.org>
919
920         Web Inspector: Interactive color box for gradients in CSS property values
921         https://bugs.webkit.org/show_bug.cgi?id=72112
922
923         Reviewed by Yury Semikhatsky.
924
925         Add "background-image" to the list of color-aware properties (may contain gradient definition).
926
927         * inspector/front-end/CSSKeywordCompletions.js:
928
929 2011-11-11  Yury Semikhatsky  <yurys@chromium.org>
930
931         Web Inspector: [chromium] list dedicated workers in case inspector opened post-worker creation.
932         https://bugs.webkit.org/show_bug.cgi?id=72020
933
934         Collect information about dedicated workers even when inspector is closed. This
935         way we can list all dedicated workers if the front-end opens later.
936
937         Reviewed by Pavel Feldman.
938
939         Test: http/tests/inspector-enabled/dedicated-workers-list.html
940
941         * inspector/InspectorInstrumentation.h:
942         (WebCore::InspectorInstrumentation::didStartWorkerContext):
943         * inspector/InspectorWorkerAgent.cpp:
944         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
945         (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
946         (WebCore::InspectorWorkerAgent::setFrontend):
947         (WebCore::InspectorWorkerAgent::restore):
948         (WebCore::InspectorWorkerAgent::clearFrontend):
949         (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
950         (WebCore::InspectorWorkerAgent::didStartWorkerContext):
951         (WebCore::InspectorWorkerAgent::workerContextTerminated):
952         (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers):
953         (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
954         (WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
955         * inspector/InspectorWorkerAgent.h:
956
957 2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
958
959         Unreviewed, rolling out r99950.
960         http://trac.webkit.org/changeset/99950
961         https://bugs.webkit.org/show_bug.cgi?id=72117
962
963         "Landed wrong patch by mistake" (Requested by yurys on
964         #webkit).
965
966         * bindings/js/JSInjectedScriptHostCustom.cpp:
967         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
968         * inspector/InjectedScript.cpp:
969         * inspector/InjectedScript.h:
970         * inspector/InjectedScriptHost.idl:
971         * inspector/InjectedScriptSource.js:
972         * inspector/Inspector.json:
973         * inspector/InspectorDebuggerAgent.cpp:
974         * inspector/InspectorDebuggerAgent.h:
975
976 2011-11-10  Yury Semikhatsky  <yurys@chromium.org>
977
978         Web Inspector: function remote objetct should provide access to function position in the script
979         https://bugs.webkit.org/show_bug.cgi?id=71808
980
981         Added Debugger.getFunctionLocation command for resolving function location including
982         start line, column and script id.
983
984         Reviewed by Pavel Feldman.
985
986         Test: inspector/debugger/function-location.html
987
988         * bindings/js/JSInjectedScriptHostCustom.cpp:
989         (WebCore::JSInjectedScriptHost::functionLocation):
990         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
991         (WebCore::V8InjectedScriptHost::functionLocationCallback):
992         * inspector/InjectedScript.cpp:
993         (WebCore::InjectedScript::getFunctionLocation):
994         * inspector/InjectedScript.h:
995         * inspector/InjectedScriptHost.idl:
996         * inspector/InjectedScriptSource.js:
997         (.):
998         * inspector/Inspector.json:
999         * inspector/InspectorDebuggerAgent.cpp:
1000         (WebCore::InspectorDebuggerAgent::getFunctionLocation):
1001         * inspector/InspectorDebuggerAgent.h:
1002
1003 2011-11-11  Pavel Feldman  <pfeldman@google.com>
1004
1005         Not reviewed: roll out changes to InspectorDOMAgent that squeezed into 99933.
1006
1007         * inspector/InspectorDOMAgent.cpp:
1008         (WebCore::MatchJob::MatchJob):
1009         (WebCore::InspectorDOMAgent::onMatchJobsTimer):
1010
1011 2011-11-11  Alexander Pavlov  <apavlov@chromium.org>
1012
1013         Web Inspector: [Metrics] Editor is committed when scrolling a content box dimension up/down for the first time
1014         https://bugs.webkit.org/show_bug.cgi?id=72108
1015
1016         Reviewed by Pavel Feldman.
1017
1018         * inspector/front-end/MetricsSidebarPane.js:
1019         (WebInspector.MetricsSidebarPane.prototype._attributesUpdated):
1020
1021 2011-11-11  Alpha Lam  <hclam@chromium.org>
1022
1023         [chromium] scrolling is broken with compositor thread
1024         https://bugs.webkit.org/show_bug.cgi?id=72059
1025
1026         Reviewed by James Robinson.
1027
1028         No new test. Existing test CCLayerTreeHostImplTest.scrollDeltaRepeatedScrolls checks scroll deltas are applied
1029         on the right layer.
1030
1031         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1032         (WebCore::CCLayerTreeHostImpl::scrollLayer):
1033         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1034         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
1035         Instead of calling on the root layer which doesn't have scroll delta applied. Change this to scrollLayer()
1036         which actually has scroll delta.
1037
1038 2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
1039
1040         Unreviewed, rolling out r99826.
1041         http://trac.webkit.org/changeset/99826
1042         https://bugs.webkit.org/show_bug.cgi?id=72109
1043
1044         "Likely causing test flakiness" (Requested by tonyg-cr on
1045         #webkit).
1046
1047         * loader/DocumentLoader.cpp:
1048         (WebCore::DocumentLoader::scheduleArchiveLoad):
1049
1050 2011-11-11  Nikolas Zimmermann  <nzimmermann@rim.com>
1051
1052         Zooming in SVGs in <object> is flakey
1053         https://bugs.webkit.org/show_bug.cgi?id=71673
1054
1055         Reviewed by Zoltan Herczeg.
1056
1057         It turns out zooming in SVGs in <object> wasn't flakey in Safari at all, only in DRT/Mac. In Safari it failed 100% reproducable.
1058         Scrollbars would always appear when zooming in a HTML document, containing an embedded SVG by <object>/<embed>/<iframe>, even
1059         though the content would visually fit perfectly, also it zoomed properly. Reloading would make the scrollbars disappear again.
1060
1061         If scrollbars should be created for a FrameView or not, is determined by ScrollView::updateScrollbars(), by comparing the 
1062         visible size of the scroll view against the contents size. The contents size is propagated to the ScrollView, by
1063         FrameView::adjustViewSize(), which is called during FrameView::layout(). The size thats propagated is RenderView::documentRect().
1064         RenderView::documentRect() returns a writing-mode aware layoutOverflowRect(), computed by RenderBox::layoutOverflowRectForPropagation.
1065
1066         If overflow is "visible", layoutOverflowRect() will return a union of the borderBoxRect() and the layoutOverflowRect(), which
1067         may exceed the visible size of the RenderView. For standalone SVG documents, the default value for the outermost <svg> renderer is
1068         "visible". When embedding SVGs through <object>s into a host document, the same code path is taken, and RenderView::documentRect()
1069         of the embedded SVG document will always return a union of the borderBoxREct() and the layoutOverflowRect().
1070
1071         If that happens while zooming in a HTML document containing a SVG by <object>, scrollbars are created.
1072         By ensuring that overflow is treated as hidden, which is what Opera does (and makes sense!) this can't happen.
1073
1074         The fix is to treat embedded SVGs as they would carry overflow="hidden" on the outermost <svg> renderer. That also makes
1075         sense as the embedded SVG cant paint outside an external "frame rect" thats given by the FrameView, effectively rendering
1076         as overflow "hidden" already.
1077
1078         The fix is realized, by altering the overflow x/y values that are used in FrameView::applyOverflowToViewport(). Previously
1079         we never called that method for SVG, which was fine. Now we always call applyOverflowToViewport(), but only do something
1080         if the FrameView of the SVG is embedded in another document. If so, we force overflow to hidden.
1081
1082         That fixes all zooming+<object> related flakiness seen on the chromium bots, most noticeable, without other side effects.
1083         All svg/overflow tests, still work as expected.
1084
1085         Test: svg/zoom/page/zoom-svg-as-object.html
1086
1087         * page/Frame.cpp:
1088         (WebCore::Frame::setPageAndTextZoomFactors): Remove unnecessary setNeedsLayout() call in SVG builds.
1089         * page/FrameView.cpp:
1090         (WebCore::FrameView::applyOverflowToViewport): Always enforce overflow=hidden, when embedding SVGs through object/embed/iframe.
1091                                                        Otherwise scrollbars will appear, even though the contents would fit without them.
1092         (WebCore::FrameView::calculateScrollbarModesForLayout): Always call applyOverflowToViewport, even for RenderSVGRoot. It only has
1093                                                                 an effect though, when the FrameView of the SVG is embedded through <object>/etc.
1094         (WebCore::FrameView::layout): Remove unnecessary setChildNeedsLayout() call.
1095         * rendering/svg/RenderSVGRoot.cpp:
1096         (WebCore::RenderSVGRoot::isEmbeddedThroughFrameContainingSVGDocument): Fix this function, its meaning was reversed before!
1097         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Fix logical error, by negating the result of isEmbeddedThroughFrameContainingSVGDocument.
1098         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
1099         * rendering/svg/RenderSVGRoot.h: Expose isEmbeddedThroughFrameContainingSVGDocument.
1100
1101 2011-11-11  Nikolas Zimmermann  <nzimmermann@rim.com>
1102
1103         Not reviewed. Unbreak my 32bit SL build.
1104
1105         * rendering/RenderLayer.cpp:
1106         (WebCore::RenderLayer::updateOrRemoveFilterEffect): Use narrowPrecisionToFloat() to convert float -> double.
1107
1108 2011-10-28  Philippe Normand  <pnormand@igalia.com>
1109
1110         HRTF Database consolidation
1111         https://bugs.webkit.org/show_bug.cgi?id=69703
1112
1113         Reviewed by Kenneth Russell.
1114
1115         Access to the consolidated parts of the HRTF database by segmented
1116         chunks. A concatenated Composite HRTF database is provided in
1117         Composite.wav. Additionnally a new build step that concatenates
1118         the platform/audio/resources/ files into one (sox can be used for
1119         this) can be configured for specific ports.
1120
1121         * platform/audio/HRTFDatabase.h:
1122         * platform/audio/HRTFElevation.cpp:
1123         (WebCore::getConcatenatedImpulseResponsesForSubject):
1124         (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
1125         * platform/audio/resources/Composite.wav: Added.
1126
1127 2011-11-10  Pavel Feldman  <pfeldman@google.com>
1128
1129         Web Inspector: provide an id to the root inspector element for third party UA styling.
1130         https://bugs.webkit.org/show_bug.cgi?id=72094
1131
1132         Reviewed by Yury Semikhatsky.
1133
1134         * inspector/front-end/inspector.html:
1135
1136 2011-11-10  Andy Estes  <aestes@apple.com>
1137
1138         WebKitCSSShaderValue.h is not a member of the WebCore target
1139         https://bugs.webkit.org/show_bug.cgi?id=72093
1140
1141         Reviewed by Dan Bernstein.
1142
1143         * WebCore.xcodeproj/project.pbxproj: Make WebKitCSSShaderValue.h a
1144         member of the WebCore target, and make it a project header.
1145
1146 2011-11-10  Dan Bernstein  <mitz@apple.com>
1147
1148         Disabling assertions breaks the debug build
1149         https://bugs.webkit.org/show_bug.cgi?id=72091
1150
1151         Reviewed by Geoff Garen.
1152
1153         * platform/graphics/BitmapImage.cpp:
1154         (WebCore::BitmapImage::didDecodeProperties): Guarded the definition of local variables that are
1155         only used in an assertion correctly.
1156         * platform/graphics/gpu/TilingData.h: Changed ASSERT to ASSERT_UNUSED.
1157         (WebCore::TilingData::assertTile):
1158         * rendering/RenderInline.cpp:
1159         (WebCore::RenderInline::willBeDestroyed): Guarded the definition of a local variable that is
1160         only used in an assertion correctly.
1161         * rendering/svg/RenderSVGResourceClipper.cpp:
1162         (WebCore::RenderSVGResourceClipper::applyResource): Changed ASSERT to ASSERT_UNUSED.
1163         * rendering/svg/RenderSVGResourceFilter.cpp:
1164         (WebCore::RenderSVGResourceFilter::applyResource): Changed ASSERT to ASSERT_UNUSED.
1165         (WebCore::RenderSVGResourceFilter::postApplyResource): Changed ASSERT to ASSERT_UNUSED.
1166         * rendering/svg/RenderSVGResourceMasker.cpp:
1167         (WebCore::RenderSVGResourceMasker::applyResource): Changed ASSERT to ASSERT_UNUSED.
1168
1169 2011-11-10  Daniel Cheng  <dcheng@chromium.org>
1170
1171         [chromium] Add plumbing for JS to write to clipboard in copy/cut events.
1172         https://bugs.webkit.org/show_bug.cgi?id=71414
1173
1174         Reviewed by Darin Fisher.
1175
1176         No new tests since no new functionality enabled yet.
1177
1178         * platform/chromium/PasteboardChromium.cpp:
1179         (WebCore::Pasteboard::writeClipboard):
1180         * platform/chromium/PlatformSupport.h:
1181
1182 2011-11-10  Daniel Cheng  <dcheng@chromium.org>
1183
1184         Atomically update the system clipboard for copy/cut events
1185         https://bugs.webkit.org/show_bug.cgi?id=40515
1186
1187         Reviewed by David Levin.
1188
1189         This change consolidates the system pasteboard mutation logic into dispatchCPPEvent() rather
1190         than having it scattered throughout tryDHTMLCopy/tryDHTMLCut and the various Clipboard*
1191         classes. This allows us to ensure that the system pasteboard remains in a consistent state
1192         even if there's an exception thrown during event handling, and it also lays the ground work
1193         for allowing pages to prevent copy/cut without causing the system pasteboard to be cleared.
1194
1195         No new tests, since any layout test would be flaky since it would depend on and affect
1196         global system state.
1197
1198         * editing/Editor.cpp:
1199         (WebCore::Editor::tryDHTMLCopy): Move Pasteboard::clear() call to dispatchCPPEvent().
1200         (WebCore::Editor::tryDHTMLCut): Ditto.
1201         (WebCore::Editor::dispatchCPPEvent):
1202         Only persist Clipboard mutations to the system pasteboard if the event was dispatched
1203         successfully and default processing was prevented.
1204         * editing/mac/EditorMac.mm:
1205         (WebCore::Editor::newGeneralClipboard):
1206         When creating a Clipboard for copy/cut, back it with a unique instance of NSPasteboard to
1207         buffer pasteboard mutations.
1208         * platform/Pasteboard.h:
1209         * platform/chromium/PasteboardChromium.cpp:
1210         (WebCore::Pasteboard::writeClipboard):
1211         * platform/efl/PasteboardEfl.cpp:
1212         (WebCore::Pasteboard::writeClipboard):
1213         * platform/gtk/ClipboardGtk.cpp: Moved pasteboard writeback to PasteboardGtk.
1214         (WebCore::ClipboardGtk::setData):
1215         * platform/gtk/ClipboardGtk.h:
1216         (WebCore::ClipboardGtk::clipboard):
1217         * platform/gtk/PasteboardGtk.cpp:
1218         (WebCore::Pasteboard::writeClipboard):
1219         * platform/mac/PasteboardMac.mm:
1220         (WebCore::Pasteboard::writeClipboard):
1221         Implement logic to flush data from temporary NSPasteboard to system pasteboard.
1222         * platform/gtk/ClipboardGtk.cpp: Moved pasteboard writeback to PasteboardQt.
1223         (WebCore::ClipboardGtk::setData):
1224         * platform/qt/PasteboardQt.cpp:
1225         (WebCore::Pasteboard::writeClipboard):
1226         * platform/win/PasteboardWin.cpp:
1227         (WebCore::Pasteboard::writeClipboard):
1228         * platform/wince/PasteboardWinCE.cpp:
1229         (WebCore::Pasteboard::writeClipboard):
1230         * platform/wx/PasteboardWx.cpp:
1231         (WebCore::Pasteboard::writeClipboard):
1232
1233 2011-11-10  Julien Chaffraix  <jchaffraix@webkit.org>
1234
1235         RenderTableSection's recalcCell logic is doing too much work
1236         https://bugs.webkit.org/show_bug.cgi?id=71986
1237
1238         Reviewed by Darin Adler.
1239
1240         No change in behavior expected so no test.
1241
1242         r98738 and r98980 missed the point that Vector::clear() does not touch
1243         the internal buffer. Thus calling clear() would keep the memory and properly
1244         reset the size().
1245
1246         Due to how the code worked, after r98980 the code would end up resetting some
1247         of RowStruct field twice: once when growing and the other one when calling
1248         fillRowsWithDefaultStartingAtPosition.
1249
1250         This change make the code use Vector::clear and simplified the recalcCells
1251         logic knowing that growing the Vector will properly initialize most of the
1252         RowStruct fields (with RowStruct constructor).
1253
1254         * rendering/RenderTableSection.cpp:
1255         (WebCore::RenderTableSection::addChild):
1256         (WebCore::RenderTableSection::addCell):
1257         Updated after ensureRows signature change.
1258
1259         (WebCore::RenderTableSection::ensureRows):
1260         Removed the overflow check as it was making some assumption as to how the
1261         Vector worked. If we want to implement a limit, we may do it differently.
1262         Also inlined the part of fillRowsWithDefaultStartingAtPosition that grows
1263         the columns to match our current representation. The rest of the function's
1264         initialization is handled by the constructor already.
1265
1266         (WebCore::RenderTableSection::recalcCells):
1267         Use clear() as it keeps the buffer and just resets the size. Also shrinkToFit
1268         at the end as we may have lost some rows.
1269
1270         * rendering/RenderTableSection.h:
1271         (WebCore::RenderTableSection::CellStruct::CellStruct):
1272         Fixed the style of the constructor.
1273
1274         (WebCore::RenderTableSection::RowStruct::RowStruct):
1275         Added an explicit constructor (which is equivalent to the default one)
1276         but underlines what we expect.
1277
1278 2011-11-10  Enrica Casucci  <enrica@apple.com>
1279
1280         ASSERT when outdenting styled line break.
1281         https://bugs.webkit.org/show_bug.cgi?id=72069
1282         <rdar://problem/10429739>
1283
1284         Reviewed by Ryosuke Niwa.
1285
1286         When outdenting a line break that has some inline style, we don't consider
1287         the enclosing elements that provide the style.
1288         This causes the splitting to occur in the wrong position,
1289         triggering the assert.
1290          
1291         Test: editing/execCommand/outdent-break-with-style.html
1292
1293         * editing/IndentOutdentCommand.cpp:
1294         (WebCore::IndentOutdentCommand::outdentParagraph): The fix consists
1295         in choosing the highest inline ancestor as splitting point.
1296         * editing/htmlediting.cpp:
1297         (WebCore::isInline): Added.
1298         * editing/htmlediting.h: Added isInline.
1299
1300 2011-11-10  Dean Jackson  <dino@apple.com>
1301
1302         Remove effectBoundingBoxMode from CSS Filters
1303         https://bugs.webkit.org/show_bug.cgi?id=72058
1304
1305         Reviewed by Simon Fraser.
1306
1307         As suggested by Nikolas, we don't need this virtual method any more.
1308
1309         * rendering/FilterEffectRenderer.h:
1310
1311 2011-11-10  David Hyatt  <hyatt@apple.com>
1312
1313         https://bugs.webkit.org/show_bug.cgi?id=72060
1314         
1315         [CSS Line Grid] Add support for the line-grid-snap property to control snapping to the nearest
1316         enclosing grid.
1317
1318         Reviewed by Dan Bernstein.
1319
1320         Added fast/line-grid/line-grid-snap-parsing.html.
1321
1322         * css/CSSComputedStyleDeclaration.cpp:
1323         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1324         * css/CSSParser.cpp:
1325         (WebCore::CSSParser::parseValue):
1326         * css/CSSPrimitiveValueMappings.h:
1327         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1328         (WebCore::CSSPrimitiveValue::operator LineGridSnap):
1329         * css/CSSProperty.cpp:
1330         (WebCore::CSSProperty::isInheritedProperty):
1331         * css/CSSPropertyNames.in:
1332         * css/CSSStyleSelector.cpp:
1333         (WebCore::CSSStyleSelector::applyProperty):
1334         * css/CSSValueKeywords.in:
1335         * rendering/style/RenderStyle.cpp:
1336         (WebCore::RenderStyle::diff):
1337         * rendering/style/RenderStyle.h:
1338         (WebCore::InheritedFlags::lineGridSnap):
1339         (WebCore::InheritedFlags::setLineGridSnap):
1340         (WebCore::InheritedFlags::initialLineGridSnap):
1341         * rendering/style/RenderStyleConstants.h:
1342         * rendering/style/StyleRareInheritedData.cpp:
1343         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1344         (WebCore::StyleRareInheritedData::operator==):
1345         * rendering/style/StyleRareInheritedData.h:
1346
1347 2011-11-10  Kentaro Hara  <haraken@chromium.org>
1348
1349         CodeGeneratorV8.pm can generate Event constructors
1350         https://bugs.webkit.org/show_bug.cgi?id=72055
1351
1352         Reviewed by Adam Barth.
1353
1354         This patch makes CodeGeneratorV8.pm generate Event constructors
1355         and replaces a custom constructor of Event with the generated one.
1356         After this patch is landed without regression,
1357         I will replace custom constructors of all other Events.
1358         This patch introduces two new IDLs:
1359
1360         - [ConstructorTemplate=Event] IDL indicates that CodeGenerator should
1361         generate an Event constructor.
1362         - [InitializedByConstructor] IDL on an attribute indicates that
1363         the attribute can be initialized by the constructor.
1364
1365         Tests: fast/events/constructors/event-constructors.html
1366                fast/events/constructors/custom-event-constructor.html
1367                fast/events/constructors/progress-event-constructor.html
1368
1369         * bindings/scripts/CodeGeneratorV8.pm:
1370         (GenerateHeader): Added a header for fillXXXXEventInit(...).
1371         (IsConstructable): Judges if a given interface is constructable.
1372         (IsConstructorTemplate): Judges if a given interface has a given template, e.g. judges if an interface has [ConstructorTemplate=Event].
1373         (GenerateEventConstructorCallback): Generates an Event constructor. The generated code is the same as the code that had been written in V8EventConstructors.cpp.
1374         (GenerateImplementation): Generates an Event constructor if [ConstructorTemplate=Event] is specified.
1375         * dom/Event.idl: Added [ConstructorTemplate=Event] IDL. Added [InitializedByConstructor] IDL to attributes that can be initialized by a constructor.
1376
1377         * bindings/scripts/test/TestEventConstructor.idl: Added a new run-bindings-test.
1378         * bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp: Updated a run-bindings-tests result.
1379         (WebDOMTestEventConstructor::WebDOMTestEventConstructorPrivate::WebDOMTestEventConstructorPrivate):
1380         (WebDOMTestEventConstructor::WebDOMTestEventConstructor):
1381         (WebDOMTestEventConstructor::operator=):
1382         (WebDOMTestEventConstructor::impl):
1383         (WebDOMTestEventConstructor::~WebDOMTestEventConstructor):
1384         (WebDOMTestEventConstructor::attr1):
1385         (WebDOMTestEventConstructor::attr2):
1386         (toWebCore):
1387         (toWebKit):
1388         * bindings/scripts/test/CPP/WebDOMTestEventConstructor.h: Ditto.
1389         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp: Ditto.
1390         (WebKit::kit):
1391         (webkit_dom_test_event_constructor_get_attr1):
1392         (webkit_dom_test_event_constructor_get_attr2):
1393         (WebKit::core):
1394         (webkit_dom_test_event_constructor_finalize):
1395         (webkit_dom_test_event_constructor_set_property):
1396         (webkit_dom_test_event_constructor_get_property):
1397         (webkit_dom_test_event_constructor_constructed):
1398         (webkit_dom_test_event_constructor_class_init):
1399         (webkit_dom_test_event_constructor_init):
1400         (WebKit::wrapTestEventConstructor):
1401         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h: Ditto.
1402         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructorPrivate.h: Ditto.
1403         * bindings/scripts/test/JS/JSTestEventConstructor.cpp: Ditto.
1404         (WebCore::JSTestEventConstructorConstructor::JSTestEventConstructorConstructor):
1405         (WebCore::JSTestEventConstructorConstructor::finishCreation):
1406         (WebCore::JSTestEventConstructorConstructor::getOwnPropertySlot):
1407         (WebCore::JSTestEventConstructorConstructor::getOwnPropertyDescriptor):
1408         (WebCore::JSTestEventConstructorConstructor::getConstructData):
1409         (WebCore::JSTestEventConstructorPrototype::self):
1410         (WebCore::JSTestEventConstructor::JSTestEventConstructor):
1411         (WebCore::JSTestEventConstructor::finishCreation):
1412         (WebCore::JSTestEventConstructor::createPrototype):
1413         (WebCore::JSTestEventConstructor::getOwnPropertySlot):
1414         (WebCore::JSTestEventConstructor::getOwnPropertyDescriptor):
1415         (WebCore::jsTestEventConstructorAttr1):
1416         (WebCore::jsTestEventConstructorAttr2):
1417         (WebCore::jsTestEventConstructorConstructor):
1418         (WebCore::JSTestEventConstructor::getConstructor):
1419         (WebCore::toJS):
1420         (WebCore::toTestEventConstructor):
1421         * bindings/scripts/test/JS/JSTestEventConstructor.h: Ditto.
1422         (WebCore::JSTestEventConstructor::create):
1423         (WebCore::JSTestEventConstructor::createStructure):
1424         (WebCore::JSTestEventConstructor::impl):
1425         (WebCore::JSTestEventConstructorPrototype::create):
1426         (WebCore::JSTestEventConstructorPrototype::createStructure):
1427         (WebCore::JSTestEventConstructorPrototype::JSTestEventConstructorPrototype):
1428         (WebCore::JSTestEventConstructorConstructor::create):
1429         (WebCore::JSTestEventConstructorConstructor::createStructure):
1430         * bindings/scripts/test/ObjC/DOMTestEventConstructor.h: Ditto.
1431         * bindings/scripts/test/ObjC/DOMTestEventConstructor.mm: Ditto.
1432         (-[DOMTestEventConstructor dealloc]):
1433         (-[DOMTestEventConstructor finalize]):
1434         (-[DOMTestEventConstructor attr1]):
1435         (-[DOMTestEventConstructor attr2]):
1436         (core):
1437         (kit):
1438         * bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h: Ditto.
1439         * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Ditto.
1440         (WebCore::TestEventConstructorInternal::V8_USE):
1441         (WebCore::TestEventConstructorInternal::attr1AttrGetter):
1442         (WebCore::TestEventConstructorInternal::attr2AttrGetter):
1443         (WebCore::ConfigureV8TestEventConstructorTemplate):
1444         (WebCore::V8TestEventConstructor::GetRawTemplate):
1445         (WebCore::V8TestEventConstructor::GetTemplate):
1446         (WebCore::V8TestEventConstructor::HasInstance):
1447         (WebCore::V8TestEventConstructor::wrapSlow):
1448         (WebCore::V8TestEventConstructor::derefObject):
1449         * bindings/scripts/test/V8/V8TestEventConstructor.h: Ditto.
1450         (WebCore::V8TestEventConstructor::toNative):
1451         (WebCore::V8TestEventConstructor::existingWrapper):
1452         (WebCore::V8TestEventConstructor::wrap):
1453         (WebCore::toV8):
1454         * bindings/scripts/test/V8/V8TestInterface.h: Ditto.
1455         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: Ditto.
1456         * bindings/scripts/test/V8/V8TestNamedConstructor.h: Ditto.
1457         * bindings/scripts/test/V8/V8TestObj.h: Ditto.
1458         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Ditto.
1459         * bindings/v8/custom/V8EventConstructors.cpp: Removed a custom constructor of Event.
1460
1461 2011-11-10  Benjamin Poulain  <benjamin@webkit.org>
1462
1463         Do not share CSS style for MediaElement backed by a plugin
1464         https://bugs.webkit.org/show_bug.cgi?id=72005
1465
1466         Reviewed by Simon Fraser.
1467
1468         With PLUGIN_PROXY_FOR_VIDEO, the RenderMedia elements are rendered through RenderBoxModelObject.
1469         Like the embedded element, the proxied media element can gain a layer outside a change of style.
1470
1471         This patch prevents style sharing for the Audio and Video elements when PLUGIN_PROXY_FOR_VIDEO
1472         is enabled.
1473
1474         This path is covered by exising tests. In particular, http/tests/misc/empty-urls.html
1475         ASSERT() because of this.
1476
1477         * css/CSSStyleSelector.cpp:
1478         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1479
1480 2011-11-10  Dean Jackson  <dino@apple.com>
1481
1482         Move/copy/merge SVG filter rendering code to generic rendering
1483         https://bugs.webkit.org/show_bug.cgi?id=68472
1484
1485         Reviewed by Simon Fraser.
1486
1487         Implement an extremely simple version of the filter
1488         chain. Only a single hue-rotate filter is supported
1489         at the moment. The change in this commit was to insert a new
1490         step in RenderLayer's painting to capture the content to an
1491         offscreen ImageBuffer, apply a filter operation on that buffer,
1492         and then draw the result in place of the original element. The full
1493         implementation will need something like the SVGFilterBuilder
1494         but this is a good prototype of effects on HTML content.
1495         It's an open question at the moment as to when the filter
1496         effect should apply: after masking, after overflow, after outline,
1497         etc. Currently the filter applies at the end of the paintLayer code.
1498         This will likely change.
1499         
1500         Added a FilterEffectRenderer class that is the root of the filter
1501         tree. At the moment it holds the offscreen context and
1502         the existing paint context.
1503         
1504         Other than rendering, the rest of this patch adds tests
1505         to make sure any element with a filter style will become
1506         a RenderLayer. In order to avoid a lot of duplicated code
1507         around the more complex logic tests, RenderStyle::hasFilter
1508         is available outside ENABLE(CSS_FILTERS), but returns false
1509         in those situations.
1510
1511         Tests: css3/filters/add-filter-rendering.html
1512                css3/filters/remove-filter-rendering.html
1513                css3/filters/simple-filter-rendering.html
1514
1515         * CMakeLists.txt:
1516         * GNUmakefile.list.am:
1517         * WebCore.gypi:
1518         * WebCore.vcproj/WebCore.vcproj:
1519         * WebCore.xcodeproj/project.pbxproj:
1520         * css/CSSStyleSelector.cpp:
1521         (WebCore::CSSStyleSelector::adjustRenderStyle):
1522         * rendering/FilterEffectRenderer.cpp: Added.
1523         (WebCore::FilterEffectRenderer::FilterEffectRenderer):
1524         (WebCore::FilterEffectRenderer::~FilterEffectRenderer):
1525         * rendering/FilterEffectRenderer.h: Added.
1526         (WebCore::FilterEffectRenderer::create):
1527         (WebCore::FilterEffectRenderer::setSourceImageRect):
1528         (WebCore::FilterEffectRenderer::sourceImageRect):
1529         (WebCore::FilterEffectRenderer::setFilterRegion):
1530         (WebCore::FilterEffectRenderer::filterRegion):
1531         (WebCore::FilterEffectRenderer::effectBoundingBoxMode):
1532         (WebCore::FilterEffectRenderer::setEffect):
1533         (WebCore::FilterEffectRenderer::effect):
1534         (WebCore::FilterEffectRenderer::setSourceGraphic):
1535         (WebCore::FilterEffectRenderer::sourceGraphic):
1536         * rendering/RenderBoxModelObject.h:
1537         (WebCore::RenderBoxModelObject::requiresLayer):
1538         * rendering/RenderLayer.cpp:
1539         (WebCore::RenderLayer::paintLayer):
1540         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
1541         (WebCore::RenderLayer::styleChanged):
1542         (WebCore::RenderLayer::updateOrRemoveFilterEffect):
1543         (WebCore::RenderLayer::updateFilterBackingStore):
1544         * rendering/RenderLayer.h:
1545         (WebCore::RenderLayer::hasFilter):
1546         * rendering/RenderObject.h:
1547         (WebCore::RenderObject::hasFilter):
1548         * rendering/RenderTableRow.h:
1549         (WebCore::RenderTableRow::requiresLayer):
1550         * rendering/style/RenderStyle.cpp:
1551         (WebCore::RenderStyle::diff):
1552         * rendering/style/RenderStyle.h:
1553         (WebCore::InheritedFlags::hasFilter):
1554
1555 2011-11-10  Xiaomei Ji  <xji@chromium.org>
1556
1557         --webkit-visual-word crash when create legacy position for shadowRoot
1558         https://bugs.webkit.org/show_bug.cgi?id=71600
1559     
1560         Reviewed by Ryosuke Niwa.
1561
1562         Inside textarea, the shadowed text node's previous leaf node could be the
1563         shadowRoot node, which cause assert exception in creating legacy position based
1564         on such node. Exit previousRootInlineBox() when reach shadowRoot node.
1565
1566         It does not cause problem when looking for text node's next leaf node. Adding
1567         the same checking in nextRootInlineBox just to be safe.
1568
1569         Test: editing/selection/move-by-word-visually-crash-test-textarea.html
1570
1571         * editing/visible_units.cpp:
1572         (WebCore::previousRootInlineBox):
1573         (WebCore::nextRootInlineBox):
1574
1575 2011-11-10  Dean Jackson  <dino@apple.com>
1576
1577         Parse drop-shadow() filter syntax
1578         https://bugs.webkit.org/show_bug.cgi?id=69108
1579
1580         Reviewed by Simon Fraser.
1581
1582         Support parsing of the shadow syntax inside drop-shadow
1583         and returning the correct computed style for a filter that
1584         has such a function.
1585
1586         * css/CSSComputedStyleDeclaration.cpp:
1587         (WebCore::CSSComputedStyleDeclaration::valueForFilter):
1588             Move this from a static function (computedFilter) to a method on
1589             CSSComputedStyleDeclaration, which allows us to call the
1590             existing method for shadow styles.
1591         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1592         * css/CSSComputedStyleDeclaration.h:
1593         * css/CSSParser.cpp:
1594         (WebCore::CSSParser::parseValue):
1595         (WebCore::CSSParser::parseShadow):
1596             Previously parseShadow expected to be called with the entire
1597             value of a property, not just to look at a restricted subset.
1598             Change parseShadow to take a CSSParserValueList as parameter,
1599             allowing it to be used to parse the arguments to the drop-shadow
1600             function. Also, return the CSSValueList rather than injecting
1601             it directly into the property value.
1602         (WebCore::filterInfoForName):
1603         (WebCore::CSSParser::parseFilter):
1604             Support for the drop-shadow() function.
1605         * css/CSSParser.h:
1606         * css/CSSStyleSelector.cpp:
1607         (WebCore::CSSStyleSelector::createFilterOperations):
1608         * css/SVGCSSParser.cpp:
1609         (WebCore::CSSParser::parseSVGValue):
1610             Updated to use the new arguments for parseShadow.
1611
1612 2011-11-10  Vsevolod Vlasov  <vsevik@chromium.org>
1613
1614         Web Inspector: ApplicationCache UI is confusing and incorrect.
1615         https://bugs.webkit.org/show_bug.cgi?id=64581
1616
1617         Reviewed by Pavel Feldman.
1618
1619         Fixed resources panel application cache UI.
1620         Manifest urls are now shown under application cache tree element.
1621         Under each manifest url tree element frames using relevant application
1622         cache are listed. Application cache detailed views could be opened for each
1623         frame.
1624
1625         Test: http/tests/inspector/resource-tree/appcache-iframe-manifests.html
1626
1627         * English.lproj/localizedStrings.js:
1628         * inspector/Inspector.json:
1629         * inspector/InspectorApplicationCacheAgent.cpp:
1630         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
1631         (WebCore::InspectorApplicationCacheAgent::setFrontend):
1632         (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
1633         (WebCore::InspectorApplicationCacheAgent::networkStateChanged):
1634         (WebCore::InspectorApplicationCacheAgent::enable):
1635         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
1636         (WebCore::InspectorApplicationCacheAgent::assertFrameWithDocumentLoader):
1637         (WebCore::InspectorApplicationCacheAgent::getManifestForFrame):
1638         (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
1639         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
1640         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
1641         * inspector/InspectorApplicationCacheAgent.h:
1642         * inspector/InspectorController.cpp:
1643         (WebCore::InspectorController::InspectorController):
1644         * inspector/InspectorPageAgent.cpp:
1645         (WebCore::InspectorPageAgent::resourceContent):
1646         (WebCore::InspectorPageAgent::getResourceContent):
1647         (WebCore::InspectorPageAgent::assertFrame):
1648         (WebCore::InspectorPageAgent::assertDocumentLoader):
1649         * inspector/InspectorPageAgent.h:
1650         * inspector/InspectorStyleSheet.cpp:
1651         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
1652         * inspector/front-end/ApplicationCacheItemsView.js:
1653         (WebInspector.ApplicationCacheItemsView):
1654         (WebInspector.ApplicationCacheItemsView.prototype._update):
1655         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
1656         (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
1657         * inspector/front-end/ApplicationCacheModel.js:
1658         (WebInspector.ApplicationCacheModel):
1659         (WebInspector.ApplicationCacheModel.prototype._frameNavigated):
1660         (WebInspector.ApplicationCacheModel.prototype._frameDetached):
1661         (WebInspector.ApplicationCacheModel.prototype._mainFrameNavigated):
1662         (WebInspector.ApplicationCacheModel.prototype._manifestForFrameLoaded):
1663         (WebInspector.ApplicationCacheModel.prototype._framesWithManifestsLoaded):
1664         (WebInspector.ApplicationCacheModel.prototype._frameManifestUpdated):
1665         (WebInspector.ApplicationCacheModel.prototype._frameManifestRemoved):
1666         (WebInspector.ApplicationCacheModel.prototype.frameManifestURL):
1667         (WebInspector.ApplicationCacheModel.prototype.frameManifestStatus):
1668         (WebInspector.ApplicationCacheModel.prototype._statusUpdated):
1669         (WebInspector.ApplicationCacheModel.prototype.requestApplicationCache):
1670         (WebInspector.ApplicationCacheModel.prototype._networkStateUpdated):
1671         (WebInspector.ApplicationCacheDispatcher.prototype.applicationCacheStatusUpdated):
1672         (WebInspector.ApplicationCacheDispatcher.prototype.networkStateUpdated):
1673         * inspector/front-end/ResourceTreeModel.js:
1674         (WebInspector.ResourceTreeModel.prototype.frameForId):
1675         * inspector/front-end/ResourcesPanel.js:
1676         (WebInspector.ResourcesPanel.prototype.wasShown):
1677         (WebInspector.ResourcesPanel.prototype.reset):
1678         (WebInspector.ResourcesPanel.prototype._frameNavigated):
1679         (WebInspector.ResourcesPanel.prototype.addDocumentURL):
1680         (WebInspector.ResourcesPanel.prototype.showApplicationCache):
1681         (WebInspector.ResourcesPanel.prototype._populateApplicationCacheTree):
1682         (WebInspector.ResourcesPanel.prototype._applicationCacheFrameManifestAdded):
1683         (WebInspector.ResourcesPanel.prototype._applicationCacheFrameManifestRemoved):
1684         (WebInspector.ResourcesPanel.prototype._applicationCacheFrameManifestStatusChanged):
1685         (WebInspector.ResourcesPanel.prototype._applicationCacheNetworkStateChanged):
1686         (WebInspector.ApplicationCacheManifestTreeElement):
1687         (WebInspector.ApplicationCacheManifestTreeElement.prototype.get itemURL):
1688         (WebInspector.ApplicationCacheManifestTreeElement.prototype.get manifestURL):
1689         (WebInspector.ApplicationCacheManifestTreeElement.prototype.onselect):
1690         (WebInspector.ApplicationCacheFrameTreeElement):
1691         (WebInspector.ApplicationCacheFrameTreeElement.prototype.get itemURL):
1692         (WebInspector.ApplicationCacheFrameTreeElement.prototype.get frameId):
1693         (WebInspector.ApplicationCacheFrameTreeElement.prototype.get manifestURL):
1694         (WebInspector.ApplicationCacheFrameTreeElement.prototype._refreshTitles):
1695         (WebInspector.ApplicationCacheFrameTreeElement.prototype.frameNavigated):
1696         (WebInspector.ApplicationCacheFrameTreeElement.prototype.onselect):
1697
1698 2011-11-10  Andreas Kling  <kling@webkit.org>
1699
1700         Shrink CSSMutableStyleDeclaration.
1701         <http://webkit.org/b/72032>
1702
1703         Reviewed by Antti Koivisto.
1704
1705         Move m_strictParsing and m_iteratorCount (debug only) up into
1706         CSSStyleDeclaration, effectively shaving one CPU word (4/8 bytes)
1707         off of every CSSMutableStyleDeclaration.
1708
1709         * css/CSSMutableStyleDeclaration.cpp:
1710         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
1711         * css/CSSMutableStyleDeclaration.h:
1712         * css/CSSStyleDeclaration.cpp:
1713         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
1714         * css/CSSStyleDeclaration.h:
1715
1716 2011-11-10  Balazs Kelemen  <kbalazs@webkit.org>
1717
1718         [Qt] X11 plugins need to be reworked for Qt5
1719         https://bugs.webkit.org/show_bug.cgi?id=70023
1720
1721         Reviewed by Simon Hausmann.
1722
1723         Rework our basic plugin support in a way that does
1724         not need a bridge between Qt and X. The solution is
1725         based on getting the content drawed by the plugin
1726         from the server as an image and creating a QImage
1727         from it.
1728
1729         No new tests. Existing plugin test are sufficient.
1730
1731         * Target.pri:
1732         * bridge/npruntime_internal.h: Added yet another undef
1733         to fix build with Qt5 + X11 headers.
1734         * plugins/qt/QtX11ImageConversion.cpp: Added.
1735         (WebCore::qimageFromXImage):
1736         * plugins/qt/QtX11ImageConversion.h: Added.
1737         Added a helper function to create a QImage from an XImage.
1738         Put it in a new file into WebCore to avoid copyright issues - as
1739         the code has been taken directly from Qt - and to be able to resuse
1740         it for the WK1 plugin support in the future.
1741
1742 2011-11-10  Andreas Kling  <kling@webkit.org>
1743
1744         Cache and reuse HTMLCollections exposed by Document.
1745         <http://webkit.org/b/71956>
1746
1747         Reviewed by Antti Koivisto.
1748
1749         Let Document cache the various HTMLCollection objects it exposes.
1750         They're created on-demand and stored in a tight Vector.
1751         This is a behavior change, since the lifetime of returned collections
1752         is now tied to the lifetime of the Document. However, this matches the
1753         current behavior of Firefox and Opera.
1754
1755         This reduces memory consumption by ~800 kB (on 64-bit) when loading
1756         the full HTML5 spec. document.links was called 34001 times, yielding
1757         34001 separate HTMLCollections, and now we only need 1.
1758
1759         The document.all collection retains the old behavior, as caching it
1760         would be a bit more complicated.
1761
1762         * dom/Document.cpp:
1763         (WebCore::Document::Document):
1764         (WebCore::Document::collection):
1765         (WebCore::Document::images):
1766         (WebCore::Document::applets):
1767         (WebCore::Document::embeds):
1768         (WebCore::Document::plugins):
1769         (WebCore::Document::objects):
1770         (WebCore::Document::scripts):
1771         (WebCore::Document::links):
1772         (WebCore::Document::forms):
1773         (WebCore::Document::anchors):
1774         * dom/Document.h:
1775         * html/CollectionType.h:
1776
1777 2011-11-10  Alexander Pavlov  <apavlov@chromium.org>
1778
1779         Web Inspector: [SuggestBox] Correctly position the box under the first character of the suggestion prefix.
1780         https://bugs.webkit.org/show_bug.cgi?id=72022
1781
1782         Reviewed by Pavel Feldman.
1783
1784         On any suggest box position update (updateSuggestions invocation) an anchor is created at the beginning
1785         of the user-entered word, and its box is ultimately passed into _updateBoxPosition to be used as the
1786         actual anchor box (instead of the input element box).
1787
1788         * inspector/front-end/TextPrompt.js:
1789         (WebInspector.TextPrompt.prototype._boxForAnchorAtStart):
1790         (WebInspector.TextPrompt.prototype._completionsReady):
1791         (WebInspector.TextPrompt.SuggestBox):
1792         (WebInspector.TextPrompt.SuggestBox.prototype._onscrollresize):
1793         (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPositionWithExistingAnchor):
1794         (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPosition):
1795         (WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
1796         (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
1797         * inspector/front-end/utilities.js:
1798         (AnchorBox):
1799         (Element.prototype.offsetRelativeToWindow):
1800
1801 2011-11-10  Ryuan Choi  <ryuan.choi@samsung.com>
1802
1803         [CMAKE] Refactoring CMakeLists${PORT}.txt to Platform${PORT}.cmake
1804         https://bugs.webkit.org/show_bug.cgi?id=56705
1805
1806         Reviewed by Adam Roben.
1807
1808         No new tests, just renaming CMakeLists*.txt to Platform*.cmake.
1809
1810         * CMakeLists.txt:
1811         * PlatformEfl.cmake: Renamed from Source/WebCore/CMakeListsEfl.txt.
1812         * PlatformWinCE.cmake: Renamed from Source/WebCore/CMakeListsWinCE.txt.
1813
1814 2011-11-10  Andrey Kosyakov  <caseq@chromium.org>
1815
1816         Web Inspector: wrong JSON.stringify used in webInspector.inspectedWindow.eval() backend
1817         https://bugs.webkit.org/show_bug.cgi?id=63083
1818
1819         Reviewed by Pavel Feldman.
1820
1821         * inspector/front-end/ExtensionAPI.js:
1822         (injectedExtensionAPI.InspectedWindow.prototype.eval):
1823         * inspector/front-end/ExtensionServer.js:
1824         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
1825
1826 2011-11-10  Florin Malita  <fmalita@google.com>
1827
1828         SVG object covers CSS background in HTML foreignObject
1829         https://bugs.webkit.org/show_bug.cgi?id=58417
1830
1831         Reviewed by Simon Fraser.
1832
1833         Test: svg/foreignObject/background-render-phase.html
1834
1835         * rendering/svg/RenderSVGForeignObject.cpp:
1836         (WebCore::RenderSVGForeignObject::paint):
1837
1838             Paint SVG foreign objects atomically, following the same pattern as
1839             http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/InlineBox.cpp#L209.
1840
1841 2011-11-10  Sheriff Bot  <webkit.review.bot@gmail.com>
1842
1843         Unreviewed, rolling out r99851.
1844         http://trac.webkit.org/changeset/99851
1845         https://bugs.webkit.org/show_bug.cgi?id=72029
1846
1847         Patch breaks Qt tests (Requested by schenney on #webkit).
1848
1849         * svg/SVGElementInstance.cpp:
1850         (WebCore::SVGElementInstance::~SVGElementInstance):
1851         (WebCore::SVGElementInstance::clearChildren):
1852         * svg/SVGElementInstance.h:
1853         (WebCore::SVGElementInstance::clearUseElements):
1854         * svg/SVGUseElement.cpp:
1855         (WebCore::SVGUseElement::detachInstance):
1856
1857 2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
1858
1859         [GTK] svg/as-image/svg-image-change-content-size.xhtml crashes
1860         https://bugs.webkit.org/show_bug.cgi?id=71932
1861
1862         Reviewed by Philippe Normand.
1863
1864         Null check m_page in drawSVGToImageBuffer(), just like all others methods do.
1865         As drawSVGToImageBuffer() is fired from a timer, it may get into this state under certain conditions, as seen on the 64bit gtk bot.
1866
1867         * svg/graphics/SVGImage.cpp:
1868         (WebCore::SVGImage::drawSVGToImageBuffer):
1869
1870 2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
1871
1872         Not reviewed. Rolling out part of r99854, which didn't belong there.
1873
1874         * svg/graphics/SVGImage.cpp:
1875         (WebCore::SVGImage::drawSVGToImageBuffer):
1876
1877 2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
1878
1879         Move unit resolving for all resources to rendering/
1880         https://bugs.webkit.org/show_bug.cgi?id=72011
1881
1882         Reviewed by Andreas Kling.
1883
1884         Remove maskBoundingBox()/filterBoundingBox(), to avoid doing length resolution in svg/.
1885         RenderSVGResource* now uses SVGLengthContext::resolveRectangle, to do this while laying out.
1886
1887         Move linear gradient start/end point, radial gradient focal/center point, radius calculations into
1888         their RenderSVGResource classes, cleanup code a bit.
1889
1890         Convert filters to use SVGLengthContext. Fix DRT dumps for filters, while I'm at it, to give
1891         meaningful values, when objectBoundingBox is used as primitive units, when applying to <text>/<tspan>s.
1892
1893         Several tests results need rebaselines on all platforms.
1894
1895         * platform/graphics/filters/Filter.h:
1896         * rendering/svg/RenderSVGInlineText.h:
1897         (WebCore::RenderSVGInlineText::objectBoundingBox):
1898         * rendering/svg/RenderSVGResourceFilter.cpp:
1899         (WebCore::RenderSVGResourceFilter::buildPrimitives):
1900         (WebCore::RenderSVGResourceFilter::applyResource):
1901         (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
1902         * rendering/svg/RenderSVGResourceFilter.h:
1903         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
1904         (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
1905         * rendering/svg/RenderSVGResourceGradient.cpp:
1906         (WebCore::RenderSVGResourceGradient::applyResource):
1907         * rendering/svg/RenderSVGResourceGradient.h:
1908         * rendering/svg/RenderSVGResourceLinearGradient.cpp:
1909         (WebCore::RenderSVGResourceLinearGradient::startPoint):
1910         (WebCore::RenderSVGResourceLinearGradient::endPoint):
1911         (WebCore::RenderSVGResourceLinearGradient::buildGradient):
1912         * rendering/svg/RenderSVGResourceLinearGradient.h:
1913         * rendering/svg/RenderSVGResourceMasker.cpp:
1914         (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
1915         * rendering/svg/RenderSVGResourceRadialGradient.cpp:
1916         (WebCore::RenderSVGResourceRadialGradient::centerPoint):
1917         (WebCore::RenderSVGResourceRadialGradient::focalPoint):
1918         (WebCore::RenderSVGResourceRadialGradient::radius):
1919         (WebCore::RenderSVGResourceRadialGradient::adjustFocalPointIfNeeded):
1920         (WebCore::RenderSVGResourceRadialGradient::buildGradient):
1921         * rendering/svg/RenderSVGResourceRadialGradient.h:
1922         * rendering/svg/SVGRenderTreeAsText.cpp:
1923         (WebCore::writeSVGResourceContainer):
1924         * svg/SVGFilterElement.cpp:
1925         * svg/SVGFilterElement.h:
1926         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1927         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
1928         * svg/SVGFilterPrimitiveStandardAttributes.h:
1929         * svg/SVGLinearGradientElement.cpp:
1930         * svg/SVGLinearGradientElement.h:
1931         * svg/SVGMaskElement.cpp:
1932         * svg/SVGMaskElement.h:
1933         * svg/SVGRadialGradientElement.cpp:
1934         * svg/SVGRadialGradientElement.h:
1935         * svg/graphics/filters/SVGFilter.h:
1936         (WebCore::SVGFilter::filterRegionInUserSpace):
1937
1938 2011-11-10  Stephen Chenney  <schenney@chromium.org>
1939
1940         Null deref when no use element exists for SVG element instance
1941         https://bugs.webkit.org/show_bug.cgi?id=59136
1942
1943         Cleans up the object when it is detached from the shadow DOM tree,
1944         rather than leaving it in a half-clean state with some nulled
1945         references but not others.
1946
1947         Reviewed by Nikolas Zimmermann.
1948
1949         Test: svg/custom/element-instance-held-by-js-crash.svg
1950
1951         * svg/SVGElementInstance.cpp:
1952         (WebCore::SVGElementInstance::~SVGElementInstance): Added a call to
1953         detach to clean up if deletion happens without a prior detach call (as
1954         when an entire tree is removed).
1955         (WebCore::SVGElementInstance::detach): New method that replaces other
1956         clean-up methods when the instance is removed from the shadow DOM.
1957         * svg/SVGElementInstance.h: Added new detach method and removed
1958         unnecessary clear methods.
1959         * svg/SVGUseElement.cpp:
1960         (WebCore::SVGUseElement::detachInstance): Changed calls to clear to
1961         instead detach.
1962
1963 2011-11-10  Alexander Pavlov  <apavlov@chromium.org>
1964
1965         Web Inspector: Show media queries associated with specific CSS rules
1966         https://bugs.webkit.org/show_bug.cgi?id=65626
1967
1968         Reviewed by Pavel Feldman.
1969
1970         Test: inspector/styles/media-queries.html
1971
1972         * css/CSSGrammar.y:
1973         * css/CSSParser.cpp:
1974         (WebCore::CSSParser::updateLastMediaLine):
1975         * css/CSSParser.h:
1976         * css/MediaList.cpp:
1977         (WebCore::MediaList::MediaList):
1978         * css/MediaList.h:
1979         (WebCore::MediaList::lastLine):
1980         (WebCore::MediaList::setLastLine):
1981         * inspector/Inspector.json:
1982         * inspector/InspectorCSSAgent.cpp:
1983         (WebCore::InspectorCSSAgent::bindStyleSheet):
1984         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
1985         * inspector/InspectorDOMAgent.cpp:
1986         (WebCore::InspectorDOMAgent::documentURLString):
1987         * inspector/InspectorDOMAgent.h:
1988         * inspector/InspectorStyleSheet.cpp:
1989         (WebCore::buildMediaObject):
1990         (WebCore::fillMediaListChain):
1991         (WebCore::InspectorStyleSheet::buildObjectForRule):
1992         * inspector/front-end/CSSStyleModel.js:
1993         (WebInspector.CSSRule):
1994         (WebInspector.CSSMedia):
1995         (WebInspector.CSSMedia.parsePayload):
1996         (WebInspector.CSSMedia.parseMediaArrayPayload):
1997         * inspector/front-end/ResourceUtils.js:
1998         (WebInspector.linkifyResourceAsNode):
1999         * inspector/front-end/StylesSidebarPane.js:
2000         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
2001         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
2002         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):
2003         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
2004         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
2005         * inspector/front-end/elementsPanel.css:
2006         (.styles-section .header .title .media, .styles-section .header .title .media .subtitle):
2007         (.styles-section .header .subtitle):
2008
2009 2011-11-10  Alexander Pavlov  <apavlov@chromium.org>
2010
2011         Web Inspector: [SuggestBox] Do not display suggest box if editing in the middle of prompt unless a stop character follows
2012         https://bugs.webkit.org/show_bug.cgi?id=72018
2013
2014         Reviewed by Pavel Feldman.
2015
2016         * inspector/front-end/TextPrompt.js:
2017         (WebInspector.TextPrompt.prototype.complete):
2018
2019 2011-11-10  Pavel Feldman  <pfeldman@google.com>
2020
2021         Web Inspector: do not highlight files larger than 10KLOC.
2022         https://bugs.webkit.org/show_bug.cgi?id=72025
2023
2024         This is a temporary measure while I am improving the highlighter
2025         footprint. Otherwise, highlighting pretty printed Gmail takes ~1.3G of RAM.
2026
2027         Reviewed by Yury Semikhatsky.
2028
2029         * inspector/front-end/TextEditorHighlighter.js:
2030         (WebInspector.TextEditorHighlighter.prototype.highlight):
2031         (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
2032         * inspector/front-end/UISourceCode.js:
2033         (WebInspector.UISourceCode.prototype._didRequestContent):
2034
2035 2011-11-10  Alpha Lam  <hclam@chromium.org>
2036
2037         [chromium] Scroll deltas are cleared during commit to the main thread
2038         https://bugs.webkit.org/show_bug.cgi?id=71916
2039
2040         Reviewed by James Robinson.
2041
2042         The patch keeps the scroll deltas and scroll position unchanged when
2043         committing to the main thread. After commit has completed on the main
2044         thread the submitted scroll deltas are then subtracted from the current
2045         scroll deltas on the impl thread.
2046
2047         Doing so allow scroll deltas to be available at all time which enables
2048         proper positioning for layers that are fixed-positioned to the
2049         container layer.
2050
2051         This patch is tested by the following unit tests:
2052         - CCLayerTreeHostImplTest.scrollDeltaRepeatedScrolls
2053           This test is modified to verify that scroll deltas and scroll position
2054           are unchanged during commit. And then after commit scroll deltas are
2055           subtracted correctly.
2056
2057         - CCLayerTreeHostTestScrollSimple.runMultiThread and
2058           CCLayerTreeHostTestScrollMultipleRedraw.runMultiThread
2059           These tests verifies that scroll deltas made on impl thread are
2060           committed to the main thread. The scroll deltas is eventually delegated
2061           to CCLayerTreeHostClient. When commit has completed the scroll deltas
2062           are subtracted correctly. There's no change to these two tests but they
2063           verify this patch maintains the overall behavior of scrolling.
2064
2065         * platform/graphics/chromium/LayerChromium.cpp:
2066         (WebCore::LayerChromium::applyScrollAndScale):
2067         * platform/graphics/chromium/LayerChromium.h:
2068         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2069         (WebCore::CCLayerImpl::applyScrollAndScale):
2070         * platform/graphics/chromium/cc/CCLayerImpl.h:
2071         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2072         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2073         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2074         (WebCore::applyScrollAndScaleInternal):
2075         (WebCore::CCLayerTreeHostCommon::applyScrollAndScale):
2076         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
2077         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2078         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
2079         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2080         (WebCore::CCThreadProxy::beginFrameAndCommit):
2081         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
2082         * platform/graphics/chromium/cc/CCThreadProxy.h:
2083
2084 2011-11-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2085
2086         Unreviewed. Fix make distcheck build.
2087
2088         * GNUmakefile.am: Add missing files.
2089         * GNUmakefile.list.am: Ditto.
2090
2091 2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
2092
2093         Deploy SVGLengthContext in more places
2094         https://bugs.webkit.org/show_bug.cgi?id=72012
2095
2096         Reviewed by Simon Hausmann.
2097
2098         Doesn't affect any tests.
2099
2100         * svg/SVGAnimatedLength.cpp:
2101         (WebCore::SVGAnimatedLengthAnimator::calculateFromAndByValues):
2102         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
2103         (WebCore::SVGAnimatedLengthAnimator::calculateDistance):
2104         * svg/SVGAnimatedLengthList.cpp:
2105         (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndByValues):
2106         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
2107
2108 2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
2109
2110         Not reviewed. Fix build.
2111
2112         * WebCore.gypi: Need to add rendering/svg/SVGPathData.* in another place as well, cr-bots are not compiling it and thus fail linking.
2113
2114 2011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
2115
2116         Remove virtual toPathData() method from all graphics elements
2117         https://bugs.webkit.org/show_bug.cgi?id=72009
2118
2119         Reviewed by Zoltan Herczeg.
2120
2121         In bug 71780, SVGLengthContext was introduced, to allow to resolve SVGLengths against arbitary viewports.
2122         SVGLength::value(), which needs a SVGLengthContext, is still used all over svg/ - that should be changed, as rendering/
2123         should resolve these lengths, as HTML does it using Length & RenderStyles for CSS.
2124
2125         As first step, move the #1 client of the SVGLength::value() methods - toPathData() out of svg/ into rendering/svg/SVGPathData
2126         as free-function, replacing the virtual toPathData() function from SVGStyledTransformableElement.
2127
2128         Doesn't affect any tests.
2129
2130         * CMakeLists.txt: Add rendering/svg/SVGPathData.* to build.
2131         * GNUmakefile.list.am: Ditto.
2132         * Target.pri: Ditto.
2133         * WebCore.gypi: Ditto.
2134         * WebCore.vcproj/WebCore.vcproj: Ditto.
2135         * WebCore.xcodeproj/project.pbxproj: Ditto.
2136         * rendering/svg/RenderSVGAllInOne.cpp: Ditto.
2137         * rendering/svg/RenderSVGPath.cpp:
2138         (WebCore::RenderSVGPath::layout): Use "updatePathFromGraphicsElement(element, m_path)" instead of "element->toPathData(m_path)", avoiding a virtual call.
2139         * rendering/svg/RenderSVGTextPath.cpp:
2140         (WebCore::RenderSVGTextPath::layoutPath): Ditto.
2141         * rendering/svg/SVGPathData.cpp: Added.
2142         (WebCore::updatePathFromCircleElement):
2143         (WebCore::updatePathFromEllipseElement):
2144         (WebCore::updatePathFromLineElement):
2145         (WebCore::updatePathFromPathElement):
2146         (WebCore::updatePathFromPolygonElement):
2147         (WebCore::updatePathFromPolylineElement):
2148         (WebCore::updatePathFromRectElement):
2149         (WebCore::updatePathFromGraphicsElement):
2150         * rendering/svg/SVGPathData.h: Added.
2151         * svg/SVGAnimateMotionElement.cpp:
2152         (WebCore::SVGAnimateMotionElement::animationPath): Use updatePathFromGraphicsElement instead of toPathData.
2153         * svg/SVGCircleElement.cpp: Remove toPathData() virtual method.
2154         * svg/SVGCircleElement.h: Ditto.
2155         * svg/SVGEllipseElement.cpp: Ditto.
2156         * svg/SVGEllipseElement.h: Ditto.
2157         * svg/SVGLineElement.cpp: Ditto.
2158         * svg/SVGLineElement.h: Ditto.
2159         * svg/SVGPathElement.cpp: Ditto.
2160         * svg/SVGPathElement.h: Ditto.
2161         * svg/SVGPolygonElement.cpp: Ditto.
2162         * svg/SVGPolygonElement.h: Ditto.
2163         * svg/SVGPolylineElement.cpp: Ditto.
2164         * svg/SVGPolylineElement.h: Ditto.
2165         * svg/SVGRectElement.cpp: Ditto.
2166         * svg/SVGRectElement.h: Ditto.
2167         * svg/SVGStyledTransformableElement.cpp:
2168         (WebCore::SVGStyledTransformableElement::toClipPath): Use updatePathFromGraphicsElement instead of toPathData.
2169         * svg/SVGStyledTransformableElement.h: Remove toPathData() virtual method.
2170
2171 2011-11-09  Andrey Kosyakov  <caseq@chromium.org>
2172
2173         Web Inspector: [refactoring] get rid of JavaScriptSourceFrameDelegate
2174         https://bugs.webkit.org/show_bug.cgi?id=71922
2175
2176         Reviewed by Pavel Feldman.
2177
2178         * inspector/front-end/JavaScriptSourceFrame.js:
2179         (WebInspector.JavaScriptSourceFrame):
2180         (WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
2181         (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
2182         (WebInspector.JavaScriptSourceFrame.prototype.setReadOnly):
2183         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
2184         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.):
2185         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
2186         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
2187         (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
2188         (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
2189         (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
2190         * inspector/front-end/ScriptsPanel.js:
2191         (WebInspector.ScriptsPanel.prototype.activateBreakpoints):
2192         (WebInspector.ScriptsPanel.prototype.folderAndDisplayNameForScriptURL):
2193         (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
2194         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
2195         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
2196         (WebInspector.ScriptsPanel.prototype.addToWatch):
2197
2198 2011-11-10  Jay Civelli  <jcivelli@chromium.org>
2199
2200         Fix progress load reporting for MHTML documents.
2201
2202         MHTML documents containing references to resources they don't include
2203         never finish loading.
2204         https://bugs.webkit.org/show_bug.cgi?id=71859
2205
2206         Reviewed by Adam Barth.
2207
2208         * loader/DocumentLoader.cpp:
2209         (WebCore::DocumentLoader::scheduleArchiveLoad):
2210
2211 2011-11-10  Simon Hausmann  <simon.hausmann@nokia.com>
2212
2213         [Qt] Fix linking with --whole-archive
2214
2215         Reviewed by Zoltan Herczeg.
2216
2217         Compile XMLTreeViewer and related files when XSLT is enabled, not
2218         when XSLT _and_ USE_LIBXML2. The files do not depend on libxml2, they
2219         are #ifdeffed with ENABLE(XSLT) only, and they are referenced from for
2220         example NewXMLDocumentParser.cpp from within XSLT blocks.
2221
2222         * DerivedSources.pri:
2223         * Target.pri:
2224
2225 2011-11-01  Pavel Podivilov  <podivilov@chromium.org>
2226
2227         Web Inspector: load source maps via front-end host.
2228         https://bugs.webkit.org/show_bug.cgi?id=71301
2229
2230         Reviewed by Yury Semikhatsky.
2231
2232         Currently we use an auxiliary iframe hack to load source map files from inspector page. This approach has several drawbacks:
2233          - in addition to source map url we need to know auxiliary iframe url
2234          - we need a protocol to communicate with iframe
2235          - source map provider needs to provide auxiliary document to make our hack work
2236         Loading source maps from front-end host solves all problems.
2237
2238         * WebCore.gypi:
2239         * WebCore.vcproj/WebCore.vcproj:
2240         * inspector/InspectorFrontendHost.cpp:
2241         (WebCore::InspectorFrontendHost::loadResourceSynchronously):
2242         * inspector/InspectorFrontendHost.h:
2243         * inspector/InspectorFrontendHost.idl:
2244         * inspector/front-end/CompilerSourceMapping.js:
2245         (WebInspector.ClosureCompilerSourceMapping):
2246         (WebInspector.ClosureCompilerSourceMapping.prototype.load):
2247         (WebInspector.ClosureCompilerSourceMapping.prototype.loadSourceCode):
2248         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappingPayload):
2249         * inspector/front-end/CompilerSourceMappingProvider.js: Removed.
2250         * inspector/front-end/ContentProviders.js:
2251         (WebInspector.CompilerSourceMappingContentProvider):
2252         (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
2253         * inspector/front-end/RawSourceCode.js:
2254         (WebInspector.RawSourceCode.prototype.setCompilerSourceMapping):
2255         (WebInspector.RawSourceCode.prototype._resourceFinished):
2256         (WebInspector.RawSourceCode.prototype._createSourceMapping.didLoadSourceMapping):
2257         * inspector/front-end/WebKit.qrc:
2258         * inspector/front-end/inspector.html:
2259         * inspector/front-end/inspector.js:
2260         (WebInspector.installSourceMappingForTest):
2261
2262 2011-11-10  Sheriff Bot  <webkit.review.bot@gmail.com>
2263
2264         Unreviewed, rolling out r99816.
2265         http://trac.webkit.org/changeset/99816
2266         https://bugs.webkit.org/show_bug.cgi?id=72003
2267
2268         compilation failed on mac (Requested by loislo on #webkit).
2269
2270         * html/HTMLAttributeNames.in:
2271         * html/HTMLInputElement.idl:
2272         * html/HTMLTextAreaElement.cpp:
2273         (WebCore::HTMLTextAreaElement::appendFormData):
2274         * html/HTMLTextAreaElement.idl:
2275         * html/HTMLTextFormControlElement.cpp:
2276         * html/HTMLTextFormControlElement.h:
2277         * html/TextFieldInputType.cpp:
2278         * html/TextFieldInputType.h:
2279
2280 2011-11-09  Pavel Feldman  <pfeldman@google.com>
2281
2282         Web Inspector: console does not work after switching panel while editing.
2283         https://bugs.webkit.org/show_bug.cgi?id=71918
2284
2285         Reviewed by Yury Semikhatsky.
2286
2287         * inspector/front-end/SourceFrame.js:
2288         (WebInspector.SourceFrame.prototype.wasShown):
2289         (WebInspector.SourceFrame.prototype.willHide):
2290
2291 2011-11-09  Rakesh KN  <rakesh.kn@motorola.com>
2292
2293         Need support for dirname attribute
2294         https://bugs.webkit.org/show_bug.cgi?id=65542
2295
2296         Reviewed by Eric Seidel.
2297
2298         Implemented 'dirname' form attribute.
2299
2300         Tests: fast/forms/form-dirname-attribute.html
2301                fast/forms/submit-form-with-dirname-attribute-with-ancestor-dir-attribute.html
2302                fast/forms/submit-form-with-dirname-attribute-with-nonhtml-ancestor.html
2303                fast/forms/submit-form-with-dirname-attribute.html
2304
2305         * html/HTMLAttributeNames.in:
2306         Added "dirname" attribute.
2307         * html/HTMLInputElement.idl:
2308         Add "dirName" property to HTMLInputElement interface.
2309         * html/HTMLTextAreaElement.cpp:
2310         (WebCore::HTMLTextAreaElement::appendFormData):
2311         Append dirname form data.
2312         * html/HTMLTextAreaElement.idl:
2313         Add "dirName" property to HTMLTextAreaElement interface.
2314         * html/HTMLTextFormControlElement.cpp:
2315         (WebCore::parentHTMLElement):
2316         Helper function which returns only HTML parent element.
2317         (WebCore::HTMLTextFormControlElement::directionForFormData):
2318         Helper function for finding directionality of the Element.
2319         * html/HTMLTextFormControlElement.h:
2320         Helper function for finding directionality of the Element.
2321         * html/TextFieldInputType.cpp:
2322         (WebCore::TextFieldInputType::appendFormData):
2323         Append dirname form data.
2324         * html/TextFieldInputType.h:
2325         Append dirname form data.
2326
2327 2011-11-09  Shinya Kawanaka  <shinyak@google.com>
2328
2329         Internals.markerRangeForNode should be able to take markers by specifying a marker type.
2330         https://bugs.webkit.org/show_bug.cgi?id=71792
2331
2332         Reviewed by Hajime Morita.
2333
2334         Test: editing/spelling/markers.html
2335
2336         * WebCore.exp.in:
2337         * dom/DocumentMarkerController.cpp:
2338         (WebCore::DocumentMarkerController::markersFor):
2339           Takes marker types to get only necessary markers.
2340         * dom/DocumentMarkerController.h:
2341         * testing/Internals.cpp:
2342         (WebCore::markerTypesFrom): Added.
2343         (WebCore::Internals::markerCountForNode):
2344           Takes marker types to get only necessary markers.
2345         (WebCore::Internals::markerRangeForNode): ditto.
2346         * testing/Internals.h:
2347         * testing/Internals.idl:
2348
2349 2011-11-09  David Reveman  <reveman@chromium.org>
2350
2351         [Chromium] Add support for painting into an SkPicture and then rasterizing into tile-sized chunks.
2352         https://bugs.webkit.org/show_bug.cgi?id=71388
2353
2354         Reviewed by James Robinson.
2355
2356         Add UpdatableTexture class, which allows texture updater to
2357         allocate tile specific resources and paint tiles separately.
2358         Rename texture uploader classes and move them to separate files.
2359
2360         No new tests. Covered by existing tests.
2361
2362         * WebCore.gypi:
2363         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: Added.
2364         (WebCore::BitmapCanvasLayerTextureUpdater::Texture::Texture):
2365         (WebCore::BitmapCanvasLayerTextureUpdater::Texture::~Texture):
2366         (WebCore::BitmapCanvasLayerTextureUpdater::Texture::updateRect):
2367         (WebCore::BitmapCanvasLayerTextureUpdater::create):
2368         (WebCore::BitmapCanvasLayerTextureUpdater::BitmapCanvasLayerTextureUpdater):
2369         (WebCore::BitmapCanvasLayerTextureUpdater::~BitmapCanvasLayerTextureUpdater):
2370         (WebCore::BitmapCanvasLayerTextureUpdater::createTexture):
2371         (WebCore::BitmapCanvasLayerTextureUpdater::sampledTexelFormat):
2372         (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
2373         (WebCore::BitmapCanvasLayerTextureUpdater::updateTextureRect):
2374         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/LayerTextureUpdater.h.
2375         (WebCore::BitmapCanvasLayerTextureUpdater::Texture::textureUpdater):
2376         (WebCore::BitmapCanvasLayerTextureUpdater::orientation):
2377         * platform/graphics/chromium/ContentLayerChromium.cpp:
2378         (WebCore::ContentLayerChromium::createTextureUpdater):
2379         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp: Renamed from Source/WebCore/platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp.
2380         (WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
2381         (WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
2382         (WebCore::FrameBuffer::FrameBuffer::initialize):
2383         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::Texture):
2384         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::~Texture):
2385         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
2386         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::create):
2387         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::FrameBufferSkPictureCanvasLayerTextureUpdater):
2388         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::~FrameBufferSkPictureCanvasLayerTextureUpdater):
2389         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::createTexture):
2390         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::sampledTexelFormat):
2391         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
2392         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/LayerTextureUpdater.h.
2393         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::textureUpdater):
2394         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::orientation):
2395         * platform/graphics/chromium/ImageLayerChromium.cpp:
2396         (WebCore::ImageLayerTextureUpdater::Texture::Texture):
2397         (WebCore::ImageLayerTextureUpdater::Texture::updateRect):
2398         (WebCore::ImageLayerTextureUpdater::Texture::textureUpdater):
2399         (WebCore::ImageLayerTextureUpdater::createTexture):
2400         (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
2401         * platform/graphics/chromium/LayerRendererChromium.cpp:
2402         * platform/graphics/chromium/LayerTextureUpdater.h:
2403         (WebCore::LayerTextureUpdater::Texture::~Texture):
2404         (WebCore::LayerTextureUpdater::Texture::texture):
2405         (WebCore::LayerTextureUpdater::Texture::prepareRect):
2406         (WebCore::LayerTextureUpdater::Texture::Texture):
2407         (WebCore::LayerTextureUpdater::prepareToUpdate):
2408         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Removed.
2409         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
2410         (WebCore::SkPictureCanvasLayerTextureUpdater::SkPictureCanvasLayerTextureUpdater):
2411         (WebCore::SkPictureCanvasLayerTextureUpdater::~SkPictureCanvasLayerTextureUpdater):
2412         (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
2413         (WebCore::SkPictureCanvasLayerTextureUpdater::drawPicture):
2414         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
2415         * platform/graphics/chromium/TiledLayerChromium.cpp:
2416         (WebCore::UpdatableTile::UpdatableTile):
2417         (WebCore::UpdatableTile::texture):
2418         (WebCore::UpdatableTile::managedTexture):
2419         (WebCore::TiledLayerChromium::updateCompositorResources):
2420         (WebCore::TiledLayerChromium::pushPropertiesTo):
2421         (WebCore::TiledLayerChromium::createTile):
2422         (WebCore::TiledLayerChromium::protectTileTextures):
2423         (WebCore::TiledLayerChromium::prepareToUpdate):
2424         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
2425         (WebCore::CCTextureUpdater::append):
2426         (WebCore::CCTextureUpdater::update):
2427         * platform/graphics/chromium/cc/CCTextureUpdater.h:
2428
2429 2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
2430
2431         [wx] Unreviewed build fix. Add stub for new method.
2432         
2433         * platform/wx/FileSystemWx.cpp:
2434         (WebCore::openFile):
2435
2436 2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
2437
2438         [wx] Unreviewed build fix. wx should not be excluded
2439         from building ScopedFramePaintingState code.
2440
2441         * page/Frame.cpp:
2442
2443 2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
2444
2445         [wx] Unreviewed build fix. Don't run 
2446         fontDataForCombiningCharacterSequence on wx as we don't 
2447         support it yet.
2448
2449         * platform/graphics/mac/ComplexTextController.cpp:
2450         (WebCore::ComplexTextController::collectComplexTextRuns):
2451
2452 2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
2453
2454         [wx] Unreviewed build fix. Update how we hash the font after
2455         changes to the StringHasher APIs.
2456
2457         * platform/graphics/wx/FontPlatformDataWx.cpp:
2458         (WebCore::FontPlatformData::computeHash):
2459
2460 2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
2461
2462         [wx] Unreviewed build fix. Remove from WebDOMEventTarget
2463         bindings methods that have been removed from EventTarget.
2464
2465         * bindings/cpp/WebDOMEventTarget.cpp:
2466         (toWebKit):
2467         * bindings/cpp/WebDOMEventTarget.h:
2468
2469 2011-11-09  Martin Robinson  <mrobinson@igalia.com>
2470
2471         [Cairo] Avoid clipping when painting more often
2472         https://bugs.webkit.org/show_bug.cgi?id=71179
2473
2474         Reviewed by Xan Lopez.
2475
2476         No new tests. These changes are covered by existing tests.
2477
2478         * platform/graphics/Gradient.h: Add a Cairo-specific method
2479         that gets the platform gradient with a particular alpha value.
2480         * platform/graphics/cairo/GradientCairo.cpp: Now cache the alpha
2481         value of the last created platform gradient.
2482         (WebCore::Gradient::platformGradient): If the cached platform gradient
2483         has a different alpha value than the one requested, destroy it and start
2484         over.
2485         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2486         (WebCore::drawPathShadow): Adjust the source to avoid calling
2487         cairo_clip/cairo_paint_with_alpha and just do a fill.
2488         (WebCore::shadowAndFillCurrentCairoPath): No need to clip here. Just
2489         call cairo_fill.
2490         * platform/graphics/cairo/PlatformContextCairo.cpp:
2491         (WebCore::drawPatternToCairoContext): If we have a >= 1 alpha value
2492         we can simply fill and avoid calling cairo_clip here.
2493         (WebCore::prepareCairoContextSource): Remove TODO about recreating the
2494         gradient. No longer need to reduce the gradient source.
2495
2496 2011-11-09  Alexey Proskuryakov  <ap@apple.com>
2497
2498         <rdar://problem/10423024> WebProcess doesn't use AuthBrokerAgent for proxy credentials
2499         https://bugs.webkit.org/show_bug.cgi?id=71964
2500
2501         Reviewed by Darin Adler.
2502
2503         * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2504         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2505         Don't ask the client for proxy credentials. CFNetwork results are authoritative, and proxy
2506         credentials are system-wide.
2507
2508 2011-11-09  Daniel Sievers  <sievers@chromium.org>
2509
2510         [chromium] Fix typo in checkerboarding code
2511         https://bugs.webkit.org/show_bug.cgi?id=71981
2512
2513         Reviewed by James Robinson.
2514
2515         No new tests.
2516
2517         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2518         (WebCore::CCTiledLayerImpl::drawTiles):
2519
2520 2011-11-09  Sheriff Bot  <webkit.review.bot@gmail.com>
2521
2522         Unreviewed, rolling out r99782.
2523         http://trac.webkit.org/changeset/99782
2524         https://bugs.webkit.org/show_bug.cgi?id=71979
2525
2526         broke most of the feImage tests (Requested by thorton on
2527         #webkit).
2528
2529         * svg/SVGFEImageElement.cpp:
2530         (WebCore::SVGFEImageElement::parseMappedAttribute):
2531         (WebCore::SVGFEImageElement::build):
2532
2533 2011-11-09  Kentaro Hara  <haraken@chromium.org>
2534
2535         Remove [CanBeConstructed] IDL from CodeGenerator{JS,V8}.pm
2536         https://bugs.webkit.org/show_bug.cgi?id=71938
2537
2538         Reviewed by Darin Adler.
2539
2540         Now no IDL files are using [CanBeConstructed] IDL.
2541         We can safely remove [CanBeConstructed] IDL from CodeGenerator{JS,V8}.pm.
2542
2543         No tests. No change in behavior.
2544
2545         * bindings/scripts/CodeGeneratorJS.pm: Removed [CanBeConstructed]-related code.
2546         (GenerateConstructorDeclaration):
2547         (GenerateConstructorDefinition):
2548         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
2549         (GenerateImplementation):
2550         * bindings/scripts/test/TestInterface.idl: Removed [CanBeConstructed].
2551         * bindings/v8/V8Proxy.h: Removed V8Proxy::constructDOMObject and V8Proxy::constructDOMObjectWithScriptExecutionContext, which had been used only by [CanBeConstructed].
2552
2553 2011-11-09  Tim Horton  <timothy_horton@apple.com>
2554
2555         feImage referencing a primitive draws incorrectly
2556         https://bugs.webkit.org/show_bug.cgi?id=71731
2557         <rdar://problem/10408178>
2558
2559         Reviewed by Simon Fraser.
2560         
2561         Don't attempt to resolve an <feImage>'s referenced element until it's used, as it
2562         may not exist at the time the attribute is set on the <feImage>.
2563         
2564         Don't attempt to render an <feImage> if the referenced element is of size 0x0.
2565
2566         Tests: svg/filters/feImage-reference-svg-primitive.svg
2567                svg/filters/feImage-zero-size-crash.svg
2568
2569         * svg/SVGFEImageElement.cpp:
2570         (WebCore::SVGFEImageElement::parseMappedAttribute):
2571         (WebCore::SVGFEImageElement::build):
2572
2573 2011-11-09  Dominic Cooney  <dominicc@chromium.org>
2574
2575         Remove WebGLContextEvent.initEvent method
2576         https://bugs.webkit.org/show_bug.cgi?id=71720
2577
2578         Reviewed by Adam Barth.
2579
2580         The WebGL spec calls this method initWebGLContextEvent, but it may
2581         adopt a constructor instead. Deleting the initEvent method for now
2582         since it is definitely wrong and we don't want people to come to
2583         depend on it.
2584
2585         No new tests--removing untested code.
2586
2587         * html/canvas/WebGLContextEvent.cpp:
2588         * html/canvas/WebGLContextEvent.h:
2589         * html/canvas/WebGLContextEvent.idl:
2590
2591 2011-11-09  Anders Carlsson  <andersca@apple.com>
2592
2593         Element::boundsInWindowSpace should be Element::boundsInRootViewSpace
2594         https://bugs.webkit.org/show_bug.cgi?id=71955
2595
2596         Reviewed by Sam Weinig.
2597
2598         Element::boundsInWindowSpace is only used by WebKit2, where the window coordinate space is the
2599         same as the root view coordinate space. This lets us get rid of another use of contentsToWindow.
2600
2601         * WebCore.exp.in:
2602         * dom/Element.cpp:
2603         (WebCore::Element::boundsInRootViewSpace):
2604         * dom/Element.h:
2605
2606 2011-11-09  Kentaro Hara  <haraken@chromium.org>
2607
2608         Unreviewed, rebaseline run-bindings-tests results.
2609
2610         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2611         (WebCore::JSTestNamedConstructorConstructor::getOwnPropertyDescriptor):
2612         (WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
2613         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
2614
2615 2011-11-09  Alexandre Elias  <aelias@google.com>
2616
2617         [chromium] Add draw-time scale delta to compositor thread
2618         https://bugs.webkit.org/show_bug.cgi?id=71595
2619
2620         Reviewed by James Robinson.
2621
2622         There are two magnify values:
2623         1. The WebKit-side pageScale value corresponding to the resolution of
2624            the painted content.
2625         2. The Impl-side-only scaleDelta value representing the additional
2626            degree of current magnification, applied as a draw transform.  WebKit
2627            is never explicitly aware of this value and the only way to change it
2628            currently is via pinch events (and in the future, double-tap/etc
2629            events).  At the end of a pinch zoom, we multiply pageScale *
2630            scaleDelta and tell WebKit to use it as the new pageScale.
2631
2632         Scroll offsets and max-extents are maintained in pageScale space.
2633         When the scale changes, we need to take care to convert them to the
2634         new scale and avoid getting them clamped to the extents at the wrong
2635         scale.
2636
2637         I removed maxScrollPosition on the non-impl side because it makes no
2638         sense to precompute it in the presence of an impl-side zoom.  Replaced
2639         with a simple 'bool m_scrollable'.
2640
2641         zoomAnimatorTransform is not used because it currently isn't in the
2642         branch, and mostly doesn't behave the way we want anyway (it does most
2643         things in WebKit thread).  We will need to unify these later.
2644
2645         Also introduce deviceOrPageScaleFactorChanged() call which invalidates
2646         layers.
2647
2648         No new tests (filed 71529 to remember to do it later).
2649
2650         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2651         (WebCore::GraphicsLayerChromium::deviceOrPageScaleFactorChanged):
2652         * platform/graphics/chromium/GraphicsLayerChromium.h:
2653         * platform/graphics/chromium/LayerChromium.cpp:
2654         (WebCore::LayerChromium::LayerChromium):
2655         (WebCore::LayerChromium::setBounds):
2656         (WebCore::LayerChromium::pushPropertiesTo):
2657         * platform/graphics/chromium/LayerChromium.h:
2658         (WebCore::LayerChromium::scrollable):
2659         (WebCore::LayerChromium::setScrollable):
2660         (WebCore::LayerChromium::pageScaleChanged):
2661         * platform/graphics/chromium/LayerRendererChromium.cpp:
2662         (WebCore::LayerRendererChromium::drawLayersInternal):
2663         * platform/graphics/chromium/LayerRendererChromium.h:
2664         (WebCore::LayerRendererChromium::setPageMagnifyTransform):
2665         * platform/graphics/chromium/NonCompositedContentHost.cpp:
2666         (WebCore::NonCompositedContentHost::setViewport):
2667         * platform/graphics/chromium/NonCompositedContentHost.h:
2668         (WebCore::NonCompositedContentHost::topLevelRootLayer):
2669         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2670         (WebCore::CCLayerImpl::CCLayerImpl):
2671         * platform/graphics/chromium/cc/CCLayerImpl.h:
2672         (WebCore::CCLayerImpl::scrollable):
2673         (WebCore::CCLayerImpl::setScrollable):
2674         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2675         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2676         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
2677         (WebCore::CCLayerTreeHost::setPageScale):
2678         (WebCore::CCLayerTreeHost::setPageScaleFactorLimits):
2679         (WebCore::CCLayerTreeHost::applyScrollAndScale):
2680         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2681         (WebCore::CCLayerTreeHost::pageScale):
2682         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
2683         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2684         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2685         (WebCore::CCLayerTreeHostImpl::commitComplete):
2686         (WebCore::findScrollLayer):
2687         (WebCore::CCLayerTreeHostImpl::setViewport):
2688         (WebCore::CCLayerTreeHostImpl::setPageScale):
2689         (WebCore::CCLayerTreeHostImpl::setScaleDelta):
2690         (WebCore::CCLayerTreeHostImpl::setPageScaleFactorLimits):
2691         (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
2692         (WebCore::CCLayerTreeHostImpl::pinchGestureBegin):
2693         (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
2694         (WebCore::CCLayerTreeHostImpl::pinchGestureEnd):
2695         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
2696         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2697         (WebCore::CCLayerTreeHostImpl::pageScale):
2698         * platform/graphics/chromium/cc/CCScrollController.h:
2699         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2700         (WebCore::CCSingleThreadProxy::doCommit):
2701         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2702         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnImplThread):
2703         (WebCore::CCThreadProxy::beginFrameAndCommit):
2704         * platform/graphics/chromium/cc/CCThreadProxy.h:
2705
2706 2011-11-09  Jay Civelli  <jcivelli@chromium.org>
2707
2708         Fix MHTML generation to use the QuotedPrintable encoding for text resources.
2709         This was regressed when we added binary encoding support.
2710         https://bugs.webkit.org/show_bug.cgi?id=71857
2711
2712         Reviewed by Adam Barth.
2713
2714         * loader/archive/mhtml/MHTMLArchive.cpp:
2715         (WebCore::MHTMLArchive::generateMHTMLData):
2716
2717 2011-11-09  Kentaro Hara  <haraken@chromium.org>
2718
2719         Replace [CanBeConstructed] IDL with [Constructor] IDL
2720         https://bugs.webkit.org/show_bug.cgi?id=71927
2721
2722         Reviewed by Adam Barth.
2723
2724         With respect to the IDL files that have [CanBeConstructed]
2725         but do not have [Constructor] nor [CustomConstructor],
2726         [CanBeConstructed] is now equivalent to [Constructor].
2727         Thus, this patch replaces [CanBeConstructed] with [Constructor].
2728
2729         No tests. No change in behavior.
2730
2731         * fileapi/FileReaderSync.idl: As I described above.
2732         * fileapi/WebKitBlobBuilder.idl: Ditto.
2733         * fileapi/WebKitFlags.idl: Ditto.
2734         * xml/DOMParser.idl: Ditto.
2735         * xml/XMLSerializer.idl: Ditto.
2736         * xml/XPathEvaluator.idl: Ditto.
2737
2738 2011-11-09  Noel Gordon  <noel.gordon@gmail.com>
2739
2740         [chromium] Separate image encoding from dataURL construction
2741         https://bugs.webkit.org/show_bug.cgi?id=71846
2742
2743         Reviewed by Adam Barth.
2744
2745         Remove the implicit assumption that a dataURL is the only desired output format of the
2746         the image encoding phase.
2747
2748         No new tests, refactoring only, covered by existing canvas tests.
2749
2750         * platform/graphics/skia/ImageBufferSkia.cpp:
2751         (WebCore::encodeImage):  Output the encoded image to a Vector.
2752         (WebCore::ImageBuffer::toDataURL):  Format the dataURL encoding of the mimeType encoded
2753         image Vector here.  Move the mimeType encoding debug check here to better align this
2754         code with the CG (CoreGraphics) ImageBuffer.cpp implementation.
2755         (WebCore::ImageDataToDataURL): ditto.
2756
2757 2011-11-09  Alexei Svitkine  <asvitkine@chromium.org>
2758
2759         Chromium: Fix bad rubber-band overhang shadows being drawn in the presence of custom scrollbar css.
2760         https://bugs.webkit.org/show_bug.cgi?id=71719
2761
2762         This was caused by the overhang calculation logic not being consistent when subtracting the scrollbar sizes from the overhang areas. This resulted in for e.g. a horizontal overhang that didn't overlap with the scrollbar while the vertical overhang overlapped with it. This fix makes the logic consistent so that the overhang areas do not overlap with the scrollbars (when scrollbars are opaque).
2763
2764         Reviewed by Beth Dakin.
2765
2766         Tests: platform/chromium/rubberbanding/custom-scrollbars-ne.html
2767                platform/chromium/rubberbanding/custom-scrollbars-nw.html
2768                platform/chromium/rubberbanding/custom-scrollbars-se.html
2769                platform/chromium/rubberbanding/custom-scrollbars-sw.html
2770
2771         * platform/ScrollView.cpp:
2772         (WebCore::ScrollView::wheelEvent):
2773
2774 2011-11-09  Ken Buchanan  <kenrb@chromium.org>
2775
2776         Indentation error in RenderObject::container
2777         https://bugs.webkit.org/show_bug.cgi?id=64780
2778
2779         Reviewed by Eric Seidel.
2780
2781         A conditional block was indented too far; correcting.
2782
2783         * rendering/RenderObject.cpp:
2784         (WebCore::RenderObject::container):
2785
2786 2011-11-09  Anders Carlsson  <andersca@apple.com>
2787
2788         Use contentsToRootView/rootViewToContents when converting between frame coordinate systems
2789         https://bugs.webkit.org/show_bug.cgi?id=71947
2790
2791         Reviewed by Sam Weinig.
2792
2793         This gets rid of a few calls to contentsToWindow and windowToContents.
2794
2795         * inspector/DOMNodeHighlighter.cpp:
2796         * page/DragController.cpp:
2797         (WebCore::DragController::startDrag):
2798         (WebCore::DragController::doSystemDrag):
2799         * page/EventHandler.cpp:
2800         (WebCore::EventHandler::hitTestResultAtPoint):
2801
2802 2011-11-09  Mark Hahnenberg  <mhahnenberg@apple.com>
2803
2804         De-virtualize JSObject::getOwnPropertyDescriptor
2805         https://bugs.webkit.org/show_bug.cgi?id=71523
2806
2807         Reviewed by Sam Weinig.
2808
2809         No new tests.
2810
2811         Added getOwnPropertyDescriptor to the MethodTable, changed all of the 
2812         virtual versions of getOwnPropertyDescriptor to static ones, and 
2813         changed all of the call sites to the corresponding lookup in the MethodTable.
2814
2815         * WebCore.exp.in:
2816         * bindings/js/JSDOMWindowCustom.cpp:
2817         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
2818         * bindings/js/JSDOMWindowShell.cpp:
2819         (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
2820         * bindings/js/JSDOMWindowShell.h:
2821         * bindings/js/JSWorkerContextCustom.cpp:
2822         (WebCore::JSWorkerContext::getOwnPropertyDescriptorDelegate):
2823         * bindings/scripts/CodeGeneratorJS.pm:
2824         (GenerateGetOwnPropertyDescriptorBody):
2825         (GenerateHeader):
2826         (GenerateImplementation):
2827         (GenerateConstructorDeclaration):
2828         (GenerateConstructorDefinition):
2829         * bindings/scripts/test/JS/JSTestInterface.cpp:
2830         (WebCore::JSTestInterfaceConstructor::getOwnPropertyDescriptor):
2831         (WebCore::JSTestInterface::getOwnPropertyDescriptor):
2832         * bindings/scripts/test/JS/JSTestInterface.h:
2833         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2834         (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertyDescriptor):
2835         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertyDescriptor):
2836         (WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
2837         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2838         * bindings/scripts/test/JS/JSTestObj.cpp:
2839         (WebCore::JSTestObjConstructor::getOwnPropertyDescriptor):
2840         (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
2841         (WebCore::JSTestObj::getOwnPropertyDescriptor):
2842         * bindings/scripts/test/JS/JSTestObj.h:
2843         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2844         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertyDescriptor):
2845         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
2846         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2847         * bridge/objc/objc_runtime.h:
2848         * bridge/objc/objc_runtime.mm:
2849         (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertyDescriptor):
2850         * bridge/qt/qt_runtime.cpp:
2851         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor):
2852         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor):
2853         * bridge/qt/qt_runtime.h:
2854         * bridge/runtime_array.cpp:
2855         (JSC::RuntimeArray::getOwnPropertyDescriptor):
2856         * bridge/runtime_array.h:
2857         * bridge/runtime_method.cpp:
2858         (JSC::RuntimeMethod::vtableAnchor): Added to prevent a weak vtable.
2859         (JSC::RuntimeMethod::getOwnPropertyDescriptor):
2860         * bridge/runtime_method.h: Changed getOwnPropertyDescriptor from private to protected to allow 
2861         subclasses to use it in their MethodTables.
2862         * bridge/runtime_object.cpp:
2863         (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
2864         * bridge/runtime_object.h:
2865
2866 2011-11-09  Julien Chaffraix  <jchaffraix@webkit.org>
2867
2868         REGRESSION (r93614): Content remains despite parent element being scrolled off page using javascript.
2869         https://bugs.webkit.org/show_bug.cgi?id=71550
2870
2871         Reviewed by Simon Fraser.
2872
2873         Tests: fast/repaint/overflow-auto-in-overflow-auto-scrolled.html
2874                fast/repaint/overflow-hidden-in-overflow-hidden-scrolled.html
2875                fast/repaint/overflow-scroll-in-overflow-scroll-scrolled.html
2876                fast/repaint/scroll-inside-table-cell.html
2877                fast/repaint/scroll-relative-table-inside-table-cell.html
2878                fast/repaint/table-overflow-auto-in-overflow-auto-scrolled.html
2879                fast/repaint/table-overflow-hidden-in-overflow-hidden-scrolled.html
2880                fast/repaint/table-overflow-scroll-in-overflow-scroll-scrolled.html
2881
2882         The issue was that updateLayerPositionsAfterScroll would not update some layer's
2883         repaint rectangles. Thus we would not properly repaint (if at all).
2884
2885         The optimization added in 93614 was short-sighted and missed the fact that tables are a
2886         special case when it comes to updating the repaint rectangles. When we scroll a layer
2887         with an overflow clip, most layers *do* need to update their repaint rectangles.
2888
2889         This changes keeps the optimization for cells as this is the hotest case for tables
2890         with overflow: hidden on cells but is much more conservative: if we encounter an
2891         overflow clip, we update the descendant's repaint rectangles.
2892
2893         * rendering/RenderLayer.cpp:
2894         (WebCore::RenderLayer::RenderLayer):
2895         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
2896         Refactored the code to use some flags (HasSeenFixedPositionedAncestor and
2897         HasSeenAncestorWithOverflowClip). Also added an exception if
2898         m_canSkipRepaintRectsUpdateOnScroll is set.
2899
2900         * rendering/RenderLayer.h:
2901         Added a new field when it is fine to not update our repaint rects on scroll.
2902
2903 2011-11-09  Kentaro Hara  <haraken@chromium.org>
2904
2905         Generate the HTMLAudioElement constructor using [NamedConstructor] IDL
2906         https://bugs.webkit.org/show_bug.cgi?id=71924
2907
2908         Reviewed by Adam Barth.
2909
2910         This patch removes a custom constructor of HTMLAudioElement
2911         and generates it using [NamedConstructor] IDL.
2912
2913         Tests:  fast/js/custom-constructors.html
2914                 media/audio-constructor.html
2915                 media/audio-constructor-src.html
2916                 media/audio-constructor-preload.html
2917                 media/audio-controls-do-not-fade-out.html
2918                 media/audio-controls-rendering.html
2919
2920         * Target.pri: Removed V8HTMLAudioElementConstructor.{h,cpp}
2921         * WebCore.gypi: Ditto.
2922         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: Removed.
2923         * bindings/v8/custom/V8HTMLAudioElementConstructor.h: Removed.
2924         * html/HTMLAudioElement.idl: Added [NamedConstructor] IDL.
2925         * page/DOMWindow.idl: Removed [V8CustomConstructor] IDL.
2926
2927 2011-11-09  Antti Koivisto  <antti@apple.com>
2928
2929         Eliminate CSSMutableValue
2930         https://bugs.webkit.org/show_bug.cgi?id=71811
2931
2932         Reviewed by Darin Adler, Andreas Kling and Nikolas Zimmerman.
2933
2934         Remove the implementations of setter functions in SVGColor and SVGPaint. These interfaces are
2935         deprecated in SVG 1.1 (2nd edition) and are not really used by anybody. This allows
2936         removal of CSSMutableValue and the associated (rather broken) code.
2937         
2938         The setters now throw NO_MODIFICATION_ALLOWED_ERR. 
2939
2940         * GNUmakefile.list.am:
2941         * WebCore.gypi:
2942         * WebCore.xcodeproj/project.pbxproj:
2943         * css/CSSMutableStyleDeclaration.cpp:
2944         (WebCore::CSSMutableStyleDeclaration::~CSSMutableStyleDeclaration):
2945         * css/CSSMutableValue.h: Removed.
2946         * css/CSSStyleDeclaration.cpp:
2947         (WebCore::CSSStyleDeclaration::getPropertyCSSValue):
2948         * css/CSSValue.h:
2949         (WebCore::CSSValue::CSSValue):
2950         * svg/SVGColor.cpp:
2951         (WebCore::SVGColor::SVGColor):
2952         (WebCore::SVGColor::setRGBColor):
2953         (WebCore::SVGColor::setRGBColorICCColor):
2954         (WebCore::SVGColor::setColor):
2955         * svg/SVGColor.h:
2956         * svg/SVGPaint.cpp:
2957         (WebCore::SVGPaint::setUri):
2958         (WebCore::SVGPaint::setPaint):
2959         * svg/SVGPaint.h:
2960
2961 2011-11-09  Kentaro Hara  <haraken@chromium.org>
2962
2963         Generate the HTMLOptionElement constructor using [NamedConstructor] IDL
2964         https://bugs.webkit.org/show_bug.cgi?id=71925
2965
2966         Reviewed by Adam Barth.
2967
2968         This patch removes a custom constructor of HTMLOptionElement,
2969         and generates it using [NamedConstructor] IDL.
2970
2971         Tests: fast/js/custom-constructors.html
2972                fast/forms/option-index.html
2973                fast/forms/add-and-remove-option.html
2974                fast/dom/dom-add-optionelement.html
2975
2976         * Target.pri: Removed V8HTMLOptionElementConstructor.{h,cpp}
2977         * WebCore.gypi: Ditto.
2978         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Removed.
2979         * bindings/v8/custom/V8HTMLOptionElementConstructor.h: Removed.
2980         * html/HTMLOptionElement.idl: Added [NamedConstructor] IDL.
2981         * page/DOMWindow.idl: Removed [V8CustomConstructor] IDL.
2982
2983 2011-11-09  Julien Chaffraix  <jchaffraix@webkit.org>
2984
2985         Crash in RenderTableSection::splitColumn
2986         https://bugs.webkit.org/show_bug.cgi?id=70171
2987
2988         Reviewed by David Hyatt.
2989
2990         Tests: fast/table/crash-splitColumn-2.html
2991                fast/table/crash-splitColumn-3.html
2992                fast/table/crash-splitColumn.html
2993
2994         The old code would not take into account the fact that each RenderTableSection
2995         can set its m_needsCellRecalc flag independently of the rest.
2996
2997         This means that you cannot assume that you can always split or append columns to
2998         all the sections. Our approach is to skip sections needing cell recalc in several
2999         parts of the code as they will be properly reset to the table's representations
3000         during a cell recalc.
3001
3002         * rendering/RenderTable.cpp:
3003         (WebCore::RenderTable::splitColumn):
3004         (WebCore::RenderTable::appendColumn):
3005         Skip sections needing cell recalc as they will be properly updated later.
3006
3007         * rendering/RenderTableSection.cpp:
3008         (WebCore::RenderTableSection::addCell):
3009         Ignore a section needing cell recalc as addCell will be called after sync'ing
3010         the internal column representation in recalcCells.
3011
3012         (WebCore::RenderTableSection::recalcCells):
3013         Clear the flag at the beginning of the function to activate the previous functions.
3014         Added a comment as to why this is fine.
3015
3016         (WebCore::RenderTableSection::appendColumn):
3017         Added an ASSERT. If we need cell recalc, we should NEVER update m_grid outside
3018         of recalcCells().
3019
3020 2011-11-09  Arko Saha  <arko@motorola.com>
3021
3022         Microdata: fast/dom/MicroData/itemid-attribute-test.html assertion failure in Element::getURLAttribute().
3023         https://bugs.webkit.org/show_bug.cgi?id=71510
3024
3025         Reviewed by Darin Adler.
3026
3027         Override isURLAttribute() for HTMLElement and return true if attribute is itemidAttr.
3028         All the classes derived from HTMLElement overrides this function should return true if attribute is itemidAttr.
3029         Removed HTMLIFrameElement::isURLAttribute() method as HTMLFrameElementBase already takes care of it.
3030
3031         Test: fast/dom/MicroData/itemid-attribute-test-001.html
3032
3033         * html/HTMLAnchorElement.cpp:
3034         (WebCore::HTMLAnchorElement::isURLAttribute):
3035         * html/HTMLBaseElement.cpp:
3036         (WebCore::HTMLBaseElement::isURLAttribute):
3037         * html/HTMLBodyElement.cpp:
3038         (WebCore::HTMLBodyElement::isURLAttribute):
3039         * html/HTMLButtonElement.cpp:
3040         (WebCore::HTMLButtonElement::isURLAttribute):
3041         * html/HTMLElement.cpp:
3042         (WebCore::HTMLElement::isURLAttribute):
3043         * html/HTMLElement.h:
3044         * html/HTMLEmbedElement.cpp:
3045         (WebCore::HTMLEmbedElement::isURLAttribute):
3046         * html/HTMLFormElement.cpp:
3047         (WebCore::HTMLFormElement::isURLAttribute):
3048         * html/HTMLFrameElementBase.cpp:
3049         (WebCore::HTMLFrameElementBase::isURLAttribute):
3050         * html/HTMLHtmlElement.cpp:
3051         (WebCore::HTMLHtmlElement::isURLAttribute):
3052         * html/HTMLIFrameElement.cpp:
3053         * html/HTMLIFrameElement.h:
3054         * html/HTMLImageElement.cpp:
3055         (WebCore::HTMLImageElement::isURLAttribute):
3056         * html/HTMLInputElement.cpp:
3057         (WebCore::HTMLInputElement::isURLAttribute):
3058         * html/HTMLLinkElement.cpp:
3059         (WebCore::HTMLLinkElement::isURLAttribute):
3060         * html/HTMLMediaElement.cpp:
3061         (WebCore::HTMLMediaElement::isURLAttribute):
3062         * html/HTMLModElement.cpp:
3063         (WebCore::HTMLModElement::isURLAttribute):
3064         * html/HTMLObjectElement.cpp:
3065         (WebCore::HTMLObjectElement::isURLAttribute):
3066         * html/HTMLParamElement.cpp:
3067         (WebCore::HTMLParamElement::isURLAttribute):
3068         * html/HTMLQuoteElement.cpp:
3069         (WebCore::HTMLQuoteElement::isURLAttribute):
3070         * html/HTMLScriptElement.cpp:
3071         (WebCore::HTMLScriptElement::isURLAttribute):
3072         * html/HTMLSourceElement.cpp:
3073         (WebCore::HTMLSourceElement::isURLAttribute):
3074         * html/HTMLTableCellElement.cpp:
3075         (WebCore::HTMLTableCellElement::isURLAttribute):
3076         * html/HTMLTableElement.cpp:
3077         (WebCore::HTMLTableElement::isURLAttribute):
3078         * html/HTMLTrackElement.cpp:
3079         (WebCore::HTMLTrackElement::isURLAttribute):
3080
3081 2011-11-09  Chris Fleizach  <cfleizach@apple.com>
3082
3083         AX: crash when accessing selectedTab in a tab list
3084         https://bugs.webkit.org/show_bug.cgi?id=70938
3085
3086         Reviewed by Beth Dakin.
3087
3088         There were a few methods accessing m_children directly without first validating that those elements
3089         needed to be updated (because the layout changed). Changing those to call children() ensures
3090         that they will have the correct children.
3091
3092         Test: platform/mac/accessibility/selected-tab-crash.html
3093
3094         * accessibility/AccessibilityRenderObject.cpp:
3095         (WebCore::AccessibilityRenderObject::isChecked):
3096         (WebCore::AccessibilityRenderObject::selectedRadioButton):
3097         (WebCore::AccessibilityRenderObject::selectedTabItem):
3098         (WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren):
3099         (WebCore::AccessibilityRenderObject::tabChildren):
3100
3101 2011-11-09  Andreas Kling  <kling@webkit.org>
3102
3103         Shrink HTMLCollection.
3104         <http://webkit.org/b/71928>
3105
3106         Reviewed by Darin Adler.
3107
3108         Rearrange the members of HTMLCollection, effectively shrinking
3109         it by 16 bytes on 64-bit. This reduces memory consumption
3110         by 531 kB when loading the full HTML5 spec.
3111
3112         On 32-bit it shrinks by 8 bytes, saving 265 kB.
3113
3114         * html/HTMLCollection.cpp:
3115         (WebCore::HTMLCollection::HTMLCollection):
3116         * html/HTMLCollection.h:
3117         (WebCore::HTMLCollection::type):
3118
3119 2011-11-09  Kentaro Hara  <haraken@chromium.org>
3120
3121         Remove redundant [CanBeConstructed] IDLs
3122         https://bugs.webkit.org/show_bug.cgi?id=71868
3123
3124         Reviewed by Adam Barth.
3125
3126         If a class has [Constructor] or [CustomConstructor],
3127         then [CanBeConstructed] is not necessary.
3128         This patch just removes [CanBeConstructed] from all the classes
3129         that already have [Constructor] or [CustomConstructor].
3130
3131         No tests. No change in behavior.
3132
3133         * bindings/scripts/CodeGeneratorV8.pm: Corrected typo. This correction is required for this patch.
3134         * bindings/scripts/test/V8/V8TestObj.cpp: Updated a run-bindings-tests result.
3135         (WebCore::ConfigureV8TestObjTemplate):
3136         * css/WebKitCSSMatrix.idl:
3137         * dom/BeforeLoadEvent.idl:
3138         * dom/CustomEvent.idl:
3139         * dom/ErrorEvent.idl:
3140         * dom/Event.idl:
3141         * dom/HashChangeEvent.idl:
3142         * dom/MessageChannel.idl:
3143         * dom/MessageEvent.idl:
3144         * dom/OverflowEvent.idl:
3145         * dom/PageTransitionEvent.idl:
3146         * dom/PopStateEvent.idl:
3147         * dom/ProgressEvent.idl:
3148         * dom/WebKitAnimationEvent.idl:
3149         * dom/WebKitMutationObserver.idl:
3150         * dom/WebKitTransitionEvent.idl:
3151         * fileapi/FileReader.idl:
3152         * html/DOMFormData.idl:
3153         * html/TextTrackCue.idl:
3154         * html/canvas/ArrayBuffer.idl:
3155         * html/canvas/DataView.idl:
3156         * html/canvas/Float32Array.idl:
3157         * html/canvas/Float64Array.idl:
3158         * html/canvas/Int16Array.idl:
3159         * html/canvas/Int32Array.idl:
3160         * html/canvas/Int8Array.idl:
3161         * html/canvas/Uint16Array.idl:
3162         * html/canvas/Uint32Array.idl:
3163         * html/canvas/Uint8Array.idl:
3164         * html/track/TrackEvent.idl:
3165         * mediastream/PeerConnection.idl:
3166         * page/EventSource.idl:
3167         * page/WebKitPoint.idl:
3168         * webaudio/AudioContext.idl:
3169         * websockets/CloseEvent.idl:
3170         * websockets/WebSocket.idl:
3171         * workers/SharedWorker.idl:
3172         * workers/Worker.idl:
3173         * xml/XMLHttpRequest.idl:
3174         * xml/XSLTProcessor.idl:
3175
3176 2011-11-09  Ken Buchanan  <kenrb@chromium.org>
3177
3178         SVG foreignObject wrong container
3179         https://bugs.webkit.org/show_bug.cgi?id=64780
3180
3181         Reviewed by Simon Fraser.
3182
3183         Resubmitting a patch originally by scottmg@chromium.org.
3184         In determining where to add to m_positionedObjects during a repaint,
3185         containingBlock is used, which adds the absolute positioned object to
3186         the containing foreignObject. But, when the contained object is
3187         dirtied, container() was used to dirty up the tree, which skipped over
3188         the foreignObject causing the wrong parent to needsLayout(). This fix
3189         makes container() and containingBlock() handle svg foreignObject's in
3190         the same way.
3191
3192         This patch will cause svg/overflow/overflow-on-foreignObject.svg to
3193         require rebaselined results on qt and gtk ports.
3194
3195         * rendering/RenderObject.cpp:
3196         (WebCore::RenderObject::container):
3197
3198 2011-11-09  Andreas Kling  <kling@webkit.org>
3199
3200         Shrink StyleSheet on 64-bit.
3201         <http://webkit.org/b/71923>
3202
3203         Reviewed by Darin Adler.
3204
3205         Move m_disabled to the top so it folds into the padding at
3206         the end of RefCounted on 64-bit, shrinking StyleSheet by 8 bytes.
3207
3208         * css/StyleSheet.cpp:
3209         (WebCore::StyleSheet::StyleSheet):
3210         * css/StyleSheet.h:
3211
3212 2011-11-09  Andreas Kling  <kling@webkit.org>
3213
3214         StyleSheet: Devirtualize styleSheetChanged().
3215         <http://webkit.org/b/71913>
3216
3217         Reviewed by Antti Koivisto.
3218
3219         Since this mechanism is only used by CSSStyleSheet, move it there.
3220         Out-of-lined StyleSheet::setDisabled() so we can do a type check
3221         before invoking it from there.
3222
3223         * css/CSSStyleSheet.h:
3224         * css/StyleSheet.cpp:
3225         (WebCore::StyleSheet::setDisabled):
3226         * css/StyleSheet.h:
3227
3228 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
3229
3230         [Qt] Unreviewed, adding missing files to the build.
3231
3232         * Target.pri: Add ContentTypeParser.cpp/h
3233
3234 2011-11-09  Andrey Kosyakov  <caseq@chromium.org>
3235
3236         Web Inspector: [refactoring] remove a bunch of methods from JavaScriptSourceFrameDelegate
3237         https://bugs.webkit.org/show_bug.cgi?id=71826
3238
3239         Reviewed by Pavel Feldman.
3240
3241         * inspector/front-end/JavaScriptSourceFrame.js:
3242         (WebInspector.JavaScriptSourceFrame):
3243         (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
3244         (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
3245         (WebInspector.JavaScriptSourceFrame.prototype.editContent):
3246         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
3247         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else):
3248         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
3249         (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
3250         (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
3251         * inspector/front-end/ScriptsPanel.js:
3252
3253 2011-11-09  Pavel Feldman  <pfeldman@google.com>
3254
3255         Not reviewed: annotate inspector front-end javascript so that it compiled again.
3256
3257         * inspector/front-end/ShortcutsScreen.js:
3258         * inspector/front-end/WorkerManager.js:
3259
3260 2011-11-09  Andreas Kling  <kling@webkit.org>
3261
3262         Unreviewed build fix after r99711. (Signed/unsigned compare.)
3263
3264         * css/CSSPrimitiveValue.cpp:
3265         (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
3266
3267 2011-11-09  Alexander Pavlov  <apavlov@chromium.org>
3268
3269         Web Inspector: Provisionally change StylesSidebarPane section DOM layout to allow media queries
3270         https://bugs.webkit.org/show_bug.cgi?id=71902
3271
3272         Reviewed by Pavel Feldman.
3273
3274         * inspector/front-end/StylesSidebarPane.js:
3275         (WebInspector.StylePropertiesSection):
3276         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
3277         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
3278         (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
3279         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
3280         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
3281
3282 2011-11-09  Andreas Kling  <kling@webkit.org>
3283
3284         CSSPrimitiveValue: Fix up bitfield member types.
3285         <http://webkit.org/b/71751>
3286
3287         Reviewed by Antti Koivisto.
3288
3289         The primitive unit type doesn't need to be a signed value,
3290         and by making it unsigned, we can shave one bit off of it.
3291         Furthermore, m_hasCachedCSSText and m_isQuirkValue should be
3292         bool, not unsigned.
3293
3294         * css/CSSValue.h:
3295
3296 2011-11-09  Pavel Feldman  <pfeldman@google.com>
3297
3298         Web Inspector: discard injected scripts upon front-end disconnect.
3299         https://bugs.webkit.org/show_bug.cgi?id=71823
3300
3301         Reviewed by Yury Semikhatsky.
3302
3303         Test: http/tests/inspector-enabled/injected-script-discard.html
3304
3305         * inspector/InspectorAgent.cpp:
3306         (WebCore::InspectorAgent::clearFrontend):
3307
3308 2011-11-09  Andreas Kling  <kling@webkit.org>
3309
3310         CSS: Remove empty value and rule destructors.
3311         <http://webkit.org/b/71901>
3312
3313         Reviewed by Antti Koivisto.
3314
3315         * css/CSSAspectRatioValue.h:
3316         * css/CSSBorderImageSliceValue.h:
3317         (WebCore::CSSBorderImageSliceValue::create):
3318         * css/CSSBorderImageValue.h:
3319         (WebCore::CSSBorderImageValue::create):
3320         * css/CSSCharsetRule.cpp:
3321         * css/CSSCharsetRule.h:
3322         * css/CSSCrossfadeValue.h:
3323         * css/CSSFlexValue.h:
3324         * css/CSSFontFaceSrcValue.h:
3325         * css/CSSFunctionValue.h:
3326         * css/CSSPageRule.cpp:
3327         * css/CSSPageRule.h:
3328         * css/CSSUnicodeRangeValue.h:
3329         * css/CSSValueList.h:
3330         * css/WebKitCSSFilterValue.h:
3331         * css/WebKitCSSTransformValue.h:
3332
3333 2011-11-09  Andreas Kling  <kling@webkit.org>
3334
3335         CSS: Remove redudant WTF_MAKE_FAST_ALLOCATED macros.
3336         <http://webkit.org/b/71897>
3337
3338         Reviewed by Antti Koivisto.
3339
3340         Everything that inherits from RefCounted<T> is already fast-allocated,
3341         so we don't need this in subclasses.
3342
3343         * css/CSSImageValue.h:
3344         * css/CSSImportRule.h:
3345         * css/WebKitCSSShaderValue.h:
3346
3347 2011-11-09  Igor Oliveira  <igor.oliveira@openbossa.org>
3348
3349         [TextureMapper] Clean up TextureMapperAnimation constructor
3350         https://bugs.webkit.org/show_bug.cgi?id=71892
3351
3352         Remove copyAnimationValue and copyTimingFunction static functions. KeyframeList has
3353         a copy constructor and it does not need anymore these copy functions.
3354
3355         Reviewed by Simon Hausmann.
3356
3357         * platform/graphics/texmap/TextureMapperNode.cpp:
3358         (WebCore::TextureMapperAnimation::TextureMapperAnimation):
3359
3360 2011-11-09  Alexandru Chiculita  <achicu@adobe.com>
3361
3362         [Part 1] Parse the custom() function in -webkit-filter
3363         https://bugs.webkit.org/show_bug.cgi?id=71441
3364
3365         Added code that parses the custom() function. There's no code
3366         for the CSSStyleSelector yet, so the only way to test this was to
3367         check the "styleSheets" rules.
3368
3369         Reviewed by Dean Jackson.
3370
3371         Tests: css3/filters/custom-filter-property-parsing-invalid.html
3372                css3/filters/custom-filter-property-parsing.html
3373
3374         * GNUmakefile.list.am:
3375         * Target.pri:
3376         * WebCore.gypi:
3377         * WebCore.vcproj/WebCore.vcproj:
3378         * WebCore.xcodeproj/project.pbxproj:
3379         * css/CSSComputedStyleDeclaration.cpp:
3380         (WebCore::computedFilter):
3381         * css/CSSParser.cpp:
3382         (WebCore::filterInfoForName):
3383         (WebCore::acceptCommaOperator):
3384         (WebCore::CSSParser::parseCustomFilter):
3385         (WebCore::CSSParser::parseFilter):
3386         * css/CSSParser.h:
3387         * css/CSSStyleSelector.cpp:
3388         (WebCore::filterOperationForType):
3389         (WebCore::CSSStyleSelector::createFilterOperations):
3390         * css/CSSValue.cpp:
3391         (WebCore::CSSValue::cssText):
3392         (WebCore::CSSValue::destroy):
3393         * css/CSSValue.h:
3394         (WebCore::CSSValue::isWebKitCSSShaderValue):
3395         * css/CSSValueKeywords.in:
3396         * css/WebKitCSSFilterValue.cpp:
3397         (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
3398         (WebCore::WebKitCSSFilterValue::typeUsesSpaceSeparator):
3399         (WebCore::WebKitCSSFilterValue::customCssText):
3400         * css/WebKitCSSFilterValue.h:
3401         * css/WebKitCSSFilterValue.idl:
3402         * css/WebKitCSSShaderValue.h: Added.
3403         (WebCore::WebKitCSSShaderValue::create):
3404         (WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
3405         * platform/graphics/filters/FilterOperation.h:
3406
3407 2011-11-09  Yury Semikhatsky  <yurys@chromium.org>
3408
3409         Web Inspector: exception in remote front-end load handler due to undefined reference to workerManager
3410         https://bugs.webkit.org/show_bug.cgi?id=71889
3411
3412         Move calls to WorkerManager load handlers into doLoadedDone method which is
3413         called in case of remote front-end too.
3414
3415         Reviewed by Pavel Feldman.
3416
3417         * inspector/front-end/inspector.js:
3418         (WebInspector.loaded):
3419
3420 2011-11-09  Vsevolod Vlasov  <vsevik@chromium.org>
3421
3422         Web Inspector: Extract ApplicationCacheModel from ApplicationCacheItemsView.
3423         https://bugs.webkit.org/show_bug.cgi?id=71850
3424
3425         Reviewed by Pavel Feldman.
3426
3427         * WebCore.gypi:
3428         * WebCore.vcproj/WebCore.vcproj:
3429         * inspector/compile-front-end.sh:
3430         * inspector/front-end/ApplicationCacheItemsView.js:
3431         (WebInspector.ApplicationCacheItemsView):
3432         (WebInspector.ApplicationCacheItemsView.prototype._update):
3433         * inspector/front-end/ApplicationCacheModel.js: Added.
3434         (WebInspector.ApplicationCacheModel):
3435         (WebInspector.ApplicationCacheModel.prototype.getApplicationCachesAsync):
3436         (WebInspector.ApplicationCacheDispatcher):
3437         (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus):
3438         (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState):
3439         * inspector/front-end/ResourcesPanel.js:
3440         (We