Opt Google Maps into simulated mouse events dispatch quirk
[WebKit-https.git] / Source / WebCore / ChangeLog-2011-10-19
1 2011-10-19  Adam Barth  <abarth@webkit.org>
2
3         Another attempted build fix.  I managed to screw up every line of this file.
4
5         * CodeGenerators.pri:
6
7 2011-10-19  Adam Barth  <abarth@webkit.org>
8
9         Attempt to fix the Qt build.
10
11         * CodeGenerators.pri:
12
13 2011-10-19  Adam Barth  <abarth@webkit.org>
14
15         Document.cpp shouldn't need to know about every event for every feature
16         https://bugs.webkit.org/show_bug.cgi?id=70469
17
18         Reviewed by Eric Seidel.
19
20         make_event_factory.pl generates the implementation of EventFactory
21         based on a simple ".in" file.
22
23         * CodeGenerators.pri:
24         * DerivedSources.make:
25         * GNUmakefile.am:
26         * WebCore.gyp/WebCore.gyp:
27         * WebCore.gyp/scripts/action_makenames.py:
28         * WebCore.xcodeproj/project.pbxproj:
29         * dom/Document.cpp:
30         (WebCore::Document::createEvent):
31         * dom/EventFactory.h: Added.
32         * dom/EventFactory.in: Added.
33         * dom/make_event_factory.pl: Added.
34         (defaultEventPropertyHash):
35         (eventHandler):
36         (parametersHandler):
37         (readNames):
38         (readEvents):
39         (interfaceForEvent):
40         (printCppFile):
41         (printLicenseHeader):
42
43 2011-10-19  Kentaro Hara  <haraken@chromium.org>
44
45         Added a ConstructorMode check to all existing custom V8 constructors.
46         https://bugs.webkit.org/show_bug.cgi?id=70464
47
48         Reviewed by Adam Barth.
49
50         This patch adds the following two lines to all existing custom V8 constructors:
51
52             if (ConstructorMode::current() == ConstructorMode::WrapExistingObject)
53                 return args.Holder();
54
55         This checks whether a programmer is trying to allocate an object via "new X",
56         or C++ is trying to allocate an object via the function template and wrap the
57         object with a JS flavor. (See here for more details: bug 70015) In the latter case,
58         a constructor callback should not be executed (i.e. should return immediately).
59
60         No new tests. No change in behavior.
61
62         * bindings/v8/custom/V8ArrayBufferCustom.cpp: Added the ConstructorMode check.
63         (WebCore::V8ArrayBuffer::constructorCallback):
64         * bindings/v8/custom/V8ArrayBufferViewCustom.h: Ditto.
65         (WebCore::constructWebGLArray):
66         * bindings/v8/custom/V8AudioContextCustom.cpp: Ditto.
67         (WebCore::V8AudioContext::constructorCallback):
68         * bindings/v8/custom/V8DOMFormDataCustom.cpp: Ditto.
69         (WebCore::V8DOMFormData::constructorCallback):
70         * bindings/v8/custom/V8DataViewCustom.cpp: Ditto.
71         (WebCore::V8DataView::constructorCallback):
72         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: Ditto.
73         (WebCore::v8HTMLAudioElementConstructorCallback):
74         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: Ditto.
75         (WebCore::v8HTMLImageElementConstructorCallback):
76         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Ditto.
77         (WebCore::v8HTMLOptionElementConstructorCallback):
78         * bindings/v8/custom/V8MessageChannelConstructor.cpp: Ditto.
79         (WebCore::V8MessageChannel::constructorCallback):
80         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp: Ditto.
81         (WebCore::V8WebKitMutationObserver::constructorCallback):
82         * bindings/v8/custom/V8WebKitPointConstructor.cpp: Ditto.
83         (WebCore::V8WebKitPoint::constructorCallback):
84         * bindings/v8/custom/V8WebSocketCustom.cpp: Ditto.
85         (WebCore::V8WebSocket::constructorCallback):
86         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: Ditto.
87         (WebCore::V8XMLHttpRequest::constructorCallback):
88
89 2011-10-19  Carol Szabo  <carol@webkit.org>
90
91         CSS Counters have wrong values
92         https://bugs.webkit.org/show_bug.cgi?id=69605
93
94         Reviewed by Darin Adler.
95
96         Test: fast/css/counters/after-continuation.html
97
98         Added a new method for getting the renderer of the "after"
99         pseudo-element that handles continuations.
100         Hooked up the new method with the CSS counter code.
101
102         * rendering/RenderCounter.cpp:
103         (WebCore::rendererOfAfterPseudoElement):
104         (WebCore::previousInPreOrder):
105         (WebCore::nextInPreOrder):
106         * rendering/RenderObject.h:
107
108 2011-10-19  Anna Cavender  <annacc@chromium.org>
109
110         Adding some IDL files for <track>.
111         https://bugs.webkit.org/show_bug.cgi?id=62887
112
113         Reviewed by Adam Barth.
114
115         Tests:
116         MutableTextTrack.idl and addTrack() in HTMLMediaElement.idl are tested by:
117         media/track/track-mutable.html
118
119         TextTrack.idl is tested by:
120         media/track/track-text-track.html
121
122         TextTrackCue.idl is tested by:
123         media/track/track-webvtt-tc006-cue-identifiers.html
124         media/track/track-webvtt-tc007-cue-no-id.html
125         media/track/track-webvtt-tc008-timings-no-hours.html
126         media/track/track-webvtt-tc009-timings-hour.html
127         media/track/track-webvtt-tc013-settings.html
128         media/track/track-webvtt-tc023-markup.html
129
130         TextTrackCueList.idl is tested by:
131         media/track/track-text-track-cue-list.html
132
133         * CMakeLists.txt: Adding files to build systems.
134         * CodeGenerators.pri: Adding files to build systems.
135         * DerivedSources.cpp: Adding files to build systems.
136         * DerivedSources.make: Adding files to build systems.
137         * GNUmakefile.list.am: Adding files to build systems.
138         * WebCore.gypi: Adding files to build systems.
139         * WebCore.pro: Adding files to build systems.
140         * WebCore.xcodeproj/project.pbxproj: Adding files to build systems.
141         * bindings/gobject/GNUmakefile.am: Adding files to build systems.
142         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Adding files to build systems.
143         * bindings/js/JSBindingsAllInOne.cpp: Adding files to build systems.
144
145         * bindings/js/JSTextTrackCustom.cpp: Added.
146         (WebCore::toJS):
147
148         * bindings/scripts/CodeGeneratorV8.pm:
149         (HasCustomToV8Implementation): Special check for TextTrack since V8 can auto-generate
150         it, but JS cannot yet.
151
152         * html/HTMLMediaElement.cpp:
153         (WebCore::HTMLMediaElement::addTrack): creates and returns a new MutableTextTrack.
154         * html/HTMLMediaElement.h: Adding addTrack() function.
155         * html/HTMLMediaElement.idl: Adding addTrack() function.
156         * html/HTMLTrackElement.cpp:
157         (WebCore::HTMLTrackElement::track): Adding track getter.
158         * html/HTMLTrackElement.h: Adding track getter.
159         * html/HTMLTrackElement.idl: Adding track getter.
160         * html/MutableTextTrack.idl: Added.
161         * html/TextTrack.idl: Added.
162         * html/TextTrackCue.idl: Added.
163         * html/TextTrackCueList.cpp:
164         (WebCore::TextTrackCueList::length):
165         (WebCore::TextTrackCueList::item): Used for [] operator.
166         * html/TextTrackCueList.h: Added item() for [] operator.
167         * html/TextTrackCueList.idl: Added.
168         * page/DOMWindow.idl: Adding TextTrackCue new operator.
169
170 2011-10-19  Shawn Singh  <shawnsingh@chromium.org>
171
172         [chromium] Fix webkit style on a few files.
173         https://bugs.webkit.org/show_bug.cgi?id=70441
174
175         Reviewed by James Robinson.
176
177         Tested with existing layout and unit tests.
178
179         * platform/graphics/chromium/LayerChromium.cpp:
180         * platform/graphics/chromium/LayerChromium.h:
181         (WebCore::LayerChromium::setIsMask):
182         * platform/graphics/chromium/LayerRendererChromium.cpp:
183         (WebCore::LayerRendererChromium::initialize):
184         * platform/graphics/chromium/LayerRendererChromium.h:
185
186 2011-10-19  Nat Duca  <nduca@chromium.org>
187
188         [chromium] Route requestAnimationFrame through CCProxy in threaded mode
189         https://bugs.webkit.org/show_bug.cgi?id=70160
190
191         Reviewed by James Robinson.
192
193         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
194         (WebCore::CCLayerTreeHost::setNeedsAnimate):
195         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
196         * platform/graphics/chromium/cc/CCProxy.h:
197         * platform/graphics/chromium/cc/CCScheduler.cpp:
198         (WebCore::CCScheduler::requestAnimate):
199         * platform/graphics/chromium/cc/CCScheduler.h:
200         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
201         (WebCore::CCSingleThreadProxy::setNeedsAnimate):
202         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
203         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
204         (WebCore::CCThreadProxy::setNeedsAnimate):
205         (WebCore::CCThreadProxy::setNeedsAnimateOnCCThread):
206         * platform/graphics/chromium/cc/CCThreadProxy.h:
207
208 2011-10-19  Kent Tamura  <tkent@chromium.org>
209
210         Reject invalid MIME type strings for a file selection dialog parameter
211         https://bugs.webkit.org/show_bug.cgi?id=70095
212
213         Reviewed by Darin Fisher and Darin Adler.
214
215         No new tests. This affect only a value passed to WebKit layer.
216
217         * html/HTMLInputElement.cpp:
218         (WebCore::isRFC2616TokenCharacter): Added.
219         (WebCore::HTMLInputElement::acceptMIMETypes):
220         Validate a MIME type string, and don't add invalid strings to the output Vector.
221
222 2011-10-19  Darin Adler  <darin@apple.com>
223
224         Remove OptionElement (first half)
225         https://bugs.webkit.org/show_bug.cgi?id=70276
226
227         Reviewed by Kent Tamura.
228
229         Refactoring that does not require new tests.
230
231         * css/SelectorChecker.cpp:
232         (WebCore::SelectorChecker::checkOneSelector): Use hasTagName
233         and toHTMLOptionElement instead of toOptionElement.
234
235         * dom/OptionElement.cpp: Deleted contents. Remove file later.
236         * dom/OptionElement.h: Ditto.
237
238         * html/HTMLOptionElement.cpp:
239         (WebCore::HTMLOptionElement::HTMLOptionElement): Initialize m_isSelected.
240         (WebCore::HTMLOptionElement::createForJSConstructor): Initialize the
241         selected attribute rather than calling setDefaultSelected.
242         (WebCore::HTMLOptionElement::text): Moved the code here from
243         OptionElement::collectOptionLabelOrText.
244         (WebCore::HTMLOptionElement::index): Moved the code here from
245         OptionElement::optionIndex.
246         (WebCore::HTMLOptionElement::parseMappedAttribute): Removed unneeded
247         code to call setValue and setLabel. Changed the code that called
248         setSelected to instead set m_isSelected and added a FIXME about why
249         that's probably wrong, but same behavior as before.
250         (WebCore::HTMLOptionElement::value): Moved the code here from
251         OptionElement::collectOptionValue. Added a FIXME about incorrect
252         whitespace stripping.
253         (WebCore::HTMLOptionElement::selected): Use m_isSelected.
254         (WebCore::HTMLOptionElement::setSelected): Use m_isSelected and
255         call setSelectedState instead of OptionElement::setSelectedState.
256         (WebCore::HTMLOptionElement::setSelectedState): Moved the code
257         here from OptionElement::setSelectedState.
258         (WebCore::HTMLOptionElement::label): Streamlined the code.
259         (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
260         Moved the code here from OptionElement::collectOptionTextRespectingGroupLabel.
261         (WebCore::HTMLOptionElement::insertedIntoTree): Use m_isSelected
262         and rewrote comment for clarity.
263         (WebCore::HTMLOptionElement::collectOptionInnerText): Moved this
264         here from OptionElement, and changed to use StringBuilder.
265         (WebCore::toHTMLOptionElement): Added.
266
267         * html/HTMLOptionElement.h: Removed OptionElement.h include.
268         Removed OptionElement base class. Removed unneeded friend declarations.
269         Made value and selected functions non-virtual. Removed unneeded
270         defaultSelected and setDefaultSelected functions. Made the
271         textIndentedToRespectGroupLabel and setSelectedState functions
272         be non-virtual and public. Added a collectOptionInnerText function.
273         Replaced m_data with m_value, m_label, and m_selected.
274
275         * html/HTMLSelectElement.cpp:
276         (WebCore::toOptionElement): Added. Helper to keep existing code
277         close to the same.
278         (WebCore::HTMLSelectElement::nextValidIndex): Use hasTagName
279         instead of isOptionElement.
280         (WebCore::HTMLSelectElement::saveLastSelection): Use HTMLOptionElement
281         type instead of OptionElement.
282         (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): Ditto.
283         (WebCore::HTMLSelectElement::updateListBoxSelection): Ditto.
284         (WebCore::HTMLSelectElement::listBoxOnChange): Ditto.
285         (WebCore::HTMLSelectElement::recalcListItems): Ditto.
286         (WebCore::HTMLSelectElement::selectedIndex): Ditto.
287         (WebCore::HTMLSelectElement::setSelectedIndex): Ditto.
288         (WebCore::HTMLSelectElement::optionToListIndex): Ditto.
289         (WebCore::HTMLSelectElement::listToOptionIndex): Ditto.
290         (WebCore::HTMLSelectElement::deselectItemsWithoutValidation): Ditto.
291         (WebCore::HTMLSelectElement::saveFormControlState): Ditto.
292         (WebCore::HTMLSelectElement::restoreFormControlState): Ditto.
293         (WebCore::HTMLSelectElement::appendFormData): Ditto.
294         (WebCore::HTMLSelectElement::reset): Ditto.
295         (WebCore::HTMLSelectElement::updateSelectedState): Ditto.
296         (WebCore::HTMLSelectElement::lastSelectedListIndex): Ditto.
297         (WebCore::HTMLSelectElement::typeAheadFind): Ditto.
298         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
299         (WebCore::HTMLSelectElement::length): Ditto.
300
301         * rendering/RenderListBox.cpp:
302         (WebCore::RenderListBox::updateFromElement): Use HTMLOptionElement,
303         hasTagName, and toHTMLOptionElement.
304         (WebCore::RenderListBox::addFocusRingRects): Ditto.
305         (WebCore::RenderListBox::paintItemForeground): Ditto.
306         (WebCore::RenderListBox::paintItemBackground): Ditto.
307         * rendering/RenderMenuList.cpp:
308         (WebCore::RenderMenuList::updateOptionsWidth): Ditto.
309         (WebCore::RenderMenuList::setTextFromOption): Ditto.
310         (WebCore::RenderMenuList::itemText): Ditto.
311         (WebCore::RenderMenuList::itemIsSelected): Ditto.
312
313 2011-10-19  Raymond Toy  <rtoy@google.com>
314
315         Flush denormals to zero on Windows.
316         https://bugs.webkit.org/show_bug.cgi?id=70140
317
318         Reviewed by Kenneth Russell.
319
320         * platform/audio/AudioBus.cpp:
321         (WebCore::AudioBus::processWithGainFromMonoStereo):
322         Flush any denormals to zero before saving the result.  Change
323         double gain to float gain to match existing float operations.
324         * platform/audio/DenormalDisabler.h:
325         (WebCore::DenormalDisabler::flushDenormalFloatToZero):
326         New function to flush the given float to zero, if it is a denormal
327         number.
328
329 2011-10-19  Raphael Kubo da Costa  <kubo@profusion.mobi>
330
331         [EFL] Remove the empty paint() implementation in ScrollbarEfl.
332         https://bugs.webkit.org/show_bug.cgi?id=70428
333
334         Reviewed by Antonio Gomes.
335
336         Remove the empty reimplementation of Scrollbar::paint(), as this would
337         cause ScrollView::paintScrollbars() to paint nothing at all.
338
339         If we have mock scrollbars enabled, this will paint them; otherwise,
340         the code path will end up in WidgetEfl::paint(), which also does
341         nothing, so the behavior should not change.
342
343         No new tests, this is machinery needed to run the current ones.
344
345         * platform/efl/ScrollbarEfl.cpp:
346         (ScrollbarEfl::frameRectsChanged):
347         * platform/efl/ScrollbarEfl.h:
348
349 2011-10-19  Raphael Kubo da Costa  <kubo@profusion.mobi>
350
351         [EFL] Do not always consider a ScrollView will have an Evas/Evas_Object.
352         https://bugs.webkit.org/show_bug.cgi?id=70426
353
354         Reviewed by Antonio Gomes.
355
356         After r95234 turned on a new code path for the port (we erroneously used
357         ENABLE_AS_IMAGE instead of ENABLE_SVG_AS_IMAGE before), some tests, such
358         as compositing/image/direct-svg-image.html or
359         fast/writing-mode/block-level-images.html started writing stderr
360         messages about the parent passed to ScrollbarEfl::setParent not having
361         an Evas.
362
363         It turns out that a FrameView can be created in places other than
364         ewk_frame_view_create_for_view, in which case the view will not have an
365         Evas or an Evas_Object. This is not an error condition, so we can just
366         return earlier.
367
368         No new tests, this was detected by existing ones.
369
370         * platform/efl/ScrollbarEfl.cpp:
371         (ScrollbarEfl::setParent):
372
373 2011-10-19  Julien Chaffraix  <jchaffraix@webkit.org>
374
375         Multiple crashes in RenderTable during layout
376         https://bugs.webkit.org/show_bug.cgi?id=70392
377
378         Reviewed by Simon Fraser.
379
380         Tests: fast/table/crash-anonymous-table-computeLogicalWidth.html
381                fast/table/crash-anonymous-table-layout.html
382
383         r97555 forgot to take into account anonymous tables during layout
384         where RenderObject::node() is NULL.
385
386         * rendering/RenderTable.cpp:
387         (WebCore::RenderTable::computeLogicalWidth):
388         (WebCore::RenderTable::layout):
389         Added a check for node() before calling Node::hasTagName.
390
391 2011-10-19  Adam Bergkvist  <adam.bergkvist@ericsson.com>
392
393         Update MediaStream to use WebCore platform interfaces
394         https://bugs.webkit.org/show_bug.cgi?id=68464
395
396         Reviewed by Adam Barth.
397
398         This is one in a series of patches that update the MediaStream feature
399         to use WebCore platform interfaces.
400
401         Tests will be provided by http://webkit.org/b/56587
402
403         * dom/LocalMediaStream.cpp:
404         (WebCore::LocalMediaStream::create):
405         (WebCore::LocalMediaStream::LocalMediaStream):
406         (WebCore::LocalMediaStream::stop):
407         (WebCore::LocalMediaStream::stopTimerFired):
408         (WebCore::LocalMediaStream::~LocalMediaStream):
409         (WebCore::LocalMediaStream::toLocalMediaStream):
410         * dom/LocalMediaStream.h:
411         * dom/LocalMediaStream.idl:
412         * dom/MediaStream.cpp:
413         (WebCore::MediaStream::create):
414         (WebCore::MediaStream::MediaStream):
415         (WebCore::MediaStream::~MediaStream):
416         (WebCore::MediaStream::readyState):
417         (WebCore::MediaStream::streamEnded):
418         (WebCore::MediaStream::scriptExecutionContext):
419         * dom/MediaStream.h:
420         (WebCore::MediaStream::label):
421         (WebCore::MediaStream::tracks):
422         (WebCore::MediaStream::descriptor):
423         * dom/MediaStreamTrack.cpp:
424         (WebCore::MediaStreamTrack::create):
425         (WebCore::MediaStreamTrack::MediaStreamTrack):
426         (WebCore::MediaStreamTrack::kind):
427         (WebCore::MediaStreamTrack::label):
428         (WebCore::MediaStreamTrack::enabled):
429         (WebCore::MediaStreamTrack::setEnabled):
430         * dom/MediaStreamTrack.h:
431         * dom/MediaStreamTrack.idl:
432         * dom/MediaStreamTrackList.cpp:
433         (WebCore::MediaStreamTrackList::create):
434         (WebCore::MediaStreamTrackList::MediaStreamTrackList):
435         (WebCore::MediaStreamTrackList::length):
436         (WebCore::MediaStreamTrackList::item):
437         * dom/MediaStreamTrackList.h:
438         * p2p/PeerConnection.cpp:
439         (WebCore::PeerConnection::addStream):
440         (WebCore::PeerConnection::removeStream):
441         (WebCore::PeerConnection::remoteStreamAdded):
442         * page/MediaStreamClient.h:
443         * page/MediaStreamController.cpp:
444         (WebCore::MediaStreamController::unregisterFrameController):
445         (WebCore::MediaStreamController::streamGenerated):
446         * page/MediaStreamController.h:
447         * page/MediaStreamFrameController.cpp:
448         (WebCore::MediaStreamFrameController::enterDetachedState):
449         (WebCore::MediaStreamFrameController::disconnectFrame):
450         (WebCore::MediaStreamFrameController::streamGenerated):
451         * page/MediaStreamFrameController.h:
452
453 2011-10-19  W. James MacLean  <wjmaclean@chromium.org>
454
455         [chromium] Shorten animation time for ZoomAnimator.
456         https://bugs.webkit.org/show_bug.cgi?id=70419
457
458         Reviewed by Kenneth Russell.
459
460         Shorten animation time for ZoomAnimator.
461
462         Existing test coverage sufficient.
463
464         * platform/ScrollAnimatorNone.cpp:
465         (WebCore::ScrollAnimatorNone::zoom):
466
467 2011-10-19  Zhenyao Mo  <zmo@google.com>
468
469         Implement WEBGL_debug_shaders and WEBGL_debug_renderer_info extensions
470         https://bugs.webkit.org/show_bug.cgi?id=70077
471
472         Reviewed by Kenneth Russell.
473
474         * WebCore.gypi: added new extension class files.
475         * WebCore.xcodeproj/project.pbxproj: ditto.
476         * WebCore.pro: ditto.
477         * CMakeLists.txt: ditto.
478         * GNUmakefile.list.am: ditto.
479         * bindings/js/JSWebGLRenderingContextCustom.cpp:
480         (WebCore::toJS): Handles two new extensions.
481         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
482         (WebCore::toV8Object): Ditto.
483         * html/canvas/WebGLDebugRendererInfo.cpp: Added.
484         (WebCore::WebGLDebugRendererInfo::WebGLDebugRendererInfo):
485         (WebCore::WebGLDebugRendererInfo::~WebGLDebugRendererInfo):
486         (WebCore::WebGLDebugRendererInfo::getName):
487         (WebCore::WebGLDebugRendererInfo::create):
488         * html/canvas/WebGLDebugRendererInfo.h: Added.
489         * html/canvas/WebGLDebugRendererInfo.idl: Added.
490         * html/canvas/WebGLDebugShaders.cpp: Added.
491         (WebCore::WebGLDebugShaders::WebGLDebugShaders):
492         (WebCore::WebGLDebugShaders::~WebGLDebugShaders):
493         (WebCore::WebGLDebugShaders::getName):
494         (WebCore::WebGLDebugShaders::create):
495         (WebCore::WebGLDebugShaders::getTranslatedShaderSource):
496         * html/canvas/WebGLDebugShaders.h: Added.
497         * html/canvas/WebGLDebugShaders.idl: Added.
498         * html/canvas/WebGLExtension.h:
499         * html/canvas/WebGLRenderingContext.cpp:
500         (WebCore::WebGLRenderingContext::allowPrivilegedExtensions): To be implemented - deciding whether the two extensions should be allowed or not.
501         (WebCore::WebGLRenderingContext::getExtension): Handles two new extensions.
502         (WebCore::WebGLRenderingContext::getParameter): Handles UNMASKED_VENDOR_WEBGL / UNMASKED_RENDERER_WEBGL
503         (WebCore::WebGLRenderingContext::getSupportedExtensions): Handles two new extensions.
504         * html/canvas/WebGLRenderingContext.h:
505         * platform/graphics/Extensions3D.h: Ditto.
506         * platform/graphics/GraphicsTypes3D.h: Add GC3Dchar.
507         * platform/graphics/chromium/Extensions3DChromium.h: Handles two new extensions.
508         * platform/graphics/opengl/Extensions3DOpenGL.cpp: Ditto.
509         (WebCore::getTranslatedShaderSourceANGLE):
510         * platform/graphics/opengl/Extensions3DOpenGL.h: Ditto.
511         * platform/graphics/qt/Extensions3DQt.cpp: Ditto.
512         (WebCore::Extensions3DQt::getTranslatedShaderSourceANGLE):
513         * platform/graphics/qt/Extensions3DQt.h: Ditto.
514
515 2011-10-19  Geoffrey Garen  <ggaren@apple.com>
516
517         Removed StringImplBase, fusing it into StringImpl
518         https://bugs.webkit.org/show_bug.cgi?id=70443
519
520         Reviewed by Gavin Barraclough.
521
522         * ForwardingHeaders/runtime/RopeImpl.h: Removed.
523         * ForwardingHeaders/wtf/text/StringImplBase.h: Removed.
524
525 2011-10-19  Shinya Kawanaka  <shinyak@google.com>
526
527         ArrayBuffer should have slice method.
528         https://bugs.webkit.org/show_bug.cgi?id=66646
529
530         Reviewed by Kenneth Russell.
531
532         * html/canvas/ArrayBuffer.cpp:
533         (WebCore::clampValue):
534         (WebCore::ArrayBuffer::slice):
535         (WebCore::ArrayBuffer::sliceImpl):
536         (WebCore::ArrayBuffer::clampIndex):
537         * html/canvas/ArrayBuffer.h: Added declaration.
538         * html/canvas/ArrayBuffer.idl: Added interface.
539
540 2011-10-19  Mark Hahnenberg  <mhahnenberg@apple.com>
541
542         Add getConstructData to the MethodTable
543         https://bugs.webkit.org/show_bug.cgi?id=70163
544
545         Reviewed by Geoffrey Garen.
546
547         No new tests.
548
549         Adding getConstructData to the MethodTable in order to be able to 
550         remove all calls to getConstructDataVirtual soon.  Part of the process 
551         of de-virtualizing JSCell.
552
553         * WebCore.exp.in:
554
555 2011-10-19  Dan Bernstein  <mitz@apple.com>
556
557         Incorrect pagination in flipped-blocks writing modes with border/padding before
558         https://bugs.webkit.org/show_bug.cgi?id=70444
559
560         Reviewed by Darin Adler.
561
562         Test: fast/multicol/flipped-blocks-border-after.html
563
564         * rendering/LayoutState.cpp:
565         (WebCore::LayoutState::LayoutState): Account for flipped blocks when adjusting the page offset.
566
567 2011-10-19  Beth Dakin  <bdakin@apple.com>
568
569         https://bugs.webkit.org/show_bug.cgi?id=70396
570         Focus rings are too thin in HiDPI in WebKit2
571         -and corresponding-
572         <rdar://problem/10086876>
573
574         Reviewed by Dan Bernstein.
575
576         Rename wkSetPatternBaseCTM to wkSetBaseCTM
577         * WebCore.exp.in:
578         * platform/mac/WebCoreSystemInterface.h:
579         * platform/mac/WebCoreSystemInterface.mm:
580
581         New CG-only function calls into wkSetBaseCTM.
582         * platform/graphics/GraphicsContext.h:
583         * platform/graphics/cg/GraphicsContextCG.cpp:
584         (WebCore::GraphicsContext::setBaseCTM):
585
586         Call GraphicsContext::setBaseCTM() rather than calling into WebKitSystemInterface 
587         directly.
588         * platform/graphics/cg/ImageCG.cpp:
589         (WebCore::Image::drawPattern):
590
591 2011-10-19  Anna Cavender  <annacc@chromium.org>
592
593         Update WebVTTParser to require at least one space between timestamps and arrows, e.g.:
594         00:04:01.000 --> 00:03:00.500 is OK
595         00:04:01.000-->00:03:00.500 is not OK
596         https://bugs.webkit.org/show_bug.cgi?id=70274
597
598         Reviewed by Eric Carlson.
599
600         Existing tests:
601         media/track/track-webvtt-tc008-timings-no-hours.html
602         (see media/track/captions-webvtt/tc008-timings-no-hour-errors.vtt #6)
603         media/track/track-webvtt-tc009-timings-hour.html
604         (see media/track/captions-webvtt/tc009-timings-hour-error.vtt #6) 
605
606         * html/track/WebVTTParser.cpp:
607         (WebCore::WebVTTParser::collectTimingsAndSettings): Check that the
608             character before and after the '-->' is a space character
609
610 2011-10-19  Daniel Cheng  <dcheng@chromium.org>
611
612         Don't always select images during an image drag.
613         https://bugs.webkit.org/show_bug.cgi?id=62998
614
615         Reviewed by Tony Chang.
616
617         Only select an image being dragged if it is contenteditable.
618
619         Test: fast/events/drag-selects-image.html
620
621         * dom/Node.cpp:
622         (WebCore::Node::isContentRichlyEditable):
623         * dom/Node.h:
624         * page/DragController.cpp:
625         (WebCore::prepareClipboardForImageDrag):
626
627 2011-10-19  Andreas Kling  <kling@webkit.org>
628
629         HTMLBodyElement: Simplify link/alink/vlink attribute parsing.
630         https://bugs.webkit.org/show_bug.cgi?id=70429
631
632         Reviewed by Antonio Gomes.
633
634         Instead of carrying around a CSSMutableStyleDeclaration with the body element,
635         just use CSSParser::parseColor() to parse the three link color attributes.
636
637         * html/HTMLBodyElement.h:
638         * html/HTMLBodyElement.cpp:
639         (WebCore::HTMLBodyElement::~HTMLBodyElement):
640
641             Remove HTMLBodyElement::m_linkDecl and all the voodoo that went along with it.
642
643         (WebCore::HTMLBodyElement::parseMappedAttribute):
644
645             Use CSSParser directly to parse the color values for {link,alink,vlink}Attr.
646
647 2011-10-18  Oliver Hunt  <oliver@apple.com>
648
649         Support CanvasPixelArray in the DFG
650         https://bugs.webkit.org/show_bug.cgi?id=70384
651
652         Reviewed by Filip Pizlo.
653
654         Make CanvasPixelArray inherit from ByteArray's ClassInfo so
655         can identify it more sensibly.
656
657         * bindings/js/JSImageDataCustom.cpp:
658         (WebCore::toJS):
659
660 2011-10-19  Chang Shu  <cshu@webkit.org>
661
662         [Qt] Disable fullscreen api on Qt by default
663         https://bugs.webkit.org/show_bug.cgi?id=70413
664
665         Reviewed by Noam Rosenthal.
666
667         As the WebKit side of implementation for fullscreen api feature has not been done yet,
668         we'd better turn off the feature on the WebCore side by default.
669
670         * features.pri:
671
672 2011-10-19  Dirk Schulze  <krit@webkit.org>
673
674         Unreviewed, rolling out r97863.
675         http://trac.webkit.org/changeset/97863
676         https://bugs.webkit.org/show_bug.cgi?id=65769
677
678         Rollout
679
680         * CMakeLists.txt:
681         * GNUmakefile.list.am:
682         * WebCore.gypi:
683         * WebCore.pro:
684         * WebCore.vcproj/WebCore.vcproj:
685         * platform/graphics/FloatRect.cpp:
686         * platform/graphics/FloatRect.h:
687         (WebCore::FloatRect::contains):
688         * rendering/RenderObject.h:
689         (WebCore::RenderObject::isSVGPath):
690         * rendering/RenderTreeAsText.cpp:
691         (WebCore::write):
692         * rendering/svg/RenderSVGAllInOne.cpp:
693         * rendering/svg/RenderSVGModelObject.cpp:
694         (WebCore::isGraphicsElement):
695         * rendering/svg/RenderSVGPath.cpp:
696         (WebCore::BoundingRectStrokeStyleApplier::BoundingRectStrokeStyleApplier):
697         (WebCore::BoundingRectStrokeStyleApplier::strokeStyle):
698         (WebCore::RenderSVGPath::RenderSVGPath):
699         (WebCore::RenderSVGPath::fillContains):
700         (WebCore::RenderSVGPath::strokeContains):
701         (WebCore::RenderSVGPath::layout):
702         (WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath):
703         (WebCore::RenderSVGPath::zeroLengthSubpathRect):
704         (WebCore::RenderSVGPath::setupSquareCapPath):
705         (WebCore::RenderSVGPath::setupNonScalingStrokePath):
706         (WebCore::RenderSVGPath::fillAndStrokePath):
707         (WebCore::RenderSVGPath::paint):
708         (WebCore::RenderSVGPath::addFocusRingRects):
709         (WebCore::RenderSVGPath::nodeAtFloatPoint):
710         (WebCore::RenderSVGPath::calculateMarkerBoundsIfNeeded):
711         (WebCore::RenderSVGPath::updateCachedBoundaries):
712         * rendering/svg/RenderSVGPath.h:
713         (WebCore::RenderSVGPath::path):
714         (WebCore::RenderSVGPath::setNeedsPathUpdate):
715         (WebCore::RenderSVGPath::setNeedsBoundariesUpdate):
716         (WebCore::RenderSVGPath::setNeedsTransformUpdate):
717         (WebCore::RenderSVGPath::objectBoundingBox):
718         (WebCore::RenderSVGPath::strokeBoundingBox):
719         (WebCore::RenderSVGPath::repaintRectInLocalCoordinates):
720         (WebCore::RenderSVGPath::localToParentTransform):
721         (WebCore::RenderSVGPath::localTransform):
722         (WebCore::toRenderSVGPath):
723         * rendering/svg/RenderSVGRect.cpp: Removed.
724         * rendering/svg/RenderSVGRect.h: Removed.
725         * rendering/svg/RenderSVGResource.h:
726         (WebCore::RenderSVGResource::postApplyResource):
727         * rendering/svg/RenderSVGResourceClipper.cpp:
728         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
729         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
730         (WebCore::RenderSVGResourceClipper::hitTestClipContent):
731         * rendering/svg/RenderSVGResourceContainer.cpp:
732         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
733         * rendering/svg/RenderSVGResourceFilter.cpp:
734         (WebCore::RenderSVGResourceFilter::postApplyResource):
735         * rendering/svg/RenderSVGResourceFilter.h:
736         * rendering/svg/RenderSVGResourceGradient.cpp:
737         (WebCore::RenderSVGResourceGradient::applyResource):
738         * rendering/svg/RenderSVGResourceGradient.h:
739         * rendering/svg/RenderSVGResourcePattern.cpp:
740         (WebCore::RenderSVGResourcePattern::postApplyResource):
741         * rendering/svg/RenderSVGResourcePattern.h:
742         * rendering/svg/RenderSVGResourceSolidColor.cpp:
743         (WebCore::RenderSVGResourceSolidColor::postApplyResource):
744         * rendering/svg/RenderSVGResourceSolidColor.h:
745         * rendering/svg/RenderSVGRoot.cpp:
746         (WebCore::RenderSVGRoot::paint):
747         * rendering/svg/RenderSVGShape.cpp: Removed.
748         * rendering/svg/RenderSVGShape.h: Removed.
749         * rendering/svg/SVGInlineTextBox.cpp:
750         (WebCore::SVGInlineTextBox::releasePaintingResource):
751         * rendering/svg/SVGRenderSupport.cpp:
752         (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
753         (WebCore::SVGRenderSupport::finishRenderSVGContent):
754         (WebCore::SVGRenderSupport::layoutChildren):
755         * rendering/svg/SVGRenderTreeAsText.cpp:
756         (WebCore::writeStyle):
757         (WebCore::operator<<):
758         (WebCore::write):
759         * rendering/svg/SVGRenderTreeAsText.h:
760         * rendering/svg/SVGTextRunRenderingContext.cpp:
761         (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs):
762         * svg/SVGCircleElement.cpp:
763         (WebCore::SVGCircleElement::svgAttributeChanged):
764         * svg/SVGEllipseElement.cpp:
765         (WebCore::SVGEllipseElement::svgAttributeChanged):
766         * svg/SVGLineElement.cpp:
767         (WebCore::SVGLineElement::svgAttributeChanged):
768         * svg/SVGPathElement.cpp:
769         (WebCore::SVGPathElement::svgAttributeChanged):
770         (WebCore::SVGPathElement::pathSegListChanged):
771         * svg/SVGPathElement.h:
772         * svg/SVGPolyElement.cpp:
773         (WebCore::SVGPolyElement::svgAttributeChanged):
774         * svg/SVGRectElement.cpp:
775         (WebCore::SVGRectElement::svgAttributeChanged):
776         * svg/SVGRectElement.h:
777
778 2011-10-19  Yury Semikhatsky  <yurys@chromium.org>
779
780         Web Inspector: worker inspector title should contain worker URL
781         https://bugs.webkit.org/show_bug.cgi?id=70424
782
783         Worker inspector title is now evaluated when the front-end starts.
784
785         Reviewed by Pavel Feldman.
786
787         * inspector/front-end/WorkerManager.js:
788         (WebInspector.WorkerManager.loaded):
789         (WebInspector.WorkerManager._calculateWorkerInspectorTitle):
790
791 2011-10-19  Martin Robinson  <mrobinson@igalia.com>
792
793         [GTK] Avoid unecessarily calling gtk_widget_size_allocate on plugin widgets
794         https://bugs.webkit.org/show_bug.cgi?id=70190
795
796         Reviewed by Xan Lopez.
797
798         Instead of always calling gtk_widget_size_allocate on every single plugin
799         widget during scrolling, only call it on widgets that are both in the view
800         and that have moved.
801
802         No new tests. It's difficult to test scrolling performance in an
803         automated way.
804
805         * plugins/gtk/PluginViewGtk.cpp:
806         (WebCore::PluginView::setNPWindowIfNeeded): Reverse the if statement detecting a
807         clipped out plugin. It was incorrect.
808         (WebCore::PluginView::updateWidgetAllocationAndClip): If the current allocation of
809         the plugin widget has not changed or if the widget remains scrolled out, do not call
810         gtk_widget_size_allocate.
811
812 2011-10-19  Renata Hodovan  <reni@webkit.org>
813
814         Add new renderer for SVGRectElement.
815         https://bugs.webkit.org/show_bug.cgi?id=65769
816
817         Reviewed by Dirk Schulze.
818
819         This patch introduces a new common base class called RenderSVGShape which
820         replaces the RenderSVGPath. This new base class has the same purpose
821         as the replaced class and has specialized descendants for common
822         shapes (like Rectangles and Circles), which allows faster painting
823         of these shapes when certain conditions are fulfilled. On some
824         benchmark programs we have seen 5% speedup.
825
826         The biggest motivation of this refactor is taking advantage
827         of faster primitive drawing in the most common and frequent
828         cases. However in some rare cases, like painting rounded
829         rects, we need to fallback to the original code path, which
830         is fully kept in the RenderSVGShape base class. Some other
831         cases, like dashed strokes, can be painted but mouse pointer
832         events cannot be handled by the descendant classes. A different
833         fallback mechanism is used in such cases which redirects
834         only the pointer event handling to the base class.
835
836         Tests: svg/custom/pointer-events-on-rounded-rect.xhtml
837                svg/custom/pointer-events-with-linecaps-and-miterlimits.xhtml
838
839         * CMakeLists.txt:
840         * GNUmakefile.list.am:
841         * WebCore.gypi:
842         * WebCore.pro:
843         * WebCore.vcproj/WebCore.vcproj:
844         * platform/graphics/FloatRect.cpp:
845         (WebCore::FloatRect::contains):
846         * platform/graphics/FloatRect.h:
847         (WebCore::FloatRect::contains):
848         * rendering/RenderObject.h:
849         (WebCore::RenderObject::isSVGRect):
850         (WebCore::RenderObject::isSVGShape):
851         * rendering/RenderTreeAsText.cpp:
852         (WebCore::write):
853         * rendering/svg/RenderSVGAllInOne.cpp:
854         * rendering/svg/RenderSVGModelObject.cpp:
855         (WebCore::isGraphicsElement):
856         * rendering/svg/RenderSVGPath.cpp:
857         (WebCore::RenderSVGPath::RenderSVGPath):
858         (WebCore::RenderSVGPath::inflateWithMarkerBounds): Unite the markerBounds with strokeBoundingBox.
859         * rendering/svg/RenderSVGPath.h:
860         * rendering/svg/RenderSVGRect.cpp: Added.
861         (WebCore::RenderSVGRect::RenderSVGRect):
862         (WebCore::RenderSVGRect::~RenderSVGRect):
863         (WebCore::RenderSVGRect::createShape):
864         (WebCore::RenderSVGRect::objectBoundingBox):
865         (WebCore::RenderSVGRect::strokeBoundingBox):
866         (WebCore::RenderSVGRect::fillShape):
867         (WebCore::RenderSVGRect::strokeShape):
868         (WebCore::RenderSVGRect::shapeDependentStrokeContains):
869         (WebCore::RenderSVGRect::shapeDependentFillContains):
870         * rendering/svg/RenderSVGRect.h: Added.
871         (WebCore::RenderSVGRect::isSVGRect):
872         (WebCore::RenderSVGRect::renderName):
873         (WebCore::RenderSVGRect::isEmpty):
874         * rendering/svg/RenderSVGResource.h:
875         (WebCore::RenderSVGResource::postApplyResource): A new shape argument was added to allow shape specific faster painting.
876         * rendering/svg/RenderSVGResourceClipper.cpp:
877         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
878         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
879         (WebCore::RenderSVGResourceClipper::hitTestClipContent):
880         * rendering/svg/RenderSVGResourceContainer.cpp:
881         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
882         * rendering/svg/RenderSVGResourceFilter.cpp:
883         (WebCore::RenderSVGResourceFilter::postApplyResource):
884         * rendering/svg/RenderSVGResourceFilter.h:
885         * rendering/svg/RenderSVGResourceGradient.cpp:
886         (WebCore::RenderSVGResourceGradient::applyResource):
887         * rendering/svg/RenderSVGResourceGradient.h:
888         * rendering/svg/RenderSVGResourcePattern.cpp:
889         (WebCore::RenderSVGResourcePattern::postApplyResource):
890         * rendering/svg/RenderSVGResourcePattern.h:
891         * rendering/svg/RenderSVGResourceSolidColor.cpp:
892         (WebCore::RenderSVGResourceSolidColor::postApplyResource):
893         * rendering/svg/RenderSVGResourceSolidColor.h:
894         * rendering/svg/RenderSVGShape.cpp: Copied from Source/WebCore/rendering/svg/RenderSVGPath.cpp.
895         (WebCore::RenderSVGShape::RenderSVGShape):
896         (WebCore::RenderSVGShape::~RenderSVGShape):
897         (WebCore::RenderSVGShape::createShape):
898         (WebCore::RenderSVGShape::isEmpty):
899         (WebCore::RenderSVGShape::fillShape):
900         (WebCore::RenderSVGShape::objectBoundingBox):
901         (WebCore::RenderSVGShape::strokeBoundingBox):
902         (WebCore::RenderSVGShape::strokeShape):
903         (WebCore::RenderSVGShape::shapeDependentStrokeContains):
904         The purpose of this virtual function allows decendants to use their own fast checks.
905         (WebCore::RenderSVGShape::shapeDependentFillContains):
906         The purpose of this virtual function allows decendants to use their own fast checks.
907         (WebCore::RenderSVGShape::fillContains):
908         (WebCore::RenderSVGShape::strokeContains):
909         (WebCore::RenderSVGShape::layout):
910         (WebCore::RenderSVGShape::shouldStrokeZeroLengthSubpath):
911         (WebCore::RenderSVGShape::zeroLengthSubpathRect):
912         (WebCore::RenderSVGShape::setupSquareCapPath):
913         (WebCore::RenderSVGShape::setupNonScalingStrokePath):
914         (WebCore::RenderSVGShape::fillAndStrokePath):
915         (WebCore::RenderSVGShape::paint):
916         (WebCore::RenderSVGShape::addFocusRingRects):
917         (WebCore::RenderSVGShape::nodeAtFloatPoint):
918         (WebCore::RenderSVGShape::calculateMarkerBoundsIfNeeded):
919         (WebCore::RenderSVGShape::updateCachedBoundaries):
920         (WebCore::RenderSVGShape::strokeWidth):
921         * rendering/svg/RenderSVGShape.h: Copied from Source/WebCore/rendering/svg/RenderSVGPath.h.
922         (WebCore::BoundingRectStrokeStyleApplier::BoundingRectStrokeStyleApplier):
923         (WebCore::BoundingRectStrokeStyleApplier::strokeStyle):
924         (WebCore::RenderSVGShape::setNeedsShapeUpdate):
925         (WebCore::RenderSVGShape::setNeedsBoundariesUpdate):
926         (WebCore::RenderSVGShape::setNeedsTransformUpdate):
927         (WebCore::RenderSVGShape::isPaintingFallback):
928         (WebCore::RenderSVGShape::path):
929         (WebCore::RenderSVGShape::setIsPaintingFallback):
930         (WebCore::RenderSVGShape::setStrokeAndMarkerBoundingBox):
931         (WebCore::RenderSVGShape::hasPath):
932         (WebCore::RenderSVGShape::repaintRectInLocalCoordinates):
933         (WebCore::RenderSVGShape::localToParentTransform):
934         (WebCore::RenderSVGShape::localTransform):
935         (WebCore::RenderSVGShape::isSVGShape):
936         (WebCore::RenderSVGShape::renderName):
937         (WebCore::RenderSVGShape::isRoundedRect):
938         (WebCore::RenderSVGShape::inflateWithMarkerBounds):
939         (WebCore::toRenderSVGShape):
940         * rendering/svg/SVGInlineTextBox.cpp:
941         (WebCore::SVGInlineTextBox::releasePaintingResource):
942         * rendering/svg/SVGRenderSupport.cpp:
943         (WebCore::SVGRenderSupport::finishRenderSVGContent):
944         (WebCore::SVGRenderSupport::layoutChildren):
945         * rendering/svg/SVGRenderTreeAsText.cpp:
946         (WebCore::writeStyle):
947         (WebCore::operator<<):
948         (WebCore::write):
949         * rendering/svg/SVGRenderTreeAsText.h:
950         * rendering/svg/SVGTextRunRenderingContext.cpp:
951         (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs):
952         * svg/SVGCircleElement.cpp:
953         (WebCore::SVGCircleElement::svgAttributeChanged):
954         * svg/SVGEllipseElement.cpp:
955         (WebCore::SVGEllipseElement::svgAttributeChanged):
956         * svg/SVGLineElement.cpp:
957         (WebCore::SVGLineElement::svgAttributeChanged):
958         * svg/SVGPathElement.cpp:
959         (WebCore::SVGPathElement::svgAttributeChanged):
960         (WebCore::SVGPathElement::pathSegListChanged):
961         (WebCore::SVGPathElement::createRenderer):
962         * svg/SVGPathElement.h:
963         * svg/SVGPolyElement.cpp:
964         (WebCore::SVGPolyElement::svgAttributeChanged):
965         * svg/SVGRectElement.cpp:
966         (WebCore::SVGRectElement::svgAttributeChanged):
967         (WebCore::SVGRectElement::createRenderer):
968         * svg/SVGRectElement.h:
969
970 2011-10-19  Chris Fleizach  <cfleizach@apple.com>
971
972         AX: buttons of number type <input> controls are not fully accessible
973         https://bugs.webkit.org/show_bug.cgi?id=70241
974
975         Unreviewed. Fix missing </File> tag in Windows WebCore project file.
976
977         * WebCore.vcproj/WebCore.vcproj:
978
979 2011-10-19  Ilya Tikhonovsky  <loislo@chromium.org>
980
981         Web Inspector: [Chromium] Add an ability to show the objects that were allocated between snapshot N-2 and snapshot N-1 and still alive in snapshot N.
982         https://bugs.webkit.org/show_bug.cgi?id=61178
983
984         This ability will help us to see only the leaked objects.
985         Scenario:
986         1) do an action on inspected page which leaks javascript data;
987         2) make snapshot;
988         3) repeat first two steps three or more times;
989         4) select the last snapshot and select the filter 'Objects allocated between Snapshot 1 and Snapshot2' instead of 'All objects'.
990         The view shows the object that were allocated between snapshot N-2 and snapshot N-1 and still alive in snapshot N
991
992         Reviewed by Pavel Feldman.
993
994         * English.lproj/localizedStrings.js:
995         * inspector/front-end/DetailedHeapshotGridNodes.js:
996         (WebInspector.HeapSnapshotConstructorNode):
997         (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
998         * inspector/front-end/DetailedHeapshotView.js:
999         (WebInspector.HeapSnapshotConstructorsDataGrid):
1000         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
1001         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
1002         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged.firstSnapshotLoaded):
1003         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged.secondSnapshotLoaded):
1004         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
1005         (WebInspector.HeapSnapshotDiffDataGrid.prototype._baseProfileIndexChanged):
1006         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
1007         (WebInspector.DetailedHeapshotView.profileCallback):
1008         (WebInspector.DetailedHeapshotView):
1009         (WebInspector.DetailedHeapshotView.prototype.get statusBarItems):
1010         (WebInspector.DetailedHeapshotView.prototype._changeBase):
1011         (WebInspector.DetailedHeapshotView.prototype._changeFilter):
1012         (WebInspector.DetailedHeapshotView.prototype._loadProfileByIndex):
1013         (WebInspector.DetailedHeapshotView.prototype._changeView):
1014         (WebInspector.DetailedHeapshotView.prototype._updateFilterOptions):
1015         * inspector/front-end/HeapSnapshot.js:
1016         (WebInspector.HeapSnapshot.prototype.dispose):
1017         (WebInspector.HeapSnapshot.prototype.get maxNodeId):
1018         (WebInspector.HeapSnapshot.prototype.aggregates):
1019         (WebInspector.HeapSnapshot.prototype._buildAggregates):
1020         (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
1021         (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
1022         (WebInspector.HeapSnapshot.prototype.updateStaticData):
1023         * inspector/front-end/HeapSnapshotProxy.js:
1024         (WebInspector.HeapSnapshotWorker):
1025         (WebInspector.HeapSnapshotProxy.prototype.aggregates):
1026         (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForClass):
1027         (WebInspector.HeapSnapshotProxy.prototype.get maxNodeId):
1028         (WebInspector.HeapSnapshotProxy.prototype.startLoading):
1029
1030 2011-10-19  Alexander Pavlov  <apavlov@chromium.org>
1031
1032         Strip trailing whitespace in the WebCore/css C++ code.
1033         https://bugs.webkit.org/show_bug.cgi?id=70410
1034
1035         Reviewed by Dirk Schulze.
1036
1037         Only affected file names retained below for brevity.
1038         Multiline boolean expression were fixed where necessary to avoid patch style violations.
1039
1040         * css/CSSBorderImageSliceValue.cpp:
1041         * css/CSSBorderImageSliceValue.h:
1042         * css/CSSBorderImageValue.cpp:
1043         * css/CSSCanvasValue.cpp:
1044         * css/CSSCanvasValue.h:
1045         * css/CSSComputedStyleDeclaration.cpp:
1046         * css/CSSCursorImageValue.cpp:
1047         * css/CSSFontFace.cpp:
1048         * css/CSSFontFace.h:
1049         * css/CSSFontFaceSource.cpp:
1050         * css/CSSFontFaceSource.h:
1051         * css/CSSFontFaceSrcValue.cpp:
1052         * css/CSSFontFaceSrcValue.h:
1053         * css/CSSFontSelector.cpp:
1054         * css/CSSFontSelector.h:
1055         * css/CSSFunctionValue.cpp:
1056         * css/CSSFunctionValue.h:
1057         * css/CSSGradientValue.cpp:
1058         * css/CSSGradientValue.h:
1059         * css/CSSImageGeneratorValue.cpp:
1060         * css/CSSImageGeneratorValue.h:
1061         * css/CSSImageValue.cpp:
1062         * css/CSSImageValue.h:
1063         * css/CSSImportRule.cpp:
1064         * css/CSSInitialValue.cpp:
1065         * css/CSSInitialValue.h:
1066         * css/CSSMutableStyleDeclaration.cpp:
1067         * css/CSSMutableStyleDeclaration.h:
1068         * css/CSSParser.cpp:
1069         * css/CSSParser.h:
1070         * css/CSSParserValues.cpp:
1071         * css/CSSParserValues.h:
1072         * css/CSSPrimitiveValue.cpp:
1073         * css/CSSPrimitiveValue.h:
1074         * css/CSSPrimitiveValueCache.cpp:
1075         * css/CSSPrimitiveValueCache.h:
1076         * css/CSSPrimitiveValueMappings.h:
1077         * css/CSSProperty.cpp:
1078         * css/CSSProperty.h:
1079         * css/CSSPropertyLonghand.cpp:
1080         * css/CSSReflectValue.cpp:
1081         * css/CSSReflectValue.h:
1082         * css/CSSReflectionDirection.h:
1083         * css/CSSSegmentedFontFace.cpp:
1084         * css/CSSSegmentedFontFace.h:
1085         * css/CSSSelector.cpp:
1086         * css/CSSSelector.h:
1087         * css/CSSSelectorList.cpp:
1088         * css/CSSSelectorList.h:
1089         * css/CSSStyleApplyProperty.cpp:
1090         * css/CSSStyleDeclaration.h:
1091         * css/CSSStyleSelector.cpp:
1092         * css/CSSStyleSelector.h:
1093         * css/CSSStyleSheet.cpp:
1094         * css/CSSTimingFunctionValue.cpp:
1095         * css/CSSTimingFunctionValue.h:
1096         * css/CSSUnicodeRangeValue.cpp:
1097         * css/CSSUnicodeRangeValue.h:
1098         * css/CSSValueList.cpp:
1099         * css/CSSWrapShapes.cpp:
1100         * css/CSSWrapShapes.h:
1101         * css/FontValue.cpp:
1102         * css/MediaList.cpp:
1103         * css/MediaQuery.cpp:
1104         * css/MediaQuery.h:
1105         * css/MediaQueryEvaluator.h:
1106         * css/MediaQueryExp.cpp:
1107         * css/MediaQueryExp.h:
1108         * css/Pair.h:
1109         * css/SVGCSSComputedStyleDeclaration.cpp:
1110         * css/SVGCSSParser.cpp:
1111         * css/SVGCSSStyleSelector.cpp:
1112         * css/SelectorChecker.cpp:
1113         * css/SelectorChecker.h:
1114         * css/StyleBase.cpp:
1115         * css/StyleMedia.cpp:
1116         * css/StyleMedia.h:
1117         * css/StyleSheetList.cpp:
1118         * css/StyleSheetList.h:
1119         * css/WebKitCSSFilterValue.cpp:
1120         * css/WebKitCSSFilterValue.h:
1121         * css/WebKitCSSKeyframeRule.cpp:
1122         * css/WebKitCSSKeyframeRule.h:
1123         * css/WebKitCSSKeyframesRule.cpp:
1124         * css/WebKitCSSKeyframesRule.h:
1125         * css/WebKitCSSMatrix.cpp:
1126         * css/WebKitCSSMatrix.h:
1127         * css/WebKitCSSTransformValue.cpp:
1128         * css/WebKitCSSTransformValue.h:
1129
1130 2011-10-19  Dirk Schulze  <krit@webkit.org>
1131
1132         Make FilterEffect::apply() independent of image data management
1133         https://bugs.webkit.org/show_bug.cgi?id=70350
1134
1135         Reviewed by Zoltan Herczeg.
1136         
1137         FilterEffect::apply() needs to be independent from the image data management in FilterEffect.
1138         This allows implementing effective hardware accelerated alternatives, like OpenGL, CI or OpenCL
1139         based filters, to the software rendering. The software rendering code will be used as fallback
1140         and moves to platformApplySoftware().
1141
1142         The patch does not change the behavior of SVG filters. Did not add new test cases.
1143
1144         * platform/graphics/filters/FEBlend.cpp: Renamed apply() to platformApplyGeneric()
1145             and removed validity checks that are done by FilterEffect::apply(). This is a
1146             recurring pattern for all following effects. 
1147         (WebCore::FEBlend::platformApplySoftware):
1148         * platform/graphics/filters/FEBlend.h:
1149         * platform/graphics/filters/FEColorMatrix.cpp:
1150         (WebCore::FEColorMatrix::platformApplySoftware):
1151         * platform/graphics/filters/FEColorMatrix.h:
1152         * platform/graphics/filters/FEComponentTransfer.cpp:
1153         (WebCore::FEComponentTransfer::platformApplySoftware):
1154         * platform/graphics/filters/FEComponentTransfer.h:
1155         * platform/graphics/filters/FEComposite.cpp:
1156         (WebCore::FEComposite::platformApplySoftware):
1157         * platform/graphics/filters/FEComposite.h:
1158         * platform/graphics/filters/FEConvolveMatrix.cpp:
1159         (WebCore::FEConvolveMatrix::platformApplySoftware):
1160         * platform/graphics/filters/FEConvolveMatrix.h:
1161         * platform/graphics/filters/FEDisplacementMap.cpp:
1162         (WebCore::FEDisplacementMap::platformApplySoftware):
1163         * platform/graphics/filters/FEDisplacementMap.h:
1164         * platform/graphics/filters/FEDropShadow.cpp:
1165         (WebCore::FEDropShadow::platformApplySoftware):
1166         * platform/graphics/filters/FEDropShadow.h:
1167         * platform/graphics/filters/FEFlood.cpp:
1168         (WebCore::FEFlood::platformApplySoftware):
1169         * platform/graphics/filters/FEFlood.h:
1170         * platform/graphics/filters/FEGaussianBlur.cpp:
1171         (WebCore::FEGaussianBlur::platformApplySoftware):
1172         * platform/graphics/filters/FEGaussianBlur.h:
1173         * platform/graphics/filters/FELighting.cpp:
1174         (WebCore::FELighting::platformApplySoftware):
1175         * platform/graphics/filters/FELighting.h:
1176         * platform/graphics/filters/FEMerge.cpp:
1177         (WebCore::FEMerge::platformApplySoftware):
1178         * platform/graphics/filters/FEMerge.h:
1179         * platform/graphics/filters/FEMorphology.cpp:
1180         (WebCore::FEMorphology::platformApplySoftware):
1181         * platform/graphics/filters/FEMorphology.h:
1182         * platform/graphics/filters/FEOffset.cpp:
1183         (WebCore::FEOffset::platformApplySoftware):
1184         * platform/graphics/filters/FEOffset.h:
1185         * platform/graphics/filters/FETile.cpp:
1186         (WebCore::FETile::platformApplySoftware):
1187         * platform/graphics/filters/FETile.h:
1188         * platform/graphics/filters/FETurbulence.cpp:
1189         (WebCore::FETurbulence::platformApplySoftware):
1190         * platform/graphics/filters/FETurbulence.h:
1191         * platform/graphics/filters/FilterEffect.cpp: Added non-virtual apply() function. This will call the platform specific apply functions,
1192             which need to be virtual now.
1193         (WebCore::FilterEffect::hasResult): Added a comment for new implementations. This function needs to be updated for every new port.
1194         (WebCore::FilterEffect::apply):
1195         (WebCore::FilterEffect::createImageBufferResult): Removed determineAbsolutePaintRect() call. This is done in apply() now.
1196         (WebCore::FilterEffect::createUnmultipliedImageResult): Ditto.
1197         (WebCore::FilterEffect::createPremultipliedImageResult): Ditto.
1198         * platform/graphics/filters/FilterEffect.h:
1199         * platform/graphics/filters/SourceAlpha.cpp:
1200         (WebCore::SourceAlpha::platformApplySoftware):
1201         * platform/graphics/filters/SourceAlpha.h:
1202         * platform/graphics/filters/SourceGraphic.cpp:
1203         (WebCore::SourceGraphic::platformApplySoftware):
1204         * platform/graphics/filters/SourceGraphic.h:
1205         * svg/graphics/filters/SVGFEImage.cpp:
1206         (WebCore::FEImage::platformApplySoftware):
1207         * svg/graphics/filters/SVGFEImage.h:
1208
1209 2011-10-19  Vsevolod Vlasov  <vsevik@chromium.org>
1210
1211         Web Inspector: Enable caseSensitive search / Regex support in advanced search.
1212         https://bugs.webkit.org/show_bug.cgi?id=70335
1213
1214         Reviewed by Pavel Feldman.
1215
1216         * inspector/ContentSearchUtils.cpp:
1217         (WebCore::ContentSearchUtils::createSearchRegex):
1218         (WebCore::ContentSearchUtils::searchInTextByLines):
1219         * inspector/ContentSearchUtils.h:
1220         * inspector/Inspector.json:
1221         * inspector/InspectorDebuggerAgent.cpp:
1222         (WebCore::InspectorDebuggerAgent::searchInContent):
1223         * inspector/InspectorDebuggerAgent.h:
1224         * inspector/InspectorPageAgent.cpp:
1225         (WebCore::InspectorPageAgent::searchInResource):
1226         * inspector/InspectorPageAgent.h:
1227         * inspector/front-end/AdvancedSearchController.js:
1228         (WebInspector.SearchView):
1229         (WebInspector.SearchView.prototype.get searchConfig):
1230         (WebInspector.FileBasedSearchResultsPane.prototype._createSearchRegex):
1231         (WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
1232         (WebInspector.FileBasedSearchResultsPane.SearchResult):
1233         * inspector/front-end/ConsolePanel.js:
1234         (WebInspector.ConsolePanel.prototype.performSearch):
1235         * inspector/front-end/ContentProviders.js:
1236         (WebInspector.ScriptContentProvider.prototype.searchInContent):
1237         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent.searchCallback):
1238         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent):
1239         (WebInspector.ResourceContentProvider.prototype.searchInContent):
1240         (WebInspector.CompilerSourceMappingContentProvider.prototype.searchInContent):
1241         (WebInspector.StaticContentProvider.prototype.searchInContent):
1242         * inspector/front-end/ElementsTreeOutline.js:
1243         ():
1244         * inspector/front-end/NetworkPanel.js:
1245         (WebInspector.NetworkLogView.prototype.performSearch):
1246         * inspector/front-end/Resource.js:
1247         (WebInspector.Resource.prototype.searchInContent):
1248         * inspector/front-end/Script.js:
1249         (WebInspector.Script.prototype.searchInContent):
1250         * inspector/front-end/ScriptsSearchScope.js:
1251         (WebInspector.ScriptsSearchScope.prototype.performSearch.searchCallbackWrapper):
1252         (WebInspector.ScriptsSearchScope.prototype.performSearch):
1253         * inspector/front-end/SourceFrame.js:
1254         (WebInspector.SourceFrame.createSearchRegex):
1255         * inspector/front-end/UISourceCode.js:
1256         (WebInspector.UISourceCode.prototype.searchInContent):
1257         (WebInspector.ContentProvider.prototype.searchInContent):
1258         * inspector/front-end/inspector.css:
1259         (.search-view .search-panel input[type="search"].search-config-search):
1260         (.search-view .search-panel label.search-config-label):
1261         (.search-view .search-panel input[type="checkbox"].search-config-checkbox):
1262         * inspector/front-end/utilities.js:
1263         ():
1264
1265 2011-10-19  Andreas Kling  <kling@webkit.org>
1266
1267         MediaList: Remove inheritance from StyleBase.
1268         https://bugs.webkit.org/show_bug.cgi?id=70203
1269
1270         Reviewed by Darin Adler.
1271
1272         * css/MediaList.h:
1273         (WebCore::MediaList::parentStyleSheet):
1274         (WebCore::MediaList::setParentStyleSheet):
1275         * css/MediaList.cpp:
1276         (WebCore::MediaList::MediaList):
1277         (WebCore::MediaList::notifyChanged):
1278
1279             Change MediaList to no longer inherit from StyleBase. The parent()/setParent()
1280             mechanism was replaced by explicit parentStyleSheet()/setParentStyleSheet().
1281
1282         * css/CSSImportRule.cpp:
1283         (WebCore::CSSImportRule::CSSImportRule):
1284         (WebCore::CSSImportRule::~CSSImportRule):
1285         * css/CSSMediaRule.cpp:
1286         (WebCore::CSSMediaRule::CSSMediaRule):
1287         (WebCore::CSSMediaRule::~CSSMediaRule):
1288
1289             Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
1290             CSSRules are never moved between stylesheets, so the parent style sheet pointer
1291             is valid for the MediaList's lifetime.
1292
1293         * css/StyleSheet.cpp:
1294         (WebCore::StyleSheet::~StyleSheet):
1295
1296             Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
1297
1298         (WebCore::StyleSheet::setMedia):
1299
1300             Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
1301             Assert that the parent sheet is either null, or this, as MediaLists should never
1302             be reparented to other sheets.
1303             Assert that the StyleSheet is indeed a CSSStyleSheet.  XSLStyleSheet inherits from
1304             StyleSheet, but it shouldn't be using the MediaList.
1305
1306         * bindings/js/JSDOMBinding.h:
1307         (WebCore::root):
1308
1309             Add MediaList* specific overload for root() since it can't fall back
1310             to root(StyleBase*) anymore.
1311
1312         * WebCore.xcodeproj/project.pbxproj:
1313
1314             Add some PrivateHeaders to accomodate the JSDOMBinding.h changes.
1315
1316         * css/CSSMediaRule.h:
1317
1318             Remove unnecessary forward-declaration of MediaList.
1319
1320 2011-10-19  Vsevolod Vlasov  <vsevik@chromium.org>
1321
1322         Web Inspector: Console messages for XHR logging should show call stack if available.
1323         https://bugs.webkit.org/show_bug.cgi?id=70324
1324
1325         Reviewed by Pavel Feldman.
1326
1327         * inspector/front-end/ConsoleMessage.js:
1328         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
1329
1330 2011-10-13  Pavel Podivilov  <podivilov@chromium.org>
1331
1332         Web Inspector: move JS specific popover handling to JavaScriptSourceFrame.
1333         https://bugs.webkit.org/show_bug.cgi?id=70033
1334
1335         Reviewed by Pavel Feldman.
1336
1337         * inspector/front-end/DebuggerPresentationModel.js:
1338         (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
1339         (WebInspector.DebuggerPresentationModel.prototype.get paused):
1340         * inspector/front-end/JavaScriptSourceFrame.js:
1341         (WebInspector.JavaScriptSourceFrame):
1342         (WebInspector.JavaScriptSourceFrame.prototype.shouldShowPopover):
1343         (WebInspector.JavaScriptSourceFrame.prototype.onShowPopover.showObjectPopover):
1344         (WebInspector.JavaScriptSourceFrame.prototype.onShowPopover):
1345         (WebInspector.JavaScriptSourceFrame.prototype.onHidePopover):
1346         (WebInspector.JavaScriptSourceFrame.prototype._highlightExpression):
1347         * inspector/front-end/ScriptsPanel.js:
1348         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
1349         (WebInspector.SourceFrameDelegateForScriptsPanel):
1350         * inspector/front-end/SourceFrame.js:
1351         (WebInspector.SourceFrame):
1352         (WebInspector.SourceFrame.prototype.willHide):
1353         (WebInspector.SourceFrame.prototype._initializeTextViewer):
1354         (WebInspector.SourceFrame.prototype._getPopoverAnchor):
1355         (WebInspector.SourceFrame.prototype.get readOnly):
1356         (WebInspector.SourceFrame.prototype._setReadOnly):
1357         (WebInspector.SourceFrame.prototype.contentChanged):
1358         (WebInspector.SourceFrame.prototype.shouldShowPopover):
1359         (WebInspector.SourceFrame.prototype.onShowPopover):
1360         (WebInspector.SourceFrame.prototype.onHidePopover):
1361
1362 2011-10-19  Tomasz Morawski  <t.morawski@samsung.com>
1363
1364         [EFL][WK2] Added missing files to build WebKit2 EFL
1365         https://bugs.webkit.org/show_bug.cgi?id=70312
1366
1367         Reviewed by Ryosuke Niwa.
1368
1369         Added missing files to WebCore/CMakeListEfl.txt script:
1370         - platform/network/soup/CredentialStorageSoup.cpp
1371         - platform/network/soup/ProxyServerSoup.cpp
1372         Fixes few linking time errors.
1373
1374         * CMakeListsEfl.txt:
1375
1376 2011-10-19  Kentaro Hara  <haraken@chromium.org>
1377
1378         Rename AllowAllocation to ConstructorMode
1379         https://bugs.webkit.org/show_bug.cgi?id=70397
1380
1381         Reviewed by Adam Barth.
1382
1383         The name 'AllowAllocation' is confusing (See discussion here: bug 70015).
1384         This patch renames 'AllowAllocation' to 'ConstructorMode' to clarify that
1385         this class is for distinguishing the following two situations:
1386          1. A programmer allocates an object via "new X"; X is a function with a C++ constructCallback.
1387          2. C++ allocates an object via the function template and tries to wrap the object with a JS flavor.
1388
1389         Tests: fast/events/constructors/*
1390
1391         * bindings/scripts/CodeGeneratorV8.pm: Renamed AllowAllocation to ConstructorMode.
1392         (GenerateConstructorCallback):
1393         * bindings/scripts/test/V8/V8TestInterface.cpp: Updated a run-binding-tests result.
1394         (WebCore::V8TestInterface::constructorCallback):
1395         * bindings/v8/V8Binding.cpp: Renamed AllowAllocation to ConstructorMode.
1396         (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
1397         * bindings/v8/V8Binding.h: Ditto.
1398         (WebCore::ConstructorMode::ConstructorMode):
1399         (WebCore::ConstructorMode::~ConstructorMode):
1400         (WebCore::ConstructorMode::current):
1401         (WebCore::SafeAllocation::newInstance):
1402         * bindings/v8/V8Proxy.cpp: Ditto.
1403         (WebCore::V8Proxy::checkNewLegal):
1404         * bindings/v8/custom/V8EventConstructors.cpp: Ditto.
1405         (WebCore::constructV8Event):
1406
1407 2011-10-19  Tomasz Morawski  <t.morawski@samsung.com>
1408
1409         [EFL] Added missing dummy platformDescription function
1410         https://bugs.webkit.org/show_bug.cgi?id=70310
1411
1412         Reviewed by Ryosuke Niwa.
1413
1414         Added dummy platformDescription function needed to compile WK2.
1415
1416         * platform/efl/ContextMenuEfl.cpp:
1417         (WebCore::ContextMenu::platformDescription):
1418
1419 2011-10-18  Kentaro Hara  <haraken@chromium.org>
1420
1421         Generate a SharedWorker constructor of V8 using [Constructor] IDL
1422         https://bugs.webkit.org/show_bug.cgi?id=67879
1423
1424         Reviewed by Hajime Morita.
1425
1426         Spec: http://dev.w3.org/html5/workers/#shared-workers-and-the-sharedworker-interface
1427         This patch changed SharedWorker::create(..., context, ec) to
1428         SharedWorker::create(context, ..., ec), since a parameter specified by [CallWith]
1429         should come at the beginning (c.f. bug 69799).
1430
1431         Test: ui_tests:WorkerTest.FLAKY_SharedWorkerFastConstructor
1432               ui_tests:WorkerTest.FLAKY_SharedWorkerFastName
1433
1434         * WebCore.gypi: Removed bindings/v8/custom/V8SharedWorkerCustom.cpp
1435         * WebCore.pro: Ditto.
1436         * bindings/js/JSSharedWorkerCustom.cpp: Moved ScriptExecutionContext parameter to the beginning.
1437         (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
1438         * bindings/v8/custom/V8SharedWorkerCustom.cpp: Removed.
1439         * workers/SharedWorker.cpp: Moved ScriptExecutionContext parameter to the beginning.
1440         (WebCore::SharedWorker::create): Ditto.
1441         * workers/SharedWorker.h: Ditto.
1442         * workers/SharedWorker.idl: Added [Constructor] IDL.
1443
1444 2011-10-18  Johnny Ding  <jnd@chromium.org>
1445
1446         Implement NSProcessInfo::systemUptime on Mac Leopard.
1447         https://bugs.webkit.org/show_bug.cgi?id=66577
1448
1449         Reviewed by Tony Chang.
1450
1451         * WebCore.gyp/WebCore.gyp:
1452         * platform/chromium/ScrollAnimatorChromiumMac.mm:
1453         (-[NSProcessInfo systemUptime]):
1454
1455 2011-10-18  Sam Weinig  <sam@webkit.org>
1456
1457         Try to jostle the windows build back to life.
1458
1459         * rendering/HitTestResult.h:
1460
1461 2011-10-18  Anders Carlsson  <andersca@apple.com>
1462
1463         Assertion failure when going back in page with navigated subframes
1464         https://bugs.webkit.org/show_bug.cgi?id=70389
1465         <rdar://problem/8988444>
1466
1467         Reviewed by Darin Adler.
1468
1469         Test: fast/history/history-back-twice-with-subframes-assert.html
1470
1471         If a single navigation ends up loading multiple frame, the first committed frame will
1472         end up calling recursiveUpdateForCommit on the main frame which will null out the provisional item
1473         for all frames on the page. This means that it can null out the provisional item for any frames
1474         that are still yet to be committed which causes the aforementioned assertion failure.
1475
1476         Fix this by only nulling out the provisional history item (and saving/restoring the scroll position and
1477         some other things) for frames that already contain the URL that the item requested. If a frame is being loaded,
1478         it will null out its provisional history item when it's committed.
1479
1480         * loader/HistoryController.cpp:
1481         (WebCore::HistoryController::recursiveUpdateForCommit):
1482
1483 2011-10-18  Sheriff Bot  <webkit.review.bot@gmail.com>
1484
1485         Unreviewed, rolling out r97765.
1486         http://trac.webkit.org/changeset/97765
1487         https://bugs.webkit.org/show_bug.cgi?id=70388
1488
1489         "broke webkit_unit_tests, http/tests/xmlhttprequest
1490         /xmlhttprequest-test-send-flag.html on linux debug" (Requested
1491         by dpranke on #webkit).
1492
1493         * WebCore.gypi:
1494         * loader/DocumentThreadableLoader.cpp:
1495         (WebCore::DocumentThreadableLoader::create):
1496         (WebCore::DocumentThreadableLoader::~DocumentThreadableLoader):
1497         (WebCore::DocumentThreadableLoader::cancel):
1498         (WebCore::DocumentThreadableLoader::setDefersLoading):
1499         (WebCore::DocumentThreadableLoader::willSendRequest):
1500         (WebCore::DocumentThreadableLoader::didSendData):
1501         (WebCore::DocumentThreadableLoader::didReceiveResponse):
1502         (WebCore::DocumentThreadableLoader::didReceiveData):
1503         (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
1504         (WebCore::DocumentThreadableLoader::didFinishLoading):
1505         (WebCore::DocumentThreadableLoader::didFail):
1506         (WebCore::DocumentThreadableLoader::preflightSuccess):
1507         (WebCore::DocumentThreadableLoader::loadRequest):
1508         * loader/DocumentThreadableLoader.h:
1509         * loader/cache/CachedRawResource.cpp:
1510         (WebCore::CachedRawResource::CachedRawResource):
1511         (WebCore::CachedRawResource::data):
1512         * loader/cache/CachedRawResource.h:
1513         * loader/cache/CachedResource.cpp:
1514         (WebCore::CachedResource::CachedResource):
1515         * loader/cache/CachedResource.h:
1516         (WebCore::CachedResource::setRequestedFromNetworkingLayer):
1517         * loader/cache/CachedResourceClient.h:
1518         * loader/cache/CachedResourceRequest.cpp:
1519         (WebCore::CachedResourceRequest::~CachedResourceRequest):
1520         (WebCore::CachedResourceRequest::willSendRequest):
1521         (WebCore::CachedResourceRequest::didFinishLoading):
1522         (WebCore::CachedResourceRequest::didReceiveResponse):
1523         (WebCore::CachedResourceRequest::didReceiveData):
1524         * loader/cache/CachedResourceRequest.h:
1525         * loader/chromium/CachedRawResourceChromium.cpp: Removed.
1526         * loader/chromium/CachedResourceRequestChromium.cpp: Removed.
1527         * loader/chromium/DocumentThreadableLoaderChromium.cpp:
1528         (WebCore::DocumentThreadableLoader::didDownloadData):
1529         * loader/icon/IconLoader.h:
1530         * platform/network/BlobResourceHandle.cpp:
1531         (WebCore::BlobResourceHandle::notifyResponse):
1532
1533 2011-10-18  Mark Hahnenberg  <mhahnenberg@apple.com>
1534
1535         Rename static put to putByIndex
1536         https://bugs.webkit.org/show_bug.cgi?id=70281
1537
1538         Reviewed by Geoffrey Garen.
1539
1540         No new tests.
1541
1542         Renaming versions of deleteProperty that use an unsigned as the property
1543         name to "deletePropertyByIndex" in preparation for adding them to the 
1544         MethodTable, which requires unique names for each method.
1545
1546         * bindings/scripts/CodeGeneratorJS.pm:
1547         (GenerateHeader):
1548         (GenerateImplementation):
1549         * bridge/runtime_array.cpp:
1550         (JSC::RuntimeArray::putVirtual):
1551         (JSC::RuntimeArray::putByIndex):
1552         * bridge/runtime_array.h:
1553
1554 2011-10-18  Sam Weinig  <sam@webkit.org>
1555
1556         Fix the build.
1557
1558         * rendering/HitTestResult.cpp:
1559         (WebCore::HitTestResult::absolutePDFURL):
1560         Fix typo.
1561
1562 2011-10-18  Alexis Menard  <alexis.menard@openbossa.org>
1563
1564         Unreviewed warning fix after https://bugs.webkit.org/show_bug.cgi?id=70269
1565
1566         * WebCore.pro:
1567
1568 2011-10-18  Alexey Proskuryakov  <ap@apple.com>
1569
1570         Expose PDF information in hit test result
1571         https://bugs.webkit.org/show_bug.cgi?id=70353
1572
1573         Reviewed by Sam Weinig.
1574
1575         * WebCore.exp.in:
1576         * rendering/HitTestResult.cpp:
1577         (WebCore::HitTestResult::absolutePDFURL):
1578         * rendering/HitTestResult.h:
1579         Added HitTestResult::absolutePDFURL(). It will contain a URL when over a PDF object or embed;
1580         not sure if we want this for PDFImageDocuments.
1581
1582 2011-10-18  Adrienne Walker  <enne@google.com>
1583
1584         [chromium] Preserve offscreen tiles instead of immediately recycling them
1585         https://bugs.webkit.org/show_bug.cgi?id=70352
1586
1587         Reviewed by James Robinson.
1588
1589         Tested by existing layout tests.
1590
1591         Prior to having a TextureManager class, tiled layers recycled their
1592         textures internally to avoid reallocation. Unfortunately, it recycled
1593         these tiles as soon as they went offscreen, even if they were still
1594         valid. Instead, keep tiles around forever, letting the TextureManager
1595         decide (via LRU) when to reclaim the underlying textures. This will
1596         improve scrolling performance due to not needing to repaint tiles.
1597
1598         This change does lead to more texture reallocation for any textures
1599         that get reclaimed, but the command buffer implementation already
1600         pools and reuses texture ids, so it should not introduce additional
1601         flush syncs. If there's any performance penalty, it'll be at the
1602         driver level, but I'd prefer to measure that there's a problem before
1603         prematurely optimizing and adding complexity to the TextureManager.
1604
1605         * platform/graphics/chromium/TiledLayerChromium.cpp:
1606         (WebCore::TiledLayerChromium::cleanupResources):
1607         (WebCore::TiledLayerChromium::createTile):
1608         (WebCore::TiledLayerChromium::prepareToUpdate):
1609         * platform/graphics/chromium/TiledLayerChromium.h:
1610
1611 2011-10-18  Adam Klein  <adamk@chromium.org>
1612
1613         [MutationObservers] Implement WebKitMutationObserver.observe for characterData changes
1614         https://bugs.webkit.org/show_bug.cgi?id=68957
1615
1616         Reviewed by Ryosuke Niwa.
1617
1618         Test: fast/mutation/observe-characterdata.html
1619
1620         * dom/CharacterData.cpp:
1621         (WebCore::CharacterData::dispatchModifiedEvent):
1622
1623 2011-10-18  Scott Byer  <scottbyer@chromium.org>
1624
1625         Scroll animator tracing
1626         https://bugs.webkit.org/show_bug.cgi?id=70280
1627
1628         Reviewed by James Robinson.
1629
1630         No functional difference, no test needed.
1631
1632         * platform/ScrollAnimatorNone.cpp:
1633         (WebCore::ScrollAnimatorNone::scroll):
1634         (WebCore::ScrollAnimatorNone::animationTimerFired):
1635
1636 2011-10-18  James Robinson  <jamesr@chromium.org>
1637
1638         [chromium] Remove USE(THREADED_COMPOSITING) from the tree, this is controlled by a runtime setting
1639         https://bugs.webkit.org/show_bug.cgi?id=70356
1640
1641         Reviewed by Kenneth Russell.
1642
1643         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1644
1645 2011-10-18  Ojan Vafai  <ojan@chromium.org>
1646
1647         cleanup some FIXMEs in RenderFlexibleBox
1648         https://bugs.webkit.org/show_bug.cgi?id=70374
1649
1650         Reviewed by Darin Adler.
1651
1652         No new tests. Existing tests cover all changes.
1653
1654         * rendering/RenderFlexibleBox.cpp:
1655         (WebCore::RenderFlexibleBox::layoutBlock):
1656         (WebCore::RenderFlexibleBox::flowAwareBorderAndPaddingLogicalHeight):
1657         (WebCore::RenderFlexibleBox::flowAwareMarginLogicalHeightForChild):
1658         * rendering/RenderFlexibleBox.h:
1659         Removed the FIXME to implement computePreferredLogicalWidths. It doesn't
1660         seem to be necessary, at least not with the current test cases.
1661
1662 2011-10-18  Joseph Pecoraro  <joepeck@webkit.org>
1663
1664         Web Inspector: Some localizedStrings.js Updates
1665         https://bugs.webkit.org/show_bug.cgi?id=70365
1666
1667         Reviewed by Darin Adler.
1668
1669         Fixed syntax issue, added missing strings, and removed a duplicate.
1670
1671         * English.lproj/localizedStrings.js:
1672
1673 2011-10-18  Tony Chang  <tony@chromium.org>
1674
1675         fix unused-but-set-variable warnings in WebCore
1676         https://bugs.webkit.org/show_bug.cgi?id=70344
1677
1678         Reviewed by Adam Barth.
1679
1680         This is a new compiler warning in gcc 4.6.
1681
1682         * bindings/v8/V8DOMWrapper.cpp:
1683         (WebCore::V8DOMWrapper::isWrapperOfType):
1684         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
1685         (WebCore::ComplexTextController::normalizeSpacesAndMirrorChars):
1686
1687 2011-10-18  Dan Bernstein  <mitz@apple.com>
1688
1689         Certain column-rule styles render incorrectly in vertical writing modes
1690         https://bugs.webkit.org/show_bug.cgi?id=70362
1691
1692         Reviewed by Darin Adler.
1693
1694         Test: fast/multicol/vertical-rl/rule-style.html
1695
1696         * rendering/RenderBlock.cpp:
1697         (WebCore::RenderBlock::paintColumnRules): Use the correct border sides for vertical writing modes.
1698
1699 2011-10-18  Anna Cavender  <annacc@chromium.org>
1700
1701         Fix broken binding tests by changing G_MAXUSHORT to G_MAXUINT in WebKitDOMTestObj.cpp.
1702         https://bugs.webkit.org/show_bug.cgi?id=70267
1703
1704         Reviewed by Daniel Bates.
1705
1706         Tests: fixing WebKitDOMTestObj.cpp
1707
1708         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1709         (webkit_dom_test_obj_class_init): Change G_MAXUSHORT to G_MAXUINT
1710
1711 2011-10-18  Julien Chaffraix  <jchaffraix@webkit.org>
1712
1713         Crash in RenderDeprecatedFlexibleBox::layoutHorizontalBox
1714         https://bugs.webkit.org/show_bug.cgi?id=70183
1715
1716         Reviewed by David Hyatt.
1717
1718         Test: fast/flexbox/layoutHorizontal-crash.html
1719
1720         The deferred scroll information update logic was not updated when an object was destroy'ed.
1721
1722         The fix is very simple. As the deferred logic was only used with deprecated flexbox, it is a
1723         pretty uncommon cases so let's optimize the new code for the common case.
1724
1725         * rendering/RenderBlock.cpp:
1726         (WebCore::RenderBlock::willBeDestroyed):
1727
1728 2011-10-18  Adam Klein  <adamk@chromium.org>
1729
1730         [MutationObservers] Clean up MutationObserver code in Node
1731         https://bugs.webkit.org/show_bug.cgi?id=70349
1732
1733         Reviewed by Ryosuke Niwa.
1734
1735         Three small cleanups.
1736
1737         No new tests, no behavior change.
1738
1739         * dom/Node.cpp:
1740         (WebCore::Node::clearRareData): Use indices instead of iterator in for loop; fix typo.
1741         (WebCore::Node::registerMutationObserver): Inline single call to Node::ensureMutationObserverEntries.
1742         * dom/Node.h: Make mutationObserverEntries private.
1743
1744 2011-10-18  James Robinson  <jamesr@chromium.org>
1745
1746         [chromium] Fix shutdown race when posting main thread task to CCThreadProxy and enable tests
1747         https://bugs.webkit.org/show_bug.cgi?id=70161
1748
1749         Reviewed by David Levin.
1750
1751         Adds a weak pointer mechanism to cancel main thread tasks posted to CCThreadProxy instances from the compositor
1752         thread. Previously there was a race condition where main thread tasks could run even after the CCThreadProxy was
1753         destroyed.
1754
1755         This race does not exist in the other direction because when tearing down a CCThreadProxy we first post a quit
1756         task to the compositor thread and then suspend execution of the main thread until all compositor tasks for the
1757         CCThreadProxy have been drained.
1758
1759         Covered by the now-enabled CCLayerTreeHostTest* unit tests.
1760
1761         * WebCore.gypi:
1762         * platform/graphics/chromium/cc/CCScopedMainThreadProxy.h: Added.
1763         (WebCore::CCScopedMainThreadProxy::create):
1764         (WebCore::CCScopedMainThreadProxy::postTask):
1765         (WebCore::CCScopedMainThreadProxy::shutdown):
1766         (WebCore::CCScopedMainThreadProxy::CCScopedMainThreadProxy):
1767         (WebCore::CCScopedMainThreadProxy::runTaskIfNotShutdown):
1768         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1769         (WebCore::CCThreadProxy::CCThreadProxy):
1770         (WebCore::CCThreadProxy::~CCThreadProxy):
1771         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
1772         * platform/graphics/chromium/cc/CCThreadProxy.h:
1773
1774 2011-10-13  Ojan Vafai  <ojan@chromium.org>
1775
1776         implement flex-flow:column
1777         https://bugs.webkit.org/show_bug.cgi?id=70082
1778
1779         Reviewed by David Hyatt.
1780
1781         There's still a bug with a FIXME where we don't compute the right
1782         size for the container of the flexbox in the presence of
1783         orthogonal flows. That's the cause of all the failing cases
1784         in the tests.
1785
1786         Tests: css3/flexbox/flex-flow-border.html
1787                css3/flexbox/flex-flow-margins.html
1788                css3/flexbox/flex-flow-orientations.html
1789                css3/flexbox/flex-flow-overflow.html
1790                css3/flexbox/flex-flow-padding.html
1791                css3/flexbox/flex-flow.html
1792
1793         * rendering/RenderFlexibleBox.cpp:
1794         (WebCore::RenderFlexibleBox::layoutBlock):
1795         (WebCore::RenderFlexibleBox::hasOrthogonalFlow):
1796         (WebCore::RenderFlexibleBox::isColumnFlow):
1797         (WebCore::RenderFlexibleBox::isHorizontalFlow):
1798         (WebCore::RenderFlexibleBox::isLeftToRightFlow):
1799         Use isHorizontalFlow and isLeftToRightFlow so that methods like
1800         flowAwareBorderStart look exactly like borderStart with
1801         isHorizontalWritingMode and isLeftToRightDirection replaced.
1802
1803         (WebCore::RenderFlexibleBox::setFlowAwareLogicalHeight):
1804         (WebCore::RenderFlexibleBox::flowAwareLogicalHeightForChild):
1805         (WebCore::RenderFlexibleBox::flowAwareLogicalWidthForChild):
1806         (WebCore::RenderFlexibleBox::flowAwareLogicalHeight):
1807         (WebCore::RenderFlexibleBox::flowAwareLogicalWidth):
1808         (WebCore::RenderFlexibleBox::flowAwareContentLogicalHeight):
1809         (WebCore::RenderFlexibleBox::flowAwareContentLogicalWidth):
1810         (WebCore::RenderFlexibleBox::transformedWritingMode):
1811         Transform the writing-mode based of the flex-flow and direction
1812         values. That methods like flowAwareBorderBefore look exactly like
1813         borderBefore, except it switches over a different value.
1814
1815         (WebCore::RenderFlexibleBox::flowAwareBorderStart):
1816         (WebCore::RenderFlexibleBox::flowAwareBorderBefore):
1817         (WebCore::RenderFlexibleBox::flowAwareBorderAfter):
1818         (WebCore::RenderFlexibleBox::flowAwarePaddingStart):
1819         (WebCore::RenderFlexibleBox::flowAwarePaddingBefore):
1820         (WebCore::RenderFlexibleBox::flowAwarePaddingAfter):
1821         (WebCore::RenderFlexibleBox::flowAwareMarginStartForChild):
1822         (WebCore::RenderFlexibleBox::flowAwareMarginEndForChild):
1823         (WebCore::RenderFlexibleBox::flowAwareMarginBeforeForChild):
1824         (WebCore::RenderFlexibleBox::flowAwareMarginAfterForChild):
1825         (WebCore::RenderFlexibleBox::setFlowAwareMarginStartForChild):
1826         (WebCore::RenderFlexibleBox::setFlowAwareMarginEndForChild):
1827         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
1828         (WebCore::RenderFlexibleBox::alignChildrenBlockDirection):
1829         * rendering/RenderFlexibleBox.h:
1830
1831 2011-10-18  Shawn Singh  <shawnsingh@chromium.org>
1832
1833         [chromium] Tracking update rects in LayerChromium and CCLayerImpl.
1834         https://bugs.webkit.org/show_bug.cgi?id=69441
1835
1836         Reviewed by James Robinson.
1837
1838         This patch does not do much on its own, but is just part 1 of a
1839         string of other patches which will use these rects for
1840         visualization and scissoring.  The appropriate testing will be
1841         associated with those patches.
1842
1843         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1844         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
1845         * platform/graphics/chromium/LayerChromium.cpp:
1846         (WebCore::LayerChromium::pushPropertiesTo):
1847         * platform/graphics/chromium/LayerChromium.h:
1848         * platform/graphics/chromium/TiledLayerChromium.cpp:
1849         (WebCore::TiledLayerChromium::cleanupResources):
1850         (WebCore::TiledLayerChromium::updateCompositorResources):
1851         (WebCore::TiledLayerChromium::pushPropertiesTo):
1852         (WebCore::TiledLayerChromium::prepareToUpdate):
1853         * platform/graphics/chromium/TiledLayerChromium.h:
1854         * platform/graphics/chromium/VideoLayerChromium.cpp:
1855         (WebCore::VideoLayerChromium::updateCompositorResources):
1856         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1857         (WebCore::WebGLLayerChromium::updateCompositorResources):
1858         * platform/graphics/chromium/cc/CCLayerImpl.h:
1859         (WebCore::CCLayerImpl::updateRect):
1860         (WebCore::CCLayerImpl::setUpdateRect):
1861
1862 2011-10-18  Anna Cavender  <annacc@chromium.org>
1863
1864         Change CodeGeneratorGObject.pm to use g_value_get_uint() instead of g_value_get_ushort()
1865         for IDL attributes of type unsigned short.
1866         https://bugs.webkit.org/show_bug.cgi?id=70267
1867
1868         Reviewed by Xan Lopez.
1869
1870         Tests: small change to WebKitDOMTestObj.cpp
1871
1872         * bindings/scripts/CodeGeneratorGObject.pm:
1873         (GetGValueTypeName): convert unsigned short to uint instead of ushort
1874         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1875         (webkit_dom_test_obj_set_property): expect g_value_get_uint instead of g_value_get_ushort
1876         (webkit_dom_test_obj_class_init): expect G_MAXUSHORT instead of G_MAXUINT16
1877
1878 2011-10-18  Vsevolod Vlasov  <vsevik@chromium.org>
1879
1880         Web Inspector: ScriptsPanel's should use similar logic to decide whether it could show an anchor location and actually showing it.
1881         https://bugs.webkit.org/show_bug.cgi?id=70322
1882
1883         Reviewed by Pavel Feldman.
1884
1885         * inspector/front-end/ScriptsPanel.js:
1886         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
1887         (WebInspector.ScriptsPanel.prototype._showSourceLine):
1888
1889 2011-10-18  Eric Carlson  <eric.carlson@apple.com>
1890
1891         Use the new cached cue loader
1892         https://bugs.webkit.org/show_bug.cgi?id=70269
1893
1894         Reviewed by Antti Koivisto.
1895
1896         No new tests, no functionality changed.
1897
1898         * CMakeLists.txt: Remove CueParser.cpp/h and CueParserPrivate.h.
1899         * GNUmakefile.list.am: Ditto.
1900         * WebCore.gypi: Ditto.
1901         * WebCore.xcodeproj/project.pbxproj: Ditto.
1902
1903         * html/HTMLMediaElement.cpp:
1904         (WebCore::HTMLMediaElement::loadTextTracks):
1905         (WebCore::HTMLMediaElement::textTrackReadyStateChanged): New, not implemented yet.
1906         (WebCore::HTMLMediaElement::textTrackModeChanged): Ditto.
1907         (WebCore::HTMLMediaElement::textTrackCreated): Ditto.
1908         (WebCore::HTMLMediaElement::textTrackAddCues): Ditto.
1909         (WebCore::HTMLMediaElement::textTrackRemoveCues): Ditto.
1910         (WebCore::HTMLMediaElement::textTrackAddCue): Ditto.
1911         (WebCore::HTMLMediaElement::textTrackRemoveCue): Ditto.
1912         * html/HTMLMediaElement.h:
1913
1914         * html/HTMLTrackElement.cpp:
1915         (WebCore::HTMLTrackElement::load): Update for interface change
1916         (WebCore::HTMLTrackElement::textTrackLoadingCompleted): New, dispatch 'load' or 'error' event.
1917         * html/HTMLTrackElement.h:
1918
1919         * html/LoadableTextTrack.cpp:
1920         (WebCore::LoadableTextTrack::LoadableTextTrack): Add TextTrackClient and TextTrackLoadingClient
1921             parameters.
1922         (WebCore::LoadableTextTrack::load): Make url parameter KURL instead of String. Create the 
1923             cue loader, trigger the load.
1924         (WebCore::LoadableTextTrack::newCuesAvailable): New callback from the loader. Not implemented yet.
1925         (WebCore::LoadableTextTrack::cueLoadingStarted): Ditto.
1926         (WebCore::LoadableTextTrack::cueLoadingCompleted): Ditto.
1927         * html/LoadableTextTrack.h:
1928
1929         * html/MutableTextTrack.cpp:
1930         (WebCore::MutableTextTrack::MutableTextTrack): Add TextTrackClient parameter.
1931         * html/MutableTextTrack.h:
1932         (WebCore::MutableTextTrack::create):
1933
1934         * html/TextTrack.cpp:
1935         (WebCore::TextTrack::TextTrack): Add TextTrackClient parameter.
1936         (WebCore::TextTrack::~TextTrack): Tell the client to remove all cues, forget the client.
1937         (WebCore::TextTrack::setReadyState): Tell client about ready state change.
1938         (WebCore::TextTrack::setMode): Tell client about mode change.
1939         * html/TextTrack.h:
1940         (WebCore::TextTrackClient::textTrackAddCues): New client interface.
1941         (WebCore::TextTrackClient::textTrackRemoveCues): Ditto.
1942         (WebCore::TextTrackClient::textTrackAddCue): Ditto.
1943         (WebCore::TextTrackClient::textTrackRemoveCue): Ditto.
1944         (WebCore::TextTrack::create):
1945         (WebCore::TextTrack::trackType): New.
1946         (WebCore::TextTrack::client): Ditto.
1947         (WebCore::TextTrack::setClient): Ditto.
1948
1949         * html/track/CueParser.cpp: Removed.
1950         * html/track/CueParser.h: Removed.
1951         * html/track/CueParserPrivate.h: Removed.
1952
1953         * html/track/WebVTTParser.cpp:
1954         (WebCore::WebVTTParser::fileIdentifierMaximumLength): New, return length of WebVTT file
1955             magic number.
1956         (WebCore::WebVTTParser::hasRequiredFileIdentifier): Update to use constants instead of hard
1957             coded lengths.
1958         (WebCore::WebVTTParser::WebVTTParser): Initialize "m_client" in the initilization list
1959             instead of setting it in the constructor.
1960         (WebCore::WebVTTParser::getNewCues): Renamed from fetchParsedCues.
1961         * html/track/WebVTTParser.h:
1962         (WebCore::WebVTTParser::create): Take a WebVTTParserClient* instead of a CueParserPrivateClient*.
1963
1964         * loader/CueLoader.cpp:
1965         (WebCore::CueLoader::CueLoader):
1966         (WebCore::CueLoader::~CueLoader): Remove client.
1967         (WebCore::CueLoader::cueLoadTimerFired): Tell client about new clues and/or that the load
1968             has finished.
1969         (WebCore::CueLoader::processNewCueData): Process newly loaded data.
1970         (WebCore::CueLoader::didReceiveData): Ditto.
1971         (WebCore::CueLoader::notifyFinished): Do final processing as necessary, prime the timer
1972             to call client.
1973         (WebCore::CueLoader::load): Create resource loader, initiate loading.
1974         (WebCore::CueLoader::newCuesParsed): Prime timer to tell client about newly parsed cues.
1975         (WebCore::CueLoader::getNewCues): Get new cues from parser.
1976         * loader/CueLoader.h:
1977         (WebCore::CueLoader::create):
1978
1979 2011-10-18  Adam Barth  <abarth@webkit.org>
1980
1981         Always enable ENABLE(XPATH)
1982         https://bugs.webkit.org/show_bug.cgi?id=70217
1983
1984         Reviewed by Eric Seidel.
1985
1986         As discussed on webkit-dev, we're reducing the complexity of WebKit by
1987         removing unneeded configuration options.  ENABLE(XPATH) is enabled on
1988         every port, so we are removing the ability to disable the feature.
1989
1990         * CMakeLists.txt:
1991         * Configurations/FeatureDefines.xcconfig:
1992         * GNUmakefile.am:
1993         * GNUmakefile.list.am:
1994         * UseJSC.cmake:
1995         * WebCore.pro:
1996         * bindings/js/JSCustomXPathNSResolver.cpp:
1997         * bindings/js/JSCustomXPathNSResolver.h:
1998         * bindings/js/JSDOMBinding.cpp:
1999         (WebCore::setDOMException):
2000         * bindings/js/JSExceptionBase.cpp:
2001         (WebCore::toExceptionBase):
2002         * bindings/js/JSXPathResultCustom.cpp:
2003         * bindings/objc/DOMCustomXPathNSResolver.h:
2004         * bindings/objc/DOMCustomXPathNSResolver.mm:
2005         * bindings/objc/DOMInternal.h:
2006         * bindings/objc/DOMUtility.mm:
2007         (JSC::createDOMWrapper):
2008         * bindings/objc/DOMXPath.mm:
2009         (kit):
2010         * bindings/objc/PublicDOMInterfaces.h:
2011         * bindings/v8/V8DOMWrapper.cpp:
2012         (WebCore::V8DOMWrapper::getXPathNSResolver):
2013         * bindings/v8/V8DOMWrapper.h:
2014         * bindings/v8/V8Proxy.cpp:
2015         (WebCore::V8Proxy::setDOMException):
2016         * bindings/v8/V8Proxy.h:
2017         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
2018         * bindings/v8/custom/V8CustomXPathNSResolver.h:
2019         * bindings/v8/custom/V8DocumentCustom.cpp:
2020         (WebCore::V8Document::evaluateCallback):
2021         * dom/Document.cpp:
2022         * dom/Document.h:
2023         * dom/Document.idl:
2024         * dom/ExceptionCode.cpp:
2025         (WebCore::getExceptionCodeDescription):
2026         * dom/ExceptionCode.h:
2027         * features.pri:
2028         * inspector/InspectorDOMAgent.cpp:
2029         * page/DOMWindow.idl:
2030         * xml/NativeXPathNSResolver.cpp:
2031         * xml/NativeXPathNSResolver.h:
2032         * xml/XPathEvaluator.cpp:
2033         * xml/XPathEvaluator.h:
2034         * xml/XPathEvaluator.idl:
2035         * xml/XPathException.h:
2036         * xml/XPathException.idl:
2037         * xml/XPathExpression.cpp:
2038         * xml/XPathExpression.h:
2039         * xml/XPathExpression.idl:
2040         * xml/XPathExpressionNode.cpp:
2041         * xml/XPathExpressionNode.h:
2042         * xml/XPathFunctions.cpp:
2043         * xml/XPathFunctions.h:
2044         * xml/XPathGrammar.y:
2045         * xml/XPathNSResolver.cpp:
2046         * xml/XPathNSResolver.h:
2047         * xml/XPathNSResolver.idl:
2048         * xml/XPathNodeSet.cpp:
2049         * xml/XPathNodeSet.h:
2050         * xml/XPathParser.cpp:
2051         * xml/XPathParser.h:
2052         * xml/XPathPath.cpp:
2053         * xml/XPathPath.h:
2054         * xml/XPathPredicate.cpp:
2055         * xml/XPathPredicate.h:
2056         * xml/XPathResult.cpp:
2057         * xml/XPathResult.h:
2058         * xml/XPathResult.idl:
2059         * xml/XPathStep.cpp:
2060         * xml/XPathStep.h:
2061         * xml/XPathUtil.cpp:
2062         * xml/XPathUtil.h:
2063         * xml/XPathValue.cpp:
2064         * xml/XPathValue.h:
2065         * xml/XPathVariableReference.cpp:
2066         * xml/XPathVariableReference.h:
2067
2068 2011-10-18  Chris Fleizach  <cfleizach@apple.com>
2069
2070         AX: buttons of number type <input> controls are not fully accessible
2071         https://bugs.webkit.org/show_bug.cgi?id=70241
2072
2073         Staged commit, part 6.
2074
2075         Reviewed by Darin Adler.
2076
2077         Test: platform/mac/accessibility/html5-input-number.html
2078
2079         * accessibility/AccessibilityRenderObject.cpp:
2080         (WebCore::AccessibilityRenderObject::addImageMapChildren):
2081         (WebCore::AccessibilityRenderObject::addTextFieldChildren):
2082         (WebCore::AccessibilityRenderObject::addChildren):
2083         * accessibility/AccessibilityRenderObject.h:
2084
2085 2011-10-18  Nate Chapin  <japhet@chromium.org>
2086
2087         Make DocumentThreadableLoader a CachedResourceClient.
2088         This will allow us to cache ThreadableLoaderClients as
2089         appropriate in a later patch.
2090         https://bugs.webkit.org/show_bug.cgi?id=61225
2091
2092         Reviewed by Antti Koivisto.
2093
2094         No new tests, no functionality change intended.
2095
2096         * WebCore.gypi:
2097         * loader/DocumentThreadableLoader.cpp:
2098         (WebCore::DocumentThreadableLoader::notifyFinished): CachedResourceClients don't send separate callbacks
2099             for didFail() and didFinishLoading(), so we need to differentiate here.
2100         (WebCore::DocumentThreadableLoader::loadRequest): Call CachedResourceLoader::requestRawResource()
2101             instead of ResourceLoadScheduler::scheduleSubresourceLoad().
2102         * loader/DocumentThreadableLoader.h:
2103         * loader/cache/CachedRawResource.cpp:
2104         (WebCore::CachedRawResource::data): Handle the complexity of some ThreadableLoaderClients setting
2105             DoNotBufferData in ResoureLoaderOptions. If the DataBufferingPolicy is BufferData, then the
2106             'data' input parameter will contain all data received so far, and we need to determine the
2107             incremental data to forward to the clients. If the policy is DoNotBufferData, 'data' is just
2108             the incremental data.
2109         * loader/cache/CachedRawResource.h:
2110         * loader/cache/CachedResource.cpp:
2111         * loader/cache/CachedResource.h:
2112         (WebCore::CachedResource::preloadResult):
2113         (WebCore::CachedResource::didSendData):
2114         (WebCore::CachedResource::didDownloadData):
2115         (WebCore::CachedResource::setLoadFinishTime):
2116         (WebCore::CachedResource::loadFinishTime):
2117         * loader/cache/CachedResourceClient.h: Add several new callbacks needed by DocumentThreadableLoader.
2118         * loader/cache/CachedResourceRequest.cpp:
2119         (WebCore::CachedResourceRequest::didReceiveResponse): CachedResource::setResponse() can now cancel
2120             the request, so protect appropriately.
2121         * loader/cache/CachedResourceRequest.h:
2122         * loader/chromium/CachedRawResourceChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
2123         * loader/chromium/CachedResourceRequestChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
2124         * loader/chromium/DocumentThreadableLoaderChromium.cpp:
2125         * platform/network/BlobResourceHandle.cpp:
2126         (WebCore::BlobResourceHandle::notifyResponse): Protect before setting response, since it might kill us.
2127
2128 2011-10-18  Sheriff Bot  <webkit.review.bot@gmail.com>
2129
2130         Unreviewed, rolling out r97752.
2131         http://trac.webkit.org/changeset/97752
2132         https://bugs.webkit.org/show_bug.cgi?id=70332
2133
2134         Caused assertion failures in MediaList::setParentStyleSheet()
2135         on the apple bots. (Requested by kling on #webkit).
2136
2137         * WebCore.xcodeproj/project.pbxproj:
2138         * bindings/js/JSDOMBinding.h:
2139         * css/CSSImportRule.cpp:
2140         (WebCore::CSSImportRule::CSSImportRule):
2141         (WebCore::CSSImportRule::~CSSImportRule):
2142         * css/CSSMediaRule.cpp:
2143         (WebCore::CSSMediaRule::CSSMediaRule):
2144         (WebCore::CSSMediaRule::~CSSMediaRule):
2145         * css/CSSMediaRule.h:
2146         * css/MediaList.cpp:
2147         (WebCore::MediaList::MediaList):
2148         (WebCore::MediaList::notifyChanged):
2149         * css/MediaList.h:
2150         * css/StyleSheet.cpp:
2151         (WebCore::StyleSheet::~StyleSheet):
2152         (WebCore::StyleSheet::setMedia):
2153
2154 2011-10-18  Anna Cavender  <annacc@chromium.org>
2155
2156         Change TextTrack to use the word DISABLED instead of OFF for mode
2157         https://bugs.webkit.org/show_bug.cgi?id=70268
2158
2159         Reviewed by Daniel Bates.
2160
2161         No new tests. No new functionality.
2162
2163         * html/TextTrack.cpp:
2164         (WebCore::TextTrack::setMode): use Disabled instead of Off
2165         * html/TextTrack.h: update Mode enum to use Disabled instead of Off
2166
2167 2011-10-18  Chris Fleizach  <cfleizach@apple.com>
2168
2169         AX: buttons of number type <input> controls are not fully accessible
2170         https://bugs.webkit.org/show_bug.cgi?id=70241
2171
2172         Staged commit, part 5.
2173
2174         Reviewed by Darin Adler.
2175
2176         * accessibility/AXObjectCache.cpp:
2177         (WebCore::AXObjectCache::getOrCreate):
2178         * accessibility/AccessibilityRenderObject.cpp:
2179         (WebCore::AccessibilityRenderObject::boundingBoxRect):
2180
2181 2011-10-18  Antti Koivisto  <antti@apple.com>
2182
2183         Move default stylesheet loading to a separate function
2184         https://bugs.webkit.org/show_bug.cgi?id=70331
2185
2186         Reviewed by Andreas Kling.
2187         
2188         - Move default stylesheet loading out from CSSStyleSelector::styleForElement()
2189         - Rename e -> element
2190         - Remove pointless reffing of the placeholder style.
2191
2192         * css/CSSStyleSelector.cpp:
2193         (WebCore::ensureDefaultStyleSheetsForElement):
2194         (WebCore::isAtShadowBoundary):
2195         (WebCore::CSSStyleSelector::styleForElement):
2196
2197 2011-10-18  Chris Fleizach  <cfleizach@apple.com>
2198
2199         AX: buttons of number type <input> controls are not fully accessible
2200         https://bugs.webkit.org/show_bug.cgi?id=70241
2201
2202         Staged commit part 4.
2203
2204         Reviewed by Darin Adler.
2205
2206         * accessibility/AccessibilityMockObject.h:
2207         (WebCore::AccessibilityMockObject::isMockObject):
2208         (WebCore::AccessibilityMockObject::detachFromParent):
2209         * accessibility/AccessibilityObject.cpp:
2210         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
2211         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2212         (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
2213         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
2214         (-[WebAccessibilityObjectWrapper subrole]):
2215         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
2216
2217 2011-10-18  Chris Fleizach  <cfleizach@apple.com>
2218
2219         AX: buttons of number type <input> controls are not fully accessible
2220         https://bugs.webkit.org/show_bug.cgi?id=70241
2221
2222         Staged commit part 3. Committing the new spin button classes.
2223
2224         Reviewed by Darin Adler.
2225
2226         * CMakeLists.txt:
2227         * GNUmakefile.list.am:
2228         * WebCore.gypi:
2229         * WebCore.pro:
2230         * WebCore.vcproj/WebCore.vcproj:
2231         * WebCore.xcodeproj/project.pbxproj:
2232         * accessibility/AccessibilitySpinButton.cpp: Added.
2233         (WebCore::AccessibilitySpinButton::create):
2234         (WebCore::AccessibilitySpinButton::AccessibilitySpinButton):
2235         (WebCore::AccessibilitySpinButton::~AccessibilitySpinButton):
2236         (WebCore::AccessibilitySpinButton::incrementButton):
2237         (WebCore::AccessibilitySpinButton::decrementButton):
2238         (WebCore::AccessibilitySpinButton::elementRect):
2239         (WebCore::AccessibilitySpinButton::addChildren):
2240         (WebCore::AccessibilitySpinButton::step):
2241         (WebCore::AccessibilitySpinButtonPart::AccessibilitySpinButtonPart):
2242         (WebCore::AccessibilitySpinButtonPart::create):
2243         (WebCore::AccessibilitySpinButtonPart::elementRect):
2244         (WebCore::AccessibilitySpinButtonPart::press):
2245         * accessibility/AccessibilitySpinButton.h: Added.
2246         (WebCore::AccessibilitySpinButton::setSpinButtonElement):
2247         (WebCore::AccessibilitySpinButton::roleValue):
2248         (WebCore::AccessibilitySpinButton::accessibilityIsIgnored):
2249         (WebCore::AccessibilitySpinButton::isSpinButton):
2250         (WebCore::AccessibilitySpinButtonPart::~AccessibilitySpinButtonPart):
2251         (WebCore::AccessibilitySpinButtonPart::isIncrementor):
2252         (WebCore::AccessibilitySpinButtonPart::setIsIncrementor):
2253         (WebCore::AccessibilitySpinButtonPart::roleValue):
2254         (WebCore::AccessibilitySpinButtonPart::isSpinButtonPart):
2255         (WebCore::AccessibilitySpinButtonPart::accessibilityIsIgnored):
2256         (WebCore::toAccessibilitySpinButton):
2257         (WebCore::toAccessibilitySpinButtonPart):
2258
2259 2011-10-18  Chris Fleizach  <cfleizach@apple.com>
2260
2261         AX: buttons of number type <input> controls are not fully accessible
2262         https://bugs.webkit.org/show_bug.cgi?id=70241
2263
2264         Phase 2 of the staged commit.
2265
2266         Reviewed by Darin Adler.
2267
2268         * accessibility/AccessibilityObject.cpp:
2269         (WebCore::AccessibilityObject::boundingBoxForQuads):
2270         * accessibility/AccessibilityObject.h:
2271         (WebCore::AccessibilityObject::isSpinButton):
2272         (WebCore::AccessibilityObject::isSpinButtonPart):
2273         (WebCore::AccessibilityObject::isMockObject):
2274
2275 2011-10-18  Chris Fleizach  <cfleizach@apple.com>
2276
2277         AX: buttons of number type <input> controls are not fully accessible
2278         https://bugs.webkit.org/show_bug.cgi?id=70241
2279
2280         Expose the spin button object to the AX hierarchy. Since there is no distinct
2281         render object that backs this object, a mock object needs to be created for the entire
2282         spin button and the actual increment and decrement buttons inside.
2283
2284         This will be a staged commit since the first time around Windows layout tests started crashing for an undeterminable reason.
2285
2286         Reviewed by Darin Adler.
2287
2288         * html/shadow/TextControlInnerElements.cpp:
2289         (WebCore::SpinButtonElement::step):
2290         (WebCore::SpinButtonElement::repeatingTimerFired):
2291         * html/shadow/TextControlInnerElements.h:
2292
2293 2011-10-18  Andreas Kling  <kling@webkit.org>
2294
2295         MediaList: Remove inheritance from StyleBase.
2296         https://bugs.webkit.org/show_bug.cgi?id=70203
2297
2298         Reviewed by Darin Adler.
2299
2300         * css/MediaList.h:
2301         (WebCore::MediaList::parentStyleSheet):
2302         (WebCore::MediaList::setParentStyleSheet):
2303         * css/MediaList.cpp:
2304         (WebCore::MediaList::MediaList):
2305         (WebCore::MediaList::notifyChanged):
2306
2307             Change MediaList to no longer inherit from StyleBase. The parent()/setParent()
2308             mechanism was replaced by explicit parentStyleSheet()/setParentStyleSheet().
2309
2310         * css/CSSImportRule.cpp:
2311         (WebCore::CSSImportRule::CSSImportRule):
2312         (WebCore::CSSImportRule::~CSSImportRule):
2313         * css/CSSMediaRule.cpp:
2314         (WebCore::CSSMediaRule::CSSMediaRule):
2315         (WebCore::CSSMediaRule::~CSSMediaRule):
2316
2317             Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
2318             CSSRules are never moved between stylesheets, so the parent style sheet pointer
2319             is valid for the MediaList's lifetime.
2320
2321         * css/StyleSheet.cpp:
2322         (WebCore::StyleSheet::~StyleSheet):
2323
2324             Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
2325
2326         (WebCore::StyleSheet::setMedia):
2327
2328             Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
2329             Assert that the parent sheet is either null, or this, as MediaLists should never
2330             be reparented to other sheets.
2331             Assert that the StyleSheet is indeed a CSSStyleSheet.  XSLStyleSheet inherits from
2332             StyleSheet, but it shouldn't be using the MediaList.
2333
2334         * bindings/js/JSDOMBinding.h:
2335         (WebCore::root):
2336
2337             Add MediaList* specific overload for root() since it can't fall back
2338             to root(StyleBase*) anymore.
2339
2340         * WebCore.xcodeproj/project.pbxproj:
2341
2342             Add some PrivateHeaders to accomodate the JSDOMBinding.h changes.
2343
2344         * css/CSSMediaRule.h:
2345
2346             Remove unnecessary forward-declaration of MediaList.
2347
2348 2011-10-18  Andreas Kling  <kling@webkit.org>
2349
2350         XSLStyleSheet only needs to manage XSLImportRule children.
2351         https://bugs.webkit.org/show_bug.cgi?id=70326
2352
2353         Reviewed by Antti Koivisto.
2354
2355         * css/StyleBase.h:
2356         * xml/XSLImportRule.h:
2357         * css/CSSRule.h:
2358         (WebCore::CSSRule::isImportRule):
2359
2360             Move StyleBase::isImportRule() down to CSSRule. Since XSLImportRule no longer
2361             implements it, it's now specific to CSSImportRule.
2362
2363         * xml/XSLStyleSheet.h:
2364
2365             Change m_children to be a vector of XSLImportRules. Also remove length(),
2366             item() and append() since they were only used internally to modify m_children.
2367
2368         * xml/XSLStyleSheetQt.cpp:
2369         (WebCore::XSLStyleSheet::~XSLStyleSheet):
2370         * xml/XSLStyleSheetLibxslt.cpp:
2371         (WebCore::XSLStyleSheet::~XSLStyleSheet):
2372         (WebCore::XSLStyleSheet::isLoading):
2373         (WebCore::XSLStyleSheet::clearDocuments):
2374         (WebCore::XSLStyleSheet::loadChildSheet):
2375         (WebCore::XSLStyleSheet::locateStylesheetSubResource):
2376
2377             Remove now-unnecessary isImportRule() checks and tidy up the code a bit.
2378
2379 2011-10-18  Zan Dobersek  <zandobersek@gmail.com>
2380
2381         [Gtk] Support for client-based geolocation
2382         https://bugs.webkit.org/show_bug.cgi?id=64970
2383
2384         Reviewed by Martin Robinson.
2385
2386         Add feature defines for client-based geolocation when geolocation is enabled,
2387         since this is the providing method that is now used by default. Remove
2388         service-based providing method completely as it is not needed anymore.
2389
2390         * GNUmakefile.am: Add feature defines for client-based geolocation.
2391         * GNUmakefile.list.am: Remove GeolocationServiceGtk.* files from compilation.
2392         * platform/gtk/GeolocationServiceGtk.cpp: Removed.
2393         * platform/gtk/GeolocationServiceGtk.h: Removed.
2394
2395 2011-10-18  Antti Koivisto  <antti@apple.com>
2396
2397         REGRESSION(r97248): :visited as descendant selector broken
2398         https://bugs.webkit.org/show_bug.cgi?id=70122
2399
2400         Reviewed by Nikolas Zimmerman.
2401         
2402         Make ":visited foo" and similar selectors work correctly again. They can affect 
2403         the visited style of an element inside a visited link.
2404
2405         Test: fast/selectors/visited-descendant.html
2406
2407         * css/CSSStyleSelector.cpp:
2408         (WebCore::CSSStyleSelector::applyDeclarations): 
2409         
2410             Apply visited style to children of visited links too.
2411             
2412         * css/SelectorChecker.cpp:
2413         (WebCore::SelectorChecker::checkSelector): 
2414         
2415             Don't disable visited matching until we run into first ancestor link or use combinator other than child/descendant.
2416
2417         (WebCore::SelectorChecker::determineLinkMatchType):
2418         
2419             Look into child/descendant component selectors too to determine the link match type.
2420
2421 2011-10-18  Andreas Kling  <kling@webkit.org>
2422
2423         Move CSSRule specific virtuals from StyleBase down into CSSRule.
2424         https://bugs.webkit.org/show_bug.cgi?id=70240
2425
2426         Reviewed by Darin Adler.
2427
2428         Move all the isFooRule() virtuals except isImportRule() to CSSRule
2429         since they only make sense for its subclasses. isRule() remains in
2430         StyleBase since we still need it for the parent chain traversal.
2431         isImportRule() remains because XSLImportRule implements it.
2432
2433         Also moved insertedIntoParent() and removed its usage in
2434         XSLStyleSheet since it is only reimplemented by CSSImportRule.
2435
2436         * css/CSSRule.h:
2437         (WebCore::CSSRule::isCharsetRule):
2438         (WebCore::CSSRule::isFontFaceRule):
2439         (WebCore::CSSRule::isKeyframeRule):
2440         (WebCore::CSSRule::isKeyframesRule):
2441         (WebCore::CSSRule::isMediaRule):
2442         (WebCore::CSSRule::isPageRule):
2443         (WebCore::CSSRule::isStyleRule):
2444         (WebCore::CSSRule::isRegionStyleRule):
2445         (WebCore::CSSRule::insertedIntoParent):
2446         * css/StyleBase.h:
2447         (WebCore::StyleBase::isImportRule):
2448         (WebCore::StyleBase::isCSSStyleSheet):
2449         * xml/XSLStyleSheet.h:
2450         (WebCore::XSLStyleSheet::append):
2451
2452 2011-10-18  Sachin Puranik  <jcqt43@motorola.com>
2453
2454         Option.value should trim extra internal html spaces
2455         https://bugs.webkit.org/show_bug.cgi?id=69455
2456
2457         Reviewed by Kent Tamura.
2458
2459         Currently option.value does not trim the internal white space as suggested by spec. This patch implements the same.
2460
2461         Test: fast/forms/option-value-trim-html-spaces.html
2462
2463         * dom/OptionElement.cpp: Removed a function as this implementation is moved to the HTMLOptionElement.cpp file.
2464         * html/HTMLOptionElement.cpp:
2465         (WebCore::HTMLOptionElement::value): Implementation of .value function which will now trim the html white spaces.
2466
2467 2011-10-18  Mihnea Ovidenie  <mihnea@adobe.com>
2468
2469         [CSS Regions]Parse @-webkit-region rule
2470         https://bugs.webkit.org/show_bug.cgi?id=70021
2471
2472         Reviewed by David Hyatt.
2473
2474         Test: fast/regions/parsing-region-style-rule.html
2475
2476         * CMakeLists.txt:
2477         * GNUmakefile.list.am:
2478         * WebCore.gypi:
2479         * WebCore.pro:
2480         * WebCore.vcproj/WebCore.vcproj:
2481         * WebCore.xcodeproj/project.pbxproj:
2482         * bindings/objc/DOMCSS.mm:
2483         (kitClass):
2484         * bindings/v8/custom/V8CSSRuleCustom.cpp:
2485         (WebCore::toV8):
2486         * css/CSSGrammar.y:
2487         * css/CSSMediaRule.cpp:
2488         (WebCore::CSSMediaRule::cssText):
2489         * css/CSSParser.cpp:
2490         (WebCore::CSSParser::setReusableRegionSelectorVector):
2491         (WebCore::CSSParser::createRegionStylingRule):
2492         * css/CSSParser.h:
2493         (WebCore::CSSParser::reusableRegionSelectorVector):
2494         * css/CSSRegionStyleRule.cpp: Added.
2495         (WebCore::CSSRegionStyleRule::CSSRegionStyleRule):
2496         (WebCore::CSSRegionStyleRule::~CSSRegionStyleRule):
2497         (WebCore::CSSRegionStyleRule::cssText):
2498         * css/CSSRegionStyleRule.h: Added.
2499         * css/CSSRule.h:
2500         * css/CSSRule.idl:
2501         * css/CSSRuleList.cpp:
2502         (WebCore::CSSRuleList::item):
2503         (WebCore::CSSRuleList::rulesText):
2504         * css/CSSRuleList.h:
2505         * css/CSSSelectorList.cpp:
2506         (WebCore::CSSSelectorList::selectorsText):
2507         * css/CSSSelectorList.h:
2508         * css/CSSStyleSelector.cpp:
2509         (WebCore::CSSStyleSelector::addRegionStyleRule):
2510         (WebCore::RuleSet::addRulesFromSheet):
2511         * css/CSSStyleSelector.h:
2512         * css/StyleBase.h:
2513         (WebCore::StyleBase::isRegionStyleRule):
2514         * css/tokenizer.flex:
2515
2516 2011-10-11  Pavel Podivilov  <podivilov@chromium.org>
2517
2518         Web Inspector: support displaying multiple sources per single script in ScriptsPanel.
2519         https://bugs.webkit.org/show_bug.cgi?id=69847
2520
2521         Reviewed by Pavel Feldman.
2522
2523         * inspector/front-end/ScriptsPanel.js:
2524         (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
2525         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
2526
2527 2011-10-18  Nikolas Zimmermann  <nzimmermann@rim.com>
2528
2529         Prepare SVGImage intrinsic size negotiation: Add intrinsic size & ratio calculation functionality to Image
2530         https://bugs.webkit.org/show_bug.cgi?id=70314
2531
2532         Reviewed by Antti Koivisto.
2533
2534         Add a "void computeIntrinsicDimension(Length& intrinsicWidth, Lengt& intrinsicHeight, FloatSize& intrinsicRatio)" helper method
2535         to Image/GeneratedImage/SVGImage and make it accessible through StyleImage.
2536
2537         For a regular Image the intrinsicWidth/Height contains just a Length(size().width(), Fixed). In contrary SVGImages pass on the
2538         style()->width()/height() values from the render style of the RenderSVGRoot renderer. These information are needed to implement
2539         the size negotiation between embedded SVG images and the embedder.
2540
2541         No new tests, as this new functionality is not yet used.
2542
2543         * loader/cache/CachedImage.cpp:
2544         (WebCore::CachedImage::computeIntrinsicDimensions):
2545         * loader/cache/CachedImage.h:
2546         * platform/graphics/GeneratedImage.cpp:
2547         (WebCore::GeneratedImage::computeIntrinsicDimensions):
2548         * platform/graphics/GeneratedImage.h:
2549         * platform/graphics/Image.cpp:
2550         (WebCore::Image::computeIntrinsicDimensions):
2551         * platform/graphics/Image.h:
2552         * platform/graphics/cg/PDFDocumentImage.cpp:
2553         (WebCore::PDFDocumentImage::computeIntrinsicDimensions):
2554         * platform/graphics/cg/PDFDocumentImage.h:
2555         * rendering/style/StyleCachedImage.cpp:
2556         (WebCore::StyleCachedImage::computeIntrinsicDimensions):
2557         * rendering/style/StyleCachedImage.h:
2558         * rendering/style/StyleGeneratedImage.cpp:
2559         (WebCore::StyleGeneratedImage::computeIntrinsicDimensions):
2560         * rendering/style/StyleGeneratedImage.h:
2561         * rendering/style/StyleImage.h:
2562         * rendering/style/StylePendingImage.h:
2563         (WebCore::StylePendingImage::computeIntrinsicDimensions):
2564         * svg/graphics/SVGImage.cpp:
2565         (WebCore::SVGImage::computeIntrinsicDimensions):
2566         * svg/graphics/SVGImage.h:
2567
2568 2011-10-17  Alexander Pavlov  <apavlov@chromium.org>
2569
2570         Web Inspector: [Chromium] Different dimensions are reported for elements onscreen and in the Metrics pane
2571         https://bugs.webkit.org/show_bug.cgi?id=70242
2572
2573         Reviewed by Pavel Feldman.
2574
2575         * inspector/DOMNodeHighlighter.cpp:
2576
2577 2011-10-18  Kentaro Hara  <haraken@chromium.org>
2578
2579         Unreviewed, rolling out r97697.
2580         http://trac.webkit.org/changeset/97697
2581         https://bugs.webkit.org/show_bug.cgi?id=68978
2582
2583         some tests are broken
2584
2585         * bindings/js/JSMessageEventCustom.cpp:
2586         (WebCore::JSMessageEvent::data):
2587         * bindings/v8/custom/V8MessageEventCustom.cpp:
2588         (WebCore::V8MessageEvent::dataAccessorGetter):
2589         (WebCore::V8MessageEvent::portsAccessorGetter):
2590         (WebCore::V8MessageEvent::initMessageEventCallback):
2591         * dom/MessageEvent.cpp:
2592         (WebCore::MessageEventInit::MessageEventInit):
2593         (WebCore::MessageEvent::MessageEvent):
2594         (WebCore::MessageEvent::isMessageEvent):
2595         * dom/MessageEvent.h:
2596         (WebCore::MessageEvent::create):
2597         (WebCore::MessageEvent::dataAsSerializedScriptValue):
2598         (WebCore::MessageEvent::dataAsString):
2599         (WebCore::MessageEvent::dataAsBlob):
2600         (WebCore::MessageEvent::dataAsArrayBuffer):
2601         * dom/MessageEvent.idl:
2602
2603 2011-10-17  Antti Koivisto  <antti@apple.com>
2604
2605         r97638 caused 3 printing crashes
2606         https://bugs.webkit.org/show_bug.cgi?id=70284
2607
2608         Reviewed by Kent Tamura.
2609
2610         Null check element.
2611
2612         * css/CSSStyleSelector.cpp:
2613         (WebCore::CSSStyleSelector::applyDeclarations):
2614
2615 2011-10-17  Sheriff Bot  <webkit.review.bot@gmail.com>
2616
2617         Unreviewed, rolling out r97669.
2618         http://trac.webkit.org/changeset/97669
2619         https://bugs.webkit.org/show_bug.cgi?id=70305
2620
2621         Broke accessibility tests on Windows (Requested by rniwa on
2622         #webkit).
2623
2624         * CMakeLists.txt:
2625         * GNUmakefile.list.am:
2626         * WebCore.gypi:
2627         * WebCore.pro:
2628         * WebCore.vcproj/WebCore.vcproj:
2629         * WebCore.xcodeproj/project.pbxproj:
2630         * accessibility/AXObjectCache.cpp:
2631         (WebCore::AXObjectCache::getOrCreate):
2632         * accessibility/AccessibilityMockObject.h:
2633         * accessibility/AccessibilityObject.cpp:
2634         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
2635         * accessibility/AccessibilityObject.h:
2636         * accessibility/AccessibilityRenderObject.cpp:
2637         (WebCore::AccessibilityRenderObject::boundingBoxRect):
2638         (WebCore::AccessibilityRenderObject::clearChildren):
2639         (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
2640         (WebCore::AccessibilityRenderObject::addChildren):
2641         * accessibility/AccessibilityRenderObject.h:
2642         * accessibility/AccessibilitySpinButton.cpp: Removed.
2643         * accessibility/AccessibilitySpinButton.h: Removed.
2644         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2645         (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
2646         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
2647         (-[WebAccessibilityObjectWrapper subrole]):
2648         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
2649         * html/shadow/TextControlInnerElements.cpp:
2650         (WebCore::SpinButtonElement::repeatingTimerFired):
2651         * html/shadow/TextControlInnerElements.h:
2652
2653 2011-10-17  Kent Tamura  <tkent@chromium.org>
2654
2655         Remove OptionGroupElement
2656         https://bugs.webkit.org/show_bug.cgi?id=70220
2657
2658         Reviewed by Darin Adler.
2659
2660         No new tests, just a refactoring.
2661
2662         * CMakeLists.txt: Remove OptionGroupElement.cpp and/or OptionGroupElement.h.
2663         * GNUMakefile.am.list: ditto.
2664         * WebCore.gypi: ditto.
2665         * WebCore.pro: ditto.
2666         * WebCore.vcproj/WebCore.vcproj: ditto.
2667         * WebCore.xcodeproj/project.pbxproj: ditto.
2668         * dom/DOMAllInOne.cpp: ditto.
2669         * dom/OptionElement.cpp:
2670         (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
2671         Use hasTagName(optgroupTag) and static_cast<> instead of toOptionGroupElement().
2672         * dom/OptionGroupElement.cpp: Removed.
2673         * dom/OptionGroupElement.h: Removed.
2674         * html/HTMLOptGroupElement.cpp:
2675         (WebCore::isHTMLOptGroupElement): Added.
2676         * html/HTMLOptGroupElement.h:
2677          - Don't inherit OptionGroupElement.
2678          - Make groupLabelText() non-virtual.
2679         * html/HTMLSelectElement.cpp:
2680         (WebCore::HTMLSelectElement::recalcListItems):
2681         Use Use hasTagName(optgroupTag) instead of isOptionGroupElement().
2682         * rendering/RenderListBox.cpp:
2683         (WebCore::RenderListBox::updateFromElement):
2684         Use hasTagName(optgroupTag) and static_cast<> instead of toOptionGroupElement().
2685         (WebCore::RenderListBox::paintItemForeground):
2686         Use hasTagName(optgroupTag) instead of isOptionGroupElement().
2687         * rendering/RenderMenuList.cpp:
2688         (WebCore::RenderMenuList::itemText):
2689         Use hasTagName(optgroupTag) and static_cast<> instead of toOptionGroupElement().
2690         (WebCore::RenderMenuList::itemIsEnabled):
2691         Use Use hasTagName(optgroupTag) instead of isOptionGroupElement().
2692         (WebCore::RenderMenuList::itemIsLabel): ditto.
2693
2694 2011-10-17  Huang Dongsung  <luxtella@company100.net>
2695
2696         [TexMap][QT] TexMapGL renders a strange one-pixel border of BitmapTexture.
2697         https://bugs.webkit.org/show_bug.cgi?id=70293
2698
2699         TextureMapperGL renders the strange border in
2700         http://www.webkit.org/blog-files/leaves/index.html
2701         Bug occurs because BitmapTexture is larger than the content due to rounding to
2702         NPOT, and its pixel data is never initialized.
2703
2704         Reviewed by Noam Rosenthal.
2705
2706         * platform/graphics/opengl/TextureMapperGL.cpp:
2707         (WebCore::texImage2DResourceSafe):
2708         (WebCore::BitmapTextureGL::reset):
2709
2710 2011-10-17  Jochen Eisinger  <jochen@chromium.org>
2711
2712         Make NavigationAction wrap a ResourceRequest instead of a KURL.
2713         https://bugs.webkit.org/show_bug.cgi?id=68803
2714
2715         With this, FrameLoaderClient::dispatchCreatePage knows about the
2716         request that will be used for the initial navigaion of the to be
2717         created page.
2718
2719         Reviewed by Nate Chapin.
2720
2721         Test: platform/chromium/fast/loader/create-view-target-blank.html
2722
2723         * loader/FrameLoader.cpp:
2724         (WebCore::FrameLoader::loadURL):
2725         (WebCore::FrameLoader::load):
2726         (WebCore::FrameLoader::loadWithDocumentLoader):
2727         (WebCore::FrameLoader::reload):
2728         (WebCore::FrameLoader::loadPostRequest):
2729         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
2730         (WebCore::FrameLoader::loadDifferentDocumentItem):
2731         (WebCore::createWindow):
2732         * loader/NavigationAction.cpp:
2733         (WebCore::NavigationAction::NavigationAction):
2734         * loader/NavigationAction.h:
2735         (WebCore::NavigationAction::isEmpty):
2736         (WebCore::NavigationAction::url):
2737         (WebCore::NavigationAction::resourceRequest):
2738         * loader/PolicyChecker.cpp:
2739         (WebCore::PolicyChecker::checkNavigationPolicy):
2740         * page/ContextMenuController.cpp:
2741         (WebCore::openNewWindow):
2742         * WebCore.exp: updated
2743
2744 2011-10-17  Tom Sepez  <tsepez@chromium.org>
2745
2746         XSSAuditor bypass with remote script ending in ? character
2747         https://bugs.webkit.org/show_bug.cgi?id=70255
2748
2749         Reviewed by Daniel Bates.
2750
2751         Fix XSSAuditor bypass where unterminated src="" attribute could pick up
2752         text from page causing failed XSS detection.  Constrain match to domain
2753         portions of src attribute only.
2754
2755         Test: http/tests/security/xssAuditor/script-tag-with-source-unterminated.html
2756
2757         * html/parser/XSSAuditor.cpp:
2758         (WebCore::XSSAuditor::filterScriptToken):
2759         (WebCore::XSSAuditor::filterObjectToken):
2760         (WebCore::XSSAuditor::filterParamToken):
2761         (WebCore::XSSAuditor::filterEmbedToken):
2762         (WebCore::XSSAuditor::filterAppletToken):
2763         (WebCore::XSSAuditor::filterIframeToken):
2764         (WebCore::XSSAuditor::eraseAttributeIfInjected):
2765         (WebCore::XSSAuditor::decodedSnippetForAttribute):
2766         * html/parser/XSSAuditor.h:
2767
2768 2011-10-17  Adam Klein  <adamk@chromium.org>
2769
2770         Parse MutationObserverOptions directly into a bitfield
2771         https://bugs.webkit.org/show_bug.cgi?id=70287
2772
2773         Reviewed by Ryosuke Niwa.
2774
2775         Replaces the MutationObserverOptions class with a typedef,
2776         used to pass a bitfield composed of enums defined in
2777         WebKitMutationObserver.h.
2778
2779         No new tests because no behavior should change.
2780
2781         * GNUmakefile.list.am:
2782         * WebCore.gypi:
2783         * WebCore.pro:
2784         * WebCore.xcodeproj/project.pbxproj:
2785         * bindings/js/JSDictionary.h: Removed now-unused method.
2786         * bindings/js/JSWebKitMutationObserverCustom.cpp:
2787         (WebCore::JSWebKitMutationObserver::observe):
2788         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
2789         (WebCore::V8WebKitMutationObserver::observeCallback):
2790         * dom/MutationObserverOptions.h: Removed.
2791         * dom/Node.cpp:
2792         (WebCore::Node::registerMutationObserver):
2793         * dom/Node.h:
2794         * dom/NodeRareData.h:
2795         (WebCore::MutationObserverEntry::MutationObserverEntry):
2796         (WebCore::MutationObserverEntry::matches):
2797         * dom/WebKitMutationObserver.cpp:
2798         (WebCore::WebKitMutationObserver::observe):
2799         * dom/WebKitMutationObserver.h:
2800
2801 2011-10-17  Luke Macpherson   <macpherson@chromium.org>
2802
2803         Add compile-time asserts for RenderStyle::(Non)InheritedFlags size.
2804         https://bugs.webkit.org/show_bug.cgi?id=69803
2805
2806         Reviewed by Darin Adler.
2807
2808         No new tests.
2809
2810         Adds COMPILE_ASSERTs for the size of RenderStyle::InheritedFlags and
2811         RenderStyle::NonInheritedFlags to ensure that they are not accidentally
2812         grown in future changes.
2813         Change types of unsigned bitfields to unsigned char to ensure that the
2814         above assertions remain true when building on windows.
2815
2816         * rendering/style/RenderStyle.cpp:
2817         (WebCore::RenderStyle):
2818         Adds assertions to ensure struct sizes do not change.
2819         * rendering/style/RenderStyle.h:
2820         Changes unsigned to unsigned char as outlined above.
2821
2822 2011-10-17  Ojan Vafai  <ojan@chromium.org>
2823
2824         Unreviewed, rolling out r97662.
2825         http://trac.webkit.org/changeset/97662
2826         https://bugs.webkit.org/show_bug.cgi?id=68497
2827
2828         Was not the cause of the test failures.
2829
2830         * rendering/RenderBox.cpp:
2831         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
2832
2833 2011-10-17  Ryosuke Niwa  <rniwa@webkit.org>
2834
2835         Rename deregister* to unregister*
2836         https://bugs.webkit.org/show_bug.cgi?id=70272
2837
2838         Reviewed by Darin Adler.
2839
2840         Renamed deregisterHandler to unregisterHandler.
2841
2842         * inspector/front-end/ExtensionAPI.js:
2843         (injectedExtensionAPI.ExtensionServerClient.prototype.unregisterHandler):
2844         * inspector/front-end/ExtensionServer.js:
2845         (WebInspector.ExtensionServer.prototype._onSetOpenResourceHandler):
2846         * inspector/front-end/HandlerRegistry.js:
2847         (get WebInspector.HandlerRegistry.prototype.unregisterHandler):
2848
2849 2011-10-17  Huang Dongsung  <luxtella@company100.net>
2850
2851         [TexMap][QT] The BGRA32PremultimpliedBuffer should not inherit the RefCounted class.
2852         https://bugs.webkit.org/show_bug.cgi?id=70098
2853
2854         The BitmapTexture has a BGRA32PremultimpliedBuffer object using OwnPtr, not RefPtr.
2855         It causes following assertion fail, RefCountedBase::m_deletionHasBegun.
2856         It is better that the BGRA32PremultimpliedBuffer does not inherit the RefCounted
2857         because the BitmapTexture only has and uses a BGRA32PremultimpliedBuffer object.
2858
2859         Reviewed by Noam Rosenthal.
2860
2861         * platform/graphics/opengl/TextureMapperGL.h:
2862
2863 2011-10-17  Vsevolod Vlasov  <vsevik@chromium.org>
2864
2865         Web Inspector: Search in resource crashes when there is no resource with given url.
2866         https://bugs.webkit.org/show_bug.cgi?id=69767
2867
2868         Reviewed by Pavel Feldman.
2869
2870         Test: http/tests/inspector/search/search-in-non-existing-resource.html
2871
2872         * inspector/InspectorPageAgent.cpp:
2873         (WebCore::InspectorPageAgent::searchInResource):
2874
2875 2011-10-17  Mihnea Ovidenie  <mihnea@adobe.com>
2876
2877         [CSS Regions]Change content:-webkit-from-flow to -webkit-flow-from
2878         https://bugs.webkit.org/show_bug.cgi?id=70104
2879
2880         Reviewed by David Hyatt.
2881
2882         1. -webkit-flow-from is now a property instead of being an addition to content property.
2883         2. -webkit-flow-from takes an identifier instead of string.
2884
2885         * css/CSSComputedStyleDeclaration.cpp:
2886         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2887         * css/CSSParser.cpp:
2888         (WebCore::CSSParser::parseValue):
2889         (WebCore::CSSParser::parseContent):
2890         (WebCore::CSSParser::parseRegionThread):
2891         * css/CSSParser.h:
2892         * css/CSSPrimitiveValue.cpp:
2893         (WebCore::isValidCSSUnitTypeForDoubleConversion):
2894         (WebCore::CSSPrimitiveValue::cleanup):
2895         (WebCore::CSSPrimitiveValue::getStringValue):
2896         (WebCore::CSSPrimitiveValue::cssText):
2897         * css/CSSPrimitiveValue.h:
2898         * css/CSSPropertyNames.in:
2899         * css/CSSStyleSelector.cpp:
2900         (WebCore::CSSStyleSelector::applyProperty):
2901
2902 2011-10-17  Kentaro Hara  <haraken@chromium.org>
2903
2904         MessageEvent.data can be stored as ScriptValue.
2905         https://bugs.webkit.org/show_bug.cgi?id=68978
2906
2907         Reviewed by Hajime Morita.
2908
2909         Currently, the following test cases fail or crash:
2910
2911         - shouldBe("new MessageEvent('eventType', { data: test_object }).data", "test_object") -> FAIL
2912         - new MessageEvent('eventType', { data: document }).data -> CRASH
2913
2914         This is because MessageEvent.data is implemented just as SerializedScriptValue
2915         and it cannot keep ScriptValue passed by JavaScript. This patch makes the following changes:
2916
2917         - If MessageEvent is constructed with ScriptValue, it is stored as ScriptValue internally.
2918         When MessageEvent.data is called, the ScriptValue is returned.
2919         - If MessageEvent is constructed with SerializedScriptValue, it is stored as
2920         SerializedScriptValue internally (since we cannot deserialize it into ScriptValue
2921         at this point because of lack of ExecState). When MessageEvent.data is called,
2922         the SerializedScriptValue is deserialized into the corresponding ScriptValue,
2923         and the ScriptValue is returned.
2924
2925         This patch does not make a fix for ObjC bindings code, since we need to first fix
2926         the bug 28774, as commented in dom/MessageEvent.h and dom/MessageEvent.cpp.
2927
2928         Test: fast/events/constructors/message-event-constructor.html
2929
2930         * bindings/js/JSMessageEventCustom.cpp:
2931         (WebCore::JSMessageEvent::data): Custom getter for MessageEvent.data. Supported ScriptValue.
2932         (WebCore::JSMessageEvent::initMessageEvent): Changed SerializedScriptValue to ScriptValue.
2933         * bindings/v8/custom/V8MessageEventCustom.cpp:
2934         (WebCore::V8MessageEvent::dataAccessorGetter): Custom getter for MessageEvent.data. Supported ScriptValue.
2935         (WebCore::V8MessageEvent::portsAccessorGetter): Removed extra spaces.
2936         (WebCore::V8MessageEvent::initMessageEventCallback): Changed SerializedScriptValue to ScriptValue.
2937         * dom/MessageEvent.cpp:
2938         (WebCore::MessageEvent::MessageEvent): Supported ScriptValue.
2939         (WebCore::MessageEvent::initMessageEvent): Supported ScriptValue.
2940         (WebCore::MessageEvent::isMessageEvent): Removed extra spaces.
2941         * dom/MessageEvent.h: Added DataType::DataTypeScriptValue.
2942         (WebCore::MessageEvent::create): Supported ScriptValue.
2943         (WebCore::MessageEvent::dataAsScriptValue): Getter for data. Insert ASSERT() to guarantee that this accessor is not called for unintended type of data.
2944         (WebCore::MessageEvent::dataAsSerializedScriptValue): Ditto.
2945         (WebCore::MessageEvent::dataAsString): Ditto.
2946         (WebCore::MessageEvent::dataAsBlob): Ditto.
2947         (WebCore::MessageEvent::dataAsArrayBuffer): Ditto.
2948         * dom/MessageEvent.idl: Changed SerializedScriptValue to DOMObject (i.e. ScriptValue). This patch does not touch an ObjC part.
2949
2950 2011-10-17  Shinya Kawanaka  <shinyak@google.com>
2951
2952         Unified spell-checking and legacy spell checking should be easy to switch
2953         https://bugs.webkit.org/show_bug.cgi?id=69242
2954
2955         Reviewed by Hajime Morita.
2956
2957         WebCore has two different code paths for spell-checking:
2958                   1) checkTextOfParagraph() for Snow Leopard or later
2959                   2) checkSpellingOfString() for checkGrammarOfString() for other platforms.
2960
2961         This patch introduces a flag to change code paths dynamically.
2962         This patch also includes build fix for QT, GTK, and Windows platforms.
2963
2964         No new tests because this patch does not change a behavior.
2965
2966         * CMakeLists.txt:
2967         * GNUmakefile.list.am:
2968         * WebCore.pro:
2969         * WebCore.vcproj/WebCore.vcproj:
2970         * accessibility/AccessibilityObject.cpp:
2971         (WebCore::AccessibilityObject::hasMisspelling):
2972           Changed static if-USE(UNIFIED_TEXT_CHECKING) statement to dynamic
2973           condition branch to achieve easy code path change.
2974         * accessibility/mac/WebAccessibilityObjectWrapper.mm: ditto.
2975         (AXAttributeStringSetSpelling):
2976         * editing/EditingAllInOne.cpp:
2977         * editing/Editor.cpp:
2978         (WebCore::Editor::advanceToNextMisspelling): ditto.
2979         (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection): ditto.
2980         (WebCore::Editor::markMisspellingsAfterTypingToWord): ditto.
2981         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): ditto.
2982         (WebCore::Editor::changeBackToReplacedString): ditto.
2983         (WebCore::Editor::markMisspellingsAndBadGrammar): ditto.
2984         (WebCore::Editor::unifiedTextCheckerEnabled):
2985           Utility method to check using unified text checking or not.
2986         * editing/Editor.h:
2987         * editing/TextCheckingHelper.cpp:
2988         (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
2989           Same as WebCore::AccessibilityObject::hasMisspelling.
2990         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): ditto.
2991         (WebCore::TextCheckingHelper::unifiedTextCheckerEnabled):
2992           Utility method to check using unified text checking or not.
2993         (WebCore::unifiedTextCheckerEnabled): ditto.
2994         * editing/TextCheckingHelper.h:
2995         * page/Settings.cpp:
2996         (WebCore::Settings::Settings):
2997           Includes a flag to change the code path.
2998         * page/Settings.h:
2999         (WebCore::Settings::setUnifiedTextCheckerEnabled):
3000           Sets a flag to change the code path.
3001         (WebCore::Settings::unifiedTextCheckerEnabled):
3002           A flag to change the code path.
3003
3004 2011-10-17  Julien Chaffraix  <jchaffraix@webkit.org>
3005
3006         Unreviewed build fix after 97691.
3007
3008         * html/HTMLTableCellElement.h:
3009         (WebCore::toHTMLTableCellElement): Avoid declaring the same function twice.
3010
3011 2011-10-12  Ojan Vafai  <ojan@chromium.org>
3012
3013         Unreviewed, rolling out r97661.
3014         http://trac.webkit.org/changeset/97661
3015
3016         Confirmed this patch was not the cause of the test failures.
3017
3018         display:inline-block elements don't correctly handle orthogonal writing-modes 
3019         https://bugs.webkit.org/show_bug.cgi?id=69957 
3020         
3021         Reading min/maxPreferredLogicalWidth from a child uses the child's writing-mode. 
3022         Instead, we need to grab the result based on the parent's writing-mode. 
3023         In the case of orthogonal writing-modes, we need the child's logical height. 
3024     
3025         Tests: fast/writing-mode/borders-expected.html 
3026                fast/writing-mode/borders.html 
3027         
3028         * rendering/RenderBlock.cpp: 
3029         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths): 
3030
3031 2011-10-17  James Robinson  <jamesr@chromium.org>
3032
3033         Unreviewed, rolling out r97690.
3034         http://trac.webkit.org/changeset/97690
3035         https://bugs.webkit.org/show_bug.cgi?id=70161
3036
3037         Hits assertion in CCLayerTreeHostTests
3038
3039         * WebCore.gypi:
3040         * platform/graphics/chromium/cc/CCMainThread.h:
3041         * platform/graphics/chromium/cc/CCMainThreadTask.h:
3042         (WebCore::createMainThreadTask):
3043         * platform/graphics/chromium/cc/CCScopedMainThreadProxy.h: Removed.
3044         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3045         (WebCore::CCThreadProxySchedulerClient::scheduleBeginFrameAndCommit):
3046         (WebCore::CCThreadProxy::CCThreadProxy):
3047         (WebCore::CCThreadProxy::stop):
3048         * platform/graphics/chromium/cc/CCThreadProxy.h:
3049
3050 2011-10-17  Julien Chaffraix  <jchaffraix@webkit.org>
3051
3052         Remove colSpan / rowSpan caching from RenderTableCell
3053         https://bugs.webkit.org/show_bug.cgi?id=69569
3054
3055         Reviewed by Darin Adler.
3056
3057         Memory optimization, no change in behavior expected.
3058
3059         This change removes m_colSpan & m_rowSpan from RenderTableCell (inspired by
3060         kling's memory shaving effort).
3061
3062         This makes us save 8 bytes per RenderTableCell on my machine (x86-64). No slowdown
3063         on PageCycler Alexa-US.
3064
3065         This change refactored the way we handle updates from the DOM side to simplify
3066         the code using the following: colspan / rowspan updates always go through
3067         parseMappedAttribute where we already check for the renderer type. Thus removed the
3068         generic updateFromElement and replaced it with colSpanOrRowSpanChanged. This removes
3069         a virtual dispatch.
3070
3071         As there is no way to know if an attribute has changed in the parseMappedAttribute code,
3072         we now unconditionally call colSpanOrRowSpanChanged. Looking at Chromium's page data,
3073         colSpan and rowSpan are never changed outside the HTML markup thus such a change should
3074         have a limited impact.
3075
3076         * html/HTMLTableCellElement.cpp:
3077         (WebCore::HTMLTableCellElement::parseMappedAttribute): Updated after updateFromElement
3078         removal.
3079
3080         * html/HTMLTableCellElement.h:
3081         (WebCore::toHTMLTableCellElement): Added the usual conversion functions.
3082
3083         * rendering/RenderTableCell.cpp:
3084         (WebCore::RenderTableCell::RenderTableCell): Added a boolean to know if we have
3085         the right type of associated DOM node to avoid the cost of checking that every
3086         time.
3087
3088         (WebCore::RenderTableCell::colSpan):
3089         (WebCore::RenderTableCell::rowSpan):
3090         Forwarded the calls to our object if we have the right type (normal case).
3091
3092         (WebCore::RenderTableCell::colSpanOrRowSpanChanged): Handles the
3093         updateFromElement calls but in a more streamlined way.
3094
3095         * rendering/RenderTableCell.h:
3096
3097 2011-10-17  James Robinson  <jamesr@chromium.org>
3098
3099         [chromium] Fix shutdown race when posting main thread task to CCThreadProxy and enable tests
3100         https://bugs.webkit.org/show_bug.cgi?id=70161
3101
3102         Reviewed by David Levin.
3103
3104         Adds a weak pointer mechanism to cancel main thread tasks posted to CCThreadProxy instances from the compositor
3105         thread. Previously there was a race condition where main thread tasks could run even after the CCThreadProxy was
3106         destroyed.
3107
3108         This race does not exist in the other direction because when tearing down a CCThreadProxy we first post a quit
3109         task to the compositor thread and then suspend execution of the main thread until all compositor tasks for the
3110         CCThreadProxy have been drained.
3111
3112         Covered by the now-enabled CCLayerTreeHostTest* unit tests.
3113
3114         * WebCore.gypi:
3115         * platform/graphics/chromium/cc/CCScopedMainThreadProxy.h: Added.
3116         (WebCore::CCScopedMainThreadProxy::create):
3117         (WebCore::CCScopedMainThreadProxy::postTask):
3118         (WebCore::CCScopedMainThreadProxy::shutdown):
3119         (WebCore::CCScopedMainThreadProxy::CCScopedMainThreadProxy):
3120         (WebCore::CCScopedMainThreadProxy::runTaskIfNotShutdown):
3121         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3122         (WebCore::CCThreadProxy::CCThreadProxy):
3123         (WebCore::CCThreadProxy::~CCThreadProxy):
3124         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
3125         * platform/graphics/chromium/cc/CCThreadProxy.h:
3126
3127 2011-10-17  Sheriff Bot  <webkit.review.bot@gmail.com>
3128
3129         Unreviewed, rolling out r97641.
3130         http://trac.webkit.org/changeset/97641
3131         https://bugs.webkit.org/show_bug.cgi?id=70288
3132
3133         "This change may have broken mouse/hit-test coordinate tests."
3134         (Requested by jeffm7 on #webkit).
3135
3136         * platform/Widget.cpp:
3137         (WebCore::Widget::convertFromContainingWindow):
3138         (WebCore::Widget::convertToContainingWindow):
3139
3140 2011-10-17  Andreas Kling  <kling@webkit.org>
3141
3142         CSSParser: Remove unused variable 'propertyComponents'
3143         https://bugs.webkit.org/show_bug.cgi?id=70230
3144
3145         Reviewed by Darin Adler.
3146
3147         (WebCore::CSSParser::markPropertyEnd):
3148
3149 2011-10-17  Shawn Singh  <shawnsingh@chromium.org>
3150
3151         [chromium] Update comments about transform hierarchy in CCLayerTreeHostCommon
3152         https://bugs.webkit.org/show_bug.cgi?id=69765
3153
3154         Reviewed by James Robinson.
3155
3156         Only comments changed, no tests needed.
3157
3158         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3159         (WebCore::calculateDrawTransformsAndVisibilityInternal):
3160
3161 2011-10-17  Dan Bernstein  <mitz@apple.com>
3162
3163         Remove unnecessary calls to columnRectAt()
3164         https://bugs.webkit.org/show_bug.cgi?id=70283
3165
3166         Reviewed by Darin Adler.
3167
3168         These call sites only needed one of the column dimensions, which are independent of the column
3169         index, and can be retrieved directly from the ColumnInfo.
3170
3171         * rendering/RenderBlock.cpp:
3172         (WebCore::RenderBlock::paintColumnRules):
3173         (WebCore::RenderBlock::hitTestColumns):
3174
3175 2011-10-17  Andreas Kling  <kling@webkit.org>
3176
3177         Protect against incorrect Element::fast*Attribute() usage.
3178         https://bugs.webkit.org/show_bug.cgi?id=67612
3179
3180         Reviewed by Darin Adler.
3181
3182         Add debug-only checks in Element's fastHasAttribute() and fastGetAttribute() to verify
3183         that we aren't looking up the "style" attribute or any of the SVG animatable attributes.
3184
3185         No new tests, erroneous behavior is covered by assertions.
3186
3187         * WebCore.exp.in: Export Element::fastAttributeLookupAllowed() for debug builds
3188         since it's used by the inline fast*Attribute() calls.
3189         * css/CSSStyleSelector.cpp:
3190         (WebCore::CSSStyleSelector::canShareStyleWithElement): Use getAttribute() for class.
3191         * css/SelectorChecker.cpp:
3192         (WebCore::linkAttribute): Use getAttribute() for xlink:href.
3193         * dom/Element.cpp:
3194         (WebCore::Element::getAttribute): Manually inline fastGetAttribute() in ideal case.
3195         (WebCore::Element::fastAttributeLookupAllowed): Checks if an attribute can be used
3196         with the fast lookup functions.
3197         * dom/Element.h:
3198         (WebCore::Element::fastHasAttribute): Add assertion.
3199         (WebCore::Element::fastGetAttribute): Ditto.
3200         * editing/ApplyStyleCommand.cpp:
3201         (WebCore::hasNoAttributeOrOnlyStyleAttribute): Use getAttribute() for class.
3202         * editing/ReplaceSelectionCommand.cpp:
3203         (WebCore::isInlineNodeWithStyle): Ditto.
3204         * html/ClassList.cpp:
3205         (WebCore::ClassList::ClassList): Ditto.
3206         (WebCore::ClassList::addInternal): Ditto.
3207         (WebCore::ClassList::removeInternal): Ditto.
3208         (WebCore::ClassList::toString): Ditto.
3209         * svg/SVGAltGlyphElement.cpp:
3210         (WebCore::SVGAltGlyphElement::hasValidGlyphElements): Use getAttribute() for xlink:href.
3211         * svg/SVGAnimateMotionElement.cpp:
3212         (WebCore::SVGAnimateMotionElement::rotateMode): Use getAttribute() for rotate.
3213         * svg/SVGAnimationElement.cpp:
3214         (WebCore::SVGAnimationElement::animationMode): Use getAttribute() for values.
3215         * svg/SVGElement.cpp:
3216         (WebCore::SVGElement::isAnimatableAttribute): Added, returns true if the given
3217         QualifiedName represents an animatable attribute.
3218         * svg/SVGElement.h:
3219         * svg/SVGFontFaceUriElement.cpp:
3220         (WebCore::SVGFontFaceUriElement::srcValue): Use getAttribute() for xlink:href.
3221         (WebCore::SVGFontFaceUriElement::loadFont): Ditto.
3222         * svg/animation/SVGSMILElement.cpp:
3223         (WebCore::SVGSMILElement::xlinkHref): Ditto.
3224         * svg/SVGGlyphRefElement.cpp:
3225         (WebCore::SVGGlyphRefElement::hasValidGlyphElement): Ditto.
3226         * svg/SVGStyleElement.cpp:
3227         (WebCore::SVGStyleElement::type): Use getAttribute() for type.
3228
3229 2011-10-17  Chris Fleizach  <cfleizach@apple.com>
3230
3231         AX: buttons of number type <input> controls are not fully accessible
3232         https://bugs.webkit.org/show_bug.cgi?id=70241
3233
3234         Expose the spin button object to the AX hierarchy. Since there is no distinct
3235         render object that backs this object, a mock object needs to be created for the entire
3236         spin button and the actual increment and decrement buttons inside.
3237
3238         Reviewed by Darin Adler.
3239
3240         Test: platform/mac/accessibility/html5-input-number.html
3241
3242         * CMakeLists.txt:
3243         * GNUmakefile.list.am:
3244         * WebCore.gypi:
3245         * WebCore.pro:
3246         * WebCore.vcproj/WebCore.vcproj:
3247         * WebCore.xcodeproj/project.pbxproj:
3248         * accessibility/AXObjectCache.cpp:
3249         (WebCore::AXObjectCache::getOrCreate):
3250         * accessibility/AccessibilityMockObject.cpp:
3251         (WebCore::AccessibilityMockObject::AccessibilityMockObject):
3252         * accessibility/AccessibilityMockObject.h:
3253         (WebCore::AccessibilityMockObject::isMockObject):
3254         * accessibility/AccessibilityObject.cpp:
3255         (WebCore::AccessibilityObject::boundingBoxForQuads):
3256         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
3257         * accessibility/AccessibilityObject.h:
3258         (WebCore::AccessibilityObject::isSpinButton):
3259         (WebCore::AccessibilityObject::isSpinButtonPart):
3260         (WebCore::AccessibilityObject::isMockObject):
3261         * accessibility/AccessibilityRenderObject.cpp:
3262         (WebCore::AccessibilityRenderObject::boundingBoxRect):
3263         (WebCore::AccessibilityRenderObject::addImageMapChildren):
3264         (WebCore::AccessibilityRenderObject::addTextFieldChildren):
3265         (WebCore::AccessibilityRenderObject::addChildren):
3266         * accessibility/AccessibilityRenderObject.h:
3267         * accessibility/AccessibilitySpinButton.cpp: Added.
3268         (WebCore::AccessibilitySpinButton::create):
3269         (WebCore::AccessibilitySpinButton::AccessibilitySpinButton):
3270         (WebCore::AccessibilitySpinButton::~AccessibilitySpinButton):
3271         (WebCore::AccessibilitySpinButton::incrementButton):
3272         (WebCore::AccessibilitySpinButton::decrementButton):
3273         (WebCore::AccessibilitySpinButton::elementRect):
3274         (WebCore::AccessibilitySpinButton::addChildren):
3275         (WebCore::AccessibilitySpinButton::step):
3276         (WebCore::AccessibilitySpinButtonPart::AccessibilitySpinButtonPart):
3277         (WebCore::AccessibilitySpinButtonPart::create):
3278         (WebCore::AccessibilitySpinButtonPart::elementRect):
3279         (WebCore::AccessibilitySpinButtonPart::press):
3280         * accessibility/AccessibilitySpinButton.h: Added.
3281         (WebCore::AccessibilitySpinButton::setSpinButtonElement):
3282         (WebCore::AccessibilitySpinButton::roleValue):
3283         (WebCore::AccessibilitySpinButton::accessibilityIsIgnored):
3284         (WebCore::AccessibilitySpinButton::isSpinButton):
3285         (WebCore::AccessibilitySpinButtonPart::~AccessibilitySpinButtonPart):
3286         (WebCore::AccessibilitySpinButtonPart::isIncrementor):
3287         (WebCore::AccessibilitySpinButtonPart::setIsIncrementor):
3288         (WebCore::AccessibilitySpinButtonPart::roleValue):
3289         (WebCore::AccessibilitySpinButtonPart::isSpinButtonPart):
3290         (WebCore::AccessibilitySpinButtonPart::accessibilityIsIgnored):
3291         (WebCore::toAccessibilitySpinButton):
3292         (WebCore::toAccessibilitySpinButtonPart):
3293         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3294         (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
3295         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
3296         (-[WebAccessibilityObjectWrapper subrole]):
3297         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3298         * html/shadow/TextControlInnerElements.cpp:
3299         (WebCore::SpinButtonElement::step):
3300         (WebCore::SpinButtonElement::repeatingTimerFired):
3301         * html/shadow/TextControlInnerElements.h:
3302
3303 2011-10-17  Dmitry Titov  <dimich@chromium.org>
3304
3305         Re-landing: window.webkitNotifications uses deallocated NotificationPresenter after live Iframe transfer.
3306         https://bugs.webkit.org/show_bug.cgi?id=70147
3307
3308         Reviewed by David Levin.
3309
3310         I only found a way to test this manually, since Chromium TestShell uses static instance
3311         of NotificationPresenter instead of per-page one so the issue does not reproduce.
3312         Adding manual test that works in full build of Chromium.
3313
3314         * manual-tests/iframe_notifications/iframe-reparenting-close-window-child.html: Added.
3315         * manual-tests/iframe_notifications/iframe-reparenting-close-window-iframe.html: Added.
3316         * manual-tests/iframe_notifications/iframe-reparenting-close-window.html: Added.
3317         * notifications/NotificationCenter.cpp:
3318         (WebCore::NotificationCenter::disconnectFrame):
3319         * page/DOMWindow.cpp:
3320         (WebCore::DOMWindow::resetNotifications):
3321         * page/DOMWindow.h:
3322         * page/Frame.cpp:
3323         (WebCore::Frame::transferChildFrameToNewDocument): reset webkitNotifications object.
3324
3325 2011-10-17  Arno Renevier  <arno@renevier.net>
3326
3327         quote "attributes" keyword in CodeGeneratorGObject.pm
3328         https://bugs.webkit.org/show_bug.cgi?id=64348
3329
3330         Reviewed by Darin Adler.
3331
3332         No change of functionality. No new tests.
3333
3334         * bindings/scripts/CodeGeneratorGObject.pm:
3335
3336 2011-10-17  Ojan Vafai  <ojan@chromium.org>
3337
3338         Unreviewed, rolling out r97654.
3339         http://trac.webkit.org/changeset/97654
3340         https://bugs.webkit.org/show_bug.cgi?id=68497
3341
3342         Caused a number of Chromium failures.
3343
3344         * rendering/RenderBox.cpp:
3345         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
3346
3347 2011-10-17  Ojan Vafai  <ojan@chromium.org>
33