Fix picker popup layout
[framework/web/webkit-efl.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>
3348
3349         Unreviewed, rolling out r97653.
3350         http://trac.webkit.org/changeset/97653
3351         https://bugs.webkit.org/show_bug.cgi?id=69957
3352
3353         Caused a number of Chromium failures.
3354
3355         * rendering/RenderBlock.cpp:
3356         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
3357
3358 2011-10-17  Rafael Weinstein  <rafaelw@chromium.org>
3359
3360         [MutationObservers] Implement WebKitMutationObserver.observe for attributes
3361         https://bugs.webkit.org/show_bug.cgi?id=68956
3362
3363         Reviewed by Ryosuke Niwa.
3364
3365         Test: fast/mutation/observe-attributes.html
3366
3367         This adds an initial implementation for registering mutation observers on nodes,
3368         delivering mutation records at the end of the outer-most script invokation and
3369         observing mutations to element attributes.
3370
3371         Note that the outer-most script invokation only works in V8.
3372
3373         Note also that support for observing changes to the style attribute when updated
3374         via the style property is not implemented here.
3375
3376         * bindings/v8/V8Proxy.cpp:
3377         (WebCore::V8Proxy::didLeaveScriptContext):
3378         * dom/Element.cpp:
3379         (WebCore::enqueueAttributesMutationRecord):
3380         (WebCore::Element::setAttribute):
3381         * dom/MutationRecord.cpp:
3382         (WebCore::MutationRecord::createAttributes):
3383         * dom/MutationRecord.h:
3384         * dom/MutationRecord.idl:
3385         * dom/Node.cpp:
3386         (WebCore::Node::clearRareData):
3387         (WebCore::Node::mutationObserverData):
3388         (WebCore::Node::ensureMutationObserverData):
3389         (WebCore::Node::registeredMutationObserversOfType):
3390         (WebCore::Node::registerMutationObserver):
3391         (WebCore::Node::deregisterMutationObserver):
3392         * dom/Node.h:
3393         * dom/NodeRareData.h:
3394         (WebCore::MutationObserverRegistration::MutationObserverRegistration):
3395         (WebCore::MutationObserverRegistration::operator==):
3396         (WebCore::MutationObserverData::MutationObserverData):
3397         (WebCore::MutationObserverData::~MutationObserverData):
3398         (WebCore::NodeRareData::mutationObserverData):
3399         (WebCore::NodeRareData::ensureMutationObserverData):
3400         * dom/WebKitMutationObserver.cpp:
3401         (WebCore::WebKitMutationObserver::observe):
3402         (WebCore::WebKitMutationObserver::disconnect):
3403         (WebCore::WebKitMutationObserver::wasDeregistered):
3404         (WebCore::activeMutationObservers):
3405         (WebCore::WebKitMutationObserver::enqueueMutationRecord):
3406         (WebCore::WebKitMutationObserver::deliverAllMutations):
3407         (WebCore::WebKitMutationObserver::deliver):
3408         * dom/WebKitMutationObserver.h:
3409
3410 2011-10-17  Andreas Kling  <kling@webkit.org>
3411
3412         HTMLKeygenElement: Don't cache keytype and challenge attributes.
3413         https://bugs.webkit.org/show_bug.cgi?id=68365
3414
3415         Reviewed by Darin Adler.
3416
3417         * html/HTMLKeygenElement.cpp:
3418         (WebCore::HTMLKeygenElement::parseMappedAttribute):
3419         (WebCore::HTMLKeygenElement::appendFormData):
3420         * html/HTMLKeygenElement.h:
3421
3422 2011-09-22  Ojan Vafai  <ojan@chromium.org>
3423
3424         incorrect height with height:auto and writing-mode:vertical-rl
3425         https://bugs.webkit.org/show_bug.cgi?id=68497
3426
3427         Reviewed by David Hyatt.
3428
3429         * rendering/RenderBox.cpp:
3430         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
3431
3432 2011-10-12  Ojan Vafai  <ojan@chromium.org>
3433
3434         display:inline-block elements don't correctly handle orthogonal writing-modes
3435         https://bugs.webkit.org/show_bug.cgi?id=69957
3436
3437         Reviewed by David Hyatt.
3438
3439         Reading min/maxPreferredLogicalWidth from a child uses the child's writing-mode.
3440         Instead, we need to grab the result based on the parent's writing-mode.
3441         In the case of orthogonal writing-modes, we need the child's logical height.
3442
3443         Tests: fast/writing-mode/borders-expected.html
3444                fast/writing-mode/borders.html
3445
3446         * rendering/RenderBlock.cpp:
3447         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
3448
3449 2011-10-17  Sheriff Bot  <webkit.review.bot@gmail.com>
3450
3451         Unreviewed, rolling out r97643.
3452         http://trac.webkit.org/changeset/97643
3453         https://bugs.webkit.org/show_bug.cgi?id=70270
3454
3455         Broke iframe reparenting tests (Requested by dimich on
3456         #webkit).
3457
3458         * manual-tests/iframe_notifications/iframe-reparenting-close-window-child.html: Removed.
3459         * manual-tests/iframe_notifications/iframe-reparenting-close-window-iframe.html: Removed.
3460         * manual-tests/iframe_notifications/iframe-reparenting-close-window.html: Removed.
3461         * notifications/NotificationCenter.cpp:
3462         (WebCore::NotificationCenter::disconnectFrame):
3463         * page/DOMWindow.cpp:
3464         (WebCore::DOMWindow::webkitNotifications):
3465         * page/DOMWindow.h:
3466         * page/Frame.cpp:
3467         (WebCore::Frame::transferChildFrameToNewDocument):
3468
3469 2011-10-17  Dmitry Titov  <dimich@chromium.org>
3470
3471         window.webkitNotifications uses deallocated NotificationPresenter after live Iframe transfer.
3472         https://bugs.webkit.org/show_bug.cgi?id=70147
3473
3474         Reviewed by David Levin.
3475
3476         I only found a way to test this manually, since Chromium TestShell uses static instance
3477         of NotificationPresenter instead of per-page one so the issue does not reproduce.
3478         Adding manual test that works in full build of Chromium.
3479
3480         * manual-tests/iframe_notifications/iframe-reparenting-close-window-child.html: Added.
3481         * manual-tests/iframe_notifications/iframe-reparenting-close-window-iframe.html: Added.
3482         * manual-tests/iframe_notifications/iframe-reparenting-close-window.html: Added.
3483         * notifications/NotificationCenter.cpp:
3484         (WebCore::NotificationCenter::disconnectFrame):
3485         * page/DOMWindow.cpp:
3486         (WebCore::DOMWindow::resetNotifications):
3487         * page/DOMWindow.h:
3488         * page/Frame.cpp:
3489         (WebCore::Frame::transferChildFrameToNewDocument): reset webkitNotifications object.
3490
3491 2011-10-17  Jeff Miller  <jeffm@apple.com>
3492
3493         Widget window coordinate functions should use root view coordinate functions
3494         https://bugs.webkit.org/show_bug.cgi?id=70152
3495
3496         Reviewed by Darin Adler.
3497
3498         No new tests, no changes to functionality.
3499
3500         * platform/Widget.cpp:
3501         (WebCore::Widget::convertFromContainingWindow): Use convertFromRootView().
3502         (WebCore::Widget::convertToContainingWindow): Use convertToRootView().
3503
3504 2011-10-14  Chris Marrin  <cmarrin@apple.com>
3505
3506         Throttle rate of requestAnimationFrame when page is not visible
3507         https://bugs.webkit.org/show_bug.cgi?id=67873
3508
3509         Reviewed by Anders Carlsson.
3510
3511         Add logic to suspend and resume scripted animations when page is hidden,
3512         minimized or the tab is not visible. The hide/minimize notification comes
3513         in from WebKit/WebKit2 to a new set of functions.
3514
3515         * WebCore.exp.in:
3516         * page/Page.cpp:
3517         (WebCore::Page::didMoveOnscreen):
3518         (WebCore::Page::willMoveOffscreen):
3519         (WebCore::Page::suspendScriptedAnimations):
3520         (WebCore::Page::resumeScriptedAnimations):
3521         * page/Page.h:
3522
3523 2011-10-17  Antti Koivisto  <antti@apple.com>
3524
3525         https://bugs.webkit.org/show_bug.cgi?id=69966
3526         Eliminate separate RenderStyle for visited link style
3527
3528         Reviewed by Dave Hyatt and Nikolas Zimmermann.
3529
3530         There are only a few properties that can apply to visited links and they can
3531         be part of the regular style. Many things will get simpler when the separate 
3532         RenderStyle for visited links is eliminated.
3533         
3534         - Add valid visited link properties as separate fields to RenderStyle. The  
3535           visitedLinkColor goes to inherited, everything else goes to rare data structures.
3536         - Make RenderStyle::visitedDependentColor() get the visited style from the new fields.
3537         - As VISITED_LINK pseudo style doesn't exists anymore, remove all code dealing with it.
3538         - Make CSSStyleSelector and ApplyPropertyColor apply the visited link style to the
3539           newly added fields instead of a separate RenderStyle.
3540         - Same thing with SVGRenderStyle, SVGCSSStyleSelector.
3541         - Fixup the SVG visited link style code to use the new fields.
3542
3543         This is ~15% progression in styleForElement performance over the HTML5 spec load.
3544
3545         * css/CSSStyleApplyProperty.cpp:
3546         (WebCore::ApplyPropertyColor::ApplyPropertyColor):
3547         (WebCore::ApplyPropertyColor::applyInheritValue):
3548         (WebCore::ApplyPropertyColor::applyInitialValue):
3549         (WebCore::ApplyPropertyColor::applyValue):
3550         (WebCore::ApplyPropertyColor::applyColorValue):
3551         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3552         * css/CSSStyleSelector.cpp:
3553         (WebCore::CSSStyleSelector::CSSStyleSelector):
3554         (WebCore::CSSStyleSelector::styleForElement):
3555         (WebCore::CSSStyleSelector::pseudoStyleForElement):
3556         (WebCore::CSSStyleSelector::updateFont):
3557         (WebCore::CSSStyleSelector::applyDeclaration):
3558         (WebCore::CSSStyleSelector::applyDeclarations):
3559         (WebCore::CSSStyleSelector::applyProperty):
3560         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
3561         * css/CSSStyleSelector.h:
3562         (WebCore::CSSStyleSelector::applyPropertyToRegularStyle):
3563         (WebCore::CSSStyleSelector::applyPropertyToVisitedLinkStyle):
3564         * css/SVGCSSStyleSelector.cpp:
3565         (WebCore::CSSStyleSelector::applySVGProperty):
3566         * dom/Element.cpp:
3567         (WebCore::Element::pseudoStyleCacheIsInvalid):
3568         * rendering/style/RenderStyle.cpp:
3569         (WebCore::RenderStyle::getCachedPseudoStyle):
3570         (WebCore::RenderStyle::colorIncludingFallback):
3571         (WebCore::RenderStyle::visitedDependentColor):
3572         * rendering/style/RenderStyle.h:
3573         (WebCore::InheritedFlags::setVisitedLinkColor):
3574         (WebCore::InheritedFlags::setVisitedLinkBackgroundColor):
3575         (WebCore::InheritedFlags::setVisitedLinkBorderLeftColor):
3576         (WebCore::InheritedFlags::setVisitedLinkBorderRightColor):
3577         (WebCore::InheritedFlags::setVisitedLinkBorderBottomColor):
3578         (WebCore::InheritedFlags::setVisitedLinkBorderTopColor):
3579         (WebCore::InheritedFlags::setVisitedLinkOutlineColor):
3580         (WebCore::InheritedFlags::setVisitedLinkColumnRuleColor):
3581         (WebCore::InheritedFlags::setVisitedLinkTextEmphasisColor):
3582         (WebCore::InheritedFlags::setVisitedLinkTextFillColor):
3583         (WebCore::InheritedFlags::setVisitedLinkTextStrokeColor):
3584         * rendering/style/RenderStyleConstants.h:
3585         * rendering/style/SVGRenderStyle.h:
3586         (WebCore::SVGRenderStyle::setVisitedLinkFillPaint):
3587         (WebCore::SVGRenderStyle::setVisitedLinkStrokePaint):
3588         (WebCore::SVGRenderStyle::visitedLinkFillPaintType):
3589         (WebCore::SVGRenderStyle::visitedLinkFillPaintColor):
3590         (WebCore::SVGRenderStyle::visitedLinkStrokePaintType):
3591         (WebCore::SVGRenderStyle::visitedLinkStrokePaintColor):
3592         * rendering/style/SVGRenderStyleDefs.cpp:
3593         (WebCore::StyleFillData::StyleFillData):
3594         (WebCore::StyleFillData::operator==):
3595         (WebCore::StyleStrokeData::StyleStrokeData):
3596         (WebCore::StyleStrokeData::operator==):
3597         * rendering/style/SVGRenderStyleDefs.h:
3598         * rendering/style/StyleInheritedData.cpp:
3599         (WebCore::StyleInheritedData::StyleInheritedData):
3600         (WebCore::StyleInheritedData::operator==):
3601         * rendering/style/StyleInheritedData.h:
3602         * rendering/style/StyleMultiColData.cpp:
3603         (WebCore::StyleMultiColData::StyleMultiColData):
3604         (WebCore::StyleMultiColData::operator==):
3605         * rendering/style/StyleMultiColData.h:
3606         * rendering/style/StyleRareInheritedData.cpp:
3607         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
3608         (WebCore::StyleRareInheritedData::operator==):
3609         * rendering/style/StyleRareInheritedData.h:
3610         * rendering/style/StyleRareNonInheritedData.cpp:
3611         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3612         (WebCore::StyleRareNonInheritedData::operator==):
3613         * rendering/style/StyleRareNonInheritedData.h:
3614         * rendering/svg/RenderSVGResource.cpp:
3615         (WebCore::requestPaintingResource):
3616
3617 2011-10-17  Eric Carlson  <eric.carlson@apple.com>
3618
3619         Cues should be loaded by the cached resource loader
3620         https://bugs.webkit.org/show_bug.cgi?id=70134
3621
3622         Reviewed by Darin Adler.
3623
3624         No new tests, changes covered by existing tests.
3625
3626         * CMakeLists.txt: Add CachedCues.cpp/h.
3627         * GNUmakefile.list.am: Ditto.
3628         * WebCore.gypi: Ditto.
3629         * WebCore.xcodeproj/project.pbxproj: Ditto.
3630
3631         * loader/cache/CachedCues.cpp: Added.
3632         (WebCore::CachedCues::CachedCues):
3633         (WebCore::CachedCues::~CachedCues):
3634         (WebCore::CachedCues::data): Called when new data has been loaded, pass it to all registered
3635             clients.
3636         * loader/cache/CachedCues.h: Added.
3637
3638         * loader/cache/CachedResource.cpp:
3639         (WebCore::defaultPriorityForResourceType): Cues have low loader priority.
3640         * loader/cache/CachedResource.h:
3641
3642         * loader/cache/CachedResourceClient.h:
3643         (WebCore::CachedResourceClient::didReceiveData): New client interface.
3644
3645         * loader/cache/CachedResourceLoader.cpp:
3646         (WebCore::createResource): Create and return a new cue loader.
3647         (WebCore::CachedResourceLoader::requestCues):
3648         (WebCore::CachedResourceLoader::checkInsecureContent): Cues aren't mentioned in the CPS spec
3649             yet, but they only work with a media element so use the mdia policy.
3650         (WebCore::CachedResourceLoader::canRequest): Allow cues to be loaded from any origin like media.
3651         * loader/cache/CachedResourceLoader.h:
3652
3653         * loader/cache/CachedResourceRequest.cpp:
3654         (WebCore::cachedResourceTypeToTargetType):
3655         * platform/network/chromium/ResourceRequest.h:
3656
3657 2011-10-17  Dan Bernstein  <mitz@apple.com>
3658
3659         <rdar://problem/10293929> REGRESSION (r97525): iChat transcript has horizontal scroll bar when the conversation includes a wide image
3660         https://bugs.webkit.org/show_bug.cgi?id=70204
3661
3662         Reviewed by Darin Adler.
3663
3664         Reverted r97525, which was supposed to fix <http://webkit.org/b/29447>.
3665
3666         * rendering/RenderBox.cpp:
3667         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
3668         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
3669         * rendering/RenderBox.h:
3670
3671 2011-10-17  Ada Chan  <adachan@apple.com>
3672
3673         Export KURL::baseAsString() so it can be called in WebProcessProxy::assumeReadAccessToBaseURL() in WebKit2.
3674         https://bugs.webkit.org/show_bug.cgi?id=70168
3675
3676         Reviewed by Alexey Proskuryakov.
3677
3678         No new tests. There is no change in functionality.
3679
3680         * WebCore.exp.in: Export KURL::baseAsString().
3681
3682 2011-10-17  Ryosuke Niwa  <rniwa@webkit.org>
3683
3684         Touch Internals.cpp to make 64-bit GTK+ build happy.
3685
3686         * testing/Internals.cpp:
3687
3688 2011-10-17  Chris Fleizach  <cfleizach@apple.com>
3689
3690         AX: children() method should be consolidated in AccessibilityObject
3691         https://bugs.webkit.org/show_bug.cgi?id=70243
3692
3693         Code cleanup, no new tests.
3694
3695         Reviewed by Darin Adler.
3696
3697         * accessibility/AccessibilityObject.cpp:
3698         (WebCore::AccessibilityObject::children):
3699         * accessibility/AccessibilityObject.h:
3700         * accessibility/AccessibilityRenderObject.cpp:
3701         (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
3702         * accessibility/AccessibilityRenderObject.h:
3703         * accessibility/AccessibilityScrollView.cpp:
3704         (WebCore::AccessibilityScrollView::updateChildrenIfNecessary):
3705         (WebCore::AccessibilityScrollView::updateScrollbars):
3706         (WebCore::AccessibilityScrollView::addChildren):
3707         * accessibility/AccessibilityScrollView.h:
3708         * accessibility/AccessibilitySlider.cpp:
3709         * accessibility/AccessibilitySlider.h:
3710         * accessibility/AccessibilityTableColumn.cpp:
3711         * accessibility/AccessibilityTableColumn.h:
3712         * accessibility/AccessibilityTableHeaderContainer.cpp:
3713         * accessibility/AccessibilityTableHeaderContainer.h:
3714
3715 2011-10-17  Vsevolod Vlasov  <vsevik@chromium.org>
3716
3717         Web Inspector: Search matches highlighting in text does not work correctly.
3718         https://bugs.webkit.org/show_bug.cgi?id=70244
3719
3720         Reviewed by Pavel Feldman.
3721
3722         Test: inspector/utilities-highlight-results.html
3723
3724         * inspector/front-end/utilities.js:
3725         ():
3726
3727 2011-10-17  Chris Fleizach  <cfleizach@apple.com>
3728
3729         AX: webkit won't always send live region notifications
3730         https://bugs.webkit.org/show_bug.cgi?id=70030
3731
3732         Webkit purposefully does not send live region notifications if some AT client has not accessed the AX tree in between 
3733         the last live region update (ostensibly to improve performance).
3734         However, this is problematic if a screen reader misses one notification... it has no idea what happened and the only 
3735         recourse is to rescan the page for changes. The correct thing to do is to always send notifications.
3736
3737         Reviewed by Darin Adler.
3738
3739         Test: platform/mac/accessibility/aria-liveregions-notifications-always-sent.html
3740
3741         * accessibility/AccessibilityRenderObject.cpp:
3742         (WebCore::AccessibilityRenderObject::childrenChanged):
3743
3744 2011-10-12  Pavel Podivilov  <podivilov@chromium.org>
3745
3746         Web Inspector: fix handling of source mapping entries with no mapping.
3747         https://bugs.webkit.org/show_bug.cgi?id=69941
3748
3749         Reviewed by Pavel Feldman.
3750
3751         * inspector/front-end/CompilerSourceMapping.js:
3752         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
3753
3754 2011-10-17  Mikhail Naganov  <mnaganov@chromium.org>
3755
3756         Web Inspector: [Chromium] Add an ability to look up and explore an object from a heap profile.
3757         https://bugs.webkit.org/show_bug.cgi?id=61179
3758
3759         This is exteremely helpful when dealing with DOM wrappers, as
3760         their properties are mostly implemented with getters and thus not
3761         stored in heap snapshots.
3762
3763         Reviewed by Pavel Feldman.
3764
3765         * English.lproj/localizedStrings.js:
3766         * bindings/js/ScriptProfiler.cpp:
3767         (WebCore::ScriptProfiler::objectByHeapObjectId):
3768         * bindings/js/ScriptProfiler.h:
3769         * bindings/v8/ScriptProfiler.cpp:
3770         (WebCore::ScriptProfiler::objectByHeapObjectId):
3771         * bindings/v8/ScriptProfiler.h:
3772         * inspector/Inspector.json:
3773         * inspector/InspectorController.cpp:
3774         (WebCore::InspectorController::InspectorController):
3775         * inspector/InspectorProfilerAgent.cpp:
3776         (WebCore::InspectorProfilerAgent::create):
3777         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
3778         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
3779         * inspector/InspectorProfilerAgent.h:
3780         * inspector/front-end/DetailedHeapshotGridNodes.js:
3781         (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.queryObjectContent):
3782         (WebInspector.HeapSnapshotGenericObjectNode):
3783         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
3784         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
3785         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
3786         (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
3787         * inspector/front-end/DetailedHeapshotView.js:
3788         (WebInspector.DetailedHeapshotView.prototype._showObjectPopover):
3789         * inspector/front-end/HeapSnapshot.js:
3790         (WebInspector.HeapSnapshotNode.prototype.get canBeQueried):
3791         (WebInspector.HeapSnapshotNode.prototype.get flags):
3792         (WebInspector.HeapSnapshotNode.prototype.get isDOMWindow):
3793         (WebInspector.HeapSnapshot.prototype._init):
3794         (WebInspector.HeapSnapshot.prototype.dispose):
3795         (WebInspector.HeapSnapshot.prototype._flagsOfNode):
3796         (WebInspector.HeapSnapshot.prototype._calculateFlags):
3797         (WebInspector.HeapSnapshot.prototype.updateStaticData):
3798         (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
3799         * inspector/front-end/HeapSnapshotProxy.js:
3800         (WebInspector.HeapSnapshotProxy.prototype.get nodeFlags):
3801         * inspector/front-end/RemoteObject.js:
3802         (WebInspector.RemoteObject.fromError):
3803         * inspector/front-end/heapProfiler.css:
3804         (.detailed-heapshot-view tr:not(.selected) td.object-column span.highlight):
3805
3806 2011-10-17  Alexander Pavlov  <apavlov@chromium.org>
3807
3808         Web Inspector: Editing CSS selector doesn't fire onResourceContentCommitted
3809         https://bugs.webkit.org/show_bug.cgi?id=70018
3810
3811         Reviewed by Yury Semikhatsky.
3812
3813         Test: inspector/styles/commit-selector.html
3814
3815         * inspector/front-end/CSSStyleModel.js:
3816         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
3817         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
3818
3819 2011-10-17  Andreas Kling  <kling@webkit.org>
3820
3821         CSS/XSLStyleSheet: Remove insert() and remove().
3822         https://bugs.webkit.org/show_bug.cgi?id=70226
3823
3824         Reviewed by Antti Koivisto.
3825
3826         Remove insert() and remove() from XSLStyleSheet. CSSStyleSheet retains remove()
3827         since it's used by InspectorStyleSheet as well as SVGFontFaceElement.
3828
3829         * css/CSSStyleSheet.cpp:
3830         (WebCore::CSSStyleSheet::remove):
3831
3832             Remove range check. This method is internal to WebKit and the call sites
3833             already take care of it.
3834
3835         (WebCore::CSSStyleSheet::insertRule):
3836         (WebCore::CSSStyleSheet::deleteRule):
3837         * css/CSSStyleSheet.h:
3838         * xml/XSLStyleSheet.h:
3839
3840 2011-10-17  Rosen Dash  <rosen.dash@motorola.com>
3841
3842         when CSS pseudo selectors are applied (:before and :after) the *-of-line keyboard navigation does not work
3843         https://bugs.webkit.org/show_bug.cgi?id=10123
3844
3845         Reviewed by Ryosuke Niwa.
3846
3847         This patch addresses folllowing two issues:
3848         1. When CSS pseudo elements are before or after is used with content attribute containing single character
3849            at the start/end of text and we try to move cursor by right navigation key, the page freezes falling
3850            into an infinite loop.
3851         2. When these elements try to insert some text between a text line, navigation by right/left arrow key is prohibited.
3852
3853         Tests: editing/selection/css-pseudo-element-hang.html
3854                editing/selection/css-pseudo-element.html
3855
3856         * editing/VisiblePosition.cpp:
3857         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
3858         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
3859
3860 2011-10-15  Antti Koivisto  <antti@apple.com>
3861
3862         Test :visited pseudo class
3863         https://bugs.webkit.org/show_bug.cgi?id=70219
3864
3865         Reviewed by Andreas Kling.
3866         
3867         Currently DRT doesn't support :visited. All tests where it should match have wrong checked in results.
3868         
3869         - Make <a href=""> to match :visited in DRT. It already does on browsers. A number of existing tests 
3870           for :visited use it already, the rest can be modified to use it.
3871         - Make render tree dumps correctly dump the visited state dependent color.
3872
3873         * css/SelectorChecker.cpp:
3874         (WebCore::SelectorChecker::determineLinkStateSlowCase):
3875         * rendering/RenderTreeAsText.cpp:
3876         (WebCore::RenderTreeAsText::writeRenderObject):
3877
3878 2011-10-17  Satish Sampath  <satish@chromium.org>
3879
3880         Avoid leaking document when leaving google.com due to geolocation
3881         permission request.
3882         https://bugs.webkit.org/show_bug.cgi?id=58027
3883
3884         Reviewed by Kenneth Rohde Christiansen.
3885
3886         * page/Geolocation.cpp:
3887         (WebCore::Geolocation::Watchers::find): added
3888         (WebCore::Geolocation::reset): cleared all pending notifiers.
3889         (WebCore::Geolocation::clearWatch): removed from pending notifier set.
3890         * page/Geolocation.h:
3891         (WebCore::Geolocation::Watchers::find): added
3892
3893 2011-10-17  Andrei Lavreniyuk  <andy.lavr@gmail.com>
3894
3895         Fix clang WebKitGTK+ build.
3896
3897         Reviewed by Martin Robinson.
3898
3899         * plugins/gtk/PluginViewGtk.cpp:
3900
3901 2011-10-16  Adam Barth  <abarth@webkit.org>
3902
3903         Always disable ENABLE(ON_FIRST_TEXTAREA_FOCUS_SELECT_ALL) and delete associated code
3904         https://bugs.webkit.org/show_bug.cgi?id=70216
3905
3906         Reviewed by Eric Seidel.
3907
3908         No port enables this feature.  It was added for the previous Android
3909         port (and should have been an editing behavior in any case).
3910
3911         * html/HTMLTextAreaElement.cpp:
3912         (WebCore::HTMLTextAreaElement::updateFocusAppearance):
3913
3914 2011-10-16  Ryosuke Niwa  <rniwa@webkit.org>
3915
3916         Expose rangeFromLocationAndLength and locationAndLengthFromRange via internals object
3917         https://bugs.webkit.org/show_bug.cgi?id=68330
3918
3919         Reviewed by Hajime Morita.
3920
3921         Add rangeFromLocationAndLength, locationFromRange, and lengthFromRange to window.internals.
3922
3923         Test: editing/text-iterator/range-to-from-location-and-length.html
3924
3925         * WebCore.exp.in:
3926         * testing/Internals.cpp:
3927         (WebCore::Internals::scrollElementToRect):
3928         (WebCore::Internals::rangeFromLocationAndLength):
3929         (WebCore::Internals::locationFromRange):
3930         (WebCore::Internals::lengthFromRange):
3931         * testing/Internals.h:
3932         * testing/Internals.idl:
3933
3934 2011-10-16  Kentaro Hara  <haraken@chromium.org>
3935
3936         Generate MessageChannel constructor by [Constructor] IDL
3937         https://bugs.webkit.org/show_bug.cgi?id=70214
3938
3939         Reviewed by Adam Barth.
3940
3941         This patch generates an MessageChannel constructor for JSC by [Constructor] IDL,
3942         but V8 is still using a custom constructor since the V8 constructor requires special logic.
3943
3944         Tests: fast/dom/global-constructors.html
3945                fast/events/message-port.html
3946                fast/events/message-port-no-wrapper.html
3947                fast/dom/Window/window-postmessage-args.html
3948
3949         * bindings/js/JSMessageChannelCustom.cpp: Removed the MessageChannel constructor.
3950         * dom/MessageChannel.idl: Generates the MessageChannel constructor for JSC.
3951
3952 2011-10-16  Ryosuke Niwa  <rniwa@webkit.org>
3953
3954         [Mac] fontForSelection and styleForSelectionStart should be moved to EditorMac
3955         https://bugs.webkit.org/show_bug.cgi?id=70114
3956
3957         Reviewed by Hajime Morita.
3958
3959         Moved fontForSelection and styleForSelectionStart from Editor to EditorMac
3960         and made styleForSelectionStart static local.
3961
3962         * editing/Editor.cpp:
3963         * editing/Editor.h:
3964         * editing/mac/EditorMac.mm:
3965         (WebCore::styleForSelectionStart):
3966         (WebCore::Editor::fontForSelection):
3967         (WebCore::Editor::fontAttributesForSelectionStart):
3968
3969 2011-10-16  Kentaro Hara  <haraken@chromium.org>
3970
3971         Generate EventSource constructor for JSC by [Constructor] IDL
3972         https://bugs.webkit.org/show_bug.cgi?id=70212
3973
3974         Reviewed by Adam Barth.
3975
3976         Removed JSEventSourceCustom.cpp.
3977
3978         Tests: fast/dom/global-constructors.html
3979                fast/eventsource/eventsource-constructor.html
3980                fast/eventsource/eventsource-attribute-listeners.html
3981
3982         * GNUmakefile.list.am: Removed JSEventSourceCustom.cpp.
3983         * UseJSC.cmake: Ditto.
3984         * WebCore.gypi: Ditto.
3985         * WebCore.pro: Ditto.
3986         * WebCore.xcodeproj/project.pbxproj: Ditto.
3987         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
3988         * bindings/js/JSEventSourceCustom.cpp: Removed this file.
3989         * page/EventSource.idl: Removed 'JSCustomConstructor' IDL.
3990
3991 2011-10-16  David Barr  <davidbarr@chromium.org>
3992
3993         Inline CSSPrimitiveValue::isQuirkValue() as non-virtual function
3994         https://bugs.webkit.org/show_bug.cgi?id=64865
3995
3996         Reviewed by Darin Adler.
3997
3998         Based on profiling and patch from:
3999         Tamas Czene <Czene.Tamas@stud.u-szeged.hu>
4000
4001         This is expected to produce a small performance progression.
4002         Additional memory overhead is avoided by using spare bits.
4003         CSSQuirkPrimitiveValue is removed as it becomes just a factory.
4004
4005         * GNUmakefile.list.am:
4006         * WebCore.gypi:
4007         * WebCore.order:
4008         * WebCore.vcproj/WebCore.vcproj:
4009         * WebCore.xcodeproj/project.pbxproj:
4010         * css/CSSParser.cpp:
4011         (WebCore::CSSParser::parseValidPrimitive):
4012         * css/CSSParserValues.cpp:
4013         (WebCore::CSSParserValue::createCSSValue):
4014         * css/CSSPrimitiveValue.cpp:
4015         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
4016         * css/CSSPrimitiveValue.h:
4017         (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk):
4018         Moved from CSSQuirkPrimitiveValue::create.
4019         (WebCore::CSSPrimitiveValue::isQuirkValue):
4020         * css/CSSQuirkPrimitiveValue.h: Removed.
4021         * css/SVGCSSParser.cpp:
4022         (WebCore::CSSParser::parseSVGValue):
4023
4024 2011-10-16  Kentaro Hara  <haraken@chromium.org>
4025
4026         Generate XMLHttpRequest constructor for JSC by [Constructor] IDL
4027         https://bugs.webkit.org/show_bug.cgi?id=70208
4028
4029         Reviewed by Adam Barth.
4030
4031         This patch generates an XMLHttpRequest constructor for JSC by [Constructor] IDL,
4032         but V8 is still using a custom constructor since the V8 constructor requires a special logic.
4033
4034         Tests: fast/dom/global-constructors.html
4035                fast/dom/XMLHttpRequest-constants.html
4036                fast/dom/xmlhttprequest-constructor-in-detached-document.html
4037                http/tests/security/cookies/xmlhttprequest.html
4038
4039         * bindings/js/JSXMLHttpRequestCustom.cpp: Removed an XMLHttpRequest custom constructor.
4040         * bindings/scripts/CodeGeneratorV8.pm: Currently, CodeGeneratorV8.pm generates constructor code whenever [Constructor] is specified, even if [V8CustomConstructor] is specified. This is wrong. This patch fixes the condition where the constructor code is generated.
4041         * bindings/scripts/test/V8/V8TestObj.cpp: Updated a run-binding-tests result.
4042         * xml/XMLHttpRequest.h: Added a necessary header.
4043         * xml/XMLHttpRequest.idl: V8 is still using a custom constructor.
4044
4045 2011-10-16  Kentaro Hara  <haraken@chromium.org>
4046
4047         Generate XSLTProcessor constructor for JSC by [Constructor] IDL.
4048         https://bugs.webkit.org/show_bug.cgi?id=70206
4049
4050         Reviewed by Adam Barth.
4051
4052         Tests: fast/xsl/xslt-processor.html
4053                fast/xsl/default-html.html
4054                fast/dom/global-constructors.html
4055
4056         * bindings/js/JSXSLTProcessorCustom.cpp: Removed a custom constructor.
4057         * xml/XSLTProcessor.idl: Removed 'JSCustomConstructor'.
4058
4059 2011-10-16  Kentaro Hara  <haraken@chromium.org>
4060
4061         Support [Constructor] IDL for JSC.
4062         https://bugs.webkit.org/show_bug.cgi?id=70101
4063
4064         Reviewed by Adam Barth.
4065
4066         The spec for [Constructor] IDL is here: http://www.w3.org/TR/WebIDL/#Constructor
4067         This patch introduced [Constructor] IDL for JSC. This patch also added
4068         [ConstructorRaisesException] for JSC. If [ConstructorRaisesException] is specified,
4069         a placeholder for ExceptionCode is passed to XXX::create(), like XXX::create(..., ec).
4070
4071         Notes:
4072         - We do not yet support constructor overloading.
4073         - We do not yet support [Optional] without CallWithDefaultValue for constructor arguments.
4074
4075         Tests: Source/WebCore/bindings/scripts/test/TestInterface.idl
4076                Source/WebCore/bindings/scripts/test/TestObj.idl
4077
4078         * bindings/scripts/CodeGeneratorJS.pm:
4079         (GenerateHeader): Generates constructor declaration code to a header file, if a given DOM object has constructor.
4080         (GenerateImplementation): Uses GenerateArgumentsCountCheck() and GenerateParametersCheck().
4081         (GenerateArgumentsCountCheck): Splits out of GenerateImplementation() for reuse.
4082         (GenerateParametersCheck): Splits out of GenerateImplementation() for reuse.
4083         (GenerateConstructorDefinition): Generates constructor definition code.
4084         * bindings/scripts/test/JS/JSTestInterface.cpp: Updated the run-binding-tests results.
4085         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
4086         * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
4087         (WebCore::JSTestInterfaceConstructor::create):
4088         (WebCore::JSTestInterfaceConstructor::createStructure):
4089         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
4090         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
4091         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: Ditto.
4092         (WebCore::JSTestMediaQueryListListenerConstructor::create):
4093         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
4094         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
4095         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
4096         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
4097         (WebCore::jsTestObjPrototypeFunctionIntMethod):
4098         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
4099         (WebCore::jsTestObjPrototypeFunctionObjMethod):
4100         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
4101         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
4102         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
4103         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
4104         (WebCore::jsTestObjPrototypeFunctionIdbKey):
4105         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
4106         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
4107         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
4108         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
4109         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
4110         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
4111         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
4112         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
4113         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
4114         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
4115         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
4116         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
4117         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
4118         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
4119         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
4120         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
4121         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
4122         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
4123         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
4124         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
4125         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
4126         (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
4127         (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
4128         (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
4129         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
4130         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
4131         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
4132         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
4133         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
4134         (WebCore::jsTestObjPrototypeFunctionClassMethod):
4135         (WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional):
4136         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
4137         (WebCore::JSTestObjConstructor::create):
4138         (WebCore::JSTestObjConstructor::createStructure):
4139         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
4140         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: Ditto.
4141         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
4142         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
4143
4144 2011-10-16  Dmitry Lomov  <dslomov@google.com>
4145
4146         https://bugs.webkit.org/show_bug.cgi?id=70186
4147         Pass MessagePortArray to JSC's SerializedScriptValue::serialize/deserialize.
4148
4149         Reviewed by Oliver Hunt.
4150
4151         * bindings/js/JSDOMWindowCustom.cpp:
4152         (WebCore::handlePostMessage):
4153         (WebCore::JSDOMWindow::postMessage):
4154         (WebCore::JSDOMWindow::webkitPostMessage):
4155         * bindings/js/JSDictionary.cpp:
4156         (WebCore::JSDictionary::convertValue):
4157         * bindings/js/JSHistoryCustom.cpp:
4158         (WebCore::JSHistory::pushState):
4159         (WebCore::JSHistory::replaceState):
4160         * bindings/js/JSMessageEventCustom.cpp:
4161         (WebCore::JSMessageEvent::data):
4162         (WebCore::handleInitMessageEvent):
4163         (WebCore::JSMessageEvent::initMessageEvent):
4164         (WebCore::JSMessageEvent::webkitInitMessageEvent):
4165         * bindings/js/JSMessagePortCustom.h:
4166         (WebCore::handlePostMessage):
4167         * bindings/js/JSPopStateEventCustom.cpp:
4168         (WebCore::JSPopStateEvent::state):
4169         * bindings/js/ScriptValue.cpp:
4170         (WebCore::ScriptValue::serialize):
4171         (WebCore::ScriptValue::deserialize):
4172         * bindings/js/SerializedScriptValue.cpp:
4173         (WebCore::SerializedScriptValue::create):
4174         (WebCore::SerializedScriptValue::deserialize):
4175         * bindings/js/SerializedScriptValue.h:
4176
4177 2011-10-16  Dan Bernstein  <mitz@apple.com>
4178
4179         REGRESSION (r96620): Float-avoiding block positioned incorrectly in right-to-left block
4180         https://bugs.webkit.org/show_bug.cgi?id=70197
4181
4182         Reviewed by Dave Kilzer.
4183
4184         Test: fast/block/float/avoidance-rtl.html
4185
4186         * rendering/RenderBlock.cpp:
4187         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats): Changed
4188         logicalLeftOffsetForContent() to startOffsetForContent() to get the right value in the
4189         right-to-left case.
4190
4191 2011-10-16  Adam Barth  <abarth@webkit.org>
4192
4193         Always enable ENABLE(DOM_STORAGE)
4194         https://bugs.webkit.org/show_bug.cgi?id=70189
4195
4196         Reviewed by Eric Seidel.
4197
4198         As discussed on webkit-dev, we are reducing the complexity of WebKit by
4199         removing unnecessary configuration options.  DOMStorage is not a core
4200         part of the web platform.  It should always be enabled.
4201
4202         * CMakeLists.txt:
4203         * Configurations/FeatureDefines.xcconfig:
4204         * GNUmakefile.am:
4205         * GNUmakefile.list.am:
4206         * UseJSC.cmake:
4207         * WebCore.exp.in:
4208         * WebCore.pro:
4209         * bindings/js/JSEventCustom.cpp:
4210         * bindings/js/JSInjectedScriptHostCustom.cpp:
4211         * bindings/js/JSStorageCustom.cpp:
4212         * bindings/v8/custom/V8EventCustom.cpp:
4213         (WebCore::toV8):
4214         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
4215         (WebCore::V8InjectedScriptHost::storageIdCallback):
4216         * bindings/v8/custom/V8StorageCustom.cpp:
4217         * dom/Document.cpp:
4218         (WebCore::Document::createEvent):
4219         * dom/Event.cpp:
4220         (WebCore::Event::isStorageEvent):
4221         * dom/Event.h:
4222         * dom/Node.cpp:
4223         * features.pri:
4224         * inspector/InjectedScriptHost.cpp:
4225         (WebCore::InjectedScriptHost::InjectedScriptHost):
4226         (WebCore::InjectedScriptHost::disconnect):
4227         (WebCore::InjectedScriptHost::storageIdImpl):
4228         * inspector/InjectedScriptHost.h:
4229         (WebCore::InjectedScriptHost::init):
4230         * inspector/InspectorController.cpp:
4231         (WebCore::InspectorController::InspectorController):
4232         (WebCore::InspectorController::connectFrontend):
4233         (WebCore::InspectorController::disconnectFrontend):
4234         (WebCore::InspectorController::restoreInspectorStateFromCookie):
4235         * inspector/InspectorController.h:
4236         * inspector/InspectorDOMStorageAgent.cpp:
4237         * inspector/InspectorDOMStorageResource.cpp:
4238         * inspector/InspectorDOMStorageResource.h:
4239         * inspector/InspectorInstrumentation.cpp:
4240         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
4241         (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
4242         * inspector/InspectorInstrumentation.h:
4243         (WebCore::InspectorInstrumentation::didUseDOMStorage):
4244         * inspector/InstrumentingAgents.h:
4245         (WebCore::InstrumentingAgents::InstrumentingAgents):
4246         * inspector/WorkerInspectorController.cpp:
4247         (WebCore::WorkerInspectorController::WorkerInspectorController):
4248         (WebCore::WorkerInspectorController::connectFrontend):
4249         * inspector/generate-inspector-idl:
4250         * page/Chrome.cpp:
4251         * page/DOMWindow.cpp:
4252         (WebCore::DOMWindow::~DOMWindow):
4253         (WebCore::DOMWindow::clear):
4254         (WebCore::DOMWindow::localStorage):
4255         * page/DOMWindow.h:
4256         * page/DOMWindow.idl:
4257         * page/Navigator.cpp:
4258         (WebCore::Navigator::getStorageUpdates):
4259         * page/Navigator.h:
4260         * page/Navigator.idl:
4261         * page/Page.cpp:
4262         * page/Page.h:
4263         * page/PageGroup.cpp:
4264         (WebCore::PageGroup::closeLocalStorage):
4265         * page/PageGroup.h:
4266         * page/Settings.cpp:
4267         (WebCore::Settings::Settings):
4268         (WebCore::Settings::setSessionStorageQuota):
4269         * page/Settings.h:
4270         (WebCore::Settings::sessionStorageQuota):
4271         * storage/LocalStorageTask.cpp:
4272         * storage/LocalStorageTask.h:
4273         * storage/LocalStorageThread.cpp:
4274         * storage/LocalStorageThread.h:
4275         * storage/Storage.cpp:
4276         * storage/Storage.h:
4277         * storage/Storage.idl:
4278         * storage/StorageArea.h:
4279         * storage/StorageAreaImpl.cpp:
4280         * storage/StorageAreaImpl.h:
4281         * storage/StorageAreaSync.cpp:
4282         (WebCore::StorageAreaSync::scheduleSync):
4283         * storage/StorageAreaSync.h:
4284         * storage/StorageEvent.cpp:
4285         * storage/StorageEvent.h:
4286         * storage/StorageEvent.idl:
4287         * storage/StorageEventDispatcher.cpp:
4288         * storage/StorageEventDispatcher.h:
4289         * storage/StorageMap.cpp:
4290         * storage/StorageMap.h:
4291         * storage/StorageNamespace.cpp:
4292         * storage/StorageNamespace.h:
4293         * storage/StorageNamespaceImpl.cpp:
4294         * storage/StorageNamespaceImpl.h:
4295         * storage/StorageSyncManager.cpp:
4296         (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
4297         * storage/StorageSyncManager.h:
4298         * storage/StorageTracker.cpp:
4299         * storage/StorageTracker.h:
4300
4301 2011-10-15  Adam Barth  <abarth@webkit.org>
4302
4303         Rename ENABLE(SKIA_TEXT) to USE(SKIA_TEXT)
4304         https://bugs.webkit.org/show_bug.cgi?id=70191
4305
4306         Reviewed by Daniel Bates.
4307
4308         SKIA_TEXT is not a WebKit feature.  It's a macro that determines
4309         whether we use a feature of the underly library (Skia).
4310
4311         * platform/graphics/chromium/FontChromiumWin.cpp:
4312         (WebCore::Font::drawComplexText):
4313         * platform/graphics/chromium/UniscribeHelper.cpp:
4314         (WebCore::UniscribeHelper::draw):
4315         * platform/graphics/skia/PlatformContextSkia.cpp:
4316         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
4317         * platform/graphics/skia/PlatformContextSkia.h:
4318         * platform/graphics/skia/SkiaFontWin.cpp:
4319         * platform/graphics/skia/SkiaFontWin.h:
4320
4321 2011-10-15  Eric Carlson  <eric.carlson@apple.com>
4322
4323         Make VIDEO_TRACK compile with warnings as errors enabled
4324         https://bugs.webkit.org/show_bug.cgi?id=70188
4325
4326         Reviewed by Filip Pizlo.
4327
4328         No new tests, no functionality changed.
4329
4330         * html/TextTrackCueList.h: Fix an include.
4331         * html/track/CueParser.cpp:
4332         (WebCore::CueParser::supportsType): Remove unused param.
4333         * html/track/CueParser.h:
4334         (WebCore::CueParserClient::~CueParserClient): Add virtual destructor.
4335         * html/track/CueParserPrivate.h:
4336         (WebCore::CueParserPrivateClient::~CueParserPrivateClient): Ditto.
4337         * loader/CueLoader.h:
4338         (WebCore::CueLoaderClient::~CueLoaderClient): Ditto.
4339         (WebCore::CueLoader::~CueLoader): Ditto.
4340
4341 2011-10-15  Adam Barth  <abarth@webkit.org>
4342
4343         Rename ENABLE(TILED_BACKING_STORE) to USE(TILED_BACKING_STORE)
4344         https://bugs.webkit.org/show_bug.cgi?id=70194
4345
4346         Reviewed by Daniel Bates.
4347
4348         TILED_BACKING_STORE isn't a web platform feature.  It's an
4349         implementation strategy for WebKit that's used by some ports
4350         and not by others.
4351
4352         * features.pri:
4353         * loader/EmptyClients.h:
4354         * page/Chrome.cpp:
4355         * page/Chrome.h:
4356         * page/ChromeClient.h:
4357         * page/Frame.cpp:
4358         (WebCore::Frame::Frame):
4359         (WebCore::Frame::setView):
4360         * page/Frame.h:
4361         * page/FrameView.cpp:
4362         (WebCore::FrameView::repaintContentRectangle):
4363         (WebCore::FrameView::doDeferredRepaints):
4364         * page/Settings.cpp:
4365         (WebCore::Settings::setTiledBackingStoreEnabled):
4366         * platform/HostWindow.h:
4367         * platform/ScrollView.cpp:
4368         (WebCore::ScrollView::setScrollPosition):
4369         * platform/graphics/Tile.h:
4370         * platform/graphics/TiledBackingStore.cpp:
4371         * platform/graphics/TiledBackingStore.h:
4372         * platform/graphics/TiledBackingStoreBackend.h:
4373         * platform/graphics/TiledBackingStoreClient.h:
4374         * platform/graphics/qt/GraphicsLayerQt.cpp:
4375         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
4376         (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
4377         (WebCore::GraphicsLayerQtImpl::recache):
4378         (WebCore::GraphicsLayerQtImpl::paint):
4379         * platform/graphics/qt/TileQt.cpp:
4380         * platform/graphics/qt/TileQt.h:
4381         * platform/graphics/texmap/TextureMapperNode.cpp:
4382         (WebCore::TextureMapperNode::computeTiles):
4383         (WebCore::TextureMapperNode::renderContent):
4384         (WebCore::TextureMapperNode::paintSelf):
4385         (WebCore::TextureMapperNode::syncCompositingStateSelf):
4386         * platform/graphics/texmap/TextureMapperNode.h:
4387         (WebCore::TextureMapperNode::State::State):
4388
4389 2011-10-15  Adam Barth  <abarth@webkit.org>
4390
4391         Remove the last remnant of WBXML
4392         https://bugs.webkit.org/show_bug.cgi?id=70187
4393
4394         Reviewed by Daniel Bates.
4395
4396         The bulk of the WBXML code was removed in 2009, but we missed one block.
4397
4398         * platform/wince/MIMETypeRegistryWinCE.cpp:
4399         (WebCore::initMIMETypeEntensionMap):
4400
4401 2011-10-15  Darin Adler  <darin@apple.com>
4402
4403         REGRESSION(r97533): fast/forms/select-script-onchange.html failed after
4404         https://bugs.webkit.org/show_bug.cgi?id=70173
4405
4406         Reviewed by Ryosuke Niwa.
4407
4408         * html/HTMLSelectElement.cpp:
4409         (WebCore::HTMLSelectElement::setValue): Removed unneeded boolean argument
4410         [true for deselect].
4411         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Added explicit
4412         boolean arguments for all calls to setSelectedIndex to restore pre-r97533
4413         behavior.
4414         (WebCore::HTMLSelectElement::typeAheadFind): Ditto.
4415         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
4416
4417         * html/HTMLSelectElement.h:
4418         Removed default of true for userDrivenChange. Each caller should pass it
4419         explicitly. Longer term we should use an enum instead of a boolean or find
4420         some other way of avoiding the argument.
4421         (WebCore::HTMLSelectElement::setSelectedIndex):
4422         Pass false for userDrivenChange as the old code did pre-r97533.
4423
4424 2011-10-15  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
4425
4426         [Qt] [Symbian] Remove support for the Symbian platform for the QtWebKit port
4427         https://bugs.webkit.org/show_bug.cgi?id=69920
4428
4429         Reviewed by Kenneth Rohde Christiansen.
4430
4431         No new tests as there is no new functionality.
4432
4433         * WebCore.gypi:
4434         * WebCore.pri:
4435         * WebCore.pro:
4436         * bindings/v8/V8GCController.cpp:
4437         (WebCore::V8GCController::checkMemoryUsage):
4438         * config.h:
4439         * css/CSSPrimitiveValueMappings.h:
4440         (WebCore::CSSPrimitiveValue::operator int):
4441         * features.pri:
4442         * page/NavigatorBase.cpp:
4443         * platform/graphics/qt/GraphicsContextQt.cpp:
4444         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
4445         * platform/network/qt/ResourceRequestQt.cpp:
4446         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
4447         * platform/text/qt/TextCodecQt.cpp:
4448         (WebCore::TextCodecQt::decode):
4449         * plugins/PluginDatabase.cpp:
4450         * plugins/PluginPackage.cpp:
4451         (WebCore::PluginPackage::unload):
4452         * plugins/PluginPackage.h:
4453         (WebCore::PluginPackage::version):
4454         * plugins/PluginView.cpp:
4455         (WebCore::PluginView::setFrameRect):
4456         * plugins/PluginView.h:
4457         * plugins/npapi.h:
4458         * plugins/symbian: Removed.
4459         * plugins/symbian/PluginContainerSymbian.cpp: Removed.
4460         * plugins/symbian/PluginContainerSymbian.h: Removed.
4461         * plugins/symbian/PluginDatabaseSymbian.cpp: Removed.
4462         * plugins/symbian/PluginPackageSymbian.cpp: Removed.
4463         * plugins/symbian/PluginViewSymbian.cpp: Removed.
4464         * plugins/symbian/npinterface.h: Removed.
4465
4466 2011-10-08  Robert Hogan  <robert@webkit.org>
4467
4468         CSS 2.1 failure: height-width-table-001.htm
4469         https://bugs.webkit.org/show_bug.cgi?id=69709
4470
4471         Reviewed by Simon Fraser.
4472
4473         CSS 2.1 expects CSS table elements to treat fixed height/width as
4474         excluding table borders, but HTML table elements to treat fixed height/width as
4475         including them.
4476         
4477         See http://lists.w3.org/Archives/Public/www-style/2011Jan/0178.html
4478             http://lists.w3.org/Archives/Public/public-css-testsuite/2011Oct/0005.html
4479             
4480         It looks like some clarification is pending in the specs, but the new behaviour
4481         lets WebKit pass the following tests in the suite CSS and also match FF:
4482           height-width-table-001.htm
4483           height-width-inline-table-001.htm
4484           abspos-containing-block-initial-004d.htm
4485
4486         * rendering/RenderTable.cpp:
4487         (WebCore::RenderTable::computeLogicalWidth):
4488         (WebCore::RenderTable::layout):
4489
4490 2011-10-15  Darin Adler  <darin@apple.com>
4491
4492         Make toHTMLElement fail to compile if you try to use it on an HTMLElement*
4493         https://bugs.webkit.org/show_bug.cgi?id=70164
4494
4495         Reviewed by Adam Barth.
4496
4497         Refactoring covered by existing tests.
4498
4499         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
4500         (WebCore::JSHTMLFrameSetElement::nameGetter): Removed unneeded casts and
4501         some unneeded local variables as well. Changed the name of the local variable
4502         for the HTMLFrameElement to frameElement to avoid confusion with the Frame.
4503         * dom/Document.cpp:
4504         (WebCore::Document::openSearchDescriptionURL): Removed unneeded HTMLElement
4505         check; we can call hasTagName directly on a Node and that takes care of
4506         checking both that it's an HTMLElement and checking the tag name.
4507         * dom/MicroDataItemList.cpp:
4508         (WebCore::MicroDataItemList::nodeMatches): Use toHTMLElement instead of
4509         a cast. Also changed hasAttribute calls to fastHasAttribute and getAttribute
4510         calls to fastGetAttribute since these are neither style attributes nor SVG
4511         animatables.
4512         * editing/ApplyStyleCommand.cpp:
4513         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Use toHTMLElement.
4514         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Ditto.
4515         * editing/DeleteButtonController.cpp:
4516         (WebCore::DeleteButtonController::show): Removed unneeded toHTMLElement call.
4517         * html/HTMLElement.cpp:
4518         (WebCore::HTMLElement::setOuterHTML): Use toHTMLElement.
4519         * html/HTMLElement.h: Added toHTMLElement overload to catch calls when the
4520         pointer is already HTMLElement* or a pointer to a class derived from it.
4521         * html/HTMLSelectElement.cpp:
4522         (WebCore::HTMLSelectElement::recalcListItems): Use toHTMLElement.
4523         * html/HTMLTextAreaElement.cpp:
4524         (WebCore::HTMLTextAreaElement::innerTextElement): Use toHTMLElement.
4525
4526 2011-10-15  Antoine Labour  <piman@chromium.org>
4527
4528         Add WebAcceleratedContentLayer backed by a texture to support accelerated content hosting
4529         https://bugs.webkit.org/show_bug.cgi?id=70084
4530
4531         Reviewed by James Robinson.
4532
4533         Covered by existing compositing/ tests
4534
4535         * platform/graphics/chromium/LayerChromium.h:
4536         * platform/graphics/chromium/LayerRendererChromium.cpp:
4537         (WebCore::LayerRendererChromium::pluginLayerProgramFlip):
4538         (WebCore::LayerRendererChromium::cleanupSharedObjects):
4539         * platform/graphics/chromium/LayerRendererChromium.h:
4540         * platform/graphics/chromium/PluginLayerChromium.cpp:
4541         (WebCore::PluginLayerChromium::PluginLayerChromium):
4542         (WebCore::PluginLayerChromium::setTextureId):
4543         (WebCore::PluginLayerChromium::setFlipped):
4544         (WebCore::PluginLayerChromium::pushPropertiesTo):
4545         * platform/graphics/chromium/PluginLayerChromium.h:
4546         (WebCore::PluginLayerChromium::flipped):
4547         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
4548         (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
4549         (WebCore::CCPluginLayerImpl::draw):
4550         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
4551         (WebCore::CCPluginLayerImpl::setFlipped):
4552
4553 2011-10-15  Michael Nordman  <michaeln@google.com>
4554
4555         [Chromium] Some WebSQLDatabase in worker bug fixes.
4556         https://bugs.webkit.org/show_bug.cgi?id=70071
4557
4558         - Test for a NULL webView WebWorkerClientImpl.
4559         - Avoid altering Database instance lifetimes during WorkerThread::stop().
4560
4561         Existing tests coverage applies.
4562
4563         Reviewed by David Levin.
4564
4565         * storage/chromium/DatabaseTrackerChromium.cpp:
4566         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
4567
4568 2011-10-14  Adam Barth  <abarth@webkit.org>
4569
4570         Update expected results.
4571
4572         * bindings/scripts/test/V8/V8TestObj.cpp:
4573         (WebCore::TestObjInternal::serializedValueCallback):
4574
4575 2011-10-14  Ryosuke Niwa  <rniwa@webkit.org>
4576
4577         GTK build fix after r97533.
4578
4579         * accessibility/gtk/AXObjectCacheAtk.cpp:
4580         (WebCore::notifyChildrenSelectionChange):
4581         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
4582         (optionFromSelection):
4583         (webkit_accessible_selection_get_selection_count):
4584
4585 2011-10-14  David Kilzer  <ddkilzer@apple.com>
4586
4587         <http://webkit.org/b/70158> Fix clang compiler warnings
4588
4589         Reviewed by Darin Adler.
4590
4591         * dom/ViewportArguments.cpp:
4592         (WebCore::computeViewportAttributes): Use std::max<float>()
4593         instead of std::max().
4594
4595 2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
4596
4597         Rename getOwnPropertySlot to getOwnPropertySlotVirtual
4598         https://bugs.webkit.org/show_bug.cgi?id=69810
4599
4600         Reviewed by Geoffrey Garen.
4601
4602         No new tests.
4603
4604         Renamed the virtual version of getOwnPropertySlot to getOwnPropertySlotVirtual
4605         in preparation for when we add the static getOwnPropertySlot to the MethodTable 
4606         in ClassInfo.
4607
4608         Also added a few static getOwnPropertySlot functions where they had been overlooked 
4609         before (especially in CodeGeneratorJS.pm).
4610
4611         * WebCore.exp.in:
4612         * bindings/js/JSDOMWindowCustom.cpp:
4613         (WebCore::JSDOMWindow::getOwnPropertySlotVirtual):
4614         (WebCore::JSDOMWindow::getOwnPropertySlot):
4615         (WebCore::DialogHandler::returnValue):
4616         * bindings/js/JSDOMWindowShell.cpp:
4617         (WebCore::JSDOMWindowShell::getOwnPropertySlotVirtual):
4618         (WebCore::JSDOMWindowShell::getOwnPropertySlot):
4619         * bindings/js/JSDOMWindowShell.h:
4620         * bindings/js/JSWorkerContextCustom.cpp:
4621         (WebCore::JSWorkerContext::getOwnPropertySlotDelegate):
4622         * bindings/js/SerializedScriptValue.cpp:
4623         (WebCore::CloneSerializer::getSparseIndex):
4624         (WebCore::CloneSerializer::getProperty):
4625         * bindings/scripts/CodeGeneratorJS.pm:
4626         (GenerateGetOwnPropertySlotBody):
4627         (GenerateHeader):
4628         (GenerateImplementation):
4629         (GenerateConstructorDeclaration):
4630         (GenerateConstructorDefinition):
4631         * bindings/scripts/test/JS/JSTestInterface.cpp:
4632         (WebCore::JSTestInterfaceConstructor::getOwnPropertySlotVirtual):
4633         (WebCore::JSTestInterfaceConstructor::getOwnPropertySlot):
4634         (WebCore::JSTestInterface::getOwnPropertySlotVirtual):
4635         (WebCore::JSTestInterface::getOwnPropertySlot):
4636         * bindings/scripts/test/JS/JSTestInterface.h:
4637         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
4638         (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlotVirtual):
4639         (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlot):
4640         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlotVirtual):
4641         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
4642         (WebCore::JSTestMediaQueryListListener::getOwnPropertySlotVirtual):
4643         (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
4644         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
4645         * bindings/scripts/test/JS/JSTestObj.cpp:
4646         (WebCore::JSTestObjConstructor::getOwnPropertySlotVirtual):
4647         (WebCore::JSTestObjConstructor::getOwnPropertySlot):
4648         (WebCore::JSTestObjPrototype::getOwnPropertySlotVirtual):
4649         (WebCore::JSTestObjPrototype::getOwnPropertySlot):
4650         (WebCore::JSTestObj::getOwnPropertySlotVirtual):
4651         (WebCore::JSTestObj::getOwnPropertySlot):
4652         * bindings/scripts/test/JS/JSTestObj.h:
4653         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
4654         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlotVirtual):
4655         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot):
4656         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlotVirtual):
4657         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
4658         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
4659         * bridge/objc/objc_runtime.h:
4660         * bridge/objc/objc_runtime.mm:
4661         (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlotVirtual):
4662         * bridge/qt/qt_instance.cpp:
4663         (JSC::Bindings::QtInstance::getOwnPropertySlot):
4664         * bridge/qt/qt_runtime.cpp:
4665         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertySlotVirtual):
4666         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertySlotVirtual):
4667         * bridge/qt/qt_runtime.h:
4668         * bridge/runtime_array.cpp:
4669         (JSC::RuntimeArray::getOwnPropertySlotVirtual):
4670         * bridge/runtime_array.h:
4671         * bridge/runtime_method.cpp:
4672         (JSC::RuntimeMethod::getOwnPropertySlotVirtual):
4673         * bridge/runtime_method.h:
4674         * bridge/runtime_object.cpp:
4675         (JSC::Bindings::RuntimeObject::getOwnPropertySlotVirtual):
4676         * bridge/runtime_object.h:
4677
4678 2011-10-14  Ryosuke Niwa  <rniwa@webkit.org>
4679
4680         Windows build fix attempt after r97533.
4681
4682         * html/HTMLSelectElementWin.cpp:
4683         (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
4684
4685 2011-10-14  Darin Adler  <darin@apple.com>
4686
4687         Follow up the recent HTMLSelectElement improvements with a little bit more
4688         https://bugs.webkit.org/show_bug.cgi?id=70139
4689
4690         Reviewed by Ryosuke Niwa.
4691
4692         Refactoring, covered by existing tests.
4693
4694         Mostly, this adds a toHTMLSelectElement and uses it wherever possible.
4695
4696         * accessibility/AccessibilityListBox.cpp:
4697         (WebCore::AccessibilityListBox::canSetSelectedChildrenAttribute): Use toHTMLSelectElement.
4698         (WebCore::AccessibilityListBox::addChildren): Ditto. Also removed unneeded toHTMLElement.
4699         * accessibility/AccessibilityMenuListPopup.cpp:
4700         (WebCore::AccessibilityMenuListPopup::addChildren): Ditto.
4701         * accessibility/AccessibilityRenderObject.cpp:
4702         (WebCore::AccessibilityRenderObject::isMultiSelectable): Ditto.
4703         (WebCore::AccessibilityRenderObject::stringValue): Removed checks on the type of the
4704         underlying node, since other code already assumes that a menu list renderer is only
4705         created for a select element. Streamlined the code a bit and removed some unneeded
4706         local variables.
4707         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
4708         (WebCore::JSHTMLOptionsCollection::indexSetter): Use toHTMLSelectElement.
4709         * bindings/js/JSHTMLSelectElementCustom.cpp:
4710         (WebCore::JSHTMLSelectElement::remove): Ditto.
4711         (WebCore::JSHTMLSelectElement::indexSetter): Ditto.
4712         * editing/FrameSelection.cpp:
4713         (WebCore::FrameSelection::selectAll): Ditto.
4714         * html/HTMLKeygenElement.cpp:
4715         (WebCore::HTMLKeygenElement::shadowSelect): Ditto.
4716         * html/HTMLOptGroupElement.cpp:
4717         (WebCore::HTMLOptGroupElement::recalcSelectOptions): Ditto.
4718         (WebCore::HTMLOptGroupElement::ownerSelectElement): Ditto.
4719         * html/HTMLOptionElement.cpp:
4720         (WebCore::HTMLOptionElement::selected): Changed code to call renamed
4721         updateListItemSelectedStates rather than the confusing old name
4722         recalcListItemsIfNeeded.
4723         (WebCore::HTMLOptionElement::childrenChanged): Changed to call
4724         optionElementChildrenChanged rather than calling childrenChanged,
4725         because the children of the select element did not change!
4726         (WebCore::HTMLOptionElement::ownerSelectElement): Use toHTMLSelectElement.
4727         * html/HTMLOptionsCollection.cpp:
4728         (WebCore::HTMLOptionsCollection::add): Use toHTMLSelectElement.
4729         (WebCore::HTMLOptionsCollection::remove): Use toHTMLSelectElement.
4730         (WebCore::HTMLOptionsCollection::selectedIndex): Use toHTMLSelectElement.
4731         (WebCore::HTMLOptionsCollection::setSelectedIndex): Use toHTMLSelectElement.
4732         (WebCore::HTMLOptionsCollection::setLength): Use toHTMLSelectElement.
4733         * html/HTMLSelectElement.cpp:
4734         (WebCore::HTMLSelectElement::setSelectedIndexByUser): Call setSelectedIndex
4735         without the now-unneeded internal suffix.
4736         (WebCore::HTMLSelectElement::parseMappedAttribute): When the code says that
4737         we should "determine selectedness of the items", call updateListItemSelectedStates
4738         rather than the confusingly named recalcListItemsIfNeeded.
4739         (WebCore::HTMLSelectElement::updateListItemSelectedStates): Renamed
4740         recalcListItemsIfNeeded to this, since that's what this function is for.
4741         (WebCore::HTMLSelectElement::optionElementChildrenChanged): Added. Does
4742         the same work as childrenChanged, although it does not call up to the
4743         base class childrenChanged function. Later we might find we can remove
4744         some of the work here, for example it's not clear we should call the
4745         accessibility childrenChanged function.
4746         (WebCore::HTMLSelectElement::nextValidIndex): Changed this to a member function
4747         and made it get the list items itself rather than requiring they be passed in.
4748         (WebCore::HTMLSelectElement::nextSelectableListIndex): Updated for change to
4749         nextValidIndex.
4750         (WebCore::HTMLSelectElement::previousSelectableListIndex): Ditto.
4751         (WebCore::HTMLSelectElement::firstSelectableListIndex): Ditto.
4752         (WebCore::HTMLSelectElement::lastSelectableListIndex): Ditto.
4753         (WebCore::HTMLSelectElement::nextSelectableListIndexPageAway): Ditto.
4754         (WebCore::HTMLSelectElement::listItems): Removed unneeded const_cast, since
4755         recalcListItems is now a const member function. Call recalcListItems by that
4756         name instead of recalcListItemsInternal.
4757         (WebCore::HTMLSelectElement::recalcListItems): Renamed from recalcListItemsInternal
4758         and made this a const member function. The data members that this needs to modify
4759         are now mutable.
4760         (WebCore::HTMLSelectElement::setSelectedIndex): Renamed from setSelectedIndexInternal.
4761         Changed call to updateValidity to instead call setNeedsValidityCheck, since both
4762         do the same thing.
4763         (WebCore::HTMLSelectElement::parseMultipleAttribute): Ditto.
4764         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Updated for change to
4765         nextValidIndex, removed unneeded comparison with zero that's already handled by
4766         casting to an unsigned type, and use setSelectedIndex instead of using
4767         setSelectedIndexInternal since they are both the same thing.
4768         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Removed another unneeded
4769         comparision with zero that's handled by casting to an unsigned type.
4770         (WebCore::HTMLSelectElement::lastSelectedListIndex): Use size_t instead of unsigned
4771         for a vector index.
4772         (WebCore::HTMLSelectElement::typeAheadFind): Use setSelectedIndex instead of
4773         setSelectedIndexInternal.
4774         (WebCore::HTMLSelectElement::insertedIntoTree): Removed unneeded explicit boolean
4775         when calling a function that already has a default value of true.
4776         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Use setSelectedIndex
4777         instead of setSelectedIndexInternal.
4778
4779         * html/HTMLSelectElement.h: Made childrenChanged private. Added
4780         optionElementChildrenChanged. Renamed recalcListItemsIfNeeded to the clearer
4781         updateListItemSelectedStates. Removed unused listBoxSelectItem. Removed
4782         updateValidity after changing all callers to instead call setNeedsValidityCheck.
4783         Made canSelectAll and selectAll non-virtual. Removed recalcListItemsInternal
4784         since it's the same thing as recalcListItems now. Renamed setSelectedIndexInternal
4785         to setSelectedIndex since it's the same function, just with a few arguments we
4786         don't want to allow outside callers to pass. Changed nextValidIndex into a
4787         non-static member function. Made m_listItems and m_shouldRecalcListItems mutable.
4788         Added a toHTMLSelectElement function, modeled on the toElement function.
4789
4790         * html/ValidityState.cpp:
4791         (WebCore::ValidityState::valueMissing): Use toHTMLSelectElement.
4792         * rendering/RenderListBox.cpp:
4793         (WebCore::RenderListBox::updateFromElement): Ditto.
4794         (WebCore::RenderListBox::scrollToRevealSelection): Ditto.
4795         (WebCore::RenderListBox::size): Ditto.
4796         (WebCore::RenderListBox::numItems): Ditto.
4797         (WebCore::RenderListBox::addFocusRingRects): Ditto.
4798         (WebCore::RenderListBox::paintItemForeground): Ditto.
4799         (WebCore::RenderListBox::paintItemBackground): Ditto.
4800         (WebCore::RenderListBox::panScroll): Ditto.
4801         (WebCore::RenderListBox::autoscroll): Ditto.
4802         (WebCore::RenderListBox::stopAutoscroll): Ditto.
4803         (WebCore::RenderListBox::valueChanged): Ditto.
4804         (WebCore::RenderListBox::nodeAtPoint): Ditto.
4805         * rendering/RenderMenuList.cpp:
4806         (WebCore::RenderMenuList::updateOptionsWidth): Ditto.
4807         (WebCore::RenderMenuList::updateFromElement): Ditto.
4808         (WebCore::RenderMenuList::setTextFromOption): Ditto.
4809         (WebCore::RenderMenuList::showPopup): Ditto.
4810         (WebCore::RenderMenuList::valueChanged): Ditto.
4811         (WebCore::RenderMenuList::listBoxSelectItem): Ditto.
4812         (WebCore::RenderMenuList::multiple): Ditto.
4813         (WebCore::RenderMenuList::didSetSelectedIndex): Ditto.
4814         (WebCore::RenderMenuList::didUpdateActiveOption): Ditto.
4815         (WebCore::RenderMenuList::itemText): Ditto.
4816         (WebCore::RenderMenuList::itemAccessibilityText): Ditto.
4817         (WebCore::RenderMenuList::itemToolTip): Ditto.
4818         (WebCore::RenderMenuList::itemIsEnabled): Ditto. Also use the
4819         disabled function instead of the virtual isEnabledFormControl
4820         function to check if the optgroup is enabled.
4821         (WebCore::RenderMenuList::itemStyle): Ditto.
4822         (WebCore::RenderMenuList::itemBackgroundColor): Ditto.
4823         (WebCore::RenderMenuList::listSize): Ditto.
4824         (WebCore::RenderMenuList::selectedIndex): Ditto.
4825         (WebCore::RenderMenuList::itemIsSeparator): Ditto.
4826         (WebCore::RenderMenuList::itemIsLabel): Ditto.
4827         (WebCore::RenderMenuList::itemIsSelected): Ditto.
4828         (WebCore::RenderMenuList::setTextFromItem): Ditto.
4829
4830 2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
4831
4832         Rename virtual put to putVirtual
4833         https://bugs.webkit.org/show_bug.cgi?id=69851
4834
4835         Reviewed by Darin Adler.
4836
4837         No new tests.
4838
4839         Renamed virtual versions of put to putVirtual in prepration for 
4840         adding the static put to the MethodTable in ClassInfo since the 
4841         compiler gets mad if the virtual and static versions have the same 
4842         name.
4843
4844         * WebCore.exp.in:
4845         * bindings/js/JSDOMWindowCustom.cpp:
4846         (WebCore::JSDOMWindow::putVirtual):
4847         * bindings/js/JSDOMWindowShell.cpp:
4848         (WebCore::JSDOMWindowShell::putVirtual):
4849         * bindings/js/JSDOMWindowShell.h:
4850         * bindings/js/JSLocationCustom.cpp:
4851         (WebCore::JSLocation::putDelegate):
4852         * bindings/js/JSPluginElementFunctions.cpp:
4853         (WebCore::runtimeObjectCustomPut):
4854         * bindings/js/SerializedScriptValue.cpp:
4855         (WebCore::CloneDeserializer::putProperty):
4856         * bindings/objc/WebScriptObject.mm:
4857         (-[WebScriptObject setValue:forKey:]):
4858         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
4859         * bindings/scripts/CodeGeneratorJS.pm:
4860         (GenerateHeader):
4861         (GenerateImplementation):
4862         * bindings/scripts/test/JS/JSTestObj.cpp:
4863         (WebCore::JSTestObj::putVirtual):
4864         * bindings/scripts/test/JS/JSTestObj.h:
4865         * bridge/NP_jsobject.cpp:
4866         (_NPN_SetProperty):
4867         * bridge/jni/jni_jsobject.mm:
4868         (JavaJSObject::setMember):
4869         (JavaJSObject::setSlot):
4870         * bridge/objc/objc_runtime.h:
4871         * bridge/objc/objc_runtime.mm:
4872         (JSC::Bindings::ObjcFallbackObjectImp::putVirtual):
4873         * bridge/qt/qt_instance.cpp:
4874         (JSC::Bindings::QtInstance::put):
4875         * bridge/qt/qt_runtime.cpp:
4876         (JSC::Bindings::convertQVariantToValue):
4877         * bridge/runtime_array.cpp:
4878         (JSC::RuntimeArray::putVirtual):
4879         * bridge/runtime_array.h:
4880         * bridge/runtime_object.cpp:
4881         (JSC::Bindings::RuntimeObject::putVirtual):
4882         * bridge/runtime_object.h:
4883         * bridge/testqtbindings.cpp:
4884         (main):
4885
4886 2011-10-14  Sheriff Bot  <webkit.review.bot@gmail.com>
4887
4888         Unreviewed, rolling out r97519.
4889         http://trac.webkit.org/changeset/97519
4890         https://bugs.webkit.org/show_bug.cgi?id=70156
4891
4892         Broke 79+ tests on bots (Requested by dglazkov on #webkit).
4893
4894         * platform/graphics/skia/GraphicsContextSkia.cpp:
4895         (WebCore::getFocusRingOutset):
4896         (WebCore::GraphicsContext::drawFocusRing):
4897
4898 2011-09-28  Robert Hogan  <robert@webkit.org>
4899
4900         Replaced elements squeezed when width is specified as percentage inside a table with Auto layout
4901         https://bugs.webkit.org/show_bug.cgi?id=29447
4902
4903         If inserting a 'replaced' element (e.g. image, plugin) in a table cell that is not descendant from
4904         a block with fixed layout then do not squeeze the element, let it use its intrinsic width and height.
4905
4906         Reviewed by David Hyatt.
4907
4908         Test: fast/replaced/table-percent-width.html
4909
4910         * rendering/RenderBox.cpp:
4911         (WebCore::shouldExpandToIntrinsicDimension):
4912         (WebCore::RenderBox::containingBlockReplacedLogicalWidthForContent):
4913         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
4914         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
4915         * rendering/RenderBox.h:
4916
4917 2011-10-14  Cary Clark  <caryclark@google.com>
4918
4919         [Chromium Skia on Mac] Improve focus ring
4920         https://bugs.webkit.org/show_bug.cgi?id=70124
4921
4922         Reviewed by Eric Seidel.
4923         
4924         The focus ring code formerly outset the bounds of
4925         the component rectangles by fractional amounts. Because
4926         the rectangles are SkIRect (integer based), the fractional
4927         outset had no effect.
4928
4929         The equivalent code in GraphicsContextMac.mm computes
4930         the curve radius and rectangle outset with integers, so
4931         the use of floats in Skia's case, besides not working,
4932         is unnecessary.
4933
4934         The Skia code also failed to take the offset into account.
4935         In LayoutTests, the focus rings either have an offset of
4936         0 or 2. The CoreGraphics code increases the ring's rectangles
4937         by the offset, then passes the result to wkDrawFocusRing.
4938
4939         I did not find any documentation about how wkDrawFocusRing
4940         further inflates the focus ring, but empirically I determined
4941         that adding 2 to the offset generated rings with identical
4942         outer diameters.
4943  
4944         With these adjustments, the layout tests generate focus rings
4945         in the Skia on Mac case that match the coverage of the
4946         Chromium CG-based platform, in particular, matching:
4947         
4948         editing/inserting/editable-inline-element.html
4949         editing/selection/3690703-2.html
4950
4951         * platform/graphics/skia/GraphicsContextSkia.cpp:
4952         (WebCore::getFocusRingOutset):
4953         (WebCore::GraphicsContext::drawFocusRing):
4954
4955 2011-10-14  Chang Shu  <cshu@webkit.org>
4956
4957         [Qt] Enable fullscreen api on Qt
4958         https://bugs.webkit.org/show_bug.cgi?id=70131
4959
4960         As a result, we have 3 passed tests.
4961
4962         Reviewed by Noam Rosenthal.
4963
4964         * features.pri:
4965
4966 2011-10-14  Beth Dakin  <bdakin@apple.com>
4967
4968         https://bugs.webkit.org/show_bug.cgi?id=70148
4969         Should switch to CoreUI version of CorrectionDot, GrammarDot, and SpellingDot
4970         -and corresponding-
4971         <rdar://problem/10208281>
4972
4973         Reviewed by Anders Carlsson.
4974
4975         Use NS*Dot whenever it's available, and fallback to *Dot only when it is not.
4976         * platform/graphics/mac/GraphicsContextMac.mm:
4977         (WebCore::createPatternColor):
4978         (WebCore::GraphicsContext::drawLineForTextChecking):
4979
4980 2011-10-14  Dmitry Lomov  <dslomov@google.com>
4981
4982         https://bugs.webkit.org/show_bug.cgi?id=70120
4983         [Chromium] Pass MessagePortArray to SerializedScriptValue::serialize/deserialize.
4984         This patch augments SerializedScriptValue with MessagePortArray* parameter to implement MessagePort 
4985         transfer within the message in the future.
4986
4987         Reviewed by David Levin.
4988
4989         * bindings/scripts/CodeGeneratorV8.pm:
4990         (GenerateParametersCheck):
4991         * bindings/v8/SerializedScriptValue.cpp:
4992         (WebCore::SerializedScriptValue::create):
4993         (WebCore::SerializedScriptValue::SerializedScriptValue):
4994         (WebCore::SerializedScriptValue::deserialize):
4995         * bindings/v8/SerializedScriptValue.h:
4996         * bindings/v8/custom/V8DOMWindowCustom.cpp:
4997         (WebCore::handlePostMessageCallback):
4998         (WebCore::V8DOMWindow::postMessageCallback):
4999         (WebCore::V8DOMWindow::webkitPostMessageCallback):
5000         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
5001         (WebCore::handlePostMessageCallback):
5002         (WebCore::V8DedicatedWorkerContext::postMessageCallback):
5003         (WebCore::V8DedicatedWorkerContext::webkitPostMessageCallback):
5004         * bindings/v8/custom/V8HistoryCustom.cpp:
5005         (WebCore::V8History::pushStateCallback):
5006         (WebCore::V8History::replaceStateCallback):
5007         * bindings/v8/custom/V8MessageEventCustom.cpp:
5008         (WebCore::V8MessageEvent::dataAccessorGetter):
5009         * bindings/v8/custom/V8MessagePortCustom.cpp:
5010         (WebCore::handlePostMessageCallback):
5011         (WebCore::V8MessagePort::postMessageCallback):
5012         (WebCore::V8MessagePort::webkitPostMessageCallback):
5013         * bindings/v8/custom/V8WorkerCustom.cpp:
5014         (WebCore::handlePostMessageCallback):
5015         (WebCore::V8Worker::postMessageCallback):
5016         (WebCore::V8Worker::webkitPostMessageCallback):
5017         * workers/Worker.idl:
5018
5019 2011-10-14  Jeff Miller  <jeffm@apple.com>
5020
5021         InjectedBundleHitTestResult::imageRect() should return rect in WKView coordinates
5022         https://bugs.webkit.org/show_bug.cgi?id=69963
5023         
5024         Add infrastructure to convert from any frame view's coordinate system to the
5025         root view's coordinate system.
5026
5027         Reviewed by Simon Fraser.
5028
5029         No new tests (yet), this is covered by <https://bugs.webkit.org/show_bug.cgi?id=70136>.
5030
5031         * WebCore.exp.in: Exported WebCore::ScrollView::contentsToRootView(), used by InjectedBundleHitTestResult.cpp.
5032         
5033         * platform/ScrollView.cpp:
5034         (WebCore::ScrollView::rootViewToContents): Added (both point and rect versions).
5035         (WebCore::ScrollView::contentsToRootView): Ditto.
5036         
5037         * platform/ScrollView.h: Added member functions to convert to/from root view coordinates.
5038         
5039         * platform/Widget.cpp:
5040         (WebCore::Widget::convertFromRootView): Added (both point and rect versions).
5041         (WebCore::Widget::convertToRootView): Ditto.
5042         
5043         * platform/Widget.h: Added member functions to convert to/from root view coordinates.
5044
5045 2011-10-14  Andreas Kling  <kling@webkit.org>
5046
5047         CSSParser: Remove StyleBase usage.
5048         https://bugs.webkit.org/show_bug.cgi?id=70150
5049
5050         Reviewed by Darin Adler.
5051
5052         Split CSSParser::m_parsedStyleObjects into two vectors of
5053         CSSRules and MediaLists.
5054
5055         * css/CSSParser.cpp:
5056         (WebCore::CSSParser::createMediaList):
5057         (WebCore::CSSParser::createCharsetRule):
5058         (WebCore::CSSParser::createImportRule):
5059         (WebCore::CSSParser::createMediaRule):
5060         (WebCore::CSSParser::createKeyframesRule):
5061         (WebCore::CSSParser::createStyleRule):
5062         (WebCore::CSSParser::createFontFaceRule):
5063         (WebCore::CSSParser::createPageRule):
5064         (WebCore::CSSParser::createKeyframeRule):
5065         * css/CSSParser.h:
5066
5067 2011-10-14  Adam Barth  <abarth@webkit.org>
5068
5069         canvas getImageData should explain why it throws SECURITY_ERR
5070         https://bugs.webkit.org/show_bug.cgi?id=70088
5071
5072         Reviewed by Darin Adler.
5073
5074         Log as message to the console when getImageData fails because the
5075         canvas is tainted.
5076
5077         * html/canvas/CanvasRenderingContext2D.cpp:
5078         (WebCore::CanvasRenderingContext2D::getImageData):
5079
5080 2011-10-14  Andreas Kling  <kling@webkit.org>
5081
5082         Inspector: Remove StyleBase usage.
5083         https://bugs.webkit.org/show_bug.cgi?id=70138
5084
5085         Reviewed by Antti Koivisto.
5086
5087         Be fully specific about whether we're operating on a CSSRule or
5088         a CSSStyleSheet.
5089
5090         No behavior change expected, this merely is a cleanup.
5091
5092         * inspector/InspectorCSSAgent.cpp:
5093         (WebCore::InspectorCSSAgent::parentStyleSheet):
5094         (WebCore::InspectorCSSAgent::asCSSStyleRule):
5095         * inspector/InspectorCSSAgent.h:
5096         * inspector/InspectorStyleSheet.cpp:
5097         (WebCore::asCSSRuleList):
5098
5099 2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
5100
5101         Rename virtual deleteProperty to deletePropertyVirtual
5102         https://bugs.webkit.org/show_bug.cgi?id=69884
5103
5104         Reviewed by Darin Adler.
5105
5106         No new tests.
5107
5108         Renamed virtual versions of deleteProperty to deletePropertyVirtual in prepration for 
5109         adding the static deleteProperty to the MethodTable in ClassInfo since the 
5110         compiler gets mad if the virtual and static versions have the same name.
5111
5112         * WebCore.exp.in:
5113         * bindings/js/JSDOMStringMapCustom.cpp:
5114         (WebCore::JSDOMStringMap::deletePropertyVirtual):
5115         * bindings/js/JSDOMWindowCustom.cpp:
5116         (WebCore::JSDOMWindow::deletePropertyVirtual):
5117         * bindings/js/JSDOMWindowShell.cpp:
5118         (WebCore::JSDOMWindowShell::deletePropertyVirtual):
5119         * bindings/js/JSDOMWindowShell.h:
5120         * bindings/js/JSHistoryCustom.cpp:
5121         (WebCore::JSHistory::deletePropertyVirtual):
5122         * bindings/js/JSLocationCustom.cpp:
5123         (WebCore::JSLocation::deletePropertyVirtual):
5124         * bindings/js/JSStorageCustom.cpp:
5125         (WebCore::JSStorage::deletePropertyVirtual):
5126         * bindings/js/ScriptObject.cpp:
5127         (WebCore::ScriptGlobalObject::remove):
5128         * bindings/objc/WebScriptObject.mm:
5129         (-[WebScriptObject removeWebScriptKey:]):
5130         * bindings/scripts/CodeGeneratorJS.pm:
5131         (GenerateHeader):
5132         * bridge/NP_jsobject.cpp:
5133         (_NPN_RemoveProperty):
5134         * bridge/jni/jni_jsobject.mm:
5135         (JavaJSObject::removeMember):
5136         * bridge/objc/objc_runtime.h:
5137         * bridge/objc/objc_runtime.mm:
5138         (JSC::Bindings::ObjcFallbackObjectImp::deletePropertyVirtual):
5139         * bridge/runtime_array.cpp:
5140         (JSC::RuntimeArray::deletePropertyVirtual):
5141         * bridge/runtime_array.h:
5142         * bridge/runtime_object.cpp:
5143         (JSC::Bindings::RuntimeObject::deletePropertyVirtual):
5144         * bridge/runtime_object.h:
5145
5146 2011-10-14  Simon Fraser  <simon.fraser@apple.com>
5147
5148         Web Inspector: WebProcess crashes hard when inspecting elements with border-images applied
5149         https://bugs.webkit.org/show_bug.cgi?id=70105
5150
5151         Reviewed by Dave Hyatt.
5152         
5153         Fix three different crashes related to getting computed style for border-image.
5154         In both valueForNinePieceImageSlice() and valueForNinePieceImageQuad(),
5155         assign 'right' to 'left' because we've computed a value for 'right' already.
5156         Otherwise this would leave 'right' as null, causing later crashes in cssText().
5157         
5158         In mapNinePieceImage(), borderImage->imageValue() can be null for a border-image
5159         shorthand that is missing the image value.
5160
5161         Test: fast/css/getComputedStyle/computed-style-border-image.html
5162
5163         * css/CSSComputedStyleDeclaration.cpp:
5164         (WebCore::valueForNinePieceImageSlice):
5165         (WebCore::valueForNinePieceImageQuad):
5166         * css/CSSStyleSelector.cpp:
5167         (WebCore::CSSStyleSelector::mapNinePieceImage):
5168
5169 2011-10-14  Ryosuke Niwa  <rniwa@webkit.org>
5170
5171         Mac build fix after r97497.
5172
5173         * editing/markup.cpp:
5174         (WebCore::isNonTableCellHTMLBlockElement):
5175
5176 2011-10-14  Daniel Cheng  <dcheng@chromium.org>
5177
5178         Context-aware HTML paste for Chromium
5179         https://bugs.webkit.org/show_bug.cgi?id=62112
5180
5181         Reviewed by Ryosuke Niwa.
5182
5183         Add createFragmentFromMarkupWithContext which understands enough about DOM structure to
5184         retain necessary elements to preserve structure and appearance when extracting a subset of
5185         a DOM tree.
5186
5187         Covered by existing layout tests.
5188
5189         * editing/MarkupAccumulator.h:
5190         * editing/markup.cpp:
5191         (WebCore::isNonTableCellHTMLBlockElement):
5192         (WebCore::isHTMLBlockElement):
5193         (WebCore::ancestorToRetainStructureAndAppearanceForBlock):
5194         (WebCore::ancestorToRetainStructureAndAppearance):
5195         (WebCore::ancestorToRetainStructureAndAppearanceWithNoRenderer):
5196         (WebCore::findNodesSurroundingContext):
5197         (WebCore::trimFragment):
5198         (WebCore::createFragmentFromMarkupWithContext):
5199         * editing/markup.h:
5200         * platform/chromium/ChromiumDataObject.cpp:
5201         (WebCore::ChromiumDataObject::getData):
5202         * platform/chromium/DataTransferItemChromium.cpp:
5203         (WebCore::DataTransferItemChromium::getAsString):
5204         * platform/chromium/PasteboardChromium.cpp:
5205         (WebCore::Pasteboard::documentFragment):
5206         * platform/chromium/PlatformSupport.h:
5207
5208 2011-10-14  Peter Beverloo  <peter@chromium.org>
5209
5210         [Chromium] Inherit settings from Chromium's envsetup.sh, address a NDK todo
5211         https://bugs.webkit.org/show_bug.cgi?id=70028
5212
5213         Reviewed by Adam Barth.
5214
5215         * WebCore.gyp/WebCore.gyp:
5216
5217 2011-10-14  Nate Chapin  <japhet@chromium.org>
5218
5219         Check CachedResourceClient types with ASSERTs rather
5220         than if statements.
5221         https://bugs.webkit.org/show_bug.cgi?id=70113
5222
5223         Reviewed by Adam Barth.
5224
5225         No new tests, no functionality change.
5226
5227         * loader/cache/CachedCSSStyleSheet.cpp:
5228         * loader/cache/CachedFont.cpp:
5229         * loader/cache/CachedImage.cpp:
5230         * loader/cache/CachedResourceClientWalker.h:
5231         * loader/cache/CachedXSLStyleSheet.cpp:
5232
5233 2011-10-14  Andreas Kling  <kling@webkit.org>
5234
5235         Don't assert that CSSRules are CSSRules.
5236
5237         Rubber-stamped by Antti Koivisto.
5238
5239         * css/CSSRule.h:
5240         (WebCore::CSSRule::isRule):
5241         * css/CSSStyleSheet.cpp:
5242         (WebCore::CSSStyleSheet::append):
5243         (WebCore::CSSStyleSheet::insert):
5244
5245 2011-10-14  Beth Dakin  <bdakin@apple.com>
5246
5247         Attempted Leopard build fix.
5248
5249         * platform/graphics/GraphicsContext.cpp:
5250         (WebCore::GraphicsContext::createCompatibleBuffer):
5251
5252 2011-10-14  Andreas Kling  <kling@webkit.org>
5253
5254         CSSStyleSheet should only ever contain CSSRules.
5255         https://bugs.webkit.org/show_bug.cgi?id=70116
5256
5257         Reviewed by Antti Koivisto.
5258
5259         Move child management from the StyleSheet class down into
5260         CSSStyleSheet and XSLStyleSheet. XSLStyleSheet continues to
5261         manage StyleBase objects, while CSSStyleSheet now only contains
5262         CSSRule.
5263
5264         This is enforced at both compile time and runtime with explicit
5265         types and assertions.
5266
5267         * css/CSSRule.h:
5268         (WebCore::CSSRule::isRule):
5269
5270             Promoted to a public method so we can use it in assertions.
5271
5272         * css/CSSRuleList.h:
5273         (WebCore::CSSRuleList::create):
5274         (WebCore::CSSRuleList::styleSheet):
5275         * css/CSSRuleList.cpp:
5276         (WebCore::CSSRuleList::CSSRuleList):
5277         * bindings/js/JSCSSRuleListCustom.cpp:
5278         (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
5279
5280             Change backing to a CSSStyleSheet instead of a StyleSheet.
5281
5282         * css/CSSRuleList.cpp:
5283         (WebCore::CSSRuleList::item):
5284
5285             Remove redundant assertions.
5286
5287         * css/CSSStyleSheet.cpp:
5288         (WebCore::CSSStyleSheet::isLoading):
5289         (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
5290         * css/CSSStyleSelector.cpp:
5291         (WebCore::RuleSet::addRulesFromSheet):
5292         * inspector/InspectorCSSAgent.cpp:
5293         (WebCore::InspectorCSSAgent::collectStyleSheets):
5294         * page/PageSerializer.cpp:
5295         (WebCore::PageSerializer::serializeCSSStyleSheet):
5296
5297             Use more specific CSSRule* since that's what we get from
5298             CSSStyleSheet::item() now.
5299
5300         * css/StyleSheet.cpp:
5301         (WebCore::StyleSheet::~StyleSheet):
5302         * css/CSSStyleSheet.cpp:
5303         (WebCore::CSSStyleSheet::~CSSStyleSheet):
5304         * xml/XSLStyleSheetLibxslt.cpp:
5305         (WebCore::XSLStyleSheet::~XSLStyleSheet):
5306         * xml/XSLStyleSheetQt.cpp:
5307         (WebCore::XSLStyleSheet::~XSLStyleSheet):
5308
5309             Orphaning logic from ~StyleSheet() moved to subclass dtors.
5310
5311         * css/StyleSheet.h:
5312         * css/CSSStyleSheet.h:
5313         (WebCore::CSSStyleSheet::length):
5314         (WebCore::CSSStyleSheet::item):
5315         * css/CSSStyleSheet.cpp:
5316         (WebCore::CSSStyleSheet::append):
5317         (WebCore::CSSStyleSheet::insert):
5318         (WebCore::CSSStyleSheet::remove):
5319
5320             Moved from StyleSheet and changed to only accept CSSRules.
5321
5322         * css/StyleSheet.h:
5323         * xml/XSLStyleSheet.h:
5324         (WebCore::XSLStyleSheet::length):
5325         (WebCore::XSLStyleSheet::item):
5326         (WebCore::XSLStyleSheet::append):
5327         (WebCore::XSLStyleSheet::insert):
5328         (WebCore::XSLStyleSheet::remove):
5329
5330             Moved from StyleSheet though still uses StyleBase.
5331
5332 2011-10-14 Yuji Sanachan <sanachan.y@gmail.com>
5333
5334         Include dom/ExceptionCode.h instead of Filesystem APIs headers
5335         to fix compile error when ENABLE_WORKERS=1 and ENABLE_FILE_SYSTEM=0
5336         https://bugs.webkit.org/show_bug.cgi?id=70036
5337
5338         Reviewed by Darin Adler.
5339
5340         * workers/WorkerContext.cpp:
5341         (WebCore::WorkerContext::importScript):
5342
5343 2011-10-14  Darin Adler  <darin@apple.com>
5344
5345         Text drawn via -webkit-background-clip:text should be non-blurry with all scaling 
5346         techniques
5347         https://bugs.webkit.org/show_bug.cgi?id=68641
5348
5349         Reviewed by Simon Fraser. Committed by Beth Dakin.
5350
5351         * platform/graphics/GraphicsContext.cpp:
5352         (WebCore::GraphicsContext::createCompatibleBuffer): Allocate a buffer based on the 
5353         scale
5354         factor of the context.
5355         * platform/graphics/GraphicsContext.h: Added createCompatibleBuffer.
5356
5357         * rendering/RenderBoxModelObject.cpp:
5358         (WebCore::RenderBoxModelObject::paintFillLayerExtended): Use 
5359         createCompatibleBuffer.
5360
5361 2011-10-14  Ryosuke Niwa  <rniwa@webkit.org>
5362
5363         Move selectionStartStyle and selectionHasStyle to EditingStyle
5364         https://bugs.webkit.org/show_bug.cgi?id=69882
5365
5366         Reviewed by Enrica Casucci.
5367
5368         Moved selectionHasStyle and selectionStartStyle from Editor to EditingStyle.
5369         Also moved much of code in Editor::selectionStartCSSPropertyValue to method of EditingStyle.
5370
5371         In addition, moved Range::editingStartPosition to htmlediting where it belongs
5372         and renamed it to adjustedSelectionStartForStyleComputation.
5373
5374         * dom/Range.cpp:
5375         * dom/Range.h:
5376         * editing/EditingStyle.cpp:
5377         (WebCore::EditingStyle::triStateOfStyle): Extracted from selectionHasStyle.
5378         (WebCore::EditingStyle::legacyFontSize): Extracted from selectionStartCSSPropertyValue.
5379         (WebCore::EditingStyle::styleAtSelectionStart): Moved from Editor::selectionStartStyle.
5380         * editing/EditingStyle.h:
5381         * editing/Editor.cpp:
5382         (WebCore::Editor::fontForSelection):
5383         (WebCore::Editor::selectionStartHasStyle):
5384         (WebCore::Editor::selectionHasStyle):
5385         (WebCore::Editor::selectionStartCSSPropertyValue):
5386         * editing/Editor.h:
5387         * editing/EditorCommand.cpp:
5388         (WebCore::executeToggleStyleInList):
5389         * editing/htmlediting.cpp:
5390         (WebCore::adjustedSelectionStartForStyleComputation): Moved from Range::editingStartPosition.
5391         * editing/htmlediting.h:
5392
5393 2011-10-14  Ryosuke Niwa  <rniwa@webkit.org>
5394
5395         Redundant comparison in AccessibilityObject.cpp updateAXLineStartForVisiblePosition
5396         https://bugs.webkit.org/show_bug.cgi?id=70074
5397
5398         Reviewed by Chris Fleizach.
5399
5400         Removed redundant code.
5401
5402         * accessibility/AccessibilityObject.cpp:
5403         (WebCore::updateAXLineStartForVisiblePosition):
5404
5405 2011-10-12  Ryosuke Niwa  <rniwa@webkit.org>
5406
5407         Make the interface of locationAndLengthFromRange and rangeFromLocationAndLength consistent
5408         https://bugs.webkit.org/show_bug.cgi?id=69964
5409
5410         Reviewed by Enrica Casucci.
5411
5412         Extracted the logic to determine the scope element as FrameSelection::rootEditableElementOrDocumentElement
5413         and deployed it in WebKit layer. Made locationAndLengthFromRange take a scope element and renamed it to
5414         getLocationAndLengthFromRange.
5415
5416         * WebCore.exp.in:
5417         * editing/FrameSelection.cpp:
5418         (WebCore::FrameSelection::rootEditableElementOrDocumentElement):
5419         * editing/FrameSelection.h:
5420         * editing/TextIterator.cpp:
5421         (WebCore::TextIterator::getLocationAndLengthFromRange):
5422         * editing/TextIterator.h:
5423
5424 2011-10-13  Arko Saha  <arko@motorola.com>
5425
5426         Microdata: Basic implementation of document.getItems() method.
5427         https://bugs.webkit.org/show_bug.cgi?id=68610
5428
5429         Reviewed by Ryosuke Niwa.
5430
5431         Added ENABLE(MICRODATA) feature flag. Implement document.getItems() DOM API.
5432         Spec: http://www.whatwg.org/specs/web-apps/current-work/complete/microdata.html
5433
5434         Tests: fast/dom/MicroData/001.html
5435                fast/dom/MicroData/002.html
5436                fast/dom/MicroData/003.html
5437                fast/dom/MicroData/004.html
5438                fast/dom/MicroData/005.html
5439                fast/dom/MicroData/006.html
5440                fast/dom/MicroData/007.html
5441                fast/dom/MicroData/008.html
5442                fast/dom/MicroData/009.html
5443
5444         * CMakeLists.txt:
5445         * DerivedSources.make:
5446         * GNUmakefile.am:
5447         * GNUmakefile.list.am:
5448         * WebCore.gypi:
5449         * WebCore.pro:
5450         * WebCore.vcproj/WebCore.vcproj:
5451         * dom/Document.cpp:
5452         (WebCore::Document::getItems): Returns NodeList of the element in the Document that
5453         create items, that are not part of other items, and that are of one of the types
5454         given in the argument. If no tokens specified/undefined in the argument, then
5455         return a NodeList containing all top level microdata items.
5456         (WebCore::Document::removeCachedMicroDataItemList): Remove Microdata item node list
5457         from cache.
5458         * dom/Document.h:
5459         * dom/Document.idl: Added getItems() microdata DOM API.
5460         * dom/MicroDataItemList.cpp: Added.
5461         (WebCore::MicroDataItemList::MicroDataItemList):
5462         (WebCore::MicroDataItemList::~MicroDataItemList):
5463         (WebCore::MicroDataItemList::nodeMatches):
5464         * dom/MicroDataItemList.h: Added.
5465         (WebCore::MicroDataItemList::create):
5466         * dom/Node.cpp:
5467         (WebCore::Node::itemTypeAttributeChanged): It is responsible to invalidate the Microdata
5468         item node cache when itemType attribute changes.
5469         (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
5470         (WebCore::NodeListsNodeData::invalidateMicrodataItemListCaches): Invalidate Microdata item
5471         list cache.
5472         (WebCore::NodeListsNodeData::isEmpty):
5473         * dom/Node.h:
5474         * dom/NodeRareData.h:
5475         * features.pri:
5476         * html/HTMLAttributeNames.in: Added itemid, itemprop, itemscope, itemtype attributes.
5477         * html/HTMLElement.cpp:
5478         (WebCore::HTMLElement::parseMappedAttribute): Handle itemtype attribute change.
5479         * html/HTMLElement.idl: Added itemid, itemprop, itemscope, itemtypes microdata attributes.
5480
5481 2011-10-14  Andreas Kling  <kling@webkit.org>
5482
5483         Stricter management of WebKitCSSKeyframeRules.
5484         https://bugs.webkit.org/show_bug.cgi?id=70109
5485
5486         Reviewed by Antti Koivisto.
5487
5488         Covered by existing tests.
5489
5490         * css/CSSParser.h:
5491         * css/CSSParser.cpp:
5492         (WebCore::CSSParser::parseKeyframeRule):
5493
5494             Return a WebKitCSSKeyframeRule instead of a CSSRule.
5495
5496         * css/CSSRuleList.cpp:
5497         (WebCore::CSSRuleList::deleteRule):
5498         * css/WebKitCSSKeyframesRule.cpp:
5499         (WebCore::WebKitCSSKeyframesRule::deleteRule):
5500
5501             Moved style sheet orphaning logic for @-webkit-keyframe
5502             from CSSRuleList into WebKitCSSKeyframesRule::deleteRule()
5503             since that's the only caller operating on those rules.
5504
5505         * css/WebKitCSSKeyframesRule.cpp:
5506         (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
5507         (WebCore::WebKitCSSKeyframesRule::length):
5508         (WebCore::WebKitCSSKeyframesRule::item):
5509         (WebCore::WebKitCSSKeyframesRule::insertRule):
5510
5511             Change isKeyframeRule() checks to assertions since we know
5512             our rules are always WebKitCSSKeyframeRules. Also tidied up.
5513
5514 2011-10-14  Andreas Kling  <kling@webkit.org>
5515
5516         Unreviewed, actually remove StyleList.* after r97640.
5517
5518         * css/StyleList.cpp: Removed.
5519         * css/StyleList.h: Removed.
5520
5521 2011-10-14  Andreas Kling  <kling@webkit.org>
5522
5523         Merge StyleList into StyleSheet.
5524         https://bugs.webkit.org/show_bug.cgi?id=70100
5525
5526         Reviewed by Antti "printf" Koivisto.
5527
5528         Merge all functionality from StyleList into StyleSheet,
5529         since StyleSheet was the only subclass of StyleList anyway.
5530
5531         Also removed FIXME's about throwing exceptions in CSSRuleList
5532         since they were incorrect. The call sites already handle the
5533         relevant cases.
5534
5535         * CMakeLists.txt:
5536         * GNUmakefile.list.am:
5537         * WebCore.gypi:
5538         * WebCore.pro:
5539         * WebCore.vcproj/WebCore.vcproj:
5540         * WebCore.xcodeproj/project.pbxproj:
5541         * bindings/js/JSCSSRuleListCustom.cpp:
5542         (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
5543         * css/CSSRuleList.cpp:
5544         (WebCore::CSSRuleList::CSSRuleList):
5545         (WebCore::CSSRuleList::length):
5546         (WebCore::CSSRuleList::item):
5547         (WebCore::CSSRuleList::deleteRule):
5548         (WebCore::CSSRuleList::append):
5549         (WebCore::CSSRuleList::insertRule):
5550         * css/CSSRuleList.h:
5551         (WebCore::CSSRuleList::create):
5552         (WebCore::CSSRuleList::styleSheet):
5553         * css/StyleList.cpp: Removed.
5554         * css/StyleList.h: Removed.
5555         * css/StyleSheet.cpp:
5556         (WebCore::StyleSheet::StyleSheet):
5557         (WebCore::StyleSheet::append):
5558         (WebCore::StyleSheet::insert):
5559         (WebCore::StyleSheet::remove):
5560         * css/StyleSheet.h:
5561         (WebCore::StyleSheet::length):
5562         (WebCore::StyleSheet::item):
5563
5564 2011-10-14  Mihnea Ovidenie  <mihnea@adobe.com>
5565
5566         [CSS Regions] Change -webkit-flow to -webkit-flow-into
5567         https://bugs.webkit.org/show_bug.cgi?id=70014
5568
5569         Reviewed by David Hyatt.
5570
5571         1. -webkit-flow is renamed to -webkit-flow-into
5572         2. -webkit-flow-into takes <ident> instead of strings
5573
5574         * css/CSSComputedStyleDeclaration.cpp:
5575         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
5576         * css/CSSParser.cpp:
5577         (WebCore::CSSParser::parseValue):
5578         (WebCore::validFlowName):
5579         (WebCore::CSSParser::parseFlowThread):
5580         * css/CSSPropertyNames.in:
5581         * css/CSSStyleSelector.cpp:
5582         (WebCore::CSSStyleSelector::applyProperty):
5583
5584 2011-10-12  Hans Wennborg  <hans@chromium.org>
5585
5586         IndexedDB: Remove SQLite backing store
5587         https://bugs.webkit.org/show_bug.cgi?id=69620
5588
5589         Reviewed by Darin Fisher.
5590
5591         Remove the SQLite backing store implementation; it is not used anymore.
5592         Also remove the maximumSize parameter, it is not used either.
5593
5594         No new functionality, so no new tests.
5595
5596         * GNUmakefile.list.am:
5597         * WebCore.gypi:
5598         * storage/IDBBackingStore.h:
5599         * storage/IDBFactory.cpp:
5600         (WebCore::IDBFactory::getDatabaseNames):
5601         (WebCore::IDBFactory::open):
5602         * storage/IDBFactoryBackendImpl.cpp:
5603         (WebCore::computeFileIdentifier):
5604         (WebCore::computeUniqueIdentifier):
5605         (WebCore::IDBFactoryBackendImpl::getDatabaseNames):
5606         (WebCore::IDBFactoryBackendImpl::open):
5607         (WebCore::IDBFactoryBackendImpl::openBackingStore):
5608         * storage/IDBFactoryBackendImpl.h:
5609         * storage/IDBFactoryBackendInterface.h:
5610         * storage/IDBLevelDBBackingStore.cpp:
5611         (WebCore::IDBLevelDBBackingStore::open):
5612         * storage/IDBLevelDBBackingStore.h:
5613         * storage/IDBSQLiteBackingStore.cpp: Removed.
5614         * storage/IDBSQLiteBackingStore.h: Removed.
5615
5616 2011-10-14  Nikolas Zimmermann  <nzimmermann@rim.com>
5617
5618         Not reviewed. Fix mac builds. r97448 broke them.
5619
5620         * WebCore.xcodeproj/project.pbxproj: Set ImageBySizeCache.h role to private.
5621
5622 2011-10-14  Justin Schuh  <jschuh@chromium.org>
5623
5624         Clear WebMediaPlayerClientImpl back pointer on destruction
5625         https://bugs.webkit.org/show_bug.cgi?id=69973
5626
5627         Reviewed by James Robinson.
5628
5629         Clear the backpointer and remove the unused m_currentFrame
5630
5631         * platform/graphics/chromium/VideoLayerChromium.cpp:
5632         (WebCore::VideoLayerChromium::VideoLayerChromium):
5633         (WebCore::VideoLayerChromium::cleanupResources):
5634         (WebCore::VideoLayerChromium::updateCompositorResources):
5635         (WebCore::VideoLayerChromium::releaseProvider):
5636         * platform/graphics/chromium/VideoLayerChromium.h:
5637
5638 2011-10-13  Hans Wennborg  <hans@chromium.org>
5639
5640         IndexedDB: Make IDBCursor.value() return an IDBAny object
5641         https://bugs.webkit.org/show_bug.cgi?id=70024
5642
5643         Reviewed by Tony Chang.
5644
5645         This is to work around the fact that the V8 bindings mechanism does
5646         eager deserialization of SerializedScriptValue attributes. This means
5647         that the value is fetched from the back-end only once, when the
5648         IDBCursor is first wrapped. When the cursor's value changes, this is
5649         not reflected.
5650
5651         We work around this by making IDBCursor.value() return the
5652         SerializedScriptValue wrapped in an IDBAny object.
5653
5654         * storage/IDBCursor.cpp:
5655         (WebCore::IDBCursor::value):
5656         * storage/IDBCursor.h:
5657         * storage/IDBCursorWithValue.idl:
5658
5659 2011-10-14  Rémi Duraffort  <remi.duraffort@st.com>
5660
5661         Fix compilation when the JS Debugger is disabled.
5662         https://bugs.webkit.org/show_bug.cgi?id=70007
5663
5664         Reviewed by Antti Koivisto.
5665
5666         * inspector/InspectorInstrumentation.cpp:
5667         (WebCore::InspectorInstrumentation::willEvaluateWorkerScript):
5668         * inspector/InspectorRuntimeAgent.cpp:
5669         * inspector/InspectorRuntimeAgent.h:
5670         * inspector/WorkerInspectorController.cpp:
5671         * inspector/WorkerInspectorController.h:
5672         * workers/WorkerMessagingProxy.cpp:
5673         (WebCore::WorkerMessagingProxy::disconnectFromInspector):
5674         (WebCore::WorkerMessagingProxy::sendMessageToInspector):
5675
5676 2011-10-13  Nikolas Zimmermann  <nzimmermann@rim.com>
5677
5678         Prepare SVGImage intrinsic size negotiation: Introduce an IntSize <-> SVGImage cache in CachedImage
5679         https://bugs.webkit.org/show_bug.cgi?id=69416
5680
5681         Reviewed by Antti Koivisto.
5682
5683         Refactor ImageBySizeCache out of CSSImageGeneratorValue as CachedImage wants to use the same type of cache for its purposes.
5684         When introducing the SVGImage intrinsic size negotiation the container size of an SVGImage is dependant on the place where
5685         it gets embedded (eg width/height attributes of host documents <img> force a certain size).
5686
5687         Currently CachedImage only contains a single RefPtr<Image>, which it constructs out of the decoded data.
5688         Multiple RenderObjects share the same CachedImages, when embedding eg. a SVG document in a <html:img> or using it in a background-image for a <div>.
5689         Consider the case where two RenderObjects use the same CachedImage, each with a different container size (200x100 vs 100x200) and the embedded
5690         document contains a viewBox and some arbitary preserveAspectRatio settings. To honour these we have to relayout the document with the desired
5691         size (percentual unit resolving etc, all depend on the RenderSVGRoots size).
5692
5693         With the current design this is hard to realize, w/o requring to relayout the embedded document for each embedder that uses an SVGImage.
5694         This patch introduces a cache right within CachedImage, which manages a map of images to certain sizes, by utilizing the new ImageBySizeCache.
5695
5696         CachedImage::imageForRenderer() takes a RenderObject* parameter, which it uses to look up the last set image container size for a renderer.
5697         Using that size it queries the cache whether it already has an SVGImage for that size, if not it gets created, by creating a whole
5698         new instance of SVGImage, filling it with the already decoded data, and passing on a fixed image container size, which overrides the
5699         size that RenderSVGRoot reports, when computeReplacedLogicalWidth/Height is called and thus laying out the document at the desired size.
5700         This image is then put in the cache for further reusability.
5701
5702         Likewise CachedImage::setContainerSizeForRenderer() now takes a RenderObject* parameter and stores that in the cache with an associated container size.
5703         It requires to touch several files which use CachedImage throughout WebCore/WebKit/WebKit2.
5704
5705         The actual cache is not yet turned on yet, so this is not a functional change so far, as it needs some other changes to SVGImage,
5706         which will come with the master patch in bug 47156.
5707
5708         No new tests yet, as the new cache isn't turned on yet.
5709
5710         * CMakeLists.txt: Add rendering/ImageBySizeCache.* to build.
5711         * GNUmakefile.list.am: Ditto.
5712         * WebCore.gypi: Ditto.
5713         * WebCore.pro: Ditto.
5714         * WebCore.vcproj/WebCore.vcproj: Ditto.
5715         * WebCore.xcodeproj/project.pbxproj: Ditto.
5716         * accessibility/AccessibilityRenderObject.cpp:
5717         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Use new CachedImage::imageSizeForRenderer(RenderObject*) method.
5718         * bindings/objc/DOM.mm: Ditto (for CachedImage::image()).
5719         (-[DOMElement image]):
5720         (-[DOMElement _imageTIFFRepresentation]):
5721         * bridge/qt/qt_pixmapruntime.cpp:
5722         (JSC::Bindings::QtPixmapInstance::variantFromObject): Ditto (for CachedImage::image()).
5723         * css/CSSCanvasValue.cpp: s/m_clients/clients()/, which now live in the ImageBySizeCache instead of CSSImageGeneratorValue.
5724         (WebCore::CSSCanvasValue::canvasChanged):
5725         (WebCore::CSSCanvasValue::canvasResized):
5726         (WebCore::CSSCanvasValue::image):
5727         * css/CSSGradientValue.cpp: Ditto.
5728         (WebCore::CSSGradientValue::image):
5729         * css/CSSImageGeneratorValue.cpp: Move the sizes/clients/images cache into a new ImageBySizeCache class, to make it usable for CachedImage as well.
5730         (WebCore::CSSImageGeneratorValue::addClient): Adapt to move.
5731         (WebCore::CSSImageGeneratorValue::removeClient): Ditto.
5732         (WebCore::CSSImageGeneratorValue::getImage): Ditto.
5733         (WebCore::CSSImageGeneratorValue::putImage): Ditto.
5734         * css/CSSImageGeneratorValue.h:
5735         (WebCore::CSSImageGeneratorValue::clients): Forwarded to the ImageBySizeCache.
5736         * editing/DeleteButtonController.cpp: 
5737         (WebCore::isDeletableElement): CachedImage::canRender() now takes a RenderObject* parameter.
5738         * html/HTMLImageElement.cpp:
5739         (WebCore::HTMLImageElement::width): Use new CachedImage::imageSizeForRenderer(RenderObject*) method.
5740         (WebCore::HTMLImageElement::height): Ditto.
5741         (WebCore::HTMLImageElement::naturalWidth): Ditto.
5742         (WebCore::HTMLImageElement::naturalHeight): Ditto.
5743         * html/ImageDocument.cpp:
5744         (WebCore::ImageDocumentParser::finish): Ditto.
5745         (WebCore::ImageDocument::scale): Ditto.
5746         (WebCore::ImageDocument::resizeImageToFit): Ditto.
5747         (WebCore::ImageDocument::imageUpdated): Ditto.
5748         (WebCore::ImageDocument::restoreImageSize): Ditto.
5749         (WebCore::ImageDocument::imageFitsInWindow): Ditto.
5750         * html/canvas/CanvasRenderingContext.cpp:
5751         (WebCore::CanvasRenderingContext::wouldTaintOrigin): Use new CachedImage::imageForRenderer(RenderObject*) method.
5752         * html/canvas/CanvasRenderingContext2D.cpp:
5753         (WebCore::isOriginClean): Ditto.
5754         (WebCore::size): Ditto (for CachedImage::imageSizeForRenderer()).
5755         (WebCore::CanvasRenderingContext2D::drawImage): Ditto.
5756         (WebCore::CanvasRenderingContext2D::createPattern): Ditto.
5757         * html/canvas/WebGLRenderingContext.cpp:
5758         (WebCore::WebGLRenderingContext::texImage2D): Ditto.
5759         (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
5760         * loader/cache/CachedImage.cpp: Add currently _disabled_ cache for SVGImages. The intrinsic size negotiation will need to use multiple SVGImages
5761         for each requested size (equal to the size of the embedding place for the image) - make it possible to cache these SVGImages, and maintain a cache
5762         for them. The hash code is a 1:1 refactoring from the already present code in CSSImageGeneratorValue, now named 'ImageBySizeCache'.
5763         (WebCore::CachedImage::lookupImageForSize): Looks up an Image from the cache for a given IntSize. Currently turned off.
5764         (WebCore::CachedImage::lookupImageForRenderer): Looks up an Image from the cache for a given renderer. Currently turned off.
5765         (WebCore::CachedImage::lookupOrCreateImageForRenderer): Looks up an Image from the cache or creates a new SVGImage for a given size and caches it, if possible. Currently turned off.
5766         All following changes share this: Don't operate on m_image directly, instead always look up one from the cache for a given size or renderer - if that's not present fallback to m_image.
5767         When an SVGImage is first created by CachedImage::createImage() and stored in m_image, the cache remains empty.
5768
5769         If eg. <img width="30" height="70" src="foo.svg"> is used which implies a container size of 30x70 a new SVGImage is created with the additional information of a 30x70 container size
5770         which is immediately passed to the SVGImage after its creation. This SVGImage is put in the ImageBySizeCache associated with a container size of 30x70.
5771         We now have two SVGImage objects present, one living in CachedImage::m_image, created by createImage() during data decoding, and one living in the ImageBySizeCache
5772         created by lookupOrCreateImageForRenderer() associated with the 30x70 container. The first SVGImage::size() will return a value as defined in the referenced foo.svg,
5773         whereas the SVGImage::size() call of the new SVGImage living in the cache reports 30x70 and renders according to that.
5774
5775         Whenever any method of CachedImage is called with a RenderObject* or IntSize, we can't just operate on m_image anymore but instead have to lookup the right
5776         images for a certain renderer/size from the cache and operate on these. When calling eg. CachedImage::image() with a null renderer, m_image is returned.
5777         When passing with a valid renderer only cache lookups are done if the m_image is actually a SVGImage, otherwhise lookupImageForSize/Renderer will just return the m_image.
5778         There is no logical change induced for non-SVGImage derived images.
5779
5780         CachedImage::image() of course needs a RenderObject* parameter now, to identify which of the images from the cache to use, if the underlying image is a SVGImage.
5781         Luckily these information are already present in StyleCachedImage/StyleImage & friends and only need to be added for some additional methods.
5782         (WebCore::CachedImage::image): FIXME
5783         (WebCore::CachedImage::imageForRenderer): Call lookupOrCreateImageForRenderer() instead of returning m_image, if it's not null. Its a no-op for non SVGImage derived objects.
5784         (WebCore::CachedImage::setContainerSizeForRenderer): For non-SVGImages, just pass on the size to the m_image. For SVGImages, associate the passed in renderer with the IntSize in the cache.
5785                                                              This does NOT create the SVGImage yet, this is delayed until imageForRenderer() is called for a given renderer that wants this size.
5786         (WebCore::CachedImage::imageSize): Don't operate on m_image, ask lookupImageForRenderer() with the incoming renderer.
5787         (WebCore::CachedImage::imageRect): Ditto.
5788         (WebCore::CachedImage::clear): Force clearing the m_svgImageCache.
5789         (WebCore::CachedImage::data): Call m_image->size() instead of imageSize(), to avoid having to pass a null renderer to imageSize() as here no renderer is available yet.
5790         (WebCore::CachedImage::destroyDecodedData): Don't destroy decoded data for SVG images, as m_data needs to be accessable at any time to construct a cloned SVGImage.
5791                                                     In future we don't need this anymore if we make sure multiple SVGImages share the same trees, but that's for a follow-up patch.
5792         (WebCore::CachedImage::decodedSizeChanged): Don't operate on m_image, ask lookupImageForRenderer() with the incoming renderer.
5793         (WebCore::CachedImage::didDraw): Ditto.
5794         (WebCore::CachedImage::shouldPauseAnimation): Ditto.
5795         (WebCore::CachedImage::animationAdvanced): Ditto.
5796         (WebCore::CachedImage::changedInRect): Ditto. (eg. when leaving out this change animated SVG images wouldn't update anymore, as the animation didn't happen on m_image!)
5797         * loader/cache/CachedImage.h: imageForRenderer/canRender/setContainerSizeForRenderer/imageSizeForRenderer now all take a RenderObject* parameter to identifiy the current user of the image.
5798         (WebCore::CachedImage::canRender): Pass on the incoming renderer to imageSizeForRenderer().
5799         * page/DragController.cpp:
5800         (WebCore::getImage): Use new CachedImage::imageForRenderer(RenderObject*) method.
5801         * page/EventHandler.cpp:
5802         (WebCore::EventHandler::selectCursor): Ditto.
5803         * page/PageSerializer.cpp:
5804         (WebCore::PageSerializer::serializeFrame): Ditto.
5805         (WebCore::PageSerializer::addImageToResources): Ditto.
5806         (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration): Ditto.
5807         * page/PageSerializer.h:
5808         * platform/chromium/ClipboardChromium.cpp:
5809         (WebCore::writeImageToDataObject): Ditto.
5810         * platform/chromium/PasteboardChromium.cpp:
5811         (WebCore::Pasteboard::writeImage): Ditto.
5812         * platform/graphics/Image.h:
5813         (WebCore::Image::isSVGImage): Add boolean helper to identify SVGImages, just like isBitmapImage().
5814         * platform/gtk/ClipboardGtk.cpp:
5815         (WebCore::ClipboardGtk::declareAndWriteDragImage): Use new CachedImage::imageForRenderer(RenderObject*) method.
5816         * platform/gtk/PasteboardGtk.cpp:
5817         (WebCore::Pasteboard::writeImage): Ditto.
5818         * platform/mac/HTMLConverter.mm:
5819         (fileWrapperForElement): Ditto.
5820         * platform/mac/PasteboardMac.mm:
5821         (WebCore::Pasteboard::writeImage): Ditto.
5822         * platform/qt/ClipboardQt.cpp:
5823         (WebCore::ClipboardQt::declareAndWriteDragImage): Ditto.
5824         * platform/qt/PasteboardQt.cpp:
5825         (WebCore::Pasteboard::writeImage): Ditto.
5826         * platform/win/ClipboardWin.cpp:
5827         (WebCore::writeImageToDataObject): Ditto.
5828         * platform/win/PasteboardWin.cpp:
5829         (WebCore::Pasteboard::writeImage): Ditto.
5830         * platform/wince/PasteboardWinCE.cpp:
5831         (WebCore::Pasteboard::writeImage): Ditto.
5832         * rendering/HitTestResult.cpp:
5833         (WebCore::HitTestResult::image): Ditto.
5834         * rendering/ImageBySizeCache.cpp: Copied from WebCore/css/CSSImageGeneratorValue.cpp, to preserve history for the original cache code.
5835         (WebCore::ImageBySizeCache::ImageBySizeCache): Straight copy from CSSImageGeneratorValue, renamed to ImageBySizeCache, removing all but the cache relevant code.
5836         (WebCore::ImageBySizeCache::addClient): Ditto.
5837         (WebCore::ImageBySizeCache::removeClient): Ditto.
5838         (WebCore::ImageBySizeCache::getImage): Ditto.
5839         (WebCore::ImageBySizeCache::putImage): Ditto.
5840         (WebCore::ImageBySizeCache::clear): New function, that clears the cache, introduced for the needs of CachedImage.
5841         (WebCore::ImageBySizeCache::imageForSize): New function to query an Image* for a given IntSize, introduced for the needs of CachedImage.
5842         (WebCore::ImageBySizeCache::sizeForClient): New function to query an IntSize for a given renderer.
5843         * rendering/ImageBySizeCache.h: Copied from WebCore/css/CSSImageGeneratorValue.h.
5844         (WebCore::ImageBySizeCache::clients):
5845         * rendering/InlineFlowBox.cpp:
5846         (WebCore::InlineFlowBox::paintFillLayer): CachedImage::canRender() now takes a RenderObject* parameter.
5847         (WebCore::InlineFlowBox::paintBoxDecorations): Ditto.
5848         (WebCore::InlineFlowBox::paintMask): Ditto.
5849         * rendering/RenderBox.cpp:
5850         (WebCore::RenderBox::paintMaskImages): Ditto.
5851         (WebCore::RenderBox::repaintLayerRectsForImage): Ditto.
5852         * rendering/RenderBoxModelObject.cpp:
5853         (WebCore::RenderBoxModelObject::paintFillLayerExtended): Ditto.
5854         (WebCore::RenderBoxModelObject::calculateFillTileSize): Ditto (for CachedImage::setContainerSizeForRenderer()).
5855         (WebCore::RenderBoxModelObject::paintNinePieceImage): Ditto.
5856         * rendering/RenderImage.cpp:
5857         (WebCore::RenderImage::imageSizeForError): Use new CachedImage::imageForRenderer(RenderObject*) method.
5858         (WebCore::RenderImage::setImageSizeForAltText): Ditto.
5859         (WebCore::RenderImage::computeReplacedLogicalWidth): FIXME
5860         * rendering/RenderImageResource.cpp:
5861         (WebCore::RenderImageResource::setContainerSizeForRenderer): Pass on m_renderer to CachedImage::setContainerSizeForRenderer().
5862         * rendering/RenderImageResource.h: Remove constness from setContainerSizeForRenderer.
5863         (WebCore::RenderImageResource::image): Pass on m_renderer to CachedImage::image().
5864         (WebCore::RenderImageResource::imageSize): Pass on m_renderer to CachedImage::imageSizeForRenderer().
5865         * rendering/RenderImageResourceStyleImage.h:
5866         (WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer): Remove constness, pass on m_renderer to StyleImage::setContainerSizeForRenderer().
5867         * rendering/RenderLayerBacking.cpp:
5868         (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Use new CachedImage::imageForRenderer(RenderObject*) method.
5869         (WebCore::RenderLayerBacking::updateImageContents): Ditto.
5870         * rendering/RenderListMarker.cpp:
5871         (WebCore::RenderListMarker::computePreferredLogicalWidths): CachedImage::setContainerSizeForRenderer() now takes a RenderObject* parameter.
5872         * rendering/RenderObject.cpp:
5873         (WebCore::mustRepaintFillLayers): CachedImage::canRender() now takes a RenderObject* parameter.
5874         (WebCore::RenderObject::borderImageIsLoadedAndCanBeRendered): Ditto.
5875         * rendering/style/StyleCachedImage.cpp:
5876         (WebCore::StyleCachedImage::canRender): Pass on incoming renderer to CachedImage::canRender().
5877         (WebCore::StyleCachedImage::imageSize): Pass on incoming renderer to CachedImage::imageSizeForRenderer().
5878         (WebCore::StyleCachedImage::setContainerSizeForRenderer): Pass on incoming renderer to CachedImage::setContainerSizeForRenderer().
5879         (WebCore::StyleCachedImage::addClient): Remove unneeded return statment in void method.
5880         (WebCore::StyleCachedImage::removeClient): Ditto.
5881         (WebCore::StyleCachedImage::image): Pass on incoming renderer to CachedImage::image().
5882         * rendering/style/StyleCachedImage.h: Add RenderObject* parameter to canRender()/setContainerSizeForRenderer(). image() already has one, that was unused so far.
5883         * rendering/style/StyleGeneratedImage.cpp: Inlined setContainerSizeForRenderer.
5884         * rendering/style/StyleGeneratedImage.h: 
5885         (WebCore::StyleGeneratedImage::setContainerSizeForRenderer): Add RenderObject* parameter.
5886         * rendering/style/StyleImage.h:
5887         (WebCore::StyleImage::canRender): Ditto.
5888         * rendering/style/StylePendingImage.h:
5889         (WebCore::StylePendingImage::setContainerSizeForRenderer): Ditto.
5890         * svg/SVGFEImageElement.cpp:
5891         (WebCore::SVGFEImageElement::build): Use new CachedImage::imageForRenderer(RenderObject*) method.
5892         * svg/graphics/SVGImage.cpp: Cleanup file, the include hack seems not needed anymore.
5893         (WebCore::SVGImage::setContainerSize): s/LayoutSize/IntSize/ to match the code in platform/.
5894         * svg/graphics/SVGImage.h: Ditto.
5895         (WebCore::SVGImage::isSVGImage): Return true.
5896
5897 2011-10-13  Kenichi Ishibashi  <bashi@chromium.org>
5898
5899         [Chromium] Uninitialized read in WebCore::*Font* / HB_GSUB_Select_Feature
5900         https://bugs.webkit.org/show_bug.cgi?id=70087
5901
5902         Reviewed by Kent Tamura.
5903
5904         Initialize local variables in ComplexTextControllerLinux::setupfontFeatures.
5905
5906         No new tests because there is no behavior change. Manually tested with valgrind.
5907
5908         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
5909         (WebCore::setupFontFeatures):
5910
5911 2011-10-13  Csaba Osztrogonác  <ossy@webkit.org>
5912
5913         [Qt][Win] Unreviewed buildfix after r97433.
5914
5915         * platform/MemoryPressureHandler.h: Add a missing include.
5916
5917 2011-10-13  Adam Barth  <abarth@webkit.org>
5918
5919         Spelling error in v8WebSocket::constructorCallback error
5920         https://bugs.webkit.org/show_bug.cgi?id=63943
5921
5922         Reviewed by Kent Tamura.
5923
5924         Fix typo.
5925
5926         * bindings/v8/custom/V8WebSocketCustom.cpp:
5927         (WebCore::V8WebSocket::constructorCallback):
5928
5929 2011-10-13  Mark Hahnenberg  <mhahnenberg@apple.com>
5930
5931         Rename virtual getConstructData to getConstructDataVirtual
5932         https://bugs.webkit.org/show_bug.cgi?id=69872
5933
5934         Reviewed by Geoffrey Garen.
5935
5936         No new tests.
5937
5938         Renamed virtual getConstructData functions to getConstructDataVirtual to 
5939         avoid conflicts when we add static getConstructData to the MethodTable.
5940
5941         * WebCore.exp.in:
5942         * bindings/js/JSAudioConstructor.cpp:
5943         (WebCore::JSAudioConstructor::getConstructDataVirtual):
5944         * bindings/js/JSAudioConstructor.h:
5945         * bindings/js/JSImageConstructor.cpp:
5946         (WebCore::JSImageConstructor::getConstructDataVirtual):
5947         * bindings/js/JSImageConstructor.h:
5948         * bindings/js/JSOptionConstructor.cpp:
5949         (WebCore::JSOptionConstructor::getConstructDataVirtual):
5950         * bindings/js/JSOptionConstructor.h:
5951         * bindings/js/ScriptFunctionCall.cpp:
5952         (WebCore::ScriptFunctionCall::construct):
5953         * bindings/scripts/CodeGeneratorJS.pm:
5954         (GenerateConstructorDeclaration):
5955         (GenerateConstructorDefinition):
5956         * bindings/scripts/test/JS/JSTestInterface.cpp:
5957         (WebCore::JSTestInterfaceConstructor::getConstructDataVirtual):
5958         * bridge/runtime_object.cpp:
5959         (JSC::Bindings::RuntimeObject::getConstructDataVirtual):
5960         * bridge/runtime_object.h:
5961
5962 2011-10-13  Simon Fraser  <simon.fraser@apple.com>
5963
5964         Remove #include of <QuartzCore/QuartzCore.h> in a widely-used header.
5965
5966         Reviewed by Sam Weinig.
5967
5968         * platform/PlatformScreen.h: Typedef PlatformDisplayID to a uint32_t.
5969         * platform/graphics/DisplayRefreshMonitor.h: Typedef CVDisplayLinkRef as
5970         an opaque type to avoid bringing in QuartzCore.h, and move displayLinkCallback
5971         to the .cpp file since it uses Core Video types.
5972         * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
5973         (WebCore::displayLinkCallback): Make this a local static function, that
5974         calls a member fuction on the object.
5975         (WebCore::DisplayRefreshMonitor::requestRefreshCallback):
5976         (WebCore::DisplayRefreshMonitor::displayLinkFired):
5977
5978 2011-10-13  Michael Saboff  <msaboff@apple.com>
5979
5980         REGRESSION: High frequency memory warnings cause Safari to hog the CPU doing useless garbage collection
5981         https://bugs.webkit.org/show_bug.cgi?id=69774
5982
5983         Throttle the processing of memory pressure events to no more often than once every 5 seconds.
5984
5985         Reviewed by Geoffrey Garen.
5986
5987         No new tests.
5988
5989         * platform/MemoryPressureHandler.cpp:
5990         (WebCore::MemoryPressureHandler::MemoryPressureHandler):
5991         * platform/MemoryPressureHandler.h:
5992         * platform/mac/MemoryPressureHandlerMac.mm:
5993         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
5994
5995 2011-10-13  Kentaro Hara  <haraken@chromium.org>
5996
5997         Implement an OverflowEvent constructor for V8
5998         https://bugs.webkit.org/show_bug.cgi?id=70017
5999
6000         Reviewed by Adam Barth.
6001
6002         Test: fast/events/constructors/overflow-event-constructor.html
6003
6004         * bindings/v8/custom/V8EventConstructors.cpp: Added an OverflowEvent constructor.
6005         * dom/OverflowEvent.idl: Replaced 'JSCustomConstructor' with 'CustomConstructor'.
6006
6007 2011-10-13  Anantanarayanan G Iyengar  <ananta@chromium.org>
6008
6009         https://bugs.webkit.org/show_bug.cgi?id=70064
6010         
6011         The NPObjectWrapper class used by V8 bindings in Chromium to wrap the window
6012         script object was allocating an instance of itself in the NPAllocate
6013         implementation and returning this pointer. It should be returning a pointer
6014         to the wrapped NPObject structure (NPProxyObject). The member function
6015         getUnderlyingNPObject should return 0 if we fail to find the underlying NPObject
6016         for the call. It was incorrectly returning a pointer to the same NPObject in
6017         this case which could cause recursion. 
6018
6019         Reviewed by Nate Chapin.
6020
6021         No new tests as there is no change in functionality.
6022
6023         * bindings/v8/NPObjectWrapper.cpp:
6024         (WebCore::NPObjectWrapper::getObjectForCall):
6025         (WebCore::NPObjectWrapper::NPAllocate):
6026         * bindings/v8/NPObjectWrapper.h:
6027
6028 2011-10-13  Arthur Hsu  <arthurhsu@chromium.org>
6029
6030         Ensure font loaded before calling Skia to drawPosText in Chrome sandbox
6031         https://bugs.webkit.org/show_bug.cgi?id=69370
6032
6033         Reviewed by James Robinson.
6034
6035         * platform/graphics/chromium/FontChromiumWin.cpp:
6036         (WebCore::Font::drawGlyphs):
6037
6038 2011-10-13  Kentaro Hara  <haraken@chromium.org>
6039
6040         Regarding constructor, replace [ConstructorWith=...] IDL with [CallWith=...] IDL
6041         https://bugs.webkit.org/show_bug.cgi?id=69801
6042
6043         As for constructors, [ConstructorWith=...] has the same meaning as [CallWith=...].
6044         We should deprecate [ConstructorWith=...]. This is a clean-up bug for the bug 65839.
6045
6046         Reviewed by Adam Barth.
6047
6048         No new tests, since no change in behavior.
6049
6050         * bindings/scripts/CodeGeneratorV8.pm: Replaced [ConstructorWith=...] IDL with [CallWith=...] IDL.
6051         (GenerateConstructorCallback):
6052         * bindings/scripts/test/TestInterface.idl: Ditto.
6053         * fileapi/FileReader.idl: Ditto.
6054         * p2p/PeerConnection.idl: Ditto.
6055         * page/EventSource.idl: Ditto.
6056         * workers/Worker.idl: Ditto.
6057
6058 2011-10-13  Kentaro Hara  <haraken@chromium.org>
6059
6060         Constructor should not be called if the object is being constructed inside WebCore
6061         https://bugs.webkit.org/show_bug.cgi?id=70015
6062
6063         Reviewed by Adam Barth.
6064
6065         Summary: A DOM object can be created from the JS context and from the WebCore context.
6066         Constructor should be called if the object is created from the JS context,
6067         but should not be called if the object is created from the WebCore context.
6068
6069         Details:
6070         - Expected behavior when the object is created from the JS context (e.g. "new Event()"):
6071         (1) V8XXXX::constructorCallback() is called.
6072         (2) V8XXXX::constructorCallback() calls XXXX::create().
6073         (3) XXXX::create() creates a C++ object.
6074         (4) V8XXXX::constructorCallback() calls toV8() for the C++ object.
6075         (5) toV8() wraps the C++ object and returns the wrapped JS object.
6076
6077         - Actual behavior when the object is created from the JS context (e.g. "new Event()"):
6078         As described above (1) - (5). That's fine!!
6079
6080         - Expected behavior when the object is created from the WebCore context.
6081         (e.g. "window.addEventListener("load", function (event) { ... });". In this case,
6082         the Event object is created inside the WebCore context):
6083         (1) WebCore calls XXXX::create().
6084         (2) XXXX::create() creates a C++ object.
6085         (3) WebCore calls toV8() for the C++ object.
6086         (4) toV8() wraps the C++ object and returns the wrapped JS object.
6087
6088         - Actual behavior when the object is created from the WebCore context.
6089         (e.g. "window.addEventListener("load", function (event) { ... });"):
6090         (1) WebCore calls XXXX::create().
6091         (2) XXXX::create() creates a C++ object.
6092         (3) WebCore calls toV8() for the C++ object.
6093         (4) toV8() can call XXXX::constructorCallback(). (Whether or not toV8() calls
6094         XXXX::constructorCallback() depends on the implementation of toV8().)
6095         (5) V8XXXX::constructorCallback() calls XXXX::create().
6096         (6) XXXX::create() creates __another__ C++ object.
6097         (7) V8XXXX::constructorCallback() calls toV8() for the C++ object.
6098         (8) toV8() wraps the C++ object and returns the wrapped JS object.
6099
6100         This actual behavior definitely causes the following problems:
6101
6102         - Problem1: The object returned to JS is not the object created in (2)
6103         but the object created in (6). However, I do not yet know a test case that causes
6104         some visible bug because of this problem.
6105
6106         - Problem2: In (4), XXXX::constructorCallback() can be called with no argument.
6107         If XXXX::constructorCallback() expects at least one argument, XXXX::constructorCallback()
6108         throws TypeError, resulting in crash. For example, Event caused this problem
6109         when I implemented constructor for Event. Based on the discussion with Dominicc,
6110         we solved this problem by adding the following two lines of code to Event::constructorCallback()
6111         (See here: http://codesearch.google.com/codesearch#OAMlx_jo-ck/src/third_party/WebKit/Source/WebCore/bindings/v8/custom/V8EventConstructors.cpp&exact_package=chromium&q=allowallocation&type=cs):
6112
6113         XXXX::constructorCallback(...) {
6114             ...;
6115             if (AllowAllocation::current())
6116                 return args.Holder();
6117             ...;
6118         }
6119
6120         This if check means "XXXX::constructorCallback() returns immediately if it is called
6121         from the WebCore context".
6122
6123         With these observations, we think that all constructorCallback() should have the above
6124         if check. This patch adds the if check to CodeGeneratorV8.pm. After this patch is landed,
6125         I would like to add the if check to all existing custom V8 constructors.
6126
6127         No new tests, since we could not find a test case that causes some visible bug without the if check.
6128
6129         * bindings/scripts/CodeGeneratorV8.pm:
6130         (GenerateConstructorCallback): Generates a constructor so that it returns immediately without doing anything if the constructor is called from the WebCore context.
6131         * bindings/scripts/test/V8/V8TestInterface.cpp: Updated the result.
6132         (WebCore::V8TestInterface::constructorCallback):
6133         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
6134         (WebCore::V8TestObj::constructorCallback):
6135
6136 2011-10-13  Kentaro Hara  <haraken@chromium.org>
6137
6138         Implement a BeforeLoadEvent constructor for V8
6139         https://bugs.webkit.org/show_bug.cgi?id=69980
6140
6141         Reviewed by Adam Barth.
6142
6143         Test: fast/events/constructors/before-load-event-constructor.html
6144
6145         * bindings/v8/custom/V8EventConstructors.cpp: Added a BeforeLoadEvent constructor.
6146         * dom/BeforeLoadEvent.idl: Replaced 'JSCustomConstructor' with 'CustomConstructor'.
6147
6148 2011-10-13  Joshua Bell  <jsbell@chromium.org>
6149
6150         make IDBFactory.open wait for pending setVersion transactions to complete
6151         https://bugs.webkit.org/show_bug.cgi?id=69307
6152
6153         Reviewed by Tony Chang.
6154
6155         Added a queue of pending open calls, similar to the queue of pending
6156         setVersion calls. Ensure pending calls are processed in the correct
6157         order when transactions complete.
6158
6159         Tests: storage/indexeddb/open-close-version.html
6160                storage/indexeddb/two-version-changes.html
6161                storage/indexeddb/version-change-exclusive.html
6162
6163         * storage/IDBDatabaseBackendImpl.cpp:
6164         (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::create):
6165         (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::callbacks):
6166         (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::PendingOpenCall):
6167         (WebCore::IDBDatabaseBackendImpl::setVersion):
6168         (WebCore::IDBDatabaseBackendImpl::transactionStarted):
6169         (WebCore::IDBDatabaseBackendImpl::transactionFinished):
6170         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
6171         (WebCore::IDBDatabaseBackendImpl::openConnection):
6172         (WebCore::IDBDatabaseBackendImpl::close):
6173         * storage/IDBDatabaseBackendImpl.h:
6174         * storage/IDBFactoryBackendImpl.cpp:
6175         (WebCore::IDBFactoryBackendImpl::open):
6176         * storage/IDBTransactionBackendImpl.cpp:
6177         (WebCore::IDBTransactionBackendImpl::abort):
6178         (WebCore::IDBTransactionBackendImpl::start):
6179         (WebCore::IDBTransactionBackendImpl::commit):
6180
6181 2011-10-13  Chris Marrin  <cmarrin@apple.com>
6182
6183         Fix Leopard build
6184
6185         Unreviewed.
6186
6187         * platform/graphics/DisplayRefreshMonitor.h: Added.
6188
6189 2011-10-12  Chris Marrin  <cmarrin@apple.com>
6190
6191         Sync requestAnimationFrame callback to CVDisplayLink on Mac
6192         https://bugs.webkit.org/show_bug.cgi?id=68911
6193
6194         Reviewed by Simon Fraser.
6195
6196         Test: fast/animation/request-animation-frame-iframe.html
6197
6198         Implement CVDisplayLink which checks to see if any scheduleAnimation requests
6199         have come in. If so, remember the timestamp and do a callOnMainThread to fire
6200         the callbacks. A DisplayRefreshMonitorManager is a singleton which has a list
6201         of DisplayRefreshMonitors, one for each display. Each monitor has one or more
6202         DisplayRefreshMonitorClients, which is a abstract virtual class implemented
6203         by ScriptAnimationController. When an animation is scheduled, the
6204         displayRefreshFired method is called on the client, which in turn calls the
6205         requestAnimationFrame callbacks. 
6206
6207         DisplayRefreshMonitor and therefore the CVDisplayLink it owns is discarded
6208         when it no longer has any clients. This minimizes the number of concurrent
6209         CVDisplayLink threads.
6210
6211         * WebCore.exp.in:
6212         * WebCore.xcodeproj/project.pbxproj:
6213         * dom/Document.cpp:
6214         (WebCore::Document::windowScreenDidChange):
6215         (WebCore::Document::webkitRequestAnimationFrame):
6216         * dom/Document.h:
6217         * dom/ScriptedAnimationController.cpp:
6218         (WebCore::ScriptedAnimationController::ScriptedAnimationController):
6219         (WebCore::ScriptedAnimationController::windowScreenDidChange):
6220         (WebCore::ScriptedAnimationController::scheduleAnimation):
6221         * dom/ScriptedAnimationController.h:
6222         (WebCore::ScriptedAnimationController::displayRefreshFired):
6223         * page/Page.cpp:
6224         (WebCore::Page::Page):
6225         (WebCore::Page::windowScreenDidChange):
6226         * page/Page.h:
6227         (WebCore::Page::displayID):
6228         * platform/PlatformScreen.h:
6229         * platform/graphics/DisplayRefreshMonitor.cpp: Added.
6230         (WebCore::DisplayRefreshMonitorClient::DisplayRefreshMonitorClient):
6231         (WebCore::DisplayRefreshMonitorClient::~DisplayRefreshMonitorClient):
6232         (WebCore::DisplayRefreshMonitorClient::fireDisplayRefreshIfNeeded):
6233         (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
6234         (WebCore::DisplayRefreshMonitor::refreshDisplayOnMainThread):
6235         (WebCore::DisplayRefreshMonitorManager::sharedManager):
6236         (WebCore::DisplayRefreshMonitorManager::findMonitor):
6237         (WebCore::DisplayRefreshMonitorManager::registerClient):
6238         (WebCore::DisplayRefreshMonitorManager::unregisterClient):
6239         (WebCore::DisplayRefreshMonitorManager::scheduleAnimation):
6240         (WebCore::DisplayRefreshMonitorManager::windowScreenDidChange):
6241         * platform/graphics/DisplayRefreshMonitor.h: Added.
6242         (WebCore::DisplayRefreshMonitorClient::scheduleAnimation):
6243         (WebCore::DisplayRefreshMonitor::hasClients):
6244         (WebCore::DisplayRefreshMonitor::addClient):
6245         (WebCore::DisplayRefreshMonitor::removeClient):
6246         (WebCore::DisplayRefreshMonitor::displayID):
6247         (WebCore::DisplayRefreshMonitorManager::DisplayRefreshMonitorManager):
6248         * platform/graphics/mac/DisplayRefreshMonitorMac.cpp: Added.
6249         (WebCore::DisplayRefreshMonitor::displayLinkCallback):
6250         (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
6251         (WebCore::DisplayRefreshMonitor::scheduleAnimation):
6252
6253 2011-10-13  Abhishek Arya  <inferno@chromium.org>
6254
6255         Unreviewed. Qt compile fix.
6256
6257         * css/CSSFontFaceSource.cpp: include Document.h.
6258
6259 2011-10-12  Abhishek Arya  <inferno@chromium.org>
6260
6261         Register custom fonts at their creation time,  
6262         rather than at retirement time.
6263         https://bugs.webkit.org/show_bug.cgi?id=68929
6264
6265         Reviewed by Dan Bernstein.
6266
6267         Test: fast/text/custom-font-data-crash2.html
6268
6269         * css/CSSFontFace.cpp:
6270         * css/CSSFontFace.h: remove function added in r94508,
6271         which is no longer needed. We now register custom fonts
6272         at creation time.
6273         * css/CSSFontFaceSource.cpp:
6274         (WebCore::CSSFontFaceSource::pruneTable): no longer need
6275         to delete/retire font data here, it will be handled in ~Document.
6276         (WebCore::CSSFontFaceSource::getFontData): register custom
6277         font to document's m_customFonts.
6278         * css/CSSFontSelector.cpp:
6279         * css/CSSFontSelector.h: remove function added in r94508,
6280         which is no longer needed. We now register custom fonts
6281         at creation time.
6282         * css/CSSSegmentedFontFace.cpp:
6283         (WebCore::CSSSegmentedFontFace::pruneTable): no longer need
6284         to delete/retire font data here, it will be handled in ~Document.
6285         (WebCore::CSSSegmentedFontFace::getFontData): register custom
6286         font to document's m_customFonts.
6287         * dom/Document.cpp: Change function names to registerCustomFont
6288         , deleteCustomFonts and local to m_customFont.
6289         (WebCore::Document::~Document):
6290         (WebCore::Document::recalcStyle): yanking out the comment. We
6291         no longer keep retired custom fonts. We clear all custom fonts
6292         on Document destruction.
6293         (WebCore::Document::registerCustomFont): 
6294         (WebCore::Document::deleteCustomFonts):
6295         * dom/Document.h:
6296
6297 2011-10-13  Ryosuke Niwa  <rniwa@webkit.org>
6298
6299         Crash in DeleteSelectionCommand::handleGeneralDelete
6300         https://bugs.webkit.org/show_bug.cgi?id=70045
6301
6302         Reviewed by Darin Adler.
6303
6304         Exit early when m_upstreamStart is null.
6305
6306         No new tests because we don't have a reduction.
6307
6308         * editing/DeleteSelectionCommand.cpp:
6309         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
6310
6311 2011-10-13  David Hyatt  <hyatt@apple.com>
6312
6313         https://bugs.webkit.org/show_bug.cgi?id=70049
6314         
6315         [CSS Regions] Add a test of a float being pushed down because it can't fit
6316         next to another float and make sure it re-evaluates its position when it changes
6317         regions as a result of the push.
6318
6319         Reviewed by Sam Weinig.
6320
6321         Added new test in fast/regions.
6322
6323         * rendering/RenderBlock.cpp:
6324         (WebCore::RenderBlock::computeLogicalLocationForFloat):
6325
6326 2011-10-13  Adam Barth  <abarth@webkit.org>
6327
6328         Move XSTL to script-src in Content-Security-Policy
6329         https://bugs.webkit.org/show_bug.cgi?id=63637
6330
6331         Reviewed by Eric Seidel.
6332
6333         The spec was unclear about how to treat XSLT.  My reading was that they
6334         should fall under style-src, but further discussion on the mailing list
6335         settled on using script-src because an XSLT can inject arbitrary DOM
6336         and script into a page, which is more risky than including style.
6337
6338         Tests: http/tests/security/contentSecurityPolicy/xsl-unaffected-by-style-src-1.php
6339                http/tests/security/contentSecurityPolicy/xsl-unaffected-by-style-src-2.php
6340
6341         * loader/cache/CachedResourceLoader.cpp:
6342         (WebCore::CachedResourceLoader::canRequest):
6343
6344 2011-10-13  Zeno Albisser  <zeno.albisser@nokia.com>
6345
6346         [Qt] QtWebKit build error for Mac 32bit
6347         https://bugs.webkit.org/show_bug.cgi?id=69914
6348
6349         In WebCore.pro and QtWebKit.pro we define NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES
6350         when compiling with ENABLE_VIDEO and with WTF_USE_QTKIT.
6351         But this is meant to be defined in NSGeometry.h under certain preconditions.
6352         Without setting NS_BUILD_32_LIKE_64 none of these preconditions is
6353         met and therefore NSGeometry.h will create several conflicting type definitions.
6354
6355         With this patch we create consistent definitions again.
6356         Due to the order of include files we cannot remove
6357         NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES from WebCore.pro.
6358
6359         Reviewed by Andreas Kling.
6360
6361         * WebCore.pro:
6362
6363 2011-10-13  Tom Hudson  <tomhudson@google.com>
6364
6365         Revert border radius clips (r95239) for Chromium due to performance issues. Update test expectations to skip border radius clip layout tests.
6366         https://bugs.webkit.org/show_bug.cgi?id=69844
6367
6368         Reviewed by Simon Fraser.
6369
6370         * rendering/RenderLayer.cpp:
6371         (WebCore::RenderLayer::clipToRect): Only process border radius clips #if !PLATFORM(CHROMIUM)
6372
6373 2011-10-13  Julien Chaffraix  <jchaffraix@webkit.org>
6374
6375         Deprecate event.layerX and event.layerY in WebKit
6376         https://bugs.webkit.org/show_bug.cgi?id=69951
6377
6378         Reviewed by Darin Adler.
6379
6380         layerX and layerY were concepts of the old Netscape code that stayed
6381         in WebKit for a long time without changes. Now the code is completely
6382         wrong and Mozilla has expressed some interest in removing it from their
6383         API too.
6384
6385         This is a first step in the removal as layerX and layerY are exposed
6386         in some APIs. Chromium and Win are fine with removing the property
6387         directly, but ObjC needs to deprecate them first.
6388
6389         * bindings/objc/PublicDOMInterfaces.h: Mark the API as deprecated.
6390
6391         * dom/MouseRelatedEvent.cpp:
6392         (WebCore::MouseRelatedEvent::layerX):
6393         (WebCore::MouseRelatedEvent::layerY):
6394         * dom/UIEvent.cpp:
6395         (WebCore::UIEvent::layerX):
6396         (WebCore::UIEvent::layerY):
6397         Added a call to warnDeprecatedLayerXYUsage in the previous functions.
6398
6399         (WebCore::UIEvent::warnDeprecatedLayerXYUsage): Print a warning in the
6400         console about the removal of event.layerX and event.layerY in the near future.
6401
6402         * dom/UIEvent.h: Added warnDeprecatedLayerXYUsage.
6403
6404 2011-10-03  Robert Hogan  <robert@webkit.org>
6405
6406         CSS 2.1 failure: inline-replaced-height-008.htm
6407         https://bugs.webkit.org/show_bug.cgi?id=69273
6408
6409         Reviewed by Simon Fraser.
6410
6411         Test: css2.1/20110323/inline-block-replaced-height-008.html
6412
6413         Per http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height,  if 'height' has computed value of 
6414         'auto', the replaced element has an intrinsic ratio and its used width is known or resolved, then 
6415         the used value of 'height' is determined by the equation (used width) / (intrinsic ratio).
6416
6417         * rendering/RenderImage.cpp:
6418         (WebCore::RenderImage::computeReplacedLogicalHeight):
6419         * rendering/RenderReplaced.h:
6420
6421 2011-10-13  Sheriff Bot  <webkit.review.bot@gmail.com>
6422
6423         Unreviewed, rolling out r97362.
6424         http://trac.webkit.org/changeset/97362
6425         https://bugs.webkit.org/show_bug.cgi?id=70039
6426
6427         Relies on V8 APIs that have been reverted upstream. (Requested
6428         by dglazkov on #webkit).
6429
6430         * English.lproj/localizedStrings.js:
6431         * bindings/js/ScriptProfiler.cpp:
6432         * bindings/js/ScriptProfiler.h:
6433         * bindings/v8/ScriptProfiler.cpp:
6434         * bindings/v8/ScriptProfiler.h:
6435         * inspector/Inspector.json:
6436         * inspector/InspectorController.cpp:
6437         (WebCore::InspectorController::InspectorController):
6438         * inspector/InspectorProfilerAgent.cpp:
6439         (WebCore::InspectorProfilerAgent::create):
6440         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
6441         * inspector/InspectorProfilerAgent.h:
6442         * inspector/front-end/DetailedHeapshotGridNodes.js:
6443         (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.hoverMessage):
6444         (WebInspector.HeapSnapshotGenericObjectNode):
6445         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
6446         (WebInspector.HeapSnapshotGenericObjectNode.prototype.hoverMessage):
6447         (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
6448         * inspector/front-end/DetailedHeapshotView.js:
6449         (WebInspector.DetailedHeapshotView.prototype._showStringContentPopover):
6450         * inspector/front-end/HeapSnapshot.js:
6451         (WebInspector.HeapSnapshot.prototype._init):
6452         (WebInspector.HeapSnapshot.prototype.dispose):
6453         (WebInspector.HeapSnapshot.prototype.updateStaticData):
6454         (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
6455         * inspector/front-end/HeapSnapshotProxy.js:
6456         * inspector/front-end/RemoteObject.js:
6457         * inspector/front-end/heapProfiler.css:
6458
6459 2011-10-13  David Hyatt  <hyatt@apple.com>
6460
6461         https://bugs.webkit.org/show_bug.cgi?id=69932
6462         
6463         Layout repainting messed up for objects in regions. There were two bugs here.
6464         The first is that the regionOverflowRect needs to at least be the size of the 
6465         region's rect. When you're in the middle of layout, you haven't computed the
6466         overflow rect for the flow thread yet (the flow thread's height could even be 0),
6467         and so you just need to enforce a minimum size. Also removed the region-overflow:break
6468         clipping behavior, since it was established that was wrong.
6469         
6470         The second bug is that when you tell a region to repaint, you need to disable layout state,
6471         since applying layout deltas from the flow thread makes no sense. The region is in a totally
6472         different place in the render tree, so the current flow thread layout state can't be used
6473         to determine your coordinate offset.
6474
6475         Reviewed by Dan Bernstein.
6476
6477         Added fast/repaint test.
6478
6479         * rendering/RenderFlowThread.cpp:
6480         (WebCore::RenderFlowThread::repaintRectangleInRegions):
6481         * rendering/RenderRegion.cpp:
6482         (WebCore::RenderRegion::regionOverflowRect):
6483
6484 2011-10-13  Renata Hodovan  <reni@webkit.org>
6485
6486         FEComponentTransfer element doesn't support dynamic invalidation
6487         https://bugs.webkit.org/show_bug.cgi?id=69747
6488
6489         The dynamic changes are captured by the svgAttributeChange() function, and
6490         invalidate the filter primitive if necessary.
6491         invalidateFilterPrimitiveParent() is a new free function in
6492         SVGFilterPrimitiveStanardAttributes what makes the invalidation possible
6493         by objects not inherited from SVGFilterPrimitiveStanardAttributes too.
6494         This solution was used in SVGFEMergeNodeElement::svgAttributeChanged()
6495         previously and now it can use this new function too.
6496
6497         Reviewed by Nikolas Zimmermann.
6498
6499         Tests: svg/dynamic-updates/SVGFEComponentTransferElement-dom-amplitude-attr.html
6500                svg/dynamic-updates/SVGFEComponentTransferElement-dom-exponent-attr.html
6501                svg/dynamic-updates/SVGFEComponentTransferElement-dom-intercept-attr.html
6502                svg/dynamic-updates/SVGFEComponentTransferElement-dom-offset-attr.html
6503                svg/dynamic-updates/SVGFEComponentTransferElement-dom-slope-attr.html
6504                svg/dynamic-updates/SVGFEComponentTransferElement-dom-tableValues-attr.html
6505                svg/dynamic-updates/SVGFEComponentTransferElement-dom-type-attr.html
6506                svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-amplitude-prop.html
6507                svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-exponent-prop.html
6508                svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-intercept-prop.html
6509                svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-offset-prop.html
6510                svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-slope-prop.html
6511                svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-tableValues-prop.html
6512                svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-type-prop.html
6513
6514         * svg/SVGComponentTransferFunctionElement.cpp:
6515         (WebCore::SVGComponentTransferFunctionElement::svgAttributeChanged):
6516         * svg/SVGComponentTransferFunctionElement.h:
6517         * svg/SVGFEComponentTransferElement.cpp:
6518         (WebCore::SVGFEComponentTransferElement::build):
6519         * svg/SVGFEMergeNodeElement.cpp:
6520         (WebCore::SVGFEMergeNodeElement::svgAttributeChanged):
6521         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
6522         (WebCore::invalidateFilterPrimitiveParent):
6523         * svg/SVGFilterPrimitiveStandardAttributes.h:
6524
6525 2011-10-13  Deepak Sherveghar  <bpwv64@motorola.com>
6526
6527         REGRESSION (r95381): Standalone video can be focused and draws a focus ring.
6528         https://bugs.webkit.org/show_bug.cgi?id=69097
6529
6530         Reviewed by Eric Carlson.
6531
6532         We don't want to focus a media element in a standalone document.
6533
6534         Test: fast/events/media-focus-in-standalone-media-document.html
6535
6536         * html/HTMLMediaElement.cpp:
6537         (WebCore::HTMLMediaElement::supportsFocus): return false if media element is in a standalone media document.
6538
6539 2011-10-13  Mikhail Naganov  <mnaganov@chromium.org>
6540
6541         Web Inspector: [Chromium] Add an ability to look up and explore an object from a heap profile.
6542         https://bugs.webkit.org/show_bug.cgi?id=61179
6543
6544         This is exteremely helpful when dealing with DOM wrappers, as
6545         their properties are mostly implemented with getters and thus not
6546         stored in heap snapshots.
6547
6548         Reviewed by Pavel Feldman.
6549
6550         * English.lproj/localizedStrings.js:
6551         * bindings/js/ScriptProfiler.cpp:
6552         (WebCore::ScriptProfiler::objectByHeapObjectId):
6553         * bindings/js/ScriptProfiler.h:
6554         * bindings/v8/ScriptProfiler.cpp:
6555         (WebCore::ScriptProfiler::objectByHeapObjectId):
6556         * bindings/v8/ScriptProfiler.h:
6557         * inspector/Inspector.json:
6558         * inspector/InspectorController.cpp:
6559         (WebCore::InspectorController::InspectorController):
6560         * inspector/InspectorProfilerAgent.cpp:
6561         (WebCore::InspectorProfilerAgent::create):
6562         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
6563         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
6564         * inspector/InspectorProfilerAgent.h:
6565         * inspector/front-end/DetailedHeapshotGridNodes.js:
6566         (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.queryObjectContent):
6567         (WebInspector.HeapSnapshotGenericObjectNode):
6568         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
6569         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
6570         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
6571         (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
6572         * inspector/front-end/DetailedHeapshotView.js:
6573         (WebInspector.DetailedHeapshotView.prototype._showObjectPopover):
6574         * inspector/front-end/HeapSnapshot.js:
6575         (WebInspector.HeapSnapshotNode.prototype.get canBeQueried):
6576         (WebInspector.HeapSnapshotNode.prototype.get flags):
6577         (WebInspector.HeapSnapshotNode.prototype.get isDOMWindow):
6578         (WebInspector.HeapSnapshot.prototype._init):
6579         (WebInspector.HeapSnapshot.prototype.dispose):
6580         (WebInspector.HeapSnapshot.prototype._flagsOfNode):
6581         (WebInspector.HeapSnapshot.prototype._calculateFlags):
6582         (WebInspector.HeapSnapshot.prototype.updateStaticData):
6583         (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
6584         * inspector/front-end/HeapSnapshotProxy.js:
6585         (WebInspector.HeapSnapshotProxy.prototype.get nodeFlags):
6586         * inspector/front-end/RemoteObject.js:
6587         (WebInspector.RemoteObject.fromError):
6588         * inspector/front-end/heapProfiler.css:
6589         (.detailed-heapshot-view tr:not(.selected) td.object-column span.highlight):
6590
6591 2011-10-13  Adam Barth  <abarth@webkit.org>
6592
6593         script-src * should allow all URLs
6594         https://bugs.webkit.org/show_bug.cgi?id=70011
6595
6596         Reviewed by Eric Seidel.
6597
6598         This patch gets us slightly ahead of the spec.  Technically, script-src
6599         means "any host" and inherits the current scheme.  However, that's not
6600         what developers expect and it's even contradicted by examples in the
6601         spec itself.  After this patch, * matches all URLs.
6602
6603         Test: http/tests/security/contentSecurityPolicy/script-src-star-cross-scheme.html
6604
6605         * page/ContentSecurityPolicy.cpp:
6606         (WebCore::CSPSourceList::CSPSourceList):
6607         (WebCore::CSPSourceList::matches):
6608         (WebCore::CSPSourceList::parseSource):
6609         (WebCore::CSPSourceList::addSourceStar):
6610
6611 2011-10-13  Kentaro Hara  <haraken@chromium.org>
6612
6613         Implement an OverflowEvent constructor for JSC
6614         https://bugs.webkit.org/show_bug.cgi?id=69907
6615
6616         Reviewed by Adam Barth.
6617
6618         There is no spec for the OverflowEvent constructor
6619         since it is WebKit-specific. However, judging from the current
6620         IDL of initOverflowEvent(), the constructor IDL should be as follows.
6621
6622         [Constructor(DOMString type, optional OverflowEventInit eventInitDict)]
6623         interface OverflowEvent : Event {
6624             ...;
6625         }
6626
6627         dictionary OverflowEventInit : EventInit {
6628             unsigned short orient;
6629             boolean horizontalOverflow;
6630             boolean verticalOverflow;
6631         }
6632
6633         Note: In initOverflowEvent(), we cannot specify |bubbles| and |cancelable|.
6634         I do not know why, but we can find a comment in fast/events/script-tests/init-events.js
6635         that says "initOverflowEvent has an interface that has a design that's
6636         inconsistent with the init functions from other events".
6637         On the other hand, the above constructor enables to specify |bubbles| and |cancelable|,
6638         which is consistent with other constructors.
6639
6640         Test: fast/events/constructors/overflow-event-constructor.html
6641
6642         * bindings/generic/EventConstructors.h: Added a definition for the OverflowEvent constructor.
6643         * bindings/js/JSEventConstructors.cpp: Added #includes for OverflowEvent.
6644         * dom/OverflowEvent.cpp:
6645         (WebCore::OverflowEventInit::OverflowEventInit):
6646         (WebCore::OverflowEvent::OverflowEvent):
6647         (WebCore::OverflowEvent::initOverflowEvent):
6648         * dom/OverflowEvent.h: Added a definition for OverflowEventInit.
6649         (WebCore::OverflowEvent::create):
6650         (WebCore::OverflowEvent::orient):
6651         (WebCore::OverflowEvent::horizontalOverflow):
6652         (WebCore::OverflowEvent::verticalOverflow):
6653         * dom/OverflowEvent.idl: Makes OverflowEvent constructible.
6654
6655 2011-10-13  Kent Tamura  <tkent@chromium.org>
6656
6657         Cleanup of HTMLSelectElement
6658         https://bugs.webkit.org/show_bug.cgi?id=69908
6659
6660         Reviewed by Darin Adler.
6661
6662         - Change the m_listItems type: Vector<Element*> -> Vector<HTMLElement*>
6663         - Rename a member: m_recalcListItems -> m_shouldRecalcListItems
6664         - Fold checkListItems() into listItems()
6665         - Style fixes
6666
6667         No new tests, just a cleanup.
6668
6669         * accessibility/AccessibilityListBox.cpp:
6670         (WebCore::AccessibilityListBox::addChildren):
6671         * accessibility/AccessibilityListBoxOption.cpp:
6672         (WebCore::AccessibilityListBoxOption::listBoxOptionIndex):
6673         * accessibility/AccessibilityMenuListPopup.cpp:
6674         (WebCore::AccessibilityMenuListPopup::addChildren):
6675         * accessibility/AccessibilityRenderObject.cpp:
6676         (WebCore::AccessibilityRenderObject::stringValue):
6677         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
6678         (optionFromSelection):
6679         (webkit_accessible_selection_get_selection_count):
6680         * dom/OptionElement.cpp:
6681         (WebCore::OptionElement::optionIndex):
6682         * html/HTMLSelectElement.cpp:
6683         (WebCore::HTMLSelectElement::HTMLSelectElement):
6684         (WebCore::HTMLSelectElement::add):
6685         (WebCore::HTMLSelectElement::value):
6686         (WebCore::HTMLSelectElement::setValue):
6687         (WebCore::HTMLSelectElement::parseMappedAttribute):
6688         (WebCore::HTMLSelectElement::recalcListItemsIfNeeded):
6689         (WebCore::HTMLSelectElement::setOption):
6690         (WebCore::HTMLSelectElement::setLength):
6691         (WebCore::HTMLSelectElement::nextValidIndex):
6692         (WebCore::HTMLSelectElement::firstSelectableListIndex):
6693         (WebCore::HTMLSelectElement::nextSelectableListIndexPageAway):
6694         (WebCore::HTMLSelectElement::selectAll):
6695         (WebCore::HTMLSelectElement::saveLastSelection):
6696         (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
6697         (WebCore::HTMLSelectElement::updateListBoxSelection):
6698         (WebCore::HTMLSelectElement::listBoxOnChange):
6699         (WebCore::HTMLSelectElement::listItems):
6700         (WebCore::HTMLSelectElement::setRecalcListItems):
6701         (WebCore::HTMLSelectElement::recalcListItemsInternal):
6702         (WebCore::HTMLSelectElement::selectedIndex):
6703         (WebCore::HTMLSelectElement::setSelectedIndexInternal):
6704         (WebCore::HTMLSelectElement::optionToListIndex):
6705         (WebCore::HTMLSelectElement::listToOptionIndex):
6706         (WebCore::HTMLSelectElement::dispatchFocusEvent):
6707         (WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
6708         (WebCore::HTMLSelectElement::saveFormControlState): Use StringBuilder.
6709         (WebCore::HTMLSelectElement::restoreFormControlState):
6710         (WebCore::HTMLSelectElement::appendFormData):
6711         (WebCore::HTMLSelectElement::reset):
6712         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
6713         (WebCore::HTMLSelectElement::updateSelectedState):
6714         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
6715         (WebCore::HTMLSelectElement::lastSelectedListIndex):
6716         Optimize the code by iterating in the reverse order.
6717         (WebCore::HTMLSelectElement::typeAheadFind):
6718         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
6719         (WebCore::HTMLSelectElement::length):
6720         (WebCore::toSelectElement):
6721         * html/HTMLSelectElement.h:
6722         * rendering/RenderListBox.cpp:
6723         (WebCore::RenderListBox::updateFromElement):
6724         (WebCore::RenderListBox::addFocusRingRects):
6725         (WebCore::RenderListBox::paintItemForeground):
6726         (WebCore::RenderListBox::paintItemBackground):
6727         (WebCore::RenderListBox::nodeAtPoint):
6728         * rendering/RenderMenuList.cpp:
6729         (WebCore::RenderMenuList::updateOptionsWidth):
6730         (WebCore::RenderMenuList::setTextFromOption):
6731         (WebCore::RenderMenuList::itemText):
6732         (WebCore::RenderMenuList::itemAccessibilityText):
6733         (WebCore::RenderMenuList::itemToolTip):
6734         (WebCore::RenderMenuList::itemIsEnabled):
6735         (WebCore::RenderMenuList::itemStyle):
6736         (WebCore::RenderMenuList::itemBackgroundColor):
6737         (WebCore::RenderMenuList::itemIsSeparator):
6738         (WebCore::RenderMenuList::itemIsLabel):
6739         (WebCore::RenderMenuList::itemIsSelected):
6740
6741 2011-10-13  Adam Barth  <abarth@webkit.org>
6742
6743         DOMWindow subobjects can be re-created after navigation
6744         https://bugs.webkit.org/show_bug.cgi?id=68849
6745
6746         Reviewed by Sam Weinig.
6747
6748         Test: http/tests/security/xss-DENIED-getSelection-from-inactive-domwindow.html
6749
6750         * page/DOMWindow.cpp:
6751         (WebCore::DOMWindow::~DOMWindow):
6752             - Add ASSERTs to show that we're not recreating these objects.
6753             - Add a call to clear() as defense in depth in case we have any of
6754               these objects hanging around.
6755         (WebCore::DOMWindow::clear):
6756             - Clear out a couple of objects that weren't getting cleared.
6757               These are actually not likely to cause problems, but clearing
6758               them out is the safe thing to do.
6759         (WebCore::DOMWindow::isActive):
6760             - Add a concept of whether the DOMWindow is "active" in its frame.
6761               We had this concept in a couple places already, but centralizing
6762               it into a helper function make it easier to use and talk about.
6763         (WebCore::DOMWindow::orientation):
6764             - Whitespace nit.
6765         (WebCore::DOMWindow::screen):
6766         (WebCore::DOMWindow::history):
6767         (WebCore::DOMWindow::crypto):
6768         (WebCore::DOMWindow::locationbar):
6769         (WebCore::DOMWindow::menubar):
6770         (WebCore::DOMWindow::personalbar):
6771         (WebCore::DOMWindow::scrollbars):
6772         (WebCore::DOMWindow::statusbar):
6773         (WebCore::DOMWindow::toolbar):
6774         (WebCore::DOMWindow::console):
6775         (WebCore::DOMWindow::applicationCache):
6776         (WebCore::DOMWindow::navigator):
6777         (WebCore::DOMWindow::performance):
6778         (WebCore::DOMWindow::location):
6779         (WebCore::DOMWindow::sessionStorage):
6780         (WebCore::DOMWindow::localStorage):
6781         (WebCore::DOMWindow::webkitNotifications):
6782         (WebCore::DOMWindow::webkitIndexedDB):
6783         (WebCore::DOMWindow::getSelection):
6784         (WebCore::DOMWindow::styleMedia):
6785         (WebCore::DOMWindow::webkitURL):
6786         (WebCore::DOMWindow::webkitStorageInfo):
6787             - Avoid creating these objects when we're not active.  That can
6788               only lead to sadness.
6789         (WebCore::DOMWindow::webkitRequestFileSystem):
6790         (WebCore::DOMWindow::webkitResolveLocalFileSystemURL):
6791         (WebCore::DOMWindow::openDatabase):
6792         (WebCore::DOMWindow::postMessage):
6793             - While not techincally creating subobjects, these functions also
6794               seem unwise when the DOMWindow is inactive.
6795         (WebCore::DOMWindow::find):
6796         (WebCore::DOMWindow::length):
6797         (WebCore::DOMWindow::getMatchedCSSRules):
6798             - These functions operate on the active Document.  When we're not
6799               active, that's not us!
6800         (WebCore::DOMWindow::document):
6801             - Update to use the new concept of being active rather than having
6802               this function roll its own implementation.
6803         (WebCore::DOMWindow::webkitConvertPointFromNodeToPage):
6804         (WebCore::DOMWindow::webkitConvertPointFromPageToNode):
6805         (WebCore::DOMWindow::scrollBy):
6806         (WebCore::DOMWindow::scrollTo):
6807             - These functions also look unwise to run when inactive because
6808               they're reading information from the active document.
6809             - I added a RefPtr for node because the call to
6810               updateLayoutIgnorePendingStylesheets() seems likely to be able to
6811               run script somehow.
6812         (WebCore::DOMWindow::addEventListener):
6813         (WebCore::DOMWindow::removeEventListener):
6814         (WebCore::DOMWindow::dispatchLoadEvent):
6815         (WebCore::DOMWindow::dispatchEvent):
6816             - I don't think these functions worked when inactive anyway, but
6817               explicitly blocking them seems wise.
6818         (WebCore::DOMWindow::setLocation):
6819         (WebCore::DOMWindow::isInsecureScriptAccess):
6820         (WebCore::DOMWindow::open):
6821         (WebCore::DOMWindow::showModalDialog):
6822             - These already have checks for being active, but it can't hurt to
6823               be explicit at the top of the function.
6824         * page/DOMWindow.h:
6825
6826 2011-10-13  Kent Tamura  <tkent@chromium.org>
6827
6828         REGRESSION(r89915): <input type=email multiple> don't show the default value
6829         https://bugs.webkit.org/show_bug.cgi?id=69895
6830
6831         Reviewed by Hajime Morita.
6832
6833         m_valueIfDirty became unexpectedly empty because
6834         EmailInputType::sanitizeValue() returned an empty string for a
6835         null input string.
6836
6837         To solve this issue, HTMLInputElement::sanitizeValue() checks
6838         nullness, and remove the null check of sanitizeValue() of
6839         InputType subclasses.
6840         Also, we make InputType::sanitizeValue() const.
6841
6842         * html/ColorInputType.cpp:
6843         (WebCore::ColorInputType::sanitizeValue):
6844         - Make this const.
6845         - Remove null check.
6846         * html/ColorInputType.h: Make sanitizeValue() const.
6847         * html/EmailInputType.cpp:
6848         (WebCore::EmailInputType::sanitizeValue): Make this const.
6849         * html/EmailInputType.h: Make sanitizeValue() const.
6850         * html/HTMLInputElement.cpp:
6851         (WebCore::HTMLInputElement::sanitizeValue):
6852         (WebCore::HTMLInputElement::updateValueIfNeeded):
6853         * html/InputType.cpp:
6854         (WebCore::InputType::sanitizeValue):
6855         Returns a null string if the input string is null, and
6856         don't call InputType::sanitizeValue() in this case.
6857         * html/InputType.h: Make sanitizeValue() const.
6858         * html/NumberInputType.cpp:
6859         (WebCore::NumberInputType::sanitizeValue): Make this const.
6860         * html/NumberInputType.h: Make sanitizeValue() const.
6861         * html/RangeInputType.cpp:
6862         (WebCore::RangeInputType::sanitizeValue):
6863         - Make this const.
6864         - Remove null check.
6865         * html/RangeInputType.h: Make sanitizeValue() const.
6866         * html/TextFieldInputType.cpp:
6867         (WebCore::TextFieldInputType::sanitizeValue): Make this const.
6868         * html/TextFieldInputType.h: Make sanitizeValue() const.
6869
6870 2011-10-12  Joseph Pecoraro  <joepeck@webkit.org>
6871
6872         Pass Parsed Accept Attribute MIME Types to WebKit Clients
6873         https://bugs.webkit.org/show_bug.cgi?id=69598
6874
6875         Reviewed by David Kilzer.
6876
6877         No new tests. No new functionality in WebCore, just
6878         exposing more information to the WebKit port.
6879
6880         * html/FileInputType.cpp:
6881         (WebCore::FileInputType::handleDOMActivateEvent):
6882         (WebCore::FileInputType::receiveDropForDirectoryUpload):
6883         Set the MIME type list on the FileChooser settings.
6884
6885         * html/HTMLInputElement.h:
6886         * html/HTMLInputElement.cpp:
6887         (WebCore::HTMLInputElement::acceptMIMETypes):
6888         Accessor for a parsed list of MIME types from the accept attribute.
6889         
6890         * platform/FileChooser.h:
6891         Add a slot for a MIME type list on the chooser settings.
6892
6893 2011-10-12  Joseph Pecoraro  <joepeck@webkit.org>
6894
6895         Pass Parsed Accept Attribute MIME Types to WebKit Clients
6896         https://bugs.webkit.org/show_bug.cgi?id=69598
6897
6898         Reviewed by Kent Tamura.
6899
6900         Deprecate the old String version of getting the "accept"
6901         mime type values. Instead we will change to include a
6902         list of MIME types.
6903
6904         * html/FileInputType.cpp:
6905         (WebCore::FileInputType::handleDOMActivateEvent):
6906         (WebCore::FileInputType::receiveDropForDirectoryUpload):
6907         * platform/FileChooser.h:
6908
6909 2011-10-12  Adam Barth  <abarth@webkit.org>
6910
6911         Remove ENABLE(XHTMLMP) and associated code
6912         https://bugs.webkit.org/show_bug.cgi?id=69729
6913
6914         Reviewed by David Levin.
6915
6916         As discussed on webkit-dev, we are removing this feature as part of our
6917         cleanup of unmaintained code in WebKit.
6918
6919         * Configurations/FeatureDefines.xcconfig:
6920         * GNUmakefile.am:
6921         * GNUmakefile.list.am:
6922         * WebCore.gypi:
6923         * WebCore.pro:
6924         * WebCore.vcproj/WebCore.vcproj:
6925         * WebCore.xcodeproj/project.pbxproj:
6926         * dom/DOMImplementation.cpp:
6927         (WebCore::DOMImplementation::createDocument):
6928         * dom/Document.cpp:
6929         (WebCore::Document::Document):
6930         * dom/Document.h:
6931         (WebCore::Document::isMediaDocument):
6932         * dom/Node.cpp:
6933         * dom/make_names.pl:
6934         (usesDefaultJSWrapper):
6935         * features.pri:
6936         * html/HTMLElement.cpp:
6937         (WebCore::HTMLElement::rendererIsNeeded):
6938         * html/HTMLElementsAllInOne.cpp:
6939         * html/HTMLNoScriptElement.cpp: Removed.
6940         * html/HTMLNoScriptElement.h: Removed.
6941         * html/HTMLTagNames.in:
6942         * html/HTMLViewSourceDocument.cpp:
6943         (WebCore::HTMLViewSourceDocument::createParser):
6944         * loader/FrameLoader.cpp:
6945         * platform/wince/MIMETypeRegistryWinCE.cpp:
6946         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
6947         * xml/parser/XMLDocumentParser.h:
6948         (WebCore::XMLDocumentParser::isXHTMLDocument):
6949         * xml/parser/XMLDocumentParserLibxml2.cpp:
6950         (WebCore::XMLDocumentParser::XMLDocumentParser):
6951         (WebCore::XMLDocumentParser::startElementNs):
6952         (WebCore::XMLDocumentParser::endElementNs):
6953         (WebCore::XMLDocumentParser::endDocument):
6954         (WebCore::XMLDocumentParser::internalSubset):
6955         (WebCore::getEntityHandler):
6956         (WebCore::externalSubsetHandler):
6957         * xml/parser/XMLDocumentParserQt.cpp:
6958         (WebCore::XMLDocumentParser::XMLDocumentParser):
6959         (WebCore::XMLDocumentParser::parse):
6960         (WebCore::XMLDocumentParser::parseStartElement):
6961         (WebCore::XMLDocumentParser::parseEndElement):
6962         (WebCore::XMLDocumentParser::endDocument):
6963         (WebCore::XMLDocumentParser::parseDtd):
6964
6965 2011-10-12  Kentaro Hara  <haraken@chromium.org>
6966
6967         Implement a WebKitTransitionEvent constructor for V8
6968         https://bugs.webkit.org/show_bug.cgi?id=69911
6969
6970         Reviewed by Adam Barth.
6971
6972         Test: fast/events/constructors/webkit-transition-event-constructor.html
6973
6974         * bindings/v8/custom/V8EventConstructors.cpp: Added a WebKitTransitionEvent constructor.
6975         * dom/WebKitTransitionEvent.idl: Replaced 'JSCustomConstructor' with 'CustomConstructor'.
6976
6977 2011-10-12  Kentaro Hara  <haraken@chromium.org>
6978
6979         Implement a BeforeLoadEvent constructor for JSC
6980         https://bugs.webkit.org/show_bug.cgi?id=69893
6981
6982         Reviewed by Adam Barth.
6983
6984         There is no spec for the BeforeLoadEvent constructor
6985         since it is WebKit-specific. However, judging from the current
6986         IDL of initBeforeLoadEvent(), the constructor IDL
6987         should be as follows.
6988
6989         [Constructor(DOMString type, optional BeforeLoadEventInit eventInitDict)]
6990         interface BeforeLoadEvent : Event {
6991             ...;
6992         }
6993
6994         dictionary BeforeLoadEventInit : EventInit {
6995             DOMString url;
6996         }
6997
6998         Test: fast/events/constructors/before-load-event-constructor.html
6999
7000         * bindings/generic/EventConstructors.h: Added a definition for the BeforeLoadEvent constructor.
7001         * bindings/js/JSEventConstructors.cpp: Added #includes for BeforeLoadEvent.
7002         * dom/BeforeLoadEvent.h: Added a definition for BeforeLoadEventInit.
7003         (WebCore::BeforeLoadEventInit::BeforeLoadEventInit):
7004         (WebCore::BeforeLoadEvent::create):
7005         (WebCore::BeforeLoadEvent::initBeforeLoadEvent):
7006         (WebCore::BeforeLoadEvent::BeforeLoadEvent):
7007         * dom/BeforeLoadEvent.idl: Makes BeforeLoadEvent constructible.
7008
7009 2011-10-12  Ben Wells  <benwells@chromium.org>
7010
7011         [skia] Implement Path.currentPoint for skia
7012         https://bugs.webkit.org/show_bug.cgi?id=69817
7013
7014         Replace FIXME with implementation.
7015
7016         Reviewed by Kenneth Russell.
7017
7018         * platform/graphics/skia/PathSkia.cpp:
7019         (WebCore::Path::currentPoint):
7020
7021 2011-10-12  Ben Wells  <benwells@chromium.org>
7022
7023         Incorrect rendering with one-sided thick border and border-radius
7024         https://bugs.webkit.org/show_bug.cgi?id=38787
7025
7026         Reviewed by Simon Fraser.
7027
7028         Incorrect rendering resulted when the inner border could not be properly represented as a rounded
7029         rectangle. When this happens, and the inner border is clipped out, the clipping code clips out the
7030         enclosing rectangle instead.
7031
7032         This change addresses this by clipping in a different way in this case only. The inside is clipped
7033         out one side at a time with a rounded rect created by adjusting the unrenderable inner border
7034         rounded rectangle. The side polygon which is clipped to is also increased in this case to include
7035         the inside of the border so that no areas are missing.
7036
7037         Test: fast/borders/border-radius-complex-inner.html
7038
7039         * rendering/RenderBoxModelObject.cpp:
7040         (WebCore::RenderBoxModelObject::paintOneBorderSide):
7041         (WebCore::RenderBoxModelObject::paintBorder):
7042         (WebCore::calculateSideRectIncludingInner):
7043         (WebCore::calculateAdjustedInnerBorder):
7044         (WebCore::RenderBoxModelObject::clipBorderSideForComplexInnerPath):
7045         * rendering/RenderBoxModelObject.h:
7046
7047 2011-10-12  Luke Macpherson   <macpherson@chromium.org>
7048
7049         Clean up CSSPropertyTextDecoration implementation and ETextDecoration usage.
7050         https://bugs.webkit.org/show_bug.cgi?id=67625
7051
7052         Reviewed by Eric Seidel.
7053
7054         No new tests - no functionality changed.
7055
7056         The implementation of CSSPropertyTextDecoration is simlified because
7057         1) CSSValueListIterator produces a valid iterator when no results available.
7058         2) CSSParser only allows CSSValueNone or a list of appropriate idents.
7059         3) CSSParser will treat a zero-length list as invalid at parse time.
7060
7061         * css/CSSPrimitiveValueMappings.h:
7062         (WebCore::CSSPrimitiveValue::operator ETextDecoration):
7063         Implement cast from CSSPrimitiveValue to ETextDecoration.
7064         * css/CSSStyleSelector.cpp:
7065         (WebCore::CSSStyleSelector::applyProperty):
7066         * rendering/style/RenderStyle.h:
7067         Use ETextDecoration enum instead of int throughout.
7068         (WebCore::InheritedFlags::textDecorationsInEffect):
7069         (WebCore::InheritedFlags::textDecoration):
7070         (WebCore::InheritedFlags::addToTextDecorationsInEffect):
7071         (WebCore::InheritedFlags::setTextDecorationsInEffect):
7072         (WebCore::InheritedFlags::setTextDecoration):
7073         * rendering/style/RenderStyleConstants.h:
7074         Introduce constant for number of bits required to represent enum.
7075         (WebCore::operator|):
7076         Implement | operator for bitfield enum.
7077         (WebCore::operator|=):
7078         Implement |= operator for bitfield enum.
7079         * rendering/style/StyleVisualData.h:
7080         Use ETextDecoration instead of int.
7081
7082 2011-10-12  Tony Chang  <tony@chromium.org>
7083
7084         Implement -webkit-flex-align for cross axis alignment in flex-flow: row
7085         https://bugs.webkit.org/show_bug.cgi?id=69808
7086
7087         Reviewed by David Hyatt.
7088
7089         Tests: css3/flexbox/flex-align-percent-height.html
7090                css3/flexbox/flex-align-vertical-writing-mode.html
7091                css3/flexbox/flex-align.html
7092
7093         * rendering/RenderFlexibleBox.cpp:
7094         (WebCore::RenderFlexibleBox::isFlowAwareLogicalHeightAuto):
7095         (WebCore::RenderFlexibleBox::flowAwareContentLogicalHeight):
7096         (WebCore::RenderFlexibleBox::flowAwareBorderAndPaddingLogicalHeight):
7097         (WebCore::RenderFlexibleBox::flowAwareMarginLogicalHeightForChild):
7098         (WebCore::RenderFlexibleBox::flowAwareLogicalLocationForChild):
7099         (WebCore::RenderFlexibleBox::layoutInlineDirection):
7100         (WebCore::RenderFlexibleBox::availableLogicalHeightForChild):
7101         (WebCore::RenderFlexibleBox::marginBoxAscent):
7102         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
7103         (WebCore::RenderFlexibleBox::adjustLocationLogicalTopForChild):
7104         (WebCore::RenderFlexibleBox::alignChildrenBlockDirection):
7105         * rendering/RenderFlexibleBox.h:
7106
7107 2011-10-12  Mihnea Ovidenie  <mihnea@adobe.com>
7108
7109         [CSS Regions]Remove -webkit-content-order property
7110         https://bugs.webkit.org/show_bug.cgi?id=69848
7111
7112         Reviewed by Tony Chang.
7113
7114         -webkit-content-order property is removed from latest CSS Regions spec.
7115
7116         * css/CSSComputedStyleDeclaration.cpp:
7117         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
7118         * css/CSSParser.cpp:
7119         (WebCore::CSSParser::parseValue):
7120         * css/CSSPropertyNames.in:
7121         * css/CSSStyleSelector.cpp:
7122         (WebCore::CSSStyleSelector::applyProperty):
7123         * dom/Node.cpp:
7124         (WebCore::Node::diff):
7125         * rendering/RenderFlowThread.cpp:
7126         (WebCore::compareRenderRegions):
7127         * rendering/RenderTreeAsText.cpp:
7128         (WebCore::writeRenderFlowThreads):
7129         * rendering/style/RenderStyle.h:
7130         * rendering/style/StyleRareNonInheritedData.cpp:
7131         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
7132         (WebCore::StyleRareNonInheritedData::operator==):
7133         * rendering/style/StyleRareNonInheritedData.h:
7134
7135 2011-10-12  Adam Bergkvist  <adam.bergkvist@ericsson.com>
7136
7137         Update PeerConnection to use WebCore platform interfaces
7138         https://bugs.webkit.org/show_bug.cgi?id=68462
7139
7140         Reviewed by Adam Barth.
7141
7142         Currently not testable.
7143
7144         * WebCore.gypi:
7145         * WebCore.pro:
7146         * bindings/js/JSPeerConnectionCustom.cpp:
7147         (WebCore::JSPeerConnectionConstructor::constructJSPeerConnection):
7148         * bindings/v8/custom/V8PeerConnectionCustom.cpp: Removed.
7149         * dom/MediaStreamList.cpp:
7150         (WebCore::MediaStreamList::item):
7151         (WebCore::MediaStreamList::append):
7152         (WebCore::MediaStreamList::remove):
7153         (WebCore::MediaStreamList::contains):
7154         * dom/MediaStreamList.h:
7155         * p2p/PeerConnection.cpp:
7156         (WebCore::PeerConnection::create):
7157         (WebCore::PeerConnection::PeerConnection):
7158         (WebCore::PeerConnection::processSignalingMessage):
7159         (WebCore::PeerConnection::readyState):
7160         (WebCore::PeerConnection::send):
7161         (WebCore::PeerConnection::addStream):
7162         (WebCore::PeerConnection::removeStream):
7163         (WebCore::PeerConnection::localStreams):
7164         (WebCore::PeerConnection::remoteStreams):
7165         (WebCore::PeerConnection::close):
7166         (WebCore::PeerConnection::iceProcessingCompleted):
7167         (WebCore::PeerConnection::sdpGenerated):
7168         (WebCore::PeerConnection::dataStreamMessageReceived):
7169         (WebCore::PeerConnection::remoteStreamAdded):
7170         (WebCore::PeerConnection::remoteStreamRemoved):
7171         (WebCore::PeerConnection::scriptExecutionContext):
7172         (WebCore::PeerConnection::stop):
7173         (WebCore::PeerConnection::scheduleInitialNegotiation):
7174         (WebCore::PeerConnection::initialNegotiationTimerFired):
7175         (WebCore::PeerConnection::ensureStreamChangeScheduled):
7176         (WebCore::PeerConnection::streamChangeTimerFired):
7177         (WebCore::PeerConnection::scheduleReadyStateChange):
7178         (WebCore::PeerConnection::readyStateChangeTimerFired):
7179         (WebCore::PeerConnection::changeReadyState):
7180         * p2p/PeerConnection.h:
7181         (WebCore::PeerConnection::refEventTarget):
7182         (WebCore::PeerConnection::derefEventTarget):
7183         * p2p/PeerConnection.idl:
7184         * page/MediaStreamClient.h:
7185         * page/MediaStreamController.cpp:
7186         (WebCore::MediaStreamController::MediaStreamController):
7187         * page/MediaStreamController.h:
7188         * page/MediaStreamFrameController.cpp:
7189         * page/MediaStreamFrameController.h:
7190
7191 2011-10-12  Chris Fleizach  <cfleizach@apple.com>
7192
7193         AX: CrashTracer: [USER] 296 crashes in WebProcess at com.apple.WebCore: WebCore::AccessibilityScrollbar::document const + 29
7194         https://bugs.webkit.org/show_bug.cgi?id=69936
7195
7196         AX Scrollbars have a weak pointer to their parent. They need to become AccessibilityMockObjects, so that they can
7197         participate in the detachFromParent() methods that happens when those parents go away.
7198         Could not reproduce the crash, but the backtrace is unequivocal.
7199
7200         Reviewed by Darin Adler.
7201
7202         * accessibility/AccessibilityScrollView.cpp:
7203         (WebCore::AccessibilityScrollView::removeChildScrollbar):
7204         * accessibility/AccessibilityScrollbar.cpp:
7205         (WebCore::AccessibilityScrollbar::AccessibilityScrollbar):
7206         * accessibility/AccessibilityScrollbar.h:
7207         (WebCore::AccessibilityScrollbar::scrollbar):
7208         (WebCore::AccessibilityScrollbar::isAccessibilityScrollbar):
7209
7210 2011-10-12  David Hyatt  <hyatt@apple.com>
7211
7212         https://bugs.webkit.org/show_bug.cgi?id=69950
7213         
7214         REGRESSION: Printing broken because of the isWritingModeRoot addition for unsplittable
7215         paginated content. Make sure not to include the RenderView when checking for writing mode
7216         roots. We only care about children that differ from their parents.
7217
7218         Reviewed by Dimitri Glazkov.
7219
7220         * rendering/LayoutState.cpp:
7221         (WebCore::LayoutState::LayoutState):
7222         * rendering/RenderBlock.cpp:
7223         (WebCore::RenderBlock::adjustForUnsplittableChild):
7224         * rendering/RenderBox.cpp:
7225         (WebCore::RenderBox::isUnsplittableForPagination):
7226         * rendering/RenderBox.h:
7227
7228 2011-10-12  Anna Cavender  <annacc@chromium.org>
7229
7230         Moving ScriptExecutionContext to the front of the argument list for
7231         IDL constructors that use ConstructorWith=ScriptExecutionContext.
7232         https://bugs.webkit.org/show_bug.cgi?id=69799
7233
7234         Reviewed by Adam Barth.
7235
7236         Tests:
7237         - http/tests/eventsource/* (for EventSource)
7238         - fast/filesystem/* (for Worker)
7239
7240         * bindings/js/JSEventSourceCustom.cpp:
7241         (WebCore::JSEventSourceConstructor::constructJSEventSource):
7242         * bindings/js/JSWorkerCustom.cpp:
7243         (WebCore::JSWorkerConstructor::constructJSWorker):
7244         * bindings/scripts/CodeGeneratorV8.pm:
7245         (GenerateConstructorCallback):
7246         * bindings/scripts/test/V8/V8TestInterface.cpp:
7247         (WebCore::V8TestInterface::constructorCallback):
7248         * page/EventSource.cpp:
7249         (WebCore::EventSource::create):
7250         * page/EventSource.h:
7251         * workers/Worker.cpp:
7252         (WebCore::Worker::create):
7253         * workers/Worker.h:
7254
7255 2011-10-11  David Hyatt  <hyatt@apple.com>
7256
7257         https://bugs.webkit.org/show_bug.cgi?id=69896
7258         
7259         [CSS Regions] Make positioned blocks work with variable width regions.
7260         
7261         Make positioned objects able to position and size independently in each region. This involves
7262         lifting the restriction in renderBoxRegionInfo for positioned objects and passing in region
7263         information to computeLogicalWidthForPositioned so that it can compute answers for a given
7264         region.
7265
7266         In order to make mixed writing modes work with positioned objects, this patch also takes some
7267         baby steps towards fixing differing writing modes in paginated environments.
7268
7269         Reviewed by Sam Weinig.
7270
7271         Added many new tests in fast/regions.
7272
7273         * rendering/LayoutState.cpp:
7274         (WebCore::LayoutState::LayoutState):
7275         Disable pagination whenever differing writing modes are encountered. The block effectively becomes
7276         unsplittable (as though it was an image).
7277
7278         * rendering/RenderBlock.cpp:
7279         (WebCore::RenderBlock::layoutBlock):
7280         Remove a FIXME that looks incorrect now.
7281
7282         (WebCore::RenderBlock::adjustPositionedBlock):
7283         Patch static inline position caching to call a new method that unshifts the position to put it back
7284         in the overall block's space rather than having it be per-region.
7285
7286         (WebCore::RenderBlock::layoutPositionedObjects):
7287         Make sure to attempt to set a logicalTop for positioned objects before they lay out so that they
7288         have a chance of paginating correctly the first time around. If for some reason the top estimate proves
7289         to be incorrect, we lay out again. Technically this bug exists for multi-column and printing as well, but
7290         for now just fixing it for regions.
7291
7292         (WebCore::RenderBlock::adjustForUnsplittableChild):
7293         Add writing mode roots to the set of objects we consider to be unsplittable.
7294
7295         (WebCore::RenderBlock::setStaticInlinePositionForChild):
7296         New helper function that handles shifting the inline static position back into the overall block's space
7297         rather than leaving it in a translated region-specific space.
7298
7299         * rendering/RenderBlock.h:
7300         (WebCore::RenderBlock::startOffsetForContent):
7301         New helper function for computing the start offset when no regions are involved.
7302
7303         * rendering/RenderBlockLineLayout.cpp:
7304         (WebCore::setStaticPositions):
7305         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
7306         Patched to call the new helper function, setStaticInlinePositionForChild.
7307
7308         * rendering/RenderBox.cpp:
7309         (WebCore::RenderBox::positionLineBox):
7310         Patched to call the new helper function, setStaticInlinePositionForChild.
7311
7312         (WebCore::RenderBox::computeLogicalWidthInRegion):
7313         Pass region information into the positioning logical width computation function.
7314
7315         (WebCore::RenderBox::renderBoxRegionInfo):
7316         Remove the positioning restriction and properly compute shifting and left/right offsets for positioned
7317         objects.
7318
7319         (WebCore::RenderBox::computeLogicalHeight):
7320         Add code for perpendicular flows that just positions the object within the first region it is encountered
7321         in. Since the object is unsplittable, this will work out. Should the object be so tall that it can't fit
7322         in any region, then the resulting rendering will potentially be terrible, but the expectation is that authors should
7323         avoid having perpendicular flows break across pages.
7324
7325         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
7326         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
7327         Patched to handle regions when they are passed in. Also makes sure that the pagination direction axis computation uses
7328         the flow thread's first region when the flow thread is the positioned object's containing block.
7329
7330         (WebCore::computeInlineStaticDistance):
7331         Patched to examine regions and to modify the static distance computation accordingly so that it is per-region.
7332
7333         (WebCore::RenderBox::computePositionedLogicalWidth):
7334         Pass along the region information when computing the positioned logical width.
7335
7336         (WebCore::computeLogicalLeftPositionedOffset):
7337         Handle the adjustment of the logical left offset for differing writing modes (in this case when the writing mode
7338         is flipped relative to us).
7339
7340         (WebCore::RenderBox::computePositionedLogicalHeight):
7341         Deal with perpendicular writing modes and make sure the object is placed properly using the first region it 
7342         occurs in.
7343
7344         (WebCore::computeLogicalTopPositionedOffset):
7345         Remove code that is no longer needed.
7346
7347         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
7348         Patched to pass in 0 instead of a region since replaced elements aren't handled yet.
7349
7350         * rendering/RenderBox.h:
7351         Changing the computePositionedLogicalWidth method to take region information.
7352
7353         * rendering/RenderDeprecatedFlexibleBox.cpp:
7354         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
7355         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
7356         Didn't bother fixing deprecated flexible box, and the new flexbox still can't handle positioned objects. When it does,
7357         it will use the new method. Put in some FIXMEs to help the flexbox coders see the issue when they port the code over
7358         to the new flexbox.
7359
7360         * rendering/RenderLayer.h:
7361         (WebCore::RenderLayer::staticInlinePosition):
7362         (WebCore::RenderLayer::staticBlockPosition):
7363         (WebCore::RenderLayer::setStaticInlinePosition):
7364         (WebCore::RenderLayer::setStaticBlockPosition):
7365         Patched to take LayoutUnits instead of ints.
7366
7367 2011-10-12  Nate Chapin  <japhet@chromium.org>
7368
7369         Remove logging to determine how null v8::Contexts are happening,
7370         and check the return value of V8DOMWindowShell::initContextIfNeeded()
7371         before using the context it initialized.
7372         https://bugs.webkit.org/show_bug.cgi?id=68099
7373
7374         Reviewed by Adam Barth.
7375
7376         No new tests, the only symptom is a crash without a known repro.
7377
7378         * bindings/v8/ScriptController.cpp:
7379         * bindings/v8/V8DOMWindowShell.cpp:
7380         (WebCore::V8DOMWindowShell::initContextIfNeeded): Return true
7381             if a context already existed.
7382         (WebCore::V8DOMWindowShell::namedItemAdded): Remove logging.
7383         * bindings/v8/V8Proxy.cpp:
7384
7385 2011-10-06  Robert Hogan  <robert@webkit.org>
7386
7387         CSS 2.1 failure: border-conflict-style-079
7388         https://bugs.webkit.org/show_bug.cgi?id=69551
7389
7390         Reviewed by Antonio Gomes.
7391
7392         * css/CSSValueKeywords.in: ridge and outset were the wrong way round
7393         * rendering/style/RenderStyleConstants.h: ditto
7394
7395
7396 2011-10-12  Jian Li  <jianli@chromium.org>
7397
7398         Support passing optional filename when FormData.append() is used to
7399         append a blob
7400         https://bugs.webkit.org/show_bug.cgi?id=69885
7401
7402         Reviewed by David Levin.
7403
7404         Covered by existing test with new test case added:
7405         http/tests/local/formdata/send-form-data-with-sliced-file.html
7406
7407         * bindings/js/JSDOMFormDataCustom.cpp:
7408         (WebCore::JSDOMFormData::append):
7409         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
7410         (WebCore::V8DOMFormData::appendCallback):
7411         * html/DOMFormData.cpp:
7412         (WebCore::DOMFormData::append):
7413         * html/DOMFormData.h:
7414         * html/DOMFormData.idl:
7415         * html/FormDataList.cpp:
7416         (WebCore::FormDataList::appendBlob):
7417         * html/FormDataList.h:
7418         (WebCore::FormDataList::Item::Item):
7419         (WebCore::FormDataList::Item::filename):
7420         (WebCore::FormDataList::appendBlob):
7421         * platform/network/FormData.cpp:
7422         (WebCore::FormData::appendKeyValuePairItems):
7423
7424 2011-10-12  Sergey Glazunov  <serg.glazunov@gmail.com>
7425
7426         ScriptController::executeIfJavaScriptURL gets confused by synchronous frame loads
7427         https://bugs.webkit.org/show_bug.cgi?id=69777
7428
7429         Reviewed by Adam Barth.
7430
7431         Test: http/tests/security/xss-DENIED-synchronous-frame-load-in-javascript-url.html
7432
7433         * bindings/ScriptControllerBase.cpp:
7434         (WebCore::ScriptController::executeIfJavaScriptURL):
7435         * loader/DocumentWriter.cpp:
7436         (WebCore::DocumentWriter::replaceDocument):
7437         (WebCore::DocumentWriter::begin):
7438         * loader/DocumentWriter.h:
7439
7440 2011-10-12  Vsevolod Vlasov  <vsevik@chromium.org>
7441
7442         Web Inspector: Searching in multiple scripts in the scripts tab
7443         https://bugs.webkit.org/show_bug.cgi?id=38807
7444
7445         Reviewed by Pavel Feldman.
7446
7447         Added support for advanced search capabilities in inspector by means
7448         of showing the new SearchView in Drawer. Advanced search is activated
7449         with Ctrl+Shift+F (Cmd+Shift+F) shortcut.
7450
7451         * English.lproj/localizedStrings.js:
7452         * WebCore.gypi:
7453         * WebCore.vcproj/WebCore.vcproj:
7454         * inspector/compile-front-end.sh:
7455         * inspector/front-end/AdvancedSearchController.js: Added.
7456         * inspector/front-end/DebuggerPresentationModel.js:
7457         (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
7458         * inspector/front-end/ScriptsPanel.js:
7459         * inspector/front-end/ScriptsSearchScope.js: Added.
7460         * inspector/front-end/UISourceCode.js:
7461         (WebInspector.UISourceCode.prototype.searchInContent):
7462         * inspector/front-end/WebKit.qrc:
7463         * inspector/front-end/externs.js:
7464         (WebInspector.showViewInDrawer):
7465         * inspector/front-end/inspector.css:
7466         (.search-view):
7467         (.search-view .search-panel):
7468         (.search-view .search-results):
7469         (#search-results-pane-file-based .search-result):
7470         (#search-results-pane-file-based .search-result:first-child):
7471         (#search-results-pane-file-based .search-result .search-result-file-name):
7472         (#search-results-pane-file-based .search-result .search-result-matches-count):
7473         (#search-results-pane-file-based .search-match):
7474         (#search-results-pane-file-based .search-match .webkit-line-number.search-match-line-number):
7475         (#search-results-pane-file-based .search-match:not(:hover) .webkit-line-number.search-match-line-number):
7476         (#search-results-pane-file-based .search-match:hover):
7477         (#search-results-pane-file-based .search-match .highlighted-match):
7478         (#search-results-pane-file-based a):
7479         (#search-results-pane-file-based .search-match .search-match-content):
7480         * inspector/front-end/inspector.html:
7481         * inspector/front-end/inspector.js:
7482         (WebInspector.documentKeyDown):
7483         * inspector/front-end/utilities.js:
7484         ():
7485
7486 2011-10-12  Vsevolod Vlasov  <vsevik@chromium.org>
7487
7488         Web Inspector: Fix Drawer to make it possible to show views other than Console.
7489         https://bugs.webkit.org/show_bug.cgi?id=69831
7490
7491         Reviewed by Pavel Feldman.
7492
7493         Animation type extracted to distinguish between slow and normal
7494         animation and immediate show/hide.
7495         Implemented correct console toggle button behavior on showing views
7496         other than console in Drawer.
7497         View shown in Drawer is now shown in drawer-contents div with common
7498         styles moved there.
7499         Removed unused "_safelyRemoveChildren" method from Drawer.
7500
7501         * inspector/front-end/ConsolePanel.js:
7502         (WebInspector.ConsolePanel.prototype.show):
7503         (WebInspector.ConsolePanel.prototype.hide):
7504         * inspector/front-end/Drawer.js:
7505         (WebInspector.Drawer):
7506         (WebInspector.Drawer.prototype.show):
7507         (WebInspector.Drawer.prototype.hide):
7508         (WebInspector.Drawer.prototype._animationDuration):
7509         * inspector/front-end/inspector.css:
7510         (body.drawer-visible #drawer-contents):
7511         * inspector/front-end/inspector.js:
7512         (WebInspector._toggleConsoleButtonClicked):
7513         (WebInspector._escPressed):
7514         (WebInspector.showViewInDrawer):
7515         (WebInspector.documentKeyDown):
7516
7517 2011-10-12  Yury Semikhatsky  <yurys@chromium.org>
7518
7519         [v8] Use V8DOMWrapper::isWrapperOfType for determining global object type
7520         https://bugs.webkit.org/show_bug.cgi?id=69923
7521
7522         Get rid of globalObjectPrototypeIsDOMWindow, use V8DOMWrapper::isWrapperOfType instead.
7523
7524         Reviewed by Pavel Feldman.
7525
7526         * bindings/v8/V8DOMWrapper.cpp:
7527         (WebCore::V8DOMWrapper::instantiateV8Object):
7528         (WebCore::V8DOMWrapper::getEventListener):
7529
7530 2011-10-12  Yury Semikhatsky  <yurys@chromium.org>
7531
7532         [Chromium] Web Inspector: assertion failure when evaluating expression in worker inspector console
7533         https://bugs.webkit.org/show_bug.cgi?id=69922
7534
7535         Check that the global object is a DOMWindow wrapper befor casting it to V8DOMWindow.
7536
7537         Reviewed by Pavel Feldman.
7538
7539         * bindings/v8/ScriptState.cpp:
7540         (WebCore::ScriptState::domWindow):
7541
7542 2011-10-12  Yuta Kitamura  <yutak@chromium.org>
7543
7544         WebSocket: Update WebSocket protocol to hybi-17
7545         https://bugs.webkit.org/show_bug.cgi?id=69910
7546
7547         Reviewed by Kent Tamura.
7548
7549         Essential changes between hybi-10 and hybi-17 are:
7550         - Sec-WebSocket-Origin header has been renamed to "Origin".
7551         - Sec-WebSocket-Version header value has been bumped to 13.
7552
7553         No new tests are necessary. pywebsocket has already been updated to the latest version
7554         which understands the new protocol. Tests under http/tests/websocket/ should keep
7555         passing.
7556
7557         * websockets/WebSocketHandshake.cpp:
7558         (WebCore::WebSocketHandshake::clientHandshakeMessage):
7559         (WebCore::WebSocketHandshake::clientHandshakeRequest):
7560
7561 2011-10-11  Antti Koivisto  <antti@apple.com>
7562
7563         Resolve regular and visited link style in a single pass
7564         https://bugs.webkit.org/show_bug.cgi?id=69838
7565
7566         Reviewed by Darin Adler
7567         
7568         We can simplify and speed up selector matching by removing the recursive matching done
7569         to generate the style for the :visited pseudo selector. Both regular and visited link style
7570         can be generated in a single pass through the style selector.
7571         
7572         - Make SelectorChecker::checkSelector to return both :visited and :link matches for all links.
7573         - For each selector statically determine and cache the link states it may match.
7574         - When applying the matched style declarations, apply them to the right RenderStyle
7575           (regular, visited, or both).
7576
7577         Statically determining which link state will be matched works since we only support :visited matching
7578         based on the current element state (not ancestors or siblings).
7579         
7580         A later patch will eliminate the separate RenderStyle for visited style completely and include the
7581         few allowed properties to the regular RenderStyle.
7582
7583         * css/CSSStyleSelector.cpp:
7584         (WebCore::RuleData::linkMatchType):
7585         (WebCore::RuleSet::linkPseudoClassRules):
7586         (WebCore::CSSStyleSelector::addMatchedDeclaration):
7587         (WebCore::CSSStyleSelector::matchRules):
7588         (WebCore::CSSStyleSelector::styleForElement):
7589         (WebCore::CSSStyleSelector::pseudoStyleForElement):
7590         (WebCore::CSSStyleSelector::updateFont):
7591         (WebCore::CSSStyleSelector::checkSelector):
7592         (WebCore::RuleData::RuleData):
7593         (WebCore::RuleSet::addRule):
7594         (WebCore::RuleSet::collectFeatures):
7595         (WebCore::RuleSet::shrinkToFit):
7596         (WebCore::CSSStyleSelector::applyDeclaration):
7597         (WebCore::CSSStyleSelector::applyDeclarations):
7598         (WebCore::CSSStyleSelector::applyProperty):
7599         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
7600         * css/CSSStyleSelector.h:
7601         (WebCore::CSSStyleSelector::MatchedStyleDeclaration::MatchedStyleDeclaration):
7602         * css/SelectorChecker.cpp:
7603         (WebCore::SelectorChecker::SelectorChecker):
7604         (WebCore::SelectorChecker::checkSelector):
7605         (WebCore::SelectorChecker::fastCheckRightmostSelector):
7606         (WebCore::SelectorChecker::fastCheckSelector):
7607         (WebCore::SelectorChecker::checkOneSelector):
7608         (WebCore::SelectorChecker::commonPseudoClassSelectorMatches):
7609         (WebCore::SelectorChecker::determineLinkMatchType):
7610         * css/SelectorChecker.h:
7611         * rendering/style/RenderStyle.cpp:
7612         (WebCore::RenderStyle::addCachedPseudoStyle):
7613
7614 2011-10-12  Kent Tamura  <tkent@chromium.org>
7615
7616         REGRESSION(r94836): An assertion fails in HTMLFormControlElement::isValidFormControlElement
7617         when HTMLInputElement::setValue() is called while the element is focused.
7618         https://bugs.webkit.org/show_bug.cgi?id=69909
7619
7620         Reviewed by Ryosuke Niwa.
7621
7622         setNeedsValidityCheck() should be called after the value update
7623         and before any style recalculation. r94836 moved
7624         setSelectionRange() call, and it recalculates the element style.
7625
7626         * html/HTMLInputElement.cpp:
7627         (WebCore::HTMLInputElement::setValue): Move setNeedsValidityCheck() to setValueInternal().
7628         (WebCore::HTMLInputElement::setValueInternal): Move setNeedsValidityCheck() from setValue().
7629
7630 2011-10-12  Kent Tamura  <tkent@chromium.org>
7631
7632         Build fixes for r97238.
7633         https://bugs.webkit.org/show_bug.cgi?id=69828
7634
7635         * GNUmakefile.list.am: Remove SelectElement.{cpp,h}.
7636         * dom/DOMAllInOne.cpp: Remove SelectElement.cpp.
7637
7638 2011-10-12  Kent Tamura  <tkent@chromium.org>
7639
7640         Move the content of SelectElementData into HTMLSelectElement, and remove SelectElement.{cpp,h}
7641         https://bugs.webkit.org/show_bug.cgi?id=69828
7642
7643         Reviewed by Darin Adler.
7644
7645         - Move all of the data members of SelectElementData to
7646         HTMLSelectElement, and their accessor functions are not needed
7647         anymore.
7648         - Move SelectElementData::useMenuList() to HTMLSelectElement.
7649
7650         No new tests, just a refactoring.
7651
7652         * CMakeLists.txt: Remove SelectElement.cpp.
7653         * WebCore.gypi: Remove SelectElement.{cpp,h}.
7654         * WebCore.pro: ditto.
7655         * WebCore.vcproj/WebCore.vcproj: ditto.
7656         * WebCore.xcodeproj/project.pbxproj: ditto.
7657         * dom/OptionElement.cpp: Remove a reference to SelectElement.h.
7658         * dom/SelectElement.cpp: Removed.
7659         * dom/SelectElement.h: Removed.
7660         * html/HTMLSelectElement.cpp:
7661         (WebCore::HTMLSelectElement::HTMLSelectElement):
7662         Initializes the moved data members.
7663         (WebCore::HTMLSelectElement::formControlType):
7664         (WebCore::HTMLSelectElement::setSelectedIndexByUser):
7665         (WebCore::HTMLSelectElement::activeSelectionStartListIndex):
7666         (WebCore::HTMLSelectElement::activeSelectionEndListIndex):
7667         (WebCore::HTMLSelectElement::parseMappedAttribute):
7668         (WebCore::HTMLSelectElement::canSelectAll):
7669         (WebCore::HTMLSelectElement::createRenderer):
7670         (WebCore::HTMLSelectElement::setOption):
7671         (WebCore::HTMLSelectElement::selectAll):
7672         (WebCore::HTMLSelectElement::saveLastSelection):
7673         (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
7674         (WebCore::HTMLSelectElement::setActiveSelectionEndIndex):
7675         (WebCore::HTMLSelectElement::updateListBoxSelection):
7676         (WebCore::HTMLSelectElement::listBoxOnChange):
7677         (WebCore::HTMLSelectElement::menuListOnChange):
7678         (WebCore::HTMLSelectElement::scrollToSelection):
7679         (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer):
7680         (WebCore::HTMLSelectElement::setRecalcListItems):
7681         (WebCore::HTMLSelectElement::recalcListItemsInternal):
7682         (WebCore::HTMLSelectElement::setSelectedIndexInternal):
7683         (WebCore::HTMLSelectElement::dispatchFocusEvent):
7684         (WebCore::HTMLSelectElement::dispatchBlurEvent):
7685         (WebCore::HTMLSelectElement::parseMultipleAttribute):
7686         (WebCore::HTMLSelectElement::reset):
7687         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
7688         (WebCore::HTMLSelectElement::updateSelectedState):
7689         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
7690         (WebCore::HTMLSelectElement::defaultEventHandler):
7691         (WebCore::HTMLSelectElement::typeAheadFind):
7692         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
7693         * html/HTMLSelectElement.h:
7694         (WebCore::HTMLSelectElement::size):
7695         (WebCore::HTMLSelectElement::multiple):
7696         (WebCore::HTMLSelectElement::usesMenuList):
7697
7698 2011-10-12  Ryosuke Niwa  <rniwa@webkit.org>
7699
7700         Chromium Mac build fix after r97227.
7701
7702         * platform/chromium/ScrollbarThemeChromiumMac.mm:
7703         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
7704
7705 2011-10-11  Antoine Labour  <piman@chromium.org>
7706
7707         Separate compositor client thread from webkit's main thread.
7708         https://bugs.webkit.org/show_bug.cgi?id=69048
7709
7710         Reviewed by Darin Fisher.
7711
7712         Covered by compositing tests.
7713
7714         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
7715         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
7716         * platform/graphics/chromium/cc/CCMainThread.cpp:
7717         * platform/graphics/chromium/cc/CCMainThread.h:
7718         * platform/graphics/chromium/cc/CCProxy.cpp:
7719         (WebCore::CCProxy::isMainThread):
7720         (WebCore::CCProxy::setMainThread):
7721         (WebCore::CCProxy::CCProxy):
7722         * platform/graphics/chromium/cc/CCProxy.h:
7723
7724 2011-10-11  Simon Fraser  <simon.fraser@apple.com>
7725
7726         Fix Leopard and Snow Leopard builds, which don't use the scrollbar painter.
7727         
7728         * platform/mac/ScrollAnimatorMac.mm:
7729
7730 2011-10-11  Simon Fraser  <simon.fraser@apple.com>
7731
7732         Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
7733         https://bugs.webkit.org/show_bug.cgi?id=68134
7734
7735         Reviewed by Darin Adler.
7736
7737         Use ScrollbarThemeMock when the setting to use mock scrollbars is enabled.
7738         
7739         Make ScrollbarTheme::nativeTheme() private, and add a new static theme() method
7740         that reads the setting, and returns the mock theme if set. All callers now use
7741         theme() rther than nativeTheme(). Add the new ScrollbarTheme.cpp file to the build.
7742         
7743         Fix scroll animator code for Mac and Chromium that was casting the ScrollbarTheme
7744         without type-checking it to test whether it's the mock theme.
7745
7746         * CMakeLists.txt:
7747         * GNUmakefile.list.am:
7748         * WebCore.exp.in:
7749         * WebCore.gypi:
7750         * WebCore.pro:
7751         * WebCore.vcproj/WebCore.vcproj:
7752         * WebCore.xcodeproj/project.pbxproj:
7753         * html/shadow/TextControlInnerElements.cpp:
7754         (WebCore::SpinButtonElement::startRepeatingTimer):
7755         * platform/ScrollAnimatorWin.cpp:
7756         (WebCore::ScrollAnimatorWin::scroll):
7757         (WebCore::ScrollAnimatorWin::accelerationTime):
7758         (WebCore::ScrollAnimatorWin::animateScroll):
7759         * platform/ScrollView.cpp:
7760         (WebCore::ScrollView::wheelEvent):
7761         * platform/ScrollableArea.cpp:
7762         (WebCore::ScrollableArea::setScrollbarOverlayStyle):
7763         * platform/Scrollbar.cpp:
7764         (WebCore::Scrollbar::maxOverlapBetweenPages):
7765         (WebCore::Scrollbar::Scrollbar):
7766         * platform/ScrollbarTheme.cpp: Copied from Source/WebCore/platform/mock/ScrollbarThemeMock.h.
7767         (WebCore::ScrollbarTheme::theme):
7768         * platform/ScrollbarTheme.h:
7769         (WebCore::ScrollbarTheme::isMockTheme):
7770         * platform/chromium/PopupListBox.cpp:
7771         (WebCore::PopupListBox::layout):
7772         * platform/chromium/ScrollAnimatorChromiumMac.mm:
7773         (WebCore::chromiumScrollbarTheme):
7774         (WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
7775         (WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
7776         (WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
7777         (WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
7778         (WebCore::ScrollAnimatorChromiumMac::updateScrollerStyle):
7779         * platform/chromium/ScrollbarThemeChromiumMac.mm:
7780         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
7781         (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
7782         * platform/mac/ScrollAnimatorMac.mm:
7783         (WebCore::macScrollbarTheme):
7784         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
7785         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
7786         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
7787         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
7788         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
7789         * platform/mac/ScrollbarThemeMac.mm:
7790         (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
7791         (+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
7792         * platform/mock/ScrollbarThemeMock.h:
7793         (WebCore::ScrollbarThemeMock::isMockTheme):
7794         * platform/qt/RenderThemeQt.cpp:
7795         (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
7796         * platform/win/PopupMenuWin.cpp:
7797         (WebCore::PopupMenuWin::calculatePositionAndSize):
7798         * rendering/RenderLayer.cpp:
7799         (WebCore::cornerRect):
7800         * rendering/RenderScrollbarPart.cpp:
7801         (WebCore::calcScrollbarThicknessUsing):
7802         * rendering/RenderScrollbarTheme.h:
7803         (WebCore::RenderScrollbarTheme::scrollbarThickness):
7804         (WebCore::RenderScrollbarTheme::buttonsPlacement):
7805         (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
7806         (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
7807         (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
7808         (WebCore::RenderScrollbarTheme::registerScrollbar):
7809         (WebCore::RenderScrollbarTheme::unregisterScrollbar):
7810         * rendering/RenderTextControl.cpp:
7811         (WebCore::RenderTextControl::scrollbarThickness):
7812         * rendering/RenderThemeChromiumSkia.cpp:
7813         (WebCore::RenderThemeChromiumSkia::menuListInternalPadding):
7814         * rendering/RenderThemeChromiumWin.cpp:
7815         (WebCore::RenderThemeChromiumWin::adjustInnerSpinButtonStyle):
7816
7817 2011-10-11  Kentaro Hara  <haraken@chromium.org>
7818
7819         Implement a WebKitTransitionEvent constructor for JSC
7820         https://bugs.webkit.org/show_bug.cgi?id=69829
7821
7822         Reviewed by Adam Barth.
7823
7824         There is no spec for the WebKitTransitionEvent constructor
7825         since it is WebKit-specific. However, judging from the current
7826         IDL of initWebKitTransitionEvent(), the constructor IDL
7827         should be as follows.
7828
7829         [Constructor(DOMString type, optional WebKitTransitionEventInit eventInitDict)]
7830         interface WebKitTransitionEvent : Event {
7831             ...;
7832         }
7833
7834         dictionary WebKitTransitionEventInit : EventInit {
7835             DOMString propertyName;
7836             double elapsedTime;
7837         }
7838
7839         Test: fast/events/constructors/webkit-transition-event-constructor.html
7840
7841         * bindings/generic/EventConstructors.h: Added a definition for the WebKitTransitionEvent constructor.
7842         * bindings/js/JSEventConstructors.cpp: Added #includes for WebKitTransitionEvent.
7843         * dom/WebKitTransitionEvent.cpp:
7844         (WebCore::WebKitTransitionEventInit::WebKitTransitionEventInit):
7845         (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
7846         (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent):
7847         * dom/WebKitTransitionEvent.h: Added a definition for WebKitTransitionEventInit.
7848         (WebCore::WebKitTransitionEvent::create):
7849         (WebCore::WebKitTransitionEvent::isWebKitTransitionEvent):
7850         * dom/WebKitTransitionEvent.idl: Makes WebKitTransitionEvent constructible.
7851
7852 2011-10-11  Sameer Patil  <mkrp87@motorola.com>
7853
7854         :checked pseudo selector not matching selected option 
7855         https://bugs.webkit.org/show_bug.cgi?id=63192
7856
7857         Reviewed by Kent Tamura.
7858
7859         Test: fast/css/checked-pseudo-selector.html
7860
7861         Option element selected state need to be checked in checkOneSelector, 
7862         so that it can be considered as checked on querySelectorAll(':checked').
7863
7864         * css/SelectorChecker.cpp:
7865         (WebCore::SelectorChecker::checkOneSelector):
7866
7867 2011-10-11  Ryuan Choi  <ryuan.choi@samsung.com>
7868
7869         StorageAreaSync::sync needs a transaction for better performance.
7870         https://bugs.webkit.org/show_bug.cgi?id=57694
7871
7872         Reviewed by Darin Adler.
7873
7874         For now, StorageAreaSync::sync execute SQLite operations for all items outside
7875         a transaction.
7876         However, SQLite operations outside a transaction are all atomic and thus
7877         writes will block on I/O, which makes the process slow during heavy I/O.
7878         This wrapped them with BEGIN TRANSACTION and END TRANSACTION for the better
7879         performance.
7880
7881         No new tests required.
7882         No functional changes if transaction doesn't fail.
7883         And also, it is difficult to test the case of transaction fails.
7884
7885         * storage/StorageAreaSync.cpp:
7886         (WebCore::StorageAreaSync::sync):
7887
7888 2011-10-11  Ojan Vafai  <ojan@chromium.org>
7889
7890         margin-right is ignored with vertical writing mode
7891         https://bugs.webkit.org/show_bug.cgi?id=69686
7892
7893         Reviewed by Darin Adler.
7894
7895         We need to use the parent's writing mode when grabbing
7896         the margin start/end for the purposes of computing the parent's
7897         preferred widths.
7898
7899         Test: fast/writing-mode/margins.html
7900
7901         * rendering/RenderBlock.cpp:
7902         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
7903         * rendering/RenderBlock.h:
7904
7905 2011-10-11  Sheriff Bot  <webkit.review.bot@gmail.com>
7906
7907         Unreviewed, rolling out r97202, r97207, and r97215.
7908         http://trac.webkit.org/changeset/97202
7909         http://trac.webkit.org/changeset/97207
7910         http://trac.webkit.org/changeset/97215
7911         https://bugs.webkit.org/show_bug.cgi?id=69894
7912
7913         Broke builds (Requested by rniwa on #webkit).
7914
7915         * platform/PopupMenuClient.h:
7916         * rendering/RenderMenuList.cpp:
7917         (WebCore::RenderMenuList::showPopup):
7918         * rendering/RenderMenuList.h:
7919         * rendering/RenderObject.h:
7920         * rendering/RenderTextControlSingleLine.cpp:
7921         (WebCore::RenderTextControlSingleLine::showPopup):
7922         * rendering/RenderTextControlSingleLine.h:
7923         * testing/Internals.cpp:
7924         * testing/Internals.h:
7925         * testing/Internals.idl:
7926
7927 2011-10-11  Martin Robinson  <mrobinson@igalia.com>
7928
7929         [Soup] ResourceHandleSoup does not handle encodedBlobData
7930         https://bugs.webkit.org/show_bug.cgi?id=52092
7931
7932         Reviewed by Gustavo Noronha Silva.
7933
7934         Add support for sending encoded blob data during requests.
7935
7936         * platform/network/soup/ResourceHandleSoup.cpp:
7937         (WebCore::addFileToSoupMessageBody): Added this helper.
7938         (WebCore::blobIsOutOfDate): Ditto.
7939         (WebCore::addEncodedBlobItemToSoupMessageBody): Ditto.
7940         (WebCore::addEncodedBlobToSoupMessageBody): Ditto.
7941         (WebCore::addFormElementsToSoupMessage): No longer flatten form data, as we
7942         cannot do this in the case where the form data contains blobs. Now handle
7943         the blob case.
7944         (WebCore::loadResourceSynchronously): Add blob support for synchronous loading.
7945
7946 2011-10-11  Chris Rogers  <crogers@google.com>
7947
7948         Heap buffer overflow in Webaudio FFTFrame::doFFT
7949         https://bugs.webkit.org/show_bug.cgi?id=69447
7950
7951         Reviewed by Kenneth Russell.
7952
7953         No new tests. This only changes internal implementation details.
7954
7955         * platform/audio/HRTFKernel.cpp:
7956         (WebCore::extractAverageGroupDelay):
7957         * platform/audio/HRTFPanner.cpp:
7958         (WebCore::HRTFPanner::fftSizeForSampleRate):
7959
7960 2011-10-11  Ryosuke Niwa  <rniwa@webkit.org>
7961
7962         Second Qt minimum release build fix attempt after r97163.
7963
7964         * platform/graphics/texmap/TextureMapperNode.cpp:
7965         (WebCore::TextureMapperNode::syncCompositingStateSelf):
7966
7967 2011-10-11  Ryosuke Niwa  <rniwa@webkit.org>
7968
7969         Qt minimum release build fix attempt after r97163.
7970
7971         * platform/graphics/texmap/TextureMapperNode.cpp:
7972         (WebCore::TextureMapperNode::syncCompositingStateSelf):
7973
7974 2011-10-11  Oliver Hunt  <oliver@apple.com>
7975
7976         Clang build broken
7977         https://bugs.webkit.org/show_bug.cgi?id=69891
7978
7979         Reviewed by Darin Adler.
7980
7981         Rename CachedResourceClient::type to CachedResourceClient::resourceClientType
7982         to avoid conflict in CSSImportRule.
7983
7984         * loader/cache/CachedCSSStyleSheet.cpp:
7985         (WebCore::CachedCSSStyleSheet::didAddClient):
7986         * loader/cache/CachedFont.cpp:
7987         (WebCore::CachedFont::didAddClient):
7988         * loader/cache/CachedFont.h:
7989         (WebCore::CachedFontClient::resourceClientType):
7990         * loader/cache/CachedImage.cpp:
7991         (WebCore::CachedImage::didAddClient):
7992         * loader/cache/CachedImage.h:
7993         (WebCore::CachedImageClient::resourceClientType):
7994         * loader/cache/CachedResourceClient.h:
7995         (WebCore::CachedResourceClient::resourceClientType):
7996         * loader/cache/CachedResourceClientWalker.h:
7997         (WebCore::CachedResourceClientWalker::next):
7998         * loader/cache/CachedStyleSheetClient.h:
7999         (WebCore::CachedStyleSheetClient::resourceClientType):
8000         * loader/cache/CachedXSLStyleSheet.cpp:
8001         (WebCore::CachedXSLStyleSheet::didAddClient):
8002
8003 2011-10-11  Ryosuke Niwa  <rniwa@webkit.org>
8004
8005         Dir attribute is converted into direction property when merging paragraphs
8006         https://bugs.webkit.org/show_bug.cgi?id=69680
8007
8008         Reviewed by Enrica Casucci.
8009
8010         Don't include direction and unicode-bidi properties in the wrapping style.
8011
8012         Tests: editing/deleting/merge-paragraph-into-h1-with-dir-2.html
8013                editing/deleting/merge-paragraph-into-h1-with-dir.html
8014
8015         * editing/EditingStyle.cpp:
8016         (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement): Skip unicode-bidi and direction properties.
8017         (WebCore::EditingStyle::wrappingStyleForSerialization): Extracted from StyledMarkupAccumulator::serializeNodes.
8018         * editing/EditingStyle.h:
8019         * editing/markup.cpp:
8020         (WebCore::StyledMarkupAccumulator::serializeNodes): Calls wrappingStyleForSerialization.
8021
8022 2011-10-11  Nico Weber  <thakis@chromium.org>
8023
8024         [chromium] Let rule_binding use os.execvp() instead of subprocess.call() to spawn fewer processes.
8025         https://bugs.webkit.org/show_bug.cgi?id=69589
8026
8027         Reviewed by Dirk Pranke.
8028
8029         When building with `make -j40`, all the binding rules are built en bloc. Since this script currently
8030         uses subprocess.call(), that actually spawns 80 processes at once. OS X has a max process limit of
8031         255 by default, so the build used to fail with
8032         "open2: fork failed: Resource temporarily unavailable at ../bindings/scripts/preprocessor.pm line 60"
8033         As a fix, use execvp() instead, which replaces the current process instead of spawning a new one.
8034
8035         * WebCore.gyp/scripts/rule_binding.py:
8036
8037 2011-10-11  Fady Samuel  <fsamuel@chromium.org>
8038
8039         Towards making PopupMenuClient more testable
8040         https://bugs.webkit.org/show_bug.cgi?id=69631
8041
8042         Reviewed by Simon Fraser.
8043
8044         Added some functions to window.internals to allow testing of parts of PopupMenuClient.
8045
8046         Test: fast/dom/popup-menu-client-test.html
8047
8048         * platform/PopupMenuClient.h:
8049         * rendering/RenderMenuList.cpp:
8050         (WebCore::RenderMenuList::showPopup):
8051         (WebCore::RenderMenuList::boundingBoxRect):
8052         * rendering/RenderMenuList.h:
8053         (WebCore::RenderMenuList::RenderMenuList::isPopupMenuClient):
8054         * rendering/RenderObject.h:
8055         (WebCore::RenderObject::isPopupMenuClient):
8056         * rendering/RenderTextControlSingleLine.cpp:
8057         (WebCore::RenderTextControlSingleLine::showPopup):
8058         (WebCore::RenderTextControlSingleLine::boundingBoxRect):
8059         * rendering/RenderTextControlSingleLine.h:
8060         (WebCore::RenderTextControlSingleLine::isPopupMenuClient):
8061         * testing/Internals.cpp:
8062         (WebCore::Internals::toPopupMenuClient):
8063         (WebCore::Internals::popupClientPaddingLeft):
8064         (WebCore::Internals::popupClientPaddingRight):
8065         (WebCore::Internals::popupClientBoundingBoxRect):
8066         * testing/Internals.h:
8067         * testing/Internals.idl:
8068
8069 2011-10-11  Nate Chapin  <japhet@chromium.org>
8070
8071         Make CachedResourceClientWalker templates, and
8072         have it check and filter out bad casts when iterating
8073         (currently we rely on CachedResourceClients being careful
8074         to inherit from the right subclass for the type of resource
8075         they want to load).
8076         https://bugs.webkit.org/show_bug.cgi?id=69877
8077
8078         Reviewed by Adam Barth.
8079
8080         No new tests, no functionality change.
8081
8082         * CMakeLists.txt:
8083         * GNUmakefile.list.am:
8084         * WebCore.gypi:
8085         * WebCore.pro:
8086         * WebCore.vcproj/WebCore.vcproj:
8087         * WebCore.xcodeproj/project.pbxproj:
8088         * loader/cache/CachedCSSStyleSheet.cpp:
8089         * loader/cache/CachedFont.cpp:
8090         * loader/cache/CachedFont.h:
8091         * loader/cache/CachedImage.cpp:
8092         * loader/cache/CachedImage.h:
8093         * loader/cache/CachedResource.cpp:
8094         * loader/cache/CachedResourceClient.h:
8095         * loader/cache/CachedResourceClientWalker.cpp: Removed.
8096         * loader/cache/CachedResourceClientWalker.h:
8097         * loader/cache/CachedStyleSheetClient.h:
8098         * loader/cache/CachedXSLStyleSheet.cpp:
8099
8100 2011-10-11  W. James MacLean  <wjmaclean@chromium.org>
8101
8102         [chromium] Fix compilation guards in ScrollAnimatorNone (GESTURE_EVENTS).
8103         https://bugs.webkit.org/show_bug.cgi?id=69853
8104
8105         Reviewed by Kenneth Russell.
8106
8107         Adding missing guards ENABLE(GESTURE_EVENTS) in ScrollAnimatorNone. So
8108         far this hasn't been a problem since GESTURE_EVENTS are usually turned on
8109         whenever SMOOTH_SCROLLING is, but it could be a problem if this changes.
8110
8111         No new tests (compilation without errors is the test).
8112
8113         * platform/ScrollAnimatorNone.cpp:
8114         * platform/ScrollAnimatorNone.h:
8115
8116 2011-10-11  Kenneth Russell  <kbr@google.com>
8117
8118         [chromium] Check for lost context at beginning of compositor's execution
8119         https://bugs.webkit.org/show_bug.cgi?id=69776
8120
8121         Reviewed by James Robinson.
8122
8123         Test: platform/chromium/compositing/webgl-loses-compositor-context.html
8124
8125         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
8126         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
8127
8128 2011-10-11  W. James MacLean  <wjmaclean@chromium.org>
8129
8130         Loss of precision when converting from double to int and double to float in FrameView::zoomAnimatorTransformChanged()
8131         https://bugs.webkit.org/show_bug.cgi?id=69739
8132
8133         Reviewed by Simon Fraser.
8134
8135         Change 'double' parameters in FrameView:: & ScrollableArea::zoomAnimatorTransformChanged()
8136         to 'float' to avoid loss of precision warnings when invoking setPageScalefactor.
8137
8138         Test coverage provided by existing zoom-animator tests.
8139
8140         * page/FrameView.cpp:
8141         (WebCore::FrameView::zoomAnimatorTransformChanged):
8142         * page/FrameView.h:
8143         * platform/ScrollableArea.cpp:
8144         (WebCore::ScrollableArea::zoomAnimatorTransformChanged):
8145         * platform/ScrollableArea.h:
8146
8147 2011-10-11  No'am Rosenthal  <noam.rosenthal@nokia.com>
8148
8149         Unreviewed build fix, unbreaking the Qt minimal bot.
8150         Some #ifdef ENABLED(TILED_BACKING_STORE) clauses were missing.
8151
8152         * platform/graphics/texmap/TextureMapperNode.cpp:
8153         (WebCore::TextureMapperNode::computeTiles):
8154         (WebCore::TextureMapperNode::renderContent):
8155         (WebCore::TextureMapperNode::paintSelf):
8156
8157 2011-10-11  Abhishek Arya  <inferno@chromium.org>
8158
8159         Generalize r95461 change to include table-cell and 
8160         allow splitting between :before, :after content.
8161         https://bugs.webkit.org/show_bug.cgi?id=69854
8162
8163         Reviewed by Eric Seidel.
8164
8165         Test: fast/table/table-row-before-after-content-around-table-cell.html
8166
8167         * rendering/RenderObject.cpp:
8168         (WebCore::RenderObject::addChild):
8169
8170 2011-10-11  Dominic Mazzoni  <dmazzoni@google.com>
8171
8172         AccessibilityMenuList should fire change notification when popup is not open.
8173         https://bugs.webkit.org/show_bug.cgi?id=69440
8174
8175         Reviewed by Chris Fleizach.
8176
8177         Test: accessibility/menu-list-sends-change-notification.html
8178
8179         * accessibility/AccessibilityMenuList.cpp:
8180         (WebCore::AccessibilityMenuList::didUpdateActiveOption):
8181
8182 2011-10-11  Joshua Bell  <jsbell@chromium.org>
8183
8184         IndexedDB: implement IDBFactory.cmp method
8185         https://bugs.webkit.org/show_bug.cgi?id=62293
8186
8187         Reviewed by Tony Chang.
8188
8189         * storage/IDBFactory.cpp:
8190         (WebCore::IDBFactory::cmp):
8191         * storage/IDBFactory.h:
8192         * storage/IDBFactory.idl:
8193         * storage/IDBKey.cpp:
8194         (WebCore::IDBKey::compare):
8195         (WebCore::IDBKey::isLessThan):
8196         (WebCore::IDBKey::isEqual):
8197         * storage/IDBKey.h:
8198
8199 2011-10-11  No'am Rosenthal  <noam.rosenthal@nokia.com>
8200
8201         [Texmap] TextureMapperGL leaves GL in a modified state.
8202         https://bugs.webkit.org/show_bug.cgi?id=68983
8203
8204         Reviewed by Andreas Kling.
8205
8206         Disable the vertexAttribArray after clipping.
8207
8208         No new functionality so no new tests.
8209
8210         * platform/graphics/opengl/TextureMapperGL.cpp:
8211         (WebCore::TextureMapperGL::beginClip):
8212
8213 2011-10-11  No'am Rosenthal  <noam.rosenthal@nokia.com>
8214
8215         [Qt][WK2] Synchronize tiling with accelerated compositing
8216         https://bugs.webkit.org/show_bug.cgi?id=69151
8217
8218         Reviewed by Kenneth Rohde Christiansen.
8219
8220         Enable "externally managed" tiles in TextureMapperNodes.
8221         Currently, TextureMapperNodes manage tiles themselves, the tiles being there only to
8222         overcome the 2k texture size limitation. For WebKit2, we want those tiles to be managed
8223         externally, namely through the web process via the remote tile backend for
8224         TiledBackingStore.
8225
8226         This patch adds a store for those externally managed tiles, and adds the necessary code to
8227         paint them instead of the owned tiles when appropriate.
8228
8229         In addition, in order to support externally managed remote tiles, we have to calculate per-
8230         layer visible rects and pass them to the web process. The new collectVisibleContentRects
8231         does this - and is directly tied to the externally-managed tile approach.
8232
8233         Code is disabled for now, but covered by existing compositing tests.
8234
8235         * platform/graphics/texmap/TextureMapperNode.cpp:
8236         (WebCore::TextureMapperNode::computeTiles):
8237         (WebCore::clampRect):
8238         (WebCore::TextureMapperNode::collectVisibleContentRects):
8239         (WebCore::TextureMapperNode::renderContent):
8240         (WebCore::TextureMapperNode::targetRectForTileRect):
8241         (WebCore::TextureMapperNode::paintSelf):
8242         (WebCore::TextureMapperNode::createContentsTile):
8243         (WebCore::TextureMapperNode::removeContentsTile):
8244         (WebCore::TextureMapperNode::setTileBackBufferTextureForDirectlyCompositedImage):
8245         (WebCore::TextureMapperNode::clearAllDirectlyCompositedImageTiles):
8246         (WebCore::TextureMapperNode::setContentsTileBackBuffer):
8247         (WebCore::TextureMapperNode::swapContentsBuffers):
8248         (WebCore::TextureMapperNode::syncCompositingStateSelf):
8249         (WebCore::TextureMapperNode::syncCompositingState):
8250         * platform/graphics/texmap/TextureMapperNode.h:
8251         (WebCore::TextureMapperNode::size):
8252         (WebCore::TextureMapperNode::setTileOwnership):
8253         (WebCore::TextureMapperNode::setID):
8254         (WebCore::TextureMapperNode::id):
8255         (WebCore::TextureMapperNode::texture):
8256         (WebCore::TextureMapperNode::ExternallyManagedTile::ExternallyManagedTile):
8257         (WebCore::TextureMapperNode::State::State):
8258
8259 2011-10-11  Claudio Saavedra  <csaavedra@igalia.com>
8260
8261         [GTK] GtkAuthenticationDialog: use GtkGrid instead of GtkTable
8262         https://bugs.webkit.org/show_bug.cgi?id=69749
8263
8264         Reviewed by Martin Robinson.
8265
8266         * platform/gtk/GtkAuthenticationDialog.cpp:
8267         (WebCore::addEntryToGrid): Migrate to GtkGrid when using GTK+ 3
8268         (WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog):
8269         Ditto.
8270
8271 2011-10-11  Alexey Proskuryakov  <ap@apple.com>
8272
8273         Build fix.
8274
8275         * WebCore.exp.in: Export GraphicsContext::clearShadow().
8276
8277 2011-10-10  Adam Klein  <adamk@chromium.org>
8278
8279         [MutationObservers] Add stub implementation of WebKitMutationObserver
8280         https://bugs.webkit.org/show_bug.cgi?id=68949
8281
8282         Reviewed by Ryosuke Niwa, Oliver Hunt, and Dimitri Glazkov.
8283
8284         See https://bugs.webkit.org/show_bug.cgi?id=68729 for the metabug.
8285
8286         This patch adds a stub WebKitMutationObserver and its supporting classes
8287         MutationCallback and MutationObserverOptions.
8288         No implementation is provided for the all-important observe() and
8289         disconnect() methods.
8290
8291         Note that WebKitMutationObserver is vendor-prefixed since it has a
8292         constructor exposed on DOMWindow.  None of the rest of the API needs
8293         prefixing, as it's only available via a call through a MutationObserver
8294         callback (created by instantiating WebKitMutationObserver).
8295
8296         Given the number of files required to get just the stub up and running,
8297         it seems reasonable to leave the actual implementation for the next
8298         patch (or more likely several patches).  I've left FIXMEs in all the places
8299         that'll need augmentation.
8300
8301         Tests: fast/mutation/mutation-observer-constructor.html
8302                fast/mutation/observe-exceptions.html
8303
8304         * CMakeLists.txt:
8305         * DerivedSources.cpp:
8306         * DerivedSources.make:
8307         * GNUmakefile.list.am:
8308         * UseJSC.cmake:
8309         * WebCore.gypi:
8310         * WebCore.pro:
8311         * WebCore.vcproj/WebCore.vcproj:
8312         * WebCore.xcodeproj/project.pbxproj:
8313         * bindings/js/JSDictionary.h:
8314         (WebCore::JSDictionary::tryGetProperty):
8315         * bindings/js/JSMutationCallbackCustom.cpp: Added.
8316         (WebCore::JSMutationCallback::handleEvent):
8317         * bindings/js/JSWebKitMutationObserverCustom.cpp: Added.
8318         (WebCore::JSWebKitMutationObserverConstructor::constructJSWebKitMutationObserver):
8319         (WebCore::JSWebKitMutationObserver::observe):
8320         * bindings/v8/custom/V8MutationCallbackCustom.cpp: Added.
8321         (WebCore::V8MutationCallback::handleEvent):
8322         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp: Added.
8323         (WebCore::V8WebKitMutationObserver::constructorCallback):
8324         (WebCore::V8WebKitMutationObserver::observeCallback):
8325         * dom/MutationCallback.h: Added.
8326         (WebCore::MutationCallback::~MutationCallback):
8327         * dom/MutationCallback.idl: Added.
8328         * dom/MutationObserverOptions.h: Added.
8329         (WebCore::MutationObserverOptions::create):
8330         (WebCore::MutationObserverOptions::childList):
8331         (WebCore::MutationObserverOptions::setChildList):
8332         (WebCore::MutationObserverOptions::attributes):
8333         (WebCore::MutationObserverOptions::setAttributes):
8334         (WebCore::MutationObserverOptions::characterData):
8335         (WebCore::MutationObserverOptions::setCharacterData):
8336         (WebCore::MutationObserverOptions::subtree):
8337         (WebCore::MutationObserverOptions::setSubtree):
8338         (WebCore::MutationObserverOptions::attributeOldValue):
8339         (WebCore::MutationObserverOptions::setAttributeOldValue):
8340         (WebCore::MutationObserverOptions::characterDataOldValue):
8341         (WebCore::MutationObserverOptions::setCharacterDataOldValue):
8342         (WebCore::MutationObserverOptions::MutationObserverOptions):
8343         * dom/WebKitMutationObserver.cpp: Added.
8344         (WebCore::WebKitMutationObserver::create):
8345         (WebCore::WebKitMutationObserver::WebKitMutationObserver):
8346         (WebCore::WebKitMutationObserver::~WebKitMutationObserver):
8347         (WebCore::WebKitMutationObserver::observe):
8348         (WebCore::WebKitMutationObserver::disconnect):
8349         * dom/WebKitMutationObserver.h: Added.
8350         * dom/WebKitMutationObserver.idl: Added.
8351         * page/DOMWindow.idl:
8352
8353 2011-10-11  Arun Patole  <BMF834@motorola.com>
8354
8355         Need more efficient ways to set inline CSS styles
8356         https://bugs.webkit.org/show_bug.cgi?id=58157
8357
8358         Reviewed by Dimitri Glazkov.
8359
8360         No new tests added as this is just a code optimization.
8361
8362         Code optimization:
8363           -Used CSSPropertyNames, CSSValues and CSSPrimitiveValues instead of Strings.
8364           -Removed displayString(), webkitTransitionString(), opacityString() functions as they will no longer be needed after this change.
8365           -Moved makeOpaque and makeTransparent functionality to MediaControlPanelElement from MediaControlRootElement.
8366
8367         * html/HTMLMediaElement.cpp:
8368         (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
8369         * html/shadow/MediaControlElements.cpp:
8370         (WebCore::MediaControlElement::show):
8371         (WebCore::MediaControlElement::hide):
8372         (WebCore::MediaControlPanelElement::MediaControlPanelElement):
8373         (WebCore::MediaControlPanelElement::makeOpaque):
8374         (WebCore::MediaControlPanelElement::makeTransparent):
8375         (WebCore::MediaControlInputElement::show):
8376         (WebCore::MediaControlInputElement::hide):
8377         * html/shadow/MediaControlElements.h:
8378         * html/shadow/MediaControlRootElement.cpp:
8379         (WebCore::MediaControlRootElement::MediaControlRootElement):
8380         (WebCore::MediaControlRootElement::makeOpaque):
8381         (WebCore::MediaControlRootElement::makeTransparent):
8382         * html/shadow/MediaControlRootElement.h:
8383         * html/shadow/MediaControlRootElementChromium.cpp:
8384         (WebCore::MediaControlRootElementChromium::makeOpaque):
8385         (WebCore::MediaControlRootElementChromium::makeTransparent):
8386
8387 2011-10-11  Pavel Feldman  <pfeldman@google.com>
8388
8389         Web Inspector: make Extensions component compile.
8390         https://bugs.webkit.org/show_bug.cgi?id=69833
8391
8392         Reviewed by Yury Semikhatsky.
8393
8394         * inspector/compile-front-end.sh:
8395         * inspector/front-end/BinarySearch.js:
8396         * inspector/front-end/ConsoleModel.js:
8397         * inspector/front-end/ExtensionAPI.js:
8398         (injectedExtensionAPI.Network.prototype.addRequestHeaders):
8399         (injectedExtensionAPI.AuditResultImpl.prototype.addResult):
8400         (injectedExtensionAPI.AuditResultNode.prototype.addChild):
8401         * inspector/front-end/ExtensionAuditCategory.js:
8402         * inspector/front-end/ExtensionPanel.js:
8403         (WebInspector.ExtensionSidebarPane.prototype.setExpression):
8404         * inspector/front-end/ExtensionRegistryStub.js:
8405         * inspector/front-end/ExtensionServer.js:
8406         (WebInspector.ExtensionServer.prototype._postNotification):
8407         (WebInspector.ExtensionServer.prototype._onAddRequestHeaders):
8408         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
8409         (WebInspector.ExtensionServer.prototype._registerExtension):
8410         (WebInspector.ExtensionStatus):
8411         * inspector/front-end/NetworkLog.js:
8412         (WebInspector.NetworkLog.prototype._onResourceStarted):
8413         * inspector/front-end/Object.js:
8414         (WebInspector.Object.prototype.dispatchEventToListeners):
8415         * inspector/front-end/externs.js:
8416         (console.warn):
8417         (console.assert):
8418         (console.error):
8419         ():
8420         (AuditResult):
8421         (EventSink):
8422         (ExtensionSidebarPane):
8423         (Panel):
8424         (PanelWithSidebar):
8425         (Request):
8426         (Resource):
8427         (Timeline):
8428
8429 2011-10-05  Pavel Podivilov  <podivilov@chromium.org>
8430
8431         Web Inspector: implement CompilerSourceMappingProvider.
8432         https://bugs.webkit.org/show_bug.cgi?id=69423
8433
8434         Reviewed by Pavel Feldman.
8435
8436         CompilerSourceMappingProvider implements a cross-domain communication channel for loading source mappings and source files.
8437         Front-end page can't send XHRs to source mapping server directly due to SOP restrictions. Instead, we inject an invisible
8438         iframe that is loaded from source mapping server and use window.postMessage to communicate with it. iframe has a different
8439         origin and thus doesn't have access to front-end window.
8440
8441         Test: http/tests/inspector/compiler-source-mapping-provider.html
8442
8443         * inspector/front-end/CompilerSourceMappingProvider.js:
8444         (WebInspector.CompilerSourceMappingProvider):
8445         (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping.frameLoaded.didLoadData):
8446         (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping.frameLoaded):
8447         (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping):
8448         (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceCode):
8449         (WebInspector.CompilerSourceMappingProvider.prototype._sendRequest):
8450         (WebInspector.CompilerSourceMappingProvider.prototype._onMessage):
8451         (WebInspector.CompilerSourceMappingProvider.prototype._cancelRequest):
8452         * inspector/front-end/inspector.js:
8453         (WebInspector.installSourceMappingForTest):
8454
8455 2011-10-11  Mike Reed  <reed@google.com>
8456
8457         re-add support for GDI text behind a compile flag
8458         https://bugs.webkit.org/show_bug.cgi?id=69530
8459
8460         Reviewed by James Robinson.
8461
8462         Reverts back to using GDI for text (when possible)
8463         but keeps skia-text version behind a compile-flag. If/when we can
8464         resolve the outstanding soft-clip and intl-performance bugs with the
8465         skia version, we may change the compile-flag to reenable skia.
8466         
8467         Previous change http://trac.webkit.org/changeset/94589 removed the GDI code.
8468
8469         * platform/graphics/chromium/FontChromiumWin.cpp:
8470         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
8471         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
8472         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
8473         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
8474         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
8475         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
8476         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds):
8477         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
8478         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
8479         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
8480         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
8481         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds):
8482         (WebCore::drawGlyphsWin):
8483         (WebCore::Font::drawGlyphs):
8484         (WebCore::Font::drawComplexText):
8485         * platform/graphics/chromium/UniscribeHelper.cpp:
8486         (WebCore::UniscribeHelper::draw):
8487         * platform/graphics/skia/PlatformContextSkia.cpp:
8488         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
8489         * platform/graphics/skia/PlatformContextSkia.h:
8490         * platform/graphics/skia/SkiaFontWin.cpp:
8491         (WebCore::windowsCanHandleDrawTextShadow):
8492         (WebCore::windowsCanHandleTextDrawing):
8493         (WebCore::windowsCanHandleTextDrawingWithoutShadow):
8494         * platform/graphics/skia/SkiaFontWin.h:
8495
8496 2011-10-11  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
8497
8498         [Qt] Remove all references to QTDIR_build and standalone_package
8499
8500         Qt is now modularized, which means we no longer import WebKit into
8501         the Qt source tree. Instead we use git submodules, and building
8502         QtWebKit as "part of Qt" is really building QtWebKit as from trunk.
8503
8504         To decrease the number of buildsystem configurations we also remove
8505         the standalone_package code-path used when we were providing tarballs
8506         with the derived sources pre-generated.
8507
8508         Reviewed by Simon Hausmann.
8509
8510         * CodeGenerators.pri:
8511         * WebCore.pri:
8512         * features.pri:
8513
8514 2011-10-10  Andreas Kling  <kling@webkit.org>
8515
8516         Shrink WebCore::Node on 64-bit.
8517         https://bugs.webkit.org/show_bug.cgi?id=69768
8518
8519         Reviewed by Antti Koivisto.
8520
8521         Rearrange TreeShared and Node members so that the node flags fall
8522         into the padding at the end of TreeShared on 64-bit, reducing the
8523         size of Node (and all subclasses) by 8 bytes.
8524
8525         * dom/Document.h:
8526         (WebCore::Node::Node):
8527         * dom/Node.h:
8528         * platform/TreeShared.h:
8529         (WebCore::TreeShared::TreeShared):
8530
8531 2011-10-11  Kent Tamura  <tkent@chromium.org>
8532
8533         Move m_listItems and m_recalcListItems from SelectElementData to HTMLSelectElement
8534         https://bugs.webkit.org/show_bug.cgi?id=69812
8535
8536         Reviewed by Ryosuke Niwa.
8537
8538         Move SelectElementData::m_recalcListItems,
8539         SelectElementData::m_listItems, and related functions of
8540         SelectElementData class to HTMLSelectElement.
8541
8542         Non-const listItems() was removed because it is used only in
8543         recalcListItemsInternal() and it can access m_listItems diretly.
8544
8545         Static recalcListItems() is changed to non-static, and renamed to
8546         recalcListItemsInternal() in order to avoid confusion with the
8547         existing recalcListItems().
8548
8549         No new tests, just a refactoring.
8550
8551         * dom/SelectElement.cpp:
8552         Move checkListItems() and listItems() to HTMLSelectElement.
8553         (WebCore::SelectElementData::SelectElementData):
8554         Remove Initialization of m_recalcListItems.
8555         * dom/SelectElement.h:
8556         Move m_recalcListItems, m_listItems, and related functions to HTMLSelectElement.
8557         * html/HTMLSelectElement.cpp:
8558         (WebCore::HTMLSelectElement::HTMLSelectElement):
8559         Initializes m_recalcListItems.
8560         (WebCore::HTMLSelectElement::recalcListItems):
8561         Rename the static recalcListItems() to recalcListItemsInternal().
8562         (WebCore::HTMLSelectElement::recalcListItemsIfNeeded):
8563         Use m_recalcListItems directly.
8564         (WebCore::HTMLSelectElement::nextSelectableListIndex):
8565         Update a listItems() callsite.
8566         (WebCore::HTMLSelectElement::previousSelectableListIndex): ditto.
8567         (WebCore::HTMLSelectElement::firstSelectableListIndex): ditto.
8568         (WebCore::HTMLSelectElement::lastSelectableListIndex): ditto.
8569         (WebCore::HTMLSelectElement::nextSelectableListIndexPageAway): ditto.
8570         (WebCore::HTMLSelectElement::saveLastSelection): ditto.
8571         (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): ditto.
8572         (WebCore::HTMLSelectElement::updateListBoxSelection): ditto.
8573         (WebCore::HTMLSelectElement::listBoxOnChange): ditto.
8574         (WebCore::HTMLSelectElement::checkListItems):
8575         Moved from SelectElementData.
8576         (WebCore::HTMLSelectElement::listItems): ditto.
8577         (WebCore::HTMLSelectElement::setRecalcListItems):
8578         Use m_recalcListItems directly.
8579         (WebCore::HTMLSelectElement::recalcListItemsInternal):
8580         - Make this non-static.
8581         - Renamed from recalcListItems() to avoid confilct with another recalcListItems().
8582         - Use m_recalcListItems and m_listItems directly.
8583         (WebCore::HTMLSelectElement::selectedIndex):
8584         Update a listItems() callsite.
8585         (WebCore::HTMLSelectElement::setSelectedIndexInternal): ditto.
8586         (WebCore::HTMLSelectElement::optionToListIndex): ditto.
8587         (WebCore::HTMLSelectElement::listToOptionIndex): ditto.
8588         (WebCore::HTMLSelectElement::deselectItemsWithoutValidation): ditto.
8589         (WebCore::HTMLSelectElement::saveFormControlState):
8590         Update callsites of listItems() and recalcListItems().
8591         (WebCore::HTMLSelectElement::restoreFormControlState):
8592         Update a listItems() callsite.
8593         (WebCore::HTMLSelectElement::appendFormData): ditto.
8594         (WebCore::HTMLSelectElement::reset): ditto.
8595         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): ditto.
8596         (WebCore::HTMLSelectElement::updateSelectedState): ditto.
8597         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): ditto.
8598         (WebCore::HTMLSelectElement::lastSelectedListIndex): ditto.
8599         (WebCore::HTMLSelectElement::typeAheadFind): ditto.
8600         (WebCore::HTMLSelectElement::insertedIntoTree):
8601         Update a recalcListItems() callsite.
8602         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
8603         Update a listItems() callsite.
8604         (WebCore::HTMLSelectElement::length): ditto.
8605         * html/HTMLSelectElement.h:
8606         Move m_recalcListItems, m_listItems, and related functions from SelectElementData.
8607         * html/HTMLSelectElementWin.cpp:
8608         (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
8609         Update a listItems() callsite.
8610
8611 2011-10-11  Kenichi Ishibashi  <bashi@chromium.org>
8612
8613         [Chromium] Complex script code path breaks on Windows XP when a CFF font is used
8614         https://bugs.webkit.org/show_bug.cgi?id=69497
8615
8616         Reviewed by Kent Tamura.
8617
8618         Don't use CFF webfonts when ScriptShape() can't handle it.
8619         ScriptShape() indicates us the case by setting fNoGlyphIndex to TRUE.
8620         If it's TRUE, we don't use the font. This could happen with early
8621         version of Uniscribe on WinXP.
8622
8623         No new tests because the version of Uniscribe depends on environment.
8624         One can install newer version of Uniscribe on WinXP.
8625
8626         * platform/graphics/chromium/UniscribeHelper.cpp:
8627         (WebCore::canUseGlyphIndex): Added.
8628         (WebCore::UniscribeHelper::shape): Don't use the shape result when canUseGlyphIndex() returns false.
8629
8630 2011-10-11  John Bauman  <jbauman@chromium.org>
8631
8632         Fix crash with toDataURL to JPEG
8633         https://bugs.webkit.org/show_bug.cgi?id=69681
8634
8635         Reviewed by Kenneth Russell.
8636
8637         Move RefPtr declaration outside if to make sure image data still
8638         exists through CGImageToDataURL.
8639
8640         * platform/graphics/cg/ImageBufferCG.cpp:
8641         (WebCore::ImageBuffer::toDataURL):
8642
8643 2011-10-10  Adam Barth  <abarth@webkit.org>
8644
8645         Update test results.
8646
8647         * bindings/scripts/test/V8/V8TestInterface.h:
8648         (WebCore::V8TestInterface::existingWrapper):
8649         (WebCore::V8TestInterface::wrap):
8650         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
8651         (WebCore::V8TestMediaQueryListListener::existingWrapper):
8652         (WebCore::V8TestMediaQueryListListener::wrap):
8653         * bindings/scripts/test/V8/V8TestObj.cpp:
8654         (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter):
8655         (WebCore::TestObjInternal::cachedAttribute1AttrGetter):
8656         (WebCore::TestObjInternal::cachedAttribute2AttrGetter):
8657         * bindings/scripts/test/V8/V8TestObj.h:
8658         (WebCore::V8TestObj::existingWrapper):
8659         (WebCore::V8TestObj::wrap):
8660         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
8661         (WebCore::V8TestSerializedScriptValueInterface::existingWrapper):
8662         (WebCore::V8TestSerializedScriptValueInterface::wrap):
8663
8664 2011-10-10  Abhishek Arya  <inferno@chromium.org>
8665
8666         Style not updated on text fragment in :first-letter
8667         nested in :before table.
8668         https://bugs.webkit.org/show_bug.cgi?id=69540
8669
8670         Reviewed by Dan Bernstein.
8671
8672         Test: fast/css-generated-content/first-letter-in-nested-before-table.html
8673
8674         * rendering/RenderObjectChildList.cpp:
8675         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
8676
8677 2011-10-10  Sheriff Bot  <webkit.review.bot@gmail.com>
8678
8679         Unreviewed, rolling out r97121.
8680         http://trac.webkit.org/changeset/97121
8681         https://bugs.webkit.org/show_bug.cgi?id=69815
8682
8683         Many layout tests failed (Requested by tkent on #webkit).
8684
8685         * dom/SelectElement.cpp:
8686         (WebCore::SelectElementData::SelectElementData):
8687         (WebCore::SelectElementData::checkListItems):
8688         (WebCore::SelectElementData::listItems):
8689         * dom/SelectElement.h:
8690         (WebCore::SelectElementData::shouldRecalcListItems):
8691         (WebCore::SelectElementData::setShouldRecalcListItems):
8692         (WebCore::SelectElementData::rawListItems):
8693         * html/HTMLSelectElement.cpp:
8694         (WebCore::HTMLSelectElement::HTMLSelectElement):
8695         (WebCore::HTMLSelectElement::recalcListItems):
8696         (WebCore::HTMLSelectElement::recalcListItemsIfNeeded):
8697         (WebCore::HTMLSelectElement::nextSelectableListIndex):
8698         (WebCore::HTMLSelectElement::previousSelectableListIndex):
8699         (WebCore::HTMLSelectElement::firstSelectableListIndex):
8700         (WebCore::HTMLSelectElement::lastSelectableListIndex):
8701         (WebCore::HTMLSelectElement::nextSelectableListIndexPageAway):
8702         (WebCore::HTMLSelectElement::saveLastSelection):
8703         (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
8704         (WebCore::HTMLSelectElement::updateListBoxSelection):
8705         (WebCore::HTMLSelectElement::listBoxOnChange):
8706         (WebCore::HTMLSelectElement::setRecalcListItems):
8707         (WebCore::HTMLSelectElement::selectedIndex):
8708         (WebCore::HTMLSelectElement::setSelectedIndexInternal):
8709         (WebCore::HTMLSelectElement::optionToListIndex):
8710         (WebCore::HTMLSelectElement::listToOptionIndex):
8711         (WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
8712         (WebCore::HTMLSelectElement::saveFormControlState):
8713         (WebCore::HTMLSelectElement::restoreFormControlState):
8714         (WebCore::HTMLSelectElement::appendFormData):
8715         (WebCore::HTMLSelectElement::reset):
8716         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
8717         (WebCore::HTMLSelectElement::updateSelectedState):
8718         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
8719         (WebCore::HTMLSelectElement::lastSelectedListIndex):
8720         (WebCore::HTMLSelectElement::typeAheadFind):
8721         (WebCore::HTMLSelectElement::insertedIntoTree):
8722         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
8723         (WebCore::HTMLSelectElement::length):
8724         * html/HTMLSelectElement.h:
8725         (WebCore::HTMLSelectElement::listItems):
8726         * html/HTMLSelectElementWin.cpp:
8727         (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
8728
8729 2011-10-10  Kent Tamura  <tkent@chromium.org>
8730
8731         Move m_listItems and m_recalcListItems from SelectElementData to HTMLSelectElement
8732         https://bugs.webkit.org/show_bug.cgi?id=69812
8733
8734         Reviewed by Ryosuke Niwa.
8735
8736         Move SelectElementData::m_recalcListItems,
8737         SelectElementData::m_listItems, and related functions of
8738         SelectElementData class to HTMLSelectElement.
8739
8740         Non-const listItems() was removed because it is used only in
8741         recalcListItemsInternal() and it can access m_listItems diretly.
8742
8743         Static recalcListItems() is changed to non-static, and renamed to
8744         recalcListItemsInternal() in order to avoid confusion with the
8745         existing recalcListItems().
8746
8747         No new tests, just a refactoring.
8748
8749         * dom/SelectElement.cpp:
8750         Move checkListItems() and listItems() to HTMLSelectElement.
8751         (WebCore::SelectElementData::SelectElementData):
8752         Remove Initialization of m_recalcListItems.
8753         * dom/SelectElement.h:
8754         Move m_recalcListItems, m_listItems, and related functions to HTMLSelectElement.
8755         * html/HTMLSelectElement.cpp:
8756         (WebCore::HTMLSelectElement::HTMLSelectElement):
8757         Initializes m_recalcListItems.
8758         (WebCore::HTMLSelectElement::recalcListItems):
8759         Rename the static recalcListItems() to recalcListItemsInternal().
8760         (WebCore::HTMLSelectElement::recalcListItemsIfNeeded):
8761         Use m_recalcListItems directly.
8762         (WebCore::HTMLSelectElement::nextSelectableListIndex):
8763         Update a listItems() callsite.
8764         (WebCore::HTMLSelectElement::previousSelectableListIndex): ditto.
8765         (WebCore::HTMLSelectElement::firstSelectableListIndex): ditto.
8766         (WebCore::HTMLSelectElement::lastSelectableListIndex): ditto.
8767         (WebCore::HTMLSelectElement::nextSelectableListIndexPageAway): ditto.
8768         (WebCore::HTMLSelectElement::saveLastSelection): ditto.
8769         (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): ditto.
8770         (WebCore::HTMLSelectElement::updateListBoxSelection): ditto.
8771         (WebCore::HTMLSelectElement::listBoxOnChange): ditto.
8772         (WebCore::HTMLSelectElement::checkListItems):
8773         Moved from SelectElementData.
8774         (WebCore::HTMLSelectElement::listItems): ditto.
8775         (WebCore::HTMLSelectElement::setRecalcListItems):
8776         Use m_recalcListItems directly.
8777         (WebCore::HTMLSelectElement::recalcListItemsInternal):
8778         - Make this non-static.
8779         - Renamed from recalcListItems() to avoid confilct with another recalcListItems().
8780         - Use m_recalcListItems and m_listItems directly.
8781         (WebCore::HTMLSelectElement::selectedIndex):
8782         Update a listItems() callsite.
8783         (WebCore::HTMLSelectElement::setSelectedIndexInternal): ditto.
8784         (WebCore::HTMLSelectElement::optionToListIndex): ditto.
8785         (WebCore::HTMLSelectElement::listToOptionIndex): ditto.
8786         (WebCore::HTMLSelectElement::deselectItemsWithoutValidation): ditto.
8787         (WebCore::HTMLSelectElement::saveFormControlState):
8788         Update callsites of listItems() and recalcListItems().
8789         (WebCore::HTMLSelectElement::restoreFormControlState):
8790         Update a listItems() callsite.
8791         (WebCore::HTMLSelectElement::appendFormData): ditto.
8792         (WebCore::HTMLSelectElement::reset): ditto.
8793         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): ditto.
8794         (WebCore::HTMLSelectElement::updateSelectedState): ditto.
8795         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): ditto.
8796         (WebCore::HTMLSelectElement::lastSelectedListIndex): ditto.
8797         (WebCore::HTMLSelectElement::typeAheadFind): ditto.
8798         (WebCore::HTMLSelectElement::insertedIntoTree):
8799         Update a recalcListItems() callsite.
8800         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
8801         Update a listItems() callsite.
8802         (WebCore::HTMLSelectElement::length): ditto.
8803         * html/HTMLSelectElement.h:
8804         Move m_recalcListItems, m_listItems, and related functions from SelectElementData.
8805         * html/HTMLSelectElementWin.cpp:
8806         (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
8807         Update a listItems() callsite.
8808
8809 2011-10-10  Dan Bernstein  <mitz@apple.com>
8810
8811         <rdar://problem/10246137> Duplicate ::after content when both ::before and ::after are styled as table parts
8812
8813         Reviewed by Sam Weinig.
8814
8815         Test: fast/css-generated-content/table-parts-before-and-after.html
8816
8817         * rendering/RenderObject.cpp:
8818         (WebCore::RenderObject::addChild): Prevented table part childern after a ::before table from being merged
8819         into it.
8820         * rendering/RenderTable.cpp:
8821         (WebCore::RenderTable::addChild): Prevented children after a ::before table section from being merged
8822         into it.
8823
8824 2011-10-10  Nate Chapin  <japhet@chromium.org>
8825
8826         Most of the functions in CachedResourceClient are specific
8827         to a single type of CachedResource. Move these callbacks into
8828         separate subclasses of CachedResourceClient, and leave only
8829         the common callback (notifyFinished) in the base class.
8830         https://bugs.webkit.org/show_bug.cgi?id=69790
8831
8832         Reviewed by Adam Barth.
8833
8834         No new tests, no functionality changed intended.
8835
8836         * css/CSSFontFaceSource.h:
8837         * css/CSSImageValue.h:
8838         * css/CSSImportRule.h:
8839         * dom/ProcessingInstruction.cpp:
8840         * dom/ProcessingInstruction.h:
8841         * html/HTMLLinkElement.h:
8842         * html/ImageDocument.h:
8843         * loader/ImageLoader.h:
8844         * loader/cache/CachedCSSStyleSheet.cpp:
8845         * loader/cache/CachedCSSStyleSheet.h:
8846         * loader/cache/CachedFont.cpp:
8847         * loader/cache/CachedFont.h:
8848         * loader/cache/CachedImage.cpp:
8849         * loader/cache/CachedImage.h:
8850         * loader/cache/CachedResourceClient.h:
8851         * loader/cache/CachedXSLStyleSheet.cpp:
8852         * loader/cache/CachedXSLStyleSheet.h:
8853         * platform/chromium/ClipboardChromium.h:
8854         * platform/gtk/ClipboardGtk.h:
8855         * platform/mac/ClipboardMac.h:
8856         * platform/qt/ClipboardQt.h:
8857         * platform/win/ClipboardWin.h:
8858         * rendering/RenderObject.cpp:
8859         * rendering/RenderObject.h:
8860         * svg/SVGFEImageElement.h:
8861         * svg/SVGFontFaceUriElement.h:
8862         * xml/XSLImportRule.h:
8863
8864 2011-10-10  Sheriff Bot  <webkit.review.bot@gmail.com>
8865
8866         Unreviewed, rolling out r97087.
8867         http://trac.webkit.org/changeset/97087
8868         https://bugs.webkit.org/show_bug.cgi?id=69805
8869
8870         failing assert on debug builds (Requested by simonjam on
8871         #webkit).
8872
8873         * bindings/ScriptControllerBase.cpp:
8874         (WebCore::ScriptController::executeIfJavaScriptURL):
8875         * loader/DocumentWriter.cpp:
8876         (WebCore::DocumentWriter::replaceDocument):
8877         (WebCore::DocumentWriter::begin):
8878         * loader/DocumentWriter.h:
8879
8880 2011-10-10  Adam Barth  <abarth@webkit.org>
8881
8882         [V8] CodeGeneratorV8 shouldn't hardcode the list of ActiveDOMObjects
8883         https://bugs.webkit.org/show_bug.cgi?id=69792
8884
8885         Reviewed by Nate Chapin.
8886
8887         We used to hard code the list of active DOM objects in the code
8888         generator, but now we have an IDL attribute.  This patch switches the
8889         code generator over to using the IDL attribute.
8890
8891         * bindings/scripts/CodeGeneratorV8.pm:
8892         (GenerateHeader):
8893         (GenerateNormalAttrGetter):
8894         (GenerateImplementation):
8895         (GetDomMapFunction):
8896
8897 2011-10-10  Nico Weber  <thakis@chromium.org>
8898
8899         PluginDocumentParser uses incorrect syntax for background color
8900         https://bugs.webkit.org/show_bug.cgi?id=69694
8901
8902         Reviewed by Adam Barth.
8903
8904         * html/PluginDocument.cpp:
8905         (WebCore::PluginDocumentParser::createDocumentStructure):
8906
8907 2011-10-10  Ryosuke Niwa  <rniwa@webkit.org>
8908
8909         REGRESSION(r96870): editing/pasteboard/smart-paste-008.html fails on non-Mac
8910         https://bugs.webkit.org/show_bug.cgi?id=69587
8911
8912         Reviewed by Enrica Casucci.
8913
8914         Insert a space at the correct offset when startNode is a text node.
8915
8916         * editing/ReplaceSelectionCommand.cpp:
8917         (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
8918
8919 2011-09-20  Jer Noble  <jer.noble@apple.com>
8920
8921         MediaControlSeekButtonElement should support seeking by changing the playback rate.
8922         https://bugs.webkit.org/show_bug.cgi?id=63595
8923
8924         Reviewed by Eric Carlson.
8925
8926         Test: media/video-controls-scanning.html
8927
8928         Add a new property to HTMLMediaElement, supportsScanning(), which returns whether the
8929         element is capable of playing its media at a rate greater than 1x. HTMLMediaElement passes
8930         this call through to MediaPlayer and MediaPlayerPrivate. If this property returns true, the
8931         built-in scanning controls can prefer to scan by changing the playbackRate, rather than by
8932         repeatedly seeking small amounts of time. Unless overridden by specific media engines, this
8933         property defaults to "false".
8934
8935         * html/HTMLMediaElement.h:
8936         * html/HTMLMediaElement.cpp:
8937         (WebCore::HTMLMediaElement::supportsScanning): Added.  Calls through to MediaPlayer.
8938         * platform/graphics/MediaPlayer.h:
8939         * platform/graphics/MediaPlayer.cpp:
8940         (WebCore::MediaPlayer::supportsScanning): Added. Calls through to MediaPlayerPrivate.
8941         * platform/graphics/MediaPlayerPrivate.h:
8942         (WebCore::MediaPlayerPrivateInterface::supportsScanning): Added. Defaults to "false".
8943         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
8944         (WebCore::MediaPlayerPrivateAVFoundation::supportsScanning): Added.
8945         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
8946         (WebCore::MediaPlayerPrivateQTKit::supportsScanning): Added.
8947
8948         MediaControlSeekButtonElement now queries HTMLMediaElement::supportsScanning() to see if the
8949         media element can implement its seeking behavior by scanning the media at greater than 1x
8950         rate. Note whether the media was playing or paused when the seek begins, so that the playing
8951         state can be restored when seeking ends.  Instead of capturing the mouse after mouseDown, 
8952         the seek button now responds to setActive() and begins seeking when the button is active
8953         and stops when it becomes inactive.
8954
8955         Some behaviors have changed: clicking on the seek button no longer causes the media element
8956         to pause; the media will end in the same state it began after the click.  cStepTime has been
8957         eliminated; Clicking the seek button will always skip by at least cSeekTime, or 0.2s.
8958
8959         * html/shadow/MediaControlElements.cpp:
8960         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Initialize new 
8961             ivars.
8962         (WebCore::MediaControlSeekButtonElement::defaultEventHandler): Mark mouseDown and mouseUp
8963             as defaultHandled, so as not to trigger drag start and drag end actions.
8964         (WebCore::MediaControlSeekButtonElement::setActive): Call startTimer or stopTimer based
8965             on whether the button is active or not.
8966         (WebCore::MediaControlSeekButtonElement::startTimer): Determine whether to scan or skip
8967             and start the seekTimer.
8968         (WebCore::MediaControlSeekButtonElement::stopTimer): Restore the playing state and
8969             stop the timer.
8970         (WebCore::MediaControlSeekButtonElement::seekTimerFired): Depending on whether we're 
8971             scanning or skipping, jump ahead or change the playback rate.
8972         * html/shadow/MediaControlElements.h:
8973
8974 2011-10-10  Mark Hahnenberg  <mhahnenberg@apple.com>
8975
8976         Remove getCallDataVirtual methods
8977         https://bugs.webkit.org/show_bug.cgi?id=69186
8978
8979         Reviewed by Geoffrey Garen.
8980
8981         No new tests.
8982
8983         Removed all getCallDataVirtual methods and replaced their call sites 
8984         with an explicit lookup in the MethodTable.
8985
8986         * WebCore.exp.in:
8987         * bindings/js/JSCallbackData.cpp:
8988         (WebCore::JSCallbackData::invokeCallback):
8989         * bindings/js/JSCustomXPathNSResolver.cpp:
8990         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
8991         * bindings/js/JSErrorHandler.cpp:
8992         (WebCore::JSErrorHandler::handleEvent):
8993         * bindings/js/JSEventListener.cpp:
8994         (WebCore::JSEventListener::handleEvent):
8995         * bindings/js/JSHTMLAllCollectionCustom.cpp:
8996         * bindings/js/JSHTMLAppletElementCustom.cpp:
8997         * bindings/js/JSHTMLEmbedElementCustom.cpp:
8998         * bindings/js/JSHTMLObjectElementCustom.cpp:
8999         * bindings/js/JSInjectedScriptHostCustom.cpp:
9000         (WebCore::JSInjectedScriptHost::evaluate):
9001         * bindings/js/JSPluginElementFunctions.cpp:
9002         (WebCore::runtimeObjectGetCallData):
9003         * bindings/scripts/CodeGeneratorJS.pm:
9004         (GenerateHeader):
9005         * bridge/objc/objc_runtime.h:
9006         * bridge/objc/objc_runtime.mm:
9007         * bridge/qt/qt_runtime.cpp:
9008         (JSC::Bindings::QtRuntimeConnectionMethod::call):
9009         (JSC::Bindings::isJavaScriptFunction):
9010         * bridge/qt/qt_runtime.h:
9011         (JSC::Bindings::QtRuntimeMetaMethod::create):
9012         (JSC::Bindings::QtRuntimeMetaMethod::createStructure):
9013         (JSC::Bindings::QtRuntimeConnectionMethod::create):
9014         (JSC::Bindings::QtRuntimeConnectionMethod::createStructure):
9015         * bridge/runtime_method.cpp:
9016         * bridge/runtime_method.h:
9017         * bridge/runtime_object.cpp:
9018         * bridge/runtime_object.h:
9019
9020 2011-10-06  Jer Noble  <jer.noble@apple.com>
9021
9022         media/video-loop.html is failing on Lion because of negative currentTime()
9023         https://bugs.webkit.org/show_bug.cgi?id=69468
9024
9025         Reviewed by Darin Adler.
9026
9027         No new tests. Covered by media/video-loop.html test.
9028
9029         AVFoundation will occasionally return small, negative current times during loop operations.
9030         Clean up these negative times before returning the currentTime.
9031
9032         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
9033         (WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime):
9034
9035 2011-10-10  Jeremy Apthorp  <jeremya@chromium.org>
9036
9037         Exiting fullscreen shouldn't crash if the element that was fullscreened
9038         had associated anonymous blocks.
9039         https://bugs.webkit.org/show_bug.cgi?id=68503
9040
9041         Reviewed by Simon Fraser.
9042
9043         Test: fullscreen/full-screen-render-inline.html
9044         Test: fullscreen/parent-flow-inline-with-block-child.html
9045
9046         * rendering/RenderBlock.cpp:
9047         (WebCore::RenderBlock::moveChildTo):
9048         (WebCore::RenderBlock::moveChildrenTo):
9049         * rendering/RenderBlock.h:
9050         (WebCore::RenderBlock::moveChildTo):
9051         (WebCore::RenderBlock::moveAllChildrenTo):
9052         (WebCore::RenderBlock::moveChildrenTo):
9053         * rendering/RenderFullScreen.cpp:
9054         (RenderFullScreen::unwrapRenderer):
9055         Move all children back to the parent, not just the firstChild.
9056
9057 2011-10-10  Sergey Glazunov  <serg.glazunov@gmail.com>
9058
9059         ScriptController::executeIfJavaScriptURL gets confused by synchronous frame loads
9060         https://bugs.webkit.org/show_bug.cgi?id=69777
9061
9062         Reviewed by Adam Barth.
9063
9064         Test: http/tests/security/xss-DENIED-synchronous-frame-load-in-javascript-url.html
9065
9066         * bindings/ScriptControllerBase.cpp:
9067         (WebCore::ScriptController::executeIfJavaScriptURL):
9068         * loader/DocumentWriter.cpp:
9069         (WebCore::DocumentWriter::replaceDocument):
9070         (WebCore::DocumentWriter::begin):
9071         * loader/DocumentWriter.h:
9072
9073 2011-10-10  Nayan Kumar K  <nayankk@motorola.com>
9074
9075         Add missing ifdef for JAVASCRIPT_DEBUGGER feature.
9076         https://bugs.webkit.org/show_bug.cgi?id=69758
9077
9078         Reviewed by Adam Barth.
9079
9080         No new tests added since this is a build failure fix.
9081
9082         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
9083         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
9084
9085 2011-10-10  Simon Fraser  <simon.fraser@apple.com>
9086
9087         REGRESSION(96070) 25% intl1 PLT regression from scrollbar invalidation
9088         https://bugs.webkit.org/show_bug.cgi?id=69238
9089
9090         Reviewed by Darin Adler.
9091
9092         Fix PLT regression from additional scrollbars invalidations.
9093         
9094         Don't invalidate the scrollbar rect from setHasHorizontalScrollbar()
9095         and setHasVerticalScrollbar(), because this is called during FrameView
9096         teardown, at which point the invalidation is redundant.
9097         
9098         Instead, invalidate from ScrollView::updateScrollbars(), which is
9099         called only when scrollbars change because of size or layout
9100         changes.
9101
9102         * platform/ScrollView.cpp:
9103         (WebCore::ScrollView::setHasHorizontalScrollbar):
9104         (WebCore::ScrollView::setHasVerticalScrollbar):
9105         (WebCore::ScrollView::updateScrollbars):
9106
9107 2011-10-10  Abhishek Arya  <inferno@chromium.org>
9108
9109         Style for updated due to inability to locate
9110         :before content in presence of listmarkers and runins.
9111         https://bugs.webkit.org/show_bug.cgi?id=68624
9112
9113         Reviewed by Dan Bernstein.
9114
9115         Tests: fast/lists/inline-before-content-after-list-marker.html
9116                fast/runin/runin-between-list-marker-and-before-content.html
9117                fast/runin/runin-into-div-with-float-child.html
9118                fast/runin/runin-not-go-into-float.html
9119
9120         * rendering/RenderBlock.cpp:
9121         (WebCore::RenderBlock::handleRunInChild): Fix as per spec that
9122         we should not be skipping over floating/positioned renderers to
9123         push runins into neighbouring block. This matches Opera renderings.
9124         * rendering/RenderObject.cpp: Add const to parameter variable
9125         to make call from beforePseudoElementRenderer easier. Also matches
9126         CounterNode.h definition.
9127         (WebCore::RenderObject::nextInPreOrder):
9128         (WebCore::RenderObject::nextInPreOrderAfterChildren):
9129         * rendering/RenderObject.h: Same const addition.
9130         * rendering/RenderObjectChildList.cpp:
9131         (WebCore::RenderObjectChildList::beforePseudoElementRenderer):
9132         Remove skipping of floating/positioned renderers, similar to
9133         handleRunIn. Revert code change in r94857 and add better next
9134         sibling iterator. This addresses the layouttest in r94857 where
9135         :before content is in its own anonymous rendertable.
9136
9137 2011-10-10  Abhishek Arya  <inferno@chromium.org>
9138
9139         Handle insertion into an anonymous table part that
9140         is followed by a non-anonymous block correctly.
9141         https://bugs.webkit.org/show_bug.cgi?id=69536
9142
9143         Reviewed by Dan Bernstein.
9144
9145         Tests: fast/table/table-insert-before-non-anonymous-block.html
9146
9147         * rendering/RenderTable.cpp:
9148         (WebCore::RenderTable::addChild):
9149         * rendering/RenderTableRow.cpp:
9150         (WebCore::RenderTableRow::addChild):
9151         * rendering/RenderTableSection.cpp:
9152         (WebCore::RenderTableSection::addChild):
9153         (WebCore::RenderTableSection::splitColumn):
9154
9155 2011-10-10  Kent Tamura  <tkent@chromium.org>
9156
9157         Make static functions in HTMLSelectElement.cpp member functions of HTMLSelectElement class
9158         https://bugs.webkit.org/show_bug.cgi?id=69755
9159
9160         Reviewed by Ryosuke Niwa.
9161
9162         
9163         No new tests, just a refactoring.
9164
9165         * html/HTMLSelectElement.cpp:
9166         (WebCore::HTMLSelectElement::nextValidIndex):
9167         Make this a static member function of HTMLSelectElement.
9168         (WebCore::HTMLSelectElement::nextSelectableListIndex):
9169         Make this a member function of HTMLSelectElement.
9170         (WebCore::HTMLSelectElement::previousSelectableListIndex): ditto.
9171         (WebCore::HTMLSelectElement::firstSelectableListIndex): ditto.
9172         (WebCore::HTMLSelectElement::lastSelectableListIndex): ditto.
9173         (WebCore::HTMLSelectElement::nextSelectableListIndexPageAway): ditto.
9174         (WebCore::HTMLSelectElement::selectAll): Update callsite of the above functions.
9175         (WebCore::HTMLSelectElement::setSelectedIndexInternal): ditto.
9176         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): ditto.
9177         * html/HTMLSelectElement.h:
9178          - Add the above function declarations.
9179          - Move SkipDirection definition from HTMLSelectElement.cpp.
9180
9181 2011-10-10  Pavel Feldman  <pfeldman@google.com>
9182
9183         Web Inspector: annotate DOMAgent, Debugger(Presentation)Model with types.
9184         https://bugs.webkit.org/show_bug.cgi?id=69726
9185
9186         Reviewed by Yury Semikhatsky.
9187
9188         * inspector/compile-front-end.sh:
9189         * inspector/front-end/ApplicationCacheItemsView.js:
9190         (WebInspector.ApplicationCacheItemsView):
9191         * inspector/front-end/AuditsPanel.js:
9192         (WebInspector.AuditsPanel):
9193         * inspector/front-end/BreakpointManager.js:
9194         (WebInspector.BreakpointManager.prototype._breakpointResolved):
9195         * inspector/front-end/CSSStyleModel.js:
9196         * inspector/front-end/CompilerSourceMapping.js:
9197         (WebInspector.CompilerSourceMapping.prototype.compiledLocationToSourceLocation):
9198         (WebInspector.CompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
9199         (WebInspector.CompilerSourceMapping.prototype.sources):
9200         * inspector/front-end/ConsoleView.js:
9201         (WebInspector.ConsoleView.prototype._completions.evaluated):
9202         (WebInspector.ConsoleView.prototype._completions.receivedPropertyNamesFromEval):
9203         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
9204         * inspector/front-end/CookieItemsView.js:
9205         (WebInspector.CookieItemsView):
9206         * inspector/front-end/DOMAgent.js:
9207         (WebInspector.DOMNode.prototype.isXMLNode):
9208         (WebInspector.DOMDocument):
9209         (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable):
9210         (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable):
9211         (WebInspector.DOMDispatcher.prototype.characterDataModified):
9212         (WebInspector.DOMDispatcher.prototype.childNodeCountUpdated):
9213         (WebInspector.DOMDispatcher.prototype.childNodeInserted):
9214         (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
9215         * inspector/front-end/DOMStorageItemsView.js:
9216         (WebInspector.DOMStorageItemsView):
9217         * inspector/front-end/DatabaseTableView.js:
9218         (WebInspector.DatabaseTableView):
9219         * inspector/front-end/DebuggerModel.js:
9220         (WebInspector.DebuggerModel):
9221         (WebInspector.DebuggerPausedDetails):
9222         (WebInspector.DebuggerModel.prototype.reset):
9223         (WebInspector.DebuggerModel.prototype.get callFrames):
9224         (WebInspector.DebuggerModel.prototype._pausedScript):
9225         (WebInspector.DebuggerModel.prototype._resumedScript):
9226         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
9227         (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
9228         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
9229         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
9230         * inspector/front-end/DebuggerPresentationModel.js:
9231         (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
9232         (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
9233         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
9234         (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
9235         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
9236         (WebInspector.DebuggerPresentationModel.prototype._createPresentationMessage):
9237         (WebInspector.PresentationConsoleMessage):
9238         (WebInspector.PresentationCallFrame.prototype.evaluate):
9239         (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateSourceAnchors):
9240         * inspector/front-end/ElementsPanel.js:
9241         (WebInspector.ElementsPanel):
9242         (WebInspector.ElementsPanel.prototype._documentUpdated.selectLastSelectedNode):
9243         (WebInspector.ElementsPanel.prototype._documentUpdated):
9244         * inspector/front-end/NetworkPanel.js:
9245         * inspector/front-end/Object.js:
9246         (WebInspector.Object.prototype.dispatchEventToListeners):
9247         (WebInspector.Event):
9248         (WebInspector.Event.prototype.stopPropagation):
9249         (WebInspector.Event.prototype.preventDefault):
9250         * inspector/front-end/RawSourceCode.js:
9251         (WebInspector.RawSourceCode.SourceMapping):
9252         (WebInspector.RawSourceCode.SourceMapping.prototype.rawLocationToUILocation):
9253         (WebInspector.RawSourceCode.SourceMapping.prototype.uiLocationToRawLocation):
9254         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.rawLocationToUILocation):
9255         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
9256         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
9257         (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.rawLocationToUILocation):
9258         (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiLocationToRawLocation):
9259         * inspector/front-end/Script.js:
9260         (WebInspector.Script):
9261         (WebInspector.Script.prototype.requestSource):
9262         (WebInspector.Script.prototype.searchInContent):
9263         (WebInspector.Script.prototype.editSource):
9264         * inspector/front-end/ScriptsPanel.js:
9265         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
9266         * inspector/front-end/TimelinePanel.js:
9267         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
9268         * inspector/front-end/UISourceCode.js:
9269         (WebInspector.UISourceCode):
9270         (WebInspector.ContentProvider.SearchMatch):
9271         * inspector/front-end/WatchExpressionsSidebarPane.js:
9272         (WebInspector.WatchExpressionsSection.prototype.update):
9273         * inspector/front-end/externs.js:
9274         * inspector/generate-protocol-externs:
9275
9276 2011-10-10  Ilya Tikhonovsky  <loislo@chromium.org>
9277
9278         Web Inspector: Linkifier.reset throw an exception if it is called after reset of debuggerPresentationModel.
9279         https://bugs.webkit.org/show_bug.cgi?id=69756
9280
9281         Reviewed by Yury Semikhatsky.
9282
9283         * inspector/front-end/DebuggerPresentationModel.js:
9284         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
9285
9286 2011-09-28  Pavel Podivilov  <podivilov@chromium.org>
9287
9288         Web Inspector: RawSourceCode could be mapped to multiple sources.
9289         https://bugs.webkit.org/show_bug.cgi?id=68526
9290
9291         Replace SourceMapping.uiSourceCode with SourceMapping.uiSourceCodeList as there could be more
9292         then one UISourceCode associated with a RawSourceCode.
9293
9294         Reviewed by Pavel Feldman.
9295
9296         * inspector/front-end/DebuggerPresentationModel.js:
9297         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
9298         (WebInspector.DebuggerPresentationModel.prototype._updateSourceMapping):
9299         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
9300         (WebInspector.PresentationCallFrame.prototype.get url):
9301         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
9302         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
9303         * inspector/front-end/ScriptsPanel.js:
9304         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
9305         * inspector/front-end/SourceFile.js:
9306         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
9307         (WebInspector.RawSourceCode.PlainSourceMapping):
9308         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.rawLocationToUILocation):
9309         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiSourceCodeList):
9310         (WebInspector.RawSourceCode.FormattedSourceMapping):
9311         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
9312         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiSourceCodeList):
9313
9314 2011-10-10  Andreas Kling  <kling@webkit.org>
9315
9316         Shrink RenderLayer and ScrollableArea.
9317         https://bugs.webkit.org/show_bug.cgi?id=69759
9318
9319         Reviewed by Antti Koivisto.
9320
9321         Rearrange the members of RenderLayer and its base class ScrollableArea
9322         to maximize struct packing, shrinking RenderLayer by one CPU word on
9323         32-bit (and two on 64-bit.)
9324
9325         This reduces memory consumption by 134 kB (on 64-bit) when loading the
9326         full HTML5 spec.
9327
9328         * platform/ScrollableArea.h:
9329         (WebCore::ScrollableArea::verticalScrollElasticity):
9330         (WebCore::ScrollableArea::horizontalScrollElasticity):
9331         (WebCore::ScrollableArea::scrollbarOverlayStyle):
9332
9333             Cast the now-bitfield members to the appropriate enum types.
9334
9335         * rendering/RenderLayer.h:
9336         * rendering/RenderLayer.cpp:
9337         (WebCore::RenderLayer::RenderLayer):
9338
9339             Move shouldBeNormalFlowOnly() call out of initializer list since it
9340             depends on m_renderer being initialized.
9341
9342 2011-10-10  Cary Clark  <caryclark@google.com>
9343
9344         [Skia on Chromium Mac] Set canExpandAroundIdeographsInComplexText to true
9345         https://bugs.webkit.org/show_bug.cgi?id=69656
9346         https://bugs.webkit.org/show_bug.cgi?id=62987
9347         https://bugs.webkit.org/show_bug.cgi?id=62889
9348
9349         Reviewed by Stephen White.
9350
9351         Skia on Linux and Windows uses different font engines from
9352         Skia on Mac. After determining that the underlying CoreText
9353         can handle it, enabling this allows justification to work
9354         correctly.
9355
9356         Tests: fast/text/justify-ideograph-complex.html
9357
9358         * platform/graphics/skia/FontSkia.cpp:
9359         (WebCore::Font::canExpandAroundIdeographsInComplexText):
9360
9361 2011-10-10  Ilya Tikhonovsky  <loislo@chromium.org>
9362
9363         Web Inspector: memory leak in Resource panel.
9364         https://bugs.webkit.org/show_bug.cgi?id=69754
9365
9366         Reviewed by Yury Semikhatsky.
9367
9368         * inspector/front-end/ResourcesPanel.js:
9369         (WebInspector.ResourcesPanel.prototype.reset):
9370         * inspector/front-end/View.js:
9371         (WebInspector.View.prototype.childViews):
9372
9373 2011-10-06  Pavel Podivilov  <podivilov@chromium.org>
9374
9375         Web Inspector: saving JavaScript after live edit resets scroller position.
9376         https://bugs.webkit.org/show_bug.cgi?id=69340
9377
9378         Do not recreate SourceFrame when content is changed. Instead, update text model in existing SourceFrame.
9379
9380         Reviewed by Yury Semikhatsky.
9381
9382         * inspector/front-end/DebuggerPresentationModel.js:
9383         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
9384         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
9385         * inspector/front-end/JavaScriptSourceFrame.js:
9386         (WebInspector.JavaScriptSourceFrame):
9387         * inspector/front-end/RawSourceCode.js:
9388         (WebInspector.RawSourceCode.prototype.setCompilerSourceMappingProvider):
9389         * inspector/front-end/SourceFrame.js:
9390         (WebInspector.SourceFrame.prototype._setReadOnly):
9391         (WebInspector.SourceFrame.prototype.contentChanged):
9392         * inspector/front-end/UISourceCode.js:
9393         (WebInspector.UISourceCode.prototype.contentChanged):
9394
9395 2011-10-10  Ilya Tikhonovsky  <loislo@chromium.org>
9396
9397         Unreviewed test fix for r97050.
9398
9399         * inspector/front-end/DebuggerPresentationModel.js:
9400         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
9401
9402 2011-10-10  Andreas Kling  <kling@webkit.org>
9403
9404         Shrink RenderListItem on 64-bit.
9405         https://bugs.webkit.org/show_bug.cgi?id=69751
9406
9407         Reviewed by Kenneth Rohde Christiansen.
9408
9409         Rearrange members to utilize the padding at the end of RenderBlock.
9410         This shrinks RenderListItem by 8 bytes on 64-bit, reducing memory consumption
9411         by 60 kB when loading the full HTML5 spec.
9412
9413         * rendering/RenderListItem.h:
9414
9415 2011-10-10  Andreas Kling  <kling@webkit.org>
9416
9417         Shrink RootInlineBox.
9418         https://bugs.webkit.org/show_bug.cgi?id=69707
9419
9420         Reviewed by Antti Koivisto.
9421
9422         Move the bitfields from RootInlineBox up into its base class (InlineFlowBox.)
9423         This shrinks RootInlineBox by one CPU word without growing InlineFlowBox.
9424         Enum bitfields were changed to "unsigned" for the MSVC signedness quirk.
9425
9426         Also move one 32-bit member to the head of RootInlineBox so it falls into the
9427         padding at the end of InlineFlowBox on 64-bit.
9428
9429         This reduces memory consumption by 780 kB (on 64-bit) when loading the full
9430         HTML5 spec.
9431
9432         * rendering/InlineFlowBox.h:
9433         (WebCore::InlineFlowBox::InlineFlowBox):
9434         * rendering/RootInlineBox.cpp:
9435         (WebCore::RootInlineBox::RootInlineBox):
9436         (WebCore::RootInlineBox::lineBreakBidiStatus):
9437         * rendering/RootInlineBox.h:
9438
9439 2011-10-10  Pavel Podivilov  <podivilov@chromium.org>
9440
9441         Unreviewed, attempt to fix chromium mac build after r97034.
9442
9443         * platform/ScrollAnimatorNone.h:
9444
9445 2011-10-10  Ilya Tikhonovsky  <loislo@chromium.org>
9446
9447         Web Inspector: small memory leak in scripts panel.
9448         https://bugs.webkit.org/show_bug.cgi?id=69744
9449
9450         Scripts panel doesn't clean the list of child views.
9451
9452         Reviewed by Yury Semikhatsky.
9453
9454         * inspector/front-end/DebuggerPresentationModel.js:
9455         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
9456         * inspector/front-end/ScriptsPanel.js:
9457         (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
9458
9459 2011-10-07  Yury Semikhatsky  <yurys@chromium.org>
9460
9461         Web Inspector: allow to start WorkerContext paused
9462         https://bugs.webkit.org/show_bug.cgi?id=69635
9463
9464         Allow to pause WorkerContext on start.
9465
9466         Reviewed by Pavel Feldman.
9467
9468         * bindings/v8/ScriptDebugServer.cpp:
9469         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
9470         * bindings/v8/WorkerScriptDebugServer.cpp:
9471         (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
9472         * bindings/v8/WorkerScriptDebugServer.h:
9473         * inspector/InspectorController.cpp:
9474         (WebCore::InspectorController::InspectorController):
9475         * inspector/InspectorInstrumentation.cpp:
9476         (WebCore::InspectorInstrumentation::willEvaluateWorkerScript):
9477         * inspector/InspectorInstrumentation.h:
9478         * inspector/InspectorRuntimeAgent.cpp:
9479         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
9480         (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
9481         (WebCore::InspectorRuntimeAgent::pauseWorkerContext): this method will start
9482         running worker message loop in "debug" mode, i.e. it will process only inspector
9483         tasks until method InspectorRuntimeAgent::resume is called.
9484         (WebCore::InspectorRuntimeAgent::resume):
9485         * inspector/InspectorRuntimeAgent.h:
9486         * inspector/WorkerDebuggerAgent.cpp:
9487         * inspector/WorkerDebuggerAgent.h:
9488         * inspector/WorkerInspectorController.cpp:
9489         (WebCore::WorkerInspectorController::WorkerInspectorController):
9490         (WebCore::WorkerInspectorController::resume): method which is called from WebKit layer
9491         when it is known that inspector state was restored and it is OK to resume worker execution.
9492         * inspector/WorkerInspectorController.h:
9493         * workers/DedicatedWorkerThread.cpp:
9494         (WebCore::DedicatedWorkerThread::create):
9495         (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
9496         * workers/DedicatedWorkerThread.h:
9497         * workers/SharedWorkerThread.cpp:
9498         (WebCore::SharedWorkerThread::create):
9499         (WebCore::SharedWorkerThread::SharedWorkerThread):
9500         * workers/SharedWorkerThread.h:
9501         * workers/WorkerMessagingProxy.cpp:
9502         (WebCore::WorkerMessagingProxy::startWorkerContext):
9503         (WebCore::WorkerMessagingProxy::disconnectFromInspector):
9504         (WebCore::WorkerMessagingProxy::sendMessageToInspector):
9505         * workers/WorkerThread.cpp:
9506         (WebCore::WorkerThreadStartupData::create):
9507         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
9508         (WebCore::WorkerThread::WorkerThread): WorkerThread is passed a booleand flag indicating
9509         whether the context should be paused and wait for explicit resume command before it
9510         starts running its script.
9511         (WebCore::WorkerThread::workerThread):
9512         * workers/WorkerThread.h:
9513
9514 2011-10-10  Sheriff Bot  <webkit.review.bot@gmail.com>
9515
9516         Unreviewed, rolling out r97045.
9517         http://trac.webkit.org/changeset/97045
9518         https://bugs.webkit.org/show_bug.cgi?id=69746
9519
9520         makes apple bots very crashy :( (Requested by kling on
9521         #webkit).
9522
9523         * css/CSSStyleApplyProperty.cpp:
9524         (WebCore::ApplyPropertyColor::applyInheritValue):
9525         * page/animation/AnimationBase.cpp:
9526         (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
9527         (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
9528         (WebCore::AnimationBase::ensurePropertyMap):
9529         * platform/graphics/Color.h:
9530         (WebCore::Color::Color):
9531         * rendering/style/BorderValue.h:
9532         (WebCore::BorderValue::BorderValue):
9533         (WebCore::BorderValue::isTransparent):
9534         (WebCore::BorderValue::operator==):
9535         (WebCore::BorderValue::color):
9536         * rendering/style/OutlineValue.h:
9537         (WebCore::OutlineValue::operator==):
9538         * rendering/style/RenderStyle.h:
9539         (WebCore::InheritedFlags::setBorderLeftColor):
9540         (WebCore::InheritedFlags::setBorderRightColor):
9541         (WebCore::InheritedFlags::setBorderTopColor):
9542         (WebCore::InheritedFlags::setBorderBottomColor):
9543         (WebCore::InheritedFlags::setOutlineColor):
9544         (WebCore::InheritedFlags::setColumnRuleColor):
9545         (WebCore::InheritedFlags::fillPaintColor):
9546         (WebCore::InheritedFlags::strokePaintColor):
9547         (WebCore::InheritedFlags::borderLeftColor):
9548         (WebCore::InheritedFlags::borderRightColor):
9549         (WebCore::InheritedFlags::borderTopColor):
9550         (WebCore::InheritedFlags::borderBottomColor):
9551         (WebCore::InheritedFlags::backgroundColor):
9552         (WebCore::InheritedFlags::color):
9553         (WebCore::InheritedFlags::columnRuleColor):
9554         (WebCore::InheritedFlags::outlineColor):
9555         (WebCore::InheritedFlags::textEmphasisColor):
9556         (WebCore::InheritedFlags::textFillColor):
9557         (WebCore::InheritedFlags::textStrokeColor):
9558         (WebCore::InheritedFlags::stopColor):
9559         (WebCore::InheritedFlags::floodColor):
9560         (WebCore::InheritedFlags::lightingColor):
9561
9562 2011-10-06  Andreas Kling  <kling@webkit.org>
9563
9564         Shrink BorderValue.
9565         https://bugs.webkit.org/show_bug.cgi?id=69521
9566
9567         Reviewed by Antti Koivisto.
9568
9569         Unroll BorderValue's Color member so we can pack the color's validity flag
9570         in BorderValue's bitfield.
9571
9572         This shrinks BorderValue by 32 bit, which in turn shrinks BorderData by
9573         16 bytes. This reduces memory consumption by 760 kB when loading the full
9574         HTML5 spec.
9575
9576         * platform/graphics/Color.h:
9577         (WebCore::Color::Color):
9578
9579             Allow construction of Color objects with specific validity.
9580
9581         * rendering/style/BorderValue.h:
9582         (WebCore::BorderValue::BorderValue):
9583         (WebCore::BorderValue::isTransparent):
9584         (WebCore::BorderValue::operator==):
9585         (WebCore::BorderValue::setColor):
9586         (WebCore::BorderValue::color):
9587         * rendering/style/OutlineValue.h:
9588         (WebCore::OutlineValue::operator==):
9589
9590             Unroll m_color into BorderValue by splitting it into an RGBA32 and a bool.
9591             Made those variables private and added color(), setColor() accessors.
9592
9593         * rendering/style/RenderStyle.h:
9594         (WebCore::InheritedFlags::setBorderLeftColor):
9595         (WebCore::InheritedFlags::setBorderRightColor):
9596         (WebCore::InheritedFlags::setBorderTopColor):
9597         (WebCore::InheritedFlags::setBorderBottomColor):
9598         (WebCore::InheritedFlags::setOutlineColor):
9599         (WebCore::InheritedFlags::setColumnRuleColor):
9600
9601             Added a SET_BORDERVALUE_COLOR macro and use that instead of SET_VAR
9602             when setting BorderValue colors.
9603
9604         (WebCore::InheritedFlags::fillPaintColor):
9605         (WebCore::InheritedFlags::strokePaintColor):
9606         (WebCore::InheritedFlags::borderLeftColor):
9607         (WebCore::InheritedFlags::borderRightColor):
9608         (WebCore::InheritedFlags::borderTopColor):
9609         (WebCore::InheritedFlags::borderBottomColor):
9610         (WebCore::InheritedFlags::backgroundColor):
9611         (WebCore::InheritedFlags::color):
9612         (WebCore::InheritedFlags::columnRuleColor):
9613         (WebCore::InheritedFlags::outlineColor):
9614         (WebCore::InheritedFlags::textEmphasisColor):
9615         (WebCore::InheritedFlags::textFillColor):
9616         (WebCore::InheritedFlags::textStrokeColor):
9617         (WebCore::InheritedFlags::stopColor):
9618         (WebCore::InheritedFlags::floodColor):
9619         (WebCore::InheritedFlags::lightingColor):
9620
9621             Made color getters return "Color" instead of "const Color&" since
9622             BorderValue no longer has an actual object to return the reference to.
9623
9624         * css/CSSStyleApplyProperty.cpp:
9625         (WebCore::ApplyPropertyColor::applyInheritValue):
9626         * page/animation/AnimationBase.cpp:
9627         (WebCore::PropertyWrapperColor::PropertyWrapperColor):
9628         (WebCore::PropertyWrapperColor::blend):
9629         (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
9630         (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
9631         (WebCore::AnimationBase::ensurePropertyMap):
9632
9633             Adapt to RenderStyle color getters now returning "Color" instead of
9634             "const Color&".
9635
9636 2011-10-09  Yury Semikhatsky  <yurys@chromium.org>
9637
9638         Missing m_notificationPresenter initialization in WorkerThread constructor
9639         https://bugs.webkit.org/show_bug.cgi?id=69741
9640
9641         Added missing m_notificationPresenter(0)
9642
9643         Reviewed by Pavel Feldman.
9644
9645         * workers/WorkerThread.cpp:
9646         (WebCore::WorkerThread::WorkerThread):
9647
9648 2011-10-09  Daniel Bates  <dbates@webkit.org>
9649
9650         Another attempt to fix the Leopard Intel Debug build after changeset 97034 <http://trac.webkit.org/changeset/97034>
9651         (https://bugs.webkit.org/show_bug.cgi?id=68035)
9652
9653         * page/FrameView.cpp:
9654         (WebCore::FrameView::zoomAnimatorTransformChanged): Explicitly convert a double precision result
9655         to a single precision result. I am unsure if this fix is correct. We need to look into this some
9656         more. See <https://bugs.webkit.org/show_bug.cgi?id=69739> for more details.
9657
9658 2011-10-09  Daniel Bates  <dbates@webkit.org>
9659
9660         Attempt to fix the Leopard Intel Debug build after changeset 97034 <http://trac.webkit.org/changeset/97034>
9661         (https://bugs.webkit.org/show_bug.cgi?id=68035)
9662
9663         * page/FrameView.cpp:
9664         (WebCore::FrameView::zoomAnimatorTransformChanged): Explicitly convert double precision result to
9665         an integer. I am unsure if this fix is correct. We need to look into this some more. See
9666         <https://bugs.webkit.org/show_bug.cgi?id=69739> for more details.
9667
9668 2011-10-09  Luke Macpherson   <macpherson@chromium.org>
9669
9670         Fix Lion, Leopard and Snow Leopard builds after changeset 97034 <http://trac.webkit.org/changeset/97034>
9671         (https://bugs.webkit.org/show_bug.cgi?id=68035)
9672         https://bugs.webkit.org/show_bug.cgi?id=69735
9673
9674         Reviewed by Daniel Bates.
9675
9676         * testing/Internals.cpp:
9677         Mark unused parameters to prevent compile errors when GESTURE_EVENTS and SMOOTH_SCROLLING are disabled.
9678         (WebCore::Internals::setEnableScrollAnimator):
9679         (WebCore::Internals::setZoomAnimatorTransform):
9680         (WebCore::Internals::setZoomParameters):
9681
9682 2011-10-09  Kent Tamura  <tkent@chromium.org>
9683
9684         Remove redundant code of HTMLSelectElement.
9685         https://bugs.webkit.org/show_bug.cgi?id=69701
9686
9687         Reviewed by Darin Adler.
9688
9689         No new tests, just a refactoring.
9690
9691         * html/HTMLSelectElement.cpp:
9692         (WebCore::HTMLSelectElement::deselectItems):
9693         Rename inner deselectItems() to deselectItemsWithoutValidation().
9694         (WebCore::HTMLSelectElement::setSelectedIndex):
9695         Rename a callsite of another setSelectedIndex() to setSelectedIndexInternal().
9696         (WebCore::HTMLSelectElement::setSelectedIndexByUser):
9697         ditto, and update a callsite of updateSelectedState().
9698         (WebCore::HTMLSelectElement::listBoxSelectItem):
9699         Update a callsite of updateSelectedState().
9700         (WebCore::HTMLSelectElement::activeSelectionEndListIndex):
9701         Update a callsite of lastSelectedListIndex().
9702         (WebCore::HTMLSelectElement::selectAll):
9703         Update callsites of functions which are changed to non-static.
9704         (WebCore::HTMLSelectElement::saveLastSelection):
9705         Merge a static function and a non-static function.
9706         (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): ditto.
9707         (WebCore::HTMLSelectElement::setActiveSelectionEndIndex): ditto.
9708         (WebCore::HTMLSelectElement::updateListBoxSelection): ditto.
9709         (WebCore::HTMLSelectElement::listBoxOnChange): ditto.
9710         (WebCore::HTMLSelectElement::menuListOnChange): ditto.
9711         (WebCore::HTMLSelectElement::scrollToSelection): ditto.
9712         (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer): Made this non-static.
9713         (WebCore::HTMLSelectElement::setRecalcListItems):
9714         Merge a static function and a non-static function.
9715         (WebCore::HTMLSelectElement::selectedIndex): ditto.
9716         (WebCore::HTMLSelectElement::setSelectedIndexInternal):
9717         Made this non-static, and renamed from setSelectedIndex() because
9718         of conflict with an existing function.
9719         (WebCore::HTMLSelectElement::optionToListIndex):
9720         Merge a static function and a non-static function.
9721         (WebCore::HTMLSelectElement::listToOptionIndex): ditto.
9722         (WebCore::HTMLSelectElement::dispatchFocusEvent):
9723         Update a callsite of function which is changed to no-staic.
9724         (WebCore::HTMLSelectElement::dispatchBlurEvent): ditto.
9725         (WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
9726         Made this non-static, and renamed from deselectItems() to avoid conflict.
9727         (WebCore::HTMLSelectElement::restoreFormControlState):
9728         Update a callsite of function which is changed to no-staic.
9729         (WebCore::HTMLSelectElement::reset): ditto.
9730         (WebCore::HTMLSelectElement::platformHandleKeydownEvent): Made this non-static.
9731         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): ditto.
9732         (WebCore::HTMLSelectElement::updateSelectedState): ditto.
9733         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): ditto.
9734         (WebCore::HTMLSelectElement::defaultEventHandler):
9735         Merged a static function and a non-static function.
9736         (WebCore::HTMLSelectElement::lastSelectedListIndex): Made this non-static.
9737         (WebCore::HTMLSelectElement::typeAheadFind): ditto.
9738         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): ditto.
9739         * html/HTMLSelectElement.h:
9740         * html/HTMLSelectElementWin.cpp:
9741         (WebCore::HTMLSelectElement::platformHandleKeydownEvent): Made this non-static.
9742
9743 2011-10-09  Adam Barth  <abarth@webkit.org>
9744
9745         CSP should log unrecognized directives to the console
9746         https://bugs.webkit.org/show_bug.cgi?id=69728
9747
9748         Reviewed by Sam Weinig.
9749
9750         Several of the web developers who have been experimenting with CSP have
9751         run into trouble with directives we don't support.  For example, one
9752         developer was confused for a while why image-src didn't do what he
9753         expected.  Logging a message to the console will help these folks
9754         figure out what's going on.
9755
9756         * page/ContentSecurityPolicy.cpp:
9757         (WebCore::ContentSecurityPolicy::reportUnrecognizedDirective):
9758         (WebCore::ContentSecurityPolicy::addDirective):
9759         * page/ContentSecurityPolicy.h:
9760
9761 2011-10-09  W. James MacLean  <wjmaclean@chromium.org>
9762
9763         [chromium] Zoom animator front-end
9764         https://bugs.webkit.org/show_bug.cgi?id=68035
9765
9766         Adds necessary components to ScrollAnimatorNone to support a zoom animation
9767         feature. Includes test infrastructure via testing/Internals to capture
9768         in-progress texture scaling (zoom-animator-scale-test.html) as well as a
9769         final view --- after pageScaleFactor has been applied --- in zoom-animator-scale-test2.html.
9770
9771         Removes temporary test fields from Settings.
9772
9773         Reviewed by Kenneth Russell.
9774
9775         Test: platform/chromium/compositing/zoom-animator-scale-test2.html
9776
9777         * page/EventHandler.cpp:
9778         (WebCore::EventHandler::handleGestureEvent):
9779         * page/FrameView.cpp:
9780         (WebCore::FrameView::zoomAnimatorTransformChanged):
9781         * page/FrameView.h:
9782         * page/Settings.cpp:
9783         (WebCore::Settings::Settings):
9784         * page/Settings.h:
9785         * platform/ScrollAnimator.cpp:
9786         (WebCore::ScrollAnimator::ScrollAnimator):
9787         (WebCore::ScrollAnimator::notifyZoomChanged):
9788         (WebCore::ScrollAnimator::zoomTranslation):
9789         (WebCore::ScrollAnimator::resetZoom):
9790         (WebCore::ScrollAnimator::setZoomParametersForTest):
9791         * platform/ScrollAnimator.h:
9792         (WebCore::ScrollAnimator::zoomScale):
9793         * platform/ScrollAnimatorNone.cpp:
9794         (WebCore::ScrollAnimatorNone::ZoomData::ZoomData):
9795         (WebCore::ScrollAnimatorNone::ZoomData::animateZoom):
9796         (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
9797         (WebCore::ScrollAnimatorNone::zoom):
9798         (WebCore::ScrollAnimatorNone::handleGestureEvent):
9799         (WebCore::ScrollAnimatorNone::animationTimerFired):
9800         * platform/ScrollAnimatorNone.h:
9801         * platform/ScrollableArea.cpp:
9802         (WebCore::ScrollableArea::zoomAnimatorTransformChanged):
9803         * platform/ScrollableArea.h:
9804         * testing/Internals.cpp:
9805         (WebCore::Internals::setEnableScrollAnimator):
9806         (WebCore::Internals::setZoomAnimatorTransform):
9807         (WebCore::Internals::getPageScaleFactor):
9808         (WebCore::Internals::setZoomParameters):
9809         * testing/Internals.h:
9810         * testing/Internals.idl:
9811
9812 2011-10-09  Dan Bernstein  <mitz@apple.com>
9813
9814         <rdar://problem/9484496> REGRESSION (WebKit2): Checkboxes and radio buttons are drawn 1 pixel too high, not repainted properly
9815         https://bugs.webkit.org/show_bug.cgi?id=69727
9816
9817         Reviewed by Anders Carlsson.
9818
9819         * platform/mac/ThemeMac.mm: Made WebCoreFlippedView an NSControl subclass so that the NSButtonCell
9820         used to draw checkboxes and radio buttons can make it its controlView, and consequently check and
9821         obey its flippedness.
9822
9823 2011-10-09  Benjamin Poulain  <benjamin@webkit.org>
9824
9825         Do not compare the first glyph to itself in Font::drawGlyphBuffer()
9826         https://bugs.webkit.org/show_bug.cgi?id=69715
9827
9828         Reviewed by Andreas Kling.
9829
9830         When looking for glyphs with similar properties, we should
9831         skip the first one since the comparison of fontData 
9832         and offset will always fail.
9833
9834         This is covered by the existing tests.
9835
9836         * platform/graphics/FontFastPath.cpp:
9837         (WebCore::Font::drawGlyphBuffer):
9838
9839 2011-10-08  Justin Schuh  <jschuh@chromium.org>
9840
9841         Make ThreadGlobalData members use OwnPtr
9842         https://bugs.webkit.org/show_bug.cgi?id=69710
9843
9844         Reviewed by Adam Barth.
9845
9846         No functional changes. No new tests required.
9847
9848         * platform/ThreadGlobalData.cpp:
9849         (WebCore::ThreadGlobalData::ThreadGlobalData):
9850         (WebCore::ThreadGlobalData::~ThreadGlobalData):
9851         (WebCore::ThreadGlobalData::destroy):
9852         * platform/ThreadGlobalData.h:
9853
9854 2011-10-08  Mark Hahnenberg  <mhahnenberg@apple.com>
9855
9856         Add static version of JSCell::getConstructData
9857         https://bugs.webkit.org/show_bug.cgi?id=69673
9858
9859         Reviewed by Geoffrey Garen.
9860
9861         No new tests.
9862
9863         Added static version of getConstructData to all classes that 
9864         override it and changed the virtual versions to call the static 
9865         versions.  This is the first step in de-virtualizing JSCell::getConstructData.
9866
9867         * bindings/js/JSAudioConstructor.cpp:
9868         (WebCore::JSAudioConstructor::getConstructData):
9869         * bindings/js/JSAudioConstructor.h:
9870         * bindings/js/JSImageConstructor.cpp:
9871         (WebCore::JSImageConstructor::getConstructData):
9872         * bindings/js/JSImageConstructor.h:
9873         * bindings/js/JSOptionConstructor.cpp:
9874         (WebCore::JSOptionConstructor::getConstructData):
9875         * bindings/js/JSOptionConstructor.h:
9876         * bindings/scripts/CodeGeneratorJS.pm:
9877         (GenerateConstructorDeclaration):
9878         (GenerateConstructorDefinition):
9879         * bindings/scripts/test/JS/JSTestInterface.cpp:
9880         (WebCore::JSTestInterfaceConstructor::getConstructData):
9881         * bridge/runtime_object.cpp:
9882         (JSC::Bindings::RuntimeObject::getConstructData):
9883         * bridge/runtime_object.h:
9884
9885 2011-10-08  Mark Hahnenberg  <mhahnenberg@apple.com>
9886
9887         Add static version of JSCell::getOwnPropertySlot
9888         https://bugs.webkit.org/show_bug.cgi?id=69593
9889
9890         Reviewed by Geoffrey Garen.
9891
9892         No new tests.
9893
9894         Added static version of getOwnPropertySlot to every class that overrides
9895         JSCell::getOwnPropertySlot.  The virtual versions now call the static versions.
9896         This is the first step in de-virtualizing JSCell::getOwnPropertySlot.
9897
9898         * bindings/js/JSDOMWindowShell.cpp:
9899         (WebCore::JSDOMWindowShell::getOwnPropertySlot):
9900         * bindings/js/JSDOMWindowShell.h:
9901         * bridge/objc/objc_runtime.h:
9902         * bridge/objc/objc_runtime.mm:
9903         (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot):
9904         * bridge/qt/qt_runtime.cpp:
9905         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertySlot):
9906         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertySlot):
9907         * bridge/qt/qt_runtime.h:
9908         * bridge/runtime_array.cpp:
9909         (JSC::RuntimeArray::getOwnPropertySlot):
9910         * bridge/runtime_array.h:
9911         * bridge/runtime_method.cpp:
9912         (JSC::RuntimeMethod::getOwnPropertySlot):
9913         * bridge/runtime_method.h:
9914         * bridge/runtime_object.cpp:
9915         (JSC::Bindings::RuntimeObject::getOwnPropertySlot):
9916         * bridge/runtime_object.h:
9917
9918 2011-10-03  Carlos Garcia Campos  <cgarcia@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
9919
9920         [GTK] Implement drag and drop support in WebKit2
9921         https://bugs.webkit.org/show_bug.cgi?id=63706
9922
9923         Reviewed by Philippe Normand.
9924
9925         * platform/DragData.h:
9926         * platform/gtk/DataObjectGtk.cpp:
9927         (WebCore::DataObjectGtk::text): Mark as const.
9928         (WebCore::DataObjectGtk::markup): Ditto.
9929         (WebCore::DataObjectGtk::urlLabel): Ditto.
9930         * platform/gtk/DataObjectGtk.h: Remove unused member
9931         m_dragContext.
9932         (WebCore::DataObjectGtk::url): Mark as const.
9933         (WebCore::DataObjectGtk::uriList): Ditto.
9934         (WebCore::DataObjectGtk::filenames): Ditto.
9935         (WebCore::DataObjectGtk::image): Ditto.
9936         (WebCore::DataObjectGtk::hasText): Ditto.
9937         (WebCore::DataObjectGtk::hasMarkup): Ditto.
9938         (WebCore::DataObjectGtk::hasURIList): Ditto.
9939         (WebCore::DataObjectGtk::hasURL): Ditto.
9940         (WebCore::DataObjectGtk::hasFilenames): Ditto.
9941         (WebCore::DataObjectGtk::hasImage): Ditto.
9942         * platform/gtk/DragIcon.cpp: Added. A helper which takes care of
9943         creating a transparent drag window for drags.
9944         * platform/gtk/DragIcon.h: Added.
9945
9946 2011-10-08  Abhishek Arya  <inferno@chromium.org>
9947
9948         Add support for ADDRESS_SANITIZER in RenderArena
9949         allocate, free calls.
9950         https://bugs.webkit.org/show_bug.cgi?id=69636
9951
9952         Reviewed by Darin Adler.
9953
9954         Use malloc, free directly without using the debug header. Otherwise,
9955         we won't be able to detect out of bounds access in debug header.
9956
9957         * rendering/RenderArena.cpp:
9958         (WebCore::RenderArena::allocate):
9959         (WebCore::RenderArena::free):
9960
9961 2011-10-08  Kent Tamura  <tkent@chromium.org>
9962
9963         Remove some static functions of HTMLSelectElement
9964         https://bugs.webkit.org/show_bug.cgi?id=69621
9965
9966         Reviewed by Darin Adler.
9967
9968         Merge a static function and the corresponding non-static member function
9969         into one function if there are no other callers of the static function.
9970
9971         No new tests, just a refactoring.
9972
9973         * html/HTMLFormControlElement.h:
9974         Make formControlName() protected because it is called from
9975         HTMLSelectElement.
9976         * html/HTMLSelectElement.cpp:
9977         (WebCore::HTMLSelectElement::parseMappedAttribute):
9978         Remove two argument of parseMultipleAttribute().
9979         (WebCore::HTMLSelectElement::selectAll):
9980         Merged the static function and the member function.
9981         (WebCore::HTMLSelectElement::dispatchFocusEvent): ditto.
9982         (WebCore::HTMLSelectElement::dispatchBlurEvent): ditto.
9983         (WebCore::HTMLSelectElement::saveFormControlState): ditto.
9984         (WebCore::HTMLSelectElement::restoreFormControlState):
9985         (WebCore::HTMLSelectElement::parseMultipleAttribute):
9986          - Make this non-static member function.
9987          - Use reattachIfAttached().
9988         (WebCore::HTMLSelectElement::appendFormData): Merged.
9989         (WebCore::HTMLSelectElement::reset): ditto.
9990         (WebCore::HTMLSelectElement::insertedIntoTree): ditto.
9991         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): ditto.
9992         (WebCore::HTMLSelectElement::length): Merged with optionCount().
9993         * html/HTMLSelectElement.h:
9994
9995 2011-10-08  Sheriff Bot  <webkit.review.bot@gmail.com>
9996
9997         Unreviewed, rolling out r96996.
9998         http://trac.webkit.org/changeset/96996
9999         https://bugs.webkit.org/show_bug.cgi?id=69697
10000
10001         It broke all tests on the Qt bot (Requested by Ossy_night on
10002         #webkit).
10003
10004         * WebCore.exp.in:
10005         * bindings/js/JSCallbackData.cpp:
10006         (WebCore::JSCallbackData::invokeCallback):
10007         * bindings/js/JSCustomXPathNSResolver.cpp:
10008         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
10009         * bindings/js/JSErrorHandler.cpp:
10010         (WebCore::JSErrorHandler::handleEvent):
10011         * bindings/js/JSEventListener.cpp:
10012         (WebCore::JSEventListener::handleEvent):
10013         * bindings/js/JSHTMLAllCollectionCustom.cpp:
10014         (WebCore::JSHTMLAllCollection::getCallDataVirtual):
10015         * bindings/js/JSHTMLAppletElementCustom.cpp:
10016         (WebCore::JSHTMLAppletElement::getCallDataVirtual):
10017         * bindings/js/JSHTMLEmbedElementCustom.cpp:
10018         (WebCore::JSHTMLEmbedElement::getCallDataVirtual):
10019         * bindings/js/JSHTMLObjectElementCustom.cpp:
10020         (WebCore::JSHTMLObjectElement::getCallDataVirtual):
10021         * bindings/js/JSInjectedScriptHostCustom.cpp:
10022         (WebCore::JSInjectedScriptHost::evaluate):
10023         * bindings/js/JSPluginElementFunctions.cpp:
10024         (WebCore::runtimeObjectGetCallData):
10025         * bindings/scripts/CodeGeneratorJS.pm:
10026         (GenerateHeader):
10027         * bridge/objc/objc_runtime.h:
10028         * bridge/objc/objc_runtime.mm:
10029         (JSC::Bindings::ObjcFallbackObjectImp::getCallDataVirtual):
10030         * bridge/qt/qt_runtime.cpp:
10031         (JSC::Bindings::QtRuntimeMetaMethod::getCallDataVirtual):
10032         (JSC::Bindings::QtRuntimeConnectionMethod::call):
10033         (JSC::Bindings::QtRuntimeConnectionMethod::getCallDataVirtual):
10034         (JSC::Bindings::isJavaScriptFunction):
10035         * bridge/qt/qt_runtime.h:
10036         * bridge/runtime_method.cpp:
10037         (JSC::RuntimeMethod::getCallDataVirtual):
10038         * bridge/runtime_method.h:
10039         * bridge/runtime_object.cpp:
10040         (JSC::Bindings::RuntimeObject::getCallDataVirtual):
10041         * bridge/runtime_object.h:
10042
10043 2011-10-08  Ryosuke Niwa  <rniwa@webkit.org>
10044
10045         Snow Leopard build fix after r96976. Apparently we just need a full rebuild.
10046
10047         * config.h:
10048
10049 2011-10-07  Mark Hahnenberg  <mhahnenberg@apple.com>
10050
10051         Add static version of JSCell::deleteProperty
10052         https://bugs.webkit.org/show_bug.cgi?id=69659
10053
10054         Reviewed by Geoffrey Garen.
10055
10056         No new tests.
10057
10058         Added static version of both versions of put to all classes that 
10059         override them and changed the virtual versions to call the static 
10060         versions.  This is the first step in de-virtualizing JSCell::deleteProperty.
10061
10062         * bridge/objc/objc_runtime.h:
10063         * bridge/objc/objc_runtime.mm:
10064         (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty):
10065         * bridge/runtime_array.cpp:
10066         (JSC::RuntimeArray::deleteProperty):
10067         * bridge/runtime_array.h:
10068         * bridge/runtime_object.cpp:
10069         (JSC::Bindings::RuntimeObject::deleteProperty):
10070         * bridge/runtime_object.h:
10071
10072 2011-10-07  Justin Schuh  <jschuh@chromium.org>
10073
10074         Make isXMLMIMEType regex use TLS
10075         https://bugs.webkit.org/show_bug.cgi?id=69665
10076
10077         Reviewed by Adam Barth.
10078
10079         Test: fast/workers/worker-multi-startup.html
10080
10081         * dom/DOMImplementation.cpp:
10082         (WebCore::XMLMIMETypeRegExp::XMLMIMETypeRegExp):
10083         (WebCore::XMLMIMETypeRegExp::~XMLMIMETypeRegExp):
10084         (WebCore::XMLMIMETypeRegExp::isXMLMIMEType):
10085         (WebCore::DOMImplementation::isXMLMIMEType):
10086         * dom/DOMImplementation.h:
10087         * platform/ThreadGlobalData.cpp:
10088         (WebCore::ThreadGlobalData::ThreadGlobalData):
10089         (WebCore::ThreadGlobalData::destroy):
10090         * platform/ThreadGlobalData.h:
10091         (WebCore::ThreadGlobalData::xmlTypeRegExp):
10092
10093 2011-10-07  Sheriff Bot  <webkit.review.bot@gmail.com>
10094
10095         Unreviewed, rolling out r96847.
10096         http://trac.webkit.org/changeset/96847
10097         https://bugs.webkit.org/show_bug.cgi?id=69684
10098
10099         may have caused memory regression on win chromium (Requested
10100         by simonjam on #webkit).
10101
10102         * platform/graphics/chromium/FontChromiumWin.cpp:
10103         (WebCore::Font::drawGlyphs):
10104
10105 2011-10-07  Mark Hahnenberg  <mhahnenberg@apple.com>
10106
10107         Remove getCallDataVirtual methods
10108         https://bugs.webkit.org/show_bug.cgi?id=69186
10109
10110         Reviewed by Geoffrey Garen.
10111
10112         No new tests.
10113
10114         Removed all getCallDataVirtual methods and replaced their call sites 
10115         with an explicit lookup in the MethodTable.
10116
10117         * WebCore.exp.in:
10118         * bindings/js/JSCallbackData.cpp:
10119         (WebCore::JSCallbackData::invokeCallback):
10120         * bindings/js/JSCustomXPathNSResolver.cpp:
10121         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
10122         * bindings/js/JSErrorHandler.cpp:
10123         (WebCore::JSErrorHandler::handleEvent):
10124         * bindings/js/JSEventListener.cpp:
10125         (WebCore::JSEventListener::handleEvent):
10126         * bindings/js/JSHTMLAllCollectionCustom.cpp:
10127         * bindings/js/JSHTMLAppletElementCustom.cpp:
10128         * bindings/js/JSHTMLEmbedElementCustom.cpp:
10129         * bindings/js/JSHTMLObjectElementCustom.cpp:
10130         * bindings/js/JSInjectedScriptHostCustom.cpp:
10131         (WebCore::JSInjectedScriptHost::evaluate):
10132         * bindings/js/JSPluginElementFunctions.cpp:
10133         (WebCore::runtimeObjectGetCallData):
10134         * bindings/scripts/CodeGeneratorJS.pm:
10135         (GenerateHeader):
10136         * bridge/objc/objc_runtime.h:
10137         * bridge/objc/objc_runtime.mm:
10138         * bridge/qt/qt_runtime.cpp:
10139         (JSC::Bindings::QtRuntimeConnectionMethod::call):
10140         (JSC::Bindings::isJavaScriptFunction):
10141         * bridge/qt/qt_runtime.h:
10142         (JSC::Bindings::QtRuntimeMetaMethod::createStructure):
10143         (JSC::Bindings::QtRuntimeConnectionMethod::createStructure):
10144         * bridge/runtime_method.cpp:
10145         * bridge/runtime_method.h:
10146         * bridge/runtime_object.cpp:
10147         * bridge/runtime_object.h:
10148
10149 2011-10-07  Mark Hahnenberg  <mhahnenberg@apple.com>
10150
10151         Add static version of JSCell::put
10152         https://bugs.webkit.org/show_bug.cgi?id=69382
10153
10154         Reviewed by Geoffrey Garen.
10155
10156         No new tests.
10157
10158         Added static version of both versions of put to all classes that 
10159         override them and changed the virtual versions to call the static 
10160         versions.
10161
10162         * bindings/scripts/CodeGeneratorJS.pm:
10163         (GenerateHeader):
10164         (GenerateImplementation):
10165         * bindings/scripts/test/JS/JSTestObj.cpp:
10166         (WebCore::JSTestObj::put):
10167         * bindings/scripts/test/JS/JSTestObj.h:
10168         * bridge/objc/objc_runtime.h:
10169         * bridge/objc/objc_runtime.mm:
10170         (JSC::Bindings::ObjcFallbackObjectImp::put):
10171         * bridge/runtime_array.cpp:
10172         (JSC::RuntimeArray::put):
10173         * bridge/runtime_array.h:
10174         * bridge/runtime_object.cpp:
10175         (JSC::Bindings::RuntimeObject::put):
10176         * bridge/runtime_object.h:
10177
10178 2011-10-07  Anantanarayanan G Iyengar  <ananta@chromium.org>
10179
10180          https://bugs.webkit.org/show_bug.cgi?id=69471
10181
10182          We now wrap the window script NPObject which is requested by NPAPI plugins for
10183          scripting. The wrapped NPObject pointer maintains a weak reference to the
10184          window script NPObject and is cleared out when the window script object is destroyed.
10185          The NPObject wrapper is destroyed when the last outstanding reference is released.
10186
10187          Reviewed by Nate Chapin.
10188
10189          No tests added as there is no change in functionality.
10190
10191         * WebCore.gypi:
10192         * bindings/v8/NPObjectWrapper.cpp: Added.
10193         (WebCore::NPObjectWrapper::NPObjectWrapper):
10194         (WebCore::NPObjectWrapper::create):
10195         (WebCore::NPObjectWrapper::clear):
10196         (WebCore::NPObjectWrapper::getWrapper):
10197         (WebCore::NPObjectWrapper::getUnderlyingNPObject):
10198         (WebCore::NPObjectWrapper::getObjectForCall):
10199         (WebCore::NPObjectWrapper::NPAllocate):
10200         (WebCore::NPObjectWrapper::NPDeallocate):
10201         (WebCore::NPObjectWrapper::NPPInvalidate):
10202         (WebCore::NPObjectWrapper::NPHasMethod):
10203         (WebCore::NPObjectWrapper::NPInvoke):
10204         (WebCore::NPObjectWrapper::NPInvokeDefault):
10205         (WebCore::NPObjectWrapper::NPHasProperty):
10206         (WebCore::NPObjectWrapper::NPGetProperty):
10207         (WebCore::NPObjectWrapper::NPSetProperty):
10208         (WebCore::NPObjectWrapper::NPRemoveProperty):
10209         (WebCore::NPObjectWrapper::NPNEnumerate):
10210         (WebCore::NPObjectWrapper::NPNConstruct):
10211         (WebCore::NPObjectWrapper::NPInvokePrivate):
10212         * bindings/v8/NPObjectWrapper.h: Added.
10213         * bindings/v8/NPV8Object.cpp:
10214         (_NPN_EvaluateHelper):
10215         * bindings/v8/ScriptController.cpp:
10216         (WebCore::ScriptController::ScriptController):
10217         (WebCore::ScriptController::clearScriptObjects):
10218         (WebCore::ScriptController::windowScriptNPObject):
10219         * bindings/v8/ScriptController.h:
10220
10221 2011-10-07  Antoine Labour  <piman@chromium.org>
10222
10223         Webkit API for compositor
10224         https://bugs.webkit.org/show_bug.cgi?id=69107
10225
10226         Reviewed by Darin Fisher.
10227
10228         Covered by existing compositing tests.
10229
10230         * platform/graphics/chromium/ContentLayerChromium.h: 
10231
10232 2011-10-07  Ben Wells  <benwells@chromium.org>
10233
10234         CSS text-transform should apply to select elements
10235         https://bugs.webkit.org/show_bug.cgi?id=69503
10236
10237         Reviewed by Ojan Vafai.
10238
10239         Select elements are drawn in two ways depending on whether they are multiple and what their size is.
10240         Neither method previously handled text-transforms. Both of these rendering styles are now updated to transform
10241         their text correctly.
10242
10243         Test: fast/css/text-transform-select.html
10244
10245         * rendering/RenderListBox.cpp:
10246         (WebCore::RenderListBox::updateFromElement):
10247         (WebCore::RenderListBox::paintItemForeground):
10248         * rendering/RenderMenuList.cpp:
10249         (WebCore::RenderMenuList::updateOptionsWidth):
10250         (WebCore::RenderMenuList::setText):
10251         (WebCore::RenderMenuList::itemText):
10252         * rendering/RenderText.cpp:
10253         (WebCore::makeCapitalized):
10254         (WebCore::applyTextTransform):
10255         (WebCore::RenderText::setTextInternal):
10256         (WebCore::RenderText::textWithoutTranscoding):
10257         * rendering/RenderText.h:
10258
10259 2011-10-07  Tony Chang  <tony@chromium.org>
10260
10261         fix a crash when loading non-html multipart data
10262         https://bugs.webkit.org/show_bug.cgi?id=69675
10263
10264         Reviewed by Adam Barth.
10265
10266         setupForReplaceByMIMEType calls DocumentWriter::end().  This leads to
10267         a crash on Mac because WebHTMLRepresentation() calls commitLoad(nil),
10268         which tries to write to the DocumentWriter.  By just inlining the code
10269         to load the last page, we avoid this crash (and makes the non-html
10270         multipart code more like the html multipart code).
10271
10272         * loader/DocumentLoader.cpp:
10273         (WebCore::DocumentLoader::maybeFinishLoadingMultipartContent):
10274
10275 2011-10-07  Sergey Glazunov  <serg.glazunov@gmail.com>
10276
10277         XSLT-generated document should inherit its SecurityOrigin from the source document
10278         https://bugs.webkit.org/show_bug.cgi?id=69661
10279
10280         Reviewed by Adam Barth.
10281
10282         Test: http/tests/security/xss-DENIED-xsl-document-securityOrigin.xml
10283
10284         * xml/XSLTProcessor.cpp:
10285         (WebCore::XSLTProcessor::createDocumentFromSource):
10286
10287 2011-10-07  Sheriff Bot  <webkit.review.bot@gmail.com>
10288
10289         Unreviewed, rolling out r96944.
10290         http://trac.webkit.org/changeset/96944
10291         https://bugs.webkit.org/show_bug.cgi?id=69662
10292
10293         Caused many tests to crash on Snow Leopard (Requested by rniwa
10294         on #webkit).
10295
10296         * css/CSSStyleApplyProperty.cpp:
10297         (WebCore::ApplyPropertyColor::applyInheritValue):
10298         * page/animation/AnimationBase.cpp:
10299         (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
10300         (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
10301         (WebCore::AnimationBase::ensurePropertyMap):
10302         * platform/graphics/Color.h:
10303         (WebCore::Color::Color):
10304         * rendering/style/BorderValue.h:
10305         (WebCore::BorderValue::BorderValue):
10306         (WebCore::BorderValue::isTransparent):
10307         (WebCore::BorderValue::operator==):
10308         (WebCore::BorderValue::color):
10309         * rendering/style/OutlineValue.h:
10310         (WebCore::OutlineValue::operator==):
10311         * rendering/style/RenderStyle.h:
10312         (WebCore::InheritedFlags::setBorderLeftColor):
10313         (WebCore::InheritedFlags::setBorderRightColor):
10314         (WebCore::InheritedFlags::setBorderTopColor):
10315         (WebCore::InheritedFlags::setBorderBottomColor):
10316         (WebCore::InheritedFlags::setOutlineColor):
10317         (WebCore::InheritedFlags::setColumnRuleColor):
10318         (WebCore::InheritedFlags::fillPaintColor):
10319         (WebCore::InheritedFlags::strokePaintColor):
10320         (WebCore::InheritedFlags::borderLeftColor):
10321         (WebCore::InheritedFlags::borderRightColor):
10322         (WebCore::InheritedFlags::borderTopColor):
10323         (WebCore::InheritedFlags::borderBottomColor):
10324         (WebCore::InheritedFlags::backgroundColor):
10325         (WebCore::InheritedFlags::color):
10326         (WebCore::InheritedFlags::columnRuleColor):
10327         (WebCore::InheritedFlags::outlineColor):
10328         (WebCore::InheritedFlags::textEmphasisColor):
10329         (WebCore::InheritedFlags::textFillColor):
10330         (WebCore::InheritedFlags::textStrokeColor):
10331         (WebCore::InheritedFlags::stopColor):
10332         (WebCore::InheritedFlags::floodColor):
10333         (WebCore::InheritedFlags::lightingColor):
10334
10335 2011-10-07  David Hyatt  <hyatt@apple.com>
10336
10337         https://bugs.webkit.org/show_bug.cgi?id=69658
10338         
10339         [CSS3 Regions] Box painting of overflow into regions is incorrect because children were being
10340         incorrectly clamped to their containing block region ranges. Change the clamping model so that
10341         renderRegionForLine no longer does it. A block will now truly have an accurate range across
10342         all the regions that paint it. Instead, do the clamping at the time a child box asks the containing
10343         block for its information. At that time clamp to the start and end regions, so that we never ask
10344         a containing block for info about a region that it doesn't exist in.
10345
10346         Reviewed by Anders Carlsson.
10347
10348         Added new test in fast/regions and updated an old result to be correct.
10349
10350         * rendering/RenderBlock.cpp:
10351         (WebCore::RenderBlock::pageLogicalHeightForOffset):
10352         (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
10353         (WebCore::RenderBlock::regionAtBlockOffset):
10354         (WebCore::RenderBlock::clampToStartAndEndRegions):
10355         * rendering/RenderBlock.h:
10356         * rendering/RenderBox.cpp:
10357         (WebCore::RenderBox::borderBoxRectInRegion):
10358         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
10359         (WebCore::RenderBox::renderBoxRegionInfo):
10360         * rendering/RenderFlowThread.cpp:
10361         (WebCore::RenderFlowThread::renderRegionForLine):
10362         (WebCore::RenderFlowThread::regionLogicalWidthForLine):
10363         (WebCore::RenderFlowThread::regionLogicalHeightForLine):
10364         (WebCore::RenderFlowThread::regionRemainingLogicalHeightForLine):
10365         (WebCore::RenderFlowThread::mapFromFlowToRegion):
10366         (WebCore::RenderFlowThread::setRegionRangeForBox):
10367         * rendering/RenderFlowThread.h:
10368
10369 2011-10-07  Chang Shu  <cshu@webkit.org>
10370
10371         Remove compile time flag ENABLE_PASSWORD_ECHO
10372         https://bugs.webkit.org/show_bug.cgi?id=69647
10373
10374         As we have runtime flag in the page/Settings, we should remove this redundant compile time flag.
10375
10376         Reviewed by Andreas Kling.
10377
10378         * config.h:
10379         * page/Settings.cpp:
10380         (WebCore::Settings::Settings):
10381
10382 2011-10-07  Chris Fleizach  <cfleizach@apple.com>
10383
10384         Bug 69562 - AccessibilityImageMapLink holds onto it's parent even after it's been freed
10385         https://bugs.webkit.org/show_bug.cgi?id=69562
10386
10387         Some fake objects, like AXImageMapLink, have weak references to their parent's (since they are fake objects and
10388         need some connection to the parent). However, if the parent disappears before the child, then we're left with a 
10389         out of date reference to that parent.
10390
10391         The fix is to allow these elements to clear their parentage when the parent goes away.
10392
10393         Reviewed by Darin Adler.
10394
10395         Test: accessibility/image-map-update-parent-crash.html
10396
10397         * accessibility/AccessibilityMenuListOption.cpp:
10398         (WebCore::AccessibilityMenuListOption::isVisible):
10399         * accessibility/AccessibilityMenuListPopup.cpp:
10400         (WebCore::AccessibilityMenuListPopup::isOffScreen):
10401         (WebCore::AccessibilityMenuListPopup::isEnabled):
10402         (WebCore::AccessibilityMenuListPopup::press):
10403         (WebCore::AccessibilityMenuListPopup::addChildren):
10404         (WebCore::AccessibilityMenuListPopup::childrenChanged):
10405         * accessibility/AccessibilityMockObject.h:
10406         (WebCore::AccessibilityMockObject::detachFromParent):
10407         * accessibility/AccessibilityObject.cpp:
10408         (WebCore::AccessibilityObject::clearChildren):
10409         * accessibility/AccessibilityObject.h:
10410         (WebCore::AccessibilityObject::detachFromParent):
10411         * accessibility/AccessibilitySlider.cpp:
10412         (WebCore::AccessibilitySliderThumb::elementRect):
10413         * accessibility/AccessibilityTableColumn.cpp:
10414         (WebCore::AccessibilityTableColumn::headerObjectForSection):
10415
10416 2011-10-07  Andreas Kling  <kling@webkit.org>
10417
10418         Pack StyleRareNonInheritedData even harder on 64-bit.
10419         https://bugs.webkit.org/show_bug.cgi?id=69648
10420
10421         Reviewed by Benjamin Poulain.
10422
10423         Rearrange the members of StyleRareNonInheritedData to fold as much
10424         as possible into the padding at the end of RefCounted.
10425
10426         This shrinks StyleRareNonInheritedData by 16 bytes on 64-bit,
10427         reducing memory consumption by another 140 kB when loading the
10428         full HTML5 spec.
10429
10430         * rendering/style/StyleRareNonInheritedData.cpp:
10431         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
10432         * rendering/style/StyleRareNonInheritedData.h:
10433
10434 2011-10-07  Cary Clark  <caryclark@google.com>
10435
10436         Enable color profiles, unless profile is grayscale
10437         https://bugs.webkit.org/show_bug.cgi?id=69622
10438         https://bugs.webkit.org/show_bug.cgi?id=49950
10439         http://code.google.com/p/chromium/issues/detail?id=80844
10440
10441         Further specialize the earlier fix described in 49950 to
10442         allow color profiles in YCbCr images, but disallow color
10443         profiles marked as grayData.
10444         (see http://www.color.org/ICC1v42_2006-05.pdf 7.2.6 )
10445
10446         Reviewed by Adam Barth.
10447
10448         Test: fast/images/gray-scale-jpeg-with-color-profile.html
10449               fast/images/color-jpeg-with-color-profile.html
10450
10451         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
10452         (WebCore::readColorProfile):
10453         (WebCore::JPEGImageReader::decode):
10454
10455 2011-10-07  Chris Fleizach  <cfleizach@apple.com>
10456
10457         AX: re-organize fake elements to use new AccessibilityMockObject
10458         https://bugs.webkit.org/show_bug.cgi?id=69588
10459
10460         This adds an AccessibilityMockObject for "fake" elements to descend from.
10461         Its benefit is to consolidate the various ways that these fake elements are setting
10462         and returning their parent objects.
10463
10464         No functional change, hence no new tests.
10465
10466         Reviewed by Jon Honeycutt.
10467
10468         * CMakeLists.txt:
10469         * GNUmakefile.list.am:
10470         * WebCore.gypi:
10471         * WebCore.pro:
10472         * WebCore.vcproj/WebCore.vcproj:
10473         * WebCore.xcodeproj/project.pbxproj:
10474         * accessibility/AccessibilityARIAGrid.cpp:
10475         (WebCore::AccessibilityARIAGrid::addChildren):
10476         * accessibility/AccessibilityImageMapLink.cpp:
10477         (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
10478         * accessibility/AccessibilityImageMapLink.h:
10479         (WebCore::AccessibilityImageMapLink::node):
10480         * accessibility/AccessibilityMenuList.cpp:
10481         (WebCore::AccessibilityMenuList::addChildren):
10482         * accessibility/AccessibilityMenuList.h:
10483         (WebCore::toAccessibilityMenuList):
10484         * accessibility/AccessibilityMenuListOption.cpp:
10485         (WebCore::AccessibilityMenuListOption::AccessibilityMenuListOption):
10486         (WebCore::AccessibilityMenuListOption::isVisible):
10487         * accessibility/AccessibilityMenuListOption.h:
10488         * accessibility/AccessibilityMenuListPopup.cpp:
10489         (WebCore::AccessibilityMenuListPopup::AccessibilityMenuListPopup):
10490         (WebCore::AccessibilityMenuListPopup::isOffScreen):
10491         (WebCore::AccessibilityMenuListPopup::isEnabled):
10492         (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
10493         (WebCore::AccessibilityMenuListPopup::press):
10494         (WebCore::AccessibilityMenuListPopup::addChildren):
10495         (WebCore::AccessibilityMenuListPopup::childrenChanged):
10496         (WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
10497         * accessibility/AccessibilityMenuListPopup.h:
10498         * accessibility/AccessibilityMockObject.cpp: Added.
10499         (WebCore::AccessibilityMockObject::AccessibilityMockObject):
10500         (WebCore::AccessibilityMockObject::~AccessibilityMockObject):
10501         * accessibility/AccessibilityMockObject.h: Added.
10502         (WebCore::AccessibilityMockObject::parentObject):
10503         (WebCore::AccessibilityMockObject::setParent):
10504         (WebCore::AccessibilityMockObject::detachFromParent):
10505         * accessibility/AccessibilitySlider.cpp:
10506         (WebCore::AccessibilitySlider::addChildren):
10507         (WebCore::AccessibilitySliderThumb::AccessibilitySliderThumb):
10508         (WebCore::AccessibilitySliderThumb::elementRect):
10509         * accessibility/AccessibilitySlider.h:
10510         * accessibility/AccessibilityTable.cpp:
10511         (WebCore::AccessibilityTable::addChildren):
10512         (WebCore::AccessibilityTable::headerContainer):
10513         * accessibility/AccessibilityTable.h:
10514         (WebCore::toAccessibilityTable):
10515         * accessibility/AccessibilityTableColumn.cpp:
10516         (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
10517         (WebCore::AccessibilityTableColumn::setParent):
10518         (WebCore::AccessibilityTableColumn::headerObject):
10519         (WebCore::AccessibilityTableColumn::headerObjectForSection):
10520         (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
10521         (WebCore::AccessibilityTableColumn::addChildren):
10522         * accessibility/AccessibilityTableColumn.h:
10523         * accessibility/AccessibilityTableHeaderContainer.cpp:
10524         (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
10525         (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
10526         (WebCore::AccessibilityTableHeaderContainer::addChildren):
10527         * accessibility/AccessibilityTableHeaderContainer.h:
10528
10529 2011-10-07  Nate Chapin  <japhet@chromium.org>
10530
10531         Make IconLoader a CachedResourceClient instead of a SubresourceLoaderClient.
10532         This is one of the steps required to remove the SubresourceLoaderClient interface,
10533         which will simplify the layering in the loader.
10534         https://bugs.webkit.org/show_bug.cgi?id=69567
10535
10536         Reviewed by Adam Barth.
10537
10538         No new tests, no functionality change intended.
10539
10540         * CMakeLists.txt:
10541         * GNUmakefile.list.am:
10542         * WebCore.gypi:
10543         * WebCore.pro:
10544         * WebCore.vcproj/WebCore.vcproj:
10545         * WebCore.xcodeproj/project.pbxproj:
10546         * loader/cache/CachedRawResource.cpp: Added.
10547         * loader/cache/CachedRawResource.h: Added.
10548         * loader/cache/CachedResource.cpp:
10549         * loader/cache/CachedResource.h:
10550         (WebCore::CachedResource::ignoreForRequestCount): Renamed and generalized from isLinkResource(),
10551             which was only used to decided whether the CachedResource should count toward
10552             CachedResourceLoader::requestCount().
10553         * loader/cache/CachedResourceLoader.cpp:
10554         * loader/cache/CachedResourceLoader.h:
10555         * loader/cache/CachedResourceRequest.cpp:
10556         * loader/cache/CachedResourceRequest.h:
10557         * loader/icon/IconLoader.cpp: Get a CachedResource instead of a SubresourceLoader.
10558         (WebCore::IconLoader::notifyFinished): Merge in the status code check that was in didReceiveResponse(),
10559             since we won't be checking any callbacks before the load completes.
10560         * loader/icon/IconLoader.h:
10561
10562 2011-10-07  Adam Bergkvist  <adam.bergkvist@ericsson.com>
10563
10564         Add WebCore platform interfaces needed by updated PeerConnection design
10565         https://bugs.webkit.org/show_bug.cgi?id=68460
10566
10567         Reviewed by Adam Barth.
10568
10569         Added the PeerConnection platform files to WebCore/platform/mediastream
10570
10571         Currently not testable.
10572
10573         * GNUmakefile.am:
10574         * GNUmakefile.list.am:
10575         * WebCore.gyp/WebCore.gyp:
10576         * WebCore.gypi:
10577         * platform/mediastream/MediaStreamComponent.h: Added.
10578         (WebCore::MediaStreamComponent::create):
10579         (WebCore::MediaStreamComponent::source):
10580         (WebCore::MediaStreamComponent::enabled):
10581         (WebCore::MediaStreamComponent::setEnabled):
10582         (WebCore::MediaStreamComponent::MediaStreamComponent):
10583         * platform/mediastream/MediaStreamDescriptor.h: Added.
10584         (WebCore::MediaStreamDescriptor::create):
10585         (WebCore::MediaStreamDescriptor::owner):
10586         (WebCore::MediaStreamDescriptor::setOwner):
10587         (WebCore::MediaStreamDescriptor::label):
10588         (WebCore::MediaStreamDescriptor::component):
10589         (WebCore::MediaStreamDescriptor::numberOfComponents):
10590         (WebCore::MediaStreamDescriptor::ended):
10591         (WebCore::MediaStreamDescriptor::setEnded):
10592         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
10593         * platform/mediastream/MediaStreamSource.h: Added.
10594         (WebCore::MediaStreamSource::create):
10595         (WebCore::MediaStreamSource::id):
10596         (WebCore::MediaStreamSource::type):
10597         (WebCore::MediaStreamSource::name):
10598         (WebCore::MediaStreamSource::muted):
10599         (WebCore::MediaStreamSource::setMuted):
10600         (WebCore::MediaStreamSource::MediaStreamSource):
10601         * platform/mediastream/PeerHandler.cpp: Added.
10602         (WebCore::PeerHandler::PeerHandler):
10603         (WebCore::PeerHandler::~PeerHandler):
10604         (WebCore::PeerHandler::produceInitialOffer):
10605         (WebCore::PeerHandler::handleInitialOffer):
10606         (WebCore::PeerHandler::processSDP):
10607         (WebCore::PeerHandler::processPendingStreams):
10608         (WebCore::PeerHandler::sendDataStreamMessage):
10609         (WebCore::PeerHandler::stop):
10610         * platform/mediastream/PeerHandler.h: Added.
10611         (WebCore::PeerHandlerClient::~PeerHandlerClient):
10612         (WebCore::PeerHandler::create):
10613
10614 2011-10-07  Vineet Chaudary  <vineet.chaudhary@motorola.com>
10615
10616         background-color affects the font color in disabled textarea.
10617         https://bugs.webkit.org/show_bug.cgi?id=65361
10618
10619         Reviewed by Darin Adler.
10620
10621         For the transparent/translucent background colors use lightening fortext color.
10622
10623         * rendering/RenderTextControl.cpp:
10624         (WebCore::disabledTextColor):
10625
10626 2011-10-07  David Barr  <davidbarr@chromium.org>
10627
10628         Implement currentColor support for box-shadow and text-shadow
10629         https://bugs.webkit.org/show_bug.cgi?id=68218
10630
10631         Reviewed by Simon Fraser.
10632
10633         Test: fast/box-shadow/box-shadow-currentcolor.html
10634
10635         * css/CSSParser.cpp:
10636         (WebCore::CSSParser::parseShadow): Add CSSValueCurrentcolor to supported keywords.
10637
10638 2011-10-07  Pavel Feldman  <pfeldman@google.com>
10639
10640         Web Inspector: add Audits panel to the compilation.
10641         https://bugs.webkit.org/show_bug.cgi?id=69633
10642
10643         Reviewed by Yury Semikhatsky.
10644
10645         * inspector/compile-front-end.sh:
10646         * inspector/front-end/AuditCategories.js:
10647         * inspector/front-end/AuditLauncherView.js:
10648         * inspector/front-end/AuditResultView.js:
10649         * inspector/front-end/AuditRules.js:
10650         (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
10651         (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
10652         (WebInspector.AuditRules.CacheControlRule.prototype.handleNonCacheableResources):
10653         * inspector/front-end/AuditsPanel.js:
10654         (WebInspector.AuditsPanel):
10655         * inspector/front-end/NetworkLog.js:
10656         * inspector/front-end/treeoutline.js:
10657
10658 2011-10-07  Andreas Kling  <kling@webkit.org>
10659
10660         Functions that return "const Color" should simply return "Color".
10661
10662         Rubber-stamped by Antti Koivisto.
10663
10664         * rendering/RenderLayerBacking.cpp:
10665         (WebCore::RenderLayerBacking::rendererBackgroundColor):
10666         * rendering/RenderLayerBacking.h:
10667         * rendering/RenderTable.h:
10668         (WebCore::RenderTable::bgColor):
10669         * rendering/style/RenderStyle.cpp:
10670         (WebCore::RenderStyle::colorIncludingFallback):
10671         (WebCore::RenderStyle::visitedDependentColor):
10672         * rendering/style/RenderStyle.h:
10673
10674 2011-10-07  Pavel Feldman  <pfeldman@google.com>
10675
10676         Web Inspector: TypeError: Cannot read property 'styleSheetId' of undefined in tests.
10677         https://bugs.webkit.org/show_bug.cgi?id=69634
10678
10679         Reviewed by Yury Semikhatsky.
10680
10681         * inspector/front-end/CSSStyleModel.js:
10682         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
10683
10684 2011-10-06  Andreas Kling  <kling@webkit.org>
10685
10686         Shrink BorderValue.
10687         https://bugs.webkit.org/show_bug.cgi?id=69521
10688
10689         Reviewed by Antti Koivisto.
10690
10691         Unroll BorderValue's Color member so we can pack the color's validity flag
10692         in BorderValue's bitfield.
10693
10694         This shrinks BorderValue by 32 bit, which in turn shrinks BorderData by
10695         16 bytes. This reduces memory consumption by 760 kB when loading the full
10696         HTML5 spec.
10697
10698         * platform/graphics/Color.h:
10699         (WebCore::Color::Color):
10700
10701             Allow construction of Color objects with specific validity.
10702
10703         * rendering/style/BorderValue.h:
10704         (WebCore::BorderValue::BorderValue):
10705         (WebCore::BorderValue::isTransparent):
10706         (WebCore::BorderValue::operator==):
10707         (WebCore::BorderValue::setColor):
10708         (WebCore::BorderValue::color):
10709         * rendering/style/OutlineValue.h:
10710         (WebCore::OutlineValue::operator==):
10711
10712             Unroll m_color into BorderValue by splitting it into an RGBA32 and a bool.
10713             Made those variables private and added color(), setColor() accessors.
10714
10715         * rendering/style/RenderStyle.h:
10716         (WebCore::InheritedFlags::setBorderLeftColor):
10717         (WebCore::InheritedFlags::setBorderRightColor):
10718         (WebCore::InheritedFlags::setBorderTopColor):
10719         (WebCore::InheritedFlags::setBorderBottomColor):
10720         (WebCore::InheritedFlags::setOutlineColor):
10721         (WebCore::InheritedFlags::setColumnRuleColor):
10722
10723             Added a SET_BORDERVALUE_COLOR macro and use that instead of SET_VAR
10724             when setting BorderValue colors.
10725
10726         (WebCore::InheritedFlags::fillPaintColor):
10727         (WebCore::InheritedFlags::strokePaintColor):
10728         (WebCore::InheritedFlags::borderLeftColor):
10729         (WebCore::InheritedFlags::borderRightColor):
10730         (WebCore::InheritedFlags::borderTopColor):
10731         (WebCore::InheritedFlags::borderBottomColor):
10732         (WebCore::InheritedFlags::backgroundColor):
10733         (WebCore::InheritedFlags::color):
10734         (WebCore::InheritedFlags::columnRuleColor):
10735         (WebCore::InheritedFlags::outlineColor):
10736         (WebCore::InheritedFlags::textEmphasisColor):
10737         (WebCore::InheritedFlags::textFillColor):
10738         (WebCore::InheritedFlags::textStrokeColor):
10739         (WebCore::InheritedFlags::stopColor):
10740         (WebCore::InheritedFlags::floodColor):
10741         (WebCore::InheritedFlags::lightingColor):
10742
10743             Made color getters return "Color" instead of "const Color&" since
10744             BorderValue no longer has an actual object to return the reference to.
10745
10746         * css/CSSStyleApplyProperty.cpp:
10747         (WebCore::ApplyPropertyColor::applyInheritValue):
10748         * page/animation/AnimationBase.cpp:
10749         (WebCore::PropertyWrapperColor::PropertyWrapperColor):
10750         (WebCore::PropertyWrapperColor::blend):
10751         (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
10752         (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
10753         (WebCore::AnimationBase::ensurePropertyMap):
10754
10755             Adapt to RenderStyle color getters now returning "Color" instead of
10756             "const Color&".
10757
10758 2011-10-07  Philippe Normand  <pnormand@igalia.com>
10759
10760         [GStreamer] webkitwebsrc: avoid GST_BOILERPLATE_FULL
10761         https://bugs.webkit.org/show_bug.cgi?id=69630
10762
10763         Reviewed by Martin Robinson.
10764
10765         Use G_DEFINE_TYPE_WITH_CODE instead of GST_BOILERPLATE_FULL and
10766         replace use of gst_ghost_pad_new_no_target_from_template() and
10767         gst_ghost_pad_set_target() with a single call to
10768         gst_ghost_pad_new_from_template(). These changes keep the element
10769         compatible with GStreamer 0.10 while preparing the port to 0.11.
10770
10771         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
10772         (webkit_web_src_class_init):
10773         (webkit_web_src_init):
10774
10775 2011-10-07  Martin Robinson  <mrobinson@igalia.com>
10776
10777         [Freetype] Pseudo-italics do not work
10778         https://bugs.webkit.org/show_bug.cgi?id=40856
10779
10780         Reviewed by Philippe Normand.
10781
10782         * platform/graphics/freetype/FontPlatformData.h: Add the font description as an argument initializeWithFontFace.
10783         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
10784         (WebCore::FontPlatformData::FontPlatformData): Pass the font description to initializeWithFontFace.
10785         (WebCore::FontPlatformData::initializeWithFontFace): If we were asked for an italic font and we were
10786         given one that wasn't oblique or italic, activate the synthetic oblique bit.
10787
10788 2011-10-07  Philippe Normand  <pnormand@igalia.com>
10789
10790         [GStreamer] avoid direct access to GstMessage structure field
10791         https://bugs.webkit.org/show_bug.cgi?id=69629
10792
10793         Reviewed by Martin Robinson.
10794
10795         Use gst_message_get_structure() instead of direct access to the
10796         structure field. No direct benefit apart from compatibility with
10797         GStreamer 0.11.
10798
10799         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
10800         (WebCore::gstGWorldSyncMessageCallback):
10801         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
10802         (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
10803         (WebCore::MediaPlayerPrivateGStreamer::mediaLocationChanged):
10804
10805 2011-10-07  Pavel Feldman  <pfeldman@google.com>
10806
10807         Web Inspector: add timeline panel to the compilation.
10808         https://bugs.webkit.org/show_bug.cgi?id=69628
10809
10810         Reviewed by Yury Semikhatsky.
10811
10812         * inspector/compile-front-end.sh:
10813         * inspector/front-end/SidebarTreeElement.js:
10814         (WebInspector.SidebarTreeElement):
10815         * inspector/front-end/SourceCSSTokenizer.js:
10816         (WebInspector.SourceCSSTokenizer.prototype.nextToken):
10817         * inspector/front-end/SourceCSSTokenizer.re2js:
10818         * inspector/front-end/SourceHTMLTokenizer.js:
10819         (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
10820         * inspector/front-end/SourceHTMLTokenizer.re2js:
10821         * inspector/front-end/SourceJavaScriptTokenizer.js:
10822         (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
10823         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
10824         * inspector/front-end/TimelineGrid.js:
10825         * inspector/front-end/TimelineOverviewPane.js:
10826         (WebInspector.TimelineOverviewPane.prototype._createTimelineCategoryStatusBarCheckbox):
10827         * inspector/front-end/TimelinePanel.js:
10828         (WebInspector.TimelinePanel.prototype._createEventDivider):
10829         (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
10830         (WebInspector.TimelinePanel.prototype._findParentRecord):
10831         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
10832         (WebInspector.TimelinePanel.prototype.updateMainViewWidth):
10833         (WebInspector.TimelinePanel.prototype.onResize):
10834         (WebInspector.TimelinePanel.prototype._windowChanged):
10835         (WebInspector.TimelinePanel.prototype._refreshRecords):
10836         (WebInspector.TimelineRecordGraphRow.prototype._onClick):
10837         (WebInspector.TimelinePanel.FormattedRecord):
10838         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
10839         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
10840
10841 2011-10-07  Sheriff Bot  <webkit.review.bot@gmail.com>
10842
10843         Unreviewed, rolling out r96892.
10844         http://trac.webkit.org/changeset/96892
10845         https://bugs.webkit.org/show_bug.cgi?id=69626
10846
10847         it broke windows canary bots (Requested by podivilov on
10848         #webkit).
10849
10850         * WebCore.gyp/scripts/rule_binding.py:
10851
10852 2011-10-07  Andreas Kling  <kling@webkit.org>
10853
10854         Shrink StyleInheritedData.
10855         https://bugs.webkit.org/show_bug.cgi?id=69625
10856
10857         Reviewed by Antti Koivisto.
10858
10859         Rearrange the members of StyleInheritedData to fold as much
10860         as possible into the padding at the end of RefCounted.
10861
10862         This shrinks StyleInheritedData by 8 bytes on 64-bit, reducing
10863         memory consumption by 500 kB when loading the full HTML5 spec.
10864
10865         * rendering/style/StyleInheritedData.cpp:
10866         (WebCore::StyleInheritedData::StyleInheritedData):
10867         * rendering/style/StyleInheritedData.h:
10868
10869 2011-10-07  Pavel Feldman  <pfeldman@google.com>
10870
10871         Web Inspector: make ScriptsPanel compile
10872         https://bugs.webkit.org/show_bug.cgi?id=69623
10873
10874         Reviewed by Yury Semikhatsky.
10875
10876         * inspector/compile-front-end.sh:
10877         * inspector/front-end/CallStackSidebarPane.js:
10878         (WebInspector.CallStackSidebarPane.prototype.update):
10879         (WebInspector.CallStackSidebarPane.prototype._placardSelected):
10880         * inspector/front-end/DebuggerModel.js:
10881         * inspector/front-end/JavaScriptSourceFrame.js:
10882         (WebInspector.JavaScriptSourceFrame):
10883         * inspector/front-end/KeyboardShortcut.js:
10884         * inspector/front-end/Object.js:
10885         * inspector/front-end/ObjectPropertiesSection.js:
10886         * inspector/front-end/ScopeChainSidebarPane.js:
10887         (WebInspector.ScopeChainSidebarPane.prototype.update):
10888         * inspector/front-end/ScriptsPanel.js:
10889         (WebInspector.ScriptsPanel.prototype._setScriptSourceIsBeingEdited):
10890         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
10891         (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
10892         (WebInspector.SourceFrameDelegateForScriptsPanel):
10893         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
10894         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.debuggingSupported):
10895         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint):
10896         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint):
10897         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint):
10898         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint):
10899         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine):
10900         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.canEditScriptSource):
10901         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSource):
10902         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSourceIsBeingEdited):
10903         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.debuggerPaused):
10904         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame):
10905         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult):
10906         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
10907         * inspector/front-end/StatusBarButton.js:
10908         * inspector/front-end/WatchExpressionsSidebarPane.js:
10909         (WebInspector.WatchExpressionsSection.prototype.update.appendResult):
10910         (WebInspector.WatchExpressionsSection.prototype.update):
10911         (WebInspector.WatchExpressionTreeElement.prototype.startEditing):
10912         * inspector/front-end/WorkerManager.js:
10913         (WebInspector.WorkerManager.prototype._openInspectorWindow):
10914         (WebInspector.WorkerManager.prototype._pageInspectorClosing):
10915         (WebInspector.DedicatedWorkerMessageForwarder.prototype._receiveMessage):
10916         * inspector/front-end/WorkersSidebarPane.js:
10917         (WebInspector.WorkersSidebarPane.prototype.removeWorker):
10918         * inspector/front-end/externs.js:
10919         (WebInspector.linkifyURL):
10920         (InjectedFakeWorker):
10921         * inspector/front-end/inspector.js:
10922
10923 2011-10-07  Sheriff Bot  <webkit.review.bot@gmail.com>
10924
10925         Unreviewed, rolling out r96879.
10926         http://trac.webkit.org/changeset/96879
10927         https://bugs.webkit.org/show_bug.cgi?id=69618
10928
10929         Broke CCLayerTreeHostTestShortlived1 on chromium mac.
10930         (Requested by podivilov on #webkit).
10931
10932         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
10933
10934 2011-10-07  Pavel Feldman  <pfeldman@google.com>
10935
10936         Web Inspector: add ResourcesPanel to the compilation.
10937         https://bugs.webkit.org/show_bug.cgi?id=69612
10938
10939         Reviewed by Yury Semikhatsky.
10940
10941         * inspector/compile-front-end.sh:
10942         * inspector/front-end/ApplicationCacheItemsView.js:
10943         (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
10944         * inspector/front-end/NetworkPanel.js:
10945         * inspector/front-end/ResourceView.js:
10946         * inspector/front-end/ResourcesPanel.js:
10947         (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
10948         (WebInspector.ResourcesPanel.prototype.showResource):
10949         (WebInspector.BaseStorageTreeElement.prototype.isEventWithinDisclosureTriangle):
10950         (WebInspector.FrameTreeElement.prototype.frameNavigated):
10951         (WebInspector.StorageCategoryView):
10952         (WebInspector.SearchResultsTreeElementsTraverser.prototype.last):
10953         * inspector/front-end/externs.js:
10954         (WebInspector.openRequestInNetworkPanel):
10955
10956 2011-10-07  Sheriff Bot  <webkit.review.bot@gmail.com>
10957
10958         Unreviewed, rolling out r96909.
10959         http://trac.webkit.org/changeset/96909
10960         https://bugs.webkit.org/show_bug.cgi?id=69616
10961
10962         Broke chromium mac compilation (Requested by podivilov on
10963         #webkit).
10964
10965         * platform/graphics/chromium/ContentLayerChromium.h:
10966
10967 2011-10-07  Vsevolod Vlasov  <vsevik@chromium.org>
10968
10969         Web Inspector: Element highlighting does not highlight padding/border/margin for inline elements.
10970         https://bugs.webkit.org/show_bug.cgi?id=69558
10971
10972         Reviewed by Pavel Feldman.
10973
10974         * inspector/DOMNodeHighlighter.cpp:
10975
10976 2011-10-07  Mario Sanchez Prada  <msanchez@igalia.com>
10977
10978         [GTK] Don't expose objects with unknown role on GTK
10979         https://bugs.webkit.org/show_bug.cgi?id=69561
10980
10981         Reviewed by Chris Fleizach.
10982
10983         Ignore accessibility objects in accessibilityPlatformIncludesObject.
10984
10985         Test: platform/gtk/accessibility/unknown-roles-not-exposed.html
10986
10987         * accessibility/gtk/AccessibilityObjectAtk.cpp:
10988         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
10989         For unknown accessibility objects, return IgnoreObject.
10990
10991 2011-10-07  Pavel Feldman  <pfeldman@chromium.org>
10992
10993         Web Inspector: add Elements and Network panels to the compilation
10994         https://bugs.webkit.org/show_bug.cgi?id=69604
10995
10996         Reviewed by Yury Semikhatsky.
10997
10998         * inspector/compile-front-end.sh:
10999         * inspector/front-end/BreakpointsSidebarPane.js:
11000         (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked):
11001         (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked):
11002         * inspector/front-end/DOMAgent.js:
11003         * inspector/front-end/DOMBreakpointsSidebarPane.js:
11004         * inspector/front-end/DataGrid.js:
11005         (WebInspector.DataGrid.prototype._startEditingConfig):
11006         * inspector/front-end/Drawer.js:
11007         * inspector/front-end/ElementsPanel.js:
11008         (WebInspector.ElementsPanel.prototype._hideSearchHighlights):
11009         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
11010         (WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes.collapseDimmed):
11011         (WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes):
11012         (WebInspector.ElementsPanel.prototype._registerShortcuts):
11013         * inspector/front-end/ElementsTreeOutline.js:
11014         (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
11015         (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
11016         (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
11017         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
11018         * inspector/front-end/GoToLineDialog.js:
11019         (WebInspector.GoToLineDialog._show):
11020         * inspector/front-end/MetricsSidebarPane.js:
11021         (WebInspector.MetricsSidebarPane.prototype.startEditing):
11022         * inspector/front-end/NetworkPanel.js:
11023         (WebInspector.NetworkLogView.prototype._onLoadEventFired):
11024         (WebInspector.NetworkLogView.prototype._domContentLoadedEventFired):
11025         (WebInspector.NetworkLogView.prototype._updateOffscreenRows):
11026         (WebInspector.NetworkLogView.prototype._removeAllNodeHighlights):
11027         (WebInspector.NetworkPanel.prototype._resourceByAnchor):
11028         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
11029         * inspector/front-end/ObjectPropertiesSection.js:
11030         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
11031         * inspector/front-end/Panel.js:
11032         * inspector/front-end/Popover.js:
11033         * inspector/front-end/SourceFrame.js:
11034         (WebInspector.SourceFrame.prototype._editBreakpointCondition):
11035         * inspector/front-end/StylesSidebarPane.js:
11036         (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
11037         (WebInspector.StylePropertyTreeElement.prototype):
11038         * inspector/front-end/TimelineGrid.js:
11039         * inspector/front-end/UIUtils.js:
11040         (WebInspector.EditingConfig):
11041         (WebInspector.startEditing.editingCancelled):
11042         (WebInspector.startEditing.editingCommitted):
11043         (WebInspector.formatLocalized):
11044         (WebInspector.openLinkExternallyLabel):
11045         (WebInspector.openInNetworkPanelLabel):
11046         (WebInspector.copyLinkAddressLabel):
11047         * inspector/front-end/externs.js:
11048         (WebInspector.extensionServer.notifyObjectSelected):
11049         (WebInspector.openResource):
11050         * inspector/front-end/inspector.js:
11051         (WebInspector.resourceForURL):
11052
11053 2011-10-07  Anna Cavender  <annacc@chromium.org>
11054
11055         Change enum value names for TextTrack::readyState and TextTrack::mode
11056         https://bugs.webkit.org/show_bug.cgi?id=69603
11057
11058         Reviewed by David Levin.
11059
11060         No new tests. No new functionality.
11061
11062         * html/LoadableTextTrack.cpp:
11063         (WebCore::LoadableTextTrack::trackLoadStarted):
11064         (WebCore::LoadableTextTrack::trackLoadError):
11065         (WebCore::LoadableTextTrack::trackLoadCompleted):
11066         * html/TextTrack.cpp:
11067         (WebCore::TextTrack::TextTrack):
11068         (WebCore::TextTrack::setMode):
11069         * html/TextTrack.h:
11070
11071 2011-10-07  Anna Cavender  <annacc@chromium.org>
11072
11073         Adding parens in WebVTTParser.cpp to appease compiler preferences.
11074         https://bugs.webkit.org/show_bug.cgi?id=69602
11075
11076         Reviewed by David Levin.
11077
11078         No new tests. No new functionality.
11079
11080         * html/track/WebVTTParser.cpp:
11081         (WebCore::WebVTTParser::constructTreeFromToken):
11082
11083 2011-10-06  Antoine Labour  <piman@chromium.org>
11084
11085         Webkit API for compositor
11086         https://bugs.webkit.org/show_bug.cgi?id=69107
11087
11088         Reviewed by Darin Fisher.
11089
11090         Covered by existing compositing tests.
11091
11092         * platform/graphics/chromium/ContentLayerChromium.h: 
11093
11094 2011-10-06  Kent Tamura  <tkent@chromium.org>
11095
11096         Remove SelectElement class
11097         https://bugs.webkit.org/show_bug.cgi?id=69518
11098
11099         Reviewed by Ryosuke Niwa.
11100
11101         SelectElement used to be an abstract class for HTMLSelectElement
11102         and WMLSelectElement. SelectElement is not needed anymore because
11103         WML was removed.
11104
11105         This patch just removes SelectElement by moving SelectElement
11106         functions to HTMLSelectElement.
11107
11108         No new tests. Just a refactoring.
11109
11110         * WebCore.vcproj/WebCore.vcproj:
11111         Rename dom\SelectElementWin.cpp to html\HTMLSelectElementWin.cpp.
11112         * accessibility/AccessibilityListBoxOption.cpp:
11113         (WebCore::AccessibilityListBoxOption::setSelected):
11114         Remove unnecessary cast.
11115         * accessibility/AccessibilityRenderObject.cpp:
11116         (WebCore::AccessibilityRenderObject::stringValue):
11117         Use HTMLSelectElement instead of SelectElement.
11118         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
11119         (optionFromSelection): ditto.
11120         (webkit_accessible_selection_get_selection_count): ditto.
11121         * accessibility/gtk/AXObjectCacheAtk.cpp:
11122         (notifyChildrenSelectionChange): ditto.
11123         * dom/OptionElement.cpp:
11124         (WebCore::OptionElement::optionIndex): ditto.
11125         * dom/OptionElement.h: ditto.
11126         * dom/SelectElement.cpp:
11127         (WebCore::SelectElementData::checkListItems): ditto.
11128         (WebCore::SelectElementData::listItems): ditto.
11129         * dom/SelectElementWin.cpp: Removed.
11130         * dom/SelectElement.h: Removed SelectElement class declaration.
11131         * html/HTMLSelectElement.cpp: Move functions from SelectElement.cpp.
11132         (WebCore::HTMLSelectElement::selectedIndex):
11133         Removed 'SelectElement::' because the function is moved to HTMLSelectElement.
11134         (WebCore::HTMLSelectElement::deselectItems): dito.
11135         (WebCore::HTMLSelectElement::setSelectedIndex): dito.
11136         (WebCore::HTMLSelectElement::setSelectedIndexByUser): ditto.
11137         (WebCore::HTMLSelectElement::activeSelectionEndListIndex): ditto.
11138         (WebCore::HTMLSelectElement::length): ditto.
11139         (WebCore::HTMLSelectElement::saveFormControlState): ditto.
11140         (WebCore::HTMLSelectElement::restoreFormControlState): ditto.
11141         (WebCore::HTMLSelectElement::parseMappedAttribute): ditto.
11142         (WebCore::HTMLSelectElement::selectAll): ditto.
11143         (WebCore::HTMLSelectElement::appendFormData): ditto.
11144         (WebCore::HTMLSelectElement::optionToListIndex): ditto.
11145         (WebCore::HTMLSelectElement::listToOptionIndex): ditto.
11146         (WebCore::HTMLSelectElement::recalcListItems): ditto.
11147         (WebCore::HTMLSelectElement::setRecalcListItems): ditto.
11148         (WebCore::HTMLSelectElement::reset): ditto.
11149         (WebCore::HTMLSelectElement::dispatchFocusEvent): ditto.
11150         (WebCore::HTMLSelectElement::dispatchBlurEvent): ditto.
11151         (WebCore::HTMLSelectElement::defaultEventHandler): ditto.
11152         (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): ditto.
11153         (WebCore::HTMLSelectElement::setActiveSelectionEndIndex): ditto.
11154         (WebCore::HTMLSelectElement::updateListBoxSelection): ditto.
11155         (WebCore::HTMLSelectElement::menuListOnChange): ditto.
11156         (WebCore::HTMLSelectElement::listBoxOnChange): ditto.
11157         (WebCore::HTMLSelectElement::saveLastSelection): ditto.
11158         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): ditto.
11159         (WebCore::HTMLSelectElement::scrollToSelection): ditto.
11160         (WebCore::HTMLSelectElement::insertedIntoTree): ditto.
11161         (WebCore::nextValidIndex): Moved from SelectElement.cpp.
11162         (WebCore::nextSelectableListIndex): ditto.
11163         (WebCore::previousSelectableListIndex): ditto.
11164         (WebCore::firstSelectableListIndex): ditto.
11165         (WebCore::lastSelectableListIndex): ditto.
11166         (WebCore::nextSelectableListIndexPageAway): ditto.
11167         (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer): ditto.
11168         (WebCore::HTMLSelectElement::parseMultipleAttribute): ditto.
11169         (WebCore::HTMLSelectElement::platformHandleKeydownEvent): ditto.
11170         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): ditto.
11171         (WebCore::HTMLSelectElement::updateSelectedState): ditto.
11172         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): ditto.
11173         (WebCore::HTMLSelectElement::lastSelectedListIndex): ditto.
11174         (WebCore::stripLeadingWhiteSpace): ditto.
11175         (WebCore::HTMLSelectElement::typeAheadFind): ditto.
11176         (WebCore::HTMLSelectElement::optionCount): ditto.
11177         (WebCore::toSelectElement): ditto.
11178         * html/HTMLSelectElementWin.cpp: Copied from Source/WebCore/dom/SelectElementWin.cpp.
11179         (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
11180         * html/HTMLSelectElement.h: Removed 'virtual' of SelectElement functions.
11181         (WebCore::HTMLSelectElement::size):
11182         (WebCore::HTMLSelectElement::multiple):
11183         (WebCore::HTMLSelectElement::listItems):
11184         (WebCore::HTMLSelectElement::updateValidity):
11185         * rendering/RenderListBox.cpp: Replace SelectElement with HTMLSelectElement
11186         (WebCore::RenderListBox::RenderListBox):
11187         (WebCore::RenderListBox::scrollToRevealSelection):
11188         (WebCore::RenderListBox::addFocusRingRects):
11189         (WebCore::RenderListBox::paintItemForeground):
11190         (WebCore::RenderListBox::paintItemBackground):
11191         (WebCore::RenderListBox::panScroll):
11192         (WebCore::RenderListBox::autoscroll):
11193         (WebCore::RenderListBox::valueChanged):
11194         * rendering/RenderMenuList.cpp: Replace SelectElement with HTMLSelectElement
11195         (WebCore::RenderMenuList::RenderMenuList):
11196         (WebCore::RenderMenuList::setTextFromOption):
11197         (WebCore::RenderMenuList::showPopup):
11198         (WebCore::RenderMenuList::valueChanged):
11199         (WebCore::RenderMenuList::listBoxSelectItem):
11200         (WebCore::RenderMenuList::multiple):
11201         (WebCore::RenderMenuList::didSetSelectedIndex):
11202         (WebCore::RenderMenuList::didUpdateActiveOption):
11203         (WebCore::RenderMenuList::itemText):
11204         (WebCore::RenderMenuList::itemAccessibilityText):
11205         (WebCore::RenderMenuList::itemToolTip):
11206         (WebCore::RenderMenuList::itemIsEnabled):
11207         (WebCore::RenderMenuList::itemStyle):
11208         (WebCore::RenderMenuList::itemBackgroundColor):
11209         (WebCore::RenderMenuList::listSize):
11210         (WebCore::RenderMenuList::selectedIndex):
11211         (WebCore::RenderMenuList::itemIsSeparator):
11212         (WebCore::RenderMenuList::itemIsLabel):
11213         (WebCore::RenderMenuList::itemIsSelected):
11214         (WebCore::RenderMenuList::setTextFromItem):
11215
11216 2011-10-06  Sheriff Bot  <webkit.review.bot@gmail.com>
11217
11218         Unreviewed, rolling out r96896.
11219         http://trac.webkit.org/changeset/96896
11220         https://bugs.webkit.org/show_bug.cgi?id=69601
11221
11222         broke windows and mac chromium builds (Requested by simonjam
11223         on #webkit).
11224
11225         * platform/graphics/chromium/ContentLayerChromium.h:
11226
11227 2011-10-06  Antoine Labour  <piman@chromium.org>
11228
11229         Webkit API for compositor
11230         https://bugs.webkit.org/show_bug.cgi?id=69107
11231
11232         Reviewed by Darin Fisher.
11233
11234         Covered by existing compositing tests.
11235
11236         * platform/graphics/chromium/ContentLayerChromium.h: 
11237
11238 2011-10-06  Joseph Pecoraro  <joepeck@webkit.org>
11239
11240         Reviewed by Kent Tamura.
11241
11242         Pass "accept" mime type information into FileChooser at all call sites
11243         https://bugs.webkit.org/show_bug.cgi?id=69592
11244
11245         No new tests. This only exposes some more information to
11246         WebKit ports, no functionality change in WebCore.
11247
11248         * html/FileInputType.cpp:
11249         (WebCore::FileInputType::receiveDropForDirectoryUpload):
11250
11251 2011-10-06  Kent Tamura  <tkent@chromium.org>
11252
11253         [JSC binding] Fix inconsistent behavior of DOMStringMap
11254         https://bugs.webkit.org/show_bug.cgi?id=53752
11255
11256         Reviewed by Darin Adler.
11257
11258         The dataset behavior was inconsistent. The get operation handled
11259         data-* attributes first, and the put and delete operations handled
11260         JavaScript properties first.
11261
11262         Like Firefox and Opera, the put and delete operations should
11263         handle data-* attribute first.
11264
11265         * bindings/js/JSDOMStringMapCustom.cpp:
11266         (WebCore::JSDOMStringMap::deleteProperty):
11267          Handles DOMStringMap first, then returns false if the DOMStringMap makes an error.
11268         (WebCore::JSDOMStringMap::putDelegate): ditto.
11269
11270 2011-10-06  Nico Weber  <thakis@chromium.org>
11271
11272         [chromium] Let rule_binding use os.execvp() instead of subprocess.call() to spawn fewer processes.
11273         https://bugs.webkit.org/show_bug.cgi?id=69589
11274
11275         Reviewed by Adam Barth.
11276
11277         When building with `make -j40`, all the binding rules are built en bloc. Since this script currently
11278         uses subprocess.call(), that actually spawns 80 processes at once. OS X has a max process limit of
11279         255 by default, so the build used to fail with
11280         "open2: fork failed: Resource temporarily unavailable at ../bindings/scripts/preprocessor.pm line 60"
11281         As a fix, use execvp() instead, which replaces the current process instead of spawning a new one.
11282
11283         * WebCore.gyp/scripts/rule_binding.py:
11284
11285 2011-10-06  Anders Carlsson  <andersca@apple.com>
11286
11287         When building with clang, enable -Wglobal-constructors and -Wexit-time-destructors
11288         https://bugs.webkit.org/show_bug.cgi?id=69586
11289
11290         Reviewed by Darin Adler.
11291
11292         * Configurations/Base.xcconfig:
11293         Add -Wglobal-constructors and -Wexit-time-destructors when building with clang.
11294         
11295         * WebCore.xcodeproj/project.pbxproj:
11296         When building with clang, we don't need to run the check-for-global-initializers and
11297         check-for-exit-time-destructors anymore.
11298         
11299         * platform/graphics/filters/FEGaussianBlur.cpp:
11300         (gaussianKernelFactor):
11301         (WebCore::FEGaussianBlur::calculateKernelSize):
11302         (WebCore::FEGaussianBlur::calculateStdDeviation):
11303         Change the gaussian kernel factor global to be an inline function instead.
11304
11305 2011-10-06  Anders Carlsson  <andersca@apple.com>
11306
11307         Add DEFINE_DEBUG_ONLY_GLOBAL for globals that should be defined in debug builds
11308         https://bugs.webkit.org/show_bug.cgi?id=69584
11309
11310         Reviewed by Darin Adler.
11311
11312         Adopt the DEFINE_DEBUG_ONLY_GLOBAL macro.
11313
11314         * bindings/js/JSLazyEventListener.cpp:
11315         * dom/Node.cpp:
11316         * dom/Range.cpp:
11317         * history/CachedPage.cpp:
11318         * loader/SubresourceLoader.cpp:
11319         * loader/cache/CachedResource.cpp:
11320         * page/Frame.cpp:
11321         * page/Page.cpp:
11322         * rendering/BidiRun.cpp:
11323         * rendering/RenderObject.cpp:
11324         * svg/SVGElementInstance.cpp:
11325         * xml/XMLHttpRequest.cpp:
11326
11327 2011-10-06  James Robinson  <jamesr@chromium.org>
11328
11329         [chromium] Remove USE(THREADED_COMPOSITING) from the tree
11330         https://bugs.webkit.org/show_bug.cgi?id=69489
11331
11332         Reviewed by Darin Fisher.
11333
11334         This macro isn't needed any more since the logic it guarded is guarded by a runtime switch.
11335
11336         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
11337
11338 2011-10-06  David Grogan  <dgrogan@chromium.org>
11339
11340         Return null for the value of IDB key cursors instead of ASSERTing
11341         https://bugs.webkit.org/show_bug.cgi?id=69131
11342         
11343         This is in support of the IndexedDB performance improvement here:
11344         http://codereview.chromium.org/7834006/
11345
11346         Reviewed by Tony Chang.
11347
11348         * storage/IDBCursorBackendImpl.cpp:
11349         (WebCore::IDBCursorBackendImpl::value):
11350
11351 2011-10-06  Alexey Proskuryakov  <ap@apple.com>
11352
11353         [Mac] Should be able to scroll embedded PDFs using mouse
11354         https://bugs.webkit.org/show_bug.cgi?id=69579
11355
11356         Reviewed by Darin Adler.
11357
11358         Hit testing doesn't find scrollbars installed by a plug-in, so mouse events don't work.
11359
11360         As we want to use WebKit scrollbars with PDF plug-in, a cleaner long-term solution would be
11361         to have a base class under PluginViewBase that can handle scrolling instead of doing that
11362         in PluginView and Plugin.
11363
11364         * plugins/PluginViewBase.h:
11365         (WebCore::PluginViewBase::horizontalScrollbar):
11366         (WebCore::PluginViewBase::verticalScrollbar):
11367         Added accessors for scrollbars installed by plug-in.
11368
11369         * rendering/nodeAtPoint.cpp: (WebCore::RenderEmbeddedObject::nodeAtPoint):
11370         Like RenderLayer, add scrollbars to hit result after normal  hit testing.
11371
11372         * rendering/RenderEmbeddedObject.h: Added a nodeAtPoint override.
11373
11374         * rendering/RenderWidget.h: Made nodeAtPoint() protected instead of private, so that
11375         RenderEmbeddedObject could call it.
11376
11377 2011-10-06  Dan Bernstein  <mitz@apple.com>
11378
11379         <rdar://problem/9717490> Flash of white when navigating daringfireball.net
11380         https://bugs.webkit.org/show_bug.cgi?id=69581
11381
11382         Reviewed by Darin Adler.
11383
11384         * platform/ScrollView.cpp:
11385         (WebCore::ScrollView::updateScrollbars): Moved the calls to Scrollbar::setEnabled() into the code
11386         section where invalidation is suppressed if necessary, so that they do not trigger premature invalidation.
11387
11388 2011-10-06  Dan Bernstein  <mitz@apple.com>
11389
11390         Added a comment explaining code added in r96834.
11391
11392         Suggested by Darin Adler.
11393
11394         * editing/FrameSelection.cpp:
11395         (WebCore::FrameSelection::updateAppearance):
11396
11397 2011-10-05  Ryosuke Niwa  <rniwa@webkit.org>
11398
11399         Deleting line break before h1 converts h1 to span
11400         https://bugs.webkit.org/show_bug.cgi?id=45784
11401
11402         Reviewed by Enrica Casucci.
11403
11404         This patch fundamentally alters the kind of styles we preserve while merging or moving paragraphs.
11405         StylizedMarkupAccumulator no longer wraps nodes by computed style when it's not annotating for interchange.
11406         Instead, it accumulates implicit and inline styles of ancestors of the serialized contents.
11407
11408         The most significant code change is in StyledMarkupAccumulator::serializeNodes where we setup m_wrappingStyle
11409         by merging implicit and inline style of ancestors with mergeInlineAndImplicitStyleOfElement. Because it walks up
11410         the DOM tree upwards, it should not be overriding any CSS properties. Consequently, mergeStyle,
11411         mergeInlineStyleOfElement, and mergeInlineAndImplicitStyleOfElement are modified to take CSSPropertyOverrideMode.
11412
11413         New behavior matches that of Internet Explorer and Firefox when merging paragraphs.
11414
11415         Tests: editing/deleting/merge-paragraph-from-address.html
11416                editing/deleting/merge-paragraph-from-h6-with-style-2.html
11417                editing/deleting/merge-paragraph-from-h6-with-style.html
11418                editing/deleting/merge-paragraph-from-h6.html
11419                editing/deleting/merge-paragraph-from-listing.html
11420                editing/deleting/merge-paragraph-from-p-with-style-2.html
11421                editing/deleting/merge-paragraph-from-p-with-style-3.html
11422                editing/deleting/merge-paragraph-from-p-with-style.html
11423                editing/deleting/merge-paragraph-into-h1-with-style.html
11424                editing/deleting/merge-paragraph-into-h1.html
11425                editing/deleting/merge-paragraph-into-pre.html
11426
11427         * css/CSSValueList.cpp:
11428         (WebCore::CSSValueList::hasValue): Made const.
11429         * css/CSSValueList.h:
11430         * editing/ApplyStyleCommand.cpp:
11431         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Calls mergeInlineStyleOfElement.
11432         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Ditto.
11433         * editing/EditingStyle.cpp:
11434         (WebCore::copyEditingProperties): Takes a boolean includeBackgroundColor.
11435         (WebCore::isEditingProperty): Extracted from elementIsStyledSpanOrHTMLEquivalent.
11436         (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent): Calls isEditingProperty.
11437         (WebCore::EditingStyle::mergeTypingStyle): Calls mergeStyle.
11438         (WebCore::EditingStyle::mergeInlineStyleOfElement): Takes CSSPropertyOverrideMode.
11439         (WebCore::elementMatchesAndPropertyIsNotInInlineStyleDecl): Added.
11440         (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement): Added.
11441         (WebCore::mergeTextDecorationValues): Extracted from mergeStyle.
11442         (WebCore::EditingStyle::mergeStyle): Takes CSSPropertyOverrideMode.
11443         * editing/EditingStyle.h:
11444         * editing/ReplaceSelectionCommand.cpp:
11445         (WebCore::nodeToSplitToAvoidPastingIntoInlineNodesWithStyle): Extracted from doApply.
11446         (WebCore::ReplaceSelectionCommand::doApply): Calls nodeToSplitToAvoidPastingIntoInlineNodesWithStyle.
11447         (WebCore::ReplaceSelectionCommand::performTrivialReplace): Exit early when we need to split the tree to avoid
11448         pasting into inline nodes with style. Also remove a collapsed or spurious br.
11449         * editing/markup.cpp:
11450         (WebCore::StyledMarkupAccumulator::serializeNodes):
11451
11452 2011-10-06  Abhishek Arya  <inferno@chromium.org>
11453
11454         Crash in VisiblePosition::canonicalPosition.
11455         https://bugs.webkit.org/show_bug.cgi?id=69568
11456
11457         Reviewed by Ryosuke Niwa.
11458
11459         Move the position's containerNode calculation after layout is
11460         complete(in updateLayoutIgnorePendingStylesheets).        
11461
11462         Test: editing/selection/selection-plugin-clear-crash.html
11463
11464         * editing/VisiblePosition.cpp:
11465         (WebCore::VisiblePosition::canonicalPosition):
11466
11467 2011-10-06  Sheriff Bot  <webkit.review.bot@gmail.com>
11468
11469         Unreviewed, rolling out r96861.
11470         http://trac.webkit.org/changeset/96861
11471         https://bugs.webkit.org/show_bug.cgi?id=69573
11472
11473         This patch didn't compile on windows (Requested by annacc on
11474         #webkit).
11475
11476         * html/track/WebVTTParser.cpp:
11477         (WebCore::WebVTTParser::constructTreeFromToken):
11478
11479 2011-10-06  Anna Cavender  <annacc@chromium.org>
11480
11481         Adding parens in WebVTTParser.cpp to appease compiler preferences.
11482         https://bugs.webkit.org/show_bug.cgi?id=69460
11483
11484         Reviewed by David Levin.
11485
11486         No new tests. No new functionality.
11487
11488         * html/track/WebVTTParser.cpp:
11489         (WebCore::WebVTTParser::constructTreeFromToken):
11490
11491 2011-10-06  Fady Samuel  <fsamuel@chromium.org>
11492
11493         Code clean-up: Make RenderObject::absoluteBoundingBoxRect and associated methods const and make its parameter useTransforms no longer default to false
11494         https://bugs.webkit.org/show_bug.cgi?id=69009
11495
11496         Reviewed by Simon Fraser.
11497
11498         Upcoming patches may make use of absoluteBoundingBoxRect on a const RenderObject, so this needed to be fixed.
11499         Making useTransforms default to true instead of false and replacing instances of absoluteBoundingBoxRect() to
11500         absoluteBoundingBoxRectIgnoringTransforms() partially addreses // FIXME: useTransforms should go away eventually.
11501
11502         * WebCore.exp.in:
11503         * dom/Element.cpp:
11504         (WebCore::Element::screenRect):
11505         * dom/Node.cpp:
11506         (WebCore::Node::getRect):
11507         (WebCore::Node::renderRect):
11508         * html/shadow/SliderThumbElement.cpp:
11509         (WebCore::SliderThumbElement::setPositionFromPoint):
11510         * html/shadow/TextControlInnerElements.cpp:
11511         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
11512         * inspector/DOMNodeHighlighter.cpp:
11513         * plugins/IFrameShimSupport.cpp:
11514         (WebCore::getPluginOcclusions):
11515         * rendering/RenderBlock.cpp:
11516         (WebCore::RenderBlock::absoluteRects):
11517         (WebCore::RenderBlock::absoluteQuads):
11518         * rendering/RenderBlock.h:
11519         * rendering/RenderBox.cpp:
11520         (WebCore::RenderBox::absoluteRects):
11521         (WebCore::RenderBox::absoluteQuads):
11522         * rendering/RenderBox.h:
11523         * rendering/RenderFileUploadControl.cpp:
11524         (WebCore::RenderFileUploadControl::paintObject):
11525         * rendering/RenderIFrame.cpp:
11526         (WebCore::RenderIFrame::flattenFrame):
11527         * rendering/RenderInline.cpp:
11528         (WebCore::RenderInline::absoluteRects):
11529         (WebCore::RenderInline::culledInlineAbsoluteRects):
11530         (WebCore::RenderInline::absoluteQuads):
11531         (WebCore::RenderInline::culledInlineAbsoluteQuads):
11532         * rendering/RenderInline.h:
11533         * rendering/RenderMenuList.cpp:
11534         (WebCore::RenderMenuList::showPopup):
11535         * rendering/RenderObject.cpp:
11536         (WebCore::RenderObject::absoluteBoundingBoxRect):
11537         (WebCore::RenderObject::addAbsoluteRectForLayer):
11538         (WebCore::RenderObject::paintingRootRect):
11539         * rendering/RenderObject.h:
11540         (WebCore::RenderObject::absoluteRects):
11541         (WebCore::RenderObject::absoluteBoundingBoxRectIgnoringTransforms):
11542         (WebCore::RenderObject::absoluteQuads):
11543         * rendering/RenderText.cpp:
11544         (WebCore::RenderText::absoluteRects):
11545         (WebCore::RenderText::absoluteQuads):
11546         * rendering/RenderText.h:
11547         * rendering/RenderTextControlSingleLine.cpp:
11548         (WebCore::RenderTextControlSingleLine::showPopup):
11549         * rendering/RenderThemeSafari.cpp:
11550         (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
11551         (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
11552         (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
11553         * rendering/RenderView.cpp:
11554         (WebCore::RenderView::absoluteRects):
11555         (WebCore::RenderView::absoluteQuads):
11556         * rendering/RenderView.h:
11557         * rendering/svg/RenderSVGBlock.cpp:
11558         (WebCore::RenderSVGBlock::absoluteRects):
11559         * rendering/svg/RenderSVGBlock.h:
11560         * rendering/svg/RenderSVGHiddenContainer.cpp:
11561         (WebCore::RenderSVGHiddenContainer::absoluteQuads):
11562         * rendering/svg/RenderSVGHiddenContainer.h:
11563         * rendering/svg/RenderSVGInline.cpp:
11564         (WebCore::RenderSVGInline::absoluteQuads):
11565         * rendering/svg/RenderSVGInline.h:
11566         * rendering/svg/RenderSVGModelObject.cpp:
11567         (WebCore::RenderSVGModelObject::absoluteRects):
11568         (WebCore::RenderSVGModelObject::absoluteQuads):
11569         * rendering/svg/RenderSVGModelObject.h:
11570         * rendering/svg/RenderSVGText.cpp:
11571         (WebCore::RenderSVGText::absoluteQuads):
11572         * rendering/svg/RenderSVGText.h:
11573         * testing/Internals.cpp:
11574         (WebCore::Internals::boundingBox):
11575
11576 2011-10-06  Simon Hausmann  <simon.hausmann@nokia.com>
11577
11578         [Qt][Wk2] Fix build with Qt 5 when QtScript is built as standalone module
11579         https://bugs.webkit.org/show_bug.cgi?id=69520
11580
11581         Reviewed by Csaba Osztrogonác.
11582
11583         * WebCore.pri: Use qt5 scope.
11584         * WebCore.pro: Use qt5 scope and pull in QtScript for the time being.
11585
11586 2011-10-06  Tony Chang  <tony@chromium.org>
11587
11588         last frame of a multipart response is not displayed
11589         https://bugs.webkit.org/show_bug.cgi?id=69449
11590
11591         Reviewed by Adam Barth.
11592
11593         Test: http/tests/multipart/load-last-non-html-frame.php
11594
11595         * loader/DocumentLoader.cpp:
11596         (WebCore::DocumentLoader::maybeFinishLoadingMultipartContent): for non-progressive load pages, commit the load so the
11597             last frame will be displayed.
11598         * loader/DocumentLoader.h:
11599         * loader/MainResourceLoader.cpp:
11600         (WebCore::MainResourceLoader::didFinishLoading):
11601
11602 2011-10-06  Gavin Peters  <gavinp@chromium.org>
11603
11604         conditionalize m_cachedScript stacks to just Chromium port
11605         https://bugs.webkit.org/show_bug.cgi?id=69537
11606
11607         New stack saving telemetry code in ScriptElement shouldn't have
11608         been put in all ports; just narrowing it to the chromium port will
11609         save other ports the memory hit of this diagnostic code.
11610
11611         Reviewed by Nate Chapin.
11612
11613         No new tests.
11614
11615         * dom/ScriptElement.cpp:
11616         (WebCore::ScriptElement::ScriptElement):
11617         (WebCore::ScriptElement::requestScript):
11618         (WebCore::ScriptElement::stopLoadRequest):
11619         (WebCore::ScriptElement::notifyFinished):
11620         * dom/ScriptElement.h:
11621
11622 2011-10-06  Arthur Hsu  <arthurhsu@chromium.org>
11623
11624         Ensure font loaded before calling Skia to drawPosText in Chrome sandbox
11625         https://bugs.webkit.org/show_bug.cgi?id=69370
11626
11627         Reviewed by James Robinson.
11628
11629         * platform/graphics/chromium/FontChromiumWin.cpp:
11630         (WebCore::Font::drawGlyphs):
11631
11632 2011-10-06  Chris Rogers  <crogers@google.com>
11633
11634         BiquadFilterNode must not reset filter state if type attribute is set to the same type
11635         https://bugs.webkit.org/show_bug.cgi?id=69485
11636
11637         Reviewed by Kenneth Russell.
11638
11639         No new tests.  This particular case is difficult to test with a layout test using OfflineAudioContext.
11640
11641         * webaudio/BiquadProcessor.cpp:
11642         (WebCore::BiquadProcessor::setType):
11643         * webaudio/BiquadProcessor.h:
11644
11645 2011-10-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
11646
11647         [EFL] Do not create cairo surfaces with the wrong size for form elements
11648         https://bugs.webkit.org/show_bug.cgi?id=69533
11649
11650         Reviewed by Ryosuke Niwa.
11651
11652         RenderThemeEfl::cacheThemePartResizeAndReset resizes the Ecore_Evas
11653         associated with an entry, but did not reset the `size` attribute of the
11654         struct -- in practice, this meant the subsequent call to
11655         themePartCacheEntrySurfaceCreate would create a cairo surface with the
11656         previous size, thus rendering an element with the wrong size.
11657
11658         No new tests, this is triggered by running running pixel tests for
11659         running, in this order, fast/forms/button-sizes.html,
11660         fast/forms/input-appearance-preventDefault.html,
11661         fast/forms/input-appearance-spinbutton-disabled-readonly.html,
11662         fast/forms/input-appearance-width.html,
11663         fast/forms/input-button-sizes.html,
11664         fast/forms/input-placeholder-text-indent.html and
11665         fast/forms/input-text-click-inside.html (!).
11666
11667         * platform/efl/RenderThemeEfl.cpp:
11668         (WebCore::RenderThemeEfl::cacheThemePartResizeAndReset): Reset the
11669         size attribute when resizing the canvas.
11670
11671 2011-10-06  Chris Rogers  <crogers@google.com>
11672
11673         Make sure OfflineAudioContext can not be created with a sample-rate less than 44.1KHz
11674         https://bugs.webkit.org/show_bug.cgi?id=69483
11675
11676         Reviewed by Kenneth Russell.
11677
11678         No new tests.
11679
11680         * webaudio/AudioBuffer.cpp:
11681         (WebCore::AudioBuffer::create):
11682         * webaudio/AudioContext.cpp:
11683         (WebCore::AudioContext::createBuffer):
11684
11685 2011-10-06  David Hyatt  <hyatt@apple.com>
11686
11687         https://bugs.webkit.org/show_bug.cgi?id=69544
11688         
11689         [CSS3 Regions] Compute the starting and ending regions of a block, so that we can clamp
11690         descendants to those regions. This is preparation for having true overflow in the boxes
11691         in each region, and it's also a performance optimization to reduce the amount of
11692         region walking that the RenderFlowThread is doing.
11693
11694         Add a range map to RenderFlowThread to cache the start/end regions for each box.
11695         
11696         Amend everyone who calls renderRegionForLine to pass in the box that is making the query.
11697         This box is then used to clamp to start and end regions so that any regions outside of that
11698         range will never be examined.
11699
11700         Reviewed by Dan Bernstein.
11701
11702         Test: fast/regions/top-overflow-out-of-second-region.html
11703
11704         * rendering/RenderBlock.cpp:
11705         (WebCore::RenderBlock::layoutBlock):
11706         (WebCore::RenderBlock::hasNextPage):
11707         (WebCore::RenderBlock::pageLogicalHeightForOffset):
11708         (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
11709         (WebCore::RenderBlock::regionAtBlockOffset):
11710         * rendering/RenderFlowThread.cpp:
11711         (WebCore::RenderFlowThread::~RenderFlowThread):
11712         (WebCore::RenderFlowThread::layout):
11713         (WebCore::RenderFlowThread::renderRegionForLine):
11714         (WebCore::RenderFlowThread::regionLogicalWidthForLine):
11715         (WebCore::RenderFlowThread::regionLogicalHeightForLine):
11716         (WebCore::RenderFlowThread::regionRemainingLogicalHeightForLine):
11717         (WebCore::RenderFlowThread::mapFromFlowToRegion):
11718         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
11719         (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
11720         (WebCore::RenderFlowThread::setRegionRangeForBox):
11721         (WebCore::RenderFlowThread::getRegionRangeForBox):
11722         * rendering/RenderFlowThread.h:
11723         * rendering/RenderRegion.cpp:
11724         (WebCore::RenderRegion::takeRenderBoxRegionInfo):
11725         (WebCore::RenderRegion::removeRenderBoxRegionInfo):
11726         * rendering/RenderRegion.h:
11727
11728 2011-10-05  Gavin Barraclough  <barraclough@apple.com>
11729
11730         Add explicit JSGlobalThis type.
11731         https://bugs.webkit.org/show_bug.cgi?id=69478
11732
11733         Reviewed by Darin Adler.
11734
11735         JSC supports a split global object, as used by WebCore for the Window. As a stage
11736         of making this visible to JSC, make it so that if the global this value is not the
11737         global object itself, it must be a subclass of JSGlobalThis.
11738
11739         * ForwardingHeaders/runtime/JSGlobalThis.h: Added.
11740             - Added forwarding header.
11741         * bindings/js/JSDOMGlobalObject.cpp:
11742         (WebCore::JSDOMGlobalObject::finishCreation):
11743         * bindings/js/JSDOMGlobalObject.h:
11744             - finishCreation takes a JSGlobalThis, or thisValue is implicit.
11745         * bindings/js/JSDOMWindowShell.h:
11746             - Make the window shell a subclass of JSGlobalThis.
11747         * bindings/js/JSWorkerContextBase.cpp:
11748         (WebCore::JSWorkerContextBase::finishCreation):
11749             - Don't pass the thisValue to JSGlobalObject::finishCreation.
11750         * bindings/js/JSWorkerContextBase.h:
11751         * bindings/scripts/CodeGeneratorJS.pm:
11752         (GenerateHeader):
11753             - Don't pass the thisValue to JSGlobalObject::finishCreation,
11754               for worker contexts.
11755
11756 2011-10-06  Anna Cavender  <annacc@chromium.org>
11757
11758         Fix CodeGeneratorV8 for EnabledAtRuntime when class has no parent class.
11759         https://bugs.webkit.org/show_bug.cgi?id=69480
11760
11761         Reviewed by Adam Barth.
11762
11763         No new tests. No new functionality, yet.
11764
11765         * bindings/scripts/CodeGeneratorV8.pm:
11766
11767 2011-10-06  Dan Bernstein  <mitz@apple.com>
11768
11769         <rdar://problem/10232866> Assertion failure beneath blockSelectionGaps() when a selected node is removed
11770
11771         Reviewed by Ryosuke Niwa.
11772
11773         Test: editing/selection/invalid-in-RenderView.html
11774
11775         * editing/FrameSelection.cpp:
11776         (WebCore::FrameSelection::updateAppearance): Ensure that the VisibleSelection used to set the selection
11777         in the RenderView is valid, by reconstructing it from the current selection.
11778
11779 2011-10-06  Andreas Kling  <kling@webkit.org>
11780
11781         InlineBox's virtualLogicalHeight() partially limited to builds with SVG.
11782         https://bugs.webkit.org/show_bug.cgi?id=69538
11783
11784         Reviewed by Dan Bernstein.
11785
11786         Remove erroneous ENABLE(SVG) guards around the initialization and use
11787         of InlineBox::hasVirtualLogicalHeight.
11788
11789         This variable is used by TrailingFloatsRootInlineBox and should always
11790         be respected regardless of SVG support.
11791
11792         * rendering/InlineBox.cpp:
11793         (WebCore::InlineBox::logicalHeight):
11794         * rendering/InlineBox.h:
11795         (WebCore::InlineBox::InlineBox):
11796
11797 2011-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
11798
11799         [GTK] Implement cache model for WebKit2
11800         https://bugs.webkit.org/show_bug.cgi?id=68434
11801
11802         Reviewed by Martin Robinson.
11803
11804         Add a function to FileSystem to get the free space of the file
11805         system where the given path is on.
11806
11807         * platform/FileSystem.h:
11808         * platform/gtk/FileSystemGtk.cpp:
11809         (WebCore::getVolumeFreeSizeForPath):
11810
11811 2011-10-06  Sergey Glazunov  <serg.glazunov@gmail.com>
11812
11813         Add check for JavaScript URLs in HTMLPlugInImageElement::allowedToLoadFrameURL
11814         https://bugs.webkit.org/show_bug.cgi?id=68813
11815
11816         Reviewed by Adam Barth.
11817
11818         Test: http/tests/security/xss-DENIED-object-element.html
11819
11820         * html/HTMLPlugInImageElement.cpp:
11821         (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):
11822
11823 2011-10-06  Yury Semikhatsky  <yurys@chromium.org>
11824
11825         Web Inspector: avoid assertion failure in ~InspectorDebuggerAgent in case of workers
11826         https://bugs.webkit.org/show_bug.cgi?id=69534
11827
11828         Make sure frontend is disconnected before WorkerInspectorController is destroyed.
11829
11830         Reviewed by Pavel Feldman.
11831
11832         * inspector/WorkerInspectorController.cpp:
11833         (WebCore::WorkerInspectorController::~WorkerInspectorController):
11834
11835 2011-10-05  Alexey Proskuryakov  <ap@apple.com>
11836
11837         https://bugs.webkit.org/show_bug.cgi?id=69492
11838         [Mac] Should be able to scroll embedded PDFs from keyboard
11839
11840         Reviewed by Darin Adler.
11841
11842         * WebCore.exp.in: Export ScrollableArea::scroll.
11843
11844         * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::defaultEventHandler): Call base
11845         class default event handler, so that events on focused plug-in elements would fall through
11846         to EventHandler::defaultKeyboardEventHandler.
11847
11848         * plugins/PluginViewBase.h: (WebCore::PluginViewBase::scroll): Added a method that's called
11849         on a plug-in when WebCore asks it to scroll. Plug-in cannot really know what key events
11850         result in scroll actions.
11851
11852         * rendering/RenderEmbeddedObject.cpp:
11853         (WebCore::RenderEmbeddedObject::scroll):
11854         (WebCore::RenderEmbeddedObject::logicalScroll):
11855         * rendering/RenderEmbeddedObject.h:
11856         Ask plug-in to scroll when EventHandler::scrollOverflow() is called.
11857
11858 2011-10-06  Konstantin Scheglov  <scheglov@google.com>
11859
11860         REGRESSION (r95852?): Disappearing Border on bugs.webkit.org attachments <table>
11861         https://bugs.webkit.org/show_bug.cgi?id=69296
11862
11863         Reviewed by David Hyatt.
11864
11865         Test: fast/table/border-collapsing/cached-69296.html
11866
11867         Remember BorderValue in CollapsedBorderValue by value.
11868         See https://bugs.webkit.org/show_bug.cgi?id=69296#c7 for motivation.
11869
11870         * rendering/style/CollapsedBorderValue.h:
11871         (WebCore::CollapsedBorderValue::CollapsedBorderValue):
11872         (WebCore::CollapsedBorderValue::width):
11873         (WebCore::CollapsedBorderValue::style):
11874         (WebCore::CollapsedBorderValue::exists):
11875         (WebCore::CollapsedBorderValue::isTransparent):
11876         (WebCore::CollapsedBorderValue::operator==):
11877         * rendering/RenderTableCell.cpp:
11878         (WebCore::RenderTableCell::collapsedStartBorder):
11879         (WebCore::RenderTableCell::collapsedEndBorder):
11880         (WebCore::RenderTableCell::collapsedBeforeBorder):
11881         (WebCore::RenderTableCell::collapsedAfterBorder):
11882
11883 2011-10-06  Gavin Peters  <gavinp@chromium.org>
11884
11885         save resource zeroing stacks in ScriptElement for debugging
11886         https://bugs.webkit.org/show_bug.cgi?id=69453
11887
11888         The state machine tracking how m_cachedScript gets zeroed shows that sometimes we get
11889         two notifyFinished() events in a ScriptElement, which can crash chrome (see chrome bug
11890         75604).  This patch will save a stack in the ScriptElement when this happens, so that if
11891         we do later crash, we can see how we did the first zeroing.
11892
11893         See http://code.google.com/p/chromium/issues/detail?id=75604 for the chromium bug that
11894         this change will help track down.
11895
11896         Reviewed by Nate Chapin.
11897
11898         No new tests, this shouldn't affect output at all, and isn't particularly testable.
11899
11900         * dom/ScriptElement.cpp:
11901         (WebCore::ScriptElement::ScriptElement):
11902         (WebCore::ScriptElement::stopLoadRequest):
11903         (WebCore::ScriptElement::notifyFinished):
11904         * dom/ScriptElement.h:
11905
11906 2011-10-06  Rémi Duraffort  <remi.duraffort@st.com>
11907
11908         Fix compilation by adding some missing ENABLE(VIDEO|XSLT)
11909         https://bugs.webkit.org/show_bug.cgi?id=69522
11910
11911         Unreviewed build fix
11912
11913         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
11914         * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
11915         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
11916
11917 2011-10-06  Pavel Feldman  <pfeldman@google.com>
11918
11919         Web Inspector: add Styles and Metrics sidebars to the compilation.
11920         https://bugs.webkit.org/show_bug.cgi?id=69529
11921
11922         Reviewed by Yury Semikhatsky.
11923
11924         * inspector/compile-front-end.sh:
11925         * inspector/front-end/CSSCompletions.js:
11926         (WebInspector.CSSCompletions.requestCSSNameCompletions):
11927         * inspector/front-end/CSSKeywordCompletions.js:
11928         (WebInspector.CSSKeywordCompletions.forProperty):
11929         (WebInspector.CSSKeywordCompletions.isColorAwareProperty):
11930         * inspector/front-end/Checkbox.js:
11931         * inspector/front-end/ElementsPanel.js:
11932         * inspector/front-end/MetricsSidebarPane.js:
11933         (WebInspector.MetricsSidebarPane.prototype._updateMetrics):
11934         (WebInspector.MetricsSidebarPane.prototype.startEditing):
11935         (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
11936         * inspector/front-end/SourceCSSTokenizer.js:
11937         (WebInspector.SourceCSSTokenizer):
11938         * inspector/front-end/SourceCSSTokenizer.re2js:
11939         * inspector/front-end/StylesSidebarPane.js:
11940         (WebInspector.StylesSidebarPane.prototype.update):
11941         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
11942         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
11943         (WebInspector.StylePropertiesSection.prototype.onpopulate):
11944         (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
11945         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
11946         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
11947         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
11948         (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
11949         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
11950         (WebInspector.StylePropertyTreeElement.prototype):
11951         * inspector/front-end/externs.js:
11952         (WebInspector.linkifyResourceAsNode):
11953         (Element.prototype.scrollIntoViewIfNeeded):
11954         (Element.prototype.selectionLeftOffset):
11955         * inspector/front-end/inspector.js:
11956         * inspector/front-end/utilities.js:
11957
11958 2011-10-06  Pavel Feldman  <pfeldman@google.com>
11959
11960         Web Inspector: extract DOMPresentation, make EventListenersSidebar compile
11961         https://bugs.webkit.org/show_bug.cgi?id=69527
11962
11963         Reviewed by Yury Semikhatsky.
11964
11965         * WebCore.gypi:
11966         * WebCore.vcproj/WebCore.vcproj:
11967         * inspector/compile-front-end.sh:
11968         * inspector/front-end/DOMAgent.js:
11969         (WebInspector.DOMNode.prototype.nodeNameInCorrectCase):
11970         (WebInspector.DOMNode.prototype.moveTo):
11971         (WebInspector.DOMNode.prototype.isXMLNode):
11972         * inspector/front-end/DOMBreakpointsSidebarPane.js:
11973         (WebInspector.DOMBreakpointsSidebarPane.prototype._setBreakpoint):
11974         * inspector/front-end/DOMPresentation.js: Added.
11975         (WebInspector.DOMPresentation.decorateNodeLabel):
11976         (WebInspector.DOMPresentation.linkifyNodeReference):
11977         (WebInspector.DOMPresentation.linkifyNodeById):
11978         * inspector/front-end/ElementsPanel.js:
11979         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
11980         * inspector/front-end/ElementsTreeOutline.js:
11981         (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
11982         * inspector/front-end/EventListenersSidebarPane.js:
11983         * inspector/front-end/ObjectPropertiesSection.js:
11984         * inspector/front-end/PropertiesSection.js:
11985         * inspector/front-end/Section.js:
11986         * inspector/front-end/StylesSidebarPane.js:
11987         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
11988         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
11989         * inspector/front-end/WebKit.qrc:
11990         * inspector/front-end/inspector.html:
11991
11992 2011-10-06  Pavel Feldman  <pfeldman@google.com>
11993
11994         Web Inspector: add all Resource panel views to the compilation.
11995         https://bugs.webkit.org/show_bug.cgi?id=69526
11996
11997         Reviewed by Yury Semikhatsky.
11998
11999         * inspector/compile-front-end.sh:
12000         * inspector/front-end/CookieItemsView.js:
12001         (WebInspector.CookieItemsView.prototype._contextMenu):
12002         (WebInspector.Cookies.cookieMatchesResourceURL):
12003         * inspector/front-end/CookiesTable.js:
12004         (WebInspector.CookiesTable):
12005         (WebInspector.CookiesTable.prototype._onDeleteFromGrid):
12006         * inspector/front-end/DOMStorageItemsView.js:
12007         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
12008         * inspector/front-end/DataGrid.js:
12009         (WebInspector.DataGrid.createSortableDataGrid.sortDataGrid.comparator):
12010         (WebInspector.DataGrid.createSortableDataGrid.sortDataGrid):
12011         (WebInspector.DataGrid.createSortableDataGrid):
12012         * inspector/front-end/DatabaseQueryView.js:
12013         (WebInspector.DatabaseQueryView.prototype._queryFinished):
12014         * inspector/front-end/DatabaseTableView.js:
12015         (WebInspector.DatabaseTableView.prototype._queryFinished):
12016         * inspector/front-end/ResourcesPanel.js:
12017         (WebInspector.ResourcesPanel.prototype.reset):
12018         (WebInspector.ResourcesPanel.prototype.showDatabase):
12019         * inspector/front-end/TextPrompt.js:
12020
12021 2011-10-06  Pavel Feldman  <pfeldman@google.com>
12022
12023         Web Inspector: add all Resource panel views to the compilation.
12024         https://bugs.webkit.org/show_bug.cgi?id=69526
12025
12026         Reviewed by Yury Semikhatsky.
12027
12028         * inspector/compile-front-end.sh:
12029         * inspector/front-end/CookieItemsView.js:
12030         (WebInspector.CookieItemsView.prototype._contextMenu):
12031         (WebInspector.Cookies.cookieMatchesResourceURL):
12032         * inspector/front-end/CookiesTable.js:
12033         (WebInspector.CookiesTable):
12034         (WebInspector.CookiesTable.prototype._onDeleteFromGrid):
12035         * inspector/front-end/DOMStorageItemsView.js:
12036         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
12037         * inspector/front-end/DataGrid.js:
12038         (WebInspector.DataGrid.createSortableDataGrid.sortDataGrid.comparator):
12039         (WebInspector.DataGrid.createSortableDataGrid.sortDataGrid):
12040         (WebInspector.DataGrid.createSortableDataGrid):
12041         * inspector/front-end/DatabaseQueryView.js:
12042         (WebInspector.DatabaseQueryView.prototype._queryFinished):
12043         * inspector/front-end/DatabaseTableView.js:
12044         (WebInspector.DatabaseTableView.prototype._queryFinished):
12045         * inspector/front-end/ResourcesPanel.js:
12046         (WebInspector.ResourcesPanel.prototype.reset):
12047         (WebInspector.ResourcesPanel.prototype.showDatabase):
12048         * inspector/front-end/TextPrompt.js:
12049
12050 2011-10-06  Sheriff Bot  <webkit.review.bot@gmail.com>
12051
12052         Unreviewed, rolling out r96791.
12053         http://trac.webkit.org/changeset/96791
12054         https://bugs.webkit.org/show_bug.cgi?id=69528
12055
12056         webkit_unit_tests broken on Mac and Win (Requested by
12057         hwennborg on #webkit).
12058
12059         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
12060
12061 2011-10-05  Mikhail Naganov  <mnaganov@chromium.org>
12062
12063         Web Inspector: [Chromium] Heap Snapshot colors legend help popup is not shown.
12064         https://bugs.webkit.org/show_bug.cgi?id=69482
12065
12066         Reviewed by Yury Semikhatsky.
12067
12068         * inspector/front-end/DetailedHeapshotView.js:
12069         (WebInspector.DetailedHeapshotView.prototype._helpClicked):
12070
12071 2011-10-05  Pavel Feldman  <pfeldman@google.com>
12072
12073         Web Inspector: add 10 more front-end classes to the compilation process.
12074         https://bugs.webkit.org/show_bug.cgi?id=69445
12075
12076         Reviewed by Yury Semikhatsky.
12077
12078         * inspector/compile-front-end.sh:
12079         * inspector/front-end/HAREntry.js:
12080         * inspector/front-end/HandlerRegistry.js:
12081         * inspector/front-end/IFrameView.js:
12082         * inspector/front-end/JavaScriptSourceFrame.js:
12083         * inspector/front-end/PanelEnablerView.js:
12084         (WebInspector.PanelEnablerView):
12085         * inspector/front-end/PartialQuickSort.js:
12086         * inspector/front-end/PropertiesSidebarPane.js:
12087         (WebInspector.PropertiesSidebarPane.prototype.update.fillSection):
12088         (WebInspector.PropertiesSidebarPane.prototype.update):
12089         * inspector/front-end/ShowMoreDataGridNode.js:
12090         * inspector/front-end/SidebarTreeElement.js:
12091         * inspector/front-end/TimelineAgent.js:
12092         * inspector/front-end/WelcomeView.js:
12093         * inspector/front-end/externs.js:
12094         (WebInspector.addMainEventListeners):
12095
12096 2011-10-05  Pavel Feldman  <pfeldman@google.com>
12097
12098         Web Inspector: make ElementsTreeOutline compile
12099         https://bugs.webkit.org/show_bug.cgi?id=69439
12100
12101         Reviewed by Yury Semikhatsky.
12102
12103         * inspector/compile-front-end.sh:
12104         * inspector/front-end/DOMAgent.js:
12105         * inspector/front-end/DOMSyntaxHighlighter.js:
12106         * inspector/front-end/ElementsPanel.js:
12107         (WebInspector.ElementsPanel.get this):
12108         (WebInspector.ElementsPanel):
12109         (WebInspector.ElementsPanel.prototype._populateContextMenu):
12110         (WebInspector.ElementsPanel.prototype._inspectElementRequested):
12111         * inspector/front-end/ElementsTreeOutline.js:
12112         (WebInspector.ElementsTreeOutline):
12113         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
12114         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
12115         (WebInspector.ElementsTreeOutline.prototype._updateModifiedNodes):
12116         (WebInspector.ElementsTreeOutline.prototype._populateContextMenu):
12117         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
12118         (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
12119         (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
12120         (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
12121         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
12122         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
12123         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
12124         ():
12125         * inspector/front-end/externs.js:
12126         (WebInspector.highlightDOMNode):
12127         (WebInspector.resourceURLForRelatedNode):
12128
12129 2011-10-06  Pavel Feldman  <pfeldman@google.com>
12130
12131         Web Inspector: Inspector fails to start if there was at least one watch expression.
12132         https://bugs.webkit.org/show_bug.cgi?id=69516
12133
12134         Reviewed by Yury Semikhatsky.
12135
12136         * inspector/front-end/ConsoleView.js:
12137         * inspector/front-end/WatchExpressionsSidebarPane.js:
12138         (WebInspector.WatchExpressionsSidebarPane):
12139
12140 2011-10-06  Dominic Cooney   <dominicc@chromium.org>
12141
12142         Don't make virtual calls in Node::parentNode.
12143         https://bugs.webkit.org/show_bug.cgi?id=69266
12144
12145         Reviewed by Antti Koivisto.
12146
12147         ShadowRoot and SVGShadowRoot remain semantically separate (eg
12148         isShadowRoot/isSVGShadowRoot) but share a flag
12149         (IsShadowRootOrSVGShadowRootFlag, hitherto IsShadowRootFlag just
12150         for ShadowRoot). In combination with IsSVGFlag ShadowRoot (false)
12151         can be distinguished from SVGShadowRoot (true). This lets us make
12152         isSVGShadowRoot non-virtual.
12153
12154         No change in behavior => No new tests.
12155
12156         * dom/Node.cpp:
12157         (WebCore::Node::shadowHost):
12158         * dom/Node.h:
12159         (WebCore::Node::isSVGShadowRoot):
12160         (WebCore::Node::isShadowRoot):
12161         (WebCore::Node::parentNode):
12162         (WebCore::Node::parentNodeGuaranteedHostFree):
12163         * rendering/svg/SVGShadowTreeElements.cpp:
12164         (WebCore::SVGShadowTreeContainerElement::SVGShadowTreeContainerElement):
12165         (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement):
12166         * rendering/svg/SVGShadowTreeElements.h:
12167         * svg/SVGElement.cpp:
12168         (WebCore::SVGElement::SVGElement):
12169         * svg/SVGElement.h:
12170         * svg/SVGGElement.cpp:
12171         (WebCore::SVGGElement::SVGGElement):
12172         * svg/SVGGElement.h:
12173         * svg/SVGStyledElement.cpp:
12174         (WebCore::SVGStyledElement::SVGStyledElement):
12175         * svg/SVGStyledElement.h:
12176         * svg/SVGStyledLocatableElement.cpp:
12177         (WebCore::SVGStyledLocatableElement::SVGStyledLocatableElement):
12178         * svg/SVGStyledLocatableElement.h:
12179         * svg/SVGStyledTransformableElement.cpp:
12180         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
12181         * svg/SVGStyledTransformableElement.h:
12182
12183 2011-10-06  John Knottenbelt  <jknotten@chromium.org>
12184
12185         Take pageScaleFactor into account for MouseRelatedEvents.
12186         https://bugs.webkit.org/show_bug.cgi?id=67592
12187
12188         Reviewed by Tony Gentilcore.
12189
12190         Tests: fast/events/page-scaled-mouse-click-iframe.html
12191                fast/events/page-scaled-mouse-click.html
12192
12193         * dom/MouseRelatedEvent.cpp:
12194         (WebCore::contentsScrollOffset):
12195         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
12196         (WebCore::frameScaleFactor):
12197         (WebCore::MouseRelatedEvent::computePageLocation):
12198         (WebCore::MouseRelatedEvent::computeRelativePosition):
12199
12200 2011-10-03  Hans Wennborg  <hans@chromium.org>
12201
12202         IndexedDB: Remove SQLite-LevelDB migration code
12203         https://bugs.webkit.org/show_bug.cgi?id=69264
12204
12205         Reviewed by Tony Chang.
12206
12207         Remove migration functionality.
12208
12209         Just removing code, so no new tests.
12210
12211         * storage/IDBFactoryBackendImpl.cpp:
12212         (WebCore::IDBFactoryBackendImpl::open):
12213         * storage/IDBFactoryBackendImpl.h:
12214
12215 2011-10-06  James Robinson  <jamesr@chromium.org>
12216
12217         [chromium] Remove USE(THREADED_COMPOSITING) from the tree
12218         https://bugs.webkit.org/show_bug.cgi?id=69489
12219
12220         Reviewed by Darin Fisher.
12221
12222         This macro isn't needed any more since the logic it guarded is guarded by a runtime switch.
12223
12224         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
12225
12226 2011-10-05  Kentaro Hara  <haraken@chromium.org>
12227
12228         Refactor IDL attributes about constructor
12229         https://bugs.webkit.org/show_bug.cgi?id=69074
12230
12231         Reviewed by Adam Barth.
12232
12233         Currently, IDL attributes about constructor are confusing:
12234
12235         - [CustomConstructFunction] means that there is a custom constructor for JSC.
12236         - [V8CustomConstructor] means that there is a custom constructor for V8.
12237         - [CustomConstructor] exists in CodeGenerator*.pm but is not used in any IDL files.
12238         - For almost all IDL files, [CustomConstructFunction] and [V8CustomConstructor] are used at the same time.
12239         - ObjC, CPP and GObject bindings do not support custom constructors.
12240
12241         This patch makes the following changes:
12242
12243         - Rename [CustomConstructFunction] to [JSCustomConstructor].
12244         - [JSCustomConstructor] means that there is a custom constructor for JSC.
12245         - [V8CustomConstructor] means that there is a custom constructor for V8.
12246         - [CustomConstructor] means that there is a custom constructor for both JSC and V8.
12247
12248         No new tests. No change in behavior. Confirm that build succeeds.
12249
12250         * bindings/scripts/CodeGeneratorJS.pm: Removed [CustomConstructFunction] and added [JSCustomConstructor]
12251         (GenerateHeader):
12252         (GenerateAttributesHashTable):
12253         (GenerateImplementation):
12254         (GenerateConstructorDefinition):
12255         * css/WebKitCSSMatrix.idl: Renamed [CustomConstructFunction] to [JSCustomConstructor]. If both [JSCustomConstructor] and [V8CustomConstructor] are specified, then we replaced them with [CustomConstructor].
12256         * dom/CustomEvent.idl: Ditto.
12257         * dom/ErrorEvent.idl: Ditto.
12258         * dom/Event.idl: Ditto.
12259         * dom/HashChangeEvent.idl: Ditto.
12260         * dom/MessageChannel.idl: Ditto.
12261         * dom/MessageEvent.idl: Ditto.
12262         * dom/PageTransitionEvent.idl: Ditto.
12263         * dom/PopStateEvent.idl: Ditto.
12264         * dom/ProgressEvent.idl: Ditto.
12265         * dom/WebKitAnimationEvent.idl: Ditto.
12266         * html/DOMFormData.idl: Ditto.
12267         * html/canvas/ArrayBuffer.idl: Ditto.
12268         * html/canvas/DataView.idl: Ditto.
12269         * html/canvas/Float32Array.idl: Ditto.
12270         * html/canvas/Float64Array.idl: Ditto.
12271         * html/canvas/Int16Array.idl: Ditto.
12272         * html/canvas/Int32Array.idl: Ditto.
12273         * html/canvas/Int8Array.idl: Ditto.
12274         * html/canvas/Uint16Array.idl: Ditto.
12275         * html/canvas/Uint32Array.idl: Ditto.
12276         * html/canvas/Uint8Array.idl: Ditto.
12277         * p2p/PeerConnection.idl: Ditto.
12278         * page/EventSource.idl: Ditto.
12279         * page/WebKitPoint.idl: Ditto.
12280         * webaudio/AudioContext.idl: Ditto.
12281         * websockets/CloseEvent.idl: Ditto.
12282         * websockets/WebSocket.idl: Ditto.
12283         * workers/SharedWorker.idl: Ditto.
12284         * workers/Worker.idl: Ditto.
12285         * xml/XMLHttpRequest.idl: Ditto.
12286         * xml/XSLTProcessor.idl: Ditto.
12287
12288 2011-10-03  Andy Estes  <aestes@apple.com>
12289
12290         Add the option to suppress rendering until the document's load event fires.
12291         https://bugs.webkit.org/show_bug.cgi?id=69298
12292
12293         Reviewed by Simon Fraser.
12294
12295         Add a WebCore setting that suppresses painting and compositing layer
12296         updates until the document's load event fires. This masks the effects
12297         of incremental rendering (for clients that opt in) by ensuring that all
12298         sub-resources have loaded and a full layout has taken place before
12299         painting the document for the first time.
12300
12301         No tests currently possible. Testing this would require the ability for
12302         DRT to dump state while resources are loading, which it doesn't
12303         currently do.
12304
12305         * dom/Document.cpp:
12306         (WebCore::Document::implicitClose): If rendering was previously
12307         suppressed, force a repaint and compositing layer update.
12308         (WebCore::Document::visualUpdatesAllowed): Add a helper method to
12309         determine if the document is in a state where rendering is allowed.
12310         * dom/Document.h:
12311         * page/Settings.cpp:
12312         (WebCore::Settings::Settings):
12313         * page/Settings.h:
12314         (WebCore::Settings::setSuppressIncrementalRendering):
12315         (WebCore::Settings::suppressIncrementalRendering):
12316         * rendering/RenderLayer.cpp:
12317         (WebCore::shouldSuppressPaintingLayer): Encapsulate the FOUC and
12318         painting suppression checks into a single helper function for
12319         readability's sake.
12320         (WebCore::RenderLayer::paintLayer):
12321         * rendering/RenderLayerCompositor.cpp:
12322         (WebCore::RenderLayerCompositor::updateCompositingLayers): If we should
12323         suppress compositing layer updates and the load event has yet to fire,
12324         return early.
12325
12326 2011-10-05  Yuta Kitamura  <yutak@chromium.org>
12327
12328         WebSocket: Add extensions attribute
12329         https://bugs.webkit.org/show_bug.cgi?id=69408
12330
12331         Reviewed by Kent Tamura.
12332
12333         Add WebSocket's "extensions" attribute as specified in the WebSocket API
12334         <http://dev.w3.org/html5/websockets/#the-websocket-interface>.
12335
12336         WebSocket protocol extension is not implemented at all, thus this attribute
12337         always returns an empty string.
12338
12339         Test: http/tests/websocket/tests/hybi/extensions.html
12340               http/tests/websocket/tests/hixie76/undefined-attributes.html (updated)
12341
12342         * websockets/WebSocket.cpp:
12343         (WebCore::WebSocket::extensions):
12344         If the hixie-76 protocol is chosen, we need to return "undefined" in order to
12345         keep behavior of the ports which have not used the newer hybi protocol yet.
12346         * websockets/WebSocket.h:
12347         * websockets/WebSocket.idl:
12348
12349 2011-10-05  Dominic Cooney  <dominicc@chromium.org>
12350
12351         IsShadowRootFlag should not depend on whether a ShadowRoot is attached to a host.
12352         https://bugs.webkit.org/show_bug.cgi?id=69406
12353
12354         Reviewed by Hajime Morita.
12355
12356         No change in behavior => No new tests.
12357
12358         * dom/Node.cpp:
12359         (WebCore::Node::setShadowHost): Don't twiddle the flag.
12360         * dom/Node.h:
12361         * dom/ShadowRoot.cpp:
12362         (WebCore::ShadowRoot::ShadowRoot): Set the IsShadowRootFlag on creation.
12363         * dom/TreeScope.cpp:
12364         (WebCore::TreeScope::TreeScope): Let ShadowRoot set creation flags.
12365         * dom/TreeScope.h:
12366
12367 2011-10-05  Chris Rogers  <crogers@google.com>
12368
12369         Define a log2f() function for Windows in wtf/MathExtras.h
12370         https://bugs.webkit.org/show_bug.cgi?id=69491
12371
12372         Reviewed by Darin Adler.
12373
12374         No new tests. This change is tested in existing layout tests.
12375
12376         * webaudio/AudioParamTimeline.cpp:
12377         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
12378
12379 2011-10-05  Erik Arvidsson  <arv@chromium.org>
12380
12381         window.location.href and others needlessly decodes URI-encoded characters
12382         https://bugs.webkit.org/show_bug.cgi?id=30225
12383
12384         Reviewed by Darin Adler.
12385
12386         Don't decode KURL::path() and stop using KURL::deprecatedString() in Location methods.
12387
12388         This slightly changes how we parse data and javascript URLs (non hierarchical URLs) to
12389         not encode so aggressively.
12390
12391         * fileapi/DOMFileSystemBase.cpp:
12392         (WebCore::DOMFileSystemBase::crackFileSystemURL): Manually decode path()
12393         * loader/FrameLoader.cpp:
12394         (WebCore::FrameLoader::defaultObjectContentType): Manually decode path()
12395         * page/Location.cpp:
12396         (WebCore::Location::href): Use string() instead of deprecatedString()
12397         * page/Location.h:
12398         (WebCore::Location::toString): Inline call to href()
12399         * platform/KURL.cpp:
12400         (WebCore::KURL::path): Don't decode.
12401         (WebCore::escapeAndAppendNonHierarchicalPart): Rename escapeAndAppendFragment to escapeAndAppendNonHierarchicalPart
12402                                                        since this is now used for more than just fragments.
12403         (WebCore::KURL::parse): Don't decode
12404         * platform/KURLGoogle.cpp:
12405         (WebCore::KURL::path): Remove out of date comment
12406         * platform/qt/KURLQt.cpp:
12407         (WebCore::KURL::fileSystemPath): Manually decode path()
12408         * platform/win/ClipboardWin.cpp:
12409         (WebCore::createGlobalHDropContent): Manually decode path()
12410         * workers/WorkerLocation.cpp:
12411         (WebCore::WorkerLocation::href): Use string() instead of deprecatedString()
12412         * workers/WorkerLocation.h:
12413         (WebCore::WorkerLocation::toString): Inline call to href()
12414
12415 2011-10-05  Darin Adler  <darin@apple.com>
12416
12417         [Mac] Use four more named cursors if present
12418         https://bugs.webkit.org/show_bug.cgi?id=69488
12419
12420         Reviewed by Dan Bernstein.
12421
12422         * platform/mac/CursorMac.mm:
12423         (WebCore::Cursor::ensurePlatformCursor): Use the names "Help", "Cell",
12424         "ZoomIn", and "ZoomOut" to get those cursors. Structure the code so it
12425         falls back if the cursors are not present.
12426
12427 2011-10-05  Tony Chang  <tony@chromium.org>
12428
12429         force margin:auto to 0 in flex items
12430         https://bugs.webkit.org/show_bug.cgi?id=69475
12431
12432         Reviewed by Ojan Vafai.
12433
12434         The spec used to say the margin had a value of flex(1 0 0), but changed to just be 0.
12435
12436         * rendering/RenderFlexibleBox.cpp:
12437         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
12438         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
12439
12440 2011-10-05  Dean Jackson  <dino@apple.com>
12441
12442         Computed style for filter property
12443         https://bugs.webkit.org/show_bug.cgi?id=68477
12444
12445         Reviewed by Simon Fraser.
12446
12447         Reports the computed style for the new -webkit-filter
12448         property value.
12449
12450         Test: css3/filters/filter-property-computed-style.html
12451
12452         * css/CSSComputedStyleDeclaration.cpp:
12453         (WebCore::computedFilter):
12454         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
12455
12456 2011-10-05  Jer Noble  <jer.noble@apple.com>
12457
12458         Enable WEB_AUDIO by default in the WebKit/mac port.
12459         https://bugs.webkit.org/show_bug.cgi?id=68587
12460
12461         Reviewed by Simon Fraser.
12462
12463         No new tests; existing webaudio/ layout tests cover this.
12464
12465         * Configurations/FeatureDefines.xcconfig:
12466         * WebCore.xcodeproj/project.pbxproj: Add a build step which copies audio resources to
12467             the WebCore.framework bundle.
12468
12469 2011-10-03  Ojan Vafai  <ojan@chromium.org>
12470
12471         [flexbox] take marginBeforeForChild into account when positioning children
12472         https://bugs.webkit.org/show_bug.cgi?id=69313
12473
12474         Reviewed by Tony Chang.
12475
12476         * rendering/RenderFlexibleBox.cpp:
12477         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
12478
12479 2011-10-05  Vangelis Kokkevis  <vangelis@chromium.org>
12480
12481         Switching threaded compositor from a compile time option to a
12482         run time one.
12483         https://bugs.webkit.org/show_bug.cgi?id=69391
12484
12485         Reviewed by Darin Fisher.
12486
12487         Mostly converted #if USE(THREADED_COMPOSITING) to a regular if statements.
12488         In addition, CCLayerTreeHost::scheduleComposite() is removed as it wasn't being
12489         called from anywhere, 
12490
12491         No new tests as it doesn't add new functionality.
12492
12493         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
12494         (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
12495         (WebCore::CCLayerTreeHost::setNeedsRedraw):
12496         (WebCore::CCLayerTreeHost::composite):
12497         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
12498         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
12499         (WebCore::CCSingleThreadProxy::setNeedsCommitThenRedraw):
12500         (WebCore::CCSingleThreadProxy::compositeImmediately):
12501         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
12502
12503 2011-10-05  Dean Jackson  <dino@apple.com>
12504
12505         Parse '-webkit-filter' property syntax
12506         https://bugs.webkit.org/show_bug.cgi?id=68473
12507
12508         Reviewed by Nikolas Zimmermann.
12509
12510         Parse the new -webkit-filter property, looking for shorthand
12511         functions then testing number, type and value of parameters.
12512
12513         Note that support for drop-shadow() was omitted from this
12514         patch because parsing CSS shadow syntax was going to require some
12515         refactoring of the box and text shadow code. The followup
12516         bug is https://bugs.webkit.org/show_bug.cgi?id=69108.
12517
12518         Also, computed style will return null for filters at the moment.
12519         That's https://bugs.webkit.org/show_bug.cgi?id=68477.
12520
12521         Tests: css3/filters/filter-property-parsing-invalid.html
12522                css3/filters/filter-property-parsing.html
12523
12524         * CMakeLists.txt:
12525         * CodeGenerators.pri:
12526         * DerivedSources.cpp:
12527         * DerivedSources.make:
12528         * GNUmakefile.list.am:
12529         * WebCore.gypi:
12530         * WebCore.pro:
12531         * WebCore.vcproj/WebCore.vcproj:
12532         * WebCore.xcodeproj/project.pbxproj:
12533             Build files updated for new WebKitCSSFilterValue classes.
12534         * bindings/js/JSCSSValueCustom.cpp:
12535         (WebCore::toJS):
12536         * bindings/objc/DOMCSS.mm:
12537             Test if value is WebKitCSSFilterValue.
12538         * css/CSSParser.cpp:
12539         (WebCore::filterInfoForName):
12540         (WebCore::CSSParser::isValidFilterArgument):
12541         (WebCore::CSSParser::parseFilter):
12542         * css/CSSParser.h:
12543         * css/CSSStyleSelector.cpp:
12544         (WebCore::CSSStyleSelector::applyProperty):
12545         (WebCore::filterOperationForType):
12546         (WebCore::CSSStyleSelector::createFilterOperations):
12547         * css/CSSStyleSelector.h:
12548             Handle the new shorthand functions in -webkit-filter.
12549         * css/CSSValue.h:
12550         (WebCore::CSSValue::isWebKitCSSFilterValue):
12551             Add virtual function that returns false here.
12552         * css/WebKitCSSFilterValue.cpp: Added.
12553         (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
12554         (WebCore::WebKitCSSFilterValue::~WebKitCSSFilterValue):
12555         (WebCore::WebKitCSSFilterValue::cssText):
12556         * css/WebKitCSSFilterValue.h: Added.
12557         (WebCore::WebKitCSSFilterValue::create):
12558         (WebCore::WebKitCSSFilterValue::operationType):
12559         (WebCore::WebKitCSSFilterValue::isWebKitCSSFilterValue):
12560         * css/WebKitCSSFilterValue.idl: Added.
12561             WebKitCSSFilterValue modelled closely on WebKitCSSTransformValue,
12562             basically identifying the type of operation in a CSSValueList.
12563         * page/DOMWindow.idl:
12564             New WebKitCSSFilterValue constructor.
12565         * platform/graphics/filters/FilterOperation.h:
12566         (WebCore::BlurFilterOperation::create):
12567         (WebCore::BlurFilterOperation::stdDeviationX):
12568         (WebCore::BlurFilterOperation::stdDeviationY):
12569         (WebCore::BlurFilterOperation::BlurFilterOperation):
12570         (WebCore::SharpenFilterOperation::create):
12571         (WebCore::SharpenFilterOperation::radius):
12572         (WebCore::SharpenFilterOperation::threshold):
12573         (WebCore::SharpenFilterOperation::SharpenFilterOperation):
12574             Use Length rather than double for parameters that are CSS lengths.
12575
12576 2011-10-05  Chris Rogers  <crogers@google.com>
12577
12578         Fix Windows build - it doesn't have a log2f() function...
12579         https://bugs.webkit.org/show_bug.cgi?id=69473
12580
12581         Unreviewed build fix.
12582
12583         * webaudio/AudioParamTimeline.cpp:
12584         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
12585
12586 2011-10-05  James Robinson  <jamesr@chromium.org>
12587
12588         [chromium] ASSERT triggered when gpu process lost in single-threaded compositing path
12589         https://bugs.webkit.org/show_bug.cgi?id=69467
12590
12591         Reviewed by Kenneth Russell.
12592
12593         Shuffles debug-only bookkeeping around to more closely match what we do in the threaded path and not trip a
12594         false-positive ASSERT().
12595
12596         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
12597         (WebCore::CCSingleThreadProxy::doComposite):
12598
12599 2011-10-05  Sheriff Bot  <webkit.review.bot@gmail.com>
12600
12601         Unreviewed, rolling out r96756.
12602         http://trac.webkit.org/changeset/96756
12603         https://bugs.webkit.org/show_bug.cgi?id=69472
12604
12605         Many builds broken due to WTFGetBacktrace not being exported
12606         from JavaScriptCore (Requested by aroben on #webkit).
12607
12608         * dom/ScriptElement.cpp:
12609         (WebCore::ScriptElement::ScriptElement):
12610         (WebCore::ScriptElement::stopLoadRequest):
12611         (WebCore::ScriptElement::notifyFinished):
12612         * dom/ScriptElement.h:
12613
12614 2011-10-05  Gavin Peters  <gavinp@chromium.org>
12615
12616         save resource zeroing stacks in ScriptElement for debugging
12617         https://bugs.webkit.org/show_bug.cgi?id=69453
12618
12619         The state machine tracking how m_cachedScript gets zeroed shows that sometimes we get
12620         two notifyFinished() events in a ScriptElement, which can crash chrome (see chrome bug
12621         75604).  This patch will save a stack in the ScriptElement when this happens, so that if
12622         we do later crash, we can see how we did the first zeroing.
12623
12624         See http://code.google.com/p/chromium/issues/detail?id=75604 for the chromium bug that
12625         this change will help track down.
12626
12627         Reviewed by Nate Chapin.
12628
12629         No new tests, this shouldn't affect output at all, and isn't particularly testable.
12630
12631         * dom/ScriptElement.cpp:
12632         (WebCore::ScriptElement::ScriptElement):
12633         (WebCore::ScriptElement::stopLoadRequest):
12634         (WebCore::ScriptElement::notifyFinished):
12635         * dom/ScriptElement.h:
12636
12637 2011-10-05  Alexey Proskuryakov  <ap@apple.com>
12638
12639         More build fix.
12640
12641         * WebCore.exp.in: Made a typo in a last minute change for my 32-bit build fix.
12642
12643 2011-10-05  Anna Cavender  <annacc@chromium.org>
12644
12645         Fix CueParser::didFinishLoading to match changes in ThreadableLoaderClient
12646         https://bugs.webkit.org/show_bug.cgi?id=69456
12647
12648         Reviewed by David Levin.
12649
12650         No new tests. No new functionality.
12651
12652         * html/track/CueParser.cpp:
12653         (WebCore::CueParser::didFinishLoading):
12654         * html/track/CueParser.h:
12655
12656 2011-10-05  Alexey Proskuryakov  <ap@apple.com>
12657
12658         32-bit build fix.
12659
12660         * WebCore.exp.in: In 32-bit, WebCore needs to export both NSSize and CGSize constructors.
12661         In 64-bit, NSSize is just a typedef for CGSize. Also fixed conversion operators, for good measure.
12662
12663 2011-10-05  Jer Noble  <jer.noble@apple.com>
12664
12665         WEB_AUDIO does not compile on Leopard 32-bit.
12666         https://bugs.webkit.org/show_bug.cgi?id=69292
12667
12668         Reviewed by Simon Fraser.
12669
12670         No new tests; covered by all existing audio tests.
12671
12672         Use of float and double within the WEB_AUDIO implementation have been harmonized, with most
12673         calculations done using floats, with narrowPrecisionToFloat() added when necessary to
12674         narrow double results down to floats, and with float constants initialized with float values:
12675         * platform/audio/AudioBus.cpp:
12676         (WebCore::AudioBus::AudioBus):
12677         (WebCore::AudioBus::createByMixingToMono):
12678         * platform/audio/AudioBus.h:
12679         (WebCore::AudioBus::sampleRate):
12680         (WebCore::AudioBus::setSampleRate):
12681         * platform/audio/AudioDSPKernel.h:
12682         (WebCore::AudioDSPKernel::AudioDSPKernel):
12683         (WebCore::AudioDSPKernel::sampleRate):
12684         * platform/audio/AudioDSPKernelProcessor.cpp:
12685         (WebCore::AudioDSPKernelProcessor::AudioDSPKernelProcessor):
12686         * platform/audio/AudioDSPKernelProcessor.h:
12687         * platform/audio/AudioDestination.h:
12688         * platform/audio/AudioFileReader.h:
12689         * platform/audio/AudioProcessor.h:
12690         (WebCore::AudioProcessor::AudioProcessor):
12691         (WebCore::AudioProcessor::sampleRate):
12692         * platform/audio/AudioUtilities.cpp:
12693         (WebCore::AudioUtilities::decibelsToLinear):
12694         (WebCore::AudioUtilities::linearToDecibels):
12695         (WebCore::AudioUtilities::discreteTimeConstantForSampleRate):
12696         * platform/audio/AudioUtilities.h:
12697         * platform/audio/DynamicsCompressor.cpp:
12698         (WebCore::DynamicsCompressor::DynamicsCompressor):
12699         (WebCore::DynamicsCompressor::initializeParameters):
12700         (WebCore::DynamicsCompressor::parameterValue):
12701         (WebCore::DynamicsCompressor::setEmphasisStageParameters):
12702         (WebCore::DynamicsCompressor::process):
12703         * platform/audio/DynamicsCompressor.h:
12704         (WebCore::DynamicsCompressor::sampleRate):
12705         (WebCore::DynamicsCompressor::nyquist):
12706         * platform/audio/DynamicsCompressorKernel.cpp:
12707         (WebCore::saturate):
12708         (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
12709         (WebCore::DynamicsCompressorKernel::process):
12710         * platform/audio/DynamicsCompressorKernel.h:
12711         * platform/audio/EqualPowerPanner.cpp:
12712         (WebCore::EqualPowerPanner::EqualPowerPanner):
12713         * platform/audio/EqualPowerPanner.h:
12714         * platform/audio/HRTFDatabase.cpp:
12715         (WebCore::HRTFDatabase::create):
12716         (WebCore::HRTFDatabase::HRTFDatabase):
12717         * platform/audio/HRTFDatabase.h:
12718         (WebCore::HRTFDatabase::sampleRate):
12719         * platform/audio/HRTFDatabaseLoader.cpp:
12720         (WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):
12721         (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
12722         * platform/audio/HRTFDatabaseLoader.h:
12723         (WebCore::HRTFDatabaseLoader::databaseSampleRate):
12724         * platform/audio/HRTFElevation.cpp:
12725         (WebCore::HRTFElevation::calculateSymmetricKernelsForAzimuthElevation):
12726         (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
12727         (WebCore::HRTFElevation::createForSubject):
12728         (WebCore::HRTFElevation::createByInterpolatingSlices):
12729         * platform/audio/HRTFElevation.h:
12730         (WebCore::HRTFElevation::sampleRate):
12731         (WebCore::HRTFElevation::HRTFElevation):
12732         * platform/audio/HRTFKernel.cpp:
12733         (WebCore::extractAverageGroupDelay):
12734         (WebCore::HRTFKernel::HRTFKernel):
12735         (WebCore::HRTFKernel::createInterpolatedKernel):
12736         * platform/audio/HRTFKernel.h:
12737         (WebCore::HRTFKernel::create):
12738         (WebCore::HRTFKernel::frameDelay):
12739         (WebCore::HRTFKernel::sampleRate):
12740         (WebCore::HRTFKernel::HRTFKernel):
12741         * platform/audio/HRTFPanner.cpp:
12742         (WebCore::HRTFPanner::HRTFPanner):
12743         (WebCore::HRTFPanner::fftSizeForSampleRate):
12744         * platform/audio/HRTFPanner.h:
12745         (WebCore::HRTFPanner::sampleRate):
12746         * platform/audio/Panner.cpp:
12747         (WebCore::Panner::create):
12748         * platform/audio/Panner.h:
12749         * platform/audio/chromium/AudioBusChromium.cpp:
12750         (WebCore::AudioBus::loadPlatformResource):
12751         * platform/audio/mac/AudioBusMac.mm:
12752         (WebCore::AudioBus::loadPlatformResource):
12753         * platform/audio/mac/AudioDestinationMac.cpp:
12754         (WebCore::AudioDestination::create):
12755         (WebCore::AudioDestination::hardwareSampleRate):
12756         (WebCore::AudioDestinationMac::AudioDestinationMac):
12757         * platform/audio/mac/AudioDestinationMac.h:
12758         (WebCore::AudioDestinationMac::sampleRate):
12759         * platform/audio/mac/AudioFileReaderMac.cpp:
12760         (WebCore::AudioFileReader::createBus):
12761         (WebCore::createBusFromAudioFile):
12762         (WebCore::createBusFromInMemoryAudioFile):
12763         * platform/audio/mac/AudioFileReaderMac.h:
12764         * webaudio/AsyncAudioDecoder.cpp:
12765         (WebCore::AsyncAudioDecoder::decodeAsync):
12766         (WebCore::AsyncAudioDecoder::DecodingTask::create):
12767         (WebCore::AsyncAudioDecoder::DecodingTask::DecodingTask):
12768         * webaudio/AsyncAudioDecoder.h:
12769         (WebCore::AsyncAudioDecoder::DecodingTask::sampleRate):
12770         * webaudio/AudioBasicProcessorNode.cpp:
12771         (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
12772         * webaudio/AudioBasicProcessorNode.h:
12773         * webaudio/AudioBuffer.cpp:
12774         (WebCore::AudioBuffer::create):
12775         (WebCore::AudioBuffer::createFromAudioFileData):
12776         (WebCore::AudioBuffer::AudioBuffer):
12777         * webaudio/AudioBuffer.h:
12778         (WebCore::AudioBuffer::sampleRate):
12779         * webaudio/AudioBufferSourceNode.cpp:
12780         (WebCore::AudioBufferSourceNode::create):
12781         (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
12782         (WebCore::AudioBufferSourceNode::process):
12783         (WebCore::AudioBufferSourceNode::renderFromBuffer):
12784         * webaudio/AudioBufferSourceNode.h:
12785         * webaudio/AudioChannelMerger.cpp:
12786         (WebCore::AudioChannelMerger::AudioChannelMerger):
12787         * webaudio/AudioChannelMerger.h:
12788         (WebCore::AudioChannelMerger::create):
12789         * webaudio/AudioChannelSplitter.cpp:
12790         (WebCore::AudioChannelSplitter::AudioChannelSplitter):
12791         * webaudio/AudioChannelSplitter.h:
12792         (WebCore::AudioChannelSplitter::create):
12793         * webaudio/AudioContext.cpp:
12794         (WebCore::AudioContext::createOfflineContext):
12795         (WebCore::AudioContext::AudioContext):
12796         (WebCore::AudioContext::createBuffer):
12797         * webaudio/AudioContext.h:
12798         (WebCore::AudioContext::sampleRate):
12799         * webaudio/AudioDestinationNode.cpp:
12800         (WebCore::AudioDestinationNode::AudioDestinationNode):
12801         * webaudio/AudioDestinationNode.h:
12802         * webaudio/AudioGainNode.cpp:
12803         (WebCore::AudioGainNode::AudioGainNode):
12804         * webaudio/AudioGainNode.h:
12805         (WebCore::AudioGainNode::create):
12806         * webaudio/AudioListener.cpp:
12807         (WebCore::AudioListener::AudioListener):
12808         * webaudio/AudioListener.h:
12809         (WebCore::AudioListener::setPosition):
12810         (WebCore::AudioListener::setOrientation):
12811         (WebCore::AudioListener::setVelocity):
12812         * webaudio/AudioNode.cpp:
12813         (WebCore::AudioNode::AudioNode):
12814         * webaudio/AudioNode.h:
12815         (WebCore::AudioNode::sampleRate):
12816         * webaudio/AudioPannerNode.cpp:
12817         (WebCore::AudioPannerNode::AudioPannerNode):
12818         (WebCore::AudioPannerNode::getAzimuthElevation):
12819         * webaudio/AudioPannerNode.h:
12820         (WebCore::AudioPannerNode::create):
12821         * webaudio/AudioParam.cpp:
12822         (WebCore::AudioParam::value):
12823         (WebCore::AudioParam::smoothedValue):
12824         (WebCore::AudioParam::smooth):
12825         (WebCore::AudioParam::calculateSampleAccurateValues):
12826         * webaudio/AudioParamTimeline.cpp:
12827         (WebCore::AudioParamTimeline::valueForContextTime):
12828         (WebCore::timeToSampleFrame):
12829         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
12830         * webaudio/AudioSourceNode.h:
12831         (WebCore::AudioSourceNode::AudioSourceNode):
12832         * webaudio/BiquadFilterNode.cpp:
12833         (WebCore::BiquadFilterNode::BiquadFilterNode):
12834         * webaudio/BiquadFilterNode.h:
12835         (WebCore::BiquadFilterNode::create):
12836         * webaudio/BiquadProcessor.cpp:
12837         (WebCore::BiquadProcessor::BiquadProcessor):
12838         * webaudio/BiquadProcessor.h:
12839         * webaudio/ConvolverNode.cpp:
12840         (WebCore::ConvolverNode::ConvolverNode):
12841         * webaudio/ConvolverNode.h:
12842         (WebCore::ConvolverNode::create):
12843         * webaudio/DefaultAudioDestinationNode.cpp:
12844         (WebCore::DefaultAudioDestinationNode::initialize):
12845         * webaudio/DefaultAudioDestinationNode.h:
12846         (WebCore::DefaultAudioDestinationNode::sampleRate):
12847         * webaudio/DelayDSPKernel.cpp:
12848         (WebCore::DelayDSPKernel::DelayDSPKernel):
12849         (WebCore::DelayDSPKernel::process):
12850         * webaudio/DelayDSPKernel.h:
12851         * webaudio/DelayNode.cpp:
12852         (WebCore::DelayNode::DelayNode):
12853         * webaudio/DelayNode.h:
12854         (WebCore::DelayNode::create):
12855         * webaudio/DelayProcessor.cpp:
12856         (WebCore::DelayProcessor::DelayProcessor):
12857         * webaudio/DelayProcessor.h:
12858         * webaudio/DynamicsCompressorNode.cpp:
12859         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
12860         * webaudio/DynamicsCompressorNode.h:
12861         (WebCore::DynamicsCompressorNode::create):
12862         * webaudio/HighPass2FilterNode.cpp:
12863         (WebCore::HighPass2FilterNode::HighPass2FilterNode):
12864         * webaudio/HighPass2FilterNode.h:
12865         (WebCore::HighPass2FilterNode::create):
12866         * webaudio/JavaScriptAudioNode.cpp:
12867         (WebCore::JavaScriptAudioNode::create):
12868         (WebCore::JavaScriptAudioNode::JavaScriptAudioNode):
12869         (WebCore::JavaScriptAudioNode::initialize):
12870         * webaudio/JavaScriptAudioNode.h:
12871         * webaudio/LowPass2FilterNode.cpp:
12872         (WebCore::LowPass2FilterNode::LowPass2FilterNode):
12873         * webaudio/LowPass2FilterNode.h:
12874         (WebCore::LowPass2FilterNode::create):
12875         * webaudio/OfflineAudioDestinationNode.h:
12876         (WebCore::OfflineAudioDestinationNode::sampleRate):
12877         * webaudio/RealtimeAnalyserNode.cpp:
12878         (WebCore::RealtimeAnalyserNode::RealtimeAnalyserNode):
12879         * webaudio/RealtimeAnalyserNode.h:
12880         (WebCore::RealtimeAnalyserNode::create):
12881         * webaudio/WaveShaperDSPKernel.cpp:
12882         (WebCore::WaveShaperDSPKernel::process):
12883         * webaudio/WaveShaperProcessor.cpp:
12884         (WebCore::WaveShaperProcessor::WaveShaperProcessor):
12885         * webaudio/WaveShaperProcessor.h:
12886
12887
12888 2011-10-05  Alexey Proskuryakov  <ap@apple.com>
12889
12890         [Mac] Make built-in PDF description localizable
12891         https://bugs.webkit.org/show_bug.cgi?id=69442
12892
12893         Reviewed by Dan Bernstein.
12894
12895         Added strings for plug-in's name and for its supported MIME type.
12896
12897         * English.lproj/Localizable.strings:
12898         * WebCore.exp.in:
12899         * platform/DefaultLocalizationStrategy.cpp:
12900         (WebCore::DefaultLocalizationStrategy::builtInPDFPluginName):
12901         (WebCore::DefaultLocalizationStrategy::pdfDocumentTypeDescription):
12902         * platform/DefaultLocalizationStrategy.h:
12903         * platform/LocalizationStrategy.h:
12904         * platform/LocalizedStrings.cpp:
12905         (WebCore::builtInPDFPluginName):
12906         (WebCore::pdfDocumentTypeDescription):
12907         * platform/LocalizedStrings.h:
12908
12909 2011-10-05  David Levin  <levin@chromium.org>
12910
12911         Attempt to fix the bindings test (broken by r96727).
12912         Reviewed by Adam Barth.
12913
12914         * bindings/scripts/test/V8/V8TestInterface.cpp:
12915         (WebCore::ConfigureV8TestInterfaceTemplate):
12916         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
12917         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
12918         * bindings/scripts/test/V8/V8TestObj.cpp:
12919         (WebCore::ConfigureV8TestObjTemplate):
12920         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
12921         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
12922
12923 2011-10-05  James Robinson  <jamesr@chromium.org>
12924
12925         [chromium] Hook WebCompositor interface for input events up to the compositor proper
12926         https://bugs.webkit.org/show_bug.cgi?id=69394
12927
12928         Reviewed by Darin Fisher.
12929
12930         This wires up WebCompositorImpl to the compositor itself so we can handle input events as scrolls on the
12931         compositor thread, although it doesn't actually wire up any input events to actual scrolling. The way this
12932         works:
12933
12934         - CCThreadProxy owns an adapter that implements the CCScrollController interface
12935         - CCThreadProxy owns a CCInputHandler, which is implemented by WebKit::WebCompositorImpl, that has a pointer to
12936         the adapter
12937         - CCLayerTreeHost has an identifier (an int) for its WebKit::WebCompositorImpl that's initialized in
12938         initializeLayerRenderer. This identifier is exposed to its owner (WebKit::WebViewImpl) so the embedder can wire
12939         up the threading logic behind the scenes.
12940
12941         This is just plumbing, no change in behavior.
12942
12943         * WebCore.gypi:
12944         * platform/graphics/chromium/cc/CCInputHandler.h: Added.
12945         (WebCore::CCInputHandler::~CCInputHandler):
12946         (WebCore::CCInputHandler::CCInputHandler):
12947         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
12948         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
12949         (WebCore::CCLayerTreeHost::initialize):
12950         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
12951         (WebCore::CCLayerTreeHost::compositorIdentifier):
12952         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
12953         (WebCore::CCLayerTreeHostImpl::scrollRootLayer):
12954         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
12955         * platform/graphics/chromium/cc/CCProxy.h:
12956         * platform/graphics/chromium/cc/CCScrollController.h: Added.
12957         (WebCore::CCScrollController::CCScrollController):
12958         (WebCore::CCScrollController::~CCScrollController):
12959         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
12960         (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
12961         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
12962         (WebCore::CCSingleThreadProxy::compositorIdentifier):
12963         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
12964         (WebCore::CCThreadProxyScrollControllerAdapter::create):
12965         (WebCore::CCThreadProxyScrollControllerAdapter::~CCThreadProxyScrollControllerAdapter):
12966         (WebCore::CCThreadProxyScrollControllerAdapter::scrollRootLayer):
12967         (WebCore::CCThreadProxyScrollControllerAdapter::CCThreadProxyScrollControllerAdapter):
12968         (WebCore::CCThreadProxy::CCThreadProxy):
12969         (WebCore::CCThreadProxy::initializeLayerRenderer):
12970         (WebCore::CCThreadProxy::compositorIdentifier):
12971         (WebCore::CCThreadProxy::beginFrameAndCommit):
12972         (WebCore::CCThreadProxy::initializeLayerRendererOnCCThread):
12973         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
12974         * platform/graphics/chromium/cc/CCThreadProxy.h:
12975
12976 2011-10-05  Andreas Kling  <kling@webkit.org>
12977
12978         Shrink OutlineValue.
12979         https://bugs.webkit.org/show_bug.cgi?id=69436
12980
12981         Reviewed by Darin Adler.
12982
12983         Move OutlineValue::m_isAuto up into the base class (BorderValue.)
12984         This shrinks OutlineValue by 32 bit, which in turn shrinks
12985         StyleBackgroundData by one CPU word.
12986
12987         This reduces memory consumption by 250 kB (on 64-bit) when loading
12988         the full HTML5 spec.
12989
12990         * rendering/style/BorderValue.h:
12991         (WebCore::BorderValue::BorderValue):
12992         * rendering/style/OutlineValue.h:
12993         (WebCore::OutlineValue::OutlineValue):
12994         (WebCore::OutlineValue::isAuto):
12995
12996 2011-10-05  Chang Shu  <cshu@webkit.org>
12997
12998         [WK2] WebKitTestRunner needs LayoutTestController.dumpConfigurationForViewport
12999         https://bugs.webkit.org/show_bug.cgi?id=69365
13000
13001         Reviewed by Darin Adler.
13002
13003         Expose computeViewportAttributes for mac build.
13004
13005         * WebCore.exp.in:
13006
13007 2011-10-05  Anna Cavender  <annacc@chromium.org>
13008
13009         Functions to make <track> enabled at runtime, including changes to
13010         CodeGeneratorvV8 to allow entire interfaces (not just attributes) to
13011         be runtime-enabled.
13012         https://bugs.webkit.org/show_bug.cgi?id=69352
13013
13014         Reviewed by Adam Barth.
13015
13016         No new tests. No new functionality.
13017
13018         * bindings/generic/RuntimeEnabledFeatures.cpp:
13019         * bindings/generic/RuntimeEnabledFeatures.h:
13020         (WebCore::RuntimeEnabledFeatures::webkitVideoTrackEnabled):
13021         (WebCore::RuntimeEnabledFeatures::setWebkitVideoTrackEnabled):
13022         * bindings/scripts/CodeGeneratorV8.pm:
13023         * html/HTMLMediaElement.cpp:
13024         (WebCore::HTMLMediaElement::loadTextTracks):
13025         * html/HTMLTrackElement.idl:
13026
13027 2011-10-05  Kenneth Russell  <kbr@google.com>
13028
13029         Mask underlying RENDERER and VENDOR strings
13030         https://bugs.webkit.org/show_bug.cgi?id=69389
13031
13032         Reviewed by Sam Weinig.
13033
13034         Test: fast/canvas/webgl/renderer-and-vendor-strings.html
13035
13036         * html/canvas/WebGLGetInfo.h:
13037         * html/canvas/WebGLRenderingContext.cpp:
13038         (WebCore::WebGLRenderingContext::getParameter):
13039
13040 2011-10-05  Sachin Puranik  <jcqt43@motorola.com>
13041
13042         Spec change - option.label should be reflected like option.value
13043         https://bugs.webkit.org/show_bug.cgi?id=68684
13044
13045         Reviewed by Darin Adler.
13046
13047         Incorporating the recent change in spec for label attribute of 
13048         option element. While retrieving the "Label" IDL attribute return
13049         the "Label" content attribute if present , else return the 
13050         value of textContent attribute.
13051
13052         Tests: fast/forms/option-label-trim-html-spaces.html
13053                fast/forms/option-value-and-label-changed-by-js.html
13054
13055         * dom/OptionElement.cpp:
13056         (WebCore::OptionElement::normalizeText):style fixes
13057         * dom/OptionElement.h: make collectOptionInnerText() protected.
13058         * html/HTMLOptionElement.cpp:
13059         (WebCore::HTMLOptionElement::label): return innerText if label attribute un-available.
13060         (WebCore::HTMLOptionElement::setLabel):setLabel() implementation.
13061         * html/HTMLOptionElement.h: add setLabel declaration.
13062         * html/HTMLOptionElement.idl: Change reflect to ConvertNullToNullString in idl
13063
13064 2011-10-05  Rémi Duraffort  <remi.duraffort@st.com>
13065
13066         [GTK] Fix compilation with gtk v2.20.1
13067         https://bugs.webkit.org/show_bug.cgi?id=69418
13068
13069         Unreviewed build fix
13070
13071         * platform/gtk/GtkDragAndDropHelper.cpp:
13072
13073 2011-10-05  David Hyatt  <hyatt@apple.com>
13074
13075         https://bugs.webkit.org/show_bug.cgi?id=68731
13076         
13077         Outline sides not painted for region. Fix the painting and hit testing code for regions to add in
13078         the maximalOutlineSize on unclipped sides. Also fix some math errors with the computation of the
13079         translation offset and clip rects when overflow or outlines spill out.
13080
13081         Reviewed by Darin Adler.
13082
13083         Added new test in fast/regions.
13084
13085         * rendering/RenderFlowThread.cpp:
13086         (WebCore::RenderFlowThread::paintIntoRegion):
13087         (WebCore::RenderFlowThread::hitTestRegion):
13088         * rendering/RenderRegion.cpp:
13089         (WebCore::RenderRegion::regionOverflowRect):
13090
13091 2011-10-05  Yury Semikhatsky  <yurys@chromium.org>
13092         
13093         Unreviewed. Build fix: make InspectorStateClient.h Private in XCode project.
13094
13095         * WebCore.xcodeproj/project.pbxproj:
13096
13097 2011-10-05  Martin Robinson  <mrobinson@igalia.com>
13098
13099         libsoup-CRITICAL **: soup_message_io_pause: assertion `io != NULL' failed
13100         https://bugs.webkit.org/show_bug.cgi?id=64263
13101
13102         Reviewed by Xan Lopez.
13103
13104         No new tests. This is difficult to test because it relies on network
13105         timing and to catch and parse stdout.
13106
13107         Instead of allowing messages to pause and unpause after receiving headers,
13108         we wait until the completion of the sendRequestCallback. This will ensure
13109         that the SoupSession is in the correct state to allow for pausing and unpausing.
13110
13111         * platform/network/soup/ResourceHandleSoup.cpp:
13112         (WebCore::ResourceHandle::platformSetDefersLoading): Don't pause and unpause
13113         until the sendRequestCallback is called. We detect this situation by
13114         checking whether or not we have an input stream yet. Previously the code
13115         was only pausing until after soupMessage->status_code was not equal to
13116         SOUP_STATUS_NONE. This means that the message was pausable right after
13117         headers are received. sendRequestCallback happens some time after that.
13118
13119 2011-10-05  Ilya Tikhonovsky  <loislo@chromium.org>
13120
13121         Unreviewed build fix for Debug builders.
13122
13123         * inspector/WorkerInspectorController.cpp:
13124         (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
13125
13126 2011-10-05  Dirk Schulze  <krit@webkit.org>
13127
13128         SVG 1.1: ineffectual transform attribute for ClipPath
13129         https://bugs.webkit.org/show_bug.cgi?id=55361
13130
13131         Reviewed by Nikolas Zimmermann.
13132         
13133         Respect 'transform' attribute/property for <clip-path>.
13134         If the masking code path is used the mask context gets transformed, otherwise the path itself.
13135
13136         Tests: svg/clip-path/clip-path-transform-1.svg
13137                svg/clip-path/clip-path-transform-2.svg
13138                svg/dynamic-updates/SVGClipPathElement-transform-influences-hitTesting.html
13139
13140         * rendering/svg/RenderSVGResourceClipper.cpp:
13141         (WebCore::RenderSVGResourceClipper::pathOnlyClipping): Transform the clip path.
13142         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
13143         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage): Transform the context of the mask image.
13144         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect): Repaint rect must get concatenated with the current animated transformation.
13145         (WebCore::RenderSVGResourceClipper::hitTestClipContent): Point for hit testing must be transformed by the current animated transformation.
13146         * rendering/svg/RenderSVGResourceClipper.h:
13147
13148 2011-10-05  Pavel Feldman  <pfeldman@google.com>
13149
13150         Web Inspector: move elements panel update semantics from ElementsPanel to ElementsTreeOutline.
13151         https://bugs.webkit.org/show_bug.cgi?id=69431
13152
13153         Reviewed by Yury Semikhatsky.
13154
13155         * inspector/front-end/ConsoleMessage.js:
13156         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
13157         * inspector/front-end/ElementsPanel.js:
13158         (WebInspector.ElementsPanel.get this):
13159         (WebInspector.ElementsPanel):
13160         (WebInspector.ElementsPanel.prototype.show):
13161         (WebInspector.ElementsPanel.prototype.hide):
13162         (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
13163         (WebInspector.ElementsPanel.prototype._reset):
13164         (WebInspector.ElementsPanel.prototype._nodeRemoved):
13165         (WebInspector.ElementsPanel.prototype.updateBreadcrumb.selectCrumbFunction):
13166         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
13167         * inspector/front-end/ElementsTreeOutline.js:
13168         (WebInspector.ElementsTreeOutline):
13169         (WebInspector.ElementsTreeOutline.prototype.wireToDomAgent):
13170         (WebInspector.ElementsTreeOutline.prototype.setVisible):
13171         (WebInspector.ElementsTreeOutline.prototype.addEventListener):
13172         (WebInspector.ElementsTreeOutline.prototype.removeEventListener):
13173         (WebInspector.ElementsTreeOutline.prototype.selectDOMNode):
13174         (WebInspector.ElementsTreeOutline.prototype.update):
13175         (WebInspector.ElementsTreeOutline.prototype._selectedNodeChanged):
13176         (WebInspector.ElementsTreeOutline.prototype.findTreeElement.parentNode):
13177         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
13178         (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor):
13179         (WebInspector.ElementsTreeOutline.prototype._ondrop.callback):
13180         (WebInspector.ElementsTreeOutline.prototype._ondrop):
13181         (WebInspector.ElementsTreeOutline.prototype.adjustCollapsedRange):
13182         (WebInspector.ElementsTreeOutline.prototype._updateModifiedNodes):
13183         (WebInspector.ElementsTreeElement.prototype.insertChildElement):
13184         (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
13185         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.dispose):
13186         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
13187         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded):
13188         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
13189         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
13190         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
13191         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
13192         (WebInspector.ElementsTreeElement.prototype._editingCancelled):
13193         ():
13194         * inspector/front-end/externs.js:
13195         (WebInspector.ElementsTreeOutline):
13196         * inspector/front-end/utilities.js:
13197
13198 2011-10-05  Yury Semikhatsky  <yurys@chromium.org>
13199
13200         Web Inspector: provide a way for persisting worker inspector state
13201         https://bugs.webkit.org/show_bug.cgi?id=69422
13202
13203         Worker inspector can persist and restore its state. InspectorStateClient is
13204         exctracted into a separate interface and has a custom implementation in case
13205         of worker inspector.
13206
13207         Reviewed by Pavel Feldman.
13208
13209         * GNUmakefile.list.am:
13210         * WebCore.gypi:
13211         * WebCore.vcproj/WebCore.vcproj:
13212         * WebCore.xcodeproj/project.pbxproj:
13213         * inspector/InspectorClient.h:
13214         * inspector/InspectorState.cpp:
13215         (WebCore::InspectorState::InspectorState):
13216         * inspector/InspectorState.h:
13217         * inspector/InspectorStateClient.h: Copied from Source/WebCore/inspector/InspectorClient.h.
13218         (WebCore::InspectorStateClient::~InspectorStateClient):
13219         (WebCore::InspectorStateClient::updateInspectorStateCookie):
13220         * inspector/WorkerInspectorController.cpp:
13221         (WebCore::WorkerInspectorController::WorkerInspectorController):
13222         (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
13223         * inspector/WorkerInspectorController.h:
13224         * workers/DefaultSharedWorkerRepository.cpp:
13225         (WebCore::SharedWorkerProxy::postMessageToPageInspector):
13226         (WebCore::SharedWorkerProxy::updateInspectorStateCookie):
13227         * workers/WorkerMessagingProxy.cpp:
13228         (WebCore::WorkerMessagingProxy::updateInspectorStateCookie):
13229         * workers/WorkerMessagingProxy.h:
13230         * workers/WorkerReportingProxy.h:
13231
13232 2011-10-05  Abhishek Arya  <inferno@chromium.org>
13233
13234         Crash in SVGTRefElement::updateReferencedText.
13235         https://bugs.webkit.org/show_bug.cgi?id=67555
13236
13237         Reviewed by Rob Buis.
13238
13239         Test: svg/text/tref-event-listener-crash.svg
13240
13241         * svg/SVGTRefElement.cpp:
13242         (WebCore::SubtreeModificationEventListener::clear): This fixes the
13243         crash. there can be cases when our target is removed, but our event
13244         listener is alive. when our tref is going away, we need to disable
13245         those event listeners by nulling out our tref element.
13246         (WebCore::SubtreeModificationEventListener::handleEvent): Adding
13247         null check for tref element, which can happen in cases where
13248         event listener's clear is called, but we could not remove it from
13249         the target.
13250         (WebCore::SVGTRefElement::~SVGTRefElement): There are always
13251         cases when removedFromDocument is not called. So, important to
13252         clear event listener in those cases.
13253         (WebCore::SVGTRefElement::svgAttributeChanged): Use common
13254         function buildPendingResource.
13255         (WebCore::SVGTRefElement::buildPendingResource): Common function
13256         to prevent triple duplication of same code. made it more readable.
13257         (WebCore::SVGTRefElement::insertedIntoDocument): Use common
13258         function buildPendingResource.
13259         (WebCore::SVGTRefElement::removedFromDocument): Use new helper
13260         removeEventListener.
13261         (WebCore::SVGTRefElement::clearEventListener): Helper to clear
13262         event listener. Name chosen to not collide with Node::removeEventListener.
13263         * svg/SVGTRefElement.h: definition of new helpers.
13264         * svg/SVGTextPathElement.cpp:
13265         (WebCore::SVGTextPathElement::insertedIntoDocument): Copy same
13266         logic as tref and use element. more asserts and easy bailouts.
13267
13268 2011-10-05  Pavel Feldman  <pfeldman@google.com>
13269
13270         Not reviewed: restoring : shortcut in inspector.
13271
13272         * inspector/front-end/ScriptsPanel.js:
13273         (WebInspector.ScriptsPanel.prototype._createSidebarButtons):
13274
13275 2011-10-05  Andreas Kling  <kling@webkit.org>
13276
13277         Shrink FontDescription.
13278         https://bugs.webkit.org/show_bug.cgi?id=69426
13279
13280         Reviewed by Nikolas Zimmermann.
13281
13282         Pack FontDescription's members in a bitfield, effectively shrinking
13283         the class by two CPU-words. This reduces memory consumption by ~1 MB
13284         on 64-bit when loading the full HTML5 spec.
13285
13286         * platform/graphics/FontDescription.h:
13287         (WebCore::FontDescription::orientation):
13288         (WebCore::FontDescription::textOrientation):
13289         (WebCore::FontDescription::widthVariant):
13290
13291 2011-10-05  Vsevolod Vlasov  <vsevik@chromium.org>
13292
13293         Web Inspector: Add support for search in script content.
13294         https://bugs.webkit.org/show_bug.cgi?id=69015
13295
13296         Reviewed by Pavel Feldman.
13297
13298         Tests: http/tests/inspector/search/search-in-concatenated-script.html
13299                http/tests/inspector/search/search-in-script.html
13300
13301         * inspector/Inspector.json:
13302         * inspector/InspectorDebuggerAgent.cpp:
13303         (WebCore::InspectorDebuggerAgent::searchInContent):
13304         (WebCore::InspectorDebuggerAgent::getScriptSource):
13305         * inspector/InspectorDebuggerAgent.h:
13306         * inspector/front-end/ContentProviders.js:
13307         (WebInspector.ScriptContentProvider.prototype.searchInContent):
13308         (WebInspector.ConcatenatedScriptsContentProvider.prototype._sortedScripts.var):
13309         (WebInspector.ConcatenatedScriptsContentProvider.prototype._sortedScripts):
13310         (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
13311         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent.maybeCallback):
13312         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent.searchCallback):
13313         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent):
13314         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
13315         * inspector/front-end/Script.js:
13316         (WebInspector.Script.prototype.requestSource.didGetScriptSource):
13317         (WebInspector.Script.prototype.requestSource):
13318         (WebInspector.Script.prototype.searchInContent):
13319
13320 2011-10-05  Alexis Menard  <alexis.menard@openbossa.org>
13321
13322         [Qt][WK2] Default directories and paths are missing for LocalStorage, Database and IconDatabase.
13323         https://bugs.webkit.org/show_bug.cgi?id=69111
13324
13325         Reviewed by Kenneth Rohde Christiansen.
13326
13327         Provide default path for LocalStorage, Database and IconDatabase using QDesktopServices.
13328
13329         No new tests : existing ones should cover.
13330
13331         * platform/qt/CookieJarQt.cpp:
13332         (WebCore::SharedCookieJarQt::SharedCookieJarQt):
13333
13334 2011-10-05  Patrick Gansterer  <paroga@webkit.org>
13335
13336         Unreviewed build fix for !ENABLE(FILTERS) after r96203.
13337
13338         * rendering/svg/SVGResourcesCache.cpp:
13339         (WebCore::SVGResourcesCache::clientUpdatedFromElement):
13340
13341 2011-10-05  Ilya Tikhonovsky  <loislo@chromium.org>
13342
13343         Unreviewed build fix for windows bots after r96679.
13344
13345         * html/NumberInputType.h:
13346
13347 2011-10-04  Pavel Feldman  <pfeldman@google.com>
13348
13349         Web Inspector: make ResourceView(s) compile
13350         https://bugs.webkit.org/show_bug.cgi?id=69351
13351
13352         Reviewed by Yury Semikhatsky.
13353
13354         * inspector/compile-front-end.sh:
13355         * inspector/front-end/CookiesTable.js:
13356         (WebInspector.CookiesTable.prototype._sortCookies):
13357         * inspector/front-end/DataGrid.js:
13358         * inspector/front-end/EmptyView.js:
13359         * inspector/front-end/FontView.js:
13360         (WebInspector.FontView.prototype._createContentIfNeeded):
13361         * inspector/front-end/ImageView.js:
13362         (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
13363         (WebInspector.ImageView.prototype._createContentIfNeeded):
13364         (WebInspector.ImageView.prototype._openInNewTab):
13365         * inspector/front-end/NetworkItemView.js:
13366         * inspector/front-end/ResourceCookiesView.js:
13367         * inspector/front-end/ResourceHTMLView.js:
13368         (WebInspector.ResourceHTMLView.prototype.hide):
13369         * inspector/front-end/ResourceHeadersView.js:
13370         (WebInspector.ResourceHeadersView.prototype._refreshParms):
13371         (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle):
13372         (WebInspector.ResourceHeadersView.prototype._refreshHeaders):
13373         (WebInspector.ResourceHeadersView.prototype._refreshHeadersText):
13374         * inspector/front-end/ResourceJSONView.js:
13375         (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.parseJSONP):
13376         * inspector/front-end/ResourcePreviewView.js:
13377         * inspector/front-end/ResourceResponseView.js:
13378         * inspector/front-end/ResourceTimingView.js:
13379         (WebInspector.ResourceTimingView.createTimingTable):
13380         * inspector/front-end/ResourceView.js:
13381         (WebInspector.ResourceSourceFrame):
13382         * inspector/front-end/SourceFrame.js:
13383         * inspector/front-end/TabbedPane.js:
13384         * inspector/front-end/UIUtils.js:
13385         (Number.secondsToString):
13386         (Number.bytesToString):
13387         * inspector/front-end/inspector.js:
13388
13389 2011-10-04  Ilya Tikhonovsky  <loislo@chromium.org>
13390
13391         Web Inspector: debuggerPresentatioModel.linkifyLocation leaks updateAnchor closure instances.
13392         https://bugs.webkit.org/show_bug.cgi?id=69146
13393
13394         In many places we use linkifyLocation function to produce a link node which updates automatically when the source file is changed on the fly.
13395         Such changes happen when we use pretty print or another operation that changes the source code somehow.
13396         linkifyLocation associates a new instance of updateAnchor closure with the each link node and add the closure to the SourceMappingUpdated event's list.
13397         As the result the node<->closure pairs wouldn't be collected until reset the UI and DebuggerPresentationModel.
13398
13399         Reviewed by Pavel Feldman.
13400
13401         Test: inspector/debugger/linkifier.html
13402
13403         * inspector/front-end/ConsoleMessage.js:
13404         (WebInspector.ConsoleMessageImpl):
13405         (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation):
13406         * inspector/front-end/ConsoleView.js:
13407         (WebInspector.ConsoleView.prototype._consoleCleared):
13408         (WebInspector.ConsoleCommandResult):
13409         (WebInspector.ConsoleMessage.create):
13410         (WebInspector.ConsoleMessage.createTextMessage):
13411         * inspector/front-end/DebuggerPresentationModel.js:
13412         (WebInspector.DebuggerPresentationModel.prototype.createLinkifier):
13413         (WebInspector.DebuggerPresentationModel.Linkifier):
13414         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
13415         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
13416         (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateSourceAnchors):
13417         (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
13418         * inspector/front-end/EventListenersSidebarPane.js:
13419         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
13420         (WebInspector.EventListenersSidebarPane.prototype.update):
13421         ():
13422         * inspector/front-end/NetworkPanel.js:
13423         (WebInspector.NetworkLogView):
13424         (WebInspector.NetworkLogView.prototype._reset):
13425         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
13426         * inspector/front-end/ProfileDataGridTree.js:
13427         (WebInspector.ProfileDataGridNode.prototype.createCell):
13428         * inspector/front-end/ProfileView.js:
13429         (WebInspector.CPUProfileView):
13430         (WebInspector.CPUProfileView.prototype._resetClicked):
13431         * inspector/front-end/TimelinePanel.js:
13432         (WebInspector.TimelinePanel):
13433         (WebInspector.TimelinePanel.prototype._linkifyLocation):
13434         (WebInspector.TimelinePanel.prototype._linkifyCallFrame):
13435         (WebInspector.TimelinePanel.prototype._clearPanel):
13436         (WebInspector.TimelinePanel.FormattedRecord):
13437         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
13438         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
13439         (WebInspector.TimelinePanel.PopupContentHelper):
13440         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
13441         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
13442         * inspector/front-end/inspector.js:
13443
13444 2011-10-03  Andreas Kling  <kling@webkit.org>
13445
13446         REGRESSION(r82611) InlineBox has 33 bits of bitset, causing alignment issues and extra memory use.
13447         https://bugs.webkit.org/show_bug.cgi?id=64914
13448
13449         Reviewed by Antti Koivisto.
13450
13451         Remove InlineBox::prevOnLineExists() and its two accompanying bitfields
13452         since nobody is using them anymore. nextOnLineExists() is still used by
13453         GTK+ accessibility code.
13454
13455         Also added a compile-time assertion to guard against future bloating of
13456         the InlineBox class.
13457
13458         * rendering/InlineBox.cpp:
13459         (WebCore::SameSizeAsInlineBox::~SameSizeAsInlineBox):
13460         * rendering/InlineBox.h:
13461         (WebCore::InlineBox::InlineBox):
13462
13463 2011-10-05  Andreas Kling  <kling@webkit.org>
13464
13465         Shrink FontFallbackList.
13466         https://bugs.webkit.org/show_bug.cgi?id=69093
13467
13468         Rubber-stamped by Antti Koivisto.
13469
13470         Workaround MSVC quirk by making enum bitfield "unsigned".
13471
13472         * platform/graphics/FontFallbackList.h:
13473
13474 2011-10-05  Andreas Kling  <kling@webkit.org>
13475
13476         Shrink StyleRareNonInheritedData.
13477         https://bugs.webkit.org/show_bug.cgi?id=69331
13478
13479         Reviewed by Darin Adler.
13480
13481         Workaround MSVC quirk by making enum bitfields "unsigned".
13482
13483         * rendering/style/RenderStyle.h:
13484         (WebCore::InheritedFlags::regionOverflow):
13485         (WebCore::InheritedFlags::transformStyle3D):
13486         (WebCore::InheritedFlags::backfaceVisibility):
13487         (WebCore::InheritedFlags::pageSizeType):
13488         * rendering/style/StyleRareNonInheritedData.h:
13489
13490 2011-10-05  Pavel Feldman  <pfeldman@chromium.org>
13491
13492         Web Inspector: add CSS model classes to the compilation.
13493         https://bugs.webkit.org/show_bug.cgi?id=69376
13494
13495         Reviewed by Yury Semikhatsky.
13496
13497         * inspector/compile-front-end.sh:
13498         * inspector/front-end/CSSCompletions.js:
13499         * inspector/front-end/CSSKeywordCompletions.js:
13500         (WebInspector.CSSKeywordCompletions.forProperty):
13501         * inspector/front-end/CSSStyleModel.js:
13502         (WebInspector.CSSStyleDeclaration):
13503         (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
13504         (WebInspector.CSSStyleModelResourceBinding.prototype.canSetContent):
13505         * inspector/front-end/ResourceTreeModel.js:
13506         * inspector/front-end/StylesSidebarPane.js:
13507         (WebInspector.StylesSidebarPane.prototype._containsInherited):
13508         (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
13509         (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
13510         (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
13511         * inspector/front-end/externs.js:
13512         (Array.prototype.keySet):
13513
13514 2011-10-05  Kent Tamura  <tkent@chromium.org>
13515
13516         Input styles are unexpectedly shared regardless of required status difference.
13517         https://bugs.webkit.org/show_bug.cgi?id=69402
13518
13519         Reviewed by Daniel Bates.
13520
13521         Tests: fast/css/pseudo-required-shared.html
13522
13523         * css/CSSStyleSelector.cpp:
13524         (WebCore::CSSStyleSelector::canShareStyleWithControl): Check the difference of required().
13525
13526 2011-10-04  Kent Tamura  <tkent@chromium.org>
13527
13528         Remove Node::willBlur()
13529         https://bugs.webkit.org/show_bug.cgi?id=69395
13530
13531         Reviewed by Ryosuke Niwa.
13532
13533         Revert the WebCore part of r87371 because
13534         FrameSelection::textWillBeReplaced() doesn't set focus anymore.
13535         No new tests. Covered by fast/forms/input-number-blur-twice.html.
13536
13537         * dom/Document.cpp:
13538         (WebCore::Document::setFocusedNode): Revert r87371.
13539         * dom/Node.cpp: ditto.
13540         * dom/Node.h: ditto.
13541         * html/HTMLInputElement.cpp:
13542         (WebCore::HTMLInputElement::handleBlurEvent): ditto.
13543         * html/HTMLInputElement.h: ditto.
13544         * html/InputType.cpp:
13545         (WebCore::InputType::handleBlurEvent): ditto.
13546         * html/InputType.h: ditto.
13547         * html/NumberInputType.cpp:
13548         (WebCore::NumberInputType::handleBlurEvent): ditto.
13549         * html/NumberInputType.h: ditto.
13550
13551 2011-10-04  Kent Tamura  <tkent@chromium.org>
13552
13553         Introduce feature flags for incomplete input types
13554         https://bugs.webkit.org/show_bug.cgi?id=68971
13555
13556         Reviewed by Hajime Morita.
13557
13558         * Configurations/FeatureDefines.xcconfig:
13559          Add ENABLE_INPUT_TYPE_* flags. They are enabled only for iOS.
13560         * html/DateInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_DATE)
13561         * html/DateInputType.h: ditto.
13562         * html/DateTimeInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_DATETIME)
13563         * html/DateTimeInputType.h: ditto.
13564         * html/DateTimeLocalInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_DATETIMELOCAL)
13565         * html/DateTimeLocalInputType.h: ditto.
13566         * html/InputType.cpp:
13567         (WebCore::createInputTypeFactoryMap):
13568          Recognizes type attribute value only if it is enabled by ENABLE(INPUT_TYPE_*).
13569         * html/MonthInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_MONTH)
13570         * html/MonthInputType.h: ditto.
13571         * html/TimeInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_TIME)
13572         * html/TimeInputType.h: ditto.
13573         * html/WeekInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_WEEK)
13574         * html/WeekInputType.h: ditto.
13575
13576 2011-10-04  David Hyatt  <hyatt@apple.com>
13577
13578         https://bugs.webkit.org/show_bug.cgi?id=69398
13579
13580         [CSS3 Regions] Support the region-overflow property properly.
13581         
13582         (1) Change -webkit-break to break, since the -webkit-region-overflow property already has the
13583         -webkit- extension.
13584         
13585         (2) Fix clipping so that it works when overflow is set or when region break is set.
13586         
13587         (3) Refactor all the pagination spots to check if a next page is available using the new hasNextPage
13588         function. This prevents us from paginating if we hit the last region and further breaks are no longer
13589         allowed.
13590         
13591         Reviewed by Dan Bernstein.
13592
13593         Added new tests in fast/regions.
13594
13595         * css/CSSParser.cpp:
13596         (WebCore::CSSParser::parseValue):
13597         * css/CSSPrimitiveValueMappings.h:
13598         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
13599         (WebCore::CSSPrimitiveValue::operator RegionOverflow):
13600         * css/CSSValueKeywords.in:
13601         * rendering/RenderBlock.cpp:
13602         (WebCore::RenderBlock::collapseMargins):
13603         (WebCore::RenderBlock::estimateLogicalTopPosition):
13604         (WebCore::RenderBlock::hasNextPage):
13605         (WebCore::RenderBlock::nextPageLogicalTop):
13606         (WebCore::RenderBlock::applyBeforeBreak):
13607         (WebCore::RenderBlock::applyAfterBreak):
13608         (WebCore::RenderBlock::pageLogicalHeightForOffset):
13609         (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
13610         (WebCore::RenderBlock::adjustForUnsplittableChild):
13611         (WebCore::RenderBlock::pushToNextPageWithMinimumLogicalHeight):
13612         (WebCore::RenderBlock::adjustLinePositionForPagination):
13613         * rendering/RenderBlock.h:
13614         * rendering/RenderFlowThread.cpp:
13615         (WebCore::RenderFlowThread::layout):
13616         (WebCore::RenderFlowThread::repaintRectangleInRegions):
13617         (WebCore::RenderFlowThread::regionRemainingLogicalHeightForLine):
13618         * rendering/RenderFlowThread.h:
13619         * rendering/RenderRegion.cpp:
13620         (WebCore::RenderRegion::regionOverflowRect):
13621
13622 2011-10-04  Mark Hahnenberg  <mhahnenberg@apple.com>
13623
13624         Add static ClassInfo structs to classes that override JSCell::getCallData
13625         https://bugs.webkit.org/show_bug.cgi?id=69311
13626
13627         Reviewed by Darin Adler.
13628
13629         No new tests.
13630
13631         Added ClassInfo structs to each class that defined its own getCallData 
13632         function but did not already have its own ClassInfo struct.  This is a 
13633         necessary addition for when we switch over to looking up getCallData from 
13634         the MethodTable in ClassInfo rather than doing the virtual call (which we 
13635         are removing).  These new ClassInfo structs are public because we often 
13636         use these structs in other areas of the code to uniquely identify JSC classes and 
13637         to enforce runtime invariants based on those class identities using ASSERTs.
13638         Also added new createStructure methods to those classes that didn't have 
13639         them so that the new ClassInfo structs would be used when creating the Structures 
13640         in these classes.
13641
13642         * bridge/qt/qt_runtime.cpp:
13643         * bridge/qt/qt_runtime.h:
13644
13645 2011-10-03  Geoffrey Garen  <ggaren@apple.com>
13646
13647         Some JSValue cleanup
13648         https://bugs.webkit.org/show_bug.cgi?id=69320
13649
13650         Reviewed by Darin Adler.
13651
13652         * bindings/js/JSDOMBinding.cpp:
13653         (WebCore::valueToDate):
13654         * bindings/js/JSErrorHandler.cpp:
13655         (WebCore::JSErrorHandler::handleEvent):
13656         * bindings/js/JSEventListener.cpp:
13657         (WebCore::JSEventListener::handleEvent):
13658         * bindings/js/JSSQLTransactionCustom.cpp:
13659         (WebCore::JSSQLTransaction::executeSql):
13660         * bindings/js/JSSQLTransactionSyncCustom.cpp:
13661         (WebCore::JSSQLTransactionSync::executeSql):
13662         * bindings/js/ScriptValue.cpp:
13663         (WebCore::jsToInspectorValue):
13664         * bindings/js/SerializedScriptValue.cpp:
13665         (WebCore::CloneSerializer::dumpIfTerminal):
13666         * bindings/objc/WebScriptObject.mm:
13667         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
13668         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
13669         (JSC::Bindings::convertValueToJValue): Updated for JSC changes.
13670
13671 2011-10-04  Sadrul Habib Chowdhury  <sadrul@chromium.org>
13672
13673         Fix FrameView::scrollElementToRect to take already scrolled amount into consideration.
13674         https://bugs.webkit.org/show_bug.cgi?id=69220
13675
13676         Reviewed by Simon Fraser.
13677
13678         * page/FrameView.cpp:
13679         (WebCore::FrameView::scrollElementToRect):
13680
13681 2011-10-04  Anders Carlsson  <andersca@apple.com>
13682
13683         Ignore the warning about using 'override'.
13684
13685         * WebCore.vcproj/WebCore.vcproj:
13686
13687 2011-10-04  Sam Weinig  <sam@webkit.org>
13688
13689         Stub out WorkerScriptController::disableEval for v8 to fix the build.
13690
13691         * bindings/v8/WorkerScriptController.cpp:
13692         (WebCore::WorkerScriptController::disableEval):
13693         * bindings/v8/WorkerScriptController.h:
13694
13695 2011-10-04  Sam Weinig  <sam@webkit.org>
13696
13697         OVERRIDE seems to not be working for Windows. Remove it for now.
13698
13699         * dom/Document.h:
13700         * workers/WorkerContext.h:
13701
13702 2011-10-04  Sam Weinig  <sam@webkit.org>
13703
13704         Wean ContentSecurityPolicy from the Document
13705         https://bugs.webkit.org/show_bug.cgi?id=69387
13706
13707         Reviewed by Adam Barth.
13708
13709         * bindings/js/WorkerScriptController.cpp:
13710         (WebCore::WorkerScriptController::disableEval):
13711         * bindings/js/WorkerScriptController.h:
13712         * dom/Document.cpp:
13713         (WebCore::Document::disableEval):
13714         * dom/Document.h:
13715         * workers/WorkerContext.cpp:
13716         (WebCore::WorkerContext::disableEval):
13717         * workers/WorkerContext.h:
13718         * dom/ScriptExecutionContext.h:
13719         Add pure virtual disableEval to ScriptExecutionContext, so that ContentSecurityPolicy
13720         can call it for both Documents and WorkerContexts.
13721
13722         * page/ContentSecurityPolicy.cpp:
13723         (WebCore::ContentSecurityPolicy::didReceiveHeader):
13724         Call the new ScriptExecutionContext::disableEval() function.
13725
13726         (WebCore::ContentSecurityPolicy::reportViolation):
13727         Use ScriptExecutionContext::addMessage() instead of going directly to the DOMWindow.
13728
13729 2011-10-04  Anders Carlsson  <andersca@apple.com>
13730
13731         Move code into ScrollElasticityController::beginScrollGesture()
13732         https://bugs.webkit.org/show_bug.cgi?id=69383
13733
13734         Reviewed by John Sullivan.
13735
13736         * platform/mac/ScrollAnimatorMac.h:
13737         Add new ScrollElasticityControllerClient member functions.
13738
13739         * platform/mac/ScrollAnimatorMac.mm:
13740         (WebCore::ScrollAnimatorMac::isHorizontalScrollerPinnedToMinimumPosition):
13741         (WebCore::ScrollAnimatorMac::isHorizontalScrollerPinnedToMaximumPosition):
13742         (WebCore::ScrollAnimatorMac::stretchAmount):
13743         (WebCore::ScrollAnimatorMac::startSnapRubberbandTimer):
13744         (WebCore::ScrollAnimatorMac::stopSnapRubberbandTimer):
13745         Implement the new ScrollElasticityControllerClient member functions.
13746
13747         (WebCore::ScrollAnimatorMac::beginScrollGesture):
13748         Move code into ScrollElasticityController::beginScrollGesture and call it directly.
13749
13750         * platform/mac/ScrollElasticityController.h:
13751         Add new ScrollElasticityControllerClient member functions.
13752
13753         * platform/mac/ScrollElasticityController.mm:
13754         (WebCore::reboundDeltaForElasticDelta):
13755         (WebCore::ScrollElasticityController::beginScrollGesture):
13756         Set up the scroll gesture state.
13757
13758         (WebCore::ScrollElasticityController::stopSnapRubberbandTimer):
13759         New helper function.
13760
13761 2011-10-04  Scott Graham  <scottmg@chromium.org>
13762
13763         Add GAMEPAD feature flag
13764         https://bugs.webkit.org/show_bug.cgi?id=66859
13765
13766         Reviewed by Darin Fisher.
13767
13768         No new tests, as no new functionality yet.
13769
13770         * Configurations/FeatureDefines.xcconfig:
13771         * GNUmakefile.am:
13772         * features.pri:
13773
13774 2011-10-04  Fady Samuel  <fsamuel@chromium.org>
13775
13776         [Chromium] Moved files towards GTK removal
13777         https://bugs.webkit.org/show_bug.cgi?id=69229
13778
13779         Reviewed by Tony Chang.
13780
13781         * WebCore.gypi:
13782         * platform/chromium/PlatformThemeChromiumLinux.cpp: Renamed from Source/WebCore/platform/chromium/PlatformThemeChromiumGtk.cpp.
13783         (WebCore::PlatformThemeChromiumLinux::setScrollbarColors):
13784         (WebCore::clamp):
13785         (WebCore::PlatformThemeChromiumLinux::saturateAndBrighten):
13786         (WebCore::PlatformThemeChromiumLinux::outlineColor):
13787         (WebCore::PlatformThemeChromiumLinux::paintArrowButton):
13788         * platform/chromium/PlatformThemeChromiumLinux.h: Renamed from Source/WebCore/platform/chromium/PlatformThemeChromiumGtk.h.
13789         (WebCore::PlatformThemeChromiumLinux::thumbInactiveColor):
13790         (WebCore::PlatformThemeChromiumLinux::thumbActiveColor):
13791         (WebCore::PlatformThemeChromiumLinux::trackColor):
13792         (WebCore::PlatformThemeChromiumLinux::PlatformThemeChromiumLinux):
13793
13794 2011-10-04  James Robinson  <jamesr@chromium.org>
13795
13796         [chromium] Extract scheduling logic from CCThreadProxy to its own class
13797         https://bugs.webkit.org/show_bug.cgi?id=69049
13798
13799         Reviewed by Kenneth Russell.
13800
13801         This partially extracts the commit/draw scheduling from CCThreadProxy to a separate isolated class. This makes
13802         the commit/draw logic easier to test, understand and extend.
13803
13804         There is one subtle behavior change here to the way that the function formerly known as
13805         CCLayerTreeHost::setNeedsCommitAndRedraw works. Previously, this would trigger a begin frame message, if one
13806         wasn't pending, and then trigger a redraw if one wasn't pending. This was subtly wrong - the intent of that call
13807         is that a redraw should happen after the commit. It isn't useful to draw before the commit occurs. This patch
13808         changes the name of the function to setNeedsCommitThenRedraw and only requests a redraw after a commit occurs.
13809
13810         Covered by new CCSchedulerTest unit tests, CCLayerTreeHostTest unit tests, and compositing/ layout tests.
13811
13812         * WebCore.gypi:
13813         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
13814         (WebCore::CCLayerTreeHost::initialize):
13815         (WebCore::CCLayerTreeHost::setZoomAnimatorTransform):
13816         (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
13817         (WebCore::CCLayerTreeHost::setViewport):
13818         (WebCore::CCLayerTreeHost::setVisible):
13819         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
13820         * platform/graphics/chromium/cc/CCProxy.h:
13821         * platform/graphics/chromium/cc/CCScheduler.cpp: Added.
13822         (WebCore::CCScheduler::CCScheduler):
13823         (WebCore::CCScheduler::requestCommit):
13824         (WebCore::CCScheduler::requestCommitThenRedraw):
13825         (WebCore::CCScheduler::requestRedraw):
13826         (WebCore::CCScheduler::didCommit):
13827         (WebCore::CCScheduler::didDraw):
13828         * platform/graphics/chromium/cc/CCScheduler.h: Added.
13829         (WebCore::CCSchedulerClient::~CCSchedulerClient):
13830         (WebCore::CCScheduler::create):
13831         (WebCore::CCScheduler::commitPending):
13832         (WebCore::CCScheduler::redrawPending):
13833         (WebCore::CCScheduler::redrawAfterCommit):
13834         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
13835         (WebCore::CCSingleThreadProxy::setNeedsCommitThenRedraw):
13836         (WebCore::CCSingleThreadProxy::setNeedsRedraw):
13837         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
13838         (WebCore::CCSingleThreadProxy::doComposite):
13839         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
13840         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
13841         (WebCore::CCThreadProxySchedulerClient::create):
13842         (WebCore::CCThreadProxySchedulerClient::~CCThreadProxySchedulerClient):
13843         (WebCore::CCThreadProxySchedulerClient::scheduleBeginFrameAndCommit):
13844         (WebCore::CCThreadProxySchedulerClient::scheduleDrawAndPresent):
13845         (WebCore::CCThreadProxySchedulerClient::CCThreadProxySchedulerClient):
13846         (WebCore::CCThreadProxy::CCThreadProxy):
13847         (WebCore::CCThreadProxy::compositeAndReadback):
13848         (WebCore::CCThreadProxy::initializeLayerRenderer):
13849         (WebCore::CCThreadProxy::setNeedsCommit):
13850         (WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
13851         (WebCore::CCThreadProxy::setNeedsCommitThenRedraw):
13852         (WebCore::CCThreadProxy::setNeedsCommitThenRedrawOnCCThread):
13853         (WebCore::CCThreadProxy::setNeedsRedraw):
13854         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
13855         (WebCore::CCThreadProxy::finishAllRenderingOnCCThread):
13856         (WebCore::CCThreadProxy::obtainBeginFrameAndCommitTaskFromCCThread):
13857         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
13858         (WebCore::CCThreadProxy::beginFrameAndCommit):
13859         (WebCore::CCThreadProxy::commitOnCCThread):
13860         (WebCore::CCThreadProxy::drawLayersAndPresentOnCCThread):
13861         (WebCore::CCThreadProxy::initializeImplOnCCThread):
13862         * platform/graphics/chromium/cc/CCThreadProxy.h:
13863
13864 2011-10-04  Alexey Proskuryakov  <ap@apple.com>
13865
13866         https://bugs.webkit.org/show_bug.cgi?id=67774
13867         PDF in a frameset is not displayed, always downloads
13868
13869         Reviewed by Darin Adler.
13870
13871         * WebCore.exp.in:
13872         * WebCore.xcodeproj/project.pbxproj:
13873         Added exports necessary to subclass a ScrollableArea.
13874
13875 2011-10-04  Anders Carlsson  <andersca@apple.com>
13876
13877         ScrollElasticityController should keep track of the rubberband timer state
13878         https://bugs.webkit.org/show_bug.cgi?id=69381
13879
13880         Reviewed by Sam Weinig.
13881
13882         Add a m_snapRubberbandTimerIsActive member variable to ScrollElasticityController
13883         and use it instead of checking whether the m_snapRubberbandTimer is active.
13884
13885         Eventually, ScrollElasticityControllerClient will have two member functions for starting
13886         and stopping the timer, and the ScrollElasticityController will call them at the appropriate times.
13887
13888         * platform/mac/ScrollAnimatorMac.mm:
13889         (WebCore::ScrollAnimatorMac::handleWheelEvent):
13890         (WebCore::ScrollAnimatorMac::beginScrollGesture):
13891         It's OK to stop the timer unconditionally.
13892
13893         (WebCore::ScrollAnimatorMac::snapRubberBand):
13894         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
13895         * platform/mac/ScrollElasticityController.h:
13896         * platform/mac/ScrollElasticityController.mm:
13897         (WebCore::ScrollElasticityController::ScrollElasticityController):
13898
13899 2011-10-04  Anders Carlsson  <andersca@apple.com>
13900
13901         Move all rubber-banding related member variables to ScrollElasticityController
13902         https://bugs.webkit.org/show_bug.cgi?id=69379
13903
13904         Reviewed by Dan Bernstein.
13905
13906         * platform/mac/ScrollAnimatorMac.h:
13907         * platform/mac/ScrollAnimatorMac.mm:
13908         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
13909         (WebCore::ScrollAnimatorMac::handleWheelEvent):
13910         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
13911         (WebCore::ScrollAnimatorMac::beginScrollGesture):
13912         (WebCore::ScrollAnimatorMac::snapRubberBand):
13913         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
13914         * platform/mac/ScrollElasticityController.h:
13915         * platform/mac/ScrollElasticityController.mm:
13916         (WebCore::ScrollElasticityController::ScrollElasticityController):
13917
13918 2011-10-04  Anders Carlsson  <andersca@apple.com>
13919
13920         Build fixes for everyone.
13921
13922         * platform/chromium/ScrollAnimatorChromiumMac.h:
13923         * platform/chromium/ScrollAnimatorChromiumMac.mm:
13924         (WebCore::isScrollingLeftAndShouldNotRubberBand):
13925         (WebCore::isScrollingRightAndShouldNotRubberBand):
13926         (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
13927         Fix Chromium build.
13928
13929         * platform/gtk/PlatformWheelEventGtk.cpp:
13930         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
13931         Fix GTK+ build.
13932
13933 2011-10-04  Anders Carlsson  <andersca@apple.com>
13934
13935         Add a ScrollElasticityController class and move some members over from ScrollAnimatorMac
13936         https://bugs.webkit.org/show_bug.cgi?id=69373
13937
13938         Reviewed by David Hyatt.
13939
13940         ScrollElasticityController is a new class that will handle the rubber-banding when handling scroll events.
13941
13942         * WebCore.xcodeproj/project.pbxproj:
13943         * platform/mac/ScrollAnimatorMac.h:
13944         * platform/mac/ScrollAnimatorMac.mm:
13945         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
13946         (WebCore::ScrollAnimatorMac::handleWheelEvent):
13947         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
13948         (WebCore::ScrollAnimatorMac::beginScrollGesture):
13949         (WebCore::ScrollAnimatorMac::snapRubberBand):
13950         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
13951         * platform/mac/ScrollElasticityController.h: Added.
13952         (WebCore::ScrollElasticityControllerClient::~ScrollElasticityControllerClient):
13953         * platform/mac/ScrollElasticityController.mm: Added.
13954         (WebCore::ScrollElasticityController::ScrollElasticityController):
13955
13956 2011-10-04  David Hyatt  <hyatt@apple.com>
13957
13958         https://bugs.webkit.org/show_bug.cgi?id=69372
13959         
13960         [CSS3 Regions] Make sure overflow:visible lets content spill out of regions.
13961
13962         Reviewed by Anders Carlsson.
13963
13964         No new tests, since plenty of results changed.
13965
13966         * rendering/RenderFlowThread.cpp:
13967         (WebCore::RenderFlowThread::paintIntoRegion):
13968         (WebCore::RenderFlowThread::hitTestRegion):
13969         (WebCore::RenderFlowThread::repaintRectangleInRegions):
13970         (WebCore::RenderFlowThread::firstRegion):
13971         (WebCore::RenderFlowThread::lastRegion):
13972         * rendering/RenderFlowThread.h:
13973         * rendering/RenderRegion.cpp:
13974         (WebCore::RenderRegion::regionOverflowRect):
13975         (WebCore::RenderRegion::isFirstRegion):
13976         (WebCore::RenderRegion::isLastRegion):
13977         (WebCore::RenderRegion::layout):
13978         * rendering/RenderRegion.h:
13979         (WebCore::RenderRegion::setRegionRect):
13980         (WebCore::RenderRegion::regionRect):
13981
13982 2011-10-04  Chris Rogers  <crogers@google.com>
13983
13984         Avoid unnecessary ASSERT in AudioDSPKernelProcessor::setNumberOfChannels()
13985         https://bugs.webkit.org/show_bug.cgi?id=69361
13986
13987         Reviewed by James Robinson.
13988
13989         No new tests.  This changes no JavaScript API.
13990
13991         * platform/audio/AudioDSPKernelProcessor.cpp:
13992         (WebCore::AudioDSPKernelProcessor::setNumberOfChannels):
13993
13994 2011-10-04  Anders Carlsson  <andersca@apple.com>
13995
13996         Use const PlatformWheelEvent references where possible
13997         https://bugs.webkit.org/show_bug.cgi?id=69367
13998
13999         Reviewed by Sam Weinig.
14000
14001         * page/EventHandler.cpp:
14002         (WebCore::EventHandler::handleWheelEvent):
14003         * platform/ScrollAnimator.cpp:
14004         (WebCore::ScrollAnimator::handleWheelEvent):
14005         * platform/ScrollAnimator.h:
14006         * platform/ScrollView.cpp:
14007         (WebCore::ScrollView::wheelEvent):
14008         * platform/ScrollView.h:
14009         * platform/ScrollableArea.cpp:
14010         (WebCore::ScrollableArea::handleWheelEvent):
14011         * platform/ScrollableArea.h:
14012         * platform/chromium/ScrollAnimatorChromiumMac.h:
14013         * platform/chromium/ScrollAnimatorChromiumMac.mm:
14014         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
14015         * platform/mac/ScrollAnimatorMac.h:
14016         * platform/mac/ScrollAnimatorMac.mm:
14017         (WebCore::isScrollingLeftAndShouldNotRubberBand):
14018         (WebCore::isScrollingRightAndShouldNotRubberBand):
14019         (WebCore::ScrollAnimatorMac::handleWheelEvent):
14020         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
14021
14022 2011-10-04  Andreas Kling  <kling@webkit.org>
14023
14024         Shrink HTMLTableCellElement.
14025         https://bugs.webkit.org/show_bug.cgi?id=69347
14026
14027         Reviewed by Antti Koivisto.
14028
14029         Don't cache the rowspan and colspan attributes on the element.
14030         This shrinks HTMLTableCellElement by one CPU word, reducing memory
14031         consumption by 80 kB (on 64-bit) when loading the full HTML5 spec.
14032
14033         * html/HTMLTableCellElement.cpp:
14034         (WebCore::HTMLTableCellElement::HTMLTableCellElement):
14035         (WebCore::HTMLTableCellElement::colSpan):
14036         (WebCore::HTMLTableCellElement::rowSpan):
14037         (WebCore::HTMLTableCellElement::parseMappedAttribute):
14038         * html/HTMLTableCellElement.h:
14039
14040 2011-10-04  Sheriff Bot  <webkit.review.bot@gmail.com>
14041
14042         Unreviewed, rolling out r96630.
14043         http://trac.webkit.org/changeset/96630
14044         https://bugs.webkit.org/show_bug.cgi?id=69368
14045
14046         Caused assertion failures in validateCell (Requested by
14047         mhahnenberg on #webkit).
14048
14049         * bridge/qt/qt_runtime.cpp:
14050         * bridge/qt/qt_runtime.h:
14051
14052 2011-10-04  Cary Clark  <caryclark@google.com>
14053
14054         Enable sub pixel text (Skia on Mac)
14055         https://bugs.webkit.org/show_bug.cgi?id=69354
14056         http://code.google.com/p/chromium/issues/detail?id=98165
14057
14058         Reviewed by Eric Seidel.
14059
14060         No new tests. Layout test pixel results have been
14061         disabled and will be rebaselined once all Skia on Mac
14062         changes are in.
14063
14064         * platform/graphics/skia/FontSkia.cpp:
14065         (WebCore::setupPaint):
14066         Enable sub pixel text. This is set by default to enabled
14067         by CoreGraphics, but by default disabled on Skia.
14068
14069 2011-10-04  Anders Carlsson  <andersca@apple.com>
14070
14071         Remove PlatformWheelEvent::m_isAccepted
14072         https://bugs.webkit.org/show_bug.cgi?id=69357
14073
14074         Reviewed by Darin Adler.
14075
14076         Remove PlatformWheelEvent::m_isAccepted and all the getters/setters.
14077
14078         * page/EventHandler.cpp:
14079         (WebCore::EventHandler::handleWheelEvent):
14080         (WebCore::EventHandler::handleGestureEvent):
14081         * page/mac/EventHandlerMac.mm:
14082         (WebCore::EventHandler::wheelEvent):
14083         * platform/PlatformWheelEvent.h:
14084         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
14085         * platform/ScrollAnimator.cpp:
14086         (WebCore::ScrollAnimator::handleWheelEvent):
14087         * platform/chromium/PopupContainer.cpp:
14088         (WebCore::PopupContainer::handleGestureEvent):
14089         * platform/chromium/ScrollAnimatorChromiumMac.mm:
14090         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
14091         * platform/efl/PlatformWheelEventEfl.cpp:
14092         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
14093         * platform/mac/ScrollAnimatorMac.mm:
14094         (WebCore::ScrollAnimatorMac::handleWheelEvent):
14095         * platform/mac/WheelEventMac.mm:
14096         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
14097         * platform/qt/WheelEventQt.cpp:
14098         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
14099         * platform/win/WheelEventWin.cpp:
14100         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
14101         * platform/wx/MouseWheelEventWx.cpp:
14102         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
14103
14104 2011-09-21  Cris Neckar  <cdn@chromium.org>
14105
14106         Hold refptr to identified previous sibling within findPlaceForCounter.
14107         https://bugs.webkit.org/show_bug.cgi?id=68563
14108
14109         Reviewed by Adam Barth.
14110
14111         Test: fast/css/counters/counter-after-style-crash.html
14112
14113         * rendering/RenderCounter.cpp:
14114         (WebCore::findPlaceForCounter):
14115
14116 2011-10-04  Joshua Bell  <jsbell@chromium.org>
14117
14118         IndexedDB add() should fail if key is NaN
14119         https://bugs.webkit.org/show_bug.cgi?id=62286
14120
14121         Reviewed by Tony Chang.
14122
14123         Test: storage/indexeddb/invalid-keys.html
14124
14125         Implement special case - numbers are valid keys, except for NaN.
14126
14127         * bindings/v8/IDBBindingUtilities.cpp:
14128         (WebCore::createIDBKeyFromValue):
14129
14130 2011-10-04  Mark Hahnenberg  <mhahnenberg@apple.com>
14131
14132         Add static ClassInfo structs to classes that override JSCell::getCallData
14133         https://bugs.webkit.org/show_bug.cgi?id=69311
14134
14135         Reviewed by Darin Adler.
14136
14137         No new tests.
14138
14139         Added ClassInfo structs to each class that defined its own getCallData 
14140         function but did not already have its own ClassInfo struct.  This is a 
14141         necessary addition for when we switch over to looking up getCallData from 
14142         the MethodTable in ClassInfo rather than doing the virtual call (which we 
14143         are removing).  These new ClassInfo structs are public because we often 
14144         use these structs in other areas of the code to uniquely identify JSC classes and 
14145         to enforce runtime invariants based on those class identities using ASSERTs.
14146
14147         * bridge/qt/qt_runtime.cpp:
14148         * bridge/qt/qt_runtime.h:
14149
14150 2011-10-04  Ryosuke Niwa  <rniwa@webkit.org>
14151
14152         REGRESSION(r94274): setting input.value erroneously triggers focus event
14153         https://bugs.webkit.org/show_bug.cgi?id=69315
14154
14155         Reviewed by Kent Tamura.
14156
14157         Fixed the bug by adding a new flag to setSelection to avoid calling setFocusedNodeIfNeeded
14158         when called by nodeWillBeRemoved and textWillBeReplaced.
14159
14160         Added a manual test. Unfortunately, the test always passes in DRT.
14161
14162         * editing/FrameSelection.cpp:
14163         (WebCore::FrameSelection::setSelection):
14164         (WebCore::FrameSelection::respondToNodeModification):
14165         (WebCore::FrameSelection::textWillBeReplaced):
14166         * editing/FrameSelection.h:
14167         * manual-tests/mutate-unfocused-text-with-selection.html: Added.
14168
14169 2011-10-04  Young Han Lee  <joybro201@gmail.com>
14170
14171         HTML canvas strokes with dash and dashOffset
14172         https://bugs.webkit.org/show_bug.cgi?id=63933
14173
14174         Reviewed by Simon Fraser.
14175
14176         Add webkitLineDash and webkitLineDashOffset attributes to CanvasRenderingContext2D for JSC.
14177         These attributes can be used to determine the dash-style of stroke in HTML Canvas.
14178
14179         As this kind of attributes are not specified in the HTML Canvas specification yet,
14180         the 'webkit' prefix is added to its names.
14181
14182         Mozilla already implemented these attributes, mozDash and mozDashOffset [1], and this patch
14183         is created by referring to the implementation. This patch is basically using the specified
14184         behavior of stroke-dasharray and stroke-dashoffset in the SVG specification [2], except
14185         that doesn't support units or percentages, just floating point numbers.
14186
14187         [1] https://bugzilla.mozilla.org/show_bug.cgi?id=662038
14188         [2] http://www.w3.org/TR/SVG/painting.html#StrokeProperties
14189
14190         Tests: fast/canvas/canvas-webkitLineDash-invalid.html
14191                fast/canvas/canvas-webkitLineDash.html
14192
14193         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
14194         (WebCore::JSCanvasRenderingContext2D::webkitLineDash):
14195         (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
14196         * html/canvas/CanvasRenderingContext2D.cpp:
14197         (WebCore::CanvasRenderingContext2D::State::State):
14198         (WebCore::CanvasRenderingContext2D::webkitLineDash):
14199         (WebCore::CanvasRenderingContext2D::setWebkitLineDash):
14200         (WebCore::CanvasRenderingContext2D::webkitLineDashOffset):
14201         (WebCore::CanvasRenderingContext2D::setWebkitLineDashOffset):
14202         * html/canvas/CanvasRenderingContext2D.h:
14203         * html/canvas/CanvasRenderingContext2D.idl:
14204
14205 2011-10-04  Matthew Delaney  <mdelaney@apple.com>
14206
14207         Allow canvas backing store to be lazily allocated
14208         https://bugs.webkit.org/show_bug.cgi?id=67054
14209
14210         Reviewed by Darin Adler.
14211
14212         No new tests; doesn't affect behavior.
14213
14214         * html/HTMLCanvasElement.cpp:
14215         (WebCore::HTMLCanvasElement::createImageBuffer): Removed the setting of lineWidth
14216         that caused the eager creation of ImageBuffer to use its GraphicsContext.
14217         * html/canvas/CanvasRenderingContext2D.cpp:
14218         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): Added in default
14219         line width setting along with other default context settings.
14220
14221 2011-10-04  Sam Weinig  <sam@webkit.org>
14222
14223         Add support for the CSP connect-src directive
14224         https://bugs.webkit.org/show_bug.cgi?id=69353
14225
14226         Reviewed by Adam Barth.
14227
14228         Add CSP support for XMLHttpRequest, WebSockets and EventSource.
14229
14230         Tests: http/tests/security/contentSecurityPolicy/connect-src-eventsource-allowed.html
14231                http/tests/security/contentSecurityPolicy/connect-src-eventsource-blocked.html
14232                http/tests/security/contentSecurityPolicy/connect-src-websocket-allowed.html
14233                http/tests/security/contentSecurityPolicy/connect-src-websocket-blocked.html
14234                http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-allowed.html
14235                http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-blocked.html
14236
14237         * page/ContentSecurityPolicy.cpp:
14238         (WebCore::ContentSecurityPolicy::allowConnectFromSource):
14239         (WebCore::ContentSecurityPolicy::addDirective):
14240         * page/ContentSecurityPolicy.h:
14241         Add connect-src directive parsing and predicate.
14242
14243         * page/EventSource.cpp:
14244         (WebCore::EventSource::create):
14245         * websockets/WebSocket.cpp:
14246         (WebCore::WebSocket::connect):
14247         * xml/XMLHttpRequest.cpp:
14248         (WebCore::XMLHttpRequest::open):
14249         Test allowConnectFromSource when establishing a connection.
14250
14251 2011-10-03  David Hyatt  <hyatt@apple.com>
14252
14253         https://bugs.webkit.org/show_bug.cgi?id=69317
14254         
14255         [CSS3 Regions] Make overflow:hidden/auto/scroll sections behave properly when split across regions. This
14256         includes sizing and positioning independently in each region, clipping independently in each region, and
14257         shifting to avoid floats in each region.
14258
14259         Reviewed by Anders Carlsson.
14260
14261         Added many new tests in fast/regions.
14262
14263         * editing/Editor.cpp:
14264         (WebCore::Editor::insideVisibleArea):
14265         Patching a call to overflowClipRect, which now includes a region argument so that clipping can be adjusted
14266         per-region.
14267
14268         * rendering/RenderBlock.cpp:
14269         (WebCore::RenderBlock::layoutBlock):
14270         Don't clear out the cached region information when the width changes. Instead make a new call to
14271         the flow thread to check if widths changed in any region and set relayoutChildren to true if so.
14272
14273         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
14274         This is a new function that has been split out from determineLogicalLeftPositionForChild so that it can
14275         be called by region code to compute offsets independently in each region without altering the overall object's
14276         logical left position.
14277         
14278         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
14279         Patched to call computeStartPositionDeltaForChildAvoidingFloats instead of doing the work of avoiding the floats
14280         itself.
14281
14282         (WebCore::RenderBlock::computeLogicalLocationForFloat):
14283         Fix the left clamping code to clamp to the left border in the correct region rather than always just clamping
14284         to 0.
14285
14286         (WebCore::RenderBlock::logicalLeftOffsetForContent):
14287         (WebCore::RenderBlock::logicalRightOffsetForContent):
14288         Tweaked to handle the new signature of borderBoxRectInRegion.
14289
14290         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
14291         Reworked not to return 0 on failure or when done, but to just return the current height. This is a more
14292         fitting answer for the function to return when no more floats remain.
14293
14294         (WebCore::RenderBlock::getClearDelta):
14295         Big changes to this function. It was never patched to support writing modes, so the new code is all
14296         writing-mode-aware now. Also improved the computeLogicalWidth() call to make sure margins didn't get incorrectly changed.
14297         The code computes transient information in each region as the object tries to find a place to fit, so that the
14298         old widths are properly retained when layout of that child later checks to see if it needs to relayout children or not.
14299
14300         (WebCore::RenderBlock::nodeAtPoint):
14301         Patched to call overflowClipRect with the region being hit tested.
14302
14303         (WebCore::inNormalFlow):
14304         Tweaked to not need the initialBlock variable.
14305
14306         (WebCore::RenderBlock::applyBeforeBreak):
14307         (WebCore::RenderBlock::applyAfterBreak):
14308         (WebCore::RenderBlock::pageLogicalHeightForOffset):
14309         (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
14310         (WebCore::RenderBlock::adjustForUnsplittableChild):
14311         (WebCore::RenderBlock::adjustLinePositionForPagination):
14312         (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
14313         Tweaked to use inRenderFlowThread() now that it exists. Also removing the regionsHaveUniformLogicalWidth()
14314         optimization, since you can't rely on that when objects size differently depending on floats. In other words,
14315         the future of pagination is variable width objects even in printing/columns.
14316
14317         (WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage):
14318         Renamed to make it more clear what logicalPageOffset() was. It's your offset from the top of the first page.
14319
14320         (WebCore::RenderBlock::regionAtBlockOffset):
14321         New helper function for accessing the region at a given offset within your block.
14322
14323         (WebCore::RenderBlock::logicalWidthChangedInRegions):
14324         New helper function that computes whether or not your logical width information changed in any regions. If so,
14325         relayoutChildren gets set to true (just as it would have when computeLogicalWidth for the overall block changes
14326         values).
14327
14328         (WebCore::RenderBlock::collapsedMarginBeforeForChild):
14329         (WebCore::RenderBlock::collapsedMarginAfterForChild):
14330         (WebCore::RenderBlock::marginBeforeForChild):
14331         (WebCore::RenderBlock::marginAfterForChild):
14332         (WebCore::RenderBlock::marginLogicalLeftForChild):
14333         (WebCore::RenderBlock::marginLogicalRightForChild):
14334         (WebCore::RenderBlock::marginStartForChild):
14335         (WebCore::RenderBlock::marginEndForChild):
14336         Tweaked because of const to take const arguments.
14337         
14338         * rendering/RenderBlock.h:
14339         (WebCore::RenderBlock::availableLogicalWidthForLine):
14340         (WebCore::RenderBlock::logicalRightOffsetForLine):
14341         (WebCore::RenderBlock::logicalLeftOffsetForLine):
14342         (WebCore::RenderBlock::startOffsetForLine):
14343         (WebCore::RenderBlock::logicalWidthForChild):
14344         (WebCore::RenderBlock::logicalHeightForChild):
14345         (WebCore::RenderBlock::logicalTopForChild):
14346         (WebCore::RenderBlock::logicalLeftForChild):
14347         (WebCore::RenderBlock::availableLogicalWidthForContent):
14348         (WebCore::RenderBlock::startOffsetForContent):
14349         (WebCore::RenderBlock::logicalLeftOffsetForContent):
14350         (WebCore::RenderBlock::logicalRightOffsetForContent):
14351         Reworking these functions so versions exist that take regions and page offsets to avoid having to recalculate
14352         where you are over and over again as you walk up a containing block chain.
14353
14354         * rendering/RenderBlockLineLayout.cpp:
14355         (WebCore::LineWidth::fitBelowFloats):
14356         Changed to handle the better return value for nextFloatLogicalBottomBelow.
14357         
14358         (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
14359         Removing the uniform logical width optimization.
14360
14361         * rendering/RenderBox.cpp:
14362         (WebCore::RenderBox::borderBoxRectInRegion):
14363         Changed to take a region and offset from the first page so that it doesn't have to be recomputed as you recur up
14364         the containing block chain.
14365
14366         (WebCore::RenderBox::clearRenderBoxRegionInfo):
14367         Changed to just use inRenderFlowThread().
14368
14369         (WebCore::RenderBox::pushContentsClip):
14370         Changed for the new region-parameterized overflow clip function.
14371         
14372         (WebCore::RenderBox::overflowClipRect):
14373         Now takes a region so that a specific clip rect can be returned sized to the appropriate border box in that
14374         region.
14375
14376         (WebCore::RenderBox::containingBlockLogicalWidthForContent):
14377         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
14378         Objects in flow threads no longer shrink to avoid floats when computing their overall widths. The region-specific
14379         check now does the shrinking. It checks at the point where the region slices the object, or the top of the object if
14380         it begins in the middle of the region.
14381
14382         (WebCore::RenderBox::computeLogicalWidth):
14383         (WebCore::RenderBox::computeLogicalWidthInRegion):
14384         Push all the rest of the computeLogicalWidth code into computeLogicalWidthInRegion.
14385         
14386         (WebCore::RenderBox::renderBoxRegionInfo):
14387         Changed to take the region and the offset from the top of the first page to avoid recomputation.
14388
14389         * rendering/RenderBox.h:
14390         (WebCore::RenderBox::hasRenderOverflow):
14391         (WebCore::RenderBox::hasVisualOverflow):
14392         New helper used by the RenderLayer code to avoid having to check visual overflow when none exists.
14393
14394         * rendering/RenderBoxModelObject.cpp:
14395         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
14396         Use the new region-specific overflow clip.
14397
14398         * rendering/RenderBoxRegionInfo.h:
14399         (WebCore::RenderBoxRegionInfo::shiftLogicalLeft):
14400         Helper used by the region code to shift a box over when floats cause it to move.
14401
14402         * rendering/RenderFlowThread.cpp:
14403         (WebCore::RenderFlowThread::computeLogicalWidth):
14404         Remove the optimization to avoid creating box info for uniform widths.
14405
14406         (WebCore::RenderFlowThread::paintIntoRegion):
14407         Make the clip rects used when painting the flow thread's layer tree temporary in each region.
14408
14409         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
14410         Removing the uniform logical width optimization
14411
14412         (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
14413         * rendering/RenderFlowThread.h:
14414         New helper called to see if a block needs to relayout its children because its width changed in some
14415         region.
14416
14417         * rendering/RenderLayer.cpp:
14418         (WebCore::RenderLayer::paint):
14419         (WebCore::RenderLayer::paintLayer):
14420         (WebCore::RenderLayer::hitTestLayer):
14421         (WebCore::RenderLayer::updateClipRects):
14422         (WebCore::RenderLayer::calculateClipRects):
14423         (WebCore::RenderLayer::parentClipRects):
14424         (WebCore::RenderLayer::backgroundClipRect):
14425         (WebCore::RenderLayer::calculateRects):
14426         (WebCore::RenderLayer::childrenClipRect):
14427         (WebCore::RenderLayer::selfClipRect):
14428         (WebCore::RenderLayer::repaintBlockSelectionGaps):
14429         * rendering/RenderLayer.h:
14430         * rendering/RenderLayerBacking.cpp:
14431         (WebCore::RenderLayerBacking::updateCompositedBounds):
14432         (WebCore::clipBox):
14433         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
14434         (WebCore::RenderLayerBacking::paintIntoLayer):
14435         * rendering/RenderLayerCompositor.cpp:
14436         (WebCore::RenderLayerCompositor::addToOverlapMap):
14437         (WebCore::RenderLayerCompositor::clippedByAncestor):
14438         Changing all the layer clipping code to pass regions through to all of the helper functions involved. This is
14439         so overflowClipRect can ultimately take a region. Eventually when we get positioned objects moving independently
14440         in each region, we'll patch the "clip" property as well, and it will be much easier because all the plumbing has
14441         been put in place here for overflow.
14442         
14443         * rendering/RenderObject.cpp:
14444         (WebCore::RenderObject::enclosingRenderFlowThread):
14445         Optimized to not walk up the render tree if we're in layout and a currentRenderFlowThread() exists.
14446
14447         * rendering/RenderRegion.cpp:
14448         (WebCore::RenderRegion::renderBoxRegionInfo):
14449         (WebCore::RenderRegion::setRenderBoxRegionInfo):
14450         (WebCore::RenderRegion::takeRenderBoxRegionInfo):
14451         Removing the optimization for uniform logical width regions. Changed remove to take so that the caller
14452         can examine it before deleting.
14453
14454         (WebCore::RenderRegion::offsetFromLogicalTopOfFirstPage):
14455         * rendering/RenderRegion.h:
14456         Helper function that computes the region's offset from the top of the first page.
14457
14458         * rendering/RenderTable.cpp:
14459         (WebCore::RenderTable::overflowClipRect):
14460         (WebCore::RenderTable::nodeAtPoint):
14461         * rendering/RenderTable.h:
14462         * rendering/RenderTableCell.h:
14463         * rendering/RenderTableSection.cpp:
14464         (WebCore::RenderTableSection::nodeAtPoint):
14465         Changed to pass the region to overflowClipRect.
14466
14467         * rendering/RenderTreeAsText.cpp:
14468         (WebCore::writeLayers):
14469         Modified because the layer clip functions need regions now.
14470
14471         * rendering/RenderView.h:
14472         (WebCore::RenderView::pushLayoutState):
14473         Changed to use inRenderFlowThread over view()->hasRenderFlowThread.
14474         
14475         * rendering/svg/RenderSVGRoot.cpp:
14476         (WebCore::RenderSVGRoot::paint):
14477         Patched to use the new overflowClipRect that is region-specific.
14478
14479 2011-10-04  Anders Carlsson  <andersca@apple.com>
14480
14481         More work towards making PlatformWheelEvent immutable
14482         https://bugs.webkit.org/show_bug.cgi?id=69348
14483
14484         Reviewed by Sam Weinig.
14485
14486         More work on getting rid of m_isAccepted from PlatformWheelEvent. Add more asserts
14487         that the return value of handleWheelEvent is equal to m_isAccepted.
14488
14489         * page/EventHandler.cpp:
14490         (WebCore::EventHandler::handleWheelEvent):
14491         * platform/ScrollAnimator.cpp:
14492         (WebCore::ScrollAnimator::handleWheelEvent):
14493
14494 2011-10-04  Cary Clark  <caryclark@google.com>
14495
14496         Inset focus ring (Skia on Mac)
14497         https://bugs.webkit.org/show_bug.cgi?id=69166
14498         http://code.google.com/p/chromium/issues/detail?id=97956
14499
14500         This focus ring was drawn too large and was left tracks
14501         in subsequent invalidations. Make it more closely match
14502         the CG version.
14503
14504         Reviewed by Adam Barth.
14505
14506         No new tests. This platform is not enabled.
14507
14508         * platform/graphics/skia/GraphicsContextSkia.cpp:
14509         (WebCore::getFocusRingOutset):
14510         (WebCore::GraphicsContext::drawFocusRing):
14511
14512 2011-10-03  Jon Lee  <jonlee@apple.com>
14513
14514         Extend DOM WheelEvent to differentiate between physical and logical scroll directions
14515         https://bugs.webkit.org/show_bug.cgi?id=68959
14516         <rdar://problem/10036688>
14517
14518         Reviewed by Sam Weinig.
14519
14520         Test: fast/events/wheelevent-direction-inverted-from-device.html
14521
14522         * dom/WheelEvent.cpp:
14523         (WebCore::WheelEvent::WheelEvent):
14524         (WebCore::WheelEvent::initWheelEvent):
14525         (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
14526         * dom/WheelEvent.h:
14527         (WebCore::WheelEvent::create):
14528         (WebCore::WheelEvent::webkitDirectionInvertedFromDevice):
14529         * dom/WheelEvent.idl: Added the webkitDirectionInvertedFromDevice idl attribute.
14530         * platform/PlatformWheelEvent.h:
14531         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
14532         (WebCore::PlatformWheelEvent::webkitDirectionInvertedFromDevice):
14533         * platform/efl/PlatformWheelEventEfl.cpp:
14534         (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
14535         * platform/gtk/PlatformWheelEventGtk.cpp:
14536         (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
14537         * platform/mac/WheelEventMac.mm:
14538         (WebCore::PlatformWheelEvent::PlatformWheelEvent): if building on Lion or later, use
14539         [NSEvent isDirectionInvertedFromDevice].
14540         * platform/qt/WheelEventQt.cpp:
14541         (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
14542         * platform/win/WheelEventWin.cpp:
14543         (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
14544         * platform/wx/MouseWheelEventWx.cpp:
14545         (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
14546
14547 2011-10-04  Rémi Duraffort  <remi.duraffort@st.com>
14548
14549         [EFL] Fix compilation when SQLite and/or libxslt are not installed in /usr/include
14550         https://bugs.webkit.org/show_bug.cgi?id=69338
14551
14552         Unreviewed build fix
14553
14554         * CMakeListsEfl.txt:
14555
14556 2011-10-03 Ken Buchanan <kenrb@chromium.org>
14557
14558         Resource loader should block HTTP redirects to local resources
14559         https://bugs.webkit.org/show_bug.cgi?id=68706
14560
14561         Reviewed by Adam Barth.
14562
14563         Modified MainResourceLoader to add an extra security check on
14564         HTTP redirects. Also, moved isFeedWithNestedProtocolInHTTPFamily
14565         to SecurityOrigin.cpp.
14566
14567         * loader/FrameLoader.cpp:
14568         (WebCore::isFeedWithNestedProtocolInHTTPFamily):
14569         (WebCore::FrameLoader::loadFrameRequest):
14570         * loader/MainResourceLoader.cpp:
14571         (WebCore::MainResourceLoader::willSendRequest):
14572         * page/SecurityOrigin.cpp:
14573         (WebCore::isFeedWithNestedProtocolInHTTPFamily):
14574         (WebCore::SecurityOrigin::canDisplay):
14575
14576 2011-10-04  Cary Clark  <caryclark@google.com>
14577
14578         Apply color profile found to decoded bitmap (Skia on Mac)
14579         https://bugs.webkit.org/show_bug.cgi?id=69144
14580         This fixes http://code.google.com/p/chromium/issues/detail?id=97830
14581
14582         Reviewed by Stephen White.
14583
14584         No new tests. This platform is not enabled.
14585
14586         * platform/image-decoders/ImageDecoder.h:
14587         Add color profile slot to Skia variation.
14588
14589         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
14590         (WebCore::resolveColorSpace):
14591         Adjust the bitmap in place to use the supplied color space.
14592
14593         (WebCore::createColorSpace):
14594         Create a CGColorSpace from a color profile.
14595
14596         (WebCore::ImageFrame::setColorProfile):
14597         Save the image's color profile until the image is complete.
14598
14599         (WebCore::ImageFrame::setStatus):
14600         Apply the color profile, if any, to the image.
14601
14602 2011-10-04  Leandro Pereira  <leandro@profusion.mobi>
14603
14604         [CMake] Unreviewed: pass feature definitions in the right format for the CSS scripts.
14605
14606         The Perl scripts in the css/ directory expect the definitions passed via
14607         --defines to be a string of space-separated entries, however we were passing a
14608         list of semicolon-separated strings, thus making all feature defines actually
14609         be ignored.
14610
14611         Detected after r96433, which checked for some definitions in
14612         CSSPropertyNames.in.
14613
14614         No new tests, this is a build fix.
14615
14616         * CMakeLists.txt:
14617
14618 2011-10-04  Pavel Feldman  <pfeldman@google.com>
14619
14620         Web Inspector: make SourceFrame compile.
14621         https://bugs.webkit.org/show_bug.cgi?id=69345
14622
14623         Reviewed by Yury Semikhatsky.
14624
14625         * inspector/compile-front-end.sh:
14626         * inspector/front-end/DOMAgent.js:
14627         (WebInspector.DOMAgent.prototype.inspectElement):
14628         (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
14629         * inspector/front-end/ElementsPanel.js:
14630         (WebInspector.ElementsPanel.prototype._inspectElementRequested):
14631         * inspector/front-end/ObjectPropertiesSection.js:
14632         (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
14633         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
14634         * inspector/front-end/ResourcesPanel.js:
14635         (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
14636         * inspector/front-end/SourceFrame.js:
14637         (WebInspector.SourceFrame.prototype._onShowPopover.showObjectPopover):
14638         (WebInspector.SourceFrame.prototype._onShowPopover):
14639         (WebInspector.SourceFrame.prototype._editBreakpointCondition):
14640         (WebInspector.SourceFrame.prototype.startEditing):
14641         (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
14642         (WebInspector.SourceFrame.prototype.commitEditing):
14643         (WebInspector.SourceFrameDelegate.prototype.requestContent):
14644         (WebInspector.SourceFrameDelegate.prototype.debuggingSupported):
14645         (WebInspector.SourceFrameDelegate.prototype.setBreakpoint):
14646         (WebInspector.SourceFrameDelegate.prototype.removeBreakpoint):
14647         (WebInspector.SourceFrameDelegate.prototype.updateBreakpoint):
14648         (WebInspector.SourceFrameDelegate.prototype.findBreakpoint):
14649         (WebInspector.SourceFrameDelegate.prototype.continueToLine):
14650         (WebInspector.SourceFrameDelegate.prototype.canEditScriptSource):
14651         (WebInspector.SourceFrameDelegate.prototype.setScriptSource):
14652         (WebInspector.SourceFrameDelegate.prototype.setScriptSourceIsBeingEdited):
14653         (WebInspector.SourceFrameDelegate.prototype.debuggerPaused):
14654         (WebInspector.SourceFrameDelegate.prototype.evaluateInSelectedCallFrame):
14655         (WebInspector.SourceFrameDelegate.prototype.releaseEvaluationResult):
14656         (WebInspector.SourceFrameDelegate.prototype.suggestedFileName):
14657         * inspector/front-end/externs.js:
14658         (WebInspector.log):
14659         * inspector/front-end/inspector.js:
14660         (WebInspector.log.logMessage):
14661         (WebInspector.log):
14662         * inspector/front-end/utilities.js:
14663         ():
14664
14665 2011-10-04  Mikhail Naganov  <mnaganov@chromium.org>
14666
14667         Web Inspector: Factor out object properties popup.
14668         https://bugs.webkit.org/show_bug.cgi?id=69234
14669
14670         Also, for HTML elements, show a non-empty id value in the element name.
14671
14672         Reviewed by Pavel Feldman.
14673
14674         * WebCore.gypi:
14675         * WebCore.vcproj/WebCore.vcproj:
14676         * inspector/front-end/ObjectPopoverHelper.js: Added.
14677         * inspector/front-end/SourceFrame.js: Extracted from here.
14678         (WebInspector.SourceFrame.prototype._initializeTextViewer):
14679         (WebInspector.SourceFrame.prototype._mouseDown):
14680         (WebInspector.SourceFrame.prototype._onShowPopover.showObjectPopover):
14681         (WebInspector.SourceFrame.prototype._onShowPopover):
14682         * inspector/front-end/WebKit.qrc:
14683         * inspector/front-end/inspector.html:
14684
14685 2011-10-04  Pavel Feldman  <pfeldman@google.com>
14686
14687         Web Inspector: compile text editor.
14688         https://bugs.webkit.org/show_bug.cgi?id=69339
14689
14690         Drive-by compilation for color, database and dom storage entities.
14691
14692         Reviewed by Yury Semikhatsky.
14693
14694         * inspector/Inspector.json:
14695         * inspector/compile-front-end.sh:
14696         * inspector/front-end/Color.js:
14697         (WebInspector.Color.prototype._individualRGBValueToFloatValue):
14698         * inspector/front-end/KeyboardShortcut.js:
14699         (WebInspector.KeyboardShortcut.makeKey):
14700         (WebInspector.KeyboardShortcut.makeKeyFromEvent):
14701         (WebInspector.KeyboardShortcut.makeDescriptor):
14702         * inspector/front-end/SourceCSSTokenizer.js:
14703         * inspector/front-end/SourceCSSTokenizer.re2js:
14704         * inspector/front-end/SourceHTMLTokenizer.js:
14705         * inspector/front-end/SourceHTMLTokenizer.re2js:
14706         * inspector/front-end/SourceJavaScriptTokenizer.js:
14707         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
14708         * inspector/front-end/SourceTokenizer.js:
14709         (WebInspector.SourceTokenizer.prototype._charAt):
14710         (WebInspector.SourceTokenizer.prototype.createInitialCondition):
14711         (WebInspector.SourceTokenizer.prototype.nextToken):
14712         * inspector/front-end/TextEditorHighlighter.js:
14713         (WebInspector.TextEditorHighlighter.prototype.highlight):
14714         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
14715         * inspector/front-end/TextEditorModel.js:
14716         * inspector/front-end/TextViewer.js:
14717         (WebInspector.TextViewerDelegate.prototype.doubleClick):
14718         (WebInspector.TextViewerDelegate.prototype.beforeTextChanged):
14719         (WebInspector.TextViewerDelegate.prototype.afterTextChanged):
14720         (WebInspector.TextViewerDelegate.prototype.commitEditing):
14721         (WebInspector.TextViewerDelegate.prototype.cancelEditing):
14722         (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
14723         (WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
14724         (WebInspector.TextViewerDelegate.prototype.suggestedFileName):
14725         (WebInspector.TextEditorMainPanel.prototype._enclosingLineRowOrSelf):
14726         (WebInspector.TextEditorMainPanel.prototype._createLink):
14727         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
14728         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
14729         * inspector/front-end/externs.js:
14730         (WebInspector.completeURL):
14731         (window.getComputedStyle):
14732         (Event.prototype.initWebKitWheelEvent):
14733         * inspector/front-end/utilities.js:
14734
14735 2011-10-04  Vsevolod Vlasov  <vsevik@chromium.org>
14736
14737         Web Inspector: Timeline panel shortcut for filtering short records should have shorter description.
14738         https://bugs.webkit.org/show_bug.cgi?id=69333
14739
14740         Reviewed by Pavel Feldman.
14741
14742         * English.lproj/localizedStrings.js:
14743         * inspector/front-end/TimelinePanel.js:
14744         (WebInspector.TimelinePanel.prototype._registerShortcuts):
14745
14746 2011-10-04  Andreas Kling  <kling@webkit.org>
14747
14748         Shrink StyleRareNonInheritedData.
14749         https://bugs.webkit.org/show_bug.cgi?id=69331
14750
14751         Reviewed by Antti Koivisto.
14752
14753         Rearrange the members and move all small types into the bitfield.
14754         This shrinks StyleRareNonInheritedData by two CPU words, reducing memory
14755         consumption by 140 kB (on 64-bit) when loading the full HTML5 spec.
14756
14757         * rendering/style/StyleRareNonInheritedData.cpp:
14758         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
14759         * rendering/style/StyleRareNonInheritedData.h:
14760
14761 2011-10-04  Vsevolod Vlasov  <vsevik@chromium.org>
14762
14763         Web Inspector: Remove http/tests/inspector/network/disabled-cache-crash.html.
14764         https://bugs.webkit.org/show_bug.cgi?id=69332
14765
14766         Reviewed by Pavel Feldman.
14767
14768         * WebCore.exp.in:
14769         * testing/Internals.cpp:
14770         * testing/Internals.h:
14771         * testing/Internals.idl:
14772
14773 2011-10-04  Pavel Feldman  <pfeldman@chromium.org>
14774
14775         Web Inspector: make DataGrid compile
14776         https://bugs.webkit.org/show_bug.cgi?id=69334
14777
14778         Reviewed by Yury Semikhatsky.
14779
14780         * inspector/compile-front-end.sh:
14781         * inspector/front-end/DataGrid.js:
14782         (WebInspector.DataGrid):
14783         (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode):
14784         (WebInspector.DataGrid.prototype._startEditing):
14785         (WebInspector.DataGrid.prototype._startEditingConfig):
14786         (WebInspector.DataGrid.prototype._editingCommitted.moveToNextIfNeeded):
14787         (WebInspector.DataGrid.prototype._editingCommitted):
14788         (WebInspector.DataGrid.prototype._editingCancelled):
14789         (WebInspector.DataGrid.prototype.removeChildrenRecursive):
14790         (WebInspector.DataGrid.prototype._keyDown):
14791         (WebInspector.DataGrid.prototype._startResizerDragging):
14792         (WebInspector.DataGrid.prototype._resizerDragging):
14793         (WebInspector.DataGrid.prototype._endResizerDragging):
14794         (WebInspector.DataGridNode.prototype._attach):
14795         * inspector/front-end/UIUtils.js:
14796         (WebInspector.isBeingEdited):
14797         (WebInspector.markBeingEdited):
14798         (WebInspector.isEditingAnyField):
14799         (WebInspector.EditingConfig):
14800         (WebInspector.startEditing.blurEventListener):
14801         (WebInspector.startEditing.getContent):
14802         (WebInspector.startEditing.cleanUpAfterEditing):
14803         (WebInspector.startEditing.editingCancelled):
14804         (WebInspector.startEditing.editingCommitted):
14805         (WebInspector.startEditing.defaultFinishHandler):
14806         (WebInspector.startEditing):
14807         (WebInspector.startEditing.pasteEventListener):
14808         (WebInspector.startEditing.keyDownEventListener):
14809         * inspector/front-end/externs.js:
14810         (Array.prototype.remove):
14811         (window.getComputedStyle):
14812         * inspector/front-end/inspector.js:
14813
14814 2011-10-04  Andrey Kosyakov  <caseq@chromium.org>
14815
14816         Web Inspector: [Extensions API] extension panel's toolbar icon is incorrect when inspector window is docked
14817         https://bugs.webkit.org/show_bug.cgi?id=69336
14818
14819         Reviewed by Pavel Feldman.
14820
14821         * inspector/front-end/ExtensionPanel.js:
14822         (WebInspector.ExtensionPanel):
14823
14824 2011-10-04  Pavel Podivilov  <podivilov@chromium.org>
14825
14826         Web Inspector: update call frame location when source mapping is changed.
14827         https://bugs.webkit.org/show_bug.cgi?id=68997
14828
14829         Currently we use fake "debugger-paused" event hack to update execution line and call stack placards when source mapping is changed.
14830         - add PresentationCallFrame.createPlacard method to create "live" placards that are updated on source mapping changes.
14831         - remove PresentationCallFrame functionName, isInternalScript, and url getters.
14832         - fire execution-line-changed event when selected call frame or source mapping is changed.
14833
14834         Reviewed by Pavel Feldman.
14835
14836         * inspector/compile-front-end.sh:
14837         * inspector/front-end/CallStackSidebarPane.js:
14838         (WebInspector.CallStackSidebarPane.prototype.update):
14839         * inspector/front-end/CompilerSourceMapping.js:
14840         (WebInspector.ClosureCompilerSourceMappingPayload):
14841         (WebInspector.ClosureCompilerSourceMapping):
14842         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
14843         * inspector/front-end/ContentProviders.js:
14844         (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
14845         (WebInspector.CompilerSourceMappingContentProvider.prototype.searchInContent):
14846         * inspector/front-end/DebuggerPresentationModel.js:
14847         (WebInspector.DebuggerPresentationModel):
14848         (WebInspector.DebuggerPresentationModel.prototype.createPlacard.updatePlacard):
14849         (WebInspector.DebuggerPresentationModel.prototype.createPlacard):
14850         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
14851         (WebInspector.DebuggerPresentationModel.prototype._debuggerResumed):
14852         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
14853         (WebInspector.DebuggerPresentationModel.prototype.get selectedCallFrame):
14854         (WebInspector.DebuggerPresentationModel.prototype._dispatchExecutionLineChanged):
14855         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
14856         (WebInspector.PresentationCallFrame):
14857         (WebInspector.PresentationCallFrame.prototype.get rawSourceCode):
14858         (WebInspector.PresentationCallFrame.prototype.uiLocation):
14859         * inspector/front-end/ScriptsPanel.js:
14860         (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetUILocation):
14861         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
14862         (WebInspector.ScriptsPanel.prototype._executionLineChanged):
14863         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
14864         * inspector/front-end/externs.js:
14865         (WebInspector.displayNameForURL):
14866
14867 2011-10-04  Pavel Feldman  <pfeldman@chromium.org>
14868
14869         Not reviewed: inspector tests fix.
14870
14871         * inspector/front-end/ExtensionPanel.js:
14872         (WebInspector.ExtensionPanel):
14873         (WebInspector.ExtensionPanel.prototype.get toolbarItemLabel):
14874
14875 2011-09-29  Pavel Podivilov  <podivilov@chromium.org>
14876
14877         Web Inspector: add compiler source mapping support to RawSourceCode.
14878         https://bugs.webkit.org/show_bug.cgi?id=68891
14879
14880         Reviewed by Pavel Feldman.
14881
14882         * WebCore.gypi:
14883         * WebCore.vcproj/WebCore.vcproj:
14884         * inspector/front-end/BreakpointManager.js:
14885         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
14886         (WebInspector.BreakpointManager.prototype.setBreakpoint):
14887         (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
14888         * inspector/front-end/CompilerSourceMappingProvider.js: Added.
14889         (WebInspector.CompilerSourceMappingProvider):
14890         (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping):
14891         (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceCode):
14892         * inspector/front-end/DebuggerPresentationModel.js:
14893         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
14894         * inspector/front-end/RawSourceCode.js:
14895         (WebInspector.RawSourceCode.prototype.setCompilerSourceMappingProvider):
14896         (WebInspector.RawSourceCode.prototype._resourceFinished):
14897         (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
14898         (WebInspector.RawSourceCode.prototype._updateSourceMapping):
14899         (WebInspector.RawSourceCode.prototype._createSourceMapping.didLoadSourceMapping):
14900         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
14901         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
14902         (WebInspector.RawSourceCode.CompilerSourceMapping):
14903         (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.rawLocationToUILocation):
14904         (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiLocationToRawLocation):
14905         (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.get uiSourceCodeList):
14906         (WebInspector.CompilerSourceMappingProvider):
14907         (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping):
14908         (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceCode):
14909         * inspector/front-end/UISourceCodeContentProviders.js:
14910         (WebInspector.CompilerSourceMappingContentProvider):
14911         (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
14912         * inspector/front-end/WebKit.qrc:
14913         * inspector/front-end/inspector.html:
14914
14915 2011-10-04  Pavel Feldman  <pfeldman@google.com>
14916
14917         Web Inspector: start adding UI components to the compilation process.
14918         https://bugs.webkit.org/show_bug.cgi?id=69319
14919
14920         Reviewed by Yury Semikhatsky.
14921
14922         * WebCore.gypi:
14923         * WebCore.vcproj/WebCore.vcproj:
14924         * inspector/compile-front-end.sh:
14925         * inspector/front-end/Drawer.js:
14926         (WebInspector.Drawer.prototype.show.animationFinished):
14927         (WebInspector.Drawer.prototype.show):
14928         (WebInspector.Drawer.prototype.resize):
14929         * inspector/front-end/ElementsPanel.js:
14930         (WebInspector.ElementsPanel.prototype.statusBarResized):
14931         * inspector/front-end/EmptyView.js:
14932         * inspector/front-end/Panel.js:
14933         (WebInspector.Panel.prototype.set get toolbarItemLabel):
14934         (WebInspector.Panel.prototype.get statusBarItems):
14935         (WebInspector.Panel.prototype.updateMainViewWidth):
14936         (WebInspector.Panel.prototype.statusBarResized):
14937         * inspector/front-end/PropertiesSection.js:
14938         * inspector/front-end/SearchController.js:
14939         (WebInspector.SearchController.prototype._onKeyDown):
14940         * inspector/front-end/Section.js:
14941         (WebInspector.Section.prototype.set populated):
14942         (WebInspector.Section.prototype.onpopulate):
14943         (WebInspector.Section.prototype.expand):
14944         * inspector/front-end/SidebarPane.js:
14945         * inspector/front-end/Toolbar.js:
14946         (WebInspector.Toolbar.createPanelToolbarItem):
14947         (WebInspector.ToolbarDropdown.prototype.show):
14948         * inspector/front-end/UIUtils.js: Added.
14949         (WebInspector.elementDragStart):
14950         (WebInspector.elementDragEnd):
14951         (WebInspector.animateStyle):
14952         (WebInspector.animateStyle.forceComplete):
14953         (WebInspector.animateStyle.cancel):
14954         * inspector/front-end/WebKit.qrc:
14955         * inspector/front-end/externs.js:
14956         (WebInspector.extensionServer.notifyPanelShown):
14957         (WebInspector.extensionServer.notifyPanelHidden):
14958         (WebInspector.currentPanel):
14959         (WebInspector.setCurrentPanel):
14960         * inspector/front-end/inspector.html:
14961         * inspector/front-end/inspector.js:
14962
14963 2011-10-04  Kenichi Ishibashi  <bashi@chromium.org>
14964
14965         [Chromium] Implement font shaping with font-feature-settings on Windows
14966         https://bugs.webkit.org/show_bug.cgi?id=65904
14967
14968         Reviewed by Kenneth Russell.
14969
14970         Use Uniscribe's OpenType APIs to shape complex text to support -webkit-font-feature-settings property.
14971
14972         No new tests. css3/font-feature-settings-rendering.html should pass by this patch.
14973
14974         * platform/graphics/chromium/UniscribeHelper.cpp:
14975         (WebCore::loadOpenTypeFunctions):
14976         (WebCore::UniscribeHelper::UniscribeHelper): Calls loadOpenTypeFunctions if needed.
14977         (WebCore::UniscribeHelper::fillRuns): Uses ScriptItemizeOpenType() if possible.
14978         (WebCore::UniscribeHelper::shape): Uses ScriptShapeOpenType() if possible.
14979         (WebCore::UniscribeHelper::fillShapes): Adds OpenType script tag as an argument.
14980         (WebCore::convertFeatureTag): Added.
14981         (WebCore::UniscribeHelper::setRangeProperties): Added.
14982         * platform/graphics/chromium/UniscribeHelper.h:
14983         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
14984         (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): Calls setRangeProperties().
14985
14986 2011-10-04  Ryuan Choi  <ryuan.choi@samsung.com>
14987
14988         [EFL] Implement declared but missing functions.
14989         https://bugs.webkit.org/show_bug.cgi?id=65368
14990
14991         Unreviewed build fix for WebKit/Efl builds after r96566.
14992
14993         * platform/efl/CursorEfl.cpp:
14994         (WebCore::Cursor::operator=):
14995         * platform/efl/LocalizedStringsEfl.cpp:
14996         (WebCore::localizedString):
14997
14998 2011-10-04  Pavel Feldman  <pfeldman@google.com>
14999
15000         Web Inspector: move abstract panel search logic into the only view that is using it.
15001         https://bugs.webkit.org/show_bug.cgi?id=69328
15002
15003         Reviewed by Yury Semikhatsky.
15004
15005         * inspector/front-end/Panel.js:
15006         (WebInspector.Panel.prototype.searchCanceled):
15007         (WebInspector.Panel.prototype.performSearch):
15008         (WebInspector.Panel.prototype.jumpToNextSearchResult):
15009         (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
15010         * inspector/front-end/ProfilesPanel.js:
15011         (WebInspector.ProfilesPanel.prototype.performSearch.updateMatchesCount):
15012         (WebInspector.ProfilesPanel.prototype.performSearch.updateMatchesCountSoon):
15013         (WebInspector.ProfilesPanel.prototype.performSearch.finishedCallback):
15014         (WebInspector.ProfilesPanel.prototype.performSearch.processChunk):
15015         (WebInspector.ProfilesPanel.prototype.performSearch):
15016         (WebInspector.ProfilesPanel.prototype.jumpToNextSearchResult):
15017         (WebInspector.ProfilesPanel.prototype.jumpToPreviousSearchResult):
15018         (WebInspector.ProfilesPanel.prototype._searchableViews):
15019         (WebInspector.ProfilesPanel.prototype.searchCanceled):
15020
15021 2011-10-04  Pavel Feldman  <pfeldman@google.com>
15022
15023         Not reviewed: fixed poor inspector merge, drive-by front-endcompilation fix.
15024
15025         * inspector/front-end/ContentProviders.js:
15026         (WebInspector.ScriptContentProvider.prototype.requestContent):
15027         (WebInspector.ScriptContentProvider.prototype.searchInContent):
15028         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent):
15029         * inspector/front-end/DebuggerPresentationModel.js:
15030
15031 2011-10-04  Pavel Feldman  <pfeldman@google.com>
15032
15033         Web Inspector: remove dependency from GoToLine dialog from Panel.
15034         https://bugs.webkit.org/show_bug.cgi?id=69327
15035
15036         Reviewed by Yury Semikhatsky.
15037
15038         * inspector/front-end/GoToLineDialog.js:
15039         (WebInspector.GoToLineDialog.install):
15040         (WebInspector.GoToLineDialog._show):
15041         * inspector/front-end/NetworkItemView.js:
15042         (WebInspector.NetworkItemView.prototype._tabSelected):
15043         (WebInspector.ResourceContentView.prototype.contentLoaded):
15044         (WebInspector.ResourceContentView.prototype.canHighlightLine):
15045         (WebInspector.ResourceContentView.prototype.highlightLine):
15046         (set WebInspector):
15047         * inspector/front-end/NetworkPanel.js:
15048         (WebInspector.NetworkPanel.viewGetter):
15049         (WebInspector.NetworkPanel):
15050         * inspector/front-end/Panel.js:
15051         (WebInspector.Panel.prototype.registerShortcut):
15052         * inspector/front-end/ResourcesPanel.js:
15053         (WebInspector.ResourcesPanel.viewGetter):
15054         (WebInspector.ResourcesPanel):
15055         (WebInspector.ResourcesPanel.prototype.showResource):
15056         * inspector/front-end/ScriptsPanel.js:
15057         (WebInspector.ScriptsPanel.viewGetter):
15058         * inspector/front-end/SourceFrame.js:
15059         (WebInspector.SourceFrame.prototype.canHighlightLine):
15060         * inspector/front-end/TabbedPane.js:
15061         (WebInspector.TabbedPane.prototype._hideTab):
15062         (WebInspector.TabbedPane.prototype.canHighlightLine):
15063         (WebInspector.TabbedPane.prototype.highlightLine):
15064         * inspector/front-end/View.js:
15065         (WebInspector.View.prototype.canHighlightLine):
15066         (WebInspector.View.prototype.highlightLine):
15067
15068 2011-10-04  Sheriff Bot  <webkit.review.bot@gmail.com>
15069
15070         Unreviewed, rolling out r96491.
15071         http://trac.webkit.org/changeset/96491
15072         https://bugs.webkit.org/show_bug.cgi?id=69326
15073
15074         Breaks Slow Leopard inspector tests (Requested by pfeldman on
15075         #webkit).
15076
15077         * inspector/Inspector.json:
15078         * inspector/InspectorDebuggerAgent.cpp:
15079         (WebCore::InspectorDebuggerAgent::getScriptSource):
15080         * inspector/InspectorDebuggerAgent.h:
15081         * inspector/front-end/ContentProviders.js:
15082         (WebInspector.ScriptContentProvider.prototype.requestContent):
15083         * inspector/front-end/Script.js:
15084         (WebInspector.Script.prototype.requestSource.didGetScriptSource):
15085         (WebInspector.Script.prototype.requestSource):
15086
15087 2011-10-03  Pavel Feldman  <pfeldman@google.com>
15088
15089         Web Inspector: add DebuggerPresentationModel and ConsoleView to compilation.
15090         https://bugs.webkit.org/show_bug.cgi?id=69269
15091
15092         Reviewed by Yury Semikhatsky.
15093
15094         * inspector/compile-front-end.sh:
15095         * inspector/front-end/BreakpointManager.js:
15096         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
15097         * inspector/front-end/ConsoleView.js:
15098         (WebInspector.ConsoleView.prototype._consoleCleared):
15099         (WebInspector.ConsoleView.prototype._completions.evaluated.getCompletions):
15100         (WebInspector.ConsoleView.prototype._completions.evaluated):
15101         (WebInspector.ConsoleView.prototype._messagesClicked):
15102         * inspector/front-end/ContentProviders.js:
15103         (WebInspector.StaticContentProvider.prototype.requestContent):
15104         (WebInspector.StaticContentProvider.prototype.searchInContent):
15105         * inspector/front-end/ContextMenu.js:
15106         * inspector/front-end/DebuggerPresentationModel.js:
15107         (WebInspector.DebuggerPresentationModel.prototype._addScript):
15108         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
15109         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
15110         (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
15111         (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
15112         (WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
15113         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
15114         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
15115         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
15116         * inspector/front-end/HelpScreen.js:
15117         * inspector/front-end/JavaScriptContextManager.js:
15118         (WebInspector.FrameEvaluationContext.prototype.get displayName):
15119         * inspector/front-end/KeyboardShortcut.js:
15120         (WebInspector.KeyboardShortcut):
15121         * inspector/front-end/Resource.js:
15122         (WebInspector.Resource.displayName):
15123         * inspector/front-end/ScriptFormatter.js:
15124         (WebInspector.ScriptFormatter.prototype._didFormatContent):
15125         * inspector/front-end/ShortcutsScreen.js:
15126         * inspector/front-end/StatusBarButton.js:
15127         * inspector/front-end/TextPrompt.js:
15128         * inspector/front-end/externs.js:
15129         (WebInspector.populateHrefContextMenu):
15130         (WebInspector.useLowerCaseMenuTitles):
15131         (WebInspector.ScriptsPanel.this.evaluateInSelectedCallFrame):
15132         (WebInspector.ScriptsPanel.this.getSelectedCallFrameVariables):
15133         (WebInspector.ScriptsPanel):
15134         * inspector/front-end/inspector.js:
15135         * inspector/front-end/utilities.js:
15136
15137 2011-10-03  Ryosuke Niwa  <rniwa@webkit.org>
15138
15139         Mac release build fix after r96561, and Leopard build fix after r96568.
15140
15141         * editing/TextCheckingHelper.h:
15142         (WebCore::TextCheckingParagraph::textCharAt):
15143         * page/mac/EventHandlerMac.mm:
15144         (WebCore::EventHandler::wheelEvent):
15145
15146 2011-10-03  Ryosuke Niwa  <rniwa@webkit.org>
15147
15148         Build fix after r96568.
15149
15150         * accessibility/AccessibilityObject.cpp:
15151         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
15152         * editing/Editor.cpp:
15153
15154 2011-10-03  Shinya Kawanaka  <shinyak@google.com>
15155
15156         Should call checkTextOfParagraph() indirectly to make unifying spell-checking code path easy.
15157         https://bugs.webkit.org/show_bug.cgi?id=69241
15158
15159         Reviewed by Ryosuke Niwa.
15160
15161         WebCore has two different code paths for spell-checking:
15162           1) checkTextOfParagraph() for Snow Leopard or later
15163           2) checkSpellingOfString() for checkGrammarOfString() for other platforms.
15164
15165         At the first step, this patch introduces an indirect wrapper to call
15166         checkTextOfParagraph() in Snow Leopard or later. This is intended to make it easy to
15167         introduce a function for mimicing checkTextOfParagraph() in Chromium platform or
15168         other non-SL or non-Lion platform.
15169
15170         No new tests because this patch does not change a behavior.
15171
15172         * accessibility/AccessibilityObject.cpp:
15173         (WebCore::AccessibilityObject::hasMisspelling): Calling checkTextOfParagraph() indirectly.
15174         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
15175         (AXAttributeStringSetSpelling): ditto.
15176         * editing/Editor.cpp:
15177         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): ditto.
15178         * editing/TextCheckingHelper.cpp:
15179         (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar): ditto.
15180         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): ditto.
15181         (WebCore::checkTextOfParagraph): Added.
15182         * editing/TextCheckingHelper.h:
15183
15184 2011-10-03  Darin Adler  <darin@apple.com>
15185
15186         Change cursor to hand over missing plug-in message
15187         https://bugs.webkit.org/show_bug.cgi?id=69312
15188
15189         Reviewed by Sam Weinig.
15190
15191         No tests because we currently don't have any test machinery for cursors.
15192
15193         * page/EventHandler.cpp:
15194         (WebCore::OptionalCursor::OptionalCursor): Added. Construct an object
15195         to represent either a cursor, or no cursor change.
15196         (WebCore::OptionalCursor::isCursorChange): Added.
15197         (WebCore::OptionalCursor::cursor): Added.
15198         (WebCore::EventHandler::selectCursor): Changed return type to OptionalCursor,
15199         moved some special cases from handleMouseMoveEvent in here. Moved the logic
15200         for plug-ins and framesets into the specific renderer classes for those.
15201         Added a call to the new getCursor virtual function.
15202         (WebCore::EventHandler::handleMouseMoveEvent): Changed cursor setting code to
15203         just be a call to selectCursor and then setCursor. Plug-in-specific code is now
15204         in RenderWidget.
15205
15206         * page/EventHandler.h: Changed return type of selectCursor.
15207
15208         * page/MouseEventWithHitTestResults.cpp: Made some functions be inline.
15209         * page/MouseEventWithHitTestResults.h:
15210         (WebCore::MouseEventWithHitTestResults::localPoint): Made this inline.
15211         (WebCore::MouseEventWithHitTestResults::scrollbar): Made this inline.
15212         Yes, this has nothing to do with the rest of the patch, but it's good.
15213
15214         * rendering/RenderEmbeddedObject.cpp:
15215         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry): Made const.
15216         (WebCore::RenderEmbeddedObject::isInMissingPluginIndicator): Made const.
15217         Overloaded so it can be called with a point rather than an event.
15218         (WebCore::shouldMissingPluginMessageBeButton): Added. Helps streamline
15219         the logic below.
15220         (WebCore::RenderEmbeddedObject::handleMissingPluginIndicatorEvent):
15221         Changed to use shouldMissingPluginMessageBeButton.
15222         (WebCore::RenderEmbeddedObject::getCursor): Added. Sets the cursor to
15223         a hand when over the missing plug-in message.
15224         * rendering/RenderEmbeddedObject.h: Added getCursor override. Also updated
15225         for other changes above.
15226
15227         * rendering/RenderFrameSet.cpp:
15228         (WebCore::RenderFrameSet::getCursor): Added. Contains the logic that used
15229         to be hardcoded in EventHandler::selectCursor about cursors when over
15230         resizable frame borders.
15231         * rendering/RenderFrameSet.h: Added getCursor.
15232
15233         * rendering/RenderObject.cpp:
15234         (WebCore::RenderObject::getCursor): Added. Returns SetCursorBasedOnStyle.
15235         * rendering/RenderObject.h: Added getCursor.
15236
15237         * rendering/RenderWidget.cpp:
15238         (WebCore::RenderWidget::getCursor): Added. Contains the logic that used
15239         to be hardcoded in EventHandler::handleMouseMoveEvent to prevent setting
15240         the cursor when the pointer is over a plug-in. This new code is much better,
15241         because it only kicks in when there is actually a plug-in present. The old
15242         was based on the HTML tag!
15243         * rendering/RenderWidget.h: Added getCursor.
15244
15245 2011-10-03  Anders Carlsson  <andersca@apple.com>
15246
15247         Work towards making PlatformWheelEvent immutable
15248         https://bugs.webkit.org/show_bug.cgi?id=69306
15249
15250         Reviewed by Sam Weinig.
15251
15252         Currently, PlatformWheelEvent has an m_isAccepted flag that tracks whether
15253         the event has been handled or not. For all other event types, that state is instead
15254         tracked by the return value of the various event handlers.
15255
15256         As a first step, add return values to the various handleWheelEvent functions and
15257         add an assertion in EventHandler::wheelEvent that the return value is the same as
15258         the state of PlatformWheelEvent::isAccepted.
15259
15260         * Configurations/Base.xcconfig:
15261         Don't warn when using C++11 extensions.
15262
15263         * page/mac/EventHandlerMac.mm:
15264         (WebCore::EventHandler::wheelEvent):
15265         Assert that isAccepted matches the return value.
15266
15267         * platform/ScrollAnimator.cpp:
15268         (WebCore::ScrollAnimator::handleWheelEvent):
15269         Return isAccepted.
15270
15271         * platform/ScrollAnimator.h:
15272         HandleWheelEvent now returns a boolean.
15273
15274         * platform/ScrollView.cpp:
15275         (WebCore::ScrollView::wheelEvent):
15276         Return whether the event was handled or not.
15277
15278         * platform/ScrollView.h:
15279         ScrollView::wheelEvent now returns a bool.
15280
15281         * platform/ScrollableArea.cpp:
15282         (WebCore::ScrollableArea::handleWheelEvent):
15283         * platform/ScrollableArea.h:
15284         ScrollableArea::handleWheelEvent now returns a bool.
15285
15286         * platform/chromium/ScrollAnimatorChromiumMac.h:
15287         * platform/chromium/ScrollAnimatorChromiumMac.mm:
15288         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
15289         Add return values, based on either the base class calls or the state of
15290         PlatformWheelEvent::isAccepted().
15291
15292         * platform/mac/ScrollAnimatorMac.h:
15293         * platform/mac/ScrollAnimatorMac.mm:
15294         (WebCore::ScrollAnimatorMac::handleWheelEvent):
15295         Ditto.
15296
15297 2011-10-03  Dan Bernstein  <mitz@apple.com>
15298
15299         <rdar://problem/9973489> REGRESSION (r66599): -[DOMNode boundingBox] returns the zero rect for SVG elements
15300         https://bugs.webkit.org/show_bug.cgi?id=69305
15301
15302         Reviewed by Simon Fraser.
15303
15304         Test: svg/custom/boundingBox.html
15305
15306         Rather than asserting and returning the zero rect, take the transform-aware code path for computing SVG
15307         bounding rects.
15308
15309         * rendering/svg/RenderSVGForeignObject.cpp:
15310         (WebCore::RenderSVGForeignObject::mapLocalToContainer): Updated for change to SVGRenderSupport::mapLocalToContainer().
15311         * rendering/svg/RenderSVGInline.cpp:
15312         (WebCore::RenderSVGInline::mapLocalToContainer): Ditto.
15313         * rendering/svg/RenderSVGModelObject.cpp:
15314         (WebCore::RenderSVGModelObject::mapLocalToContainer): Ditto.
15315         (WebCore::RenderSVGModelObject::absoluteRects): Replaced an incorrect assertion with code to approximate the bounding
15316         box.
15317         * rendering/svg/RenderSVGText.cpp:
15318         (WebCore::RenderSVGText::mapLocalToContainer): Updated for change to SVGRenderSupport::mapLocalToContainer().
15319         * rendering/svg/SVGRenderSupport.cpp:
15320         (WebCore::SVGRenderSupport::mapLocalToContainer): Removed the fixed and useTransform boolean parameters.
15321         * rendering/svg/SVGRenderSupport.h:
15322
15323 2011-10-03  Michael Nordman  <michaeln@google.com>
15324
15325         A little more WebSQLDatabase thread safety.
15326         https://bugs.webkit.org/show_bug.cgi?id=69277
15327
15328         - switch to using AtomicallyInitializedStatic where appropiate
15329         - avoid using some Strings across threads
15330
15331         Reviewed by David Levin.
15332
15333         Existing tests apply.
15334
15335         * storage/AbstractDatabase.cpp:
15336         (WebCore::guidMutex):
15337         (WebCore::guidToVersionMap):
15338         (WebCore::guidToDatabaseMap):
15339         (WebCore::guidForOriginAndName):
15340         (WebCore::AbstractDatabase::databaseInfoTableName):
15341         (WebCore::AbstractDatabase::AbstractDatabase):
15342         (WebCore::AbstractDatabase::performOpenAndVerify):
15343         (WebCore::AbstractDatabase::getVersionFromDatabase):
15344         (WebCore::AbstractDatabase::setVersionInDatabase):
15345         * storage/AbstractDatabase.h:
15346         * storage/chromium/DatabaseTrackerChromium.cpp:
15347         (WebCore::DatabaseTracker::tracker):
15348         * storage/chromium/QuotaTracker.cpp:
15349         (WebCore::QuotaTracker::instance):
15350
15351 2011-10-03  Ryosuke Niwa  <rniwa@webkit.org>
15352
15353         Replace m_firstNodeInserted and m_lastLeafInserted in ReplaceSelectionCommand by positions
15354         https://bugs.webkit.org/show_bug.cgi?id=68874
15355
15356         Reviewed by Enrica Casucci.
15357
15358         Replaced m_firstNodeInserted and m_lastLeafInserted by m_startOfInsertedContent and m_endOfInsertedContent
15359         respectively. Also removed removeNodePreservingChildren and removeNodeAndPruneAncestors in ReplaceSelectionCommand
15360         because they were not virtual in CompositeEditCommand and implicitly overriding the functions was confusing.
15361         Since each of these two functions is used at exactly one place, just update positions and insertedNodes explicitly.
15362
15363         * editing/CompositeEditCommand.cpp:
15364         * editing/ReplaceSelectionCommand.cpp:
15365         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
15366         (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
15367         (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent):
15368         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
15369         (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Update m_endOfInsertedContent by endingSelection().visibleEnd()
15370         instead of m_lastLeafInserted with destination.previous() because moveParagraph could have removed leading whitespace in
15371         the text node referenced by destination. This is tested by an existing layout test.
15372         (WebCore::ReplaceSelectionCommand::doApply):
15373         (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace): Update positions as needed. All changes are tested
15374         by the existing layout tests in editing/pasteboard.
15375         (WebCore::ReplaceSelectionCommand::updateNodesInserted):
15376         * editing/ReplaceSelectionCommand.h:
15377         * editing/htmlediting.cpp:
15378         (WebCore::hasARenderedDescendant): Moved from CompositeEditCommand.cpp.
15379         (WebCore::highestNodeToRemoveInPruning): Ditto.
15380         * editing/htmlediting.h:
15381
15382 2011-10-03  Ryosuke Niwa  <rniwa@webkit.org>
15383
15384         REGRESSION(r94274): cloned text input loses value
15385         https://bugs.webkit.org/show_bug.cgi?id=69095
15386
15387         Reviewed by Darin Adler.
15388
15389         The bug was caused by copyNonAttributeProperties not updating inner element text after copying
15390         m_valueIfDirty. Fixed the bug by calling updateInnerTextValue.
15391
15392         Test: fast/forms/clone-input-with-dirty-value.html
15393
15394         * html/HTMLInputElement.cpp:
15395         (WebCore::HTMLInputElement::copyNonAttributeProperties):
15396
15397 2011-10-03  Ryosuke Niwa  <rniwa@webkit.org>
15398
15399         Leopard build fix after r96530.
15400
15401         * rendering/svg/RenderSVGResourcePattern.cpp:
15402         (WebCore::RenderSVGResourcePattern::applyResource):
15403
15404 2011-10-03  Sam Weinig  <sam@webkit.org>
15405
15406         Move ContentSecurityPolicy to the ScriptExecutionContext to prepare it for working with XHR and workers
15407         https://bugs.webkit.org/show_bug.cgi?id=69294
15408
15409         Reviewed by Darin Adler.
15410
15411         * dom/Document.cpp:
15412         (WebCore::Document::initSecurityContext):
15413         Initialize the ContentSecurityPolicy by calling down to the ScriptExecutionContext.
15414
15415         * dom/Document.h:
15416         Move the ContentSecurityPolicy member and getter from here to ScriptExecutionContext.h.
15417
15418         * dom/ScriptExecutionContext.cpp:
15419         (WebCore::ScriptExecutionContext::setContentSecurityPolicy):
15420         * dom/ScriptExecutionContext.h:
15421         (WebCore::ScriptExecutionContext::contentSecurityPolicy):
15422         Add ContentSecurityPolicy member and getter/setter.
15423
15424         * page/ContentSecurityPolicy.cpp:
15425         (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
15426         (WebCore::ContentSecurityPolicy::didReceiveHeader):
15427         (WebCore::ContentSecurityPolicy::reportViolation):
15428         (WebCore::ContentSecurityPolicy::parseReportURI):
15429         (WebCore::ContentSecurityPolicy::createCSPDirective):
15430         * page/ContentSecurityPolicy.h:
15431         (WebCore::ContentSecurityPolicy::create):
15432         Replace Document with ScriptExecutionContext. Add temporary checked casts to document
15433         where necessary.
15434
15435         * workers/WorkerContext.cpp:
15436         (WebCore::WorkerContext::WorkerContext):
15437         Add initialization of the ContentSecurityPolicy.
15438
15439 2011-10-03  Anders Carlsson  <andersca@apple.com>
15440
15441         Remove custom scrollbar painting hooks
15442         https://bugs.webkit.org/show_bug.cgi?id=69163
15443
15444         Reviewed by Alexey Proskuryakov.
15445
15446         The custom scrollbar and scroll corner painting hooks aren't used by anyone
15447         so go ahead and remove them. This removes the setter/getter and ChromeClient functions.
15448
15449         * page/Chrome.cpp:
15450         * page/ChromeClient.h:
15451         * page/Settings.cpp:
15452         (WebCore::Settings::Settings):
15453         * page/Settings.h:
15454         * platform/ScrollbarThemeComposite.cpp:
15455         (WebCore::ScrollbarThemeComposite::paint):
15456         (WebCore::ScrollbarThemeComposite::paintScrollCorner):
15457
15458 2011-09-22  Darin Adler  <darin@apple.com>
15459
15460         Rename many obviously-correct call sites in WebCore using releaseRef to use it by its new name leakRef
15461         https://bugs.webkit.org/show_bug.cgi?id=68672
15462
15463         Reviewed by Daniel Bates.
15464
15465         * bindings/js/JSDOMWindowBase.cpp:
15466         (WebCore::JSDOMWindowBase::commonJSGlobalData):
15467         * css/CSSInitialValue.h:
15468         (WebCore::CSSInitialValue::createExplicit):
15469         (WebCore::CSSInitialValue::createImplicit):
15470         * css/CSSPrimitiveValue.cpp:
15471         (WebCore::CSSPrimitiveValue::init):
15472         * css/CSSStyleSelector.cpp:
15473         (WebCore::parseUASheet):
15474         (WebCore::CSSStyleSelector::styleForElement):
15475         * platform/ScrollView.cpp:
15476         (WebCore::ScrollView::wheelEvent):
15477         * platform/efl/RenderThemeEfl.cpp:
15478         (WebCore::RenderTheme::themeForPage):
15479         * platform/gtk/RenderThemeGtk.cpp:
15480         (WebCore::RenderTheme::themeForPage):
15481         * platform/haiku/RenderThemeHaiku.cpp:
15482         (WebCore::RenderTheme::themeForPage):
15483         * platform/network/cf/DNSCFNet.cpp:
15484         (WebCore::DNSResolveQueue::resolve):
15485         * platform/network/cf/ResourceHandleCFNet.cpp:
15486         (WebCore::ResourceHandle::releaseConnectionForDownload):
15487         * platform/qt/RenderThemeQt.cpp:
15488         (WebCore::RenderTheme::themeForPage):
15489         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
15490         * platform/text/BidiContext.cpp:
15491         (WebCore::BidiContext::create):
15492         * platform/wx/RenderThemeWx.cpp:
15493         (WebCore::RenderTheme::themeForPage):
15494         * rendering/RenderThemeChromiumLinux.cpp:
15495         (WebCore::RenderTheme::themeForPage):
15496         * rendering/RenderThemeChromiumMac.mm:
15497         (WebCore::RenderTheme::themeForPage):
15498         * rendering/RenderThemeChromiumSkia.cpp:
15499         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
15500         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
15501         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
15502         * rendering/RenderThemeChromiumWin.cpp:
15503         (WebCore::RenderTheme::themeForPage):
15504         * rendering/RenderThemeMac.mm:
15505         (WebCore::RenderTheme::themeForPage):
15506         * rendering/RenderThemeSafari.cpp:
15507         (WebCore::RenderTheme::themeForPage):
15508         * rendering/RenderThemeWin.cpp:
15509         (WebCore::RenderTheme::themeForPage):
15510         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
15511         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
15512         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
15513         * rendering/RenderThemeWinCE.cpp:
15514         (WebCore::RenderTheme::themeForPage):
15515         * rendering/style/RenderStyle.cpp:
15516         (WebCore::defaultStyle):
15517         Call leakRef instead of releaseRef. I did this only in the cases where
15518         it was obvious to me this was the right way to do it. I'll keep revisiting
15519         sites still calling it releaseRef until they are all gone.
15520
15521 2011-09-27  Ojan Vafai  <ojan@chromium.org>
15522
15523         remove dead code in flipForWritingMode
15524         https://bugs.webkit.org/show_bug.cgi?id=68948
15525
15526         Reviewed by Hajime Morita.
15527
15528         ChildToParentFlippingAdjustment is never used, so the third argument
15529         to flipForWritingMode always has the same value.
15530
15531         In addition, renamed to flipForWritingModeForChild to be more clear
15532         that it's operating on the child and renamed flipFloatForWritingMode to match.
15533
15534         No new tests. This is just a code cleanup. No functional changes. 
15535
15536         * rendering/InlineBox.cpp:
15537         (WebCore::InlineBox::paint):
15538         * rendering/RenderBlock.cpp:
15539         (WebCore::RenderBlock::paintChildren):
15540         (WebCore::RenderBlock::flipFloatForWritingModeForChild):
15541         (WebCore::RenderBlock::paintFloats):
15542         (WebCore::RenderBlock::hitTestFloats):
15543         (WebCore::RenderBlock::hitTestContents):
15544         * rendering/RenderBlock.h:
15545         * rendering/RenderBox.cpp:
15546         (WebCore::RenderBox::flipForWritingModeForChild):
15547         (WebCore::RenderBox::topLeftLocation):
15548         * rendering/RenderBox.h:
15549         * rendering/RenderTable.cpp:
15550         (WebCore::RenderTable::paintObject):
15551         (WebCore::RenderTable::nodeAtPoint):
15552         * rendering/RenderTableRow.cpp:
15553         (WebCore::RenderTableRow::nodeAtPoint):
15554         * rendering/RenderTableSection.cpp:
15555         (WebCore::RenderTableSection::paintCell):
15556         (WebCore::RenderTableSection::nodeAtPoint):
15557
15558 2011-10-03  Jer Noble  <jer.noble@apple.com>
15559
15560         Unreviewed, rolling out r96526.
15561         http://trac.webkit.org/changeset/96526
15562         https://bugs.webkit.org/show_bug.cgi?id=68587
15563
15564         WEB_AUDIO has numerous 64->32 bit casting warnings, causing
15565         build breakages where -Wall is enabled.
15566
15567         * Configurations/FeatureDefines.xcconfig:
15568         * WebCore.xcodeproj/project.pbxproj:
15569
15570 2011-10-03  Joseph Pecoraro  <joepeck@webkit.org>
15571
15572         Web Inspector: rgb() with percentages shows wrong hex/hsl values
15573         https://bugs.webkit.org/show_bug.cgi?id=69152
15574
15575         Reviewed by Pavel Feldman.
15576
15577         Previously we assumed rgb values were always in byte form,
15578         but they could include percentage values. Ex. rgb(100%,0,0).
15579         This patch fixes this, and in the process includes clamping
15580         for invalid percentages, byte values, and alpha values.
15581
15582         Test: inspector/styles/styles-invalid-color-values.html
15583
15584         * inspector/front-end/Color.js:
15585         (WebInspector.Color.prototype._clamp):
15586         (WebInspector.Color.prototype._individualRGBValueToFloatValue):
15587         (WebInspector.Color.prototype._individualRGBValueToHexValue):
15588         (WebInspector.Color.prototype._rgbToHex):
15589         (WebInspector.Color.prototype._rgbToHSL):
15590         An individual rgb value can be either a decimal/float or a
15591         percentage. Rewrite the conversion functions to handle either
15592         input. Regardless of the type of input, always return a clamped
15593         decimal/float value between 0 and 255.
15594
15595         (WebInspector.Color.prototype._rgbaToHSLA):
15596         (WebInspector.Color.prototype._hslaToRGBA):
15597         (WebInspector.Color.prototype._parse):
15598         Clamp the alpha value between 0 and 1.
15599
15600 2011-10-03  Dirk Schulze  <krit@webkit.org>
15601
15602         SVG Pattern tile pixelated on patternTransform
15603         https://bugs.webkit.org/show_bug.cgi?id=69261
15604
15605         Reviewed by Rob Buis.
15606
15607         Scale the SVG pattern tile by the scale level of patternTransform to avoid pixelation.
15608
15609         Test: svg/custom/pattern-scaled-pattern-space.svg
15610
15611         * rendering/svg/RenderSVGResourcePattern.cpp:
15612         (WebCore::RenderSVGResourcePattern::applyResource):
15613
15614 2011-10-03  Jer Noble  <jer.noble@apple.com>
15615
15616         Enable WEB_AUDIO by default in the WebKit/mac port.
15617         https://bugs.webkit.org/show_bug.cgi?id=68587
15618
15619         Reviewed by Simon Fraser.
15620
15621         No new tests; existing webaudio/ layout tests cover this.
15622
15623         * Configurations/FeatureDefines.xcconfig:
15624         * WebCore.xcodeproj/project.pbxproj: Add a build step which copies audio resources to
15625             the WebCore.framework bundle.
15626
15627 2011-10-03  Chris Rogers  <crogers@google.com>
15628
15629         BiquadFilterNode .type attribute is not handled correctly
15630         https://bugs.webkit.org/show_bug.cgi?id=69182
15631
15632         Reviewed by Kenneth Russell.
15633
15634         Test: webaudio/biquadfilternode-basic.html
15635
15636         * platform/audio/AudioDSPKernelProcessor.cpp:
15637         (WebCore::AudioDSPKernelProcessor::initialize):
15638         * webaudio/AudioBufferSourceNode.cpp:
15639         (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
15640         * webaudio/AudioChannelMerger.cpp:
15641         (WebCore::AudioChannelMerger::AudioChannelMerger):
15642         * webaudio/AudioChannelSplitter.cpp:
15643         (WebCore::AudioChannelSplitter::AudioChannelSplitter):
15644         * webaudio/AudioDestinationNode.cpp:
15645         (WebCore::AudioDestinationNode::AudioDestinationNode):
15646         * webaudio/AudioGainNode.cpp:
15647         (WebCore::AudioGainNode::AudioGainNode):
15648         * webaudio/AudioNode.cpp:
15649         (WebCore::AudioNode::AudioNode):
15650         (WebCore::AudioNode::~AudioNode):
15651         (WebCore::AudioNode::setNodeType):
15652         (WebCore::AudioNode::ref):
15653         (WebCore::AudioNode::finishDeref):
15654         * webaudio/AudioNode.h:
15655         (WebCore::AudioNode::nodeType):
15656         * webaudio/AudioPannerNode.cpp:
15657         (WebCore::AudioPannerNode::AudioPannerNode):
15658         (WebCore::AudioPannerNode::notifyAudioSourcesConnectedToNode):
15659         * webaudio/BiquadFilterNode.cpp:
15660         (WebCore::BiquadFilterNode::BiquadFilterNode):
15661         (WebCore::BiquadFilterNode::setType):
15662         * webaudio/BiquadFilterNode.h:
15663         * webaudio/BiquadFilterNode.idl:
15664         * webaudio/BiquadProcessor.h:
15665         (WebCore::BiquadProcessor::setType):
15666         * webaudio/ConvolverNode.cpp:
15667         (WebCore::ConvolverNode::ConvolverNode):
15668         * webaudio/DelayNode.cpp:
15669         (WebCore::DelayNode::DelayNode):
15670         * webaudio/DynamicsCompressorNode.cpp:
15671         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
15672         * webaudio/HighPass2FilterNode.cpp:
15673         (WebCore::HighPass2FilterNode::HighPass2FilterNode):
15674         * webaudio/JavaScriptAudioNode.cpp:
15675         (WebCore::JavaScriptAudioNode::JavaScriptAudioNode):
15676         * webaudio/LowPass2FilterNode.cpp:
15677         (WebCore::LowPass2FilterNode::LowPass2FilterNode):
15678         * webaudio/MediaElementAudioSourceNode.cpp:
15679         (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
15680         * webaudio/RealtimeAnalyserNode.cpp:
15681         (WebCore::RealtimeAnalyserNode::RealtimeAnalyserNode):
15682         * webaudio/WaveShaperNode.cpp:
15683         (WebCore::WaveShaperNode::WaveShaperNode):
15684
15685 2011-10-03  Chris Fleizach  <cfleizach@apple.com>
15686
15687         AX: support role mapping for HTML5 section elements
15688         https://bugs.webkit.org/show_bug.cgi?id=69150
15689
15690         We need to map these HTML5 elements to appropriate ARIA roles. That mapping is:
15691           article -> Document article
15692           nav -> Landmark navigation
15693           aside -> Landmark complementary
15694           section -> Document region
15695           address -> Landmark content info
15696           header -> Landmark banner (unless it's in an article or section)
15697           footer -> Landmark content info (unless it's in an article or section)
15698
15699         Reviewed by Darin Adler.
15700
15701         Test: platform/mac/accessibility/html-section-elements.html
15702
15703         * accessibility/AccessibilityRenderObject.cpp:
15704         (WebCore::AccessibilityRenderObject::isDescendantOfElementType):
15705         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
15706         * accessibility/AccessibilityRenderObject.h:
15707
15708 2011-10-03  Chris Fleizach  <cfleizach@apple.com>
15709
15710         AX: click point for AXHeadings often returns point on empty space (results in wrong context menu)
15711         https://bugs.webkit.org/show_bug.cgi?id=69262
15712
15713         When the contextual menu is opened for a heading, often it will open on empty space because
15714         the heading is wider than the content inside. The click point should thus use the content
15715         inside the heading as the click point.
15716
15717         To accomplish this we need to query whether we have children using children() which is a non-const
15718         method, hence the removal of const from clickPoint().
15719
15720         Reviewed by John Sullivan.
15721
15722         Test: platform/mac/accessibility/heading-clickpoint.html
15723
15724         * accessibility/AccessibilityObject.cpp:
15725         (WebCore::AccessibilityObject::clickPoint):
15726         * accessibility/AccessibilityObject.h:
15727         * accessibility/AccessibilityRenderObject.cpp:
15728         (WebCore::AccessibilityRenderObject::clickPoint):
15729         * accessibility/AccessibilityRenderObject.h:
15730
15731 2011-10-03  Sheriff Bot  <webkit.review.bot@gmail.com>
15732
15733         Unreviewed, rolling out r96500.
15734         http://trac.webkit.org/changeset/96500
15735         https://bugs.webkit.org/show_bug.cgi?id=69268
15736
15737         Breaks inspector, change landed with no test. (Requested by
15738         pfeldman on #webkit).
15739
15740         * WebCore.gypi:
15741         * WebCore.vcproj/WebCore.vcproj:
15742         * inspector/front-end/ConsoleMessage.js:
15743         (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation):
15744         * inspector/front-end/ConsoleView.js:
15745         (WebInspector.ConsoleView.prototype._consoleCleared):
15746         * inspector/front-end/DebuggerPresentationModel.js:
15747         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
15748         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
15749         * inspector/front-end/EventListenersSidebarPane.js:
15750         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
15751         (WebInspector.EventListenersSidebarPane.prototype.update):
15752         ():
15753         * inspector/front-end/Linkifier.js: Removed.
15754         * inspector/front-end/NetworkPanel.js:
15755         (WebInspector.NetworkLogView):
15756         (WebInspector.NetworkLogView.prototype._reset):
15757         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
15758         * inspector/front-end/ProfileDataGridTree.js:
15759         (WebInspector.ProfileDataGridNode.prototype.createCell):
15760         * inspector/front-end/ProfileView.js:
15761         (WebInspector.CPUProfileView):
15762         (WebInspector.CPUProfileView.prototype._resetClicked):
15763         * inspector/front-end/TimelinePanel.js:
15764         (WebInspector.TimelinePanel):
15765         (WebInspector.TimelinePanel.prototype._clearPanel):
15766         (WebInspector.TimelinePanel.FormattedRecord):
15767         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
15768         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
15769         (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyLocation):
15770         (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyCallFrame):
15771         (WebInspector.TimelinePanel.PopupContentHelper):
15772         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
15773         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
15774         * inspector/front-end/WebKit.qrc:
15775         * inspector/front-end/inspector.html:
15776         * inspector/front-end/inspector.js:
15777
15778 2011-09-30  Antti Koivisto  <antti@apple.com>
15779
15780         Add exact match attribute selectors to the fast path
15781         https://bugs.webkit.org/show_bug.cgi?id=69159
15782
15783         Reviewed by Sam Weinig.
15784
15785         Attribute selectors are increasingly common and we have them in our default style sheet too.
15786         [foo] and [foo="bar"] type selectors can be resolved quickly and easily in the fast path.
15787         
15788         - Implement fast path checking for simple attribute selectors.
15789         - Get rid of the ill-defined CSSSelector::hasAttribute(), inline CSSSelector::attribute()
15790         
15791         This is ~20% progression in styleForElement() performance loading the full HTML5 spec (~0.8s).
15792
15793         * css/CSSSelector.cpp:
15794         (WebCore::CSSSelector::selectorText):
15795         * css/CSSSelector.h:
15796         (WebCore::CSSSelector::hasTag):
15797         (WebCore::CSSSelector::attribute):
15798         (WebCore::CSSSelector::isAttributeSelector):
15799         * css/CSSSelectorList.cpp:
15800         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
15801         * css/CSSStyleSelector.cpp:
15802         (WebCore::CSSStyleSelector::checkSelector):
15803         * css/SelectorChecker.cpp:
15804         (WebCore::SelectorChecker::fastCheckRightmostSelector):
15805         (WebCore::SelectorChecker::fastCheckSelector):
15806         (WebCore::isFastCheckableMatch):
15807         (WebCore::isFastCheckableRightmostSelector):
15808         (WebCore::SelectorChecker::isFastCheckableSelector):
15809         (WebCore::SelectorChecker::checkSelector):
15810         (WebCore::htmlAttributeHasCaseInsensitiveValue):
15811         (WebCore::anyAttributeMatches):
15812         (WebCore::SelectorChecker::checkOneSelector):
15813         * css/SelectorChecker.h:
15814         (WebCore::SelectorChecker::attributeNameMatches):
15815         (WebCore::SelectorChecker::checkExactAttribute):
15816         (WebCore::SelectorChecker::fastCheckRightmostAttributeSelector):
15817
15818 2011-10-03  Mike Reed  <reed@google.com>
15819
15820         respect other paint flags when setting flags for the font. No need to fiddle with DC(0) in paintSkiaText.
15821         https://bugs.webkit.org/show_bug.cgi?id=69172
15822
15823         Reviewed by Stephen White.
15824
15825         No new tests. This is a cleanup/optimization, existing tests apply
15826
15827         * platform/graphics/skia/SkiaFontWin.cpp:
15828         (WebCore::getDefaultGDITextFlags):
15829         (WebCore::setupPaintForFont):
15830         (WebCore::paintSkiaText):
15831
15832 2011-10-03  Andreas Kling  <kling@webkit.org>
15833
15834         FontFallbackList: Glyph pages waste a lot of memory.
15835         https://bugs.webkit.org/show_bug.cgi?id=69260
15836
15837         Reviewed by Dan Bernstein.
15838
15839         Use a minimum hash table size of 16 (down from 64) for FontFallbackList's
15840         glyph pages. This reduces memory consumption by ~900 kB when loading the
15841         full HTML5 spec.
15842
15843         The cost is two additional rehash()es of FontFallbackList::m_pages when
15844         adding the 32nd and 64th pages to the hash map.
15845
15846         * platform/graphics/FontFallbackList.h:
15847
15848 2011-10-03  Konstantin Scheglov  <scheglov@google.com>
15849
15850         Right border missing from table with colspan and collapsing border
15851         https://bugs.webkit.org/show_bug.cgi?id=14274
15852
15853         Reviewed by David Hyatt.
15854
15855         Test: fast/table/border-collapsing/bug14274.html
15856
15857         * rendering/RenderTable.cpp:
15858         (WebCore::RenderTable::RenderTable):
15859         * rendering/RenderTable.h:
15860         (WebCore::RenderTable::colToEffCol):
15861
15862 2011-10-03  Carlos Garcia Campos  <cgarcia@igalia.com>
15863
15864         [GTK] Fix make distcheck build
15865         https://bugs.webkit.org/show_bug.cgi?id=69243
15866
15867         Reviewed by Martin Robinson.
15868
15869         * GNUmakefile.am:
15870         * GNUmakefile.list.am:
15871
15872 2011-10-03  Pierre Rossi  <pierre.rossi@gmail.com>
15873
15874         [Qt] Build fix: Qt::escape is deprecated in Qt5
15875         https://bugs.webkit.org/show_bug.cgi?id=69162
15876
15877         Use QString::toHtmlEscaped in the Qt5 case.
15878
15879         Reviewed by Andreas Kling.
15880
15881         No new tests needed.
15882
15883         * WebCore.pro: adjust the include path accordingly
15884         in the v8 case.
15885
15886 2011-10-03  Ilya Tikhonovsky  <loislo@chromium.org>
15887
15888         Web Inspector: debuggerPresentatioModel.linkifyLocation leaks updateAnchor closure instances.
15889         https://bugs.webkit.org/show_bug.cgi?id=69146
15890
15891         In many places we use linkifyLocation function to produce a link node which updates automatically when the source file is changed on the fly.
15892         Such changes happen when we use pretty print or another operation that changes the source code somehow.
15893         linkifyLocation associates a new instance of updateAnchor closure with the each link node and add the closure to the SourceMappingUpdated event's list.
15894         As the result the node<->closure pairs wouldn't be collected until reset the UI and DebuggerPresentationModel.
15895
15896         Reviewed by Yury Semikhatsky.
15897
15898         Test: inspector/performance/resources/network-append-30-requests.html
15899
15900         * WebCore.gypi:
15901         * WebCore.vcproj/WebCore.vcproj:
15902         * inspector/front-end/ConsoleMessage.js:
15903         (WebInspector.ConsoleMessage.prototype._linkifyLocation):
15904         * inspector/front-end/ConsoleView.js:
15905         (WebInspector.ConsoleView.prototype._consoleCleared):
15906         * inspector/front-end/DebuggerPresentationModel.js:
15907         * inspector/front-end/EventListenersSidebarPane.js:
15908         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
15909         (WebInspector.EventListenersSidebarPane.prototype.update):
15910         ():
15911         * inspector/front-end/Linkifier.js: Added.
15912         (WebInspector.Linkifier):
15913         (WebInspector.Linkifier.prototype.linkifyLocation):
15914         (WebInspector.Linkifier.prototype.reset):
15915         (WebInspector.Linkifier.prototype._updateSourceAnchors):
15916         (WebInspector.Linkifier.prototype._updateAnchor):
15917         * inspector/front-end/NetworkPanel.js:
15918         (WebInspector.NetworkLogView):
15919         (WebInspector.NetworkLogView.prototype._reset):
15920         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
15921         * inspector/front-end/ProfileDataGridTree.js:
15922         (WebInspector.ProfileDataGridNode.prototype.createCell):
15923         * inspector/front-end/ProfileView.js:
15924         (WebInspector.CPUProfileView):
15925         (WebInspector.CPUProfileView.prototype._resetClicked):
15926         * inspector/front-end/TimelinePanel.js:
15927         (WebInspector.TimelinePanel):
15928         (WebInspector.TimelinePanel.prototype._linkifyLocation):
15929         (WebInspector.TimelinePanel.prototype._linkifyCallFrame):
15930         (WebInspector.TimelinePanel.prototype._clearPanel):
15931         (WebInspector.TimelinePanel.FormattedRecord):
15932         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
15933         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
15934         (WebInspector.TimelinePanel.PopupContentHelper):
15935         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
15936         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
15937         * inspector/front-end/WebKit.qrc:
15938         * inspector/front-end/inspector.html:
15939         * inspector/front-end/inspector.js:
15940
15941 2011-10-03  Pavel Feldman  <pfeldman@google.com>
15942
15943         Web Inspector: more compilation fixes including making ConsoleMessage a part of console model.
15944         https://bugs.webkit.org/show_bug.cgi?id=69253
15945
15946         Reviewed by Yury Semikhatsky.
15947
15948         * inspector/Inspector.json:
15949         * inspector/compile-front-end.sh:
15950         * inspector/front-end/ConsoleMessage.js:
15951         (WebInspector.ConsoleMessage.create):
15952         (WebInspector.ConsoleMessage.createTextMessage):
15953         (WebInspector.ConsoleMessageImpl):
15954         * inspector/front-end/ConsoleModel.js:
15955         (WebInspector.ConsoleModel.prototype._messageRepeatCountUpdated):
15956         (WebInspector.ConsoleMessage.create):
15957         (WebInspector.ConsoleMessage.createTextMessage):
15958         (WebInspector.ConsoleDispatcher.prototype.messageAdded):
15959         * inspector/front-end/ConsoleView.js:
15960         (WebInspector.ConsoleCommandResult):
15961         (WebInspector.ConsoleCommandResult.prototype.toMessageElement):
15962         * inspector/front-end/CookieParser.js:
15963         (WebInspector.Cookie.prototype.get path):
15964         (WebInspector.Cookie.prototype.get domain):
15965         (WebInspector.Cookie.prototype.expires):
15966         * inspector/front-end/DOMAgent.js:
15967         * inspector/front-end/ExtensionServer.js:
15968         (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
15969         * inspector/front-end/NetworkManager.js:
15970         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
15971         (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
15972         (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
15973         (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
15974         (WebInspector.NetworkDispatcher.prototype._createResource):
15975         * inspector/front-end/Resource.js:
15976         (WebInspector.Resource):
15977         (WebInspector.Resource.prototype.setContent):
15978         (WebInspector.Resource.prototype.searchInContent):
15979         * inspector/front-end/ResourceTreeModel.js:
15980         (WebInspector.ResourceTreeModel.prototype._createResource):
15981         * inspector/front-end/externs.js:
15982         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
15983         (WebInspector.extensionServer.notifyResourceContentCommitted):
15984         (WebInspector.resourceForURL):
15985         (WebInspector.debuggerPresentationModel.linkifyLocation):
15986         (WebInspector.ObjectPropertiesSection):
15987         (WebInspector.ElementsTreeOutline):
15988         * inspector/front-end/inspector.html:
15989         * inspector/front-end/inspector.js:
15990         (WebInspector.log.logMessage):
15991         (WebInspector.log):
15992         * inspector/generate-protocol-externs:
15993
15994 2011-10-03  Pavel Feldman  <pfeldman@google.com>
15995
15996         Web Inspector: move console message formatting from ConsoleView.js into ConsoleMessage.js
15997         https://bugs.webkit.org/show_bug.cgi?id=69244
15998
15999         Reviewed by Yury Semikhatsky.
16000
16001         * inspector/front-end/ConsoleMessage.js:
16002         (WebInspector.ConsoleMessage):
16003         (WebInspector.ConsoleMessage.prototype._formatMessage.else.else.linkifier):
16004         (WebInspector.ConsoleMessage.prototype._formatMessage):
16005         (WebInspector.ConsoleMessage.prototype._format):
16006         (WebInspector.ConsoleMessage.prototype._formatParameter):
16007         (WebInspector.ConsoleMessage.prototype._formatParameterAsValue):
16008         (WebInspector.ConsoleMessage.prototype._formatParameterAsObject):
16009         (WebInspector.ConsoleMessage.prototype._formatParameterAsNode):
16010         (WebInspector.ConsoleMessage.prototype._formatParameterAsArray):
16011         (WebInspector.ConsoleMessage.prototype._formatParameterAsString):
16012         (WebInspector.ConsoleMessage.prototype._printArray):
16013         (WebInspector.ConsoleMessage.prototype._formatAsArrayEntry):
16014         (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString):
16015         * inspector/front-end/ConsoleView.js:
16016
16017 2011-10-03  Dirk Schulze  <krit@webkit.org>
16018
16019         feColorMatrix saturation is not limited to range 0..1 anymore
16020         https://bugs.webkit.org/show_bug.cgi?id=69245
16021
16022         Reviewed by Nikolas Zimmermann.
16023         
16024         Opera doesn't limit the range of values for saturation on feColorMatrix from 0 to 1. The limitation
16025         was also removed from the new Filter Effects 1.0 specification. Values outside this range lead to
16026         under- or oversaturation of the filter input image.
16027         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/publish/Filters.html#feColorMatrixElement
16028
16029         Test: svg/filters/feColorMatrix-saturate.svg
16030
16031         * svg/SVGFEColorMatrixElement.cpp:
16032         (WebCore::SVGFEColorMatrixElement::build):
16033
16034 2011-10-03  Andreas Kling  <kling@webkit.org>
16035
16036         Shrink HTMLLIElement.
16037         https://bugs.webkit.org/show_bug.cgi?id=69250
16038
16039         Reviewed by Antti Koivisto.
16040
16041         Don't cache the explicit "value" attribute on the HTMLLIElement,
16042         but fetch it with fastGetAttribute when needed.
16043         This shrinks HTMLLIElement by one CPU word.
16044
16045         * html/HTMLLIElement.cpp:
16046         (WebCore::HTMLLIElement::HTMLLIElement):
16047         (WebCore::HTMLLIElement::parseMappedAttribute):
16048         (WebCore::HTMLLIElement::attach):
16049         * html/HTMLLIElement.h:
16050
16051 2011-10-03  Vsevolod Vlasov  <vsevik@chromium.org>
16052
16053         Web Inspector: Add support for backend search in script content.
16054         https://bugs.webkit.org/show_bug.cgi?id=69015
16055
16056         Reviewed by Pavel Feldman.
16057
16058         Tests: http/tests/inspector/search/search-in-concatenated-script.html
16059                http/tests/inspector/search/search-in-script.html
16060
16061         * inspector/Inspector.json:
16062         * inspector/InspectorDebuggerAgent.cpp:
16063         (WebCore::InspectorDebuggerAgent::searchInContent):
16064         (WebCore::InspectorDebuggerAgent::getScriptSource):
16065         * inspector/InspectorDebuggerAgent.h:
16066         * inspector/front-end/ContentProviders.js:
16067         (WebInspector.ScriptContentProvider.prototype.requestContent):
16068         (WebInspector.ScriptContentProvider.prototype.searchInContent):
16069         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent.maybeCallback):
16070         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent.searchCallback):
16071         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent):
16072         * inspector/front-end/Script.js:
16073         (WebInspector.Script.prototype.requestSource):
16074         (WebInspector.Script.prototype.searchInContent):
16075
16076 2011-10-03  Pavel Feldman  <pfeldman@google.com>
16077
16078         Web Inspector: move console message formatting from ConsoleView.js into ConsoleMessage.js
16079         https://bugs.webkit.org/show_bug.cgi?id=69244
16080
16081         Reviewed by Yury Semikhatsky.
16082
16083         * inspector/front-end/ConsoleMessage.js:
16084         (WebInspector.ConsoleMessage):
16085         (WebInspector.ConsoleMessage.prototype._formatMessage.else.else.linkifier):
16086         (WebInspector.ConsoleMessage.prototype._formatMessage):
16087         (WebInspector.ConsoleMessage.prototype._format):
16088         (WebInspector.ConsoleMessage.prototype._formatParameter):
16089         (WebInspector.ConsoleMessage.prototype._formatParameterAsValue):
16090         (WebInspector.ConsoleMessage.prototype._formatParameterAsObject):
16091         (WebInspector.ConsoleMessage.prototype._formatParameterAsNode):
16092         (WebInspector.ConsoleMessage.prototype._formatParameterAsArray):
16093         (WebInspector.ConsoleMessage.prototype._formatParameterAsString):
16094         (WebInspector.ConsoleMessage.prototype._printArray):
16095         (WebInspector.ConsoleMessage.prototype._formatAsArrayEntry):
16096         (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString):
16097         * inspector/front-end/ConsoleView.js:
16098
16099 2011-10-03  Pavel Feldman  <pfeldman@chromium.org>
16100
16101         Web Inspector: restore partial front-end compilability
16102         https://bugs.webkit.org/show_bug.cgi?id=69221
16103
16104         Removed unused isWhitespace; introduced missing classes in Inspector.json;
16105         generated externs for the protocol types along with the commands.
16106
16107         Reviewed by Yury Semikhatsky.
16108
16109         * inspector/Inspector.json:
16110         * inspector/compile-front-end.sh:
16111         * inspector/front-end/DOMAgent.js:
16112         (WebInspector.DOMAgent):
16113         (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable):
16114         (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable):
16115         * inspector/front-end/ElementsPanel.js:
16116         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
16117         * inspector/front-end/ElementsTreeOutline.js:
16118         ():
16119         * inspector/front-end/Object.js:
16120         * inspector/front-end/Popover.js:
16121         (WebInspector.PopoverHelper.prototype._mouseMove):
16122         * inspector/front-end/View.js:
16123         * inspector/front-end/externs.js:
16124         (Array.prototype.remove):
16125         * inspector/generate-protocol-externs:
16126
16127 2011-10-02  Kent Tamura  <tkent@chromium.org>
16128
16129         method/enctype/formMethod/formEnctype properties should be limited to known values.
16130         https://bugs.webkit.org/show_bug.cgi?id=68887
16131
16132         Reviewed by Hajime Morita.
16133
16134         According to the standard and other browser behaviors, the
16135         following IDL properties should be reflected to the corresponding
16136         HTML attributes on setting, but should return normalized values on
16137         getting.
16138         - HTMLFormElement::method
16139         - HTMLFormElement::enctype
16140         - HTMLInputElement::formMethod
16141         - HTMLInputElement::formEnctype
16142         - HTMLButtonElement::formMethod
16143         - HTMLButtonElement::formEnctype
16144
16145         Tests: fast/forms/enctype-attribute.html
16146                fast/forms/method-attribute.html
16147
16148         * html/HTMLButtonElement.idl:
16149         Replace 'Reflect' with 'ConvertNullToNullString' in order to use a
16150         getter function.
16151         * html/HTMLFormControlElement.cpp:
16152         (WebCore::HTMLFormControlElement::formEnctype):
16153         Normalizes the value by parseEncodingType().
16154         (WebCore::HTMLFormControlElement::setFormEnctype):
16155         Simply calls setAttribute()
16156         (WebCore::HTMLFormControlElement::formMethod):
16157         Normalizes the value by parseMethodType().
16158         (WebCore::HTMLFormControlElement::setFormMethod):
16159         Simply calls setAttribute()
16160         * html/HTMLFormControlElement.h:
16161         * html/HTMLFormElement.cpp:
16162         (WebCore::HTMLFormElement::parseMappedAttribute):
16163         Follow the Attributes function renaming.
16164         (WebCore::HTMLFormElement::method):
16165         Normalizes the value by parseMethodType().
16166         * html/HTMLFormElement.idl:
16167         Replace 'Reflect' with 'ConvertNullToNullString' in order to use a
16168         getter function.
16169         * html/HTMLInputElement.idl: ditto.
16170         * loader/FormSubmission.cpp:
16171         (WebCore::FormSubmission::Attributes::parseEncodingType):
16172         New function made from a part of old parseEncodingType().
16173         (WebCore::FormSubmission::Attributes::updateEncodingType):
16174         Renamed from parseEncodingType().
16175         (WebCore::FormSubmission::Attributes::parseMethodType):
16176         New function made from a part of old parseMethodType().
16177         (WebCore::FormSubmission::Attributes::updateMethodType):
16178         Renamed from parseMethodType().
16179         (WebCore::FormSubmission::create):
16180         Follow the Attributes function renaming.
16181         * loader/FormSubmission.h:
16182         (WebCore::FormSubmission::Attributes::methodString):
16183         A helper function to provide normalized strings for FormSubmission::Method.
16184
16185 2011-10-02  Sam Weinig  <sam@webkit.org>
16186
16187         Strength reduce Mac only Frame::searchForLabelsBeforeElement and Frame::matchLabelsAgainstElement into callers
16188         https://bugs.webkit.org/show_bug.cgi?id=69230
16189
16190         Reviewed by Anders Carlsson.
16191
16192         * WebCore.exp.in:
16193         * page/Frame.h:
16194         * page/mac/FrameMac.mm:
16195
16196 2011-10-02  Zeno Albisser  <zeno.albisser@nokia.com>
16197
16198         [Qt][WK2][Mac] WebKit2 does not build on mac after merge of Qt5 refactor branch.
16199         https://bugs.webkit.org/show_bug.cgi?id=69223
16200
16201         Add a missing import (NSWindow.h) in WebVideoFullscreenHUDWindowController.
16202         Add a missing include path and a missing objective source file to WebCore.pro.
16203
16204         Reviewed by Noam Rosenthal.
16205
16206         No new tests, build fix.
16207
16208         * WebCore.pro:
16209         * platform/mac/WebVideoFullscreenHUDWindowController.h:
16210
16211 2011-10-02  Julien Chaffraix  <jchaffraix@webkit.org>
16212
16213         Remove an unused member in RenderTable::ColumnStruct
16214         https://bugs.webkit.org/show_bug.cgi?id=69119
16215
16216         Reviewed by Darin Adler.
16217
16218         No test as there should be no change in behavior.
16219
16220         The member was added several years ago and its users were removed or changed. The code would
16221         need a refactoring but this would be tricky to get right. This change just removes the member
16222         to reap the short-term benefits.
16223
16224         * rendering/RenderTable.h:
16225         (WebCore::RenderTable::ColumnStruct::ColumnStruct): Remove anything associated with m_width.
16226
16227 2011-10-02  Dan Bernstein  <mitz@apple.com>
16228
16229         REGRESSION (r95502): Assertion failure in CSSPrimitiveValue::computeLengthDouble() when media query specifies unit-less length
16230         https://bugs.webkit.org/show_bug.cgi?id=68760
16231
16232         Reviewed by Antti Koivisto.
16233
16234         Test: fast/media/invalid-lengths.html
16235
16236         Made length-comparison media queries accept only length values. In compatibility mode, numbers
16237         are allowed as well, and they are interpreted as pixels.
16238
16239         * css/MediaQueryEvaluator.cpp:
16240         (WebCore::computeLength): Added this helper function.
16241         (WebCore::device_heightMediaFeatureEval): Changed to use computeLength().
16242         (WebCore::device_widthMediaFeatureEval): Ditto.
16243         (WebCore::heightMediaFeatureEval): Ditto.
16244         (WebCore::widthMediaFeatureEval): Ditto.
16245
16246 2011-10-02  Dirk Schulze  <krit@webkit.org>
16247
16248         SVG Mask should take 'color-interpolation' into account to determine the color space of the mask image
16249         https://bugs.webkit.org/show_bug.cgi?id=69076
16250
16251         Reviewed by Simon Fraser.
16252         
16253         SVG Masks should take 'color-interpolation' into account to determine the color space of the mask image.
16254         The behavior was changed in SVG 1.1 SE. The color space of the mask image gets defined by the computed value of the
16255         'color-interpolation' property. This will switch the default color space from linearRGB to sRGB for mask images and
16256         is a performance improvement for platforms without native support for linearRGB color space. The
16257         color space transformation can be avoided.
16258
16259         Test: svg/custom/grayscale-gradient-mask-2.svg
16260
16261         * rendering/svg/RenderSVGResourceMasker.cpp:
16262         (WebCore::RenderSVGResourceMasker::applyResource):
16263         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
16264         * rendering/svg/RenderSVGResourceMasker.h:
16265
16266 2011-10-01  Vangelis Kokkevis  <vangelis@chromium.org>
16267
16268         [chromium] Fixing draw matrix for composited layers. This
16269         was a regression introduced by:
16270         http://trac.webkit.org/changeset/96454
16271
16272         https://bugs.webkit.org/show_bug.cgi?id=69217
16273
16274         Reviewed by James Robinson.
16275
16276         Tests: compositor test now pass
16277
16278         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
16279         (WebCore::CCTiledLayerImpl::draw):
16280         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
16281
16282 2011-10-01  Geoffrey Garen  <ggaren@apple.com>
16283
16284         Removed redundant helper functions for allocating Strong handles
16285         https://bugs.webkit.org/show_bug.cgi?id=69218
16286
16287         Reviewed by Sam Weinig.
16288
16289         * ForwardingHeaders/heap/StrongInlines.h: Added.
16290         * bindings/js/JSCallbackData.h:
16291         * bindings/js/JSDOMWindowShell.cpp:
16292         * bindings/js/ScheduledAction.h:
16293         * bindings/js/ScriptCachedFrameData.cpp:
16294         * bindings/js/ScriptController.cpp:
16295         * bindings/js/ScriptState.cpp:
16296         * bindings/js/ScriptValue.h:
16297         * bindings/js/WorkerScriptController.cpp:
16298         * bridge/runtime_root.cpp:
16299
16300 2011-10-01  Sheriff Bot  <webkit.review.bot@gmail.com>
16301
16302         Unreviewed, rolling out r96421.
16303         http://trac.webkit.org/changeset/96421
16304         https://bugs.webkit.org/show_bug.cgi?id=69206
16305
16306         It broke Qt-WK2 build (Requested by ossy on #webkit).
16307
16308         * WebCore.pro:
16309
16310 2011-09-30  Adrienne Walker  <enne@google.com>
16311
16312         [chromium] Track separate scroll deltas on the compositor thread
16313         https://bugs.webkit.org/show_bug.cgi?id=69034
16314
16315         Reviewed by James Robinson.
16316
16317         Test: new tests in CCLayerTreeHostImplTest/CCLayerTreeHostTest
16318
16319         Track scroll deltas and maximum scrolls on LayerChromium/CCLayerImpl.
16320         The CCLayerImpl tree is now able to adjust these scroll deltas
16321         independent of the main thread. To push them back to the main thread,
16322         CCLayerTreeHostImpl collects them all and then bakes them into the
16323         scroll position during a begin frame and commit call. This allows new
16324         deltas to be collected while the scroll position containing the old
16325         delta and the old scroll position will be overwritten during the next
16326         commit.
16327
16328         Only the main frame is supported right now for pushing this scroll
16329         delta back into the authoritative WebKit source to keep both sides in
16330         sync.
16331
16332         Move tilingTransform() to the impl tree because drawTransform() is now
16333         updated using scroll deltas and so the results from calculating draw
16334         transforms needs to be dynamic so that children are updated properly.
16335
16336         Also, exposed DebugScopedSetImplThread public because it's used in a
16337         few places.
16338
16339         * platform/graphics/chromium/LayerChromium.cpp:
16340         (WebCore::LayerChromium::pushPropertiesTo):
16341         * platform/graphics/chromium/LayerChromium.h:
16342         (WebCore::LayerChromium::maxScrollPosition):
16343         (WebCore::LayerChromium::setMaxScrollPosition):
16344         (WebCore::LayerChromium::scrollDelta):
16345         (WebCore::LayerChromium::scrollable):
16346         * platform/graphics/chromium/NonCompositedContentHost.cpp:
16347         (WebCore::NonCompositedContentHost::setViewport):
16348         * platform/graphics/chromium/TiledLayerChromium.cpp:
16349         (WebCore::TiledLayerChromium::pushPropertiesTo):
16350         * platform/graphics/chromium/TiledLayerChromium.h:
16351         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
16352         (WebCore::CCLayerImpl::scrollBy):
16353         * platform/graphics/chromium/cc/CCLayerImpl.h:
16354         (WebCore::CCLayerImpl::maxScrollPosition):
16355         (WebCore::CCLayerImpl::setMaxScrollPosition):
16356         (WebCore::CCLayerImpl::scrollDelta):
16357         (WebCore::CCLayerImpl::setScrollDelta):
16358         (WebCore::CCLayerImpl::scrollable):
16359         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
16360         (WebCore::CCLayerTreeHost::applyScrollDeltas):
16361         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
16362         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
16363         (WebCore::calculateDrawTransformsAndVisibilityInternal):
16364         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
16365         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
16366         (WebCore::CCLayerTreeHostImpl::scrollRootLayer):
16367         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
16368         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
16369         * platform/graphics/chromium/cc/CCProxy.h:
16370         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
16371         (WebCore::CCSingleThreadProxy::start):
16372         (WebCore::CCSingleThreadProxy::context):
16373         (WebCore::CCSingleThreadProxy::finishAllRendering):
16374         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
16375         (WebCore::CCSingleThreadProxy::setNeedsCommit):
16376         (WebCore::CCSingleThreadProxy::stop):
16377         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
16378         (WebCore::CCSingleThreadProxy::commitIfNeeded):
16379         (WebCore::CCSingleThreadProxy::doComposite):
16380         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
16381         (WebCore::DebugScopedSetImplThread::DebugScopedSetImplThread):
16382         (WebCore::DebugScopedSetImplThread::~DebugScopedSetImplThread):
16383         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
16384         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
16385         (WebCore::CCThreadProxy::beginFrameAndCommit):
16386         * platform/graphics/chromium/cc/CCThreadProxy.h:
16387         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
16388         (WebCore::CCTiledLayerImpl::tilingTransform):
16389         (WebCore::CCTiledLayerImpl::draw):
16390         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
16391
16392 2011-09-30  David Hyatt  <hyatt@apple.com>
16393
16394         https://bugs.webkit.org/show_bug.cgi?id=69202
16395         
16396         [CSS3 Regions] Make positioned objects use the first region as the ICB when it
16397         is their containing block. Make sure static distance computations take into
16398         account the current region as well.
16399
16400         Reviewed by Sam Weinig.
16401
16402         Added new tests in fast/regions.
16403
16404         * rendering/RenderBlock.cpp:
16405         (WebCore::RenderBlock::adjustPositionedBlock):
16406         * rendering/RenderBlock.h:
16407         (WebCore::RenderBlock::startOffsetForContent):
16408         * rendering/RenderBox.cpp:
16409         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
16410         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
16411         (WebCore::computeInlineStaticDistance):
16412         (WebCore::computeLogicalLeftPositionedOffset):
16413         (WebCore::computeLogicalTopPositionedOffset):
16414         * rendering/RenderFlowThread.cpp:
16415         (WebCore::RenderFlowThread::contentLogicalWidthOfFirstRegion):
16416         (WebCore::RenderFlowThread::contentLogicalHeightOfFirstRegion):
16417         (WebCore::RenderFlowThread::contentLogicalLeftOfFirstRegion):
16418         * rendering/RenderFlowThread.h:
16419
16420 2011-09-30  David Barr  <davidbarr@chromium.org>
16421
16422         Implement currentColor support for CSS gradients
16423         https://bugs.webkit.org/show_bug.cgi?id=58730
16424
16425         Reviewed by Adam Barth.
16426
16427         Allow currentColor as a CSS3 gradient color-stop.
16428
16429         Test: fast/css/linear-gradient-currentcolor.html
16430
16431         * css/CSSGradientValue.cpp:
16432         (WebCore::CSSGradientValue::isCacheable): Make currentColor uncacheable since the
16433         background image may be invalidated if currentColor is used as a gradient stop and
16434         the value of the 'color' property changes.
16435         * css/CSSParser.cpp:
16436         (WebCore::parseGradientColorOrKeyword): Accept the currentColor keyword.
16437         * rendering/style/StyleGeneratedImage.cpp:
16438         (WebCore::StyleGeneratedImage::image): Initialize document styleSelector so that
16439         currentColor may be computed for a StyleGeneratedImage.
16440
16441 2011-09-30  Gavin Barraclough  <barraclough@apple.com>
16442
16443         Remove toStrictThisObject, toThisString, toThisJSString
16444         https://bugs.webkit.org/show_bug.cgi?id=69203
16445
16446         Rubber stamped by Sam Weinig
16447
16448         These are no longer used.
16449
16450         * bindings/js/JSDOMWindowBase.cpp:
16451         * bindings/js/JSDOMWindowBase.h:
16452
16453 2011-09-30  Adam Barth  <abarth@webkit.org>
16454
16455         Remove ASSERT introduced in http://trac.webkit.org/changeset/96427
16456         which is triggering all over the place.
16457
16458         Sorting this out is covered in this bug:
16459         https://bugs.webkit.org/show_bug.cgi?id=69200
16460
16461         * rendering/RenderView.cpp:
16462         (WebCore::RenderView::layout):
16463
16464 2011-09-30  Sheriff Bot  <webkit.review.bot@gmail.com>
16465
16466         Unreviewed, rolling out r96426.
16467         http://trac.webkit.org/changeset/96426
16468         https://bugs.webkit.org/show_bug.cgi?id=69199
16469
16470         Broke a zillion image results on Chromium Skia Mac (Requested
16471         by abarth|gardener on #webkit).
16472
16473         * platform/graphics/skia/GraphicsContextSkia.cpp:
16474         (WebCore::getFocusRingOutset):
16475         (WebCore::GraphicsContext::drawFocusRing):
16476
16477 2011-09-30  Ilya Sherman  <isherman@chromium.org>
16478
16479         Fix assertion failure in XSS Auditor
16480         https://bugs.webkit.org/show_bug.cgi?id=69050
16481         https://code.google.com/p/chromium/issues/detail?id=97346
16482
16483         Reviewed by Daniel Bates.
16484
16485         Test: fast/forms/xss-auditor-doesnt-crash.html
16486
16487         * html/parser/XSSAuditor.cpp:
16488         (WebCore::XSSAuditor::init): Don't try to decode the HTML body if it is empty.
16489
16490 2011-09-30  Maciej Stachowiak  <mjs@apple.com>
16491
16492         Loading page on potterybankids causes reproducible assertion failure in debug builds
16493         https://bugs.webkit.org/show_bug.cgi?id=69185
16494         <rdar://problem/10218241>
16495
16496         Reviewed by Simon Fraser.
16497
16498         * rendering/RenderLayer.cpp:
16499         (WebCore::RenderLayer::computeRepaintRects): Remove assert condition that isn't guaranteed
16500         to be true.
16501
16502 2011-09-30  Johnny Ding  <jnd@chromium.org>
16503
16504         Support -webkit-tap-highlight-color when enabling touch events support.
16505         https://bugs.webkit.org/show_bug.cgi?id=48544
16506
16507         Reviewed by Kenneth Rohde Christiansen.
16508
16509         Original code from the iOS WebCore code dump, extracted and modified by tijiang@rim and jnd@chromium.
16510         Supports the new CSS property -webkit-tap-highlight-color on platforms which support touch events.
16511         Platform can override WebCore::RenderTheme::platformTapHighlightColor to use its own platform
16512         specific default tap highlight color. Otherwise RenderTheme::defaultTapHighlightColor will be
16513         used as default tap highlight color.
16514
16515         Test: fast/events/touch/tap-highlight-color.html
16516
16517         * css/CSSComputedStyleDeclaration.cpp:
16518         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
16519         * css/CSSParser.cpp:
16520         (WebCore::CSSParser::parseValue):
16521         * css/CSSPropertyNames.in:
16522         * css/CSSStyleSelector.cpp:
16523         (WebCore::CSSStyleSelector::applyProperty):
16524         * rendering/RenderTheme.cpp:
16525         (WebCore::RenderTheme::tapHighlightColor):
16526         * rendering/RenderTheme.h:
16527         (WebCore::RenderTheme::platformTapHighlightColor):
16528         * rendering/style/RenderStyle.cpp:
16529         (WebCore::RenderStyle::initialTapHighlightColor):
16530         * rendering/style/RenderStyle.h:
16531         (WebCore::InheritedFlags::tapHighlightColor):
16532         (WebCore::InheritedFlags::setTapHighlightColor):
16533         * rendering/style/StyleRareInheritedData.cpp:
16534         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
16535         (WebCore::StyleRareInheritedData::operator==):
16536         * rendering/style/StyleRareInheritedData.h:
16537
16538 2011-09-30  David Hyatt  <hyatt@apple.com>
16539
16540         https://bugs.webkit.org/show_bug.cgi?id=69173
16541         
16542         RTL/LTR mixtures still not correct in regions. Simplify the loop once I realized it's only
16543         your directionality that matters and not your containing block's.
16544
16545         Reviewed by Dan Bernstein.
16546
16547         Added new test in fast/regions.
16548
16549         * rendering/RenderBox.cpp:
16550         (WebCore::RenderBox::borderBoxRectInRegion):
16551
16552 2011-09-30  Dan Bernstein  <mitz@apple.com>
16553
16554         <rdar://problem/10208291> first-letter in generated before content with display: table is not updated
16555
16556         Reviewed by Sam Weinig.
16557
16558         Test: fast/css-generated-content/first-letter-in-nested-before.html
16559
16560         * rendering/RenderObjectChildList.cpp:
16561         (WebCore::RenderObjectChildList::updateBeforeAfterContent): Preserve the style type of anonymous
16562         containers around the generated content when updating their style. This preserves the first-letter-ness
16563         of the inline wrapping the first letter, which allows updateFirstLetter() to identify it later.
16564
16565 2011-09-30  Cary Clark  <caryclark@google.com>
16566
16567         Inset focus ring (Skia on Mac)
16568         https://bugs.webkit.org/show_bug.cgi?id=69166
16569         http://code.google.com/p/chromium/issues/detail?id=97956
16570
16571         This focus ring was drawn too large and was left tracks
16572         in subsequent invalidations. Make it more closely match
16573         the CG version.
16574
16575         Reviewed by Stephen White.
16576
16577         No new tests. This platform is not enabled.
16578
16579         * platform/graphics/skia/GraphicsContextSkia.cpp:
16580         (WebCore::getFocusRingOutset):
16581         (WebCore::GraphicsContext::drawFocusRing):
16582
16583 2011-09-30  Sheriff Bot  <webkit.review.bot@gmail.com>
16584
16585         Unreviewed, rolling out r96422.
16586         http://trac.webkit.org/changeset/96422
16587         https://bugs.webkit.org/show_bug.cgi?id=69170
16588
16589         Broke Windows build and kling wanted to roll it out as well
16590         (Requested by rniwa on #webkit).
16591
16592         * rendering/InlineBox.cpp:
16593         (WebCore::InlineBox::prevOnLineExists):
16594         * rendering/InlineBox.h:
16595         (WebCore::InlineBox::InlineBox):
16596
16597 2011-09-30  David Hyatt  <hyatt@apple.com>
16598
16599         https://bugs.webkit.org/show_bug.cgi?id=69167
16600         
16601         [CSS3 Regions] Fix some bugs in the computation of the logical left and width offsets
16602         for blocks in variable width regions. Specifically, this patch addresses a minor bug
16603         with overflow:hidden/scroll/auto block placement and with RTL directionality.
16604
16605         Reviewed by Sam Weinig.
16606
16607         Added five new tests in fast/regions.
16608
16609         * rendering/RenderBlock.cpp:
16610         (WebCore::RenderBlock::logicalRightOffsetForContent):
16611         Avoid a double fetch of the border box in a given region by not calling
16612         logicalLeftOffsetForContent. No correctness change here. It's just cleaner.
16613
16614         * rendering/RenderBox.cpp:
16615         (WebCore::RenderBox::borderBoxRectInRegion):
16616         Change the shifted optimization to be cached for "self" rather than for "containing block".
16617         Rework the adjustment loop to handle changes in directionality and to fix correctness
16618         issues with RTL.
16619
16620         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
16621         Don't double adjust if an object uses line width as the containing block width. In that
16622         case we already computed the line width in the region, so we don't need to apply any
16623         additional fixup.
16624
16625         (WebCore::RenderBox::renderBoxRegionInfo):
16626         * rendering/RenderBoxRegionInfo.h:
16627         (WebCore::RenderBoxRegionInfo::RenderBoxRegionInfo):
16628         (WebCore::RenderBoxRegionInfo::isShifted):
16629         Changed the shifted code to be on self rather than on containing block.
16630
16631         * rendering/RenderFlowThread.cpp:
16632         (WebCore::RenderFlowThread::layout):
16633         Refactor the layout code for RenderFlowThread to properly set up region rects assuming
16634         right alignment in RTL code. This change forces us to compute our maximum logical width
16635         first before looping through the regions again to set their content rects.
16636
16637 2011-09-30  Andreas Kling  <kling@webkit.org>
16638
16639         REGRESSION(r82611) InlineBox has 33 bits of bitset, causing alignment issues and extra memory use.
16640         https://bugs.webkit.org/show_bug.cgi?id=64914
16641
16642         Reviewed by Antti Koivisto.
16643
16644         Remove InlineBox::prevOnLineExists() and its two accompanying bitfields
16645         since nobody is using them anymore. nextOnLineExists() is still used by
16646         GTK+ accessibility code.
16647
16648         Also added a compile-time assertion to guard against future bloating of
16649         the InlineBox class.
16650
16651         * rendering/InlineBox.cpp:
16652         (WebCore::SameSizeAsInlineBox::~SameSizeAsInlineBox):
16653         * rendering/InlineBox.h:
16654         (WebCore::InlineBox::InlineBox):
16655
16656 2011-09-30  Pierre Rossi  <pierre.rossi@gmail.com>
16657
16658         [Qt] Build fix: Qt::escape is deprecated in Qt5
16659         https://bugs.webkit.org/show_bug.cgi?id=69162
16660
16661         Use QString::toHtmlEscaped in the Qt5 case.
16662
16663         Reviewed by Andreas Kling.
16664
16665         No new tests needed.
16666
16667         * WebCore.pro: adjust the include path accordingly
16668         in the v8 case.
16669
16670 2011-09-30  Ryosuke Niwa  <rniwa@webkit.org>
16671
16672         Remove unused ReplaceSelectionCommand::copyStyleToChildren
16673         https://bugs.webkit.org/show_bug.cgi?id=69153
16674
16675         Reviewed by Antonio Gomes.
16676
16677         Removed the function because it's no called anywhere.
16678
16679         * editing/ReplaceSelectionCommand.cpp:
16680         * editing/ReplaceSelectionCommand.h:
16681
16682 2011-09-30  Aaron Colwell  <acolwell@chromium.org>
16683
16684         Fix EnabledAtRuntime support for constants.
16685         https://bugs.webkit.org/show_bug.cgi?id=67311
16686
16687         Reviewed by Adam Barth.
16688
16689         * bindings/scripts/CodeGeneratorV8.pm:
16690         (GenerateImplementation):
16691
16692 2011-09-29  David Hyatt  <hyatt@apple.com>
16693
16694         https://bugs.webkit.org/show_bug.cgi?id=69043
16695         
16696         [CSS3 Regions] Blocks split across regions with variable width need to size
16697         differently in each region.
16698         
16699         This patch adds the capability for blocks to have variable width and positioning
16700         when split across regions. It is very rudimentary and so far only operates on basic
16701         normal flow RenderBlocks. Future patches will expand the support to cover other layout
16702         constructs like flexible boxes and tables.
16703
16704         Reviewed by Sam Weinig.
16705
16706         Added new tests in fast/regions and updated existing results.
16707
16708         * WebCore.xcodeproj/project.pbxproj:
16709         * rendering/HitTestResult.cpp:
16710         (WebCore::HitTestResult::HitTestResult):
16711         (WebCore::HitTestResult::operator=):
16712         * rendering/HitTestResult.h:
16713         (WebCore::HitTestResult::region):
16714         (WebCore::HitTestResult::setRegion):
16715         The hit test result now holds the active RenderRegion so that hit testing can adjust
16716         block widths and positions when hit testing their border boxes.
16717
16718         * rendering/PaintInfo.h:
16719         (WebCore::PaintInfo::PaintInfo):
16720         The paint info struct now holds the active RenderRegion so that painting can adjust
16721         block widths and positions when painting borders and backgrounds and shadows.
16722
16723         * rendering/RenderBlock.cpp:
16724         (WebCore::RenderBlock::layoutBlock):
16725         If our width ever changes, we invalidate all of our cached RenderBoxRegionInfo in all
16726         regions that we span.
16727
16728         (WebCore::RenderBlock::clearRenderBoxRegionInfo):
16729         Called to clear out our cached region-specific information in all regions that we span.
16730
16731         (WebCore::RenderBlock::borderBoxRectInRegionAtPosition):
16732         Returns the borderBoxRect for the region at the specified vertical offset. This rect
16733         can be both shifted horizontally and have a different width from our original border rect.
16734
16735         (WebCore::RenderBlock::logicalLeftOffsetForContent):
16736         (WebCore::RenderBlock::logicalRightOffsetForContent):
16737         Modified to call borderBoxRectInRegionAtPosition so that lines will fit inside
16738         the content rect of the border box rect for the specific region.
16739
16740         * rendering/RenderBlock.h:
16741         (WebCore::RenderBlock::logicalRightOffsetForContent):
16742         Modified to call logicalLeftOffsetForContent since it's cleaner.
16743
16744         * rendering/RenderBox.cpp:
16745         (WebCore::RenderBox::borderBoxRectInRegion):
16746         Called to compute the border box rect in a specific region. The result is cached in a HashMap
16747         in the region itself so that subsequent lookups are fast.
16748
16749         (WebCore::RenderBox::nodeAtPoint):
16750         Modified to use the border box rect in the active region when hit testing the backgrounds of boxes.
16751
16752         (WebCore::RenderBox::paintBoxDecorations):
16753         Modified to use the border box rect in the active region when painting the backgrounds of boxes.
16754
16755         (WebCore::RenderBox::containingBlockLogicalWidthForContent):
16756         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
16757         (WebCore::RenderBox::computeLogicalWidth):
16758         (WebCore::RenderBox::computeLogicalWidthInRegion):
16759         Helpers for computing logical widths and margins in a specific region. The result is then cached
16760         in a HashMap in the region.
16761
16762         (WebCore::RenderBox::renderBoxRegionInfo):
16763         The function for obtaining the region-specific information for a given box.
16764
16765         * rendering/RenderBox.h:
16766         (WebCore::RenderBox::borderBoxRectInRegion):
16767         New function for returning the border box rect in a given region.
16768
16769         * rendering/RenderBoxModelObject.cpp:
16770         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
16771         Make sure mask painting honors the active region.
16772
16773         * rendering/RenderBoxRegionInfo.h: Added.
16774         (WebCore::RenderBoxRegionInfo::RenderBoxRegionInfo):
16775         (WebCore::RenderBoxRegionInfo::logicalLeft):
16776         (WebCore::RenderBoxRegionInfo::logicalWidth):
16777         (WebCore::RenderBoxRegionInfo::containingBlockChainIsShifted):
16778         New class held by RenderRegions that caches box-specific info for a given region. This will eventually
16779         expand to include custom styles as well, but for now it is limited to a new logical left and a new
16780         logical width, along with a bit for optimizing accumulated shifting when painting/hit testing to avoid
16781         too much groveling up the containing block chain.
16782
16783         * rendering/RenderFlowThread.cpp:
16784         (WebCore::RenderFlowThread::RenderFlowThread):
16785         Removed the region fitting optimization, since eventually everyone is going to care, and there's no reason
16786         to limit it with the results now being cached.
16787
16788         (WebCore::RenderFlowThread::layout):
16789         All box-specific region information is always cleared whenever the regions are invalidated.
16790
16791         (WebCore::RenderFlowThread::computeLogicalWidth):
16792         Modified to set up RenderBoxRegionInfo for the flow thread in all regions.
16793         
16794         (WebCore::RenderFlowThread::paintIntoRegion):
16795         (WebCore::RenderFlowThread::hitTestRegion):
16796         Modified to take the region instead of the region's rectangle so that painting and hit testing of the flow
16797         thread layer tree can properly receive the active region.
16798
16799         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
16800         Helper for removing a box's information from all regions. For now it grovels through every region, so eventually
16801         we may want to have a cache of the start/end regions for a given box somewhere.
16802
16803         * rendering/RenderFlowThread.h:
16804         Removal of the region fitting stuff.
16805
16806         * rendering/RenderLayer.cpp:
16807         (WebCore::RenderLayer::paint):
16808         (WebCore::RenderLayer::paintOverlayScrollbars):
16809         (WebCore::RenderLayer::paintLayer):
16810         (WebCore::RenderLayer::paintList):
16811         (WebCore::RenderLayer::paintPaginatedChildLayer):
16812         (WebCore::RenderLayer::paintChildLayerIntoColumns):
16813         * rendering/RenderLayer.h:
16814         * rendering/RenderLayerBacking.cpp:
16815         (WebCore::RenderLayerBacking::paintIntoLayer):
16816         Modified to pass the current region down through painting functions so that it is known at paint time.
16817
16818         * rendering/RenderObject.cpp:
16819         (WebCore::RenderObject::RenderObject):
16820         Added a new bit to RenderObjects, inRenderFlowThread(), so that it is quick to determine whether or not an
16821         object needs flow thread special casing.
16822
16823         (WebCore::RenderObject::enclosingRenderFlowThread):
16824         Modified enclosingRenderFlowThread to be able to quickly return 0 if the object is not in a flow thread.
16825
16826         (WebCore::RenderObject::containerForRepaint):
16827         Same.
16828
16829         * rendering/RenderObject.h:
16830         (WebCore::RenderObject::setParent):
16831         setParent now updates inRenderFlowThread() state.
16832
16833         (WebCore::RenderObject::inRenderFlowThread):
16834         (WebCore::RenderObject::setInRenderFlowThread):
16835         Adding the new bit.
16836
16837         * rendering/RenderObjectChildList.cpp:
16838         (WebCore::RenderObjectChildList::removeChildNode):
16839         Make sure when an object is removed from a RenderFlowThread that it deletes its box-specific information
16840         in all regions.
16841
16842         * rendering/RenderRegion.cpp:
16843         (WebCore::RenderRegion::~RenderRegion):
16844         (WebCore::RenderRegion::paintReplaced):
16845         (WebCore::RenderRegion::nodeAtPoint):
16846         (WebCore::RenderRegion::renderBoxRegionInfo):
16847         (WebCore::RenderRegion::setRenderBoxRegionInfo):
16848         (WebCore::RenderRegion::removeRenderBoxRegionInfo):
16849         (WebCore::RenderRegion::deleteAllRenderBoxRegionInfo):
16850         (WebCore::RenderRegion::matchesRenderFlowThreadLogicalWidth):
16851         * rendering/RenderRegion.h:
16852         Added the new HashMap for holding box-specific region information. Also added an additional optimization to
16853         check if a specific region matches the overall width of the RenderFlowThread. If it does, we don't need to 
16854         cache box-specific information for that region.
16855
16856         * rendering/RenderReplica.cpp:
16857         (WebCore::RenderReplica::paint):
16858         * rendering/RenderScrollbarPart.cpp:
16859         (WebCore::RenderScrollbarPart::paintIntoRect):
16860         * rendering/svg/SVGImageBufferTools.cpp:
16861         (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
16862         Modified the PaintInfo construction to include the region argument. It's not optional so that callers will
16863         have to consider it (since masks illustrated this is necessary).
16864
16865 2011-09-30  Tim Horton  <timothy_horton@apple.com>
16866
16867         feBlend uses a table of function pointers which reduces inlineability inside the main loop
16868         https://bugs.webkit.org/show_bug.cgi?id=69154
16869         <rdar://problem/10215221>
16870
16871         Reviewed by Darin Adler.
16872
16873         Don't use a table of function pointers inside the feBlend inner loop, instead
16874         use switch and inline functions, bringing a 20% performance gain across the
16875         board to feBlend.
16876
16877         No new tests, minor performance improvement.
16878
16879         * platform/graphics/filters/FEBlend.cpp:
16880         (WebCore::normal):
16881         (WebCore::multiply):
16882         (WebCore::screen):
16883         (WebCore::darken):
16884         (WebCore::lighten):
16885         (WebCore::FEBlend::apply):
16886
16887 2011-09-30  Mark Hahnenberg  <mhahnenberg@apple.com>
16888
16889         Add getCallData to MethodTable in ClassInfo
16890         https://bugs.webkit.org/show_bug.cgi?id=69024
16891
16892         Reviewed by Sam Weinig.
16893
16894         No new tests.
16895
16896         * WebCore.exp.in:
16897
16898         Changed getCallData from private to protected to allow subclasses who 
16899         don't override getCallData themselves to reference it in their own 
16900         method tables when calling the CREATE_METHOD_TABLE macro.
16901         * bridge/runtime_method.h:
16902
16903 2011-09-30  Ned Holbrook  <nholbrook@apple.com>
16904
16905         Complex spaces with synthetic bold are too wide
16906         https://bugs.webkit.org/show_bug.cgi?id=69033
16907
16908         Reviewed by Dan Bernstein.
16909
16910         Test: fast/text/complex-synthetic-bold-space-width.html
16911
16912         * platform/graphics/mac/ComplexTextController.cpp:
16913         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Subtract synthetic bold offset from spaceWidth.
16914         * platform/graphics/win/UniscribeController.cpp:
16915         (WebCore::UniscribeController::shapeAndPlaceItem): Ditto.
16916
16917 2011-09-30  Pavel Feldman  <pfeldman@google.com>
16918
16919         Web Inspector: [chromium] expose inspector protocol version to the embedder.
16920         https://bugs.webkit.org/show_bug.cgi?id=69092
16921
16922         This change also introduces major/minor inspector version components.
16923
16924         Reviewed by Yury Semikhatsky.
16925
16926         * CMakeLists.txt:
16927         * CodeGenerators.pri:
16928         * DerivedSources.make:
16929         * GNUmakefile.am:
16930         * GNUmakefile.list.am:
16931         * WebCore.gyp/WebCore.gyp:
16932         * WebCore.gypi:
16933         * inspector/Inspector-0.1.json: Renamed from Source/WebCore/inspector/Inspector.draft-01.json.
16934         * inspector/Inspector.json:
16935         * inspector/generate-inspector-protocol-version: Renamed from Source/WebCore/inspector/validate-protocol-compatibility.
16936
16937 2011-09-29  Antti Koivisto  <antti@apple.com>
16938
16939         https://bugs.webkit.org/show_bug.cgi?id=69106
16940         Universal attribute selectors disable style sharing
16941
16942         Reviewed by Dave Hyatt.
16943
16944         Selectors of type [foo="bar"] ended up marking every element style with the affectedByAttributeSelectors bit
16945         rendering style sharing inoperative. This happens on http://www.whatwg.org/specs/web-apps/current-work/ for example.
16946
16947         Instead we now mark style with affectedByUncommonAttributeSelectors bit only if an attribute selector actually 
16948         matches the element. Before sharing, we also check the current element against collected attribute rules.
16949         We can share the style if neither element was affected.
16950         
16951         This speeds up style matching and applying ~15% on full HTML5 spec (=~0.7s). Sharing percentage goes from 0% to ~30%.
16952         Increased sharing should also save a substantial amount of memory.
16953
16954         * css/CSSSelector.h:
16955         (WebCore::CSSSelector::isAttributeSelector):
16956         * css/CSSStyleSelector.cpp:
16957         (WebCore::RuleData::containsUncommonAttributeSelector):
16958         (WebCore::collectSpecialRulesInDefaultStyle):
16959         (WebCore::assertNoSiblingRulesInDefaultStyle):
16960         (WebCore::CSSStyleSelector::CSSStyleSelector):
16961         (WebCore::CSSStyleSelector::matchRules):
16962         (WebCore::CSSStyleSelector::matchesRuleSet):
16963         (WebCore::CSSStyleSelector::canShareStyleWithElement):
16964         (WebCore::CSSStyleSelector::locateSharedStyle):
16965         (WebCore::CSSStyleSelector::styleForElement):
16966         (WebCore::selectorListContainsUncommonAttributeSelector):
16967         (WebCore::isCommonAttributeSelectorAttribute):
16968         (WebCore::containsUncommonAttributeSelector):
16969         (WebCore::RuleData::RuleData):
16970         (WebCore::collectFeaturesFromSelector):
16971         (WebCore::collectFeaturesFromList):
16972         * css/CSSStyleSelector.h:
16973         * css/SelectorChecker.cpp:
16974         (WebCore::SelectorChecker::checkOneSelector):
16975         * rendering/style/RenderStyle.cpp:
16976         (WebCore::RenderStyle::RenderStyle):
16977         * rendering/style/RenderStyle.h:
16978         (WebCore::InheritedFlags::affectedByUncommonAttributeSelectors):
16979         (WebCore::InheritedFlags::setAffectedByUncommonAttributeSelectors):
16980
16981 2011-09-30  James Robinson  <jamesr@chromium.org>
16982
16983         [chromium] Add WebKit API for sending input events to the compositor thread
16984         https://bugs.webkit.org/show_bug.cgi?id=69117
16985
16986         Reviewed by Darin Fisher.
16987
16988         Convert to using an externally-provided thread instead of one managed by CCThreadProxy internally. Most changes
16989         in these files are mechanically changing references from ccThread to s_ccThread to reflect the class-static
16990         nature of this pointer, the rest are removing the old thread creation codepath.
16991
16992         These changes are covered by the CC* unit tests and by the gpu layout tests when run with the
16993         use_threaded_compositing=1 gyp define.
16994
16995         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
16996         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
16997         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
16998         (WebCore::CCThreadProxy::setThread):
16999         (WebCore::CCThreadProxy::CCThreadProxy):
17000         (WebCore::CCThreadProxy::~CCThreadProxy):
17001         (WebCore::CCThreadProxy::compositeAndReadback):
17002         (WebCore::CCThreadProxy::finishAllRendering):
17003         (WebCore::CCThreadProxy::initializeLayerRenderer):
17004         (WebCore::CCThreadProxy::setNeedsCommit):
17005         (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
17006         (WebCore::CCThreadProxy::setNeedsRedraw):
17007         (WebCore::CCThreadProxy::start):
17008         (WebCore::CCThreadProxy::stop):
17009         (WebCore::CCThreadProxy::beginFrameAndCommit):
17010         (WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
17011         * platform/graphics/chromium/cc/CCThreadProxy.h:
17012
17013 2011-09-29  Fady Samuel  <fsamuel@chromium.org>
17014
17015         Fixed Hit testing on Framesets when Frameset is transformed
17016         https://bugs.webkit.org/show_bug.cgi?id=67740
17017
17018         Reviewed by Simon Fraser.
17019
17020         Tests: fast/frames/frame-set-rotation-hit.html
17021                fast/frames/frame-set-scaling-hit.html
17022
17023         * rendering/RenderFrameSet.cpp:
17024         (WebCore::RenderFrameSet::userResize):
17025
17026 2011-09-29  Dirk Pranke  <dpranke@chromium.org>
17027
17028         fix gyp warnings in chromium for renamed files
17029         https://bugs.webkit.org/show_bug.cgi?id=69116
17030
17031         Reviewed by Adam Barth.
17032
17033         * WebCore.gypi:
17034
17035 2011-09-29  Martin Robinson  <mrobinson@igalia.com>
17036
17037         [Freetype] Some text in Planet GNOME renders in the wrong place
17038         https://bugs.webkit.org/show_bug.cgi?id=69099
17039
17040         Reviewed by Dirk Schulze.
17041
17042         Test: platform/gtk/fonts/synthetic-oblique-positioning.html
17043
17044         Fold the oblique transform into the font matrix itself rather than transforming
17045         the CTM of the context at render time. Not only does this fix the issue, it
17046         prevents unnecessary work on every paint.
17047
17048         * platform/graphics/cairo/FontCairo.cpp:
17049         No longer set the synthetic oblique transformation matrix on the context
17050         when rendering the text. Instead it is now folded into the TM of the font
17051         itself.
17052         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
17053         (WebCore::FontPlatformData::initializeWithFontFace): Fold the oblique transform into the scaled font.
17054         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
17055         (WebCore::FontPlatformData::FontPlatformData): Ditto.
17056
17057 2011-09-29  Dan Bernstein  <mitz@apple.com>
17058
17059         Follow-up fix for <rdar://problem/10191243> Glyph variants (line final swashes) appear where they should not
17060
17061         Reviewed by Simon Fraser.
17062
17063         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
17064         (WebCore::FontPlatformData::ctFont): Check for Hoefler Text Black Italic as well.
17065
17066 2011-09-29  Cary Clark  <caryclark@google.com>
17067
17068         Enable LCD text in Skia on Mac
17069         https://bugs.webkit.org/show_bug.cgi?id=68734
17070
17071         Reviewed by Stephen White.
17072
17073         No new tests. Existing layout tests are generated
17074         with LCD text disabled for pixel comparisons.
17075
17076         Duplicate the logic in FontMac.mm to pass settings
17077         for antialiasing and smoothing. Also disable smoothing
17078         for DumpRenderTree.
17079  
17080         * platform/graphics/skia/FontSkia.cpp:
17081         (WebCore::setupPaint):
17082         (WebCore::Font::drawGlyphs):
17083
17084 2011-09-29  Varun Jain  <varunjain@google.com>
17085  
17086          Implement flick gesture in Chromium Gesture Recognizer
17087          https://bugs.webkit.org/show_bug.cgi?id=67930
17088  
17089          Reviewed by Dimitri Glazkov.
17090  
17091          Test: Source/WebKit/chromium/tests/InnerGestureRecognizerTest.cpp 
17092  
17093          * platform/chromium/GestureRecognizerChromium.cpp:
17094          (WebCore::GestureRecognizerChromium::isOverMinFlickSpeed):
17095          (WebCore::GestureRecognizerChromium::appendScrollGestureEnd):
17096          (WebCore::GestureRecognizerChromium::updateValues):
17097          (WebCore::GestureRecognizerChromium::scrollEnd):
17098          * platform/chromium/GestureRecognizerChromium.h:
17099
17100 2011-09-29  Noel Gordon  <noel.gordon@gmail.com>
17101
17102         [chromium] canvas.toDataURL("image/jpeg"): use libjpeg-turbo data swizzle
17103         https://bugs.webkit.org/show_bug.cgi?id=67402
17104
17105         Reviewed by Kenneth Russell.
17106
17107         libjpeg-turbo can read directly from the input data for the premultiplied BRGX
17108         (SkBitmap) encoding case.
17109
17110         No change in behavior, covered by existing canvas 2d/3d tests
17111         canvas/philip/tests/toDataURL.jpeg.alpha.html
17112         fast/canvas/webgl/premultiplyalpha-test.html
17113
17114         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
17115         (WebCore::encodePixels): If JCS_EXTENSIONS is defined (libjpeg-turbo), swizzle
17116         the input BRGX pixels directly within libjpeg-turbo.
17117
17118 2011-09-29  Adam Barth  <abarth@webkit.org>
17119
17120         Fixenate the build.
17121
17122         * bindings/v8/V8DOMWindowShell.cpp:
17123         (WebCore::V8DOMWindowShell::namedItemAdded):
17124
17125 2011-09-29  Ryosuke Niwa  <rniwa@webkit.org>
17126
17127         Remove direct reads to m_firstNodeInserted and m_lastLeafInserted in ReplaceSelectionCommand
17128         https://bugs.webkit.org/show_bug.cgi?id=69023
17129
17130         Reviewed by Enrica Casucci.
17131
17132         Converted to removeUnrenderedTextNodesAtEnds to use InsertedNodes instead of m_firstNodeInserted
17133         and m_lastLeafInserted. Extracted the logic to update nodes as InsertedNodes::willRemoveNode
17134         (old one was renamed to InsertedNodes::willRemoveNodePreservingChildren).
17135
17136         Also extracted shouldPerformSmartReplace and addSpacesForSmartReplace out of doApply,
17137         and rewrote the logic to obtain endNode and startNode using startOfInsertedContent and
17138         endOfInsertedContent instead of m_firstNodeInserted and m_lastLeafInserted.
17139
17140         Finally, replaced the nullity checks of m_firstNodeInserted and m_lastLeafInserted in
17141         completeHTMLReplacement by nullity checks of start and end positions.
17142
17143         * dom/Node.cpp:
17144         (WebCore::Node::traversePreviousSibling): Added.
17145         * dom/Node.h:
17146         * editing/ReplaceSelectionCommand.cpp:
17147         (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNodePreservingChildren): Renamed from
17148         willRemoveNode.
17149         (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNode): Extracted from
17150         removeUnrenderedTextNodesAtEnds.
17151         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
17152         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
17153         (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent): Made const.
17154         (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): Made const.
17155         (WebCore::ReplaceSelectionCommand::handleStyleSpans): Takes firstNodeInserted instead of directly
17156         accessing m_firstNodeInserted.
17157         (WebCore::ReplaceSelectionCommand::doApply):
17158         (WebCore::ReplaceSelectionCommand::shouldPerformSmartReplace):
17159         (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
17160         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
17161         * editing/ReplaceSelectionCommand.h:
17162
17163 2011-09-29  Andreas Kling  <kling@webkit.org>
17164
17165         Shrink HTMLAnchorElement on 32-bit.
17166         https://bugs.webkit.org/show_bug.cgi?id=69094
17167
17168         Reviewed by Antti Koivisto.
17169
17170         * html/HTMLAnchorElement.h: Pack members into a bitfield.
17171
17172 2011-09-29  Dan Bernstein  <mitz@apple.com>
17173
17174         <rdar://problem/10191243> Glyph variants (line final swashes) appear where they should not
17175
17176         Reviewed by Simon Fraser.
17177
17178         Test: fast/text/line-initial-and-final-swashes.html
17179
17180         Hoefler Text Italic enables line-initial and -final swashes by default, so disable them. This
17181         change targets only this known-bad font rather than all fonts, because at least one font (Khmer MN)
17182         incorrectly claims to have the line-initial feature enabled, but disabling it actually does
17183         something different and bad (breaking some combining marks).
17184
17185         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
17186         (WebCore::createFeatureSettingDictionary): Added this helper function.
17187         (WebCore::cascadeToLastResortFontDescriptor): Deployed WTF_ARRAY_LENGTH().
17188         (WebCore::cascadeToLastResortAndDisableSwashesFontDescriptor): Added. Returns a font descriptor
17189         that, in addition to having a cascade list consisting of the last resort font, also has feature
17190         settings to disable line-initial and line-final swashes.
17191         (WebCore::FontPlatformData::ctFont): For Hoefler Text Italic, use cascadeToLastResortAndDisableSwashesFontDescriptor().
17192
17193 2011-09-29  Mark Hahnenberg  <mhahnenberg@apple.com>
17194
17195         Unreviewed: resetting baseline for code generator bindings
17196
17197         Unreviewed build fix
17198
17199         No new tests.
17200
17201         * bindings/scripts/test/JS/JSTestObj.cpp:
17202         * bindings/scripts/test/JS/JSTestObj.h:
17203
17204 2011-09-29  Nate Chapin  <japhet@chromium.org>
17205
17206         [V8, chromium] More logging to determine cause of a null
17207         v8::Context in V8DOMWindowShell::namedItemAdded().
17208
17209         https://bugs.webkit.org/show_bug.cgi?id=68099
17210
17211         Reviewed by Adam Barth.
17212
17213         * bindings/v8/V8DOMWindowShell.cpp:
17214         (WebCore::V8DOMWindowShell::namedItemAdded):
17215
17216 2011-09-29  Alexey Proskuryakov  <ap@apple.com>
17217
17218         https://bugs.webkit.org/show_bug.cgi?id=69040
17219         ScrollbarThemeComposite requires a ScrollView to draw scroll corner
17220
17221         Reviewed by Simon Fraser.
17222
17223         No new tests. This will be needed later.
17224
17225         * platform/ScrollbarThemeComposite.cpp:
17226         (WebCore::pageForScrollView):
17227         (WebCore::ScrollbarThemeComposite::paintScrollCorner):
17228         Use pageForScrollView() function which already existed in this file, used in another similar
17229         location.
17230
17231         * platform/chromium/FramelessScrollView.cpp:
17232         * platform/chromium/FramelessScrollView.h:
17233         * platform/gtk/ScrollbarThemeGtk.cpp:
17234         * platform/gtk/ScrollbarThemeGtk.h:
17235         * platform/wx/ScrollbarThemeWx.cpp:
17236         * platform/wx/ScrollbarThemeWx.h:
17237         All these overrides are no longer needed, ScrollbarThemeComposite will do the right thing.
17238
17239         * platform/qt/ScrollbarThemeQt.cpp: (WebCore::ScrollbarThemeQt::paintScrollCorner):
17240         Removed a special case for updatingControlTints phase. The same case is present in cross-platform
17241         code now, and Qt doesn't have any custom subclasses of ScrollableArea or ScrollView to need
17242         special handling.
17243         This was added in r37377 without a bug or much ChangeLog explanation.
17244
17245 2011-09-29  Mark Hahnenberg  <mhahnenberg@apple.com>
17246
17247         De-virtualize JSCell::visitChildrenVirtual and remove all other visitChildrenVirtual methods
17248         https://bugs.webkit.org/show_bug.cgi?id=68839
17249
17250         Reviewed by Geoffrey Garen.
17251
17252         No new tests.
17253
17254         Removed the remaining visitChildrenVirtual methods.  This patch completes the process of 
17255         de-virtualizing visitChildren.
17256
17257         * WebCore.exp.in:
17258         * bindings/js/JSAttrCustom.cpp:
17259         * bindings/js/JSAudioContextCustom.cpp:
17260         * bindings/js/JSCSSRuleCustom.cpp:
17261         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
17262         * bindings/js/JSCanvasRenderingContextCustom.cpp:
17263         * bindings/js/JSDOMGlobalObject.cpp:
17264         (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
17265         (WebCore::JSDOMGlobalObject::finishCreation):
17266         * bindings/js/JSDOMGlobalObject.h:
17267         * bindings/js/JSDOMWindowCustom.cpp:
17268         * bindings/js/JSDOMWindowShell.cpp:
17269         * bindings/js/JSDOMWindowShell.h:
17270         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
17271         * bindings/js/JSMessageChannelCustom.cpp:
17272         * bindings/js/JSMessagePortCustom.cpp:
17273         * bindings/js/JSNamedNodeMapCustom.cpp:
17274         * bindings/js/JSNodeCustom.cpp:
17275         * bindings/js/JSNodeFilterCustom.cpp:
17276         * bindings/js/JSNodeIteratorCustom.cpp:
17277         * bindings/js/JSSVGElementInstanceCustom.cpp:
17278         * bindings/js/JSSharedWorkerCustom.cpp:
17279         * bindings/js/JSStyleSheetCustom.cpp:
17280         * bindings/js/JSTreeWalkerCustom.cpp:
17281         * bindings/js/JSWebGLRenderingContextCustom.cpp:
17282         * bindings/js/JSWorkerContextCustom.cpp:
17283         * bindings/js/JSXMLHttpRequestCustom.cpp:
17284         * bindings/js/JSXPathResultCustom.cpp:
17285         * bindings/scripts/CodeGeneratorJS.pm:
17286         (GenerateHeader):
17287         (GenerateImplementation):
17288         * bridge/qt/qt_instance.cpp:
17289         * bridge/qt/qt_runtime.cpp:
17290         * bridge/qt/qt_runtime.h:
17291
17292 2011-09-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
17293
17294         [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
17295
17296         QWidget and friends now live in the QtWidgets library. We update
17297         includes in implementation files and private headers to us the
17298         non-module-prefixed path, and leave the lookup for the include
17299         path. For public headers we have to ifdef the includes as the
17300         user might now have the modules we need in his QT config.
17301
17302         Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
17303         have to update our code and use windowHandle() for setting the
17304         parent relationships.
17305
17306         https://bugs.webkit.org/show_bug.cgi?id=68687
17307
17308         Reviewed by Andreas Kling.
17309
17310         * WebCore.pri:
17311         * platform/graphics/qt/GraphicsLayerQt.cpp:
17312
17313 2011-09-29  Sheriff Bot  <webkit.review.bot@gmail.com>
17314
17315         Unreviewed, rolling out r96340.
17316         http://trac.webkit.org/changeset/96340
17317         https://bugs.webkit.org/show_bug.cgi?id=69098
17318
17319         Caused 10 tests to crash in Debug (Requested by
17320         abarth|gardener on #webkit).
17321
17322         * accessibility/AXObjectCache.cpp:
17323         (WebCore::AXObjectCache::AXObjectCache):
17324         (WebCore::AXObjectCache::~AXObjectCache):
17325         (WebCore::AXObjectCache::remove):
17326         (WebCore::AXObjectCache::childrenChanged):
17327         * accessibility/AXObjectCache.h:
17328         * accessibility/AccessibilityMenuList.cpp:
17329         (WebCore::AccessibilityMenuList::childrenChanged):
17330         * accessibility/AccessibilityMenuList.h:
17331         * accessibility/AccessibilityMenuListPopup.cpp:
17332         (WebCore::AccessibilityMenuListPopup::childrenChanged):
17333         * accessibility/AccessibilityMenuListPopup.h:
17334         * accessibility/AccessibilityObject.h:
17335         (WebCore::AccessibilityObject::childrenChanged):
17336         * accessibility/AccessibilityRenderObject.cpp:
17337         (WebCore::startOfContinuations):
17338         (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
17339         (WebCore::AccessibilityRenderObject::childrenChanged):
17340         * accessibility/AccessibilityRenderObject.h:
17341         * rendering/RenderObject.cpp:
17342         (WebCore::RenderObject::willBeDestroyed):
17343
17344 2011-09-29  Andreas Kling  <kling@webkit.org>
17345
17346         Shrink FontFallbackList.
17347         https://bugs.webkit.org/show_bug.cgi?id=69093
17348
17349         Reviewed by Antti Koivisto.
17350
17351         Reduce the size of FontFallbackList by one CPU word, decreasing memory
17352         consumption by 300 kB (on 64-bit) when loading the full HTML5 spec.
17353
17354         * platform/graphics/FontCache.h:
17355         * platform/graphics/FontCache.cpp:
17356         (WebCore::FontCache::generation):
17357
17358             Store the FontCache generation as an ushort rather than uint.
17359
17360         * platform/graphics/FontFallbackList.cpp:
17361         (WebCore::FontFallbackList::FontFallbackList):
17362         * platform/graphics/FontFallbackList.h:
17363
17364             Pack enum and bool members in a bitfield.
17365
17366 2011-09-29  Adam Barth  <abarth@webkit.org>
17367
17368         We should ignore the return value of GetRealNamedProperty
17369         https://bugs.webkit.org/show_bug.cgi?id=68840
17370
17371         Reviewed by Nate Chapin.
17372
17373         Instead of skipping the lookup process by using the result of real
17374         named property, we should just indiciate that it wasn't handled by the
17375         interceptor.
17376
17377         Test: http/tests/security/window-named-valueOf.html
17378
17379         * bindings/v8/custom/V8DOMWindowCustom.cpp:
17380         (WebCore::V8DOMWindow::namedPropertyGetter):
17381
17382 2011-09-29  Chris Fleizach  <cfleizach@apple.com>
17383
17384         ARIA live regions don't trigger notifications for elements that aren't in the AX tree
17385         https://bugs.webkit.org/show_bug.cgi?id=62289
17386
17387         If an ARIA Live region udpates an element that is not in the AX object cache, then the Live region
17388         notification is not sent. To fix this, the childrenChanged() method needs to actually create
17389         the appropriate objects, but since that method gets called during a render tree update, we've learned 
17390         that it's generally not safe to create objects.
17391
17392         Instead a one shot timer can be fired that will update and create the necessary objects so that the
17393         correct notification can be sent.
17394
17395         Reviewed by Darin Adler.
17396
17397         Test: platform/mac/accessibility/aria-liveregion-without-element-access.html
17398
17399         * accessibility/AXObjectCache.cpp:
17400         (WebCore::AXObjectCache::AXObjectCache):
17401         (WebCore::AXObjectCache::~AXObjectCache):
17402         (WebCore::AXObjectCache::remove):
17403         (WebCore::AXObjectCache::childrenUpdateTimerFired):
17404         (WebCore::AXObjectCache::childrenChanged):
17405         * accessibility/AXObjectCache.h:
17406         * accessibility/AccessibilityMenuList.cpp:
17407         (WebCore::AccessibilityMenuList::childrenChanged):
17408         * accessibility/AccessibilityMenuList.h:
17409         * accessibility/AccessibilityMenuListPopup.cpp:
17410         (WebCore::AccessibilityMenuListPopup::childrenChanged):
17411         * accessibility/AccessibilityMenuListPopup.h:
17412         * accessibility/AccessibilityObject.h:
17413         (WebCore::AccessibilityObject::childrenChanged):
17414         * accessibility/AccessibilityRenderObject.cpp:
17415         (WebCore::startOfContinuations):
17416         (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
17417         (WebCore::AccessibilityRenderObject::childrenChanged):
17418         * accessibility/AccessibilityRenderObject.h:
17419         * rendering/RenderObject.cpp:
17420         (WebCore::RenderObject::willBeDestroyed):
17421
17422 2011-09-29  Martin Robinson  <mrobinson@igalia.com>
17423
17424         [GTK] Dragging a selection does not produce a drag image
17425         https://bugs.webkit.org/show_bug.cgi?id=69064
17426
17427         Reviewed by Andreas Kling.
17428
17429         Moved Chromium's generic implementation of Frame::nodeImage and
17430         Frame::dragImageForSeletion to Frame.cpp and simply excluded via
17431         #ifdefs platforms that do not have their own implementation. Removed
17432         all empty implementations of these functions and Qt's which was
17433         functionally identical.
17434
17435         No new tests. Drag-and-drop drag image functionality changes
17436         are incredibly difficult to test in a non-manual way.
17437
17438         * CMakeListsEfl.txt: Delist FrameEfl.cpp.
17439         * GNUmakefile.list.am: Delist FrameGtk.cpp.
17440         * WebCore.gypi: Delist removed Frame*.cpp.
17441         * WebCore.pro: Delist FrameQt.cpp.
17442         * page/Frame.cpp: Moved FrameChromium implementation here.
17443         (WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
17444         (WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
17445         (WebCore::Frame::nodeImage):
17446         (WebCore::Frame::dragImageForSelection):
17447         * page/chromium/FrameChromium.cpp: Removed.
17448         * page/efl/FrameEfl.cpp: Removed.
17449         * page/gtk/FrameGtk.cpp: Removed.
17450         * page/qt/FrameQt.cpp: Removed.
17451         * page/wx/FrameWx.cpp: Removed.
17452         * platform/gtk/ClipboardGtk.cpp:
17453         (WebCore::ClipboardGtk::createDragImage): Call nodeImage to get
17454         the drag image for a node.
17455
17456 2011-09-29  Noel Gordon  <noel.gordon@gmail.com>
17457
17458         [chromium skia] PNGImageEncoder: hoist constants out of the encoding loop
17459         https://bugs.webkit.org/show_bug.cgi?id=68988
17460
17461         Reviewed by Kenneth Russell.
17462
17463         No new tests.  Covered by existing canvas 2d and 3d tests.
17464         canvas/philip/tests/toDataURL.png.*.html
17465         fast/canvas/toDataURL-alpha.html
17466         fast/canvas/webgl/premultiplyalpha-test.html
17467
17468         * platform/image-encoders/skia/PNGImageEncoder.cpp:
17469         (WebCore::encodePixels):  Move constant out of the encoding loop.
17470         (WebCore::PNGImageEncoder::encode):  Consistency & style: call encodePixels()
17471         just like we do in the JPEG encoder.
17472
17473 2011-09-29  Iain Merrick  <husky@google.com>
17474
17475         Add unit test for CCLayerSorter
17476         https://bugs.webkit.org/show_bug.cgi?id=68622
17477
17478         Minor refactoring for testability:
17479         - Made pointInTriangle public.
17480         - Added LayerShape to decouple LayerIntersector and GraphNode.
17481         - Added a public wrapper function for LayerIntersector.
17482
17483         Reviewed by James Robinson.
17484
17485         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
17486         (WebCore::CCLayerSorter::pointInTriangle):
17487         (WebCore::CCLayerSorter::calculateZDiff):
17488         (WebCore::CCLayerSorter::LayerIntersector::LayerIntersector):
17489         (WebCore::CCLayerSorter::LayerIntersector::go):
17490         (WebCore::CCLayerSorter::LayerIntersector::checkZDiff):
17491         (WebCore::CCLayerSorter::LayerIntersector::layerZFromProjectedPoint):
17492         (WebCore::CCLayerSorter::checkOverlap):
17493         (WebCore::CCLayerSorter::LayerShape::LayerShape):
17494         (WebCore::CCLayerSorter::createGraphNodes):
17495         * platform/graphics/chromium/cc/CCLayerSorter.h:
17496         (WebCore::CCLayerSorter::LayerShape::LayerShape):
17497         (WebCore::CCLayerSorter::GraphNode::GraphNode):
17498
17499 2011-09-29  Ilya Tikhonovsky  <loislo@chromium.org>
17500
17501         Web Inspector: UI performance test for network panel is incorrect. The time is including a timeout between scheduled refresh and actual refresh.
17502         https://bugs.webkit.org/show_bug.cgi?id=69087
17503
17504         The fix has the changes for the test and minor perf framework improvements.
17505
17506         Reviewed by Yury Semikhatsky.
17507
17508         * inspector/front-end/NetworkPanel.js:
17509         (WebInspector.NetworkLogView.prototype._defaultRefreshDelay.500._scheduleRefresh):
17510
17511 2011-09-29  Vsevolod Vlasov  <vsevik@chromium.org>
17512
17513         Web Inspector: Make search-in-resource test simpler.
17514         https://bugs.webkit.org/show_bug.cgi?id=69025
17515
17516         Changed search-in-resource test.
17517         Removed error parameter from content provider's searchInContent callback.
17518
17519         Reviewed by Pavel Feldman.
17520
17521         * inspector/InspectorPageAgent.cpp:
17522         (WebCore::InspectorPageAgent::searchInResource):
17523         (WebCore::InspectorPageAgent::searchInResources):
17524         * inspector/front-end/Resource.js:
17525         (WebInspector.Resource.prototype.searchInContent):
17526
17527 2011-09-29  Hans Wennborg  <hans@chromium.org>
17528
17529         IndexedDB: Use LevelDB also for in-memory databases
17530         https://bugs.webkit.org/show_bug.cgi?id=68903
17531
17532         Reviewed by Steve Block.
17533
17534         Add LevelDBDatabase::openInMemory() which uses leveldb::NewMemEnv()
17535         to create in-memory LevelDB databases.
17536
17537         Use this in IDBLeveLDBBackingStore::open() when the caller passes in
17538         an empty file path.
17539         This happens in Chromium's incognito mode, and when running layout
17540         tests.
17541
17542         Fix IDBSQLiteBackingStore::backingStoreExists() so it doesn't create
17543         files when passed in an empty file path, but uses the in-memory mode
17544         instead.
17545
17546         Existing layout tests will all be run in-memory.
17547
17548         * platform/leveldb/LevelDBDatabase.cpp:
17549         (WebCore::LevelDBDatabase::~LevelDBDatabase):
17550         (WebCore::openDB):
17551         (WebCore::LevelDBDatabase::open):
17552         (WebCore::LevelDBDatabase::openInMemory):
17553         * platform/leveldb/LevelDBDatabase.h:
17554         * storage/IDBLevelDBBackingStore.cpp:
17555         (WebCore::IDBLevelDBBackingStore::open):
17556         * storage/IDBSQLiteBackingStore.cpp:
17557         (WebCore::IDBSQLiteBackingStore::backingStoreExists):
17558
17559 2011-09-29  Ilya Tikhonovsky  <loislo@chromium.org>
17560
17561         Web Inspector: speed-up Network panel. Change _staleResources type from array to object.
17562         https://bugs.webkit.org/show_bug.cgi?id=69081
17563
17564         There is a test with 30 requests.
17565         For the each stage of loading a resource we have an entry in _staleResources array. There are at least 4 stages per request.
17566         NetworkLogView._refresh function is creating/updating the resource row for the each such entry.
17567         This array can be replaced with a hash map just because the resource associated with the entry is the same for all the entries with the same request id.
17568
17569         Reviewed by Pavel Feldman.
17570
17571         Test: inspector/performance/resources/network-append-30-requests.html
17572
17573         * inspector/front-end/NetworkPanel.js:
17574         (WebInspector.NetworkLogView):
17575         (WebInspector.NetworkLogView.prototype._invalidateAllItems):
17576         (WebInspector.NetworkLogView.prototype.refresh):
17577         (WebInspector.NetworkLogView.prototype._reset):
17578         (WebInspector.NetworkLogView.prototype._refreshResource):
17579
17580 2011-09-28  Pavel Feldman  <pfeldman@google.com>
17581
17582         Web Inspector: make inspector protocol validation a part of the build process.
17583         https://bugs.webkit.org/show_bug.cgi?id=68999
17584
17585         Since we'd like to commit to inspector protocol backwards compatibility, violating it
17586         should be a build failure.
17587
17588         Reviewed by Yury Semikhatsky.
17589
17590         * CMakeLists.txt:
17591         * CodeGenerators.pri:
17592         * DerivedSources.make:
17593         * GNUmakefile.am:
17594         * WebCore.gyp/WebCore.gyp:
17595         * inspector/Inspector.draft-01.json:
17596         * inspector/Inspector.json:
17597         * inspector/generate-inspector-idl:
17598         * inspector/generate-protocol-externs:
17599         * inspector/validate-protocol-compatibility:
17600
17601 2011-09-27  Pavel Feldman  <pfeldman@google.com>
17602
17603         Web Inspector: Scripts panel without folders causes errors when creating content scripts section.
17604         https://bugs.webkit.org/show_bug.cgi?id=68827
17605
17606         Reviewed by Yury Semikhatsky.
17607
17608         * inspector/front-end/ScriptsPanel.js:
17609         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered.optionCompare):
17610         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered):
17611         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
17612
17613 2011-09-28  Andrey Kosyakov  <caseq@chromium.org>
17614
17615         Web Inspector: network log view refresh optimizations
17616         https://bugs.webkit.org/show_bug.cgi?id=69010
17617
17618         Reviewed by Pavel Feldman.
17619
17620         * inspector/front-end/NetworkPanel.js:
17621         (WebInspector.NetworkLogView.prototype.refresh):
17622
17623 2011-09-29  Pavel Podivilov  <podivilov@chromium.org>
17624
17625         Web Inspector: split SourceFile.js into RawSourceCode.js and UISourceCodeContentProviders.js.
17626         https://bugs.webkit.org/show_bug.cgi?id=69068
17627
17628         Reviewed by Yury Semikhatsky.
17629
17630         * WebCore.gypi:
17631         * WebCore.vcproj/WebCore.vcproj:
17632         * inspector/front-end/RawSourceCode.js: Renamed from Source/WebCore/inspector/front-end/SourceFile.js.
17633         (WebInspector.RawSourceCode): Moved from SourceFile.js.
17634         (WebInspector.UILocation): Moved from SourceFile.js.
17635         * inspector/front-end/UISourceCodeContentProviders.js: Added. Moved ContentProvider implementations from SourceFile.js
17636         (WebInspector.ScriptContentProvider):
17637         (WebInspector.ScriptContentProvider.prototype.requestContent):
17638         (WebInspector.ConcatenatedScriptsContentProvider):
17639         (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
17640         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
17641         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
17642         (WebInspector.ResourceContentProvider):
17643         (WebInspector.ResourceContentProvider.prototype.requestContent):
17644         (WebInspector.StaticContentProvider):
17645         (WebInspector.StaticContentProvider.prototype.requestContent):
17646         * inspector/front-end/WebKit.qrc:
17647         * inspector/front-end/inspector.html:
17648
17649 2011-09-29  Philippe Normand  <pnormand@igalia.com>
17650
17651         [GStreamer] 2 flaky media tests
17652         https://bugs.webkit.org/show_bug.cgi?id=67407
17653
17654         Reviewed by Martin Robinson.
17655
17656         Workaround for GStreamer bug#639941. In GStreamer
17657         0.10.35 basesink reports wrong duration in case of EOS and
17658         negative playback rate. This workaround fixes two media tests,
17659         media/video-timeupdate-reverse-play.html and
17660         media/video-reverse-play-duration.html.
17661
17662         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
17663         (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay):
17664         (WebCore::MediaPlayerPrivateGStreamer::currentTime):
17665         (WebCore::MediaPlayerPrivateGStreamer::didEnd):
17666
17667 2011-09-29  Philippe Normand  <pnormand@igalia.com>
17668
17669         [GStreamer] fullscreen video pause/play fails
17670         https://bugs.webkit.org/show_bug.cgi?id=66936
17671
17672         Reviewed by Martin Robinson.
17673
17674         Don't use the identity element to avoid painting of the in-window
17675         video. Instead simply make the sink aware of the fullscreen state
17676         and ignore buffers if fullscreen and autovideosink are
17677         active. Also fixed two deadlocks happening when a paused pipeline
17678         is switched to fullscreen and when fullscreen is disabled for a
17679         paused pipeline.
17680
17681         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
17682         (WebCore::GStreamerGWorld::enterFullscreen):
17683         (WebCore::GStreamerGWorld::exitFullscreen):
17684         * platform/graphics/gstreamer/GStreamerGWorld.h:
17685         (WebCore::GStreamerGWorld::isFullscreen):
17686         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
17687         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
17688         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
17689         (webkit_video_sink_render):
17690         (webkit_video_sink_new):
17691         * platform/graphics/gstreamer/VideoSinkGStreamer.h:
17692
17693 2011-09-29  Tim Horton  <timothy_horton@apple.com>
17694
17695         REGRESSION(87010): elements in ECMA-cloud neither filled nor blurred
17696         https://bugs.webkit.org/show_bug.cgi?id=68679
17697         <rdar://problem/10204649>
17698
17699         Reviewed by Nikolas Zimmermann.
17700
17701         Strip prefixes from SVG attributes before testing if they're supported.
17702         Namespaced attributes will be matched using their namespace instead of
17703         the (user-choosable) prefix.
17704
17705         Test: svg/custom/xlink-custom-namespace.svg
17706
17707         * svg/SVGAElement.cpp:
17708         (WebCore::SVGAElement::isSupportedAttribute):
17709         * svg/SVGAnimateMotionElement.cpp:
17710         (WebCore::SVGAnimateMotionElement::isSupportedAttribute):
17711         * svg/SVGAnimateTransformElement.cpp:
17712         (WebCore::SVGAnimateTransformElement::isSupportedAttribute):
17713         * svg/SVGAnimationElement.cpp:
17714         (WebCore::SVGAnimationElement::isSupportedAttribute):
17715         * svg/SVGCircleElement.cpp:
17716         (WebCore::SVGCircleElement::isSupportedAttribute):
17717         * svg/SVGClipPathElement.cpp:
17718         (WebCore::SVGClipPathElement::isSupportedAttribute):
17719         * svg/SVGComponentTransferFunctionElement.cpp:
17720         (WebCore::SVGComponentTransferFunctionElement::isSupportedAttribute):
17721         * svg/SVGCursorElement.cpp:
17722         (WebCore::SVGCursorElement::isSupportedAttribute):
17723         * svg/SVGElement.h:
17724         (WebCore::SVGAttributeHashTranslator::hash):
17725         (WebCore::SVGAttributeHashTranslator::equal):
17726         * svg/SVGEllipseElement.cpp:
17727         (WebCore::SVGEllipseElement::isSupportedAttribute):
17728         * svg/SVGExternalResourcesRequired.h:
17729         * svg/SVGFEBlendElement.cpp:
17730         (WebCore::SVGFEBlendElement::isSupportedAttribute):
17731         * svg/SVGFEColorMatrixElement.cpp:
17732         (WebCore::SVGFEColorMatrixElement::isSupportedAttribute):
17733         * svg/SVGFEComponentTransferElement.cpp:
17734         (WebCore::SVGFEComponentTransferElement::isSupportedAttribute):
17735         * svg/SVGFECompositeElement.cpp:
17736         (WebCore::SVGFECompositeElement::isSupportedAttribute):
17737         * svg/SVGFEConvolveMatrixElement.cpp:
17738         (WebCore::SVGFEConvolveMatrixElement::isSupportedAttribute):
17739         * svg/SVGFEDiffuseLightingElement.cpp:
17740         (WebCore::SVGFEDiffuseLightingElement::isSupportedAttribute):
17741         * svg/SVGFEDisplacementMapElement.cpp:
17742         (WebCore::SVGFEDisplacementMapElement::isSupportedAttribute):
17743         * svg/SVGFEDropShadowElement.cpp:
17744         (WebCore::SVGFEDropShadowElement::isSupportedAttribute):
17745         * svg/SVGFEGaussianBlurElement.cpp:
17746         (WebCore::SVGFEGaussianBlurElement::isSupportedAttribute):
17747         * svg/SVGFEImageElement.cpp:
17748         (WebCore::SVGFEImageElement::isSupportedAttribute):
17749         * svg/SVGFELightElement.cpp:
17750         (WebCore::SVGFELightElement::isSupportedAttribute):
17751         * svg/SVGFEMergeNodeElement.cpp:
17752         (WebCore::SVGFEMergeNodeElement::isSupportedAttribute):
17753         * svg/SVGFEMorphologyElement.cpp:
17754         (WebCore::SVGFEMorphologyElement::isSupportedAttribute):
17755         * svg/SVGFEOffsetElement.cpp:
17756         (WebCore::SVGFEOffsetElement::isSupportedAttribute):
17757         * svg/SVGFESpecularLightingElement.cpp:
17758         (WebCore::SVGFESpecularLightingElement::isSupportedAttribute):
17759         * svg/SVGFETileElement.cpp:
17760         (WebCore::SVGFETileElement::isSupportedAttribute):
17761         * svg/SVGFETurbulenceElement.cpp:
17762         (WebCore::SVGFETurbulenceElement::isSupportedAttribute):
17763         * svg/SVGFilterElement.cpp:
17764         (WebCore::SVGFilterElement::isSupportedAttribute):
17765         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
17766         (WebCore::SVGFilterPrimitiveStandardAttributes::isSupportedAttribute):
17767         * svg/SVGForeignObjectElement.cpp:
17768         (WebCore::SVGForeignObjectElement::isSupportedAttribute):
17769         * svg/SVGGElement.cpp:
17770         (WebCore::SVGGElement::isSupportedAttribute):
17771         * svg/SVGGradientElement.cpp:
17772         (WebCore::SVGGradientElement::isSupportedAttribute):
17773         * svg/SVGImageElement.cpp:
17774         (WebCore::SVGImageElement::isSupportedAttribute):
17775         * svg/SVGLineElement.cpp:
17776         (WebCore::SVGLineElement::isSupportedAttribute):
17777         * svg/SVGLinearGradientElement.cpp:
17778         (WebCore::SVGLinearGradientElement::isSupportedAttribute):
17779         * svg/SVGMPathElement.cpp:
17780         (WebCore::SVGMPathElement::isSupportedAttribute):
17781         * svg/SVGMarkerElement.cpp:
17782         (WebCore::SVGMarkerElement::isSupportedAttribute):
17783         * svg/SVGMaskElement.cpp:
17784         (WebCore::SVGMaskElement::isSupportedAttribute):
17785         * svg/SVGPathElement.cpp:
17786         (WebCore::SVGPathElement::isSupportedAttribute):
17787         * svg/SVGPatternElement.cpp:
17788         (WebCore::SVGPatternElement::isSupportedAttribute):
17789         * svg/SVGPolyElement.cpp:
17790         (WebCore::SVGPolyElement::isSupportedAttribute):
17791         * svg/SVGRadialGradientElement.cpp:
17792         (WebCore::SVGRadialGradientElement::isSupportedAttribute):
17793         * svg/SVGRectElement.cpp:
17794         (WebCore::SVGRectElement::isSupportedAttribute):
17795         * svg/SVGScriptElement.cpp:
17796         (WebCore::SVGScriptElement::isSupportedAttribute):
17797         * svg/SVGStopElement.cpp:
17798         (WebCore::SVGStopElement::isSupportedAttribute):
17799         * svg/SVGStyleElement.cpp:
17800         (WebCore::SVGStyleElement::isSupportedAttribute):
17801         * svg/SVGStyledTransformableElement.cpp:
17802         (WebCore::SVGStyledTransformableElement::isSupportedAttribute):
17803         * svg/SVGSymbolElement.cpp:
17804         (WebCore::SVGSymbolElement::isSupportedAttribute):
17805         * svg/SVGTRefElement.cpp:
17806         (WebCore::SVGTRefElement::isSupportedAttribute):
17807         * svg/SVGTextContentElement.cpp:
17808         (WebCore::SVGTextContentElement::isSupportedAttribute):
17809         * svg/SVGTextElement.cpp:
17810         (WebCore::SVGTextElement::isSupportedAttribute):
17811         * svg/SVGTextPathElement.cpp:
17812         (WebCore::SVGTextPathElement::isSupportedAttribute):
17813         * svg/SVGTextPositioningElement.cpp:
17814         (WebCore::SVGTextPositioningElement::isSupportedAttribute):
17815         * svg/SVGURIReference.cpp:
17816         (WebCore::SVGURIReference::addSupportedAttributes):
17817         * svg/SVGUseElement.cpp:
17818         (WebCore::SVGUseElement::isSupportedAttribute):
17819         * svg/SVGViewElement.cpp:
17820         (WebCore::SVGViewElement::isSupportedAttribute):
17821
17822 2011-09-28  Kentaro Hara  <haraken@chromium.org>
17823
17824         "ScriptValue" arguments of PopStateEvent methods should be "const ScriptValue&"
17825         https://bugs.webkit.org/show_bug.cgi?id=68984
17826
17827         Reviewed by Darin Adler.
17828
17829         Just a follow-up fix for the bug 68345. For performance,
17830         "ScriptValue" arguments of PopStateEvent methods should be "const ScriptValue&".
17831
17832         Tests: fast/events/constructors/pop-state-event-constructor.html
17833                fast/events/fire-popstate-event.html
17834
17835         * dom/PopStateEvent.cpp:
17836         (WebCore::PopStateEvent::PopStateEvent):
17837         (WebCore::PopStateEvent::create):
17838         (WebCore::PopStateEvent::initPopStateEvent):
17839         * dom/PopStateEvent.h:
17840
17841 2011-09-28  Martin Robinson  <mrobinson@igalia.com>
17842
17843         [GTK] Move drag-and-drop code which can be shared with WebKit2 to WebCore
17844         https://bugs.webkit.org/show_bug.cgi?id=66890
17845
17846         Added a GtkDragAndDropHelper class to hold all the logic that is common
17847         between WebKit1 and WebKit2. This will allow greater code sharing between
17848         the two ports.
17849
17850         Reviewed by Philippe Normand.
17851
17852         No new tests. This patch should not change behavior.
17853
17854         * GNUmakefile.list.am: Added the GtkDragAndDropHelper to the sources list.
17855         * platform/gtk/GtkDragAndDropHelper.cpp: Added.
17856         * platform/gtk/GtkDragAndDropHelper.h: Added.
17857
17858 2011-09-28  Dan Bernstein  <mitz@apple.com>
17859
17860         <rdar://problem/10196497> first-letter after list marker not updated correctly
17861
17862         Reviewed by Simon Fraser.
17863
17864         Test: fast/dynamic/first-letter-after-list-marker.html
17865
17866         * rendering/RenderBlock.cpp:
17867         (WebCore::RenderBlock::updateFirstLetter): Improved the logic for continuing past list markers
17868         when trying to locate a first letter to update.
17869
17870 2011-09-28  Kent Tamura  <tkent@chromium.org>
17871
17872         REGRESSION(r93858): Can't type anything into input elements when maxlength is greater than 2^31
17873         https://bugs.webkit.org/show_bug.cgi?id=68981
17874
17875         Reviewed by Darin Adler.
17876
17877         * html/parser/HTMLParserIdioms.cpp:
17878         (WebCore::parseHTMLInteger):
17879         Check the failure of charactersToIntStrict().
17880         (WebCore::parseHTMLNonNegativeInteger):
17881         Check the failure of charactersToUIntStrict().
17882
17883 2011-09-28  Antoine Labour  <piman@chromium.org>
17884
17885         Remove unused createRootLayerPainter from CCLayerTreeHostClient
17886         https://bugs.webkit.org/show_bug.cgi?id=69042
17887
17888         Reviewed by James Robinson.
17889
17890         No new test needed: no semantic change.
17891
17892         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
17893
17894 2011-09-28  Luke Macpherson   <macpherson@chromium.org>
17895
17896         Only resolve direction aware properties when properties are direction aware.
17897         https://bugs.webkit.org/show_bug.cgi?id=68968
17898
17899         Reviewed by Eric Seidel.
17900
17901         No new tests / no functionality changed.
17902
17903         Profiling showed a ~8% improvement in applyProperty by not calling resolveDirectionAwareProperty for every property.
17904
17905         * css/CSSStyleSelector.cpp:
17906         (WebCore::CSSStyleSelector::applyProperty):
17907
17908 2011-09-28  Simon Fraser  <simon.fraser@apple.com>
17909
17910         fast/dom/scroll-element-to-rect.html fails on WK1 Mac port
17911         https://bugs.webkit.org/show_bug.cgi?id=68815
17912
17913         Reviewed by Dan Bernstein.
17914         
17915         FrameView::scrollElementToRect() was incorrectly using Element::boundsInWindowSpace(),
17916         which is window-relative (not web view-relative), and has flipped coordinates
17917         in WebKit1.
17918         
17919         Change to use Node::getRect() which is what the author intended.
17920
17921         * dom/Element.h:
17922         * page/FrameView.cpp:
17923         (WebCore::FrameView::scrollElementToRect):
17924
17925 2011-09-28  Peter Beverloo  <peter@chromium.org>
17926
17927         Don't clamp cubic-bezier timing functions between 0 and 1
17928         https://bugs.webkit.org/show_bug.cgi?id=45761
17929
17930         Remove the limitation of clamping the cubic-bezier timing function
17931         values between 0 and 1, following the specification change made on
17932         April 5 of this year.
17933
17934         Reviewed by Dean Jackson.
17935
17936         Tests: transitions/cubic-bezier-overflow-color.html
17937                transitions/cubic-bezier-overflow-length.html
17938                transitions/cubic-bezier-overflow-shadow.html
17939                transitions/cubic-bezier-overflow-svg-length.html
17940                transitions/cubic-bezier-overflow-transform.html
17941
17942         * css/CSSParser.cpp:
17943         (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
17944
17945 2011-09-28  Chris Rogers  <crogers@google.com>
17946
17947         DelayNode must set the context on delayTime AudioParam to support automation
17948         https://bugs.webkit.org/show_bug.cgi?id=68828
17949
17950         Reviewed by Kenneth Russell.
17951
17952         Test: webaudio/delaynode-scheduling.html
17953
17954         * webaudio/DelayNode.cpp:
17955         (WebCore::DelayNode::DelayNode):
17956
17957 2011-09-28  Sergey Glazunov  <serg.glazunov@gmail.com>
17958
17959         JavaScript generated documents don't inherit the cookie URL
17960         https://bugs.webkit.org/show_bug.cgi?id=69003
17961
17962         Reviewed by Adam Barth.
17963
17964         Test: http/tests/security/cookies/cookie-theft-with-javascript-doc.html
17965
17966         * dom/Document.h:
17967         (WebCore::Document::setCookieURL):
17968         * loader/DocumentWriter.cpp:
17969         (WebCore::DocumentWriter::replaceDocument):
17970         (WebCore::DocumentWriter::begin):
17971         * loader/DocumentWriter.h:
17972
17973 2011-09-27  Dimitri Glazkov  <dglazkov@chromium.org>
17974
17975         REGRESSION(r95573): Crash when loading SVG documents in a flattened frame or any SVG document in Chromium/Mac.
17976         https://bugs.webkit.org/show_bug.cgi?id=68938
17977
17978         Reviewed by David Hyatt.
17979
17980         Test: all svg tests in LayoutTests.
17981
17982         * rendering/RenderBlock.cpp:
17983         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths): Added a null-check for containingBlock.
17984
17985 2011-09-28  Una Sabovic  <una.sabovic@palm.com>
17986
17987         Setting innerText to an empty string on editable div loses focus
17988         https://bugs.webkit.org/show_bug.cgi?id=62092
17989
17990         Reviewed by Ryosuke Niwa.
17991
17992         When selection start or end node is being deleted do not clear the selection.
17993         Instead update the start/end position to an equivalent parent-anchored positions.
17994         When text is inserted/deleted update selection per range modification spec:
17995         http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Mutation
17996
17997         Tests: editing/selection/document-mutation.html
17998                editing/selection/editable-div-clear-on-keydown.html
17999
18000         * editing/FrameSelection.cpp:
18001         (WebCore::FrameSelection::respondToNodeModification):
18002         (WebCore::updatePositionAfterAdoptingTextReplacement):
18003         (WebCore::FrameSelection::textWillBeReplaced):
18004         * editing/htmlediting.cpp:
18005         (WebCore::updatePositionForNodeRemoval):
18006
18007 2011-09-28  Joseph Pecoraro  <joepeck@webkit.org>
18008
18009         FTPDirectoryDocument Shows Garbled String for Last Modified Date
18010         https://bugs.webkit.org/show_bug.cgi?id=69011
18011
18012         Reviewed by Dan Bernstein.
18013
18014         Force WTF::String concatenation instead of an accidental char* pointer addition.
18015
18016         * html/FTPDirectoryDocument.cpp:
18017         (WebCore::processFileDateString):
18018
18019 2011-09-28  Nate Chapin  <japhet@chromium.org>
18020
18021         Fix a regression in r96060. ResourceLoader shouldn't get
18022         initialized with a null DocumentLoader.
18023         https://bugs.webkit.org/show_bug.cgi?id=69004
18024
18025         Reviewed by Csaba Osztrogonác.
18026
18027         This should fix a debug crash in some platforms in
18028         plugins/js-from-destroy.html
18029
18030         * loader/ResourceLoader.cpp:
18031         (WebCore::ResourceLoader::init): Move the activeDocumentLoader() null checks back
18032             to SubresouceLoader::create().
18033         * loader/SubresourceLoader.cpp:
18034         (WebCore::SubresourceLoader::create):
18035
18036 2011-09-28  Adam Barth  <abarth@webkit.org>
18037
18038         CSP doesn't work for a wide variety of cases
18039         https://bugs.webkit.org/show_bug.cgi?id=68921
18040
18041         Reviewed by Darin Adler.
18042
18043         Patch suggested by Sam Weinig.  It's unclear to me how to test this
18044         change because all our tests run on non-default ports, which is why we
18045         have this bug in the first place.  Mozilla uses a proxy while testing
18046         so they can test with URLs like http://example.com, but we don't have
18047         such a facility.
18048
18049         * page/ContentSecurityPolicy.cpp:
18050         (WebCore::CSPSource::portMatches):
18051
18052 2011-09-28  Fady Samuel  <fsamuel@chromium.org>
18053
18054         [Chromium] Seperate GTK specific Gyp rules from X11 Gyp rules
18055         https://bugs.webkit.org/show_bug.cgi?id=68936
18056
18057         Reviewed by Tony Chang.
18058
18059         Chromium need to be built without Gtk for future version of ChromiumOS.
18060
18061         * WebCore.gyp/WebCore.gyp:
18062
18063 2011-09-28  Tom Sepez  <tsepez@chromium.org>
18064
18065         Revert change which broke displaying end script tags in view-source, instead
18066         deal with any trailing </script> tag included by mistake in the XSSAuditor
18067         itself.  Correct tests to detect the missing close tags.
18068         https://bugs.webkit.org/show_bug.cgi?id=68898
18069
18070         Reviewed by Adam Barth.
18071
18072         * html/parser/HTMLSourceTracker.cpp:
18073         (WebCore::HTMLSourceTracker::end):
18074         * html/parser/HTMLTokenizer.cpp:
18075         (WebCore::HTMLTokenizer::nextToken):
18076         * html/parser/XSSAuditor.cpp:
18077         (WebCore::startsHTMLEndTagAt):
18078         (WebCore::XSSAuditor::snippetForJavaScript):
18079
18080 2011-09-28  Adam Barth  <abarth@webkit.org>
18081
18082         Remove empty directories.
18083
18084         * editing/brew: Removed.
18085         * page/brew: Removed.
18086         * platform/brew: Removed.
18087         * platform/graphics/brew: Removed.
18088         * platform/network/brew: Removed.
18089         * platform/text/brew: Removed.
18090
18091 2011-09-28  Ilya Tikhonovsky  <loislo@chromium.org>
18092
18093         Web Inspector: optional arguments support for the frontend needs to be extended.
18094         https://bugs.webkit.org/show_bug.cgi?id=69005
18095
18096         Generator supports optional arguments but they are transferred by value.
18097         It is not suitable if the used type doesn't have operator bool.
18098         I'll transfer such arguments by pointer.
18099
18100         Reviewed by Pavel Feldman.
18101
18102         Build is the test.
18103
18104         * inspector/CodeGeneratorInspector.pm:
18105         (generateFrontendFunction):
18106         (paramTypeTraits):
18107         * inspector/InspectorDebuggerAgent.cpp:
18108         (WebCore::InspectorDebuggerAgent::didParseSource):
18109         * inspector/InspectorResourceAgent.cpp:
18110         (WebCore::InspectorResourceAgent::didFailLoading):
18111
18112 2011-09-28  Antaryami Pandia  <antaryami.pandia@motorola.com>
18113
18114         Reflected attribute input.size wraps on negative values (Chrome), or
18115         returns them (Safari).
18116         https://bugs.webkit.org/show_bug.cgi?id=44886
18117
18118         Reviewed by Darin Adler.
18119
18120         Test: fast/dom/HTMLInputElement/input-size-attribute.html
18121
18122         * html/HTMLInputElement.cpp:
18123         (WebCore::HTMLInputElement::parseMappedAttribute):
18124
18125 2011-09-28  Vsevolod Vlasov  <vsevik@chromium.org>
18126
18127         Web Inspector: Add support for search in single resource to page agent.
18128         https://bugs.webkit.org/show_bug.cgi?id=68998
18129
18130         Reviewed by Pavel Feldman.
18131
18132         Test: http/tests/inspector/search/search-in-resource.html
18133
18134         * inspector/ContentSearchUtils.cpp:
18135         (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
18136         * inspector/ContentSearchUtils.h:
18137         * inspector/Inspector.json:
18138         * inspector/InspectorPageAgent.cpp:
18139         (WebCore::buildObjectForSearchMatch):
18140         (WebCore::InspectorPageAgent::searchInResource):
18141         * inspector/InspectorPageAgent.h:
18142         * inspector/front-end/Resource.js:
18143         (WebInspector.Resource.prototype.searchInContent):
18144         * inspector/front-end/SourceFile.js:
18145         (WebInspector.ResourceContentProvider.prototype.requestContent):
18146         (WebInspector.ResourceContentProvider.prototype.searchInContent):
18147         * inspector/front-end/UISourceCode.js:
18148         (WebInspector.ContentProvider.prototype.requestContent):
18149         (WebInspector.ContentProvider.prototype.searchInContent):
18150
18151 2011-09-28  Ilya Tikhonovsky  <loislo@chromium.org>
18152
18153         Web Inspector: It'd be useful to have performance stats for the back-end to front-end communication channel.
18154         https://bugs.webkit.org/show_bug.cgi?id=69002
18155
18156         Reviewed by Yury Semikhatsky.
18157
18158         * inspector/CodeGeneratorInspector.pm:
18159
18160 2011-09-27  Pavel Podivilov  <podivilov@chromium.org>
18161
18162         Web Inspector: live edit cursor always appears at the beginning of the file.
18163         https://bugs.webkit.org/show_bug.cgi?id=68900
18164
18165         Reviewed by Pavel Feldman.
18166
18167         * inspector/front-end/TextViewer.js:
18168         (WebInspector.TextEditorMainPanel.prototype._updateSelectionOnStartEditing):
18169
18170 2011-09-28  Vsevolod Vlasov  <vsevik@chromium.org>
18171
18172         Web Inspector: Refactor searching in inspector, add test (fixed non regex search).
18173         https://bugs.webkit.org/show_bug.cgi?id=68930
18174
18175         Reviewed by Yury Semikhatsky.
18176
18177         Search moved out from page agent.
18178         Fixed search for non regex case which is not yet used.
18179
18180         Test: http/tests/inspector/search/search-in-resources.html
18181
18182         * CMakeLists.txt:
18183         * GNUmakefile.list.am:
18184         * WebCore.gypi:
18185         * WebCore.pro:
18186         * WebCore.vcproj/WebCore.vcproj:
18187         * WebCore.xcodeproj/project.pbxproj:
18188         * inspector/ContentSearchUtils.cpp: Added.
18189         (WebCore::ContentSearchUtils::createSearchRegexSource):
18190         (WebCore::ContentSearchUtils::createSearchRegex):
18191         (WebCore::ContentSearchUtils::countRegularExpressionMatches):
18192         * inspector/ContentSearchUtils.h: Added.
18193         * inspector/InspectorPageAgent.cpp:
18194         (WebCore::hasTextContent):
18195         (WebCore::InspectorPageAgent::cachedResourceContent):
18196         (WebCore::textContentForCachedResource):
18197         (WebCore::buildObjectForSearchResult):
18198         (WebCore::InspectorPageAgent::searchInResources):
18199         * inspector/front-end/utilities.js:
18200         ():
18201
18202 2011-09-28  Kentaro Hara  <haraken@chromium.org>
18203
18204         Implement a PopStateEvent constructor for V8
18205         https://bugs.webkit.org/show_bug.cgi?id=68896
18206
18207         Reviewed by Adam Barth.
18208
18209         Test: fast/events/constructors/pop-state-event-constructor.html
18210
18211         * bindings/v8/custom/V8EventConstructors.cpp: Added a PopStateEvent constructor.
18212         * dom/PopStateEvent.idl: Added a 'V8CustomConstructor' attribute.
18213
18214 2011-09-28  No'am Rosenthal  <noam.rosenthal@nokia.com>
18215
18216         [Texmap] Allow TextureMapperGL to work without a GraphicsContext
18217         https://bugs.webkit.org/show_bug.cgi?id=68980
18218
18219         Reviewed by Andreas Kling.
18220
18221         Perform a null-check for m_context and initialize that variable.
18222         If a graphics-context doesn't exist, we don't need to reset it.
18223
18224         No new functionality so no new tests.
18225
18226         * platform/graphics/opengl/TextureMapperGL.cpp:
18227         (WebCore::TextureMapperGL::TextureMapperGL):
18228         (WebCore::TextureMapperGL::beginPainting):
18229         (WebCore::TextureMapperGL::endPainting):
18230
18231 2011-09-28  Kentaro Hara  <haraken@chromium.org>
18232
18233         Implement an ErrorEvent constructor for V8
18234         https://bugs.webkit.org/show_bug.cgi?id=68336
18235
18236         Reviewed by Adam Barth.
18237
18238         Test: fast/events/constructors/error-event-constructor.html
18239
18240         * bindings/v8/OptionsObject.cpp:
18241         (WebCore::OptionsObject::getKeyValue): Returns an unsigned value corresponding to a given key.
18242         * bindings/v8/OptionsObject.h:
18243         * bindings/v8/custom/V8EventConstructors.cpp: Added the ErrorEvent constructor.
18244         * dom/ErrorEvent.idl: Added a 'V8CustomConstructor' attribute.
18245
18246 2011-09-27  Andy Estes  <aestes@apple.com>
18247
18248         WebKitLinkedOnOrAfter() check is ineffective for Solar Walk app-specific hack.
18249         https://bugs.webkit.org/show_bug.cgi?id=68863
18250
18251         Reviewed by Darin Adler.
18252
18253         The SolarWalk binary does not link against WebKit.framework directly,
18254         so calling NSVersionOfLinkTimeLibrary() will not return the version of
18255         WebKit against which SolarWalk was linked. Since Solar Walk has
18256         released an update that addresses the issue for which this app-specific
18257         hack was originally added, we should just remove the hack.
18258
18259         * WebCore.exp.in: Remove applicationIsSolarWalkMac().
18260         * platform/RuntimeApplicationChecks.cpp: Ditto.
18261         * platform/RuntimeApplicationChecks.h: Ditto.
18262
18263 2011-09-28  Tim Horton  <timothy_horton@apple.com>
18264
18265         Fix potential SVG performance regression (over-invalidation of caches) from 96052
18266         https://bugs.webkit.org/show_bug.cgi?id=68941
18267         <rdar://problem/10196224>
18268
18269         Reviewed by Zoltan Herczeg.
18270
18271         Only invalidate the cache of a filter when target style changes, as of the different types of cached
18272         resources, only filters make use of the style of the target element and thus need to be invalidated
18273         when the target style changes.
18274
18275         No new tests, performance improvement.
18276
18277         * rendering/svg/SVGResourcesCache.cpp:
18278         (WebCore::SVGResourcesCache::clientUpdatedFromElement):
18279
18280 2011-09-28  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>
18281
18282         Missing initialization of member in ImageFrameQt class
18283         https://bugs.webkit.org/show_bug.cgi?id=68943
18284
18285         Reviewed by Kenneth Rohde Christiansen.
18286
18287         No new tests, this fixes internal implementation detail.
18288
18289         * platform/image-decoders/qt/ImageFrameQt.cpp:
18290         (WebCore::ImageFrame::ImageFrame):
18291         (WebCore::ImageFrame::operator=):
18292
18293 2011-09-27  Luke Macpherson   <macpherson@chromium.org>
18294
18295         Defer call to CSSValue::isPrimitiveValue(), saves ~4% in CSSStyleSelector::applyProperty().
18296         https://bugs.webkit.org/show_bug.cgi?id=68964
18297
18298         Reviewed by Eric Seidel.
18299
18300         No new tests / no functionality changed.
18301
18302         Doing value->isPrimitiveValue() is relatviely expensive, so moving it after the early returns but
18303         before the result is used saves a significant number of cycles. (Tested with Shark profiler in Safari).
18304
18305         * css/CSSStyleSelector.cpp:
18306         (WebCore::CSSStyleSelector::applyProperty):
18307
18308 2011-09-27  Ryosuke Niwa  <rniwa@webkit.org>
18309
18310         Simplify ReplaceSelectionCommand::positionAtStartOfInsertedContent
18311         https://bugs.webkit.org/show_bug.cgi?id=68939
18312
18313         Reviewed by Darin Adler.
18314
18315         Simplified ReplaceSelectionCommand::positionAtStartOfInsertedContent.
18316
18317         This change revealed a bug in removeUnrenderedTextNodesAtEnds that text nodes without any visible
18318         text at ends are not removed when it has a render object. Fixed the bug by checking the length of
18319         the rendered text. (Tested by editing/pasteboard/pasting-word-in-div-extra-line.html)
18320
18321         This further revealed that caretMaxRenderedOffset doesn't return an offset and caretMaxRenderedOffset
18322         on InlineBox, InlineTextBox, RenderObject, RenderBR, RenderPlaced are never called. To address this
18323         issue, renamed caretMaxRenderedOffset to renderedTextLength for RenderText and removed the rest.
18324
18325         * dom/Position.cpp:
18326         (WebCore::Position::rendersInDifferentPosition):
18327         * editing/ReplaceSelectionCommand.cpp:
18328         (WebCore::nodeHasVisibleRenderText): Added.
18329         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Calls nodeHasVisibleRenderText.
18330         (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): Simplified.
18331         * editing/visible_units.cpp:
18332         (WebCore::startOfParagraph): Calls renderedTextLength.
18333         (WebCore::endOfParagraph): Ditto.
18334         * rendering/InlineBox.cpp: Removed caretMaxRenderedOffset.
18335         * rendering/InlineBox.h: Ditto.
18336         * rendering/InlineTextBox.cpp: Ditto.
18337         * rendering/InlineTextBox.h: Ditto.
18338         * rendering/RenderBR.cpp: Ditto.
18339         * rendering/RenderBR.h: Ditto.
18340         * rendering/RenderObject.cpp: Ditto.
18341         * rendering/RenderObject.h: Ditto.
18342         * rendering/RenderReplaced.cpp: Ditto.
18343         * rendering/RenderReplaced.h: Ditto.
18344         * rendering/RenderText.cpp:
18345         (WebCore::RenderText::renderedTextLength): Renamed from caretMaxRenderedOffset.
18346         * rendering/RenderText.h:
18347
18348 2011-09-27  James Robinson  <jamesr@chromium.org>
18349
18350         [chromium] LayerRenderChromium asserts about leaking textures.
18351         https://bugs.webkit.org/show_bug.cgi?id=68190
18352
18353         Reviewed by Kenneth Russell.
18354
18355         This introduces an interface TextureAllocator that the TextureManager uses to allocate/deallocate textures.
18356         This means that TextureManager does not need to depend directly on GraphicsContext3D, other than for the format
18357         enum type, making it more testable.  It also allows us to track the allocations by subclassing TextureAllocator
18358         to make sure we aren't leaking any textures.
18359
18360         * WebCore.gypi:
18361         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
18362         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
18363         * platform/graphics/chromium/Canvas2DLayerChromium.h:
18364         * platform/graphics/chromium/ImageLayerChromium.cpp:
18365         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
18366         * platform/graphics/chromium/LayerChromium.h:
18367         (WebCore::LayerChromium::updateCompositorResources):
18368         * platform/graphics/chromium/LayerRendererChromium.cpp:
18369         (WebCore::LayerRendererChromium::LayerRendererChromium):
18370         (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
18371         (WebCore::LayerRendererChromium::drawLayers):
18372         (WebCore::LayerRendererChromium::useRenderSurface):
18373         (WebCore::LayerRendererChromium::initializeSharedObjects):
18374         (WebCore::LayerRendererChromium::cleanupSharedObjects):
18375         * platform/graphics/chromium/LayerRendererChromium.h:
18376         (WebCore::LayerRendererChromium::renderSurfaceTextureAllocator):
18377         (WebCore::LayerRendererChromium::contentsTextureAllocator):
18378         * platform/graphics/chromium/LayerTextureUpdater.h:
18379         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
18380         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
18381         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
18382         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
18383         * platform/graphics/chromium/ManagedTexture.cpp:
18384         (WebCore::ManagedTexture::bindTexture):
18385         (WebCore::ManagedTexture::framebufferTexture2D):
18386         * platform/graphics/chromium/ManagedTexture.h:
18387         * platform/graphics/chromium/TextureManager.cpp:
18388         (WebCore::TextureManager::memoryUseBytes):
18389         (WebCore::TextureManager::deleteEvictedTextures):
18390         (WebCore::TextureManager::evictAndDeleteAllTextures):
18391         (WebCore::TextureManager::removeTexture):
18392         (WebCore::TextureManager::allocateTexture):
18393         (WebCore::TextureManager::requestTexture):
18394         * platform/graphics/chromium/TextureManager.h:
18395         (WebCore::TextureAllocator::~TextureAllocator):
18396         * platform/graphics/chromium/TiledLayerChromium.cpp:
18397         (WebCore::TiledLayerChromium::updateCompositorResources):
18398         * platform/graphics/chromium/TiledLayerChromium.h:
18399         * platform/graphics/chromium/TrackingTextureAllocator.cpp: Added.
18400         (WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
18401         (WebCore::TrackingTextureAllocator::~TrackingTextureAllocator):
18402         (WebCore::TrackingTextureAllocator::createTexture):
18403         (WebCore::TrackingTextureAllocator::deleteTexture):
18404         * platform/graphics/chromium/TrackingTextureAllocator.h: Copied from Source/WebCore/platform/graphics/chromium/ManagedTexture.h.
18405         (WebCore::TrackingTextureAllocator::create):
18406         (WebCore::TrackingTextureAllocator::currentMemoryUseBytes):
18407         * platform/graphics/chromium/VideoLayerChromium.cpp:
18408         (WebCore::VideoLayerChromium::updateCompositorResources):
18409         (WebCore::VideoLayerChromium::updateTexture):
18410         * platform/graphics/chromium/VideoLayerChromium.h:
18411         * platform/graphics/chromium/WebGLLayerChromium.cpp:
18412         (WebCore::WebGLLayerChromium::updateCompositorResources):
18413         * platform/graphics/chromium/WebGLLayerChromium.h:
18414         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
18415         (WebCore::CCHeadsUpDisplay::draw):
18416         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
18417         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
18418         (WebCore::CCLayerTreeHost::deleteContentsTexturesOnCCThread):
18419         (WebCore::CCLayerTreeHost::commitToOnCCThread):
18420         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
18421         (WebCore::CCLayerTreeHost::updateCompositorResources):
18422         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
18423         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
18424         (WebCore::CCLayerTreeHostImpl::contentsTextureAllocator):
18425         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
18426         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
18427         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
18428         (WebCore::CCRenderSurface::drawSurface):
18429         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
18430         (WebCore::CCSingleThreadProxy::setNeedsCommit):
18431         (WebCore::CCSingleThreadProxy::stop):
18432         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
18433         (WebCore::CCSingleThreadProxy::commitIfNeeded):
18434         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
18435         (WebCore::CCThreadProxy::commitOnCCThread):
18436         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
18437 2011-09-27  James Robinson  <jamesr@chromium.org>
18438
18439         [chromium] Only initiate the beginFrameAndCommit sequence if a commit has been requested
18440         https://bugs.webkit.org/show_bug.cgi?id=68967
18441
18442         Reviewed by Kenneth Russell.
18443
18444         When updating the scheduler state, we should only initiate a new commit flow if a commit has been requested (as
18445         opposed to only a redraw).
18446
18447         Covered by the unit test CCLayerTreeHostTestSetNeedsRedraw with USE(THREADED_COMPOSITING) set to true.
18448
18449         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
18450         (WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):
18451
18452 2011-09-27  Kentaro Hara  <haraken@chromium.com>
18453
18454         Implement a PageTransitionEvent constructor for V8
18455         https://bugs.webkit.org/show_bug.cgi?id=68067
18456
18457         Reviewed by Adam Barth.
18458
18459         Test: fast/events/constructors/page-transition-event-constructor.html
18460
18461         * bindings/v8/custom/V8EventConstructors.cpp: Added the PageTransitionEvent constructor.
18462         * dom/PageTransitionEvent.idl: Added a 'V8CustomConstructor' attribute.
18463
18464 2011-09-27  Kentaro Hara  <haraken@chromium.org>
18465
18466         Implement a MessageEvent constructor for JSC
18467         https://bugs.webkit.org/show_bug.cgi?id=68883
18468
18469         Reviewed by Adam Barth.
18470
18471         The spec for MessageEvent is here:
18472         http://www.whatwg.org/specs/web-apps/current-work/#messageevent
18473
18474         Currently, some tests in fast/events/constructors/message-event-constructor.html
18475         are failing or crashing in DRT, as we commented in the test file.
18476         This is because MessageEvent.data is implemented as SerializedScriptValue,
18477         and thus it cannot keep ScriptValue passed by JavaScript.
18478         This is the same issue as the bug (https://bugs.webkit.org/show_bug.cgi?id=68345).
18479         We will soon make a follow-up patch to fix these failures, after this
18480         patch is landed.
18481
18482         Test: fast/events/constructors/message-event-constructor.html
18483
18484         * bindings/generic/EventConstructors.h: Added a definition for the MessageEvent constructor.
18485         * bindings/js/JSDictionary.cpp:
18486         (WebCore::JSDictionary::convertValue): Generates MessagePortArray from the list of message ports in the format of JSValues.
18487         * bindings/js/JSDictionary.h:
18488         * bindings/js/JSEventConstructors.cpp: Added #includes for MessageEvent.
18489         * dom/MessageEvent.cpp:
18490         (WebCore::MessageEventInit::MessageEventInit):
18491         (WebCore::MessageEvent::MessageEvent):
18492         (WebCore::MessageEvent::initMessageEvent):
18493         * dom/MessageEvent.h: Added a definition for MessageEvent. Removed an extra leading spaces.
18494         (WebCore::MessageEvent::create):
18495         (WebCore::MessageEvent::origin):
18496         (WebCore::MessageEvent::lastEventId):
18497         (WebCore::MessageEvent::source):
18498         (WebCore::MessageEvent::ports):
18499         (WebCore::MessageEvent::dataType):
18500         (WebCore::MessageEvent::dataAsSerializedScriptValue):
18501         (WebCore::MessageEvent::dataAsString):
18502         (WebCore::MessageEvent::dataAsBlob):
18503         (WebCore::MessageEvent::dataAsArrayBuffer):
18504         * dom/MessageEvent.idl: Makes MessageEvent constructible.
18505
18506 2011-09-27  Eric Uhrhane  <ericu@chromium.org>
18507
18508         [Chromium/FileWriter] race condition in FileWriter completion can lead to assert
18509         https://bugs.webkit.org/show_bug.cgi?id=67684
18510
18511         Reviewed by David Levin.
18512
18513         Tests: fast/filesystem/file-writer-abort-continue.html
18514                fast/filesystem/file-writer-abort.html
18515
18516         Track the state of the backend and be prepared for reentrant user
18517         requests.  Limit recursion depth to an arbitrary small constant.
18518         * fileapi/FileWriter.cpp: Lots of event-handling changes.
18519         * fileapi/FileWriter.h:
18520
18521 2011-09-27  Mihai Parparita  <mihaip@chromium.org>
18522
18523         Unreviewed, rolling out r96141.
18524         http://trac.webkit.org/changeset/96141
18525         https://bugs.webkit.org/show_bug.cgi?id=68190
18526
18527         Breaks PrerenderBrowserTest.PrerenderHTML5Video in
18528         browser_tests
18529
18530         * WebCore.gypi:
18531         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
18532         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
18533         * platform/graphics/chromium/Canvas2DLayerChromium.h:
18534         * platform/graphics/chromium/ImageLayerChromium.cpp:
18535         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
18536         * platform/graphics/chromium/LayerChromium.h:
18537         (WebCore::LayerChromium::updateCompositorResources):
18538         * platform/graphics/chromium/LayerRendererChromium.cpp:
18539         (WebCore::LayerRendererChromium::LayerRendererChromium):
18540         (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
18541         (WebCore::LayerRendererChromium::drawLayers):
18542         (WebCore::LayerRendererChromium::createLayerTexture):
18543         (WebCore::LayerRendererChromium::deleteLayerTexture):
18544         (WebCore::LayerRendererChromium::useRenderSurface):
18545         (WebCore::LayerRendererChromium::initializeSharedObjects):
18546         (WebCore::LayerRendererChromium::cleanupSharedObjects):
18547         * platform/graphics/chromium/LayerRendererChromium.h:
18548         (WebCore::LayerRendererChromium::setContentsTextureMemoryUseBytes):
18549         * platform/graphics/chromium/LayerTextureUpdater.h:
18550         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
18551         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
18552         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
18553         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
18554         * platform/graphics/chromium/ManagedTexture.cpp:
18555         (WebCore::ManagedTexture::bindTexture):
18556         (WebCore::ManagedTexture::framebufferTexture2D):
18557         * platform/graphics/chromium/ManagedTexture.h:
18558         * platform/graphics/chromium/TextureManager.cpp:
18559         (WebCore::memoryUseBytes):
18560         (WebCore::TextureManager::deleteEvictedTextures):
18561         (WebCore::TextureManager::evictAndDeleteAllTextures):
18562         (WebCore::TextureManager::removeTexture):
18563         (WebCore::TextureManager::allocateTexture):
18564         (WebCore::TextureManager::requestTexture):
18565         * platform/graphics/chromium/TextureManager.h:
18566         * platform/graphics/chromium/TiledLayerChromium.cpp:
18567         (WebCore::TiledLayerChromium::updateCompositorResources):
18568         * platform/graphics/chromium/TiledLayerChromium.h:
18569         * platform/graphics/chromium/TrackingTextureAllocator.cpp: Removed.
18570         * platform/graphics/chromium/TrackingTextureAllocator.h: Removed.
18571         * platform/graphics/chromium/VideoLayerChromium.cpp:
18572         (WebCore::VideoLayerChromium::updateCompositorResources):
18573         (WebCore::VideoLayerChromium::updateTexture):
18574         * platform/graphics/chromium/VideoLayerChromium.h:
18575         * platform/graphics/chromium/WebGLLayerChromium.cpp:
18576         (WebCore::WebGLLayerChromium::updateCompositorResources):
18577         * platform/graphics/chromium/WebGLLayerChromium.h:
18578         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
18579         (WebCore::CCHeadsUpDisplay::draw):
18580         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
18581         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
18582         (WebCore::CCLayerTreeHost::deleteContentsTextures):
18583         (WebCore::CCLayerTreeHost::commitTo):
18584         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
18585         (WebCore::CCLayerTreeHost::updateCompositorResources):
18586         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp.rej: Removed.
18587         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
18588         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
18589         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
18590         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
18591         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
18592         (WebCore::CCRenderSurface::drawSurface):
18593         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
18594         (WebCore::CCSingleThreadProxy::setNeedsCommit):
18595         (WebCore::CCSingleThreadProxy::stop):
18596         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
18597         (WebCore::CCSingleThreadProxy::commitIfNeeded):
18598         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
18599         (WebCore::CCThreadProxy::commitOnCCThread):
18600         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
18601
18602 2011-09-27  James Robinson  <jamesr@chromium.org>
18603
18604         [chromium] Guard accelerated skia drawing logic with its own define to remove dependency on USE(THREADED_COMPOSITING)
18605         https://bugs.webkit.org/show_bug.cgi?id=68953
18606
18607         Reviewed by Kenneth Russell.
18608
18609         The accelerated drawing code is incompatible with threaded compositing. Rather than tying the two behaviors
18610         together via USE(THREADED_COMPOSITING), this patch guards the accelerated drawing code with its own USE() guard
18611         so the features can advance independently. Today, it's not safe to set both of these flags.
18612
18613         * platform/graphics/chromium/ContentLayerChromium.cpp:
18614         (WebCore::ContentLayerChromium::createTextureUpdater):
18615         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
18616         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
18617
18618 2011-09-27  Luke Macpherson   <macpherson@chromium.org>
18619
18620         Slightly improve performance of CSSStyleApplyProperty handler lookup.
18621         https://bugs.webkit.org/show_bug.cgi?id=68868
18622
18623         Reviewed by Eric Seidel.
18624
18625         No new tests as no functionality changed.
18626
18627         * css/CSSStyleApplyProperty.h:
18628         (WebCore::CSSStyleApplyProperty::propertyHandler):
18629         Make propertyHandler() public and remove redirecting functions.
18630         * css/CSSStyleSelector.cpp:
18631         (WebCore::CSSStyleSelector::applyProperty):
18632         Perform property handler lookup once and reuse the result.
18633
18634 2011-09-27  Kent Tamura  <tkent@chromium.org>
18635
18636         [V8] element.dataset.nonExistingKey should return undefined.
18637         https://bugs.webkit.org/show_bug.cgi?id=68877
18638
18639         Reviewed by Nate Chapin.
18640
18641         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
18642         (WebCore::V8DOMStringMap::namedPropertyGetter): Uses v8StringOrUndefined() instead of v8String().
18643
18644 2011-09-23  Mark Hahnenberg  <mhahnenberg@apple.com>
18645
18646         Add static version of JSCell::visitChildren
18647         https://bugs.webkit.org/show_bug.cgi?id=68404
18648
18649         Reviewed by Darin Adler.
18650
18651         No new tests.
18652
18653         In this patch we just extract the bodies of the virtual visitChildren methods
18654         throughout the JSCell inheritance hierarchy out into static methods, which are 
18655         now called from the virtual methods.  This is an intermediate step in trying to 
18656         move the virtual-ness of visitChildren into our own custom vtable stored in 
18657         ClassInfo.  We need to convert the methods to static methods in order to be 
18658         able to more easily store and refer to them in our custom vtable since normal 
18659         member methods store some implicit information in their types, making it 
18660         impossible to store them generically in ClassInfo.
18661
18662         * WebCore.exp.in:
18663         * bindings/js/JSAttrCustom.cpp:
18664         (WebCore::JSAttr::visitChildrenVirtual):
18665         (WebCore::JSAttr::visitChildren):
18666         * bindings/js/JSAudioContextCustom.cpp:
18667         (WebCore::JSAudioContext::visitChildrenVirtual):
18668         (WebCore::JSAudioContext::visitChildren):
18669         * bindings/js/JSCSSRuleCustom.cpp:
18670         (WebCore::JSCSSRule::visitChildrenVirtual):
18671         (WebCore::JSCSSRule::visitChildren):
18672         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
18673         (WebCore::JSCSSStyleDeclaration::visitChildrenVirtual):
18674         (WebCore::JSCSSStyleDeclaration::visitChildren):
18675         * bindings/js/JSCanvasRenderingContextCustom.cpp:
18676         (WebCore::JSCanvasRenderingContext::visitChildrenVirtual):
18677         (WebCore::JSCanvasRenderingContext::visitChildren):
18678         * bindings/js/JSDOMGlobalObject.cpp:
18679         (WebCore::JSDOMGlobalObject::visitChildrenVirtual):
18680         (WebCore::JSDOMGlobalObject::visitChildren):
18681         * bindings/js/JSDOMGlobalObject.h:
18682         * bindings/js/JSDOMWindowCustom.cpp:
18683         (WebCore::JSDOMWindow::visitChildrenVirtual):
18684         (WebCore::JSDOMWindow::visitChildren):
18685         * bindings/js/JSDOMWindowShell.cpp:
18686         (WebCore::JSDOMWindowShell::visitChildrenVirtual):
18687         (WebCore::JSDOMWindowShell::visitChildren):
18688         * bindings/js/JSDOMWindowShell.h:
18689         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
18690         (WebCore::JSJavaScriptAudioNode::visitChildrenVirtual):
18691         (WebCore::JSJavaScriptAudioNode::visitChildren):
18692         * bindings/js/JSMessageChannelCustom.cpp:
18693         (WebCore::JSMessageChannel::visitChildrenVirtual):
18694         (WebCore::JSMessageChannel::visitChildren):
18695         * bindings/js/JSMessagePortCustom.cpp:
18696         (WebCore::JSMessagePort::visitChildrenVirtual):
18697         (WebCore::JSMessagePort::visitChildren):
18698         * bindings/js/JSNamedNodeMapCustom.cpp:
18699         (WebCore::JSNamedNodeMap::visitChildrenVirtual):
18700         (WebCore::JSNamedNodeMap::visitChildren):
18701         * bindings/js/JSNodeCustom.cpp:
18702         (WebCore::JSNode::visitChildrenVirtual):
18703         (WebCore::JSNode::visitChildren):
18704         * bindings/js/JSNodeFilterCustom.cpp:
18705         (WebCore::JSNodeFilter::visitChildrenVirtual):
18706         (WebCore::JSNodeFilter::visitChildren):
18707         * bindings/js/JSNodeIteratorCustom.cpp:
18708         (WebCore::JSNodeIterator::visitChildrenVirtual):
18709         (WebCore::JSNodeIterator::visitChildren):
18710         * bindings/js/JSSVGElementInstanceCustom.cpp:
18711         (WebCore::JSSVGElementInstance::visitChildrenVirtual):
18712         (WebCore::JSSVGElementInstance::visitChildren):
18713         * bindings/js/JSSharedWorkerCustom.cpp:
18714         (WebCore::JSSharedWorker::visitChildrenVirtual):
18715         (WebCore::JSSharedWorker::visitChildren):
18716         * bindings/js/JSStyleSheetCustom.cpp:
18717         (WebCore::JSStyleSheet::visitChildrenVirtual):
18718         (WebCore::JSStyleSheet::visitChildren):
18719         * bindings/js/JSTreeWalkerCustom.cpp:
18720         (WebCore::JSTreeWalker::visitChildrenVirtual):
18721         (WebCore::JSTreeWalker::visitChildren):
18722         * bindings/js/JSWebGLRenderingContextCustom.cpp:
18723         (WebCore::JSWebGLRenderingContext::visitChildrenVirtual):
18724         (WebCore::JSWebGLRenderingContext::visitChildren):
18725         * bindings/js/JSWorkerContextCustom.cpp:
18726         (WebCore::JSWorkerContext::visitChildrenVirtual):
18727         (WebCore::JSWorkerContext::visitChildren):
18728         * bindings/js/JSXMLHttpRequestCustom.cpp:
18729         (WebCore::JSXMLHttpRequest::visitChildrenVirtual):
18730         (WebCore::JSXMLHttpRequest::visitChildren):
18731         * bindings/js/JSXPathResultCustom.cpp:
18732         (WebCore::JSXPathResult::visitChildrenVirtual):
18733         (WebCore::JSXPathResult::visitChildren):
18734         * bindings/scripts/CodeGeneratorJS.pm:
18735         (GenerateHeader):
18736         (GenerateImplementation):
18737         * bindings/scripts/test/JS/JSTestObj.cpp:
18738         (WebCore::JSTestObj::visitChildrenVirtual):
18739         (WebCore::JSTestObj::visitChildren):
18740         * bindings/scripts/test/JS/JSTestObj.h:
18741         * bridge/qt/qt_instance.cpp:
18742         (JSC::Bindings::QtRuntimeObject::visitChildrenVirtual):
18743         (JSC::Bindings::QtRuntimeObject::visitChildren):
18744         * bridge/qt/qt_runtime.cpp:
18745         (JSC::Bindings::QtRuntimeMetaMethod::visitChildrenVirtual):
18746         (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
18747         * bridge/qt/qt_runtime.h:
18748         * workers/WorkerContext.h:
18749
18750 2011-09-27  Mark Hahnenberg  <mhahnenberg@apple.com>
18751
18752         Add static version of JSCell::getCallData
18753         https://bugs.webkit.org/show_bug.cgi?id=68741
18754
18755         Reviewed by Darin Adler.
18756
18757         No new tests.
18758
18759         In this patch we just extract the bodies of the virtual getCallData methods
18760         throughout the JSCell inheritance hierarchy out into static methods, which are 
18761         now called from the virtual methods.  This is an intermediate step in trying to 
18762         move the virtual-ness of getCallData into our own method table stored in 
18763         ClassInfo.  We need to convert the methods to static methods because static methods 
18764         can be represented as function pointers rather than pointers to member functions, and
18765         function pointers are smaller and faster to call than pointers to member functions.
18766
18767         * WebCore.exp.in:
18768         * bindings/js/JSCallbackData.cpp:
18769         (WebCore::JSCallbackData::invokeCallback):
18770         * bindings/js/JSCustomXPathNSResolver.cpp:
18771         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
18772         * bindings/js/JSErrorHandler.cpp:
18773         (WebCore::JSErrorHandler::handleEvent):
18774         * bindings/js/JSEventListener.cpp:
18775         (WebCore::JSEventListener::handleEvent):
18776         * bindings/js/JSHTMLAllCollectionCustom.cpp:
18777         (WebCore::JSHTMLAllCollection::getCallDataVirtual):
18778         (WebCore::JSHTMLAllCollection::getCallData):
18779         * bindings/js/JSHTMLAppletElementCustom.cpp:
18780         (WebCore::JSHTMLAppletElement::getCallDataVirtual):
18781         (WebCore::JSHTMLAppletElement::getCallData):
18782         * bindings/js/JSHTMLEmbedElementCustom.cpp:
18783         (WebCore::JSHTMLEmbedElement::getCallDataVirtual):
18784         (WebCore::JSHTMLEmbedElement::getCallData):
18785         * bindings/js/JSHTMLObjectElementCustom.cpp:
18786         (WebCore::JSHTMLObjectElement::getCallDataVirtual):
18787         (WebCore::JSHTMLObjectElement::getCallData):
18788         * bindings/js/JSInjectedScriptHostCustom.cpp:
18789         (WebCore::JSInjectedScriptHost::evaluate):
18790         * bindings/js/JSPluginElementFunctions.cpp:
18791         (WebCore::runtimeObjectGetCallData):
18792         * bindings/scripts/CodeGeneratorJS.pm:
18793         (GenerateHeader):
18794         * bridge/objc/objc_runtime.h:
18795         * bridge/objc/objc_runtime.mm:
18796         (JSC::Bindings::ObjcFallbackObjectImp::getCallDataVirtual):
18797         (JSC::Bindings::ObjcFallbackObjectImp::getCallData):
18798         * bridge/qt/qt_runtime.cpp:
18799         (JSC::Bindings::QtRuntimeMetaMethod::getCallDataVirtual):
18800         (JSC::Bindings::QtRuntimeMetaMethod::getCallData):
18801         (JSC::Bindings::QtRuntimeConnectionMethod::call):
18802         (JSC::Bindings::QtRuntimeConnectionMethod::getCallDataVirtual):
18803         (JSC::Bindings::QtRuntimeConnectionMethod::getCallData):
18804         (JSC::Bindings::isJavaScriptFunction):
18805         * bridge/qt/qt_runtime.h:
18806         * bridge/runtime_method.cpp:
18807         (JSC::RuntimeMethod::getCallDataVirtual):
18808         (JSC::RuntimeMethod::getCallData):
18809         * bridge/runtime_method.h:
18810         * bridge/runtime_object.cpp:
18811         (JSC::Bindings::RuntimeObject::getCallDataVirtual):
18812         (JSC::Bindings::RuntimeObject::getCallData):
18813         * bridge/runtime_object.h:
18814
18815 2011-09-27  Dean Jackson  <dino@apple.com>
18816
18817         Unreviewed. Remove duplicate FilterOperation{s}.h that were
18818         accidentally added to the top level of the Xcode project.
18819
18820         * WebCore.xcodeproj/project.pbxproj:
18821
18822 2011-09-27  David Hyatt  <hyatt@apple.com>
18823
18824         https://bugs.webkit.org/show_bug.cgi?id=68940
18825
18826         Narrow the float/lines pagination heuristic to only kick in if
18827         the previous line broke cleanly and if the floats are occurring
18828         at the start of the line.
18829
18830         Reviewed by Dan Bernstein.
18831
18832         * rendering/RenderBlockLineLayout.cpp:
18833         (WebCore::RenderBlock::positionNewFloatOnLine):
18834
18835 2011-09-27  James Robinson  <jamesr@chromium.org>
18836
18837         Add a mechanism to test for the compositing tree mutated during painting
18838         https://bugs.webkit.org/show_bug.cgi?id=68738
18839
18840         Reviewed by Adam Barth.
18841
18842         Sets a static bool during GraphicsLayer::paintGraphicsLayerContents and ASSERT()s that we never create or
18843         destroy a GraphicsLayer inside this function. Painting should never mutate the GraphicsLayer tree.
18844
18845         Test: compositing/video/video-with-invalid-source.html
18846
18847         * platform/graphics/GraphicsLayer.cpp:
18848         (WebCore::GraphicsLayer::GraphicsLayer):
18849         (WebCore::GraphicsLayer::~GraphicsLayer):
18850         (WebCore::GraphicsLayer::paintGraphicsLayerContents):
18851
18852 2011-09-27  Ojan Vafai  <ojan@chromium.org>
18853
18854         take padding/border on flexbox into account with direction:rtl
18855         https://bugs.webkit.org/show_bug.cgi?id=68846
18856
18857         Reviewed by David Hyatt.
18858
18859         Use the logicalWidth of the flexbox instead of it's availableLogicalWidth
18860         so that we include the flexbox's border and padding.
18861         
18862         Also, change all uses of availableLogicalWidth to contentLogicalWidth.
18863         The former takes multi-column into account. Multi-column flexboxes don't
18864         make any sense, so there's no point in calling availableLogicalWidth.
18865
18866         * rendering/RenderFlexibleBox.cpp:
18867         (WebCore::RenderFlexibleBox::flowAwareLogicalWidth):
18868         (WebCore::RenderFlexibleBox::flowAwareContentLogicalWidth):
18869         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
18870         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
18871         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
18872         * rendering/RenderFlexibleBox.h:
18873
18874 2011-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
18875
18876         Unreviewed, rolling out r96139.
18877         http://trac.webkit.org/changeset/96139
18878         https://bugs.webkit.org/show_bug.cgi?id=68933
18879
18880         Broke table-percent-height.html on Mac bots (Requested by
18881         mwenge2 on #webkit).
18882
18883         * rendering/RenderBox.cpp:
18884         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
18885         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
18886         * rendering/RenderBox.h:
18887
18888 2011-09-27  Tim Horton  <timothy_horton@apple.com>
18889
18890         REGRESSION(65665): Pattern size being clamped to SVG size can prevent transformed elements from being fully covered by userSpaceOnUse patterns
18891         https://bugs.webkit.org/show_bug.cgi?id=67700
18892         <rdar://problem/10125102>
18893
18894         Reviewed by Darin Adler.
18895
18896         Clamp all resources to the same size, 4096x4096 (arbitrarily chosen), instead of to the size
18897         of the <svg> element. This fixes the case where a transformed element displays part of a resource
18898         outside of the size of the <svg> element.
18899
18900         When drawing an oversized pattern into its tile image, scale the content down to fit. When drawing
18901         the tile image to the screen, scale it back up to fit the expected area. This will cause pixelation
18902         when patterns are over the 4k limit.
18903
18904         Tests: svg/custom/transformed-pattern-clamp-svg-root.svg, svg/custom/oversized-pattern-scale.svg
18905
18906         * rendering/svg/RenderSVGResourceClipper.cpp:
18907         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
18908         * rendering/svg/RenderSVGResourceGradient.cpp:
18909         (WebCore::createMaskAndSwapContextForTextGradient):
18910         (WebCore::clipToTextMask):
18911         * rendering/svg/RenderSVGResourceMasker.cpp:
18912         (WebCore::RenderSVGResourceMasker::applyResource):
18913         * rendering/svg/RenderSVGResourcePattern.cpp:
18914         (WebCore::RenderSVGResourcePattern::applyResource):
18915         (WebCore::RenderSVGResourcePattern::createTileImage):
18916         * rendering/svg/RenderSVGResourcePattern.h:
18917         * rendering/svg/SVGImageBufferTools.cpp:
18918         (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRect):
18919         * rendering/svg/SVGImageBufferTools.h:
18920
18921 2011-09-27  Dan Bernstein  <mitz@apple.com>
18922
18923         <rdar://problem/10098679> Assertion failure in RenderLayer::paintPaginatedChildLayer()
18924
18925         Reviewed by Simon Fraser.
18926
18927         Test: fast/dynamic/layer-no-longer-paginated.html
18928
18929         FrameView::layout() calls adjustViewSize() before calling RenderLayer::updateLayerPositions().
18930         The former may trigger painting with a layer tree that is not entirely up-to-date. Specifically,
18931         the isPaginated() state of a layer may be incorrect, leading to the assertion in this bug. Instead
18932         of asserting, return early and count on the upcoming updateLayerPositions() to repaint as needed.
18933
18934         * rendering/RenderLayer.cpp:
18935         (WebCore::RenderLayer::paintPaginatedChildLayer): Replaced the assertion with an early return.
18936
18937 2011-09-27  Ojan Vafai  <ojan@chromium.org>
18938
18939         offsetTop/offsetLeft return the wrong values for horizontal-bt/vertical-rl writing modes
18940         https://bugs.webkit.org/show_bug.cgi?id=68304
18941
18942         Reviewed by David Hyatt.
18943
18944         When grabbing the x/y values of the RenderBox, we need to take writing mode
18945         flipping into account.
18946
18947         Test: fast/dom/offset-position-writing-modes.html
18948
18949         * rendering/RenderBox.cpp:
18950         (WebCore::RenderBox::locationIncludingFlipping):
18951         * rendering/RenderBox.h:
18952         (WebCore::RenderBox::yFlippedForWritingMode):
18953         (WebCore::RenderBox::xFlippedForWritingMode):
18954         * rendering/RenderBoxModelObject.cpp:
18955         (WebCore::RenderBoxModelObject::offsetLeft):
18956         (WebCore::RenderBoxModelObject::offsetTop):
18957
18958 2011-09-27  Tim Horton  <timothy_horton@apple.com>
18959
18960         Rapidly refreshing a feMorphology[erode] with r=0 can sometimes cause display corruption
18961         https://bugs.webkit.org/show_bug.cgi?id=68816
18962         <rdar://problem/10186468>
18963
18964         Reviewed by Simon Fraser.
18965
18966         If a filter returns without writing into its result buffer, make sure to return an cleared buffer.
18967
18968         Test: svg/filters/feMorphology-zero-radius.svg
18969
18970         * platform/graphics/filters/FEMorphology.cpp:
18971         (WebCore::FEMorphology::apply):
18972         * platform/graphics/filters/FETurbulence.cpp:
18973         (WebCore::FETurbulence::apply):
18974
18975 2011-09-27  Ryosuke Niwa  <rniwa@webkit.org>
18976
18977         CompositeEditCommand::prune should remove subtree at once
18978         https://bugs.webkit.org/show_bug.cgi?id=68866
18979
18980         Reviewed by Darin Adler.
18981
18982         Extracted the logic to find the highest ancestor to remove as highestNodeToRemoveInPruning from prune.
18983         This reduces the number of node removals from O(n) to O(1) where n is the depth of the tree.
18984
18985         * editing/CompositeEditCommand.cpp:
18986         (WebCore::hasARenderedDescendant): Takes excludedNode in addition to node. excludedNode is used to ignore
18987         the child node from which we climbed up the tree in highestNodeToRemoveInPruning.
18988         (WebCore::highestNodeToRemoveInPruning): Extracted from prune.
18989         (WebCore::CompositeEditCommand::prune):
18990         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
18991
18992 2011-09-27  David Hyatt  <hyatt@apple.com>
18993
18994         https://bugs.webkit.org/show_bug.cgi?id=68922
18995
18996         Paginated floats should not grow the height of a block when they don't end
18997         up being tied to a line. Floats encountered in skipLeadingWhitespace that
18998         paginate can't immediately grow the height of the block, since there may not
18999         end up being any actual line content. We only want to push the height of the
19000         block down if we have actual line content that we want to keep with the
19001         float.
19002         
19003         Make positionNewFloatOnLine check if the line is empty or not, and if it is,
19004         it just puts the desired pagination strut into LineInfo. If and when actual
19005         line content is encountered and setEmpty becomes false, we'll grow the block
19006         height then.
19007         
19008         Reviewed by Dan Bernstein.
19009
19010         Added fast/multicol/float-paginate-empty-lines.html and
19011         fast/regions/webkit-flow-double-pagination-float-push.html.
19012
19013         * rendering/RenderBlock.h:
19014         * rendering/RenderBlockLineLayout.cpp:
19015         (WebCore::LineWidth::LineWidth):
19016         (WebCore::LineWidth::fitsOnLine):
19017         (WebCore::LineWidth::currentWidth):
19018         (WebCore::LineWidth::uncommittedWidth):
19019         (WebCore::LineWidth::committedWidth):
19020         (WebCore::LineWidth::availableWidth):
19021         (WebCore::LineWidth::addUncommittedWidth):
19022         (WebCore::LineWidth::commit):
19023         (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
19024         (WebCore::LineWidth::updateAvailableWidth):
19025         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
19026         (WebCore::LineWidth::applyOverhang):
19027         (WebCore::LineWidth::fitBelowFloats):
19028         (WebCore::LineInfo::LineInfo):
19029         (WebCore::LineInfo::floatPaginationStrut):
19030         (WebCore::LineInfo::setEmpty):
19031         (WebCore::LineInfo::setFloatPaginationStrut):
19032         (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
19033         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
19034         (WebCore::RenderBlock::positionNewFloatOnLine):
19035
19036 2011-09-27  Dean Jackson  <dino@apple.com>
19037
19038         Add 'filter' value to RenderStyle
19039         https://bugs.webkit.org/show_bug.cgi?id=68471
19040
19041         Reviewed by Simon Fraser.
19042
19043         Add a filter property to RenderStyle when ENABLE(CSS_FILTERS)
19044         is turned on. Similar to -webkit-transform, -webkit-filter is a
19045         list of FilterOperations, each identifying what type of operation
19046         it is. This change simply adds the basic objects, it does not
19047         parse the property to generate the list.
19048
19049         * CMakeLists.txt:
19050         * GNUmakefile.list.am:
19051         * WebCore.gypi:
19052         * WebCore.pro:
19053         * WebCore.vcproj/WebCore.vcproj:
19054         * WebCore.xcodeproj/project.pbxproj:
19055         * platform/graphics/filters/FilterOperation.h: Added.
19056         (WebCore::FilterOperation::~FilterOperation):
19057         (WebCore::FilterOperation::operator!=):
19058         (WebCore::FilterOperation::getOperationType):
19059         (WebCore::FilterOperation::isSameType):
19060         (WebCore::FilterOperation::FilterOperation):
19061         (WebCore::ReferenceFilterOperation::create):
19062         (WebCore::ReferenceFilterOperation::reference):
19063         (WebCore::ReferenceFilterOperation::operator==):
19064         (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
19065         (WebCore::BasicColorMatrixFilterOperation::create):
19066         (WebCore::BasicColorMatrixFilterOperation::amount):
19067         (WebCore::BasicColorMatrixFilterOperation::operator==):
19068         (WebCore::BasicColorMatrixFilterOperation::BasicColorMatrixFilterOperation):
19069         (WebCore::BasicComponentTransferFilterOperation::create):
19070         (WebCore::BasicComponentTransferFilterOperation::amount):
19071         (WebCore::BasicComponentTransferFilterOperation::operator==):
19072         (WebCore::BasicComponentTransferFilterOperation::BasicComponentTransferFilterOperation):
19073         (WebCore::GammaFilterOperation::create):
19074         (WebCore::GammaFilterOperation::amplitude):
19075         (WebCore::GammaFilterOperation::exponent):
19076         (WebCore::GammaFilterOperation::offset):
19077         (WebCore::GammaFilterOperation::operator==):
19078         (WebCore::GammaFilterOperation::GammaFilterOperation):
19079         (WebCore::BlurFilterOperation::create):
19080         (WebCore::BlurFilterOperation::stdDeviationX):
19081         (WebCore::BlurFilterOperation::stdDeviationY):
19082         (WebCore::BlurFilterOperation::operator==):
19083         (WebCore::BlurFilterOperation::BlurFilterOperation):
19084         (WebCore::SharpenFilterOperation::create):
19085         (WebCore::SharpenFilterOperation::radius):
19086         (WebCore::SharpenFilterOperation::threshold):
19087         (WebCore::SharpenFilterOperation::amount):
19088         (WebCore::SharpenFilterOperation::operator==):
19089         (WebCore::SharpenFilterOperation::SharpenFilterOperation):
19090         (WebCore::DropShadowFilterOperation::create):
19091         (WebCore::DropShadowFilterOperation::shadow):
19092         (WebCore::DropShadowFilterOperation::operator==):
19093         (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
19094         * platform/graphics/filters/FilterOperations.cpp: Added.
19095         (WebCore::FilterOperations::FilterOperations):
19096         (WebCore::FilterOperations::operator==):
19097         * platform/graphics/filters/FilterOperations.h: Added.
19098         (WebCore::FilterOperations::operator!=):
19099         (WebCore::FilterOperations::clear):
19100         (WebCore::FilterOperations::operations):
19101         (WebCore::FilterOperations::size):
19102         (WebCore::FilterOperations::at):
19103         * rendering/style/RenderStyle.cpp:
19104         (WebCore::RenderStyle::RenderStyle):
19105         * rendering/style/RenderStyle.h:
19106         (WebCore::InheritedFlags::filter):
19107         (WebCore::InheritedFlags::hasFilter):
19108         (WebCore::InheritedFlags::setFilter):
19109         (WebCore::InheritedFlags::initialFilter):
19110         * rendering/style/StyleAllInOne.cpp: Added include of new StyleFilterData.
19111         * rendering/style/StyleFilterData.cpp: Added.
19112         (WebCore::StyleFilterData::StyleFilterData):
19113         (WebCore::StyleFilterData::operator==):
19114         * rendering/style/StyleFilterData.h: Added.
19115         (WebCore::StyleFilterData::create):
19116         (WebCore::StyleFilterData::copy):
19117         (WebCore::StyleFilterData::operator!=):
19118         * rendering/style/StyleRareNonInheritedData.cpp:
19119         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
19120         (WebCore::StyleRareNonInheritedData::operator==):
19121         * rendering/style/StyleRareNonInheritedData.h: New filter DataRef.
19122
19123 2011-09-27  James Robinson  <jamesr@chromium.org>
19124
19125         [chromium] LayerRenderChromium asserts about leaking textures.
19126         https://bugs.webkit.org/show_bug.cgi?id=68190
19127
19128         Reviewed by Kenneth Russell.
19129
19130         This introduces an interface TextureAllocator that the TextureManager uses to allocate/deallocate textures.
19131         This means that TextureManager does not need to depend directly on GraphicsContext3D, other than for the format
19132         enum type, making it more testable.  It also allows us to track the allocations by subclassing TextureAllocator
19133         to make sure we aren't leaking any textures.
19134
19135         * WebCore.gypi:
19136         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
19137         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
19138         * platform/graphics/chromium/Canvas2DLayerChromium.h:
19139         * platform/graphics/chromium/ImageLayerChromium.cpp:
19140         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
19141         * platform/graphics/chromium/LayerChromium.h:
19142         (WebCore::LayerChromium::updateCompositorResources):
19143         * platform/graphics/chromium/LayerRendererChromium.cpp:
19144         (WebCore::LayerRendererChromium::LayerRendererChromium):
19145         (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
19146         (WebCore::LayerRendererChromium::drawLayers):
19147         (WebCore::LayerRendererChromium::useRenderSurface):
19148         (WebCore::LayerRendererChromium::initializeSharedObjects):
19149         (WebCore::LayerRendererChromium::cleanupSharedObjects):
19150         * platform/graphics/chromium/LayerRendererChromium.h:
19151         (WebCore::LayerRendererChromium::renderSurfaceTextureAllocator):
19152         (WebCore::LayerRendererChromium::contentsTextureAllocator):
19153         * platform/graphics/chromium/LayerTextureUpdater.h:
19154         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
19155         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
19156         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
19157         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
19158         * platform/graphics/chromium/ManagedTexture.cpp:
19159         (WebCore::ManagedTexture::bindTexture):
19160         (WebCore::ManagedTexture::framebufferTexture2D):
19161         * platform/graphics/chromium/ManagedTexture.h:
19162         * platform/graphics/chromium/TextureManager.cpp:
19163         (WebCore::TextureManager::memoryUseBytes):
19164         (WebCore::TextureManager::deleteEvictedTextures):
19165         (WebCore::TextureManager::evictAndDeleteAllTextures):
19166         (WebCore::TextureManager::removeTexture):
19167         (WebCore::TextureManager::allocateTexture):
19168         (WebCore::TextureManager::requestTexture):
19169         * platform/graphics/chromium/TextureManager.h:
19170         (WebCore::TextureAllocator::~TextureAllocator):
19171         * platform/graphics/chromium/TiledLayerChromium.cpp:
19172         (WebCore::TiledLayerChromium::updateCompositorResources):
19173         * platform/graphics/chromium/TiledLayerChromium.h:
19174         * platform/graphics/chromium/TrackingTextureAllocator.cpp: Added.
19175         (WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
19176         (WebCore::TrackingTextureAllocator::~TrackingTextureAllocator):
19177         (WebCore::TrackingTextureAllocator::createTexture):
19178         (WebCore::TrackingTextureAllocator::deleteTexture):
19179         * platform/graphics/chromium/TrackingTextureAllocator.h: Copied from Source/WebCore/platform/graphics/chromium/ManagedTexture.h.
19180         (WebCore::TrackingTextureAllocator::create):
19181         (WebCore::TrackingTextureAllocator::currentMemoryUseBytes):
19182         * platform/graphics/chromium/VideoLayerChromium.cpp:
19183         (WebCore::VideoLayerChromium::updateCompositorResources):
19184         (WebCore::VideoLayerChromium::updateTexture):
19185         * platform/graphics/chromium/VideoLayerChromium.h:
19186         * platform/graphics/chromium/WebGLLayerChromium.cpp:
19187         (WebCore::WebGLLayerChromium::updateCompositorResources):
19188         * platform/graphics/chromium/WebGLLayerChromium.h:
19189         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
19190         (WebCore::CCHeadsUpDisplay::draw):
19191         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
19192         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
19193         (WebCore::CCLayerTreeHost::deleteContentsTexturesOnCCThread):
19194         (WebCore::CCLayerTreeHost::commitToOnCCThread):
19195         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
19196         (WebCore::CCLayerTreeHost::updateCompositorResources):
19197         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
19198         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
19199         (WebCore::CCLayerTreeHostImpl::contentsTextureAllocator):
19200         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
19201         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
19202         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
19203         (WebCore::CCRenderSurface::drawSurface):
19204         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
19205         (WebCore::CCSingleThreadProxy::setNeedsCommit):
19206         (WebCore::CCSingleThreadProxy::stop):
19207         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
19208         (WebCore::CCSingleThreadProxy::commitIfNeeded):
19209         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
19210         (WebCore::CCThreadProxy::commitOnCCThread):
19211         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
19212
19213 2011-06-28  Robert Hogan  <robert@webkit.org>
19214
19215         Reviewed by David Hyatt.
19216
19217         Replaced elements squeezed when width is specified as percentage inside a table with Auto layout
19218         https://bugs.webkit.org/show_bug.cgi?id=29447
19219
19220         If inserting a 'replaced' element (e.g. image, plugin) in a table cell that is not descendant from
19221         a block with fixed layout then do not squeeze the element, let it use its intrinsic width and height.
19222
19223         Test: fast/replaced/table-percent-width.html
19224
19225         * rendering/RenderBox.cpp:
19226         (WebCore::avoidSqueezingWidth):
19227         (WebCore::avoidSqueezingHeight):
19228         (WebCore::RenderBox::containingBlockReplacedLogicalWidthForContent):
19229         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
19230         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
19231         * rendering/RenderBox.h:
19232
19233 2011-09-27  Simon Fraser  <simon.fraser@apple.com>
19234
19235         https://bugs.webkit.org/show_bug.cgi?id=67858
19236
19237         Roll r96070 back in now that the crash has been fixed in r96130.
19238
19239         Reviewed by Darin Adler.
19240         
19241         When non-overlay scrollbars are hidden on a composited iframe, nothing invalidated
19242         the scrollbar areas or the scroll corner, so the scrollbars appear to remain.
19243         
19244         Fix by invalidating the scrollbars and scroll corner when they are removed. Invalidation
19245         on scrollbar creation appears to happen via updating the scrollbar style.
19246
19247         Tested by compositing/iframes/repaint-after-losing-scrollbars.html which no longer shows
19248         stale scrollbars when run manually, even though the green squares are missing from the
19249         pixel result (bug 67878).
19250
19251         * page/FrameView.cpp:
19252         (WebCore::FrameView::updateScrollCorner): Pass the corner rect into invalidateScrollCorner().
19253         * platform/ScrollView.cpp:
19254         (WebCore::ScrollView::setHasHorizontalScrollbar): Invalidate the scrollbar area if hiding it.
19255         (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
19256         (WebCore::ScrollView::updateScrollbars): In the case where both scrollbars are going away,
19257         compute the scroll corner rect while we still have scrollbars, and then invalidate it
19258         explicitly. (updateScrollCorner() doesn't, because it doesn't have access to the old corner
19259         rect.)
19260         * platform/ScrollableArea.cpp:
19261         (WebCore::ScrollableArea::invalidateScrollCorner): Pass the rect in, because we can't
19262         compute it in the case where the scrollbars are going away.
19263         * platform/ScrollableArea.h: Pass in a rect to invalidateScrollCorner(), which matches
19264         invalidateScrollbar().
19265         * rendering/RenderLayerCompositor.cpp:
19266         (WebCore::RenderLayerCompositor::destroyRootLayer): Pass the corner rect into invalidateScrollCorner().
19267         * rendering/RenderScrollbarPart.cpp: Ditto.
19268         (WebCore::RenderScrollbarPart::imageChanged): Ditto.
19269
19270 2011-09-27  Mihai Parparita  <mihaip@chromium.org>
19271
19272         Fix Chromium Mac build after r96130.
19273
19274         * page/FrameView.cpp:
19275         (WebCore::FrameView::layerForOverhangAreas):
19276
19277 2011-09-27  Kaustubh Atrawalkar  <kaustubh@motorola.com>
19278
19279         Autofocus on readonly inputs does not focus the element.
19280         https://bugs.webkit.org/show_bug.cgi?id=24092
19281
19282         Reviewed by Ryosuke Niwa.
19283
19284         Readonly input elements should be autofocusable. Removed the check.
19285
19286         Tests: fast/forms/autofocus-readonly-attribute.html
19287
19288         * html/HTMLFormControlElement.cpp:
19289         (WebCore::shouldAutofocus):
19290
19291 2011-09-27  Simon Fraser  <simon.fraser@apple.com>
19292
19293         Clean up how FrameView accesses the RenderView
19294         https://bugs.webkit.org/show_bug.cgi?id=68914
19295
19296         Reviewed by Sam Weinig.
19297
19298         Clean up how FrameView accesses the content renderer of its
19299         frame. Previously, this was done in several different ways,
19300         only some of which did null-checking.
19301         
19302         Use an inline method to avoid having to expose Frame
19303         in the header.
19304         
19305         Standardize the terminology to use 'root' for this RenderView.
19306
19307         * page/FrameView.cpp:
19308         (WebCore::rootRenderer):
19309         (WebCore::FrameView::setFrameRect):
19310         (WebCore::FrameView::adjustViewSize):
19311         (WebCore::FrameView::updateCompositingLayers):
19312         (WebCore::FrameView::clearBackingStores):
19313         (WebCore::FrameView::restoreBackingStores):
19314         (WebCore::FrameView::layerForHorizontalScrollbar):
19315         (WebCore::FrameView::layerForVerticalScrollbar):
19316         (WebCore::FrameView::layerForScrollCorner):
19317         (WebCore::FrameView::layerForOverhangAreas):
19318         (WebCore::FrameView::syncCompositingStateForThisFrame):
19319         (WebCore::FrameView::hasCompositedContent):
19320         (WebCore::FrameView::enterCompositingMode):
19321         (WebCore::FrameView::isSoftwareRenderable):
19322         (WebCore::FrameView::didMoveOnscreen):
19323         (WebCore::FrameView::willMoveOffscreen):
19324         (WebCore::FrameView::layout):
19325         (WebCore::FrameView::embeddedContentBox):
19326         (WebCore::FrameView::contentsInCompositedLayer):
19327         (WebCore::FrameView::scrollContentsFastPath):
19328         (WebCore::FrameView::scrollContentsSlowPath):
19329         (WebCore::FrameView::maintainScrollPositionAtAnchor):
19330         (WebCore::FrameView::scrollPositionChanged):
19331         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
19332         (WebCore::FrameView::visibleContentsResized):
19333         (WebCore::FrameView::scheduleRelayoutOfSubtree):
19334         (WebCore::FrameView::needsLayout):
19335         (WebCore::FrameView::setNeedsLayout):
19336         (WebCore::FrameView::performPostLayoutTasks):
19337         (WebCore::FrameView::updateControlTints):
19338         (WebCore::FrameView::paintContents):
19339         (WebCore::FrameView::forceLayoutForPagination):
19340         (WebCore::FrameView::adjustPageHeightDeprecated):
19341         (WebCore::FrameView::isVerticalDocument):
19342         (WebCore::FrameView::isFlippedDocument):
19343
19344 2011-09-27  Dominic Mazzoni  <dmazzoni@google.com>
19345
19346         AXObjectCache cleared unnecessarily when non-top Document is detached.
19347         https://bugs.webkit.org/show_bug.cgi?id=68636
19348
19349         Reviewed by Chris Fleizach.
19350
19351         Test: accessibility/deleting-iframe-destroys-axcache.html
19352
19353         * dom/Document.cpp:
19354         (WebCore::Document::attach):
19355         (WebCore::Document::detach):
19356
19357 2011-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
19358
19359         Unreviewed, rolling out r96108, r96111, r96113, and r96116.
19360         http://trac.webkit.org/changeset/96108
19361         http://trac.webkit.org/changeset/96111
19362         http://trac.webkit.org/changeset/96113
19363         http://trac.webkit.org/changeset/96116
19364         https://bugs.webkit.org/show_bug.cgi?id=68913
19365
19366         Wait for working Qt5 (Requested by ossy on #webkit).
19367
19368         * WebCore.pri:
19369         * platform/graphics/qt/GraphicsLayerQt.cpp:
19370
19371 2011-09-27  Csaba Osztrogonác  <ossy@webkit.org>
19372
19373         Fix ENABLE(SQL_DATABASE)=0 build after r95919
19374         https://bugs.webkit.org/show_bug.cgi?id=68902
19375
19376         r95919 enabled OFFLINE_WEB_APPLICATIONS by default and
19377         it needs SQLite stuff even if ENABLE_SQL_DATABASE=0.
19378
19379         Reviewed by Adam Barth.
19380
19381         * platform/sql/SQLiteAuthorizer.cpp:
19382         * platform/sql/SQLiteDatabase.cpp:
19383         * platform/sql/SQLiteFileSystem.cpp:
19384         * platform/sql/SQLiteStatement.cpp:
19385         * platform/sql/SQLiteTransaction.cpp:
19386         * storage/DatabaseAuthorizer.cpp:
19387
19388 2011-09-27  Julien Chaffraix  <jchaffraix@webkit.org>
19389
19390         Crash because CSSPrimitiveValue::computeLengthDouble assumes fontMetrics are available
19391         https://bugs.webkit.org/show_bug.cgi?id=66291
19392
19393         Reviewed by Darin Adler.
19394
19395         Test: fast/canvas/crash-set-font.html
19396
19397         This is Yet Another Missing updateFont (similar to bug 57756 and likely others). Here the issue is that
19398         applying one of the font properties could mutate the parent style's font if m_parentStyle == m_style.
19399         We would then query the newly created font when applying CSSPropertyFontSize, which has no font fallback
19400         list as Font::update was never called.
19401
19402         The right fix would be to refactor of how we handle fonts to avoid such manual updates (see bug 62390).
19403         Until this happens, it is better not to crash.
19404
19405         * css/CSSStyleSelector.cpp:
19406         (WebCore::CSSStyleSelector::applyProperty): Added updateFont() here as the fonts could have been
19407         mutated by the previous property change. Also added a comment explaining why it is safe to do it
19408         this way.
19409
19410 2011-09-27  No'am Rosenthal  <noam.rosenthal@nokia.com>
19411
19412         [Texmap] Code cleanup: remove unused boundingRect/visibleRect calculations
19413         https://bugs.webkit.org/show_bug.cgi?id=68897
19414
19415         Reviewed by Andreas Kling.
19416
19417         No new functionality so no new tests.
19418
19419         * platform/graphics/texmap/TextureMapperNode.cpp:
19420         (WebCore::TextureMapperNode::computeAllTransforms):
19421         (WebCore::TextureMapperNode::computeTiles):
19422         (WebCore::TextureMapperNode::syncCompositingState):
19423         * platform/graphics/texmap/TextureMapperNode.h:
19424
19425 2011-09-27  No'am Rosenthal  <noam.rosenthal@nokia.com>
19426
19427         [Texmap][Qt] Refactor texture-upload to allow direct chunk update
19428         https://bugs.webkit.org/show_bug.cgi?id=68808
19429
19430         Add a function to BitmapTexture for direct pixel updates.
19431         Modify BitmapTextureGL::endPaint to use that function. Since the BGRA
19432         to RGBA swizzling is done inside that function, there's no need for the 
19433         RGBA32PremultipliedBuffer class to contain such function. Also,
19434         RGBA32PremultipliedBuffer was renamed to BGRA32PremultipliedBuffer, correcting
19435         an old mistake.
19436
19437         Reviewed by Andreas Kling.
19438
19439         No new tests. Existing tests in LayoutTests/compositing test this.
19440
19441         * platform/graphics/opengl/TextureMapperGL.cpp:
19442         (WebCore::BitmapTextureGL::beginPaint):
19443         (WebCore::BitmapTextureGL::endPaint):
19444         (WebCore::swizzleBGRAToRGBA):
19445         (WebCore::BitmapTextureGL::updateContents):
19446         * platform/graphics/opengl/TextureMapperGL.h:
19447         (WebCore::BGRA32PremultimpliedBuffer::~BGRA32PremultimpliedBuffer):
19448         * platform/graphics/qt/TextureMapperQt.cpp:
19449         (WebCore::BitmapTextureQt::updateContents):
19450         (WebCore::BGRA32PremultimpliedBufferQt::data):
19451         (WebCore::BGRA32PremultimpliedBuffer::create):
19452         * platform/graphics/qt/TextureMapperQt.h:
19453         * platform/graphics/texmap/TextureMapper.h:
19454
19455 2011-09-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
19456
19457         [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
19458
19459         QWidget and friends now live in the QtWidgets library. We update
19460         includes in implementation files and private headers to us the
19461         non-module-prefixed path, and leave the lookup for the include
19462         path. For public headers we have to ifdef the includes as the
19463         user might now have the modules we need in his QT config.
19464
19465         Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
19466         have to update our code and use windowHandle() for setting the
19467         parent relationships.
19468
19469         https://bugs.webkit.org/show_bug.cgi?id=68687
19470
19471         Reviewed by Andreas Kling.
19472
19473         * WebCore.pri:
19474         * platform/graphics/qt/GraphicsLayerQt.cpp:
19475
19476 2011-09-27  Pavel Feldman  <pfeldman@google.com>
19477
19478         Web Inspector: split DOM.attributesUpdated into attributeModified and attributeRemoved.
19479         Send attribute name and value within the event.
19480         https://bugs.webkit.org/show_bug.cgi?id=68613
19481
19482         Reviewed by Yury Semikhatsky.
19483
19484         * dom/Element.cpp:
19485         (WebCore::Element::setAttribute):
19486         (WebCore::Element::removeAttribute):
19487         * inspector/Inspector.draft-01.json:
19488         * inspector/Inspector.json:
19489         * inspector/InspectorDOMAgent.cpp:
19490         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
19491         (WebCore::InspectorDOMAgent::didRemoveDOMAttr):
19492         * inspector/InspectorDOMAgent.h:
19493         * inspector/InspectorInstrumentation.cpp:
19494         (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
19495         (WebCore::InspectorInstrumentation::didRemoveDOMAttrImpl):
19496         * inspector/InspectorInstrumentation.h:
19497         (WebCore::InspectorInstrumentation::didModifyDOMAttr):
19498         (WebCore::InspectorInstrumentation::didRemoveDOMAttr):
19499         * inspector/front-end/DOMAgent.js:
19500         (WebInspector.DOMNode.prototype._addAttribute):
19501         (WebInspector.DOMNode.prototype._setAttribute):
19502         (WebInspector.DOMNode.prototype._removeAttribute):
19503         (WebInspector.DOMAgent.prototype._attributeModified):
19504         (WebInspector.DOMAgent.prototype._attributeRemoved):
19505         (WebInspector.DOMAgent.prototype._inlineStyleInvalidated):
19506         (WebInspector.DOMAgent.prototype._loadNodeAttributes):
19507         (WebInspector.DOMDispatcher.prototype.attributeModified):
19508         (WebInspector.DOMDispatcher.prototype.attributeRemoved):
19509         * inspector/front-end/ElementsPanel.js:
19510         (WebInspector.ElementsPanel):
19511         (WebInspector.ElementsPanel.prototype._attributesUpdated):
19512         * inspector/front-end/MetricsSidebarPane.js:
19513         (WebInspector.MetricsSidebarPane):
19514         (WebInspector.MetricsSidebarPane.prototype._attributesUpdated):
19515         * inspector/front-end/StylesSidebarPane.js:
19516         (WebInspector.StylesSidebarPane):
19517         (WebInspector.StylesSidebarPane.prototype._attributesModified):
19518         (WebInspector.StylesSidebarPane.prototype._attributesRemoved):
19519         (WebInspector.StylesSidebarPane.prototype._styleInvalidated):
19520         (WebInspector.StylePropertyTreeElement.prototype.event):
19521         (WebInspector.StylePropertyTreeElement.prototype):
19522         * inspector/validate-protocol-compatibility:
19523
19524 2011-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
19525
19526         Unreviewed, rolling out r96070 and r96075.
19527         http://trac.webkit.org/changeset/96070
19528         http://trac.webkit.org/changeset/96075
19529         https://bugs.webkit.org/show_bug.cgi?id=68893
19530
19531         WK2 tests started crashing after r96070 for SL and Qt
19532         (Requested by torarne on #webkit).
19533
19534         * page/FrameView.cpp:
19535         (WebCore::FrameView::updateScrollCorner):
19536         * platform/ScrollView.cpp:
19537         (WebCore::ScrollView::setHasHorizontalScrollbar):
19538         (WebCore::ScrollView::setHasVerticalScrollbar):
19539         (WebCore::ScrollView::updateScrollbars):
19540         * platform/ScrollableArea.cpp:
19541         (WebCore::ScrollableArea::invalidateScrollCorner):
19542         * platform/ScrollableArea.h:
19543         * rendering/RenderLayerCompositor.cpp:
19544         (WebCore::RenderLayerCompositor::destroyRootLayer):
19545         * rendering/RenderScrollbarPart.cpp:
19546         (WebCore::RenderScrollbarPart::imageChanged):
19547
19548 2011-09-27  Andrey Kosyakov  <caseq@chromium.org>
19549
19550         Web Inspector: JS exception upon clicking on "Word Wrap" checkbox in Settings screen
19551         https://bugs.webkit.org/show_bug.cgi?id=68888
19552
19553         Reviewed by Pavel Feldman.
19554
19555         * inspector/front-end/ElementsPanel.js:
19556         (WebInspector.ElementsPanel.prototype._domWordWrapSettingChanged):
19557
19558 2011-09-21  Pavel Podivilov  <podivilov@chromium.org>
19559
19560         Web Inspector: migrate RawSourceCode clients to SourceMapping class.
19561         https://bugs.webkit.org/show_bug.cgi?id=68524
19562
19563         Clients should use uiSourceCode(), rawLocationToUILocation(), uiLocationToRawLocation() methods of SourceMapping class.
19564         Initially, RawSourceCode may not have associated SourceMapping, so it is natural to extract this methods and associated state to a separate class.
19565
19566         Reviewed by Yury Semikhatsky.
19567
19568         * inspector/front-end/BreakpointManager.js:
19569         (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
19570         (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
19571         * inspector/front-end/DebuggerPresentationModel.js:
19572         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
19573         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
19574         (WebInspector.DebuggerPresentationModel.prototype._addScript):
19575         (WebInspector.DebuggerPresentationModel.prototype._updateSourceMapping):
19576         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
19577         (WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages):
19578         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
19579         (WebInspector.DebuggerPresentationModel.prototype._createPresentationMessage):
19580         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
19581         (WebInspector.PresentationCallFrame.prototype.get url):
19582         (WebInspector.PresentationCallFrame.prototype.sourceLine.sourceMappingUpdated):
19583         (WebInspector.PresentationCallFrame.prototype.sourceLine):
19584         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
19585         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
19586         * inspector/front-end/SourceFile.js:
19587         (WebInspector.RawSourceCode.prototype.get sourceMapping):
19588
19589 2011-09-27  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
19590
19591         wrap attribute of textarea element cannot be accessed by JavaScript.
19592         https://bugs.webkit.org/show_bug.cgi?id=68592
19593
19594         Reviewed by Kent Tamura.
19595
19596         Added JS interface for wrap attribute to HTMLTextAreaElement.idl.
19597
19598         Test: fast/forms/textarea-wrap-attribute.html
19599
19600         * html/HTMLTextAreaElement.idl:
19601
19602 2011-09-27  Xan Lopez  <xlopez@igalia.com>
19603
19604         [GTK] Add compatibility methods for DOM bindings
19605         https://bugs.webkit.org/show_bug.cgi?id=68884
19606
19607         Reviewed by Philippe Normand.
19608
19609         Add compatibility methods for our DOM bindings.
19610
19611         * bindings/gobject/WebKitDOMCustom.cpp:
19612         (webkit_dom_blob_slice): alias to the new method name.
19613         (webkit_dom_html_form_element_dispatch_form_change): this was
19614         removed from WebCore, so just print a warning about it.
19615         (webkit_dom_html_form_element_dispatch_form_input): ditto.
19616         * bindings/gobject/WebKitDOMCustom.h:
19617
19618 2011-09-27  Ryosuke Niwa  <rniwa@webkit.org>
19619
19620         Encapsulate m_firstNodeInserted and m_lastLeafInserted in node insertion logic
19621         https://bugs.webkit.org/show_bug.cgi?id=68875
19622
19623         Reviewed by Kent Tamura.
19624
19625         Added InsertedNode class inside ReplaceSelection to encapsulate m_firstNodeInserted and m_lastLeafInserted.
19626         Deployed it in removeRedundantStylesAndKeepStyleSpanInline, doApply, and insertAsListItems of ReplaceSelectionCommand.
19627
19628         * editing/DeleteSelectionCommand.cpp:
19629         (WebCore::DeleteSelectionCommand::removeNode):
19630         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
19631         * editing/ReplaceSelectionCommand.cpp:
19632         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
19633         (WebCore::ReplaceSelectionCommand::doApply):
19634         (WebCore::ReplaceSelectionCommand::insertAsListItems):
19635         * editing/ReplaceSelectionCommand.h:
19636         (WebCore::ReplaceSelectionCommand::InsertedNodes::respondToNodeInsertion):
19637         (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNode):
19638         (WebCore::ReplaceSelectionCommand::InsertedNodes::firstNodeInserted):
19639         (WebCore::ReplaceSelectionCommand::InsertedNodes::lastLeafInserted):
19640         (WebCore::ReplaceSelectionCommand::InsertedNodes::pastLastLeaf):
19641         * editing/htmlediting.cpp:
19642         (WebCore::updatePositionForNodeRemoval): Moved from DeleteSelectionCommand.cpp.
19643         * editing/htmlediting.h:
19644
19645 2011-09-27  Arun Patole  <bmf834@motorola.com>
19646
19647         Audio element doesn't emit the 'playing' event every time it starts playing, after it has finished playing.
19648         https://bugs.webkit.org/show_bug.cgi?id=60972
19649
19650         Reviewed by Philippe Normand.
19651
19652         The paused attribute should be set to true and the media element should emit a 'paused' at the end of playback.
19653         WHATWG revision r6562: http://html5.org/tools/web-apps-tracker?from=6561&to=6562
19654
19655         Test: media/media-element-play-after-eos.html
19656
19657         * html/HTMLMediaElement.cpp:
19658         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): set m_paused to true and schedule 'pause' event when playback ended.
19659
19660 2011-09-27  Rakesh KN  <rakesh.kn@motorola.com>
19661
19662         <input> with autofocus doesn't lose focus when it has a certain onblur listener
19663         https://bugs.webkit.org/show_bug.cgi?id=68513
19664
19665         Reviewed by Kent Tamura.
19666
19667         Test: fast/forms/autofocus-focus-only-once.html
19668
19669         These changes make sure that an element is focused only once when autofocus attribute is used.
19670
19671         * html/HTMLFormControlElement.cpp:
19672         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
19673         (WebCore::shouldAutofocus):
19674         (WebCore::HTMLFormControlElement::attach):
19675         * html/HTMLFormControlElement.h:
19676         (WebCore::HTMLFormControlElement::hasAutofocused):
19677         (WebCore::HTMLFormControlElement::setAutofocused):
19678
19679 2011-09-26  Kentaro Hara  <haraken@chromium.org>
19680
19681         Implement PopStateEvent.state with SerializedScriptValue and ScriptValue
19682         https://bugs.webkit.org/show_bug.cgi?id=68345
19683
19684         Reviewed by Adam Barth.
19685
19686         Previously, the following test cases fail or crash:
19687
19688         - shouldBe("new PopStateEvent('eventType', { state: object1 }).state", "object1") -> FAIL
19689         - new PopStateEvent('eventType', { state: document }).state -> CRASH in DRT
19690
19691         This is because PopStateEvent.state is implemented not as ScriptValue but as SerializedScriptValue.
19692         However, we cannot simply change the type of PopStateEvent.state to ScriptValue,
19693         since PopStateEvent can be constructed in the context that does not know ScriptValue.
19694         For example, Document.cpp calls PopStateEvent::create() with SerializedScriptValue
19695         popped from HistoryItem, but we cannot deserialize the SerializedScriptValue into
19696         the corresponding ScriptValue here because the deserialization requires ExecState.
19697         In other words, although we want to store PopStateEvent.state by ScriptValue internally,
19698         PopStateEvent still needs to provide an API to construct it with SerializedScriptValue.
19699         With these observations, this patch makes the following changes:
19700
19701         - If PopStateEvent is constructed with ScriptValue, it is stored as ScriptValue internally.
19702         When PopStateEvent.state is called, the ScriptValue is returned.
19703         - If PopStateEvent is constructed with SerializedScriptValue, it is stored as
19704         SerializedScriptValue internally (since we cannot deserialize it into ScriptValue
19705         at this point). When PopStateEvent.state is called, the SerializedScriptValue is
19706         deserialized into the corresponding ScriptValue, and the ScriptValue is returned.
19707
19708         Tests: fast/events/constructors/pop-state-event-constructor.html
19709                fast/events/fire-popstate-event.html
19710
19711         * GNUmakefile.list.am: Added JSPopStateEventCustom.cpp.
19712         * UseJSC.cmake: Ditto.
19713         * WebCore.gypi: Ditto.
19714         * WebCore.pro: Ditto.
19715         * WebCore.xcodeproj/project.pbxproj: Ditto.
19716         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
19717         * bindings/js/JSPopStateEventCustom.cpp:
19718         (WebCore::JSPopStateEvent::state): Custom getter for PopStateEvent.state.
19719         * bindings/v8/custom/V8PopStateEventCustom.cpp:
19720         (WebCore::V8PopStateEvent::stateAccessorGetter): Custom getter for PopStateEvent.state.
19721         * dom/PopStateEvent.cpp:
19722         (WebCore::PopStateEventInit::PopStateEventInit): Added initialization code for PopStateEvent.m_state.
19723         (WebCore::PopStateEvent::PopStateEvent): Ditto.
19724         (WebCore::PopStateEvent::create): Ditto.
19725         (WebCore::PopStateEvent::initPopStateEvent): Ditto.
19726         * dom/PopStateEvent.h:
19727         (WebCore::PopStateEvent::serializedState): Getter.
19728         (WebCore::PopStateEvent::state): Getter.
19729         * dom/PopStateEvent.idl: Change the type of 'stateArg' and 'state' to DOMObject. Added [CustomGetter] to 'state'.
19730
19731 2011-09-09  Simon Fraser  <simon.fraser@apple.com>
19732
19733         Pixel result shows that compositing/iframes/repaint-after-losing-scrollbars.html is failing
19734         https://bugs.webkit.org/show_bug.cgi?id=67858
19735
19736         Reviewed by Darin Adler.
19737         
19738         When non-overlay scrollbars are hidden on a composited iframe, nothing invalidated
19739         the scrollbar areas or the scroll corner, so the scrollbars appear to remain.
19740         
19741         Fix by invalidating the scrollbars and scroll corner when they are removed. Invalidation
19742         on scrollbar creation appears to happen via updating the scrollbar style.
19743
19744         Tested by compositing/iframes/repaint-after-losing-scrollbars.html which no longer shows
19745         stale scrollbars when run manually, even though the green squares are missing from the
19746         pixel result (bug 67878).
19747
19748         * page/FrameView.cpp:
19749         (WebCore::FrameView::updateScrollCorner): Pass the corner rect into invalidateScrollCorner().
19750         * platform/ScrollView.cpp:
19751         (WebCore::ScrollView::setHasHorizontalScrollbar): Invalidate the scrollbar area if hiding it.
19752         (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
19753         (WebCore::ScrollView::updateScrollbars): In the case where both scrollbars are going away,
19754         compute the scroll corner rect while we still have scrollbars, and then invalidate it
19755         explicitly. (updateScrollCorner() doesn't, because it doesn't have access to the old corner
19756         rect.)
19757         * platform/ScrollableArea.cpp:
19758         (WebCore::ScrollableArea::invalidateScrollCorner): Pass the rect in, because we can't
19759         compute it in the case where the scrollbars are going away.
19760         * platform/ScrollableArea.h: Pass in a rect to invalidateScrollCorner(), which matches
19761         invalidateScrollbar().
19762         * rendering/RenderLayerCompositor.cpp:
19763         (WebCore::RenderLayerCompositor::destroyRootLayer): Pass the corner rect into invalidateScrollCorner().
19764         * rendering/RenderScrollbarPart.cpp: Ditto.
19765         (WebCore::RenderScrollbarPart::imageChanged): Ditto.
19766
19767 2011-09-09  Simon Fraser  <simon.fraser@apple.com>
19768
19769         Translucent scrollbars on composited layers render incorrectly
19770         https://bugs.webkit.org/show_bug.cgi?id=58515
19771
19772         Reviewed by Sam Weinig.
19773         
19774         Scrollbars in composited elements were getting drawn twice,
19775         because r41203 moved the call to paintOverflowControls() out of
19776         RenderLayer::paintLayer(), but forgot to change RenderLayerBacking::paintIntoLayer().
19777
19778         Test: compositing/scrollbar-painting.html
19779
19780         * rendering/RenderLayerBacking.cpp:
19781         (WebCore::RenderLayerBacking::paintIntoLayer):
19782
19783 2011-09-26  Nat Duca  <nduca@chromium.org>
19784
19785         [chromium] Make CCThreadProxy draw
19786         https://bugs.webkit.org/show_bug.cgi?id=67417
19787
19788         Update the CCThreadProxy to correctly implement the CCProxy
19789         interface, do all the right committing and updating steps, and
19790         draw a picture on the screen.
19791
19792         Reviewed by James Robinson.
19793
19794         * platform/graphics/IntRect.h:
19795         * platform/graphics/chromium/LayerRendererChromium.cpp:
19796         (WebCore::LayerRendererChromium::~LayerRendererChromium):
19797         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
19798         (WebCore::CCHeadsUpDisplay::enabled):
19799         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
19800         (WebCore::CCLayerImpl::CCLayerImpl):
19801         (WebCore::CCLayerImpl::~CCLayerImpl):
19802         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
19803         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
19804         (WebCore::CCLayerTreeHost::commitTo):
19805         (WebCore::CCLayerTreeHost::commitComplete):
19806         (WebCore::CCLayerTreeHost::setNeedsRedraw):
19807         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
19808         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
19809         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
19810         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
19811         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
19812         (WebCore::CCSingleThreadProxy::finishAllRendering):
19813         (WebCore::CCSingleThreadProxy::setNeedsCommit):
19814         (WebCore::CCSingleThreadProxy::commitIfNeeded):
19815         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
19816         (WebCore::CCThreadProxy::CCThreadProxy):
19817         (WebCore::CCThreadProxy::~CCThreadProxy):
19818         (WebCore::CCThreadProxy::compositeAndReadback):
19819         (WebCore::CCThreadProxy::drawLayersAndReadbackOnCCThread):
19820         (WebCore::CCThreadProxy::finishAllRendering):
19821         (WebCore::CCThreadProxy::isStarted):
19822         (WebCore::CCThreadProxy::setNeedsCommit):
19823         (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
19824         (WebCore::CCThreadProxy::setNeedsRedraw):
19825         (WebCore::CCThreadProxy::start):
19826         (WebCore::CCThreadProxy::stop):
19827         (WebCore::CCThreadProxy::finishAllRenderingOnCCThread):
19828         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
19829         (WebCore::CCThreadProxy::beginFrameAndCommit):
19830         (WebCore::CCThreadProxy::commitOnCCThread):
19831         (WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
19832         (WebCore::CCThreadProxy::drawLayersAndPresentOnCCThread):
19833         (WebCore::CCThreadProxy::drawLayersOnCCThread):
19834         (WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):
19835         * platform/graphics/chromium/cc/CCThreadProxy.h:
19836
19837 2011-09-26  Adam Klein  <adamk@chromium.org>
19838
19839         [MutationObservers] implement MutationRecord
19840         https://bugs.webkit.org/show_bug.cgi?id=68824
19841
19842         Reviewed by Darin Adler.
19843
19844         Implements MutationRecord as specified in the thread at
19845         http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html,
19846         including some minor naming changes from the original proposal.
19847
19848         This is a small part of the MutationObserver API, see
19849         https://bugs.webkit.org/show_bug.cgi?id=68729 for the metabug covering
19850         this feature.
19851
19852         No new tests as this isn't yet exposed to the platform.
19853
19854         * CMakeLists.txt:
19855         * DerivedSources.cpp:
19856         * DerivedSources.make:
19857         * GNUmakefile.list.am:
19858         * WebCore.gypi:
19859         * WebCore.pro:
19860         * WebCore.vcproj/WebCore.vcproj:
19861         * WebCore.xcodeproj/project.pbxproj:
19862         * dom/MutationRecord.cpp: Added.
19863         (WebCore::MutationRecord::createChildList):
19864         (WebCore::MutationRecord::createAttributes):
19865         (WebCore::MutationRecord::createCharacterData):
19866         (WebCore::MutationRecord::MutationRecord):
19867         (WebCore::MutationRecord::~MutationRecord):
19868         * dom/MutationRecord.h: Added.
19869         (WebCore::MutationRecord::target):
19870         (WebCore::MutationRecord::addedNodes):
19871         (WebCore::MutationRecord::removedNodes):
19872         (WebCore::MutationRecord::previousSibling):
19873         (WebCore::MutationRecord::nextSibling):
19874         (WebCore::MutationRecord::attributeName):
19875         (WebCore::MutationRecord::attributeNamespace):
19876         (WebCore::MutationRecord::oldValue):
19877         (WebCore::MutationRecord::setOldValue):
19878         * dom/MutationRecord.idl: Added.
19879
19880 2011-09-26  Kentaro Hara  <haraken@chromium.org>
19881
19882         Implement a CloseEvent constructor for V8
19883         https://bugs.webkit.org/show_bug.cgi?id=68793
19884
19885         Reviewed by Adam Barth.
19886
19887         Test: fast/events/constructors/close-event-constructor.html
19888
19889         * bindings/v8/OptionsObject.cpp:
19890         (WebCore::OptionsObject::getKey): Just removed an extra space.
19891         (WebCore::OptionsObject::getKeyValue): Returns an unsigned short value corresponding to the given key.
19892         * bindings/v8/OptionsObject.h:
19893         * bindings/v8/custom/V8EventConstructors.cpp: Added the CloseEvent constructor.
19894         * websockets/CloseEvent.idl: Added a 'V8CustomConstructor' attribute.
19895
19896 2011-09-26  Nate Chapin  <japhet@chromium.org>
19897
19898         Clean up CachedResource::load(). Collapse its
19899         logic into a single callsite, taking just a
19900         CachedResourceLoader and a ResourceLoaderOptions.
19901
19902         1. Its 'incremental' parameter is redundant.
19903         2. With 'incremental' removed, the SecurityCheckPolicy is the only
19904            parameter difference between the CachedResource::load() variants.
19905            Making it a part of ResourceLoaderOptions removes yet another random
19906            enum that is passed around individually.
19907         3. We currently have to call setResourceLoaderOptions() before load() on a
19908            new CachedResource, so we should just take the ResourceLoaderOptions in load().
19909
19910         https://bugs.webkit.org/show_bug.cgi?id=67443
19911
19912         Reviewed by Antti Koivisto.
19913
19914         No new tests, refactor only.
19915
19916         * loader/DocumentThreadableLoader.cpp:
19917         * loader/FrameLoaderTypes.h: Move SecurityCheckPolicy to ResourceLoaderOptions.h.
19918         * loader/MainResourceLoader.cpp:
19919         * loader/NetscapePlugInStreamLoader.cpp:
19920         * loader/ResourceLoadScheduler.cpp:
19921         * loader/ResourceLoadScheduler.h:
19922         * loader/ResourceLoader.cpp: Enforce SecurityCheckPolicy here instead of SubresourceLoader.
19923         * loader/ResourceLoaderOptions.h: Store SecurityCheckPolicy on ResourceLoaderOptions.
19924         * loader/SubresourceLoader.cpp:
19925         * loader/SubresourceLoader.h:
19926         * loader/cache/CachedFont.cpp:
19927         * loader/cache/CachedFont.h:
19928         * loader/cache/CachedImage.cpp:
19929         * loader/cache/CachedImage.h:
19930         * loader/cache/CachedResource.cpp:
19931         * loader/cache/CachedResource.h:
19932         * loader/cache/CachedResourceLoader.cpp:
19933         (WebCore::defaultCachedResourceOptions): Define the default ResourceLoaderOptions for
19934             CachedResource loads here instead of as a default parameter on requestResource().
19935         * loader/cache/CachedResourceLoader.h:
19936         * loader/cache/CachedResourceRequest.cpp:
19937         (WebCore::CachedResourceRequest::didReceiveData): Remove m_incremental, since its purpose
19938             is already enforced in the data() implementation of every CachedResource that doesn't want
19939             incremental loads.
19940         * loader/cache/CachedResourceRequest.h:
19941
19942 2011-09-26  Joshua Bell  <jsbell@chromium.org>
19943
19944         IndexedDB: Second half of IDBFactory.getDatabaseNames implementation
19945         https://bugs.webkit.org/show_bug.cgi?id=68818
19946
19947         Reviewed by Tony Chang.
19948
19949         Test: storage/indexeddb/factory-basics.html
19950
19951         Adds ability to enumerate IndexedDB databases within an origin.
19952
19953         * bindings/v8/custom/V8IDBAnyCustom.cpp:
19954         (WebCore::toV8):
19955         * storage/IDBAny.cpp:
19956         (WebCore::IDBAny::domStringList):
19957         (WebCore::IDBAny::set):
19958         * storage/IDBAny.h:
19959         * storage/IDBBackingStore.h:
19960         * storage/IDBCallbacks.h:
19961         * storage/IDBFactory.cpp:
19962         (WebCore::IDBFactory::getDatabaseNames):
19963         * storage/IDBFactory.h:
19964         * storage/IDBFactory.idl:
19965         * storage/IDBFactoryBackendImpl.cpp:
19966         (WebCore::IDBFactoryBackendImpl::getDatabaseNames):
19967         (WebCore::IDBFactoryBackendImpl::open):
19968         (WebCore::IDBFactoryBackendImpl::openBackingStore):
19969         * storage/IDBFactoryBackendImpl.h:
19970         * storage/IDBFactoryBackendInterface.h:
19971         * storage/IDBLevelDBBackingStore.cpp:
19972         (WebCore::IDBLevelDBBackingStore::getDatabaseNames):
19973         (WebCore::IDBLevelDBBackingStore::getObjectStores):
19974         (WebCore::IDBLevelDBBackingStore::getIndexes):
19975         * storage/IDBLevelDBBackingStore.h:
19976         * storage/IDBLevelDBCoding.cpp:
19977         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeMinKeyForOrigin):
19978         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeStopKeyForOrigin):
19979         * storage/IDBLevelDBCoding.h:
19980         * storage/IDBRequest.cpp:
19981         (WebCore::IDBRequest::onSuccess):
19982         * storage/IDBRequest.h:
19983         * storage/IDBSQLiteBackingStore.cpp:
19984         (WebCore::IDBSQLiteBackingStore::getDatabaseNames):
19985         * storage/IDBSQLiteBackingStore.h:
19986
19987 2011-09-26  Tim Horton  <timothy_horton@apple.com>
19988
19989         <animateColor> applied to filtered ellipse does not update
19990         https://bugs.webkit.org/show_bug.cgi?id=68457
19991         <rdar://problem/10154777>
19992
19993         Reviewed by Darin Adler.
19994
19995         Invalidate the filter's cache when style changes take place so that style changes are respected.
19996
19997         Test: svg/filters/animate-fill.svg
19998
19999         * rendering/svg/SVGResourcesCache.cpp:
20000         (WebCore::SVGResourcesCache::clientStyleChanged):
20001         (WebCore::SVGResourcesCache::clientUpdatedFromElement):
20002
20003 2011-09-26  Max Perepelitsyn  <pph34r@gmail.com>
20004
20005         Set but unused variables cleanup in v8 bindings (gcc 4.6)
20006         https://bugs.webkit.org/show_bug.cgi?id=68079
20007
20008         Reviewed by Adam Barth.
20009
20010         Test: http/tests/websocket/tests/hybi/send-object-tostring-check.html
20011
20012         * bindings/scripts/CodeGeneratorV8.pm:
20013         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
20014         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
20015         * bindings/scripts/test/V8/V8TestObj.cpp:
20016         (WebCore::ConfigureV8TestObjTemplate):
20017         * bindings/v8/WorkerScriptDebugServer.cpp:
20018         (WebCore::WorkerScriptDebugServer::addListener):
20019         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
20020         (WebCore::V8HTMLOptionsCollection::lengthAccessorSetter):
20021         * bindings/v8/custom/V8WebSocketCustom.cpp:
20022         (WebCore::V8WebSocket::sendCallback):
20023
20024 2011-09-26  Tony Chang  <tony@chromium.org>
20025
20026         switch the initial value of flex-order to 0
20027         https://bugs.webkit.org/show_bug.cgi?id=68820
20028
20029         The spec changed from having an initial value of 1 to 0.
20030
20031         Reviewed by Ojan Vafai.
20032
20033         * rendering/style/RenderStyle.h:
20034         (WebCore::InheritedFlags::initialFlexOrder):
20035
20036 2011-09-26  Chris Rogers  <crogers@google.com>
20037
20038         OfflineAudioDestinationNode must wait for thread completion in uninitialize()
20039         https://bugs.webkit.org/show_bug.cgi?id=68725
20040
20041         Reviewed by Kenneth Russell.
20042
20043         No new tests.  This fixes internal implementation details.
20044
20045         * webaudio/OfflineAudioDestinationNode.cpp:
20046         (WebCore::OfflineAudioDestinationNode::uninitialize):
20047
20048 2011-09-26  Xan Lopez  <xlopez@igalia.com>
20049
20050         [GTK] Do not ignore 'Replaceable' attributes in the DOM bindings
20051         https://bugs.webkit.org/show_bug.cgi?id=68837
20052
20053         Reviewed by Martin Robinson.
20054
20055         * bindings/scripts/CodeGeneratorGObject.pm: add getters (but not
20056         setters) for 'Replaceable' attributes. Punt for the future
20057         actually making them settable, since it seems non trivial.
20058
20059 2011-09-26  Ryosuke Niwa  <rniwa@webkit.org>
20060
20061         Leopard build fix.
20062
20063         * testing/Internals.cpp:
20064         (WebCore::Internals::setZoomAnimatorTransform):
20065
20066 2011-09-26  Joshua Bell  <jsbell@chromium.org>
20067
20068         IndexedDB: Null key path gets stored as empty string key path
20069         https://bugs.webkit.org/show_bug.cgi?id=68726
20070
20071         Reviewed by Tony Chang.
20072
20073         Store additional flag to indicate if object store key path
20074         is null vs. empty. Added additional runtime tests for integrity
20075         of object store metadata.
20076
20077         * storage/IDBLevelDBBackingStore.cpp:
20078         (WebCore::checkObjectStoreAndMetaDataType):
20079         (WebCore::IDBLevelDBBackingStore::getObjectStores):
20080         (WebCore::IDBLevelDBBackingStore::createObjectStore):
20081         * storage/IDBLevelDBCoding.cpp:
20082
20083 2011-09-26  John Bauman  <jbauman@chromium.org>
20084
20085         Fix nonpremultiplied webgl toDataURL to jpeg
20086         https://bugs.webkit.org/show_bug.cgi?id=68366
20087
20088         The canvas spec says that toDataURL to formats without an alpha must
20089         be "composited onto a solid black background using the source-over
20090         operator." Do that.
20091
20092         Reviewed by Kenneth Russell.
20093
20094         * platform/graphics/cg/ImageBufferCG.cpp:
20095         (WebCore::CGImageToDataURL):
20096         (WebCore::ImageBuffer::toDataURL):
20097         (WebCore::ImageDataToDataURL):
20098         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
20099         (WebCore::RGBAtoRGB):
20100
20101 2011-09-26  Raphael Kubo da Costa  <kubo@profusion.mobi>
20102
20103         [CMake] Remove FindFreetype.cmake
20104         https://bugs.webkit.org/show_bug.cgi?id=68778
20105
20106         Reviewed by Adam Barth.
20107
20108         CMake has provided its own FindFreetype.cmake forever, so there is no
20109         need to have another implementation in WebKit.
20110
20111         No new tests, just a buildsystem change.
20112
20113         * CMakeListsEfl.txt: Use FREETYPE_{LIBRARIES,INCLUDE_DIRS} instead of
20114         Freetype_{LIBRARIES,INCLUDE_DIRS}.
20115
20116 2011-09-26  Alexei Svitkine  <asvitkine@chromium.org>
20117
20118         Fix full-page rubber band overhang appearing when gesturing during a slow page load.
20119         https://bugs.webkit.org/show_bug.cgi?id=68568
20120
20121         Chromium bug: http://code.google.com/p/chromium/issues/detail?id=97243
20122
20123         (This also happens on Safari.)
20124
20125         The problem was that ScrollView::overhangAmount() was returning a full-page overhang due to contentsSize() being 0 briefly during a page load, which was then getting used by ScrollAnimatorChromiumMac.mm to update the overhang on a gesture event. This change makes the relevant logic not return an overhang if the contentsSize() is empty.
20126
20127         Reviewed by Adam Barth.
20128
20129         No new tests, since this is highly timing-related.
20130
20131         * platform/ScrollView.cpp:
20132         (WebCore::ScrollView::overhangAmount):
20133         (WebCore::ScrollView::wheelEvent):
20134
20135 2011-09-26  W. James MacLean  <wjmaclean@chromium.org>
20136
20137         [chromium] Revise zoom animator backend to use full transform instead of just scale.
20138         https://bugs.webkit.org/show_bug.cgi?id=68535
20139
20140         Reviewed by Kenneth Russell.
20141
20142         * page/Settings.cpp:
20143         (WebCore::Settings::Settings):
20144         * page/Settings.h:
20145         (WebCore::Settings::setZoomAnimatorScale):
20146         (WebCore::Settings::zoomAnimatorScale):
20147         (WebCore::Settings::setZoomAnimatorPosition):
20148         (WebCore::Settings::zoomAnimatorPosX):
20149         (WebCore::Settings::zoomAnimatorPosY):
20150         * platform/graphics/chromium/LayerRendererChromium.cpp:
20151         (WebCore::LayerRendererChromium::LayerRendererChromium):
20152         (WebCore::LayerRendererChromium::drawLayersInternal):
20153         * platform/graphics/chromium/LayerRendererChromium.h:
20154         (WebCore::LayerRendererChromium::setZoomAnimatorTransform):
20155         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
20156         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
20157         (WebCore::CCLayerTreeHost::commitTo):
20158         (WebCore::CCLayerTreeHost::setZoomAnimatorTransform):
20159         (WebCore::CCLayerTreeHost::updateLayers):
20160         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
20161         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
20162         (WebCore::CCLayerTreeHostImpl::setZoomAnimatorTransform):
20163         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
20164         * testing/Internals.cpp:
20165         (WebCore::Internals::setZoomAnimatorTransform):
20166         * testing/Internals.h:
20167         * testing/Internals.idl:
20168
20169 2011-09-26  Dan Bernstein  <mitz@apple.com>
20170
20171         REGRESSION (r95926) Assert firing in svg/clip-path/clip-path-on-svg.svg
20172         https://bugs.webkit.org/show_bug.cgi?id=68819
20173
20174         Reviewed by Dave Hyatt.
20175
20176         * rendering/RenderObject.cpp:
20177         (WebCore::RenderObject::scheduleRelayout): Revert to using view() instead of the RenderView**
20178         parameter of isRooted, since only the former returns 0 when the document is detached.
20179
20180 2011-09-26  Vsevolod Vlasov  <vsevik@chromium.org>
20181
20182         Web Inspector: XMLHttpRequest console logging messages should link to network panel when possible.
20183         https://bugs.webkit.org/show_bug.cgi?id=67399
20184
20185         Reviewed by Pavel Feldman.
20186
20187         * inspector/ConsoleMessage.cpp:
20188         (WebCore::ConsoleMessage::ConsoleMessage):
20189         * inspector/ConsoleMessage.h:
20190         * inspector/InspectorConsoleAgent.cpp:
20191         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
20192         * inspector/InspectorConsoleAgent.h:
20193         * inspector/InspectorInstrumentation.cpp:
20194         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
20195         * inspector/front-end/ConsoleMessage.js:
20196         (WebInspector.ConsoleMessage.prototype._formatMessage.else.else.linkifier):
20197         (WebInspector.ConsoleMessage.prototype._formatMessage):
20198         * inspector/front-end/ResourcesPanel.js:
20199         (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
20200         * inspector/front-end/inspector.js:
20201         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
20202         (WebInspector.linkifyStringAsFragment):
20203
20204 2011-09-26  Jer Noble  <jer.noble@apple.com>
20205
20206         White flash when entering full-screen using element.webkitRequestFullScreen()
20207         https://bugs.webkit.org/show_bug.cgi?id=68481
20208
20209         Reviewed by Simon Fraser.
20210
20211         No new tests; covered by existing full screen tests.
20212
20213         During an animation, renderers may try to paint into the FullScreenRenderer's 
20214         GraphicsLayer, and an optimization we previously added for the FullScreenRenderer's 
20215         background will cause these paints to fail. Remove this optimization in 
20216         containsPaintedContent, and taking non-composited elements into full screen will
20217         animate correctly.
20218
20219         * rendering/RenderLayerBacking.cpp:
20220         (WebCore::RenderLayerBacking::containsPaintedContent):
20221
20222 2011-09-26  Mihai Parparita  <mihaip@chromium.org>
20223
20224         Unreviewed, rolling out r95960.
20225         http://trac.webkit.org/changeset/95960
20226         https://bugs.webkit.org/show_bug.cgi?id=58608
20227
20228         Significantly changes table border rendering
20229
20230         * rendering/RenderObject.cpp:
20231         (WebCore::RenderObject::drawLineForBoxSide):
20232
20233 2011-09-23  Simon Fraser  <simon.fraser@apple.com>
20234
20235         Repaint tests don't work in WebKit2
20236         https://bugs.webkit.org/show_bug.cgi?id=68453
20237
20238         Reviewed by Sam Weinig.
20239
20240         Have FrameView keep track of repaint rects when asked to, and
20241         expose this set of repaint rects via private WebKit API for later
20242         use by DumpRenderTree.
20243         
20244         The repaint rects are in WebView coordinates, so we have to
20245         unapply the scroll offset.
20246
20247         * WebCore.exp.in:
20248         * page/FrameView.cpp:
20249         (WebCore::FrameView::FrameView):
20250         (WebCore::FrameView::reset):
20251         (WebCore::FrameView::repaintContentRectangle):
20252         (WebCore::FrameView::setTracksRepaints):
20253         * page/FrameView.h:
20254         (WebCore::FrameView::isTrackingRepaints):
20255         (WebCore::FrameView::resetTrackedRepaints):
20256         (WebCore::FrameView::trackedRepaintRects):
20257
20258 2011-09-26  Antti Koivisto  <antti@apple.com>
20259
20260         Optimize matching of common pseudo classes
20261         https://bugs.webkit.org/show_bug.cgi?id=68633
20262
20263         Reviewed by Dave Hyatt, Darin Adler, Dimitri Glazkov.
20264         
20265         :link, :visited and :focus are quite common. They often used as univeral selectors (including in our
20266         default stylesheet) so we try to match them for all elements in the document. They take always the 
20267         slow matching path. In addition we match link styles twice due to visited link pseudo style generation
20268         so the overhead is doubled. As a result substantial portion of our style matching time is spent 
20269         dealing with these pseudo classes. 
20270         
20271         This patch adds new lists to RuleSet for common pseudo class rules. The rules on the lists are only checked
20272         if the element has approprate type and stat. ases where the rightmost pseudo class can then be rejected immediately.
20273         We can also enable the fast path checking for the rest of the selector in many cases.
20274     
20275         This seems to be >30% progression in selector matching performance with typical style sheets. It saves ~0.9s
20276         when loading the full HTML5 spec.
20277
20278         * css/CSSStyleSelector.cpp:
20279         (WebCore::RuleData::hasRightmostSelectorMatchingHTMLBasedOnRuleHash):
20280         (WebCore::RuleSet::idRules):
20281         (WebCore::RuleSet::classRules):
20282         (WebCore::RuleSet::tagRules):
20283         (WebCore::RuleSet::shadowPseudoElementRules):
20284         (WebCore::RuleSet::linkPseudoClassRules):
20285         (WebCore::RuleSet::visitedPseudoClassRules):
20286         (WebCore::RuleSet::focusPseudoClassRules):
20287         (WebCore::RuleSet::universalRules):
20288         (WebCore::RuleSet::pageRules):
20289         
20290             Add a new lists, some stylistic renamings.
20291     
20292         (WebCore::CSSStyleSelector::matchRules):
20293         
20294             New link and focus checks.
20295
20296         (WebCore::CSSStyleSelector::matchRulesForList):
20297         (WebCore::CSSStyleSelector::checkSelector):
20298         
20299             Inline the rightmost selector tag checking, skip if unnecessary.
20300         
20301         (WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
20302         
20303             Common pseudo classes now match based on early filtering (though it is not a hash in this case).
20304
20305         (WebCore::RuleData::RuleData):
20306         (WebCore::RuleSet::~RuleSet):
20307         (WebCore::RuleSet::addRule):
20308         
20309             Sort pseudo classes to new lists.
20310         
20311         (WebCore::RuleSet::collectFeatures):
20312         (WebCore::RuleSet::shrinkToFit):
20313         (WebCore::CSSStyleSelector::matchPageRules):
20314         * css/SelectorChecker.cpp:
20315         (WebCore::SelectorChecker::checkSelector):
20316         
20317             Adopt to expanded fast path (this is used by querySelectorAll).
20318
20319         (WebCore::SelectorChecker::fastCheckRightmostSelector):
20320         (WebCore::SelectorChecker::fastCheckSelector):
20321         
20322             Rightmost selector is now checked differently than the rest. RuleSet based selection in CSSStyleSelector
20323             is equivalent to fastCheckRightmostSelector().
20324         
20325         (WebCore::isFastCheckableRelation):
20326         (WebCore::isFastCheckableMatch):
20327         (WebCore::isFastCheckableRightmostSelector):
20328         (WebCore::SelectorChecker::isFastCheckableSelector):
20329         (WebCore::SelectorChecker::checkOneSelector):
20330         (WebCore::SelectorChecker::commonPseudoClassSelectorMatches):
20331         (WebCore::SelectorChecker::isFrameFocused):
20332         * css/SelectorChecker.h:
20333         (WebCore::SelectorChecker::isCommonPseudoClassSelector):
20334         (WebCore::SelectorChecker::linkMatchesVisitedPseudoClass):
20335         (WebCore::SelectorChecker::matchesFocusPseudoClass):
20336         (WebCore::SelectorChecker::tagMatches):
20337         
20338             Refactor a bunch of shared checks into functions.
20339
20340 2011-09-12  Ryosuke Niwa  <rniwa@webkit.org>
20341
20342         REGRESSION(r74971): Selection doesn't work correctly in BiDi Text
20343         https://bugs.webkit.org/show_bug.cgi?id=57340
20344
20345         Reviewed by Eric Seidel.
20346
20347         This patch adds the end point adjustment mechanism at bidi boundaries similar to the one NSTextView implements.
20348
20349         To understand the problem, suppose we have strong RTL letters "ABC" in a LTR block (visually laid out as CBA).
20350
20351         Per NSTextView convention, logical offsets between each letter is placed as (0)C(2)B(1)A(3). In other words,
20352         placing the caret visually on the left of CBA yields the position inside the text node of "ABC" at offset 0.
20353         Likewise, placing it between C and B yields ("ABC", 2), and placing it on the right of CBA yields ("ABC", 3).
20354
20355         Now suppose a user attempts to select the letter A by a mouse drag from the right of CBA to a point between
20356         B and A. First, the initial mouse down places the selection's base at ("ABC", 3). Then as the mouse pointer
20357         moves to a point on the left of A, the selection's extent is set at ("ABC", 1), selecting "BC".
20358
20359         To mitigate this issue, NSTextView adjusts selection base and extent under certain conditions. In the above
20360         example, NSTextView detects user's intent and changes the selection's base to ("ABC", 0) temporarily.
20361
20362         This patch implements a similar trick on WebKit. We adjust the base or the extent when they're at the left
20363         end or at the right end of a bidi run and the other end is inside of the run. In the above example, the
20364         base position on the right of A is the right end of a bidi run and the extent position between B and A is
20365         inside the same run (CBA), so we would adjust the base to be ("ABC", 0) as NSTextView does.
20366
20367         Take another example abcABC. Note offsets are assigned as (0)a(1)b(2)c(3)C(5)B(4)A(6) When the user starts
20368         a mouse drag from the right of A to a point between B and A, we adjust the selection base to be ("abcABC", 3)
20369         because the base is at the right end of a bidi run and the extent is in the same run. We keep the adjustment
20370         when the mouse pointer moves to a point between C and B. However, when the mouser pointer reaches a point
20371         between letters b and c, the selection extent is placed at ("abcABC", 2). Because the extent is outside of
20372         the bidi run started from the selection base, we restore the original base at this point. Had we not done this,
20373         we'll end up selecting just "c".
20374
20375         While this algorithm is implemented in FrameSelection::setNonDirectionalSelectionIfNeeded, this patch adds
20376         various member functions to RenderedPosition to facilitate abstraction around inline boxes and bidi runs.
20377
20378         Test: editing/selection/select-bidi-run.html
20379
20380         * editing/FrameSelection.cpp:
20381         (WebCore::adjustEndpointsAtBidiBoundary): Added. Implements the endpoints adjustment algorithm.
20382         (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded): Calls adjustEndpointsAtBidiBoundary, and
20383         restores the original base as needed.
20384         * editing/FrameSelection.h:
20385         * editing/RenderedPosition.cpp:
20386         (WebCore::RenderedPosition::RenderedPosition):
20387         (WebCore::RenderedPosition::prevLeafChild): Added to cache prevLeafChild of the current inline box.
20388         (WebCore::RenderedPosition::nextLeafChild): Ditto for nextLeafChild.
20389         (WebCore::RenderedPosition::isEquivalent): Compares two RenderedPositions considering neighboring inline boxes
20390         so that the rightmost position in a box and the leftmost position in the following box is considered equal.
20391         (WebCore::RenderedPosition::bidiLevelOnLeft): Added. Returns the bidi level of the run on the left. We can't
20392         add a generic bidiLevel to this class because it'll be ambiguous at bidi boundaries.
20393         (WebCore::RenderedPosition::bidiLevelOnRight): Ditto for the run on the right.
20394         (WebCore::RenderedPosition::leftBoundaryOfBidiRun): Added.
20395         (WebCore::RenderedPosition::rightBoundaryOfBidiRun): Added.
20396         (WebCore::RenderedPosition::atLeftBoundaryOfBidiRun): Added.
20397         (WebCore::RenderedPosition::atRightBoundaryOfBidiRun): Added.
20398         (WebCore::RenderedPosition::positionAtLeftBoundaryOfBiDiRun): Returns Position at the left edge of a bidi run
20399         if RenderedPosition is at such a position. Asserts atLeftBoundaryOfBidiRun.
20400         (WebCore::RenderedPosition::positionAtRightBoundaryOfBiDiRun): Ditto for the right edge.
20401         * editing/RenderedPosition.h:
20402         (WebCore::RenderedPosition::atLeftBoundaryOfBidiRun): Added.
20403         (WebCore::RenderedPosition::atRightBoundaryOfBidiRun): Added.
20404         (WebCore::RenderedPosition::atLeftmostOffsetInBox): Added.
20405         (WebCore::RenderedPosition::atRightmostOffsetInBox): Added.
20406         (WebCore::RenderedPosition::uncachedInlineBox): Added. We can't use a static const variable because gcc thinks
20407         reinterpret_cast<InlineBox*>(1) is not an integral value.
20408         (WebCore::RenderedPosition::RenderedPosition):
20409         * editing/VisibleSelection.h:
20410         (WebCore::VisibleSelection::visibleBase): Added.
20411         (WebCore::VisibleSelection::visibleExtent): Added.
20412         * page/EventHandler.cpp:
20413         (WebCore::EventHandler::updateSelectionForMouseDrag):
20414
20415 2011-09-26  Sheriff Bot  <webkit.review.bot@gmail.com>
20416
20417         Unreviewed, rolling out r95256.
20418         http://trac.webkit.org/changeset/95256
20419         https://bugs.webkit.org/show_bug.cgi?id=68814
20420
20421         Temporary CRASH calls no longer needed (Requested by enne on
20422         #webkit).
20423
20424         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
20425         (WebCore::CCLayerTreeHost::commitTo):
20426
20427 2011-09-26  Mark Rowe  <mrowe@apple.com>
20428
20429         <http://webkit.org/b/68809> IconDatabase::syncThreadMainLoop can assert if wakeSyncThread is called before thread starts executing
20430
20431         If wakeSyncThread is called before syncThreadMainLoop starts executing then m_syncThreadHasWorkToDo would be set
20432         while executing the body of the sync thread loop, causing us to skip blocking on the condition variable. This would
20433         lead to us hitting the assertion failure due to m_disabledSuddenTerminationForSyncThread being false, unless the main
20434         thread happened to call wakeSyncThread a second time while the first loop iteration was executing.
20435
20436         Reviewed by Anders Carlsson.
20437
20438         * loader/icon/IconDatabase.cpp:
20439         (WebCore::IconDatabase::syncThreadMainLoop): Clear m_syncThreadHasWorkToDo to indicate that we're about to perform
20440         all pending work.
20441
20442 2011-09-26  Antaryami Pandia  <antaryami.pandia@motorola.com>
20443
20444         Groove/inset/outset borders show solid if the color is black.
20445         https://bugs.webkit.org/show_bug.cgi?id=58608
20446
20447         Reviewed by Simon Fraser.
20448
20449         Lightened the border side colors when drawing borders with styles as
20450         Outset/Inset/Groove/Ridge.
20451
20452         Tests: fast/borders/border-groove.html
20453                fast/borders/border-inset.html
20454                fast/borders/border-outset.html
20455                fast/borders/border-ridge.html
20456
20457         * rendering/RenderObject.cpp:
20458         (WebCore::RenderObject::drawLineForBoxSide):
20459
20460 2011-09-26  Abhishek Arya  <inferno@chromium.org>
20461
20462         Delete retired custom font data only on document
20463         destruction, and not on recalc style.
20464         https://bugs.webkit.org/show_bug.cgi?id=68805
20465
20466         Reviewed by Dave Hyatt.
20467
20468         Test: fast/text/custom-font-data-crash.html
20469
20470         * dom/Document.cpp:
20471         (WebCore::Document::recalcStyle):
20472
20473 2011-09-23  Adrienne Walker  <enne@google.com>
20474
20475         [chromium] Update VideoLayerChromium textures after texture resources are reclaimed
20476         https://bugs.webkit.org/show_bug.cgi?id=68742
20477
20478         Reviewed by James Robinson.
20479
20480         If video textures are reclaimed (such as during a visibility change on
20481         a tab), the dirty rect for the layer is empty and it skips out of
20482         updating compositor resources, leaving the video textures invalid.
20483         Instead, check the textures here to make sure they're still valid
20484         first before early out so that they can get reupdated if necessary.
20485
20486         Additionally, fix a small bug in pushPropertiesTo where 1 plane RGB
20487         videos would not get drawn because all 3 planes didn't have valid
20488         textures.
20489
20490         Test: compositing/video-page-visibility.html
20491
20492         * platform/graphics/chromium/VideoLayerChromium.cpp:
20493         (WebCore::VideoLayerChromium::VideoLayerChromium):
20494         (WebCore::VideoLayerChromium::cleanupResources):
20495         (WebCore::VideoLayerChromium::updateCompositorResources):
20496         (WebCore::VideoLayerChromium::pushPropertiesTo):
20497         (WebCore::VideoLayerChromium::setLayerTreeHost):
20498         (WebCore::VideoLayerChromium::texturesValid):
20499         * platform/graphics/chromium/VideoLayerChromium.h:
20500
20501 2011-09-26  Pavel Feldman  <pfeldman@google.com>
20502
20503         Web Inspector: introduce protocol backwards compatibility validator.
20504         https://bugs.webkit.org/show_bug.cgi?id=68800
20505
20506         Reviewed by Yury Semikhatsky.
20507
20508         * inspector/Inspector.json:
20509         * inspector/Inspector.draft-01.json: Copied from Source/WebCore/inspector/Inspector.json.
20510         * inspector/validate-protocol-compatibility: Added.
20511
20512 2011-09-26  Andreas Kling  <kling@webkit.org>
20513
20514         [Qt] Unused variable in QNetworkReplyHandler::sendNetworkRequest.
20515         https://bugs.webkit.org/show_bug.cgi?id=68798
20516
20517         Reviewed by Noam Rosenthal.
20518
20519         * platform/network/qt/QNetworkReplyHandler.cpp:
20520         (WebCore::QNetworkReplyHandler::sendNetworkRequest):
20521
20522 2011-09-26  Ilya Tikhonovsky  <loislo@chromium.org>
20523
20524         Second unreviewed build fix for r95941
20525
20526         * inspector/InspectorInstrumentation.cpp:
20527         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
20528
20529 2011-09-26  Ilya Tikhonovsky  <loislo@chromium.org>
20530
20531         Unreviewed build fix for webkit builds after r95941.
20532
20533         * inspector/InspectorInstrumentation.cpp:
20534         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
20535
20536 2011-09-26  Andrey Kosyakov  <caseq@chromium.org>
20537
20538         Web Inspector: [Extensions API] allow resources to hook on click on resource links
20539         https://bugs.webkit.org/show_bug.cgi?id=68528
20540
20541         Reviewed by Yury Semikhatsky.
20542
20543         * WebCore.gypi:
20544         * WebCore.vcproj/WebCore.vcproj:
20545         * inspector/front-end/ExtensionAPI.js:
20546         (injectedExtensionAPI.Console.prototype.get Severity):
20547         (injectedExtensionAPI.Panels.prototype.create):
20548         (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler.else.callbackWrapper):
20549         (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):
20550         (injectedExtensionAPI.ExtensionServerClient.prototype.hasHandler):
20551         (injectedExtensionAPI.ExtensionServerClient.prototype.deregisterHandler):
20552         * inspector/front-end/ExtensionServer.js:
20553         (WebInspector.ExtensionServer):
20554         (WebInspector.ExtensionServer.prototype._onSetOpenResourceHandler):
20555         (WebInspector.ExtensionServer.prototype._handleAnchorClicked):
20556         (WebInspector.ExtensionServer.prototype._addExtensions):
20557         (WebInspector.ExtensionServer.prototype._addExtension):
20558         (WebInspector.ExtensionServer.prototype._registerExtension):
20559         * inspector/front-end/SettingsScreen.js:
20560         (WebInspector.SettingsScreen):
20561         (WebInspector.SettingsScreen.prototype._createCustomSetting):
20562         * inspector/front-end/WebKit.qrc:
20563         * inspector/front-end/helpScreen.css:
20564         (.help-content select):
20565         (.help-content select:disabled):
20566         (.help-content option):
20567         * inspector/front-end/inspector.html:
20568         * inspector/front-end/inspector.js:
20569         (WebInspector.set attached):
20570         (WebInspector._showAnchorLocation):
20571
20572 2011-09-23  Ilya Tikhonovsky  <loislo@chromium.org>
20573
20574         Web Inspector: Timeline: record root event for the function calls enforced by console eval.
20575         https://bugs.webkit.org/show_bug.cgi?id=68695
20576
20577         In a complex web application developer might want to timeline a specific piece of code.
20578
20579         In this case he can do the next steps:
20580         1) start timeline;
20581         2) eval a command in console;
20582         3) stop timeline.
20583
20584         I think it'd be nice to have a root event for the all the events that happened as the result of such eval.
20585
20586         Reviewed by Yury Semikhatsky.
20587
20588         Test: inspector/timeline/timeline-injected-script-eval.html
20589
20590         * bindings/v8/ScriptFunctionCall.cpp:
20591         * inspector/InjectedScript.cpp:
20592         (WebCore::InjectedScript::makeCall):
20593         * inspector/InspectorInstrumentation.cpp:
20594         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
20595
20596 2011-09-26  No'am Rosenthal  <noam.rosenthal@nokia.com>
20597
20598         [Texmap][Qt] Enable TextureMapperGL in platforms where BGRA is not present
20599         https://bugs.webkit.org/show_bug.cgi?id=65473
20600
20601         Reviewed by Andreas Kling.
20602
20603         For now, swap RGBA->BGRA in software if we're in OpenGL ES 2.
20604         We do that by iterating on the pixels and manually swapping each pixel's red and blue
20605         values. This can be done faster with shaders, but for now this is a working solution
20606         for platforms without BGRA support.
20607
20608         No new tests. Existing layout tests cover this.
20609
20610         * platform/graphics/opengl/TextureMapperGL.cpp:
20611         (WebCore::BitmapTextureGL::endPaint):
20612         * platform/graphics/opengl/TextureMapperGL.h:
20613         * platform/graphics/qt/TextureMapperQt.cpp:
20614         (WebCore::RGBA32PremultimpliedBufferQt::swapRGB):
20615
20616 2011-09-26  Sergio Villar Senin  <svillar@igalia.com>
20617
20618         [GTK] Fix coding style bits in ResourceHandleSoup.cpp
20619         https://bugs.webkit.org/show_bug.cgi?id=68634
20620
20621         Reviewed by Martin Robinson.
20622
20623         No new tests needed.
20624
20625         * platform/network/soup/ResourceHandleSoup.cpp:
20626         (WebCore::ResourceHandle::defaultSession):
20627
20628 2011-09-26  James Robinson  <jamesr@chromium.org>
20629
20630         [mac] Timestamp parameter to requestAnimationFrame is busted in USE(REQUEST_ANIMATION_FRAME_TIMER) path
20631         https://bugs.webkit.org/show_bug.cgi?id=68769
20632
20633         Reviewed by Simon Fraser.
20634
20635         Convert the time parameter from double to DOMTimeStamp using convertSecondsToDOMTimeStamp rather than relying on
20636         implicit double->long conversion, which ignores the units of the value.
20637
20638         Test: fast/animation/request-animation-frame-timestamps-advance.html
20639
20640         * dom/ScriptedAnimationController.cpp:
20641         (WebCore::ScriptedAnimationController::animationTimerFired):
20642
20643 2011-09-25  Mark Hahnenberg  <mhahnenberg@apple.com>
20644
20645         Add custom vtable struct to ClassInfo struct
20646         https://bugs.webkit.org/show_bug.cgi?id=68567
20647
20648         Reviewed by Oliver Hunt.
20649
20650         No new tests.
20651
20652         Added CREATE_METHOD_TABLE macro to generate the custom vtable for the 
20653         specified class in its ClassInfo.  Also added to it the first function to use 
20654         this macro, visitChildren.  This is part of the process of getting rid of all 
20655         C++ virtual methods in JSCell.  Eventually all virtual functions in JSCell 
20656         that can't easily be converted to non-virtual functions will be put into 
20657         this custom vtable structure.
20658
20659         * bindings/js/JSAudioConstructor.cpp:
20660         * bindings/js/JSDOMGlobalObject.cpp:
20661         * bindings/js/JSDOMWindowBase.cpp:
20662         * bindings/js/JSDOMWindowShell.cpp:
20663         * bindings/js/JSImageConstructor.cpp:
20664         * bindings/js/JSImageDataCustom.cpp:
20665         (WebCore::toJS):
20666         * bindings/js/JSOptionConstructor.cpp:
20667         * bindings/js/JSWorkerContextBase.cpp:
20668
20669         Changed the bindings generator to add the call to the CREATE_METHOD_TABLE macro where
20670         necessary.
20671         * bindings/scripts/CodeGeneratorJS.pm:
20672         (GenerateImplementation):
20673         (GenerateConstructorDefinition):
20674         * bindings/scripts/test/JS/JSTestInterface.cpp:
20675         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
20676         * bindings/scripts/test/JS/JSTestObj.cpp:
20677         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
20678         * bridge/c/CRuntimeObject.cpp:
20679         * bridge/c/c_instance.cpp:
20680         * bridge/jni/jsc/JavaInstanceJSC.cpp:
20681         * bridge/jni/jsc/JavaRuntimeObject.cpp:
20682         * bridge/objc/ObjCRuntimeObject.mm:
20683         * bridge/objc/objc_instance.mm:
20684         * bridge/objc/objc_runtime.mm:
20685         * bridge/qt/qt_instance.cpp:
20686         * bridge/qt/qt_pixmapruntime.cpp:
20687         * bridge/qt/qt_runtime.cpp:
20688         * bridge/runtime_array.cpp:
20689         * bridge/runtime_method.cpp:
20690         * bridge/runtime_object.cpp:
20691
20692 2011-09-25  Eunmi Lee  <eunmi15.lee@samsung.com>
20693
20694         [EFL] Move GtkWidgetBackingStoreCairo to the cairo directory and modify to use in the EFL.
20695         https://bugs.webkit.org/show_bug.cgi?id=63502
20696
20697         Reviewed by Martin Robinson.
20698
20699         The gtk/GtkWidgetBackingStoreCairo.cpp is moved to the cairo/WidgetBackingStoreCairo.cpp and
20700         some codes for EFL are added.
20701         WidgetBackingStoreCairo creates cairo_image_surface and has a role to copy reusable area
20702         when scrolling. So, it will be used in the WebKit2 EFL port's BackingStore.
20703
20704         * CMakeListsEfl.txt:
20705         * GNUmakefile.list.am:
20706         * platform/cairo/WidgetBackingStore.h:
20707         * platform/cairo/WidgetBackingStoreCairo.cpp: Renamed from Source/WebCore/platform/gtk/GtkWidgetBackingStoreCairo.cpp.
20708         (WebCore::createSurfaceForBackingStore):
20709         (WebCore::WidgetBackingStorePrivate::create):
20710         (WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
20711         (WebCore::WidgetBackingStore::create):
20712         (WebCore::WidgetBackingStore::WidgetBackingStore):
20713         (WebCore::WidgetBackingStore::~WidgetBackingStore):
20714         (WebCore::WidgetBackingStore::cairoSurface):
20715         (WebCore::WidgetBackingStore::scroll):
20716         * platform/gtk/GtkWidgetBackingStoreX11.cpp:
20717
20718 2011-09-25  Adam Barth  <abarth@webkit.org>
20719
20720         Finish removing PLATFORM(BREWMP) by removing associated code
20721         https://bugs.webkit.org/show_bug.cgi?id=68779
20722
20723         Reviewed by Sam Weinig.
20724
20725         When Geoffrey Garen removed PLATFORM(BREWMP) in
20726         http://trac.webkit.org/changeset/95555, he did not remove all the
20727         associated code.  This completes the work started in r95555 by removing
20728         all the code assoicated with PLATFORM(BREWMP).
20729
20730         * WebCore.gyp/WebCore.gyp:
20731         * WebCore.gypi:
20732         * bindings/js/ScriptControllerBrew.cpp: Removed.
20733         * editing/brew: Removed.
20734         * editing/brew/EditorBrew.cpp: Removed.
20735         * gyp/WebCore.gyp:
20736         * page/brew: Removed.
20737         * page/brew/ChromeClientBrew.h: Removed.
20738         * page/brew/DragControllerBrew.cpp: Removed.
20739         * page/brew/EventHandlerBrew.cpp: Removed.
20740         * page/brew/FrameBrew.cpp: Removed.
20741         * platform/brew: Removed.
20742         * platform/brew/ClipboardBrew.cpp: Removed.
20743         * platform/brew/ClipboardBrew.h: Removed.
20744         * platform/brew/ContextMenuBrew.cpp: Removed.
20745         * platform/brew/ContextMenuItemBrew.cpp: Removed.
20746         * platform/brew/CursorBrew.cpp: Removed.
20747         * platform/brew/DragDataBrew.cpp: Removed.
20748         * platform/brew/EventLoopBrew.cpp: Removed.
20749         * platform/brew/FileSystemBrew.cpp: Removed.
20750         * platform/brew/KURLBrew.cpp: Removed.
20751         * platform/brew/LanguageBrew.cpp: Removed.
20752         * platform/brew/LocalizedStringsBrew.cpp: Removed.
20753         * platform/brew/LoggingBrew.cpp: Removed.
20754         * platform/brew/MIMETypeRegistryBrew.cpp: Removed.
20755         * platform/brew/PasteboardBrew.cpp: Removed.
20756         * platform/brew/PlatformKeyboardEventBrew.cpp: Removed.
20757         * platform/brew/PlatformMouseEventBrew.cpp: Removed.
20758         * platform/brew/PlatformTouchEventBrew.cpp: Removed.
20759         * platform/brew/PlatformTouchPointBrew.cpp: Removed.
20760         * platform/brew/PopupMenuBrew.cpp: Removed.
20761         * platform/brew/PopupMenuBrew.h: Removed.
20762         * platform/brew/SSLKeyGeneratorBrew.cpp: Removed.
20763         * platform/brew/ScreenBrew.cpp: Removed.
20764         * platform/brew/ScrollbarThemeBrew.cpp: Removed.
20765         * platform/brew/ScrollbarThemeBrew.h: Removed.
20766         * platform/brew/SearchPopupMenuBrew.cpp: Removed.
20767         * platform/brew/SearchPopupMenuBrew.h: Removed.
20768         * platform/brew/SharedBufferBrew.cpp: Removed.
20769         * platform/brew/SharedTimerBrew.cpp: Removed.
20770         * platform/brew/SoundBrew.cpp: Removed.
20771         * platform/brew/SystemTimeBrew.cpp: Removed.
20772         * platform/brew/TemporaryLinkStubs.cpp: Removed.
20773         * platform/brew/WidgetBrew.cpp: Removed.
20774         * platform/graphics/brew: Removed.
20775         * platform/graphics/brew/IconBrew.cpp: Removed.
20776         * platform/graphics/brew/ImageBrew.cpp: Removed.
20777         * platform/graphics/brew/IntPointBrew.cpp: Removed.
20778         * platform/graphics/brew/IntSizeBrew.cpp: Removed.
20779         * platform/network/brew: Removed.
20780         * platform/network/brew/DNSBrew.cpp: Removed.
20781         * platform/network/brew/SocketStreamError.h: Removed.
20782         * platform/network/brew/SocketStreamHandle.h: Removed.
20783         * platform/network/brew/SocketStreamHandleBrew.cpp: Removed.
20784         * platform/network/brew/SocketStreamHandlePrivate.h: Removed.
20785         * platform/text/brew: Removed.
20786         * platform/text/brew/TextBoundariesBrew.cpp: Removed.
20787         * platform/text/brew/TextBreakIteratorBrew.cpp: Removed.
20788         * platform/text/brew/TextCodecBrew.cpp: Removed.
20789         * platform/text/brew/TextCodecBrew.h: Removed.
20790
20791 2011-09-25  Kentaro Hara  <haraken@chromium.org>
20792
20793         Implement a CloseEvent constructor for JSC
20794         https://bugs.webkit.org/show_bug.cgi?id=68340
20795
20796         Reviewed by Oliver Hunt.
20797
20798         The spec of the CloseEvent constructor is here:
20799         http://dev.w3.org/html5/websockets/#closeevent
20800
20801         Test: fast/events/constructors/close-event-constructor.html
20802
20803         * bindings/generic/EventConstructors.h: Added a definition for the CloseEvent constructor.
20804         * bindings/js/JSEventConstructors.cpp: Added #includes for CloseEvent.
20805         * websockets/CloseEvent.h: Added a definition for CloseEventInit.
20806         (WebCore::CloseEventInit::CloseEventInit):
20807         (WebCore::CloseEvent::create):
20808         (WebCore::CloseEvent::CloseEvent):
20809         * websockets/CloseEvent.idl: Makes CloseEvent constructible.
20810
20811 2011-09-25  Mark Rowe  <mrowe@apple.com>
20812
20813         <rdar://problem/10177824> IconDatabase’s use of ThreadCondition leads to assertion failures in the face of spurious wakeups
20814
20815         It's possible for ThreadCondition::wait to return spuriously without the condition having been signaled.
20816         When that happens we should immediately return to waiting rather than doing our normal work, as some of that
20817         work relies on wakeSyncThread having been called to signal the condition.
20818
20819         Reviewed by Sam Weinig.
20820
20821         * loader/icon/IconDatabase.cpp:
20822         (WebCore::IconDatabase::IconDatabase):
20823         (WebCore::IconDatabase::wakeSyncThread): Note that we have work for the sync thread to do.
20824         (WebCore::IconDatabase::syncThreadMainLoop): If we were woken with no work to do, immediately
20825         go back to waiting on the condition variable. Otherwise, reset m_syncThreadHasWorkToDo and then
20826         do that work. We also switch to moving m_disabledSuddenTerminationForSyncThread immediately in to
20827         our local shouldReenableSuddenTermination variable since it can be updated by other threads while
20828         we don't hold the lock. This makes it inappropriate to make assumptions about its value after dropping
20829         and reacquiring the lock.
20830         * loader/icon/IconDatabase.h:
20831
20832 2011-09-25  Dan Bernstein  <mitz@apple.com>
20833
20834         <rdar://problem/10156263> ASSERT in WebCore::FrameView::scheduleRelayoutOfSubtree
20835
20836         Reviewed by Sam Weinig.
20837
20838         Test: fast/dynamic/subtree-unrooted.html
20839
20840         * rendering/RenderObject.cpp:
20841         (WebCore::RenderObject::scheduleRelayout): Replaced the check that the renderer is parented,
20842         which was added in r21162, with a check that it is “rooted”.
20843
20844 2011-09-24  Abhishek Arya  <inferno@chromium.org>
20845
20846         Issues with merging block children of a ruby
20847         base with another ruby base having inline children. 
20848         https://bugs.webkit.org/show_bug.cgi?id=66124
20849
20850         Reviewed by Dan Bernstein.
20851
20852         Test: fast/ruby/ruby-base-merge-block-children-crash.html
20853
20854         * rendering/RenderRubyBase.cpp:
20855         (WebCore::RenderRubyBase::moveInlineChildren): add a firstChild()
20856         check to prevent empty anonymous block addition, just like
20857         moveBlockChildren method.
20858         * rendering/RenderRubyBase.cpp:
20859         (WebCore::RenderRubyBase::moveBlockChildren): This was incorrectly
20860         doing optimizations to see if current ruby base has only inline
20861         children before beforeChild and then trying to take out them from 
20862         their parent anonymous blocks. The problem is those inlines could
20863         be split and have continuations because of encountering a block
20864         inside inline flow. In those cases, we cannot take the inline out.
20865         So, we should just make children non-inline in the destination
20866         block and transfer the children as it-is.
20867         * rendering/RenderRubyBase.h: remove unncessary functions.
20868
20869 2011-09-25  Adam Barth  <abarth@webkit.org>
20870
20871         Remove PLATFORM(HAIKU) and associated code
20872         https://bugs.webkit.org/show_bug.cgi?id=68774
20873
20874         Reviewed by Sam Weinig.
20875
20876         As discussed on webkit-dev, the Haiku port has been inactive for over a
20877         year.  A year and a half ago, we discussed removing the port, but folks
20878         said they planned to work on it more.  That work does not appear to
20879         have happened in the intervening time.
20880
20881         * WebCore.gyp/WebCore.gyp:
20882         * WebCore.gypi:
20883         * bindings/js/ScriptControllerHaiku.cpp: Removed.
20884         * editing/haiku: Removed.
20885         * editing/haiku/EditorHaiku.cpp: Removed.
20886         * gyp/WebCore.gyp:
20887         * loader/cache/CachedFont.cpp:
20888         * page/EventHandler.cpp:
20889         (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
20890         * page/haiku: Removed.
20891         * page/haiku/DragControllerHaiku.cpp: Removed.
20892         * page/haiku/EventHandlerHaiku.cpp: Removed.
20893         * page/haiku/FrameHaiku.cpp: Removed.
20894         * platform/ContextMenuItem.h:
20895         * platform/Cursor.h:
20896         * platform/DragData.h:
20897         * platform/DragImage.h:
20898         * platform/PlatformKeyboardEvent.h:
20899         * platform/PlatformMenuDescription.h:
20900         * platform/PlatformMouseEvent.h:
20901         * platform/Widget.h:
20902         * platform/graphics/BitmapImage.h:
20903         * platform/graphics/Color.h:
20904         * platform/graphics/FloatPoint.h:
20905         * platform/graphics/FloatRect.h:
20906         * platform/graphics/Gradient.h:
20907         * platform/graphics/GraphicsContext.cpp:
20908         * platform/graphics/GraphicsContext.h:
20909         * platform/graphics/ImageBufferData.h:
20910         * platform/graphics/ImageSource.h:
20911         * platform/graphics/IntPoint.h:
20912         * platform/graphics/IntRect.h:
20913         * platform/graphics/IntSize.h:
20914         * platform/graphics/Path.h:
20915         * platform/graphics/Pattern.h:
20916         * platform/graphics/SimpleFontData.h:
20917         * platform/graphics/haiku: Removed.
20918         * platform/graphics/haiku/ColorHaiku.cpp: Removed.
20919         * platform/graphics/haiku/FloatPointHaiku.cpp: Removed.
20920         * platform/graphics/haiku/FloatRectHaiku.cpp: Removed.
20921         * platform/graphics/haiku/FontCacheHaiku.cpp: Removed.
20922         * platform/graphics/haiku/FontCustomPlatformData.cpp: Removed.
20923         * platform/graphics/haiku/FontCustomPlatformData.h: Removed.
20924         * platform/graphics/haiku/FontHaiku.cpp: Removed.
20925         * platform/graphics/haiku/FontPlatformData.h: Removed.
20926         * platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp: Removed.
20927         * platform/graphics/haiku/GradientHaiku.cpp: Removed.
20928         * platform/graphics/haiku/GraphicsContextHaiku.cpp: Removed.
20929         * platform/graphics/haiku/IconHaiku.cpp: Removed.
20930         * platform/graphics/haiku/ImageBufferDataHaiku.h: Removed.
20931         * platform/graphics/haiku/ImageBufferHaiku.cpp: Removed.
20932         * platform/graphics/haiku/ImageHaiku.cpp: Removed.
20933         * platform/graphics/haiku/IntPointHaiku.cpp: Removed.
20934         * platform/graphics/haiku/IntRectHaiku.cpp: Removed.
20935         * platform/graphics/haiku/IntSizeHaiku.cpp: Removed.
20936         * platform/graphics/haiku/PathHaiku.cpp: Removed.
20937         * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Removed.
20938         * platform/graphics/haiku/StillImageHaiku.cpp: Removed.
20939         * platform/graphics/haiku/StillImageHaiku.h: Removed.
20940         * platform/haiku: Removed.
20941         * platform/haiku/ClipboardHaiku.cpp: Removed.
20942         * platform/haiku/ClipboardHaiku.h: Removed.
20943         * platform/haiku/ContextMenuHaiku.cpp: Removed.
20944         * platform/haiku/ContextMenuItemHaiku.cpp: Removed.
20945         * platform/haiku/CookieJarHaiku.cpp: Removed.
20946         * platform/haiku/CursorHaiku.cpp: Removed.
20947         * platform/haiku/DragDataHaiku.cpp: Removed.
20948         * platform/haiku/DragImageHaiku.cpp: Removed.
20949         * platform/haiku/EventLoopHaiku.cpp: Removed.
20950         * platform/haiku/FileSystemHaiku.cpp: Removed.
20951         * platform/haiku/LocalizedStringsHaiku.cpp: Removed.
20952         * platform/haiku/LoggingHaiku.cpp: Removed.
20953         * platform/haiku/MIMETypeRegistryHaiku.cpp: Removed.
20954         * platform/haiku/PasteboardHaiku.cpp: Removed.
20955         * platform/haiku/PlatformKeyboardEventHaiku.cpp: Removed.
20956         * platform/haiku/PlatformMouseEventHaiku.cpp: Removed.
20957         * platform/haiku/PlatformWheelEventHaiku.cpp: Removed.
20958         * platform/haiku/PopupMenuHaiku.cpp: Removed.
20959         * platform/haiku/PopupMenuHaiku.h: Removed.
20960         * platform/haiku/RenderThemeHaiku.cpp: Removed.
20961         * platform/haiku/RenderThemeHaiku.h: Removed.
20962         * platform/haiku/ScreenHaiku.cpp: Removed.
20963         * platform/haiku/ScrollbarThemeHaiku.cpp: Removed.
20964         * platform/haiku/ScrollbarThemeHaiku.h: Removed.
20965         * platform/haiku/SearchPopupMenuHaiku.cpp: Removed.
20966         * platform/haiku/SearchPopupMenuHaiku.h: Removed.
20967         * platform/haiku/SharedBufferHaiku.cpp: Removed.
20968         * platform/haiku/SharedTimerHaiku.cpp: Removed.
20969         * platform/haiku/SoundHaiku.cpp: Removed.
20970         * platform/haiku/TemporaryLinkStubs.cpp: Removed.
20971         * platform/haiku/WidgetHaiku.cpp: Removed.
20972         * platform/image-decoders/haiku: Removed.
20973         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Removed.
20974         * platform/text/UnicodeRange.h:
20975         * platform/text/haiku: Removed.
20976         * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Removed.
20977
20978 2011-09-25  Adam Barth  <abarth@webkit.org>
20979
20980         Attempted build fixes for GTK and Qt.
20981
20982         * GNUmakefile.list.am:
20983         * WebCore.pro:
20984
20985 2011-09-24  Adam Barth  <abarth@webkit.org>
20986
20987         Always enable ENABLE(OFFLINE_WEB_APPLICATIONS)
20988         https://bugs.webkit.org/show_bug.cgi?id=68767
20989
20990         Reviewed by Eric Seidel.
20991
20992         As discussed on webkit-dev, almost everyone has this enable turned on
20993         and this feature is unlikely to be removed from the web platform given
20994         its popularity.
20995
20996         * CMakeLists.txt:
20997         * Configurations/FeatureDefines.xcconfig:
20998         * GNUmakefile.am:
20999         * GNUmakefile.list.am:
21000         * WebCore.exp.in:
21001         * WebCore.pro:
21002         * bindings/cpp/WebDOMEventTarget.cpp:
21003         (toWebKit):
21004         * bindings/js/JSEventTarget.cpp:
21005         (WebCore::toJS):
21006         (WebCore::toEventTarget):
21007         * bindings/v8/V8DOMWrapper.cpp:
21008         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
21009         * dom/EventTarget.cpp:
21010         (WebCore::EventTarget::toDOMApplicationCache):
21011         * dom/EventTarget.h:
21012         * features.pri:
21013         * history/PageCache.cpp:
21014         (WebCore::logCanCacheFrameDecision):
21015         (WebCore::PageCache::canCachePageContainingThisFrame):
21016         * html/HTMLHtmlElement.cpp:
21017         (WebCore::HTMLHtmlElement::insertedByParser):
21018         * html/HTMLHtmlElement.h:
21019         * html/HTMLMediaElement.cpp:
21020         (WebCore::createFileURLForApplicationCacheResource):
21021         (WebCore::HTMLMediaElement::loadResource):
21022         * html/ImageDocument.cpp:
21023         (WebCore::ImageDocument::createDocumentStructure):
21024         * html/MediaDocument.cpp:
21025         (WebCore::MediaDocumentParser::createDocumentStructure):
21026         * html/PluginDocument.cpp:
21027         (WebCore::PluginDocumentParser::createDocumentStructure):
21028         * html/parser/HTMLConstructionSite.cpp:
21029         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
21030         * inspector/InspectorApplicationCacheAgent.cpp:
21031         * inspector/InspectorApplicationCacheAgent.h:
21032         * inspector/InspectorController.cpp:
21033         (WebCore::InspectorController::InspectorController):
21034         (WebCore::InspectorController::connectFrontend):
21035         (WebCore::InspectorController::disconnectFrontend):
21036         * inspector/InspectorController.h:
21037         * inspector/InspectorInstrumentation.cpp:
21038         (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
21039         * inspector/InspectorInstrumentation.h:
21040         (WebCore::InspectorInstrumentation::networkStateChanged):
21041         (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
21042         * inspector/InstrumentingAgents.h:
21043         (WebCore::InstrumentingAgents::InstrumentingAgents):
21044         (WebCore::InstrumentingAgents::setInspectorApplicationCacheAgent):
21045         * inspector/WorkerInspectorController.cpp:
21046         (WebCore::WorkerInspectorController::connectFrontend):
21047         * inspector/generate-inspector-idl:
21048         * loader/DocumentLoader.cpp:
21049         (WebCore::DocumentLoader::DocumentLoader):
21050         (WebCore::DocumentLoader::mainReceivedError):
21051         (WebCore::DocumentLoader::stopLoading):
21052         (WebCore::DocumentLoader::detachFromFrame):
21053         (WebCore::DocumentLoader::handledOnloadEvents):
21054         * loader/DocumentLoader.h:
21055         (WebCore::DocumentLoader::applicationCacheHost):
21056         * loader/EmptyClients.h:
21057         (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
21058         * loader/FrameLoader.cpp:
21059         (WebCore::FrameLoader::loadResourceSynchronously):
21060         * loader/MainResourceLoader.cpp:
21061         (WebCore::MainResourceLoader::willSendRequest):
21062         (WebCore::MainResourceLoader::didReceiveResponse):
21063         (WebCore::MainResourceLoader::didReceiveData):
21064         (WebCore::MainResourceLoader::didFinishLoading):
21065         (WebCore::MainResourceLoader::didFail):
21066         (WebCore::MainResourceLoader::load):
21067         * loader/ResourceLoader.cpp:
21068         (WebCore::ResourceLoader::start):
21069         (WebCore::ResourceLoader::willSendRequest):
21070         (WebCore::ResourceLoader::didSendData):
21071         (WebCore::ResourceLoader::didReceiveResponse):
21072         (WebCore::ResourceLoader::didReceiveData):
21073         (WebCore::ResourceLoader::didFinishLoading):
21074         (WebCore::ResourceLoader::didFail):
21075         (WebCore::ResourceLoader::wasBlocked):
21076         (WebCore::ResourceLoader::cannotShowURL):
21077         (WebCore::ResourceLoader::shouldUseCredentialStorage):
21078         (WebCore::ResourceLoader::willCacheResponse):
21079         * loader/ResourceLoader.h:
21080         * loader/appcache/ApplicationCache.cpp:
21081         * loader/appcache/ApplicationCache.h:
21082         * loader/appcache/ApplicationCacheGroup.cpp:
21083         * loader/appcache/ApplicationCacheGroup.h:
21084         * loader/appcache/ApplicationCacheHost.cpp:
21085         * loader/appcache/ApplicationCacheHost.h:
21086         * loader/appcache/ApplicationCacheResource.cpp:
21087         * loader/appcache/ApplicationCacheResource.h:
21088         * loader/appcache/ApplicationCacheStorage.cpp:
21089         * loader/appcache/ApplicationCacheStorage.h:
21090         * loader/appcache/DOMApplicationCache.cpp:
21091         * loader/appcache/DOMApplicationCache.h:
21092         * loader/appcache/DOMApplicationCache.idl:
21093         * loader/appcache/ManifestParser.cpp:
21094         (WebCore::parseManifest):
21095         * loader/appcache/ManifestParser.h:
21096         * loader/chromium/ResourceLoaderChromium.cpp:
21097         (WebCore::ResourceLoader::didDownloadData):
21098         * page/ChromeClient.h:
21099         * page/DOMWindow.cpp:
21100         (WebCore::DOMWindow::clear):
21101         (WebCore::DOMWindow::applicationCache):
21102         * page/DOMWindow.h:
21103         (WebCore::DOMWindow::optionalApplicationCache):
21104         * page/DOMWindow.idl:
21105         * xml/parser/XMLDocumentParserLibxml2.cpp:
21106         (WebCore::XMLDocumentParser::startElementNs):
21107         * xml/parser/XMLDocumentParserQt.cpp:
21108         (WebCore::XMLDocumentParser::parseStartElement):
21109
21110 2011-09-24  Adam Barth  <abarth@webkit.org>
21111
21112         Remove ENABLE(WCSS) and associated code
21113         https://bugs.webkit.org/show_bug.cgi?id=68759
21114
21115         Reviewed by Darin Adler.
21116
21117         As discussed on webkit-dev, we are removing this feature from trunk to
21118         reduce the number of different configurations.
21119
21120         * CodeGenerators.pri:
21121         * GNUmakefile.am:
21122         * WebCore.pro:
21123         * css/CSSParser.cpp:
21124         (WebCore::CSSParser::parseValue):
21125         * css/CSSParser.h:
21126         * css/CSSPrimitiveValueMappings.h:
21127         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
21128         * css/CSSStyleSelector.cpp:
21129         (WebCore::CSSStyleSelector::applyProperty):
21130         * css/WCSSPropertyNames.in: Removed.
21131         * css/WCSSValueKeywords.in: Removed.
21132         * features.pri:
21133         * html/HTMLInputElement.cpp:
21134         (WebCore::HTMLInputElement::HTMLInputElement):
21135         * html/HTMLInputElement.h:
21136         * html/TextFieldInputType.cpp:
21137         (WebCore::TextFieldInputType::sanitizeValue):
21138         (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
21139         * rendering/RenderMarquee.cpp:
21140         (WebCore::RenderMarquee::start):
21141         * rendering/RenderObject.cpp:
21142         (WebCore::RenderObject::createObject):
21143         * rendering/style/RenderStyleConstants.h:
21144
21145 2011-09-24  Young Han Lee  <joybro@company100.net>
21146
21147         SVGAnimation does not support 'values' for from-to animations
21148         https://bugs.webkit.org/show_bug.cgi?id=64859
21149
21150         Reviewed by Dirk Schulze.
21151
21152         If from-to animation have discrete calc-mode and have a 'keyTimes' list, values of
21153         the keyTimes indicate the begin and the end of the animation respectively.[1][2]
21154
21155         When keyTimes is given, calculate the progress percentage of the animation with it
21156         even for from-to animation.
21157
21158         [1] http://www.w3.org/TR/SVG/animate.html#ValueAttributes
21159         [2] http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncValues
21160
21161         Test: svg/animations/animate-from-to-keyTimes.html
21162
21163         * svg/SVGAnimationElement.cpp:
21164         (WebCore::SVGAnimationElement::calculatePercentForFromTo):
21165         (WebCore::SVGAnimationElement::updateAnimation):
21166         * svg/SVGAnimationElement.h:
21167
21168 2011-09-23  Chris Fleizach  <cfleizach@apple.com>
21169
21170         WebKit does not expose AXPlaceholder value on password fields
21171         https://bugs.webkit.org/show_bug.cgi?id=68745
21172
21173         Reviewed by Oliver Hunt.
21174
21175         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
21176         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
21177
21178 2011-09-23  Mark Rowe  <mrowe@apple.com>
21179
21180         Fix the build.
21181
21182         * loader/CrossOriginAccessControl.cpp:
21183         (WebCore::passesAccessControlCheck): Get rid of the exit-time destructor.
21184
21185 2011-09-23  Adam Barth  <abarth@webkit.org>
21186
21187         Canvas security checks show up on HTML5GamingTest benchmark
21188         https://bugs.webkit.org/show_bug.cgi?id=68743
21189
21190         Reviewed by Oliver Hunt.
21191
21192         Prior to this patch, the canvas security checks took as much as 4% of
21193         the time on the HTML5GamingTest benchmark:
21194
21195         http://craftymind.com/factory/guimark2/HTML5GamingTest.html
21196
21197         This patch uses a couple of AtomicStrings and shuffles around the order
21198         of the security check to take this down to around 0.1% (which is near
21199         the noise floor of what I can measure with my profiler).
21200
21201         * html/canvas/CanvasRenderingContext.cpp:
21202         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
21203         * loader/CrossOriginAccessControl.cpp:
21204         (WebCore::passesAccessControlCheck):
21205
21206 2011-09-23  Justin Novosad  <junov@chromium.org>
21207
21208         Unwarranted DOM Exception when canvas2D drawImage is called with src
21209         rect out of bounds
21210         https://bugs.webkit.org/show_bug.cgi?id=65709
21211
21212         Reviewed by Oliver Hunt.
21213
21214         * html/canvas/CanvasRenderingContext2D.cpp:
21215         (WebCore::CanvasRenderingContext2D::drawImage):
21216         Return early without throwing an exception if source rectangle is out of 
21217         bounds to match the spec.
21218
21219 2011-09-23  Lukasz Slachciak  <l.slachciak@samsung.com>
21220
21221         Printing of notImplemented() when logging enabled.
21222         https://bugs.webkit.org/show_bug.cgi?id=64590
21223
21224         Printing of notImplemented() method was enabled on Debug builds only.
21225         Now it is enabled when logging is enabled.
21226
21227         Reviewed by Oliver Hunt.
21228
21229         No new tests because there is no new functionality.
21230
21231         * platform/NotImplemented.h: Non-debug mode replaced with non-logging mode.
21232
21233 2011-09-23  Mihai Parparita  <mihaip@chromium.org>
21234
21235         [Chromium] REGRESSION (r95725): Resizing a window doesn't resize the contents
21236         https://bugs.webkit.org/show_bug.cgi?id=68730
21237
21238         Reviewed by James Robinson.
21239
21240         Adds a missing contentsResized() call in ScrollView::setFrameRect.
21241
21242         Test: fast/dom/Window/window-resize-contents.html
21243
21244         * platform/ScrollView.cpp:
21245         (WebCore::ScrollView::setFrameRect):
21246
21247 2011-09-23  Adam Klein  <adamk@chromium.org>
21248
21249         Add ENABLE_MUTATION_OBSERVERS feature flag
21250         https://bugs.webkit.org/show_bug.cgi?id=68732
21251
21252         Reviewed by Ojan Vafai.
21253
21254         This flag will guard an implementation of the "Mutation Observers" proposed in
21255         http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html
21256
21257         * Configurations/FeatureDefines.xcconfig:
21258         * GNUmakefile.am:
21259
21260 2011-09-23  Varun Jain  <varunjain@google.com>
21261
21262         Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests 
21263         https://bugs.webkit.org/show_bug.cgi?id=68198
21264
21265         Reviewed by Dimitri Glazkov.
21266
21267         Tests: fast/dom/scroll-element-to-rect-centered.html
21268                fast/dom/scroll-element-to-rect.html
21269
21270         * WebCore.exp.in:
21271         * page/FrameView.cpp:
21272         (WebCore::FrameView::scrollElementToRect):
21273         * page/FrameView.h:
21274         * testing/Internals.cpp:
21275         (WebCore::Internals::scrollElementToRect):
21276         * testing/Internals.h:
21277         * testing/Internals.idl:
21278
21279 2011-09-23  Mihai Parparita  <mihaip@chromium.org>
21280
21281         Unreviewed, rolling out r95860.
21282         http://trac.webkit.org/changeset/95860
21283         https://bugs.webkit.org/show_bug.cgi?id=68648
21284
21285         Breaks overhang rendering on Chromium Mac
21286
21287         * platform/chromium/ScrollbarThemeChromium.cpp:
21288         * platform/chromium/ScrollbarThemeChromium.h:
21289         * platform/chromium/ScrollbarThemeChromiumMac.h:
21290         * platform/chromium/ScrollbarThemeChromiumMac.mm:
21291         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
21292         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
21293
21294 2011-09-23  Dean Jackson  <dino@apple.com>
21295
21296         Add -webkit-filter to CSSPropertyNames
21297         https://bugs.webkit.org/show_bug.cgi?id=68675
21298
21299         Reviewed by Simon Fraser.
21300
21301         Add property and rudimentary parsing for -webkit-filter. The
21302         property value isn't preserved anywhere yet. Add
21303         stub definition for computed style.
21304
21305         Test: css3/filters/filter-property.html
21306
21307         * css/CSSComputedStyleDeclaration.cpp:
21308         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
21309         * css/CSSParser.cpp:
21310         (WebCore::CSSParser::parseValue):
21311         (WebCore::CSSParser::parseFilter):
21312         * css/CSSParser.h:
21313         * css/CSSPropertyNames.in:
21314         * css/CSSStyleSelector.cpp:
21315         (WebCore::CSSStyleSelector::applyProperty):
21316
21317 2011-09-23  Antoine Labour  <piman@chromium.org>
21318
21319         Remove preserves3D() from CCLayerDelegate, replacing it by setting the
21320         value explicitly after creating a layer, or setting its delegate.
21321         https://bugs.webkit.org/show_bug.cgi?id=68295
21322
21323         Reviewed by James Robinson.
21324
21325         Covered by compositing/ layeout tests.
21326
21327         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
21328         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
21329         (WebCore::GraphicsLayerChromium::setContentsToMedia):
21330         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
21331         (WebCore::GraphicsLayerChromium::setupContentsLayer):
21332         * platform/graphics/chromium/GraphicsLayerChromium.h:
21333         * platform/graphics/chromium/LayerChromium.cpp:
21334         (WebCore::LayerChromium::LayerChromium):
21335         * platform/graphics/chromium/LayerChromium.h:
21336         (WebCore::LayerChromium::setPreserves3D):
21337         (WebCore::LayerChromium::preserves3D):
21338
21339 2011-09-23  Julien Chaffraix  <jchaffraix@webkit.org>
21340
21341         Implicit conversion double to float in ShadowBlur::adjustBlurRadius
21342         https://bugs.webkit.org/show_bug.cgi?id=68722
21343
21344         Reviewed by Simon Fraser.
21345
21346         * platform/graphics/ShadowBlur.cpp:
21347         (WebCore::ShadowBlur::adjustBlurRadius): Added 2 explicit
21348         conversions.
21349
21350 2011-09-23  Dan Bernstein  <mitz@apple.com>
21351
21352         <rdar://problem/10178576> REGRESSION (r95391): Crash in -[WebCascadeList objectAtIndex:] when a font-family list contains missing fonts
21353         https://bugs.webkit.org/show_bug.cgi?id=68737
21354
21355         Reviewed by Darin Adler.
21356
21357         Test: fast/text/combining-character-sequence-fallback-crash.html
21358
21359         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
21360         (-[WebCascadeList initWithFont:WebCore::character:]): Changed to intialize _count to the exact
21361         number of FontData instances in the fallback list rather than the number of font families in the
21362         font description.
21363
21364 2011-09-23  David Reveman  <reveman@chromium.org>
21365
21366         [Chromium] Fix CSS 3D corner anti-aliasing.
21367         https://bugs.webkit.org/show_bug.cgi?id=68087
21368
21369         Reviewed by James Robinson.
21370
21371         Render sharp corners more correctly by adding bounding box
21372         edges to anti-aliasing shaders.
21373
21374         Test: platform/chromium/compositing/3d-corners.html
21375
21376         * platform/graphics/chromium/ShaderChromium.cpp:
21377         (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
21378         (WebCore::FragmentShaderRGBATexClampAlphaAA::getShaderString):
21379         (WebCore::FragmentShaderRGBATexClampSwizzleAlphaAA::getShaderString):
21380         (WebCore::FragmentShaderRGBATexAlphaMaskAA::getShaderString):
21381         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
21382         (WebCore::CCRenderSurface::drawLayer):
21383         (WebCore::CCRenderSurface::drawSurface):
21384         * platform/graphics/chromium/cc/CCRenderSurface.h:
21385         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
21386         (WebCore::CCTiledLayerImpl::draw):
21387         (WebCore::CCTiledLayerImpl::drawTiles):
21388         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
21389
21390 2011-09-23  Oliver Hunt  <oliver@apple.com>
21391
21392         Make write barriers actually do something when enabled
21393         https://bugs.webkit.org/show_bug.cgi?id=68717
21394
21395         Reviewed by Geoffrey Garen.
21396
21397         Add a forwarding header, and fix an evaluation ordering
21398         issue that shows up if you try to use write barriers.
21399
21400         * ForwardingHeaders/heap/CardSet.h: Added.
21401         * bindings/js/JSEventListener.h:
21402         (WebCore::JSEventListener::jsFunction):
21403
21404 2011-09-23  James Robinson  <jamesr@chromium.org>
21405
21406         Avoid updating compositing state during paint
21407         https://bugs.webkit.org/show_bug.cgi?id=68727
21408
21409         Reviewed by Simon Fraser.
21410
21411         We shouldn't update our compositing state in the middle of a paint. The call to
21412         updateCompositingAndLayerListsIfNeeded() was added to RenderLayer::paintLayer in r45715, which was intended to
21413         fix this exact issue. Based off the ChangeLog entries, I think that this was just a typo.
21414
21415         * rendering/RenderLayer.cpp:
21416         (WebCore::RenderLayer::paintLayer):
21417         (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
21418         * rendering/RenderLayerCompositor.cpp:
21419         (WebCore::RenderLayerCompositor::updateCompositingLayers):
21420         * rendering/RenderLayerCompositor.h:
21421
21422 2011-09-23  Fady Samuel  <fsamuel@chromium.org>
21423
21424         Refactor paintOverhangAreas to allow non-Mac Chromium platforms to reuse code
21425         https://bugs.webkit.org/show_bug.cgi?id=68648
21426
21427         Reviewed by Dimitri Glazkov.
21428
21429         No new tests because there's no change in functionality (yet).
21430
21431         * platform/chromium/ScrollbarThemeChromium.cpp:
21432         (WebCore::ScrollbarThemeChromium::ScrollbarThemeChromium):
21433         (WebCore::ScrollbarThemeChromium::~ScrollbarThemeChromium):
21434         (WebCore::ScrollbarThemeChromium::paintOverhangAreas):
21435         * platform/chromium/ScrollbarThemeChromium.h:
21436         * platform/chromium/ScrollbarThemeChromiumMac.h:
21437         * platform/chromium/ScrollbarThemeChromiumMac.mm:
21438         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
21439
21440 2011-09-23  Ojan Vafai  <ojan@chromium.org>
21441
21442         remove physical flex-flow values to match the updated spec
21443         https://bugs.webkit.org/show_bug.cgi?id=68728
21444
21445         Reviewed by Tony Chang.
21446
21447         * css/CSSParser.cpp:
21448         (WebCore::CSSParser::parseValue):
21449         * css/CSSPrimitiveValueMappings.h:
21450         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
21451         (WebCore::CSSPrimitiveValue::operator EFlexFlow):
21452         * css/CSSValueKeywords.in:
21453         * rendering/style/RenderStyleConstants.h:
21454
21455 2011-09-23  Abhishek Arya  <inferno@chromium.org>
21456
21457         Style not updated for :before, :after content
21458         in ruby text.
21459         https://bugs.webkit.org/show_bug.cgi?id=68625
21460
21461         Reviewed by Dave Hyatt.
21462
21463         Test: fast/ruby/ruby-text-before-after-content.html
21464
21465         * rendering/RenderRubyText.cpp:
21466         (WebCore::RenderRubyText::updateBeforeAfterContent):
21467         * rendering/RenderRubyText.h:
21468
21469 2011-09-22  Ojan Vafai  <ojan@chromium.org>
21470
21471         refactor RenderFlexibleBox to use flex-flow aware methods
21472         https://bugs.webkit.org/show_bug.cgi?id=68665
21473
21474         Reviewed by Tony Chang.
21475
21476         This is just a refactor. Just move the all the code that needs to
21477         be flow aware into helper functions. Actually making them flow-aware
21478         can be done in a followup patch.
21479
21480         * rendering/RenderBlock.cpp:
21481         * rendering/RenderBlock.h:
21482         Moved setLogicalLocationForChild into RenderFlexibleBox since that was the only caller.
21483         * rendering/RenderFlexibleBox.cpp:
21484         (WebCore::RenderFlexibleBox::hasOrthogonalFlow):
21485         (WebCore::RenderFlexibleBox::isHorizontalFlow):
21486         (WebCore::RenderFlexibleBox::isLeftToRightFlow):
21487         (WebCore::RenderFlexibleBox::setFlowAwareLogicalHeight):
21488         (WebCore::RenderFlexibleBox::flowAwareLogicalHeightForChild):
21489         (WebCore::RenderFlexibleBox::flowAwareLogicalWidthForChild):
21490         (WebCore::RenderFlexibleBox::flowAwareLogicalHeight):
21491         (WebCore::RenderFlexibleBox::flowAwareContentLogicalWidth):
21492         (WebCore::RenderFlexibleBox::flowAwareAvailableLogicalWidth):
21493         (WebCore::RenderFlexibleBox::flowAwareBorderStart):
21494         (WebCore::RenderFlexibleBox::flowAwareBorderBefore):
21495         (WebCore::RenderFlexibleBox::flowAwareBorderAfter):
21496         (WebCore::RenderFlexibleBox::flowAwarePaddingStart):
21497         (WebCore::RenderFlexibleBox::flowAwarePaddingBefore):
21498         (WebCore::RenderFlexibleBox::flowAwarePaddingAfter):
21499         (WebCore::RenderFlexibleBox::flowAwareMarginStartForChild):
21500         (WebCore::RenderFlexibleBox::flowAwareMarginBeforeForChild):
21501         (WebCore::RenderFlexibleBox::flowAwareMarginAfterForChild):
21502         (WebCore::RenderFlexibleBox::setFlowAwareMarginStartForChild):
21503         (WebCore::RenderFlexibleBox::setFlowAwareMarginEndForChild):
21504         (WebCore::RenderFlexibleBox::setFlowAwareLogicalLocationForChild):
21505         (WebCore::RenderFlexibleBox::logicalBorderAndPaddingWidthForChild):
21506         (WebCore::RenderFlexibleBox::logicalScrollbarHeightForChild):
21507         (WebCore::RenderFlexibleBox::marginStartStyleForChild):
21508         (WebCore::RenderFlexibleBox::marginEndStyleForChild):
21509         (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
21510         (WebCore::RenderFlexibleBox::layoutInlineDirection):
21511         (WebCore::RenderFlexibleBox::logicalPositiveFlexForChild):
21512         (WebCore::RenderFlexibleBox::logicalNegativeFlexForChild):
21513         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
21514         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
21515         (WebCore::RenderFlexibleBox::setLogicalOverrideSize):
21516         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
21517         * rendering/RenderFlexibleBox.h:
21518
21519 2011-09-23  David Hyatt  <hyatt@apple.com>
21520
21521         https://bugs.webkit.org/show_bug.cgi?id=68719
21522         
21523         Push through multiple regions when an object doesn't fit in any of them. Unlike with pages and
21524         columns, when regions have a non-uniform height, we may need to push through multiple regions
21525         in order to find one that fits.
21526         
21527         Added an optimization for quickly noticing if regions do have a uniform height so that we can
21528         treat them like columns and pages if so.
21529
21530         Also fixed the end line matchup to properly null out endLine when no next line box exists. The new
21531         layout tests I wrote to cover this feature exposed this crasher, so fixing it in order to land
21532         the new tests.
21533
21534         Reviewed by Anders Carlsson.
21535
21536         Added new tests in fast/regions.
21537
21538         * rendering/RenderBlock.cpp:
21539         (WebCore::RenderBlock::adjustForUnsplittableChild):
21540         (WebCore::RenderBlock::pushToNextPageWithMinimumLogicalHeight):
21541         (WebCore::RenderBlock::adjustLinePositionForPagination):
21542         * rendering/RenderBlock.h:
21543         * rendering/RenderBlockLineLayout.cpp:
21544         (WebCore::RenderBlock::matchedEndLine):
21545         * rendering/RenderFlowThread.cpp:
21546         (WebCore::RenderFlowThread::RenderFlowThread):
21547         (WebCore::RenderFlowThread::layout):
21548         * rendering/RenderFlowThread.h:
21549
21550 2011-09-23  Konstantin Scheglov  <scheglov@google.com>
21551
21552         Redrawing dirty parts of a large table is very slow
21553         https://bugs.webkit.org/show_bug.cgi?id=64546
21554
21555         Reviewed by David Hyatt.
21556
21557         Move CollapsedBorderValues into RenderTable.h.
21558         Calculate collapsed borders only once and re-use during paintObject().
21559         Invalidate cache when cell, row, row group, col, col group or table border is changed.
21560
21561         Tests: fast/table/border-collapsing/cached-cell-append.html
21562                fast/table/border-collapsing/cached-cell-remove.html
21563                fast/table/border-collapsing/cached-change-cell-border-color.html
21564                fast/table/border-collapsing/cached-change-cell-border-width.html
21565                fast/table/border-collapsing/cached-change-col-border-color.html
21566                fast/table/border-collapsing/cached-change-col-border-width.html
21567                fast/table/border-collapsing/cached-change-colgroup-border-color.html
21568                fast/table/border-collapsing/cached-change-colgroup-border-width.html
21569                fast/table/border-collapsing/cached-change-row-border-color.html
21570                fast/table/border-collapsing/cached-change-row-border-width.html
21571                fast/table/border-collapsing/cached-change-table-border-color.html
21572                fast/table/border-collapsing/cached-change-table-border-width.html
21573                fast/table/border-collapsing/cached-change-tbody-border-color.html
21574                fast/table/border-collapsing/cached-change-tbody-border-width.html
21575
21576         * rendering/RenderTable.cpp:
21577         (WebCore::RenderTable::RenderTable):
21578         (WebCore::RenderTable::styleDidChange): Invalidate cache on border change.
21579         (WebCore::RenderTable::layout): Invalidate cache if layout changed.
21580         (WebCore::RenderTable::recalcCollapsedBorders): Ensures that cache is valid.
21581         (WebCore::RenderTable::paintObject): Use cached collapsed borders.
21582         * rendering/RenderTable.h:
21583         (WebCore::RenderTable::invalidateCollapsedBorders): Accessor to mark cache invalid.
21584         (WebCore::RenderTable::currentBorderValue): Rename to use word "value".
21585         * rendering/RenderTableCell.cpp:
21586         (WebCore::RenderTableCell::styleDidChange): If border changed, invalidate cache.
21587
21588         Rename to use word "value".
21589         (WebCore::addBorderStyle):
21590         (WebCore::RenderTableCell::collectBorderValues):
21591         (WebCore::compareBorderValuesForQSort):
21592         (WebCore::RenderTableCell::sortBorderValues):
21593         (WebCore::RenderTableCell::paintCollapsedBorder):
21594         * rendering/RenderTableCell.h:
21595         
21596         If border changed, invalidate cache.
21597         * rendering/RenderTableCol.cpp:
21598         (WebCore::RenderTableCol::styleDidChange):
21599         * rendering/RenderTableCol.h:
21600         * rendering/RenderTableRow.cpp:
21601         (WebCore::RenderTableRow::styleDidChange):
21602         * rendering/RenderTableSection.cpp:
21603         (WebCore::RenderTableSection::styleDidChange):
21604
21605 2011-09-23  Mark Hahnenberg  <mhahnenberg@apple.com>
21606
21607         Add static version of JSCell::visitChildren
21608         https://bugs.webkit.org/show_bug.cgi?id=68404
21609
21610         Reviewed by Darin Adler.
21611
21612         No new tests.
21613
21614         In this patch we just extract the bodies of the virtual visitChildren methods
21615         throughout the JSCell inheritance hierarchy out into static methods, which are 
21616         now called from the virtual methods.  This is an intermediate step in trying to 
21617         move the virtual-ness of visitChildren into our own custom vtable stored in 
21618         ClassInfo.  We need to convert the methods to static methods in order to be 
21619         able to more easily store and refer to them in our custom vtable since normal 
21620         member methods store some implicit information in their types, making it 
21621         impossible to store them generically in ClassInfo.
21622
21623         * WebCore.exp.in:
21624         * bindings/js/JSAttrCustom.cpp:
21625         (WebCore::JSAttr::visitChildrenVirtual):
21626         (WebCore::JSAttr::visitChildren):
21627         * bindings/js/JSAudioContextCustom.cpp:
21628         (WebCore::JSAudioContext::visitChildrenVirtual):
21629         (WebCore::JSAudioContext::visitChildren):
21630         * bindings/js/JSCSSRuleCustom.cpp:
21631         (WebCore::JSCSSRule::visitChildrenVirtual):
21632         (WebCore::JSCSSRule::visitChildren):
21633         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
21634         (WebCore::JSCSSStyleDeclaration::visitChildrenVirtual):
21635         (WebCore::JSCSSStyleDeclaration::visitChildren):
21636         * bindings/js/JSCanvasRenderingContextCustom.cpp:
21637         (WebCore::JSCanvasRenderingContext::visitChildrenVirtual):
21638         (WebCore::JSCanvasRenderingContext::visitChildren):
21639         * bindings/js/JSDOMGlobalObject.cpp:
21640         (WebCore::JSDOMGlobalObject::visitChildrenVirtual):
21641         (WebCore::JSDOMGlobalObject::visitChildren):
21642         * bindings/js/JSDOMGlobalObject.h:
21643         * bindings/js/JSDOMWindowCustom.cpp:
21644         (WebCore::JSDOMWindow::visitChildrenVirtual):
21645         (WebCore::JSDOMWindow::visitChildren):
21646         * bindings/js/JSDOMWindowShell.cpp:
21647         (WebCore::JSDOMWindowShell::visitChildrenVirtual):
21648         (WebCore::JSDOMWindowShell::visitChildren):
21649         * bindings/js/JSDOMWindowShell.h:
21650         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
21651         (WebCore::JSJavaScriptAudioNode::visitChildrenVirtual):
21652         (WebCore::JSJavaScriptAudioNode::visitChildren):
21653         * bindings/js/JSMessageChannelCustom.cpp:
21654         (WebCore::JSMessageChannel::visitChildrenVirtual):
21655         (WebCore::JSMessageChannel::visitChildren):
21656         * bindings/js/JSMessagePortCustom.cpp:
21657         (WebCore::JSMessagePort::visitChildrenVirtual):
21658         (WebCore::JSMessagePort::visitChildren):
21659         * bindings/js/JSNamedNodeMapCustom.cpp:
21660         (WebCore::JSNamedNodeMap::visitChildrenVirtual):
21661         (WebCore::JSNamedNodeMap::visitChildren):
21662         * bindings/js/JSNodeCustom.cpp:
21663         (WebCore::JSNode::visitChildrenVirtual):
21664         (WebCore::JSNode::visitChildren):
21665         * bindings/js/JSNodeFilterCustom.cpp:
21666         (WebCore::JSNodeFilter::visitChildrenVirtual):
21667         (WebCore::JSNodeFilter::visitChildren):
21668         * bindings/js/JSNodeIteratorCustom.cpp:
21669         (WebCore::JSNodeIterator::visitChildrenVirtual):
21670         (WebCore::JSNodeIterator::visitChildren):
21671         * bindings/js/JSSVGElementInstanceCustom.cpp:
21672         (WebCore::JSSVGElementInstance::visitChildrenVirtual):
21673         (WebCore::JSSVGElementInstance::visitChildren):
21674         * bindings/js/JSSharedWorkerCustom.cpp:
21675         (WebCore::JSSharedWorker::visitChildrenVirtual):
21676         (WebCore::JSSharedWorker::visitChildren):
21677         * bindings/js/JSStyleSheetCustom.cpp:
21678         (WebCore::JSStyleSheet::visitChildrenVirtual):
21679         (WebCore::JSStyleSheet::visitChildren):
21680         * bindings/js/JSTreeWalkerCustom.cpp:
21681         (WebCore::JSTreeWalker::visitChildrenVirtual):
21682         (WebCore::JSTreeWalker::visitChildren):
21683         * bindings/js/JSWebGLRenderingContextCustom.cpp:
21684         (WebCore::JSWebGLRenderingContext::visitChildrenVirtual):
21685         (WebCore::JSWebGLRenderingContext::visitChildren):
21686         * bindings/js/JSWorkerContextCustom.cpp:
21687         (WebCore::JSWorkerContext::visitChildrenVirtual):
21688         (WebCore::JSWorkerContext::visitChildren):
21689         * bindings/js/JSXMLHttpRequestCustom.cpp:
21690         (WebCore::JSXMLHttpRequest::visitChildrenVirtual):
21691         (WebCore::JSXMLHttpRequest::visitChildren):
21692         * bindings/js/JSXPathResultCustom.cpp:
21693         (WebCore::JSXPathResult::visitChildrenVirtual):
21694         (WebCore::JSXPathResult::visitChildren):
21695         * bindings/scripts/CodeGeneratorJS.pm:
21696         (GenerateHeader):
21697         (GenerateImplementation):
21698         * bindings/scripts/test/JS/JSTestObj.cpp:
21699         (WebCore::JSTestObj::visitChildrenVirtual):
21700         (WebCore::JSTestObj::visitChildren):
21701         * bindings/scripts/test/JS/JSTestObj.h:
21702         * bridge/qt/qt_instance.cpp:
21703         (JSC::Bindings::QtRuntimeObject::visitChildrenVirtual):
21704         (JSC::Bindings::QtRuntimeObject::visitChildren):
21705         * bridge/qt/qt_runtime.cpp:
21706         (JSC::Bindings::QtRuntimeMetaMethod::visitChildrenVirtual):
21707         (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
21708         * bridge/qt/qt_runtime.h:
21709         * workers/WorkerContext.h:
21710
21711 2011-09-23  Mario Sanchez Prada  <msanchez@igalia.com>
21712
21713         [GTK] Remove extra space at the beginning of the last line.
21714         https://bugs.webkit.org/show_bug.cgi?id=68710
21715
21716         Reviewed by Gustavo Noronha Silva.
21717
21718         * platform/network/soup/SocketStreamHandleSoup.cpp:
21719
21720 2011-09-23  Mario Sanchez Prada  <msanchez@igalia.com>
21721
21722         [GTK] Fix coding style issues in ResourceRequestSoup.cpp
21723         https://bugs.webkit.org/show_bug.cgi?id=68707
21724
21725         Reviewed by Xan Lopez.
21726
21727         This patch fixes some issues as reported by check-webkit-style.
21728
21729         * platform/network/soup/ResourceRequestSoup.cpp:
21730         (WebCore::ResourceRequest::updateFromSoupMessage):
21731
21732 2011-09-22  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
21733
21734         Unreviewed: [Qt] Workaround MSVC2010 problems when linking QtWebKit
21735
21736         Include MSVC2010 in the list of compilers where incremental
21737         build is disabled (INCREMENTAL:NO).
21738
21739         Change suggested by Simo Falt <simo.falt@nokia.com>, already present
21740         in the Qt-4.8 repository where the problem was identified.
21741
21742         * WebCore.pri:
21743
21744 2011-09-23  Darin Adler  <darin@apple.com>
21745
21746         Try to fix warning seen in some 32-bit builds.
21747
21748         * rendering/RenderBoxModelObject.cpp:
21749         (WebCore::backgroundRectAdjustedForBleedAvoidance):
21750         Use an explicit cast for the conversion from a double to a LayoutUnit.
21751
21752 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
21753
21754         Web Inspector: Clicking on error doesn't point on the correct line if user searched something
21755         https://bugs.webkit.org/show_bug.cgi?id=68627
21756
21757         Reviewed by Yury Semikhatsky.
21758
21759         * inspector/front-end/SearchController.js:
21760         (WebInspector.SearchController.prototype.disableSearchUntilExplicitAction):
21761         * inspector/front-end/inspector.js:
21762         (WebInspector._showAnchorLocationInPanel):
21763
21764 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
21765
21766         Web Inspector: InspectorStyleSheet should use stylesheet's original url, not final one.
21767         https://bugs.webkit.org/show_bug.cgi?id=68631
21768
21769         Reviewed by Yury Semikhatsky.
21770
21771         Test: http/tests/inspector/styles/styles-redirected-css.html
21772
21773         * inspector/InspectorStyleSheet.cpp:
21774         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
21775
21776 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
21777
21778         Web Inspector: XHRs requests with the same url as main resource should have correct category.
21779         https://bugs.webkit.org/show_bug.cgi?id=68646
21780
21781         Reviewed by Yury Semikhatsky.
21782
21783         Test: http/tests/inspector/network/network-xhr-same-url-as-main-resource.html
21784
21785         * inspector/InspectorResourceAgent.cpp:
21786         (WebCore::InspectorResourceAgent::didReceiveResponse):
21787
21788 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
21789
21790         Web Inspector: Add context menu action to navigate from resources panel resource to network panel.
21791         https://bugs.webkit.org/show_bug.cgi?id=68657
21792
21793         Reviewed by Yury Semikhatsky.
21794
21795         * English.lproj/localizedStrings.js:
21796         * inspector/front-end/NetworkPanel.js:
21797         (WebInspector.NetworkPanel.prototype.showAnchorLocation):
21798         (WebInspector.NetworkPanel.prototype.revealAndHighlightResource):
21799         * inspector/front-end/ResourcesPanel.js:
21800         (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
21801         (WebInspector.FrameResourceTreeElement.prototype._appendOpenInNetworkPanelAction):
21802         * inspector/front-end/inspector.js:
21803         (WebInspector.openInNetworkPanelLabel):
21804         (WebInspector.openRequestInNetworkPanel):
21805
21806 2011-09-23  Deepak Sherveghar  <bpwv64@motorola.com>
21807
21808         [Gtk] Title attribute is not respected on option elements.
21809         https://bugs.webkit.org/show_bug.cgi?id=68615
21810
21811         Reviewed by Martin Robinson.
21812
21813         Set tooltip on PopupMenuGtk items created from GtkActions.
21814
21815         * platform/gtk/GtkPopupMenu.cpp:
21816         (WebCore::GtkPopupMenu::appendItem): Added a call to gtk_widget_set_tooltip_text()
21817             to set the tooltip on menuitem. Tooltip text is retrieved from GtkAction.
21818         * platform/gtk/PopupMenuGtk.cpp:
21819         (WebCore::PopupMenuGtk::createGtkActionForMenuItem): Pass the tooltip text
21820             from client when creating a GtkAction.
21821
21822 2011-09-23  Yael Aharon  <yael.aharon@nokia.com>
21823
21824         [Qt][Gtk] Wrong state when pausing a video in the "playing" event handler
21825         https://bugs.webkit.org/show_bug.cgi?id=68589
21826
21827         Reviewed by Philippe Normand.
21828
21829         Test: media/video-playing-and-pause.html
21830
21831         As suggested by Alexis Menard on IRC, query gstreamer's state instead of using a cached value
21832         in MediaPlayerGstreamerPrivate::paused(). 
21833
21834         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
21835         (WebCore::MediaPlayerPrivateGStreamer::paused):
21836
21837 2011-09-15  Pavel Podivilov  <podivilov@chromium.org>
21838
21839         Web Inspector: skip overlapping scripts when displaying concatenated content.
21840         https://bugs.webkit.org/show_bug.cgi?id=68144
21841
21842         Dynamically appended script tags have wrong offsets and cause troubles building concatenated content.
21843
21844         Reviewed by Pavel Feldman.
21845
21846         * inspector/front-end/SourceFile.js:
21847         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
21848         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
21849
21850 2011-09-23  Ilya Tikhonovsky  <loislo@chromium.org>
21851
21852         Web Inspector: file open dialog appears when user clicks on the timeline bar in timeline panel.
21853         https://bugs.webkit.org/show_bug.cgi?id=68312
21854
21855         Reviewed by Yury Semikhatsky.
21856
21857         * inspector/front-end/TimelinePanel.js:
21858         (WebInspector.TimelinePanel.prototype._createFileSelector):
21859
21860 2011-09-23  Sheriff Bot  <webkit.review.bot@gmail.com>
21861
21862         Unreviewed, rolling out r95383.
21863         http://trac.webkit.org/changeset/95383
21864         https://bugs.webkit.org/show_bug.cgi?id=68690
21865
21866         It broke WebInspector.Timeline.LoadFromFile feature.
21867         (Requested by loislo on #webkit).
21868
21869         * inspector/front-end/TimelinePanel.js:
21870         (WebInspector.TimelinePanel.prototype._createFileSelector):
21871
21872 2011-09-23  Rob Buis  <rbuis@rim.com>
21873
21874         use after free in WebCore::SVGTRefElement::updateReferencedText
21875         https://bugs.webkit.org/show_bug.cgi?id=67555
21876
21877         Reviewed by Nikolas Zimmermann.
21878
21879         Event listeners can outlive the tref element that created them when
21880         the tref is cloned and then garbage collected, causing a dangling pointer to the
21881         tref. To fix this do not install event listener until the tref is inserted into the document.
21882
21883         Test: svg/custom/tref-clone-crash.html
21884
21885         * svg/SVGTRefElement.cpp:
21886         (WebCore::SVGTRefElement::svgAttributeChanged):
21887         (WebCore::SVGTRefElement::insertedIntoDocument):
21888         * svg/SVGTRefElement.h:
21889
21890 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
21891
21892         ASSERTION FAILED: documentLoader in WebKit/Source/WebCore/inspector/InspectorInstrumentation.cpp(597)
21893         https://bugs.webkit.org/show_bug.cgi?id=68291
21894
21895         Reviewed by Tony Chang.
21896
21897         * dom/Document.cpp:
21898         (WebCore::Document::finishedParsing):
21899         * inspector/InspectorInstrumentation.cpp:
21900         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
21901         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
21902         * inspector/InspectorInstrumentation.h:
21903         (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
21904         (WebCore::InspectorInstrumentation::loadEventFired):
21905         * page/DOMWindow.cpp:
21906         (WebCore::DOMWindow::dispatchLoadEvent):
21907
21908 2011-09-22  Tony Chang  <tony@chromium.org>
21909
21910         implement -webkit-flex-order
21911         https://bugs.webkit.org/show_bug.cgi?id=67432
21912
21913         Reviewed by Ojan Vafai.
21914
21915         flex-order can be an int (including negative), but we disallow the two
21916         smallest values so we can put the numbers into a hash set.
21917
21918         Also, create two iterators: one that goes in render tree order (we use
21919         this for the first pass and to collect the possible flex order values)
21920         and one that goes in flex order.
21921
21922         Test: css3/flexbox/flex-order.html
21923
21924         * css/CSSParser.cpp:
21925         (WebCore::CSSParser::parseValue):
21926         * rendering/RenderFlexibleBox.cpp:
21927         (WebCore::FlexOrderHashTraits::emptyValue):
21928         (WebCore::FlexOrderHashTraits::constructDeletedValue):
21929         (WebCore::FlexOrderHashTraits::isDeletedValue):
21930         (WebCore::RenderFlexibleBox::TreeOrderIterator::TreeOrderIterator): A simple iterator
21931             that goes in render tree order.
21932         (WebCore::RenderFlexibleBox::TreeOrderIterator::next):
21933         (WebCore::RenderFlexibleBox::TreeOrderIterator::reset):
21934         (WebCore::RenderFlexibleBox::TreeOrderIterator::flexOrderValues):
21935         (WebCore::RenderFlexibleBox::FlexOrderIterator::FlexOrderIterator): An iterator that
21936             goes in flex-order order.  Creating this involves sorting, so only create it once
21937             and pass it around.
21938         (WebCore::RenderFlexibleBox::FlexOrderIterator::first):
21939         (WebCore::RenderFlexibleBox::FlexOrderIterator::next):
21940         (WebCore::RenderFlexibleBox::FlexOrderIterator::reset):
21941         (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
21942         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
21943         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
21944         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
21945         * rendering/RenderFlexibleBox.h:
21946
21947 2011-09-22  Darin Adler  <darin@apple.com>
21948
21949         Use AffineTransform scale functions in ShadowBlur::adjustBlurRadius
21950         https://bugs.webkit.org/show_bug.cgi?id=68667
21951
21952         Reviewed by Simon Fraser.
21953
21954         * platform/graphics/ShadowBlur.cpp:
21955         (WebCore::ShadowBlur::adjustBlurRadius): Use AffineTransform::xScale and
21956         AffineTransform::yScale instead of the custom code here that seems to do
21957         the same thing.
21958
21959 2011-09-22  Darin Adler  <darin@apple.com>
21960
21961         Remove unneeded type conversion from background bleed code
21962         https://bugs.webkit.org/show_bug.cgi?id=68669
21963
21964         Reviewed by Geoffrey Garen.
21965
21966         * rendering/RenderBoxModelObject.cpp:
21967         (WebCore::backgroundRectAdjustedForBleedAvoidance): Use ceil instead of ceilf
21968         and eliminate superflous conversion to float and use of FloatSize. Also added
21969         a "why" comment.
21970
21971 2011-09-22  Darin Adler  <darin@apple.com>
21972
21973         Refactor checks for antialiasing lines to share a single function
21974         https://bugs.webkit.org/show_bug.cgi?id=68666
21975
21976         Reviewed by Dan Bernstein.
21977
21978         * rendering/RenderBlock.cpp:
21979         (WebCore::RenderBlock::paintColumnRules): Call shouldAntialiasLines.
21980         * rendering/RenderBoxModelObject.cpp:
21981         (WebCore::RenderBoxModelObject::paintBorder): Ditto.
21982         (WebCore::RenderBoxModelObject::shouldAntialiasLines): Added.
21983         * rendering/RenderBoxModelObject.h: Added shouldAntialiasLines function.
21984         * rendering/RenderInline.cpp:
21985         (WebCore::RenderInline::paintOutlineForLine): Call shouldAntialiasLines.
21986         * rendering/RenderTableCell.cpp:
21987         (WebCore::RenderTableCell::paintCollapsedBorder): Ditto.
21988
21989 2011-09-22  Antoine Labour  <piman@chromium.org>
21990
21991         Remove unused members from LayerChromium.
21992         These members are never set, and never used.
21993         Other members that are set but not used have been left (we may use them
21994         later, e.g. m_opaque).
21995         https://bugs.webkit.org/show_bug.cgi?id=68297
21996
21997         Reviewed by James Robinson.
21998
21999         No functional change, no new test needed.
22000
22001         * platform/graphics/chromium/LayerChromium.cpp:
22002         (WebCore::LayerChromium::LayerChromium):
22003         * platform/graphics/chromium/LayerChromium.h:
22004
22005 2011-09-22  Tom Sepez  <tsepez@chromium.org>
22006
22007         Make XSSAuditor extract meaningful snippet from script blocks for comparison
22008         against the URL when checking for reflection.  Avoids getting caugh up in
22009         trailing comments.
22010         https://bugs.webkit.org/show_bug.cgi?id=68094
22011
22012         Reviewed by Adam Barth.
22013
22014         Tests: http/tests/security/xssAuditor/script-tag-with-trailing-comment.html
22015                http/tests/security/xssAuditor/script-tag-with-trailing-comment2.html
22016                http/tests/security/xssAuditor/script-tag-with-trailing-comment3.html
22017
22018         * html/parser/XSSAuditor.cpp:
22019         (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
22020         (WebCore::XSSAuditor::extractCodeFragment):
22021         * html/parser/XSSAuditor.h:
22022
22023 2011-09-22  Nate Chapin  <japhet@chromium.org>
22024
22025         Remove didReceiveAuthenticationChallenge() from SubresourceLoaderClient.
22026         Instead, add a load-specific policy for showing the user authentication
22027         challenge down to ResourceLoaderOptions and enforce it in ResourceLoader.
22028         https://bugs.webkit.org/show_bug.cgi?id=65330
22029
22030         Reviewed by Alexey Proskuryakov.
22031
22032         No new tests, refactor only.
22033
22034         * loader/DocumentThreadableLoader.cpp:
22035         * loader/DocumentThreadableLoader.h:
22036         * loader/MainResourceLoader.cpp:
22037         * loader/NetscapePlugInStreamLoader.cpp:
22038         * loader/ResourceLoadScheduler.h:
22039         * loader/ResourceLoader.cpp:
22040         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
22041            For resource types that always send a challenge to the embedder,
22042            this patch doesn't change anything. For those that don't, we will
22043            always try to continue without credentials when they are forbidden
22044            and the platform supports it.
22045            When continuing without credentials was initially implemented in
22046            DocumentThreadableLoader, we sent the ThreadableLoaderClient a didFail(),
22047            then canceled the SubresourceLoader. This was necessary because of the
22048            quirks of ThreadableLoader cancellation (we sever the client/loader connections
22049            before the load actually cancels), but a simple didFail() should suffice at
22050            the ResourceLoader layer.
22051         * loader/ResourceLoaderOptions.h:
22052         * loader/SubresourceLoader.cpp:
22053         * loader/SubresourceLoader.h:
22054         * loader/SubresourceLoaderClient.h:
22055         * loader/cache/CachedResource.cpp:
22056         * loader/cache/CachedResourceLoader.cpp:
22057         * loader/cache/CachedResourceLoader.h:
22058         * loader/icon/IconLoader.cpp: The ResourceLoader implementation of
22059             didReceiveAuthenticationChallege means that IconLoader will now
22060             try to continue with credentials on platforms that support it,
22061             rather than just canceling outright. We still will never prompt
22062             for authentication for icons.
22063         * loader/icon/IconLoader.h:
22064
22065 2011-09-22  Dean Jackson  <dino@apple.com>
22066
22067         Add ENABLE_CSS_FILTERS
22068         https://bugs.webkit.org/show_bug.cgi?id=68652
22069
22070         Reviewed by Simon Fraser.
22071
22072         * Configurations/FeatureDefines.xcconfig:
22073
22074 2011-09-22  Anders Carlsson  <andersca@apple.com>
22075
22076         Make sure to update scrollbars in ScrollView::setFrameRect
22077         https://bugs.webkit.org/show_bug.cgi?id=68663
22078
22079         Reviewed by Sam Weinig.
22080
22081         Call updateScrollbars after setting the frame rect. This was previously done by the
22082         call to setBoundsSize from RenderWidget::setWidgetGeometry but setBoundsSize was removed
22083         completely in http://trac.webkit.org/changeset/95725.
22084
22085         * platform/ScrollView.cpp:
22086         (WebCore::ScrollView::setFrameRect):
22087
22088 2011-09-22  Jon Lee  <jonlee@apple.com>
22089
22090         Progress control gets cropped on the bottom
22091         https://bugs.webkit.org/show_bug.cgi?id=68302
22092         <rdar://problem/10069915>
22093
22094         Reviewed by Kent Tamura.
22095
22096         As it turns out the smaller control type does not get rendered either, so this patch
22097         fixes both.
22098
22099         * manual-tests/dom/progressbar.html: Altered to show both sizes of controls
22100         * rendering/RenderThemeMac.h:
22101         * rendering/RenderThemeMac.mm: Added methods to inflate the drawing rect
22102         (WebCore::RenderThemeMac::progressBarSizes):
22103         (WebCore::RenderThemeMac::progressBarMargins):
22104         (WebCore::RenderThemeMac::minimumProgressBarHeight):
22105         (WebCore::RenderThemeMac::paintProgressBar): Inflate the rect based on minimum desired
22106         control height and glow margin.
22107
22108 2011-09-22  David Hyatt  <hyatt@apple.com>
22109
22110         https://bugs.webkit.org/show_bug.cgi?id=68658
22111
22112         Make matchedEndLine smart enough to not match lines that have moved to new
22113         regions with different available content logical widths. When this happens, we go ahead and treat
22114         the line as failing to match.
22115
22116         Reviewed by Anders Carlsson.
22117
22118         Added new tests in fast/regions.
22119
22120         * rendering/RenderBlock.cpp:
22121         (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
22122         * rendering/RenderBlock.h:
22123         Enhanced to take an optional delta, so that you can check a new position without having to move
22124         the line box.
22125
22126         * rendering/RenderBlockLineLayout.cpp:
22127         (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
22128         New function that refactors checking for line width changes from region movement as well as the
22129         float checks. Since the float checks were duplicated twice, this is a nice refactoring.
22130
22131         (WebCore::RenderBlock::matchedEndLine):
22132         Changed to call the new helper function that will check both floats and pagination.
22133
22134 2011-09-22  Gavin Barraclough  <barraclough@apple.com>
22135
22136         Implement Function.prototype.bind
22137         https://bugs.webkit.org/show_bug.cgi?id=26382
22138
22139         Reviewed by Sam Weinig.
22140
22141         Test: fast/js/function-bind.html
22142
22143         * bindings/js/JSDOMBinding.cpp:
22144         (WebCore::objectToStringFunctionGetter):
22145         * bindings/js/JSDOMWindowCustom.cpp:
22146         (WebCore::nonCachingStaticFunctionGetter):
22147         * bindings/js/JSHistoryCustom.cpp:
22148         (WebCore::nonCachingStaticBackFunctionGetter):
22149         (WebCore::nonCachingStaticForwardFunctionGetter):
22150         (WebCore::nonCachingStaticGoFunctionGetter):
22151         * bindings/js/JSLocationCustom.cpp:
22152         (WebCore::nonCachingStaticReplaceFunctionGetter):
22153         (WebCore::nonCachingStaticReloadFunctionGetter):
22154         (WebCore::nonCachingStaticAssignFunctionGetter):
22155             - Function::create no longer requires functionStructure() to be passed.
22156 2011-09-22  David Hyatt  <hyatt@apple.com>
22157
22158         https://bugs.webkit.org/show_bug.cgi?id=68650
22159         
22160         Make determineStartPosition smart enough to not skip over clean lines that have moved to a new
22161         region with a different available content logical width. When this happens, we go ahead and treat
22162         the line as dirty.
22163
22164         Reviewed by Sam Weinig.
22165
22166         Covered by existing fast/regions tests.
22167
22168         * rendering/RenderBlock.cpp:
22169         (WebCore::RenderBlock::layoutBlock):
22170         Disable region fitting if we detect that the regions all have uniform widths. In this case we know
22171         the content width can't vary, so there's no reason to waste time worrying about it.
22172
22173         (WebCore::RenderBlock::computeLogicalLocationForFloat):
22174         Pull the content width checking code into computeLogicalLocationForFloat, since we've incorporated
22175         region fitting into the fixed offsets now rather than the line functions.
22176
22177         (WebCore::RenderBlock::positionNewFloats):
22178         Changed because more code moved from here into computeLogicalLocationForFloat.
22179         
22180         (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
22181         No changes. Just moved the function above the left offset function.
22182
22183         (WebCore::RenderBlock::logicalLeftOffsetForContent):
22184         (WebCore::RenderBlock::logicalRightOffsetForContent):
22185         Added. These new functions give the fixed left and right offsets for lines in a particular region.
22186         When no regions are present or when all the regions have a uniform width, they are identical
22187         to the versions of the functions that take no arguments.
22188
22189         (WebCore::RenderBlock::logicalRightOffsetForLine):
22190         Changed to no longer do region fitting, since that's built into logicalRightOffsetForContent now.
22191
22192         (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
22193         New function that takes a root line box and compares its cached old content width with the width
22194         available at the line's new location.
22195     
22196         * rendering/RenderBlock.h:
22197         (WebCore::RenderBlock::logicalRightOffsetForLine):
22198         (WebCore::RenderBlock::logicalLeftOffsetForLine):
22199         Modified to call the logicalXXXOffsetForContent functions that take a block direction position.
22200
22201         (WebCore::RenderBlock::logicalRightOffsetForContent):
22202         (WebCore::RenderBlock::logicalLeftOffsetForContent):
22203         Added the new functions that take a position so that they can fit to the correct region.
22204
22205         (WebCore::RenderBlock::availableLogicalWidthForContent):
22206         New helper function that calls right - left (similar to the corresponding line function that includes
22207         floats).
22208
22209         * rendering/RenderBlockLineLayout.cpp:
22210         (WebCore::RenderBlock::determineStartPosition):
22211         Patched to check if a line has moved to a place with a different available content width. If so, the line
22212         is dirtied so that line layout can re-run.
22213
22214         * rendering/RootInlineBox.cpp:
22215         (WebCore::RootInlineBox::RootInlineBox):
22216         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
22217         Sets the paginated line width from the current block logical height.
22218
22219         * rendering/RootInlineBox.h:
22220         (WebCore::RootInlineBox::paginationStrut):
22221         (WebCore::RootInlineBox::setPaginationStrut):
22222         Fixed paginationStrut to be LayoutUnit instead of int.
22223
22224         (WebCore::RootInlineBox::paginatedLineWidth):
22225         (WebCore::RootInlineBox::setPaginatedLineWidth):
22226         Added paginatedLineWidth getter/setter for caching the content width for a given root line.
22227
22228 2011-09-21  Anders Carlsson  <andersca@apple.com>
22229
22230         Remove Widget::beforeMouseDown and Widget::afterMouseDown
22231         https://bugs.webkit.org/show_bug.cgi?id=68570
22232
22233         Reviewed by Darin Adler.
22234
22235         These two member functions were originally added to avoid crashes due to removing NSViews while they were
22236         being tracked by AppKit. Since they were added, we've moved away from NSViews for form controls, and the bugs in
22237         AppKit that lead to crashes have been fixed.
22238
22239         This patch was rolled out in r95743 because it broke a bunch of tests. The patch accidentally removed setting back
22240         m_sendingEventToSubview to false.
22241
22242         * page/mac/EventHandlerMac.mm:
22243         (WebCore::EventHandler::passMouseDownEventToWidget):
22244         * platform/Widget.h:
22245         * platform/mac/WidgetMac.mm:
22246         (WebCore::Widget::Widget):
22247         (WebCore::Widget::removeFromSuperview):
22248
22249         * rendering/RenderWidget.cpp:
22250         Change widgetHierarchyUpdateSuspendCount to be an unsigned integer instead of a size_t.
22251
22252 2011-09-22  Sheriff Bot  <webkit.review.bot@gmail.com>
22253
22254         Unreviewed, rolling out r95335 and r95645.
22255         http://trac.webkit.org/changeset/95335
22256         http://trac.webkit.org/changeset/95645
22257         https://bugs.webkit.org/show_bug.cgi?id=68649
22258
22259         Wrong fix (Requested by rniwa on #webkit).
22260
22261         * editing/DeleteSelectionCommand.cpp:
22262         (WebCore::DeleteSelectionCommand::saveTypingStyleState):
22263         * editing/EditingStyle.cpp:
22264         (WebCore::EditingStyle::removeStyleAddedByNode):
22265         * editing/EditingStyle.h:
22266         * editing/ReplaceSelectionCommand.cpp:
22267         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
22268         * editing/markup.cpp:
22269         (WebCore::StyledMarkupAccumulator::serializeNodes):
22270         (WebCore::ancestorToRetainStructureAndAppearance):
22271         * editing/markup.h:
22272
22273 2011-09-22  Ryosuke Niwa  <rniwa@webkit.org>
22274
22275         Revert r95673 since it caused hundreds of tests to fail on Leopard / Snow Leopard.
22276
22277         * page/mac/EventHandlerMac.mm:
22278         (WebCore::EventHandler::passMouseDownEventToWidget):
22279         * platform/Widget.h:
22280         * platform/mac/WidgetMac.mm:
22281         (WebCore::Widget::Widget):
22282         (WebCore::Widget::removeFromSuperview):
22283         (WebCore::Widget::beforeMouseDown):
22284         (WebCore::Widget::afterMouseDown):
22285         * rendering/RenderWidget.cpp:
22286
22287 2011-09-22  David Hyatt  <hyatt@apple.com>
22288
22289         https://bugs.webkit.org/show_bug.cgi?id=68638
22290         
22291         Make RenderFlowThread cache whether or not it has regions of varying widths. This will
22292         be relevant for performance as we begin adding code to do custom block painting and
22293         layout based off regions not having the same width.
22294
22295         Reviewed by Dan Bernstein and Adam Roben.
22296
22297         * rendering/RenderFlowThread.cpp:
22298         (WebCore::RenderFlowThread::RenderFlowThread):
22299         (WebCore::RenderFlowThread::layout):
22300         * rendering/RenderFlowThread.h:
22301
22302 2011-09-22  Anders Carlsson  <andersca@apple.com>
22303
22304         FrameView::invalidateRect and FrameView::setFrameRect shouldn't take LayoutRects
22305         https://bugs.webkit.org/show_bug.cgi?id=68639
22306
22307         Reviewed by David Hyatt.
22308
22309         FrameView::invalidateRect and FrameView::setFrameRect override Widget and ScrollView
22310         member functions that take IntRects, and Widget coordinates are currently defined in terms of
22311         IntRects (and probably always should since we want them to be pixel-aligned).
22312
22313         * page/FrameView.cpp:
22314         (WebCore::FrameView::invalidateRect):
22315         (WebCore::FrameView::setFrameRect):
22316         * page/FrameView.h:
22317
22318 2011-09-22  Tim Horton  <timothy_horton@apple.com>
22319
22320         Unreviewed build fix (fixes warning about too many parens).
22321
22322         * rendering/RenderBox.cpp:
22323         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
22324
22325 2011-09-22  Anders Carlsson  <andersca@apple.com>
22326
22327         Widget::frameRect shouldn't be virtual
22328         https://bugs.webkit.org/show_bug.cgi?id=68637
22329
22330         Reviewed by Sam Weinig.
22331
22332         Nobody overrides Widget::frameRect and nobody should.
22333
22334         * platform/Widget.h:
22335
22336 2011-09-22  Sergey Glazunov  <serg.glazunov@gmail.com>
22337
22338         Ref protect shaders in V8WebGLRenderingContext::getAttachedShadersCallback
22339         https://bugs.webkit.org/show_bug.cgi?id=68630
22340
22341         Reviewed by Adam Barth.
22342
22343         Test: fast/canvas/webgl/shader-deleted-by-accessor.html
22344
22345         * bindings/js/JSWebGLRenderingContextCustom.cpp:
22346         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
22347         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
22348         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
22349         * html/canvas/WebGLRenderingContext.cpp:
22350         (WebCore::WebGLRenderingContext::getAttachedShaders):
22351         * html/canvas/WebGLRenderingContext.h:
22352
22353 2011-09-05  Robert Hogan  <robert@webkit.org>
22354
22355         CSS 2.1 failure: abspos-non-replaced-width-margin-000, abspos-replaced-width-margin-000
22356         https://bugs.webkit.org/show_bug.cgi?id=47148
22357
22358         Reviewed by David Hyatt.
22359
22360         * rendering/RenderBlock.h:
22361         * rendering/RenderBlockLineLayout.cpp:
22362         (WebCore::RenderBlock::startOffsetForLine): Return offset from right, rather than offset from left + logicalwidth
22363         * rendering/RenderBlockLineLayout.cpp:
22364         (WebCore::RenderBlock::startAlignedOffsetForLine): 
22365               Return the correct alignment for RTL blocks too. Looks like neither FF or Opera do this correctly.
22366               Covered by new test left-right-center-inline-alignment-in-ltr-and-rtl-blocks.html
22367         * rendering/RenderBox.cpp:
22368         (WebCore::computeInlineStaticDistance):
22369             - The CSS 2.1 tests now require UAs to use the parent block's direction (rather than the
22370               containing block's direction) when computing static distance. The container block's direction
22371               is still used in the other width and offset related calculations.
22372             - In the context of this function, the logicalRight value is just an element that will be used later to calculate 
22373               the correct logicalLeft position for the RTL block. So whereas an LTR block can substract containerBlock->borderLogicalLeft() 
22374               in this function directly, an RTL block has to add it here so that will be later subtracted from availableSpace to get 
22375               logicalLeft in computePositionedLogicalWidthUsing().
22376
22377         (WebCore::RenderBox::computePositionedLogicalWidth):
22378            - Update comments and use the container block's direction except when calculating the static distance.
22379            - Remove the notion of a quirks mode in this function and for calculating the position of replaced and non-replaced
22380              blocks generally. This is in line with both FF4 and Opera - neither of which have a quirks mode for them.
22381         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
22382            - Update comments and use the container block's direction except when calculating the static distance.
22383         (WebCore::RenderBox::computePositionedLogicalHeight):
22384            - Update comments.
22385         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
22386            - Update comments and use the container block's direction except when calculating the static distance.
22387            - If the containing block is RTL, always assume that values are over-constrained.
22388         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
22389            - Update comments.
22390
22391 2011-09-22  Anders Carlsson  <andersca@apple.com>
22392
22393         Get rid of Widget::setBoundsSize
22394         https://bugs.webkit.org/show_bug.cgi?id=68491
22395
22396         Reviewed by Sam Weinig.
22397
22398         This basically reverts http://trac.webkit.org/changeset/79167 and http://trac.webkit.org/changeset/75897
22399         which were added to make zoom gestures work with WebKit1, but since we don't support zoom gestures in WebKit1
22400         anymore, it's better for code cleanliness to get rid of Widget::setBoundsSize and the associated code. While this
22401         will unfortunately break transformed iframes in WebKit1, but Simon says that it's an acceptable tradeoff.
22402
22403         * WebCore.exp.in:
22404         * loader/FrameLoader.cpp:
22405         (WebCore::FrameLoader::open):
22406         * page/FrameView.cpp:
22407         (WebCore::FrameView::create):
22408         * platform/ScrollView.cpp:
22409         (WebCore::ScrollView::visibleContentRect):
22410         (WebCore::ScrollView::updateScrollbars):
22411         (WebCore::ScrollView::wheelEvent):
22412         * platform/ScrollView.h:
22413         * platform/Widget.cpp:
22414         * platform/Widget.h:
22415         (WebCore::Widget::resize):
22416         * platform/chromium/PopupContainer.cpp:
22417         (WebCore::PopupContainer::refresh):
22418         * platform/gtk/ScrollViewGtk.cpp:
22419         (WebCore::ScrollView::visibleContentRect):
22420         * platform/mac/WidgetMac.mm:
22421         (WebCore::Widget::paint):
22422         * rendering/RenderWidget.cpp:
22423         (WebCore::RenderWidget::setWidgetGeometry):
22424         (WebCore::RenderWidget::setWidget):
22425         (WebCore::RenderWidget::updateWidgetPosition):
22426         * rendering/RenderWidget.h:
22427
22428 2011-09-21  David Hyatt  <hyatt@apple.com>
22429
22430         https://bugs.webkit.org/show_bug.cgi?id=68590
22431         
22432         Floats pushed to next page, column or region don't reposition properly if the amount of
22433         available logical width at the new position changes. Refactor the code so that we can
22434         run the float placement algorithm again when this happens.
22435
22436         Covered by an existing regions test that exposes the issue.
22437
22438         Reviewed by Adam Roben.
22439
22440         * rendering/RenderBlock.cpp:
22441         (WebCore::RenderBlock::computeLogicalLocationForFloat):
22442         (WebCore::RenderBlock::positionNewFloats):
22443         * rendering/RenderBlock.h:
22444
22445 2011-09-22  Leandro Gracia Gil  <leandrogracia@chromium.org>
22446
22447         Fire TextInput events on speech input, but not set/add any inputMethod attribute.
22448         https://bugs.webkit.org/show_bug.cgi?id=60451
22449
22450         Reviewed by Ryosuke Niwa.
22451
22452         Introduce code to dispatch TextInput events when text is introduced via
22453         the speech input feature. Handle also the cases where speech input is
22454         started programmatically from the LayoutTestController.
22455
22456         Test: fast/speech/input-ontextinput-event.html
22457
22458         * dom/TextEventInputType.h:
22459         * html/shadow/TextControlInnerElements.cpp:
22460         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
22461
22462 2011-09-20  Jason Liu  <jason.liu@torchmobile.com.cn>
22463
22464         Reviewed by Simon Fraser.
22465
22466         CSS outline property on a narrow element has rabbit ear artifacts
22467         https://bugs.webkit.org/show_bug.cgi?id=36793
22468
22469         Patch by Jason Liu  <jason.liu@torchmobile.com.cn>
22470         Patch updated by Robert Hogan <robert@webkit.org>
22471
22472         Test: fast/css/outline-narrowLine.html
22473
22474         * rendering/RenderInline.cpp:
22475         (WebCore::RenderInline::paintOutlineForLine):
22476
22477 2011-09-22  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>
22478
22479         [GTK]Popup drop-down menu contains extra empty spaces at beginning and 
22480         occupies whole screen when items in popup reaches the height of display device.
22481         https://bugs.webkit.org/show_bug.cgi?id=68533
22482
22483         When implementing the GTK+ menu position function, set pushIn to false, which tell
22484         GTK+ not create a menu that is as big as the entire screen.
22485
22486         Reviewed by Martin Robinson.
22487
22488         * platform/gtk/GtkPopupMenu.cpp:
22489         (WebCore::GtkPopupMenu::menuPositionFunction): Set pushIn to false in the menu position function.
22490
22491 2011-09-22  Alpha Lam  <hclam@chromium.org>
22492
22493         Define export symbol correctly due to rename of pageScaleFactor to
22494         frameScaleFactor.
22495
22496         Not reviewed. Build fix.
22497
22498         * WebCore.exp.in:
22499
22500 2011-09-22  Vsevolod Vlasov  <vsevik@chromium.org>
22501
22502         Web Inspector: Console is always scrolled to the top
22503         https://bugs.webkit.org/show_bug.cgi?id=67483
22504
22505         Reviewed by Pavel Feldman.
22506
22507         * inspector/front-end/ConsoleView.js:
22508         (WebInspector.ConsoleView.prototype.wasShown):
22509         (WebInspector.ConsoleView.prototype.storeScrollPositions):
22510         (WebInspector.ConsoleView.prototype.restoreScrollPositions):
22511         (WebInspector.ConsoleView.prototype.onResize):
22512         (WebInspector.ConsoleView.prototype._immediatelyScrollIntoView):
22513         (WebInspector.ConsoleView.prototype._cancelScheduledScrollIntoView):
22514         (WebInspector.ConsoleView.prototype._consoleCleared):
22515         * inspector/front-end/Drawer.js:
22516         (WebInspector.Drawer.prototype.hide):
22517         (WebInspector.Drawer.prototype.resize):
22518         (WebInspector.Drawer.prototype._startStatusBarDragging):
22519         (WebInspector.Drawer.prototype._statusBarDragging):
22520         * inspector/front-end/inspector.js:
22521         (WebInspector.animateStyle):
22522         (WebInspector.animateStyle.forceComplete):
22523
22524 2011-09-22  Alpha Lam  <hclam@chromium.org>
22525
22526         https://bugs.webkit.org/show_bug.cgi?id=68081
22527         Fix scroll in page scaling mode.
22528
22529         Reviewed by Simon Fraser.
22530
22531         The following things are done in this patch:
22532         1. Rename Frame::pageScaleFactor() to Frame::frameScaleFactor() to better
22533            reflect its purpose.
22534         2. Frame::frameScaleFactor() returns the scale factor of this frame with
22535            respect to the container. So for the main frame it'll return the scale
22536            factor of the page, inner frames will return 1.0
22537         3. scrollBy(), scrollX() and scrollY() to take into account of the frame
22538            scale factor, causing incorrect coordinates reported to Javascript.
22539
22540         Tests: fast/events/scale-and-scroll-body.html
22541                fast/events/scale-and-scroll-iframe-body.html
22542                fast/events/scale-and-scroll-iframe-window.html
22543                fast/events/scale-and-scroll-window.html
22544
22545         * html/HTMLBodyElement.cpp:
22546         (WebCore::adjustForZoom):
22547         (WebCore::HTMLBodyElement::setScrollLeft):
22548         (WebCore::HTMLBodyElement::setScrollTop):
22549         * loader/HistoryController.cpp:
22550         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
22551         * page/DOMWindow.cpp:
22552         (WebCore::DOMWindow::scrollX):
22553         (WebCore::DOMWindow::scrollY):
22554         (WebCore::DOMWindow::scrollTo):
22555         * page/Frame.cpp:
22556         (WebCore::Frame::frameScaleFactor): Return page's scale factor if this is
22557                                             main frame, otherwise 1.0
22558         * page/Frame.h:
22559         * page/FrameView.cpp:
22560         (WebCore::FrameView::applyOverflowToViewport):
22561         (WebCore::FrameView::scrollXForFixedPosition):
22562         (WebCore::FrameView::scrollYForFixedPosition):
22563
22564 2011-09-22  Andreas Kling  <kling@webkit.org>
22565
22566         CSS: Implement 'font' property in CSSComputedStyle.
22567         https://bugs.webkit.org/show_bug.cgi?id=66666
22568
22569         Reviewed by Antti Koivisto.
22570
22571         Test: fast/css/getComputedStyle/computed-style-font.html
22572
22573         * css/CSSComputedStyleDeclaration.cpp:
22574         (WebCore::fontFamilyFromStyle): Factored out of getPropertyCSSValue().
22575         This function will always return a CSSValueList, as opposed to the previous
22576         implementation which would return a CSSPrimitiveValue if there was only one family.
22577         getCSSPropertyValue() will return the first element of the list for 1-element lists
22578         to preserve the current behavior of getPropertyCSSValue('font-family').
22579
22580         (WebCore::lineHeightFromStyle): Factored out of getPropertyCSSValue().
22581         (WebCore::fontSizeFromStyle): Ditto.
22582         (WebCore::fontStyleFromStyle): Ditto.
22583         (WebCore::fontVariantFromStyle): Ditto.
22584         (WebCore::fontWeightFromStyle): Ditto.
22585
22586         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added
22587         implementation of the computed 'font' property (CSSPropertyFont.)
22588
22589 2011-09-22  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
22590
22591         [Qt] Redirection overflow errors have wrong error domain
22592         https://bugs.webkit.org/show_bug.cgi?id=68612
22593
22594         Reviewed by Andreas Kling.
22595
22596         Redirection overflow currently puts the URL hostname in the errorDomain field.
22597         Now redirection overflow errors will be classified as "HTTP" errors.
22598
22599         * platform/network/qt/QNetworkReplyHandler.cpp:
22600         (WebCore::QNetworkReplyHandler::redirect):
22601
22602 2011-09-22  James Robinson  <jamesr@chromium.org>
22603
22604         Unreviewed, rolling out r95699.
22605         http://trac.webkit.org/changeset/95699
22606         https://bugs.webkit.org/show_bug.cgi?id=67417
22607
22608         Makes many chromium compositor tests crash
22609
22610         * platform/CrossThreadCopier.h:
22611         * platform/graphics/chromium/LayerRendererChromium.cpp:
22612         (WebCore::LayerRendererChromium::~LayerRendererChromium):
22613         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
22614         (WebCore::CCHeadsUpDisplay::enabled):
22615         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
22616         (WebCore::CCLayerImpl::CCLayerImpl):
22617         (WebCore::CCLayerImpl::~CCLayerImpl):
22618         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
22619         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
22620         (WebCore::CCLayerTreeHost::commitTo):
22621         (WebCore::CCLayerTreeHost::setNeedsRedraw):
22622         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
22623         (WebCore::CCSettings::CCSettings):
22624         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
22625         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
22626         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
22627         * platform/graphics/chromium/cc/CCProxy.h:
22628         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
22629         (WebCore::CCSingleThreadProxy::finishAllRendering):
22630         (WebCore::CCSingleThreadProxy::setNeedsCommit):
22631         (WebCore::CCSingleThreadProxy::commitIfNeeded):
22632         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
22633         (WebCore::CCThreadProxy::CCThreadProxy):
22634         (WebCore::CCThreadProxy::~CCThreadProxy):
22635         (WebCore::CCThreadProxy::compositeAndReadback):
22636         (WebCore::CCThreadProxy::finishAllRendering):
22637         (WebCore::CCThreadProxy::isStarted):
22638         (WebCore::CCThreadProxy::initializeLayerRenderer):
22639         (WebCore::CCThreadProxy::setNeedsCommit):
22640         (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
22641         (WebCore::CCThreadProxy::setNeedsRedraw):
22642         (WebCore::CCThreadProxy::start):
22643         (WebCore::CCThreadProxy::stop):
22644         (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
22645         (WebCore::CCThreadProxy::beginFrameAndCommit):
22646         (WebCore::CCThreadProxy::commitOnCCThread):
22647         (WebCore::CCThreadProxy::drawLayersOnCCThread):
22648         (WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
22649         (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
22650         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
22651         * platform/graphics/chromium/cc/CCThreadProxy.h:
22652
22653 2011-09-22  Nat Duca  <nduca@chromium.org>
22654
22655         [chromium] Make CCThreadProxy draw
22656         https://bugs.webkit.org/show_bug.cgi?id=67417
22657
22658         Update the CCThreadProxy to correctly implement the CCProxy
22659         interface, do all the right committing and updating steps, and
22660         draw a picture on the screen.
22661
22662         Reviewed by James Robinson.
22663
22664         * platform/graphics/IntRect.h:
22665         * platform/graphics/chromium/LayerRendererChromium.cpp:
22666         (WebCore::LayerRendererChromium::~LayerRendererChromium):
22667         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
22668         (WebCore::CCHeadsUpDisplay::enabled):
22669         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
22670         (WebCore::CCLayerImpl::CCLayerImpl):
22671         (WebCore::CCLayerImpl::~CCLayerImpl):
22672         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
22673         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
22674         (WebCore::CCLayerTreeHost::commitTo):
22675         (WebCore::CCLayerTreeHost::commitComplete):
22676         (WebCore::CCLayerTreeHost::setNeedsRedraw):
22677         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
22678         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
22679         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
22680         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
22681         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
22682         (WebCore::CCSingleThreadProxy::finishAllRendering):
22683         (WebCore::CCSingleThreadProxy::setNeedsCommit):
22684         (WebCore::CCSingleThreadProxy::commitIfNeeded):
22685         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
22686         (WebCore::CCThreadProxy::CCThreadProxy):
22687         (WebCore::CCThreadProxy::~CCThreadProxy):
22688         (WebCore::CCThreadProxy::compositeAndReadback):
22689         (WebCore::CCThreadProxy::drawLayersAndReadbackOnCCThread):
22690         (WebCore::CCThreadProxy::finishAllRendering):
22691         (WebCore::CCThreadProxy::isStarted):
22692         (WebCore::CCThreadProxy::setNeedsCommit):
22693         (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
22694         (WebCore::CCThreadProxy::setNeedsRedraw):
22695         (WebCore::CCThreadProxy::start):
22696         (WebCore::CCThreadProxy::stop):
22697         (WebCore::CCThreadProxy::finishAllRenderingOnCCThread):
22698         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
22699         (WebCore::CCThreadProxy::beginFrameAndCommit):
22700         (WebCore::CCThreadProxy::commitOnCCThread):
22701         (WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
22702         (WebCore::CCThreadProxy::drawLayersAndPresentOnCCThread):
22703         (WebCore::CCThreadProxy::drawLayersOnCCThread):
22704         (WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):
22705         * platform/graphics/chromium/cc/CCThreadProxy.h:
22706
22707 2011-09-21  Beth Dakin  <bdakin@apple.com>
22708
22709         https://bugs.webkit.org/show_bug.cgi?id=67415
22710         Text drawn via -webkit-background-clip:text is blurry at device scale factors >1.0
22711         -and corresponding-
22712         <rdar://problem/10060379>
22713
22714         Reviewed by Darin Adler.
22715
22716         New helper function RenderBoxModelObject scales the mask image by the 
22717         deviceScaleFactor to get an image of the appropriate resolution. It also scales 
22718         the image's GraphicsContext so that the clip is set up on the same scale. Back in 
22719         paintFillLayerExtended() we still clip the image to the original maskRect to get 
22720         everything scaled back to the appropriate size.
22721         * rendering/RenderBoxModelObject.cpp:
22722         (WebCore::createDeviceScaledImageBuffer):
22723         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
22724
22725         Make the deviceScaleFactor convenience function just a namespace-level function in 
22726         Page rather than a static member or Page.
22727         * page/Page.cpp:
22728         (WebCore::deviceScaleFactor):
22729         * page/Page.h:
22730         
22731         Pre-existing callers of Page::deviceScaleFactor(Frame*) must now use 
22732         WebCore::deviceScaleFactor(Frame*)
22733         * editing/DeleteButtonController.cpp:
22734         (WebCore::DeleteButtonController::createDeletionUI):
22735         * rendering/RenderImage.cpp:
22736         (WebCore::RenderImage::imageSizeForError):
22737         (WebCore::RenderImage::paintReplaced):
22738         * rendering/RenderLayer.cpp:
22739         (WebCore::RenderLayer::drawPlatformResizerImage):
22740
22741 2011-09-21  Tim Horton  <timothy_horton@apple.com>
22742
22743         [CG] ImageBufferData::getData has an invariant comparison in the inner part of a loop which doesn't get optimized out
22744         https://bugs.webkit.org/show_bug.cgi?id=68588
22745         <rdar://problem/10164955>
22746
22747         Reviewed by Simon Fraser.
22748
22749         Factor the unmultiplied check out of the inner loop, resulting in a
22750         speed bump in ImageBufferData::getData.
22751
22752         No new tests, performance improvement.
22753
22754         * platform/graphics/cg/ImageBufferDataCG.cpp:
22755         (WebCore::ImageBufferData::getData):
22756
22757 2011-09-21  Sameer Patil  <mkrp87@motorola.com>
22758
22759         :hover selector fails when hovering over a child select element with size attribute
22760         https://bugs.webkit.org/show_bug.cgi?id=67594
22761
22762         Reviewed by Darin Adler.
22763
22764         Test: fast/css/hover-affects-ancestor.html
22765
22766         This patch addresses the problem of deactivation of the ancestor element :hover rules
22767         when hovered its contained elements.
22768
22769         * rendering/RenderLayer.cpp:
22770         (WebCore::RenderLayer::updateHoverActiveState):
22771
22772 2011-09-21  Sergey Glazunov  <serg.glazunov@gmail.com>
22773
22774         [Chromium] Protect message ports from being deleted in V8MessageEvent::portsAccessorGetter
22775         https://bugs.webkit.org/show_bug.cgi?id=68584
22776
22777         Reviewed by Adam Barth.
22778
22779         Test: fast/dom/message-port-deleted-by-accessor.html
22780
22781         * bindings/v8/custom/V8MessageEventCustom.cpp:
22782         (WebCore::V8MessageEvent::portsAccessorGetter):
22783
22784 2011-09-21  Anders Carlsson  <andersca@apple.com>
22785
22786         Add back protection against the NSView going away while handling mouseDown
22787         https://bugs.webkit.org/show_bug.cgi?id=68585
22788
22789         Reviewed by Darin Adler.
22790
22791         Add calls to RenderWidget::suspendWidgetHierarchyUpdates() and RenderWidget::resumeWidgetHierarchyUpdates(),
22792         as a followup fix to https://bugs.webkit.org/show_bug.cgi?id=68570.
22793
22794         * page/mac/EventHandlerMac.mm:
22795         (WebCore::EventHandler::passMouseDownEventToWidget):
22796
22797 2011-09-21  Julien Chaffraix  <jchaffraix@webkit.org>
22798
22799         Crash in RenderBox::paintMaskImages when GraphicsContext's painting is disabled
22800         https://bugs.webkit.org/show_bug.cgi?id=68133
22801
22802         Reviewed by Darin Adler.
22803
22804         Tests: fast/css/webkit-mask-crash-fieldset-legend.html
22805                fast/css/webkit-mask-crash-figure.html
22806                fast/css/webkit-mask-crash-table.html
22807                fast/css/webkit-mask-crash-td-2.html
22808                fast/css/webkit-mask-crash-td.html
22809
22810         GraphicsContext::getCTM crashes if called with a GraphicsContext that has painting
22811         disabled. RenderBox::paintMaskImages would thus crash if called in this condition.
22812
22813         This change just modifies the different GraphicsContext::getCTM method to bail early
22814         if painting is disabled on the GraphicsContext. The rest of the change is exposing
22815         paintControlTints that exposes this.
22816
22817         * WebCore.exp.in: Added symbols of the newly export window.internals function.
22818
22819         * page/FrameView.cpp:
22820         (WebCore::FrameView::updateControlTints): Split this function in 2 so that
22821         I can expose the internal paintControlTints.
22822
22823         (WebCore::FrameView::paintControlTints):
22824         This is the one exposed to Internals as we want to be testable regardless of
22825         whether the platform supports control tints.
22826
22827         * page/FrameView.h: Added paintControlTints.
22828
22829         * testing/Internals.cpp:
22830         (WebCore::Internals::paintControlTints):
22831         * testing/Internals.h:
22832         * testing/Internals.idl:
22833         Added a way to force a fake painting so that we can easily reproduce the bugs.
22834
22835         * platform/graphics/cairo/GraphicsContextCairo.cpp:
22836         (WebCore::GraphicsContext::getCTM):
22837         * platform/graphics/cg/GraphicsContextCG.cpp:
22838         (WebCore::GraphicsContext::getCTM):
22839         * platform/graphics/qt/GraphicsContextQt.cpp:
22840         (WebCore::GraphicsContext::getCTM):
22841         * platform/graphics/skia/GraphicsContextSkia.cpp:
22842         (WebCore::GraphicsContext::getCTM):
22843         * platform/graphics/wince/GraphicsContextWinCE.cpp:
22844         (WebCore::GraphicsContext::getCTM):
22845         * platform/graphics/wx/GraphicsContextWx.cpp:
22846         (WebCore::GraphicsContext::getCTM):
22847         Fixed all our back-end to exit early if painting is disabled.
22848
22849 2011-09-19  Jer Noble  <jer.noble@apple.com>
22850
22851         Add settings to control the availability of the Web Audio API to WebKit and WebKit2.
22852         https://bugs.webkit.org/show_bug.cgi?id=68382
22853
22854         Reviewed by Darin Adler.
22855
22856         Only create a AudioContext object if the Web Audio feature is runtime-enabled in Settings.
22857
22858         No new tests, as this feature is not yet enabled by default.
22859
22860         * bindings/js/JSDOMWindowCustom.cpp:
22861         (WebCore::JSDOMWindow::webkitAudioContext):
22862
22863 2011-09-21  Anders Carlsson  <andersca@apple.com>
22864
22865         Remove checks for Leopard-only Objective-C APIs
22866         https://bugs.webkit.org/show_bug.cgi?id=68579
22867
22868         Reviewed by Sam Weinig.
22869
22870         We can always assume that OBJC_API_VERSION is at least 2, it's been 2 since Leopard.
22871
22872         * bridge/objc/objc_class.mm:
22873         (JSC::Bindings::ObjcClass::methodsNamed):
22874         (JSC::Bindings::ObjcClass::fieldNamed):
22875         * bridge/objc/objc_instance.mm:
22876         (allocateAutoReleasePool):
22877         * bridge/objc/objc_runtime.mm:
22878         (JSC::Bindings::ObjcField::ObjcField):
22879         * page/mac/EventHandlerMac.mm:
22880
22881 2011-09-21  Anders Carlsson  <andersca@apple.com>
22882
22883         Remove Widget::beforeMouseDown and Widget::afterMouseDown
22884         https://bugs.webkit.org/show_bug.cgi?id=68570
22885
22886         Reviewed by Sam Weinig.
22887
22888         These two member functions were originally added to avoid crashes due to removing NSViews while they were
22889         being tracked by AppKit. Since they were added, we've moved away from NSViews for form controls, and the bugs in
22890         AppKit that lead to crashes have been fixed.
22891
22892         * page/mac/EventHandlerMac.mm:
22893         (WebCore::EventHandler::passMouseDownEventToWidget):
22894         * platform/Widget.h:
22895         * platform/mac/WidgetMac.mm:
22896         (WebCore::Widget::Widget):
22897         (WebCore::Widget::removeFromSuperview):
22898
22899         * rendering/RenderWidget.cpp:
22900         Change widgetHierarchyUpdateSuspendCount to be an unsigned integer instead of a size_t.
22901
22902 2011-09-21  Abhishek Arya  <inferno@chromium.org>
22903
22904         Not use anonymousContainer on beforeChild calculation
22905         and let later code handle it. Fix style update on block-level
22906         anonymous objects.
22907         https://bugs.webkit.org/show_bug.cgi?id=67656
22908
22909         Reviewed by David Hyatt.
22910
22911         Test: fast/table/quote-text-around-iframe.html
22912
22913         * rendering/RenderTable.cpp:
22914         (WebCore::RenderTable::addChild):
22915         * rendering/RenderTableCell.cpp:
22916         (WebCore::RenderTableCell::styleDidChange):
22917         * rendering/RenderTableRow.cpp:
22918         (WebCore::RenderTableRow::addChild):
22919         * rendering/RenderObject.cpp:
22920         (WebCore::RenderObject::propagateStyleToAnonymousChildren):
22921
22922 2011-09-21  David Hyatt  <hyatt@apple.com>
22923
22924         https://bugs.webkit.org/show_bug.cgi?id=68562
22925         
22926         Pagination struts don't update properly when collapsing margin estimates are wrong.
22927         
22928         Refactor the pagination adjustments that happen during block layout to allow for
22929         a 3-pass layout system instead of just a 2-pass layout system. The basic idea is
22930         to come up with an estimate that includes collapsing, clearance and pagination.
22931         
22932         If the estimate only with collapsing and clearance was wrong, then we lay out again
22933         using the correct collapsing margin values and clearance before applying pagination breaks.
22934         
22935         After this second layout, the normal code that runs when unpaginated compares estimates
22936         and lays out a third time to account for adjustments as a result of pagination movement.
22937
22938         Reviewed by Sam Weinig.
22939
22940         Added fast/regions/text-regions-split-small-pagination.html
22941
22942         * rendering/RenderBlock.cpp:
22943         (WebCore::RenderBlock::estimateLogicalTopPosition):
22944         (WebCore::RenderBlock::layoutBlockChild):
22945         (WebCore::RenderBlock::adjustBlockChildForPagination):
22946         * rendering/RenderBlock.h:
22947
22948 2011-09-21  James Robinson  <jamesr@chromium.org>
22949
22950         [chromium] SharedGraphicsContext3D's context should not be destroyed during atexit
22951         https://bugs.webkit.org/show_bug.cgi?id=68558
22952
22953         Reviewed by Stephen White.
22954
22955         The SharedGraphicsContext3D's internal context is lazily created and then leaked intentionally, but since the
22956         last ref is in a function-static RefPtr<> it ends up being destroyed at process exit time.  This is bad, since
22957         by the time we get this far in process shutdown we can't actually cleanly run the destruction logic and we
22958         crash.  Since we are explicitly leaking this for the lifetime of the process there's no point in keeping it in a
22959         RefPtr<>
22960
22961         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
22962         (WebCore::SharedGraphicsContext3D::get):
22963
22964 2011-09-21  Sergey Glazunov  <serg.glazunov@gmail.com>
22965
22966         [Chromium] Protect the Frame in V8HTMLDocument::openCallback
22967         https://bugs.webkit.org/show_bug.cgi?id=68555
22968
22969         Reviewed by Nate Chapin.
22970
22971         Test: fast/dom/frame-deleted-in-document-open.html
22972
22973         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
22974         (WebCore::V8HTMLDocument::openCallback):
22975
22976 2011-09-21  Adam Klein  <adamk@chromium.org>
22977
22978         Clean up CSS Counter code
22979         https://bugs.webkit.org/show_bug.cgi?id=68492
22980
22981         Reviewed by Tony Chang.
22982
22983         Several cleanups/fixes:
22984         - Make Counter::listStyle() return the actual list style string,
22985           rather than empty string.
22986         - Handle a specified list style of "none" correctly when generating
22987           cssText and in Counter::listStyle().
22988         - Use StringBuilder when generating cssText.
22989
22990         Test: fast/css/counters/getCounterValue.html
22991
22992         * css/CSSParser.cpp:
22993         (WebCore::CSSParser::parseCounterContent):
22994         Simplify processing (moving conversion to CSSStyleSelector),
22995         pass a CSS_IDENT as the listStyle to Counter::create.
22996         * css/CSSPrimitiveValue.cpp:
22997         (WebCore::CSSPrimitiveValue::cssText):
22998         Use StringBuilder.
22999         * css/CSSStyleSelector.cpp:
23000         (WebCore::CSSStyleSelector::applyProperty):
23001         Convert from a CSS_IDENT to an EListStyleType.
23002         * css/Counter.h:
23003         (WebCore::Counter::listStyleIdent):
23004         Renamed from listStyleNumber to match its new functionality.
23005
23006 2011-09-21  Chris Marrin  <cmarrin@apple.com>
23007
23008         Check in WebCore.vcproj file unchanged but written like MSDev likes it
23009
23010         Unreviewed.
23011
23012         * WebCode.vcproj/WebCore.vcproj:
23013
23014 2011-09-21  Stephen White  <senorblanco@chromium.org>
23015
23016         [chromium] Optimize ImageBuffer constructor when accelerated
23017         https://bugs.webkit.org/show_bug.cgi?id=68501
23018
23019         If the accelerated rendering mode is passed in to ImageBuffer, instead
23020         of creating a bitmap PlatformCanvas and subsequently replacing its
23021         device with an SkGpuDevice, create an SkCanvas and SkGpuDevice first,
23022         and fall back to raster creation only failure.  This saves on system
23023         RAM for the backing store (and possibly GDI resources).
23024
23025         Reviewed by James Robinson.
23026
23027         Covered by existing tests.
23028
23029         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
23030         (WebCore::SharedGraphicsContext3D::get):
23031         * platform/graphics/gpu/SharedGraphicsContext3D.h:
23032         Rename "SharedGraphicsContext3D::create()" to "get()" to more
23033         accurately reflect its function.
23034         * platform/graphics/skia/ImageBufferSkia.cpp:
23035         (WebCore::createAcceleratedCanvas):
23036         Refactor creation of accelerated ImageBuffer.
23037         (WebCore::ImageBuffer::ImageBuffer):
23038         Attempt creation of accelerated ImageBuffer first, and only fall back
23039         to bitmap-backed canvas creation if it fails.
23040
23041 2011-09-21  Dan Bernstein  <mitz@apple.com>
23042
23043         WebCore part of: Prevent the WebKit frameworks from defining inappropriately-named Objective-C classes
23044         https://bugs.webkit.org/show_bug.cgi?id=68451
23045
23046         Reviewed by Darin Adler.
23047
23048         * WebCore.xcodeproj/project.pbxproj: Added a script build phase that invokes
23049         check-for-inappropriate-objc-class-names, allowing only class names prefixed with "DOM" or "Web".
23050
23051 2011-09-21  Dan Bernstein  <mitz@apple.com>
23052
23053         <rdar://problem/9768483> REGRESSION: Crash in RenderBlock::removeFloatingObjectsBelow()
23054         https://bugs.webkit.org/show_bug.cgi?id=68550
23055
23056         Reviewed by Darin Adler.
23057
23058         Test: fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow.html
23059
23060         * rendering/RenderBlock.cpp:
23061         (WebCore::RenderBlock::removeFloatingObjectsBelow): Break out of the while() loop when the
23062         floating object set is empty, which can happen if there were no floats on previous lines
23063         (in which case, lastFloat is 0).
23064
23065 2011-09-21  ChangSeok Oh  <shivamidow@gmail.com>
23066
23067         [GTK] Fix build break when enabling webgl on r95593
23068         https://bugs.webkit.org/show_bug.cgi?id=68502
23069
23070         Reviewed by Martin Robinson.
23071
23072         Add PassOwnPtr.h to GC3DPrivate.h and remove useless one from GC3DGtk.cpp & GC3DPrivate.cpp
23073
23074         No tests required.
23075
23076         * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
23077         * platform/graphics/gtk/GraphicsContext3DPrivate.cpp:
23078         * platform/graphics/gtk/GraphicsContext3DPrivate.h:
23079
23080 2011-09-21  Vsevolod Vlasov  <vsevik@chromium.org>
23081
23082         Web Inspector: clear resource agent resource cache upon resource agent's disable.
23083         https://bugs.webkit.org/show_bug.cgi?id=67995
23084
23085         Reviewed by Pavel Feldman.
23086
23087         Test: http/tests/inspector/network/network-disabling-check-no-memory-leak.html
23088
23089         * inspector/InspectorResourceAgent.cpp:
23090         (WebCore::InspectorResourceAgent::disable):
23091
23092 2011-09-21  David Hyatt  <hyatt@apple.com>
23093
23094         https://bugs.webkit.org/show_bug.cgi?id=68543
23095         
23096         Make sure that when regions change dimensions we recompute pagination slices.
23097
23098         Reviewed by Simon Fraser.
23099
23100         Added new tests in fast/regions.
23101
23102         * rendering/LayoutState.cpp:
23103         (WebCore::LayoutState::LayoutState):
23104         * rendering/LayoutState.h:
23105         * rendering/RenderFlowThread.cpp:
23106         (WebCore::RenderFlowThread::layout):
23107         (WebCore::RenderFlowThread::renderRegionForLine):
23108         (WebCore::RenderFlowThread::regionLogicalWidthForLine):
23109         * rendering/RenderRegion.cpp:
23110         (WebCore::RenderRegion::layout):
23111         * rendering/RenderView.cpp:
23112         (WebCore::RenderView::pushLayoutState):
23113         * rendering/RenderView.h:
23114         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
23115         (WebCore::LayoutStateMaintainer::push):
23116
23117 2011-09-21  Xianzhu Wang  <wangxianzhu@chromium.org>
23118
23119         Ensure TestWebKitAPI works on mac, win, chromium-mac and chromium-linux
23120         https://bugs.webkit.org/show_bug.cgi?id=68206
23121
23122         Reviewed by Tony Chang.
23123
23124         Added two new wtf headers into ForwardingHeaders/wtf to make
23125         #include <wtf/...h> cross-platform.
23126         No new tests needed.
23127
23128         * ForwardingHeaders/wtf/MetaAllocator.h: Added.
23129         * ForwardingHeaders/wtf/RedBlackTree.h: Added.
23130
23131 2011-09-21  David Delaune  <david.delaune@googlemail.com>
23132
23133         [WinCairo] IconDatabase::defaultIcon always fails for non-CAN_THEME_URL_ICON builds.
23134         https://bugs.webkit.org/show_bug.cgi?id=67469
23135
23136         Reviewed by Brent Fulgham.
23137
23138         No new functionality added in this change.
23139
23140         * loader/icon/IconDatabase.cpp: defining CAN_THEME_URL_ICON for the WIN_CAIRO
23141
23142 2011-09-20  Ryosuke Niwa  <rniwa@webkit.org>
23143
23144         Span element gets produced using backspace/delete to merge header with paragraph
23145         https://bugs.webkit.org/show_bug.cgi?id=68413
23146
23147         Reviewed by Darin Adler.
23148
23149         Add p element to the list of elements to retain appearance. Also modified removeStyleFromNode
23150         (and renamed to removeStyleFromRules) not to remove inline style declarations because
23151         inline styles need to stay on copy.
23152
23153         Test: editing/deleting/merge-paragraph-from-p-with-style.html
23154
23155         * editing/DeleteSelectionCommand.cpp:
23156         (WebCore::DeleteSelectionCommand::saveTypingStyleState):
23157         * editing/EditingStyle.cpp:
23158         (WebCore::EditingStyle::removeStyleFromRules): Renamed from removeStyleFromNode.
23159         * editing/EditingStyle.h:
23160         * editing/markup.cpp:
23161         (WebCore::isBlockNodeToRetainAppearance):
23162         (WebCore::StyledMarkupAccumulator::serializeNodes):
23163
23164 2011-09-21  Alice Boxhall  <aboxhall@chromium.org>
23165
23166         Report AXValueChanged when value changes in element with role=textbox.
23167         https://bugs.webkit.org/show_bug.cgi?id=68201
23168
23169         Reviewed by Chris Fleizach.
23170
23171         Test: platform/mac/accessibility/textbox-role-reports-notifications.html
23172
23173         * accessibility/AccessibilityObject.cpp:
23174         (WebCore::AccessibilityObject::isARIATextControl):
23175         * accessibility/AccessibilityObject.h:
23176         * accessibility/AccessibilityRenderObject.cpp:
23177         (WebCore::AccessibilityRenderObject::contentChanged):
23178         (WebCore::AccessibilityRenderObject::childrenChanged):
23179
23180 2011-09-21  Pavel Feldman  <pfeldman@google.com>
23181
23182         Web Inspector: introduce Page.enable and Page.disable
23183         https://bugs.webkit.org/show_bug.cgi?id=68530
23184
23185         Otherwise protocol is violating the contract of not sending
23186         notifications by default.
23187
23188         Reviewed by Yury Semikhatsky.
23189
23190         * inspector/Inspector.json:
23191
23192 2011-09-21  Pavel Feldman  <pfeldman@google.com>
23193
23194         Web Inspector: add minimal error handling to the DOM breakpoints.
23195         https://bugs.webkit.org/show_bug.cgi?id=68537
23196
23197         Reviewed by Yury Semikhatsky.
23198
23199         * inspector/InspectorDOMAgent.h:
23200         * inspector/InspectorDOMDebuggerAgent.cpp:
23201         (WebCore::domTypeForName):
23202         (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
23203         (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
23204
23205 2011-09-21  Ilya Tikhonovsky  <loislo@chromium.org>
23206
23207         Web Inspector: make WebInspector a bit more timeline friendly.
23208         https://bugs.webkit.org/show_bug.cgi?id=68534
23209
23210         I found that the maximum captured stack frame depth tracked by timeline is not
23211         very convenient because the average depth of call stack considerably more than five.
23212         Another useful trick is console.timeStamp for all backend calls.
23213
23214         Reviewed by Yury Semikhatsky.
23215
23216         * inspector/CodeGeneratorInspector.pm:
23217         * inspector/front-end/TimelinePanel.js:
23218         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
23219
23220 2011-09-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
23221
23222         [Qt][WK2] Implement Download support in WebProcess
23223         https://bugs.webkit.org/show_bug.cgi?id=68153
23224
23225         Reviewed by Andreas Kling.
23226
23227         Refactored QNetworkReplyHandler::finish() in order to add
23228         and use the static function QNetworkReplyHandler::errorForReply().
23229         This will be used by our Download implementation in WebKit2 (WebProcess)
23230         when handling ResourceError.
23231
23232         * platform/network/qt/QNetworkReplyHandler.cpp:
23233         (WebCore::QNetworkReplyHandler::finish):
23234         (WebCore::QNetworkReplyHandler::errorForReply):
23235         * platform/network/qt/QNetworkReplyHandler.h:
23236         * platform/network/qt/ResourceRequest.h:
23237
23238 2011-09-21  Pavel Feldman  <pfeldman@google.com>
23239
23240         Web Inspector: paint box model colors in Metrics sidebar at all times, do not draw box outlines.
23241         https://bugs.webkit.org/show_bug.cgi?id=68240
23242
23243         Today we paint backgrounds in Metrics box model on hover only - should be painted at all
23244         times for the reference. Outlining boxes is highlight is wrong since outlines are outside
23245         the corresponding box regions. We've seen few reports on that + Firebug does not do borders
23246         for that reason.
23247
23248         Reviewed by Yury Semikhatsky.
23249
23250         * inspector/DOMNodeHighlighter.cpp:
23251         * inspector/DOMNodeHighlighter.h:
23252         * inspector/Inspector.json:
23253         * inspector/InspectorDOMAgent.cpp:
23254         (WebCore::InspectorDOMAgent::setHighlightDataFromConfig):
23255         * inspector/front-end/Color.js:
23256         * inspector/front-end/MetricsSidebarPane.js:
23257         (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
23258         (WebInspector.MetricsSidebarPane.prototype._updateMetrics):
23259         * inspector/front-end/inspector.css:
23260         (.metrics .label):
23261         * inspector/front-end/inspector.js:
23262         (WebInspector.buildHighlightConfig):
23263
23264 2011-09-21  Andreas Kling  <kling@webkit.org>
23265
23266         Protect against misuse of EventListenerIterator.
23267         https://bugs.webkit.org/show_bug.cgi?id=68364
23268
23269         Reviewed by Darin Adler.
23270
23271         In debug mode, keep track of the number of active EventListenerIterators
23272         on an EventListenerMap, and assert that there are no iterators when the
23273         map is being modified.
23274
23275         * dom/EventListenerMap.cpp:
23276         (WebCore::EventListenerMap::EventListenerMap):
23277         (WebCore::EventListenerMap::clear):
23278         (WebCore::EventListenerMap::add):
23279         (WebCore::EventListenerMap::remove):
23280         (WebCore::EventListenerMap::find):
23281         (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
23282         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
23283         (WebCore::EventListenerIterator::EventListenerIterator):
23284         (WebCore::EventListenerIterator::~EventListenerIterator):
23285         * dom/EventListenerMap.h:
23286
23287 2011-09-21  Pavel Feldman  <pfeldman@google.com>
23288
23289         Web Inspector: minor fixes in the DOM domain of the protocol.
23290         https://bugs.webkit.org/show_bug.cgi?id=68517
23291
23292         Reviewed by Yury Semikhatsky.
23293
23294         * inspector/Inspector.json:
23295         * inspector/InspectorDOMAgent.cpp:
23296         (WebCore::InspectorDOMAgent::setAttributesAsText):
23297         * inspector/InspectorDOMAgent.h:
23298         * inspector/front-end/DOMAgent.js:
23299         (WebInspector.DOMNode.prototype.setAttribute):
23300
23301 2011-09-16  Pavel Feldman  <pfeldman@google.com>
23302
23303         Web Inspector: limit the use of "Resource" term in the protocol.
23304         https://bugs.webkit.org/show_bug.cgi?id=68250
23305
23306         Reviewed by Yury Semikhatsky.
23307
23308         * inspector/Inspector.json:
23309         * inspector/InspectorResourceAgent.cpp:
23310         (WebCore::InspectorResourceAgent::markResourceAsCached):
23311         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
23312         (WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
23313         (WebCore::InspectorResourceAgent::getResponseBody):
23314         * inspector/InspectorResourceAgent.h:
23315         * inspector/front-end/ExtensionServer.js:
23316         (WebInspector.ExtensionServer.prototype._onAddRequestHeaders):
23317         * inspector/front-end/NetworkManager.js:
23318         (WebInspector.NetworkManager.prototype.requestContent):
23319         (WebInspector.NetworkDispatcher.prototype.requestServedFromCache):
23320         (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
23321
23322 2011-09-21  Sheriff Bot  <webkit.review.bot@gmail.com>
23323
23324         Unreviewed, rolling out r95608.
23325         http://trac.webkit.org/changeset/95608
23326         https://bugs.webkit.org/show_bug.cgi?id=68521
23327
23328         breaks GTK and Windows builds. Please check EWS next time.
23329         (Requested by philn-tp on #webkit).
23330
23331         * html/HTMLBodyElement.cpp:
23332         (WebCore::adjustForZoom):
23333         (WebCore::HTMLBodyElement::setScrollLeft):
23334         (WebCore::HTMLBodyElement::setScrollTop):
23335         * loader/HistoryController.cpp:
23336         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
23337         * page/DOMWindow.cpp:
23338         (WebCore::DOMWindow::scrollX):
23339         (WebCore::DOMWindow::scrollY):
23340         (WebCore::DOMWindow::scrollTo):
23341         * page/Frame.cpp:
23342         (WebCore::Frame::pageScaleFactor):
23343         * page/Frame.h:
23344         * page/FrameView.cpp:
23345         (WebCore::FrameView::applyOverflowToViewport):
23346         (WebCore::FrameView::scrollXForFixedPosition):
23347         (WebCore::FrameView::scrollYForFixedPosition):
23348
23349 2011-09-21  Pavel Feldman  <pfeldman@google.com>
23350
23351         Web Inspector: console panel's scroller is not properly aligned.
23352         https://bugs.webkit.org/show_bug.cgi?id=68448
23353
23354         Reviewed by Yury Semikhatsky.
23355
23356         * inspector/front-end/inspector.css:
23357         (#console-view):
23358         (#console-messages):
23359         (#drawer #console-messages):
23360
23361 2011-09-20  Alpha Lam  <hclam@chromium.org>
23362
23363         https://bugs.webkit.org/show_bug.cgi?id=68081
23364         Fix scroll in page scaling mode.
23365
23366         Reviewed by Simon Fraser.
23367
23368         The following things are done in this patch:
23369         1. Rename Frame::pageScaleFactor() to Frame::frameScaleFactor() to better
23370            reflect its purpose.
23371         2. Frame::frameScaleFactor() returns the scale factor of this frame with
23372            respect to the container. So for the main frame it'll return the scale
23373            factor of the page, inner frames will return 1.0
23374         3. scrollBy(), scrollX() and scrollY() to take into account of the frame
23375            scale factor, causing incorrect coordinates reported to Javascript.
23376
23377         Tests: fast/events/scale-and-scroll-body.html
23378                fast/events/scale-and-scroll-iframe-body.html
23379                fast/events/scale-and-scroll-iframe-window.html
23380                fast/events/scale-and-scroll-window.html
23381
23382         * html/HTMLBodyElement.cpp:
23383         (WebCore::adjustForZoom):
23384         (WebCore::HTMLBodyElement::setScrollLeft):
23385         (WebCore::HTMLBodyElement::setScrollTop):
23386         * loader/HistoryController.cpp:
23387         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
23388         * page/DOMWindow.cpp:
23389         (WebCore::DOMWindow::scrollX):
23390         (WebCore::DOMWindow::scrollY):
23391         (WebCore::DOMWindow::scrollTo):
23392         * page/Frame.cpp:
23393         (WebCore::Frame::frameScaleFactor): Return page's scale factor if this is
23394                                             main frame, otherwise 1.0
23395         * page/Frame.h:
23396         * page/FrameView.cpp:
23397         (WebCore::FrameView::applyOverflowToViewport):
23398         (WebCore::FrameView::scrollXForFixedPosition):
23399         (WebCore::FrameView::scrollYForFixedPosition):
23400
23401 2011-09-21  Andras Becsi  <andras.becsi@nokia.com>
23402
23403         [Qt] Remove Qt specific code from css/SelectorChecker.cpp
23404         https://bugs.webkit.org/show_bug.cgi?id=67702
23405
23406         Reviewed by Csaba Osztrogonác.
23407
23408         No new tests needed.
23409
23410         * css/SelectorChecker.cpp: Move Qt-specific code to the Qt-specific WebPlatformStrategies.
23411         (WebCore::SelectorChecker::determineLinkStateSlowCase):
23412         * platform/VisitedLinkStrategy.h:
23413
23414 2011-09-16  MORITA Hajime  <morrita@google.com>
23415
23416         Style changes on forwarded shadow children should trigger shadow renderer reconstruction.
23417         https://bugs.webkit.org/show_bug.cgi?id=68228
23418
23419         Reviewed by Dimitri Glazkov.
23420
23421         Currently style changes on forwarded shadow child triggers
23422         Node::reattach() only for the forwarded node. But it should
23423         invalidate whole renderers on the shadow tree because
23424         ShadowContentElement expects its inclusions to be attached and to
23425         create renderers in the inclusion order. But single node
23426         reattach() violates the expectation and possibly creates
23427         inconsistent render tree.
23428
23429         This change makes NodeRenderingContext to go
23430         AttachContentForwarded, where the ShadowContentElement::attach()
23431         happens, only during ShadowRoot::attach(), not for style-change
23432         triggered Node::attach() on the forwarded nodes.
23433
23434         Note that the altering phase AttachContentLight doesn't create
23435         renderers for the forwarded nodes. Instead of that, it possibly
23436         triggers shadow subtree reconstruction on
23437         NodeRenderingContext::hostChildrenChanged().
23438
23439         No new tests. This is a defensive change. There is no visible
23440         difference at this time.
23441
23442         * dom/NodeRenderingContext.cpp:
23443         (WebCore::NodeRenderingContext::NodeRenderingContext):
23444         * dom/ShadowRoot.cpp:
23445         (WebCore::ShadowRoot::isInclusionSelectorActive):
23446         * dom/ShadowRoot.h:
23447
23448 2011-09-20  MORITA Hajime  <morrita@google.com>
23449
23450         <meter> doesn't update rendering when its value is changed.
23451         https://bugs.webkit.org/show_bug.cgi?id=67614
23452
23453         Reviewed by Dimitri Glazkov.
23454
23455         It lacks repaint() when the value is changed. 
23456         
23457         For non-native appearance it works because the indicator is
23458         implemented in shadow DOM, for native appearance, repainting should be
23459         handled explicitly.
23460         
23461         Test: fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value.html
23462
23463         * html/HTMLMeterElement.cpp:
23464         (WebCore::HTMLMeterElement::didElementStateChange):
23465         * rendering/RenderMeter.cpp:
23466         (WebCore::RenderMeter::updateFromElement):
23467         * rendering/RenderMeter.h:
23468         * rendering/RenderProgress.cpp:
23469         (WebCore::RenderProgress::updateAnimationState):
23470
23471 2011-09-20  Kent Tamura  <tkent@chromium.org>
23472
23473         Move RenderObject::markContainingBlocksForLayout() to RenderObject.cpp.
23474         https://bugs.webkit.org/show_bug.cgi?id=67989
23475
23476         Reviewed by Ryosuke Niwa.
23477
23478         No new tests because of no behavior change.
23479
23480         * rendering/RenderObject.cpp:
23481         (WebCore::objectIsRelayoutBoundary): Moved from RenderObject.h.
23482         (WebCore::RenderObject::markContainingBlocksForLayout): Moved from RenderObject.h
23483         * rendering/RenderObject.h:
23484
23485 2011-09-20  Rachel Blum  <groby@chromium.org>
23486
23487         Support for multiple <link rel="icon"> favicon elements.
23488         https://bugs.webkit.org/show_bug.cgi?id=65564
23489
23490         Reviewed by Darin Fisher.
23491
23492         No tests - purely an API change. (And API is not exposed to LayoutTests)
23493
23494         * dom/Document.cpp:
23495         (WebCore::Document::iconURLs):
23496         (WebCore::Document::addIconURL):
23497         * dom/Document.h:
23498         * dom/IconURL.cpp:
23499         (WebCore::toIconIndex):
23500         * dom/IconURL.h:
23501         (WebCore::IconURL::IconURL):
23502         * html/HTMLLinkElement.cpp:
23503         (WebCore::HTMLLinkElement::process):
23504         * loader/LinkLoader.cpp:
23505         (WebCore::LinkLoader::loadLink):
23506         * loader/LinkLoader.h:
23507         * loader/icon/IconController.cpp:
23508         (WebCore::IconController::urlsForTypes):
23509         (WebCore::IconController::appendToIconURLs):
23510         (WebCore::IconController::defaultURL):
23511
23512 2011-09-20  Ojan Vafai  <ojan@chromium.org>
23513
23514         [css3-flexbox] cleanup padding width calculations
23515         https://bugs.webkit.org/show_bug.cgi?id=68490
23516
23517         Reviewed by Tony Chang.
23518
23519         No new tests. Existing tests cover the refactor.
23520
23521         * rendering/RenderFlexibleBox.cpp:
23522         (WebCore::RenderFlexibleBox::logicalBorderAndPaddingWidthForChild):
23523         (WebCore::RenderFlexibleBox::logicalScrollbarHeightForChild):
23524         (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
23525         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
23526         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
23527         * rendering/RenderFlexibleBox.h:
23528
23529 2011-09-19  Jer Noble  <jer.noble@apple.com>
23530
23531         Fix clang compile errors in Web Audio
23532         https://bugs.webkit.org/show_bug.cgi?id=68384
23533
23534         Reviewed by David Levin.
23535
23536         No new tests; no net change in functionality.
23537
23538         * platform/graphics/MediaPlayer.h: Forward declare (instead of including directly)
23539             AudioSourceProvider.
23540         * webaudio/AudioChannelMerger.cpp:
23541         (WebCore::AudioChannelMerger::checkNumberOfChannelsForInput): Remove unused parameter name.
23542
23543 2011-09-20  John Gregg  <johnnyg@google.com>
23544
23545         Directory Upload: parent path can truncate first char of the correct path
23546         https://bugs.webkit.org/show_bug.cgi?id=66695
23547
23548         In some cases, if the parent path we compute ends with a separator
23549         character like '/' or 'C:\', by adding one in an attempt to grab the
23550         subsequent separator we actually grab a character of the real path,
23551         which is incorrect.
23552
23553         Reviewed by Darin Fisher.
23554
23555         * html/FileInputType.cpp:
23556         (WebCore::FileInputType::setFileList):
23557
23558 2011-09-20  Jochen Eisinger  <jochen@chromium.org>
23559
23560         Invoke CachedResourceLoader::canRequest for all URLs in a redirect chain
23561         https://bugs.webkit.org/show_bug.cgi?id=68279
23562
23563         Reviewed by Adam Barth.
23564
23565         * loader/cache/CachedResourceLoader.h:
23566         * loader/cache/CachedResourceRequest.cpp:
23567         (WebCore::CachedResourceRequest::willSendRequest):
23568
23569 2011-09-18  Ojan Vafai  <ojan@chromium.org>
23570
23571         change RenderFlexibleBox to act on logical coordinates
23572         https://bugs.webkit.org/show_bug.cgi?id=68129
23573
23574         Reviewed by David Hyatt.
23575
23576         This makes RenderFlexibleBox respect direction and writing-mode.
23577         We now properly support the default flex-flow value of "row".
23578
23579         Test: css3/flexbox/writing-modes.html
23580
23581         * rendering/RenderBlock.cpp:
23582         (WebCore::RenderBlock::setLogicalLocationForChild):
23583         * rendering/RenderBlock.h:
23584         * rendering/RenderFlexibleBox.cpp:
23585         (WebCore::RenderFlexibleBox::layoutBlock):
23586         (WebCore::RenderFlexibleBox::logicalBorderWidthForChild):
23587         (WebCore::RenderFlexibleBox::logicalPaddingWidthForChild):
23588         (WebCore::RenderFlexibleBox::logicalScrollbarHeightForChild):
23589         (WebCore::RenderFlexibleBox::marginStartStyleForChild):
23590         (WebCore::RenderFlexibleBox::marginEndStyleForChild):
23591         (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
23592         (WebCore::RenderFlexibleBox::layoutInlineDirection):
23593         (WebCore::RenderFlexibleBox::logicalPositiveFlexForChild):
23594         (WebCore::RenderFlexibleBox::logicalNegativeFlexForChild):
23595         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
23596         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
23597         (WebCore::RenderFlexibleBox::setLogicalOverrideSize):
23598         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
23599         * rendering/RenderFlexibleBox.h:
23600
23601 2011-09-20  Marshall Greenblatt  <marshall@chromium.org>
23602
23603         Use DEFINE_STATIC_LOCAL to intentionally leak the static RefCountedHFONT object returned from
23604         FontPlatformData::hashTableDeletedFontValue() to avoid global destructor ordering problems.
23605         https://bugs.webkit.org/show_bug.cgi?id=67906
23606
23607         Reviewed by Adam Barth.
23608
23609         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
23610
23611 2011-09-20  Ryosuke Niwa  <rniwa@webkit.org>
23612
23613         Hit testing on margins of body and head elements doesn't recur
23614         https://bugs.webkit.org/show_bug.cgi?id=40753
23615
23616         Reviewed by Darin Adler.
23617
23618         The bug was caused by positionForPointRespectingEditingBoundaries's comparing the editability
23619         of head/body and html elements when hit testing was done inside margins of head and body elements.
23620
23621         Fixed the bug by special-casing html element since margins of head and body elements are special.
23622
23623         Tests: editing/selection/click-on-body-margin.html
23624                editing/selection/click-on-head-margin.html
23625
23626         * rendering/RenderBlock.cpp:
23627         (WebCore::positionForPointRespectingEditingBoundaries):
23628
23629 2011-09-20  David Hyatt  <hyatt@apple.com>
23630
23631         https://bugs.webkit.org/show_bug.cgi?id=68480
23632         
23633         De-virtualize containingBlock() and make RenderView return 0 instead
23634         of itself to make the construction of normal loops that terminate via
23635         a null-check possible.
23636
23637         Fix the only two places in the tree that needed null checks.
23638
23639         Eliminating RenderTableCell::containingBlock() is fine since the base class
23640         does the same thing anyway.
23641
23642         Reviewed by Simon Fraser.
23643
23644         * editing/VisiblePosition.cpp:
23645         (WebCore::VisiblePosition::lineDirectionPointForBlockDirectionNavigation):
23646         * rendering/RenderObject.cpp:
23647         (WebCore::RenderObject::containingBlock):
23648         * rendering/RenderObject.h:
23649         * rendering/RenderTableCell.cpp:
23650         * rendering/RenderTableCell.h:
23651         * rendering/RenderTreeAsText.cpp:
23652         (WebCore::RenderTreeAsText::writeRenderObject):
23653         * rendering/RenderView.cpp:
23654         * rendering/RenderView.h:
23655
23656 2011-09-20  Anders Carlsson  <andersca@apple.com>
23657
23658         Remove ScrollView::platformContentsSize
23659         https://bugs.webkit.org/show_bug.cgi?id=68188
23660
23661         Reviewed by Darin Adler.
23662
23663         Since ScrollView keeps track of the contents size in ScrollView::m_contentsSize, we never
23664         have to ask the underlying platform scroll view for contents size since it should always just
23665         be equal to m_contentsSize.
23666
23667         * platform/ScrollView.cpp:
23668         (WebCore::ScrollView::contentsSize):
23669         (WebCore::ScrollView::wheelEvent):
23670         * platform/ScrollView.h:
23671         * platform/mac/ScrollViewMac.mm:
23672         * platform/wx/ScrollViewWx.cpp:
23673
23674 2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
23675
23676         [Qt] [WK2] Implement a persistent cookie storage.
23677         https://bugs.webkit.org/show_bug.cgi?id=65309
23678
23679         Reviewed by Chang Shu.
23680
23681         Implement a cookie storage for the Qt port on WebKit2.
23682         The implementation is using a SQLite database to store the cookies
23683         and restore them. It uses a static object as CookieJar is not an
23684         object but a set of global functions. The actual saving/restoring is on
23685         the WebProcess side where our network stack lives.
23686
23687         Existing tests cover the new implementation. Unfortunately there is one
23688         case that we can't easily simulate : login in a website, make sure that the webprocess
23689         is not running and then going back to this website and see that we are logged.
23690
23691         * WebCore.pri:
23692         * WebCore.pro:
23693         * platform/qt/CookieJarQt.cpp:
23694         (WebCore::getHostnamesWithCookies):
23695         (WebCore::deleteCookiesForHostname):
23696         (WebCore::deleteAllCookies):
23697         (WebCore::SharedCookieJarQt::shared):
23698         (WebCore::SharedCookieJarQt::create):
23699         (WebCore::SharedCookieJarQt::destroy):
23700         (WebCore::SharedCookieJarQt::getHostnamesWithCookies):
23701         (WebCore::SharedCookieJarQt::deleteCookiesForHostname):
23702         (WebCore::SharedCookieJarQt::deleteAllCookies):
23703         (WebCore::SharedCookieJarQt::SharedCookieJarQt):
23704         (WebCore::SharedCookieJarQt::~SharedCookieJarQt):
23705         (WebCore::SharedCookieJarQt::setCookiesFromUrl):
23706         (WebCore::SharedCookieJarQt::ensureDatabaseTable):
23707         (WebCore::SharedCookieJarQt::loadCookies):
23708         * platform/qt/CookieJarQt.h: Added.
23709
23710 2011-09-20  David Hyatt  <hyatt@apple.com>
23711
23712         https://bugs.webkit.org/show_bug.cgi?id=68314
23713
23714         Make sure that the containing block loop when clipping to border-radius
23715         terminates by checking if you hit the RenderView. Null checking isn't sufficient
23716         for stupid historical reasons that should be fixed (i.e., the RenderView returns itself
23717         as its own containing block, even though this should just be changed).
23718
23719         Reviewed by Simon Fraser and Darin Adler.
23720
23721         Added new test in fast/clip.
23722
23723         * rendering/RenderLayer.cpp:
23724         (WebCore::inContainingBlockChain):
23725
23726 2011-09-20  Dan Bernstein  <mitz@apple.com>
23727
23728         MathML renderers do not override RenderObject::renderName()
23729         https://bugs.webkit.org/show_bug.cgi?id=68461
23730
23731         Reviewed by Darin Adler.
23732
23733         Added implementations of renderName() in MathML RenderObject subclasses.
23734
23735         * rendering/mathml/RenderMathMLBlock.h:
23736         (WebCore::RenderMathMLBlock::renderName):
23737         * rendering/mathml/RenderMathMLFenced.h:
23738         (WebCore::RenderMathMLFenced::renderName):
23739         * rendering/mathml/RenderMathMLFraction.h:
23740         (WebCore::RenderMathMLFraction::renderName):
23741         * rendering/mathml/RenderMathMLMath.h:
23742         (WebCore::RenderMathMLMath::renderName):
23743         * rendering/mathml/RenderMathMLOperator.h:
23744         (WebCore::RenderMathMLOperator::renderName):
23745         * rendering/mathml/RenderMathMLRoot.h:
23746         (WebCore::RenderMathMLRoot::renderName):
23747         * rendering/mathml/RenderMathMLRow.h:
23748         (WebCore::RenderMathMLRow::renderName):
23749         * rendering/mathml/RenderMathMLSquareRoot.h:
23750         (WebCore::RenderMathMLSquareRoot::renderName):
23751         * rendering/mathml/RenderMathMLSubSup.h:
23752         (WebCore::RenderMathMLSubSup::renderName):
23753         * rendering/mathml/RenderMathMLUnderOver.h:
23754         (WebCore::RenderMathMLUnderOver::renderName):
23755
23756 2011-09-20  ChangSeok Oh  <shivamidow@gmail.com>
23757
23758         [GTK] requestAnimationFrame support for gtk port
23759         https://bugs.webkit.org/show_bug.cgi?id=66280
23760
23761         Reviewed by Martin Robinson.
23762
23763         Add some files to build-target & activate ENABLE_REQUEST_ANIMATION_FRAME flag
23764         when enabling requestAnimationFrame option.
23765
23766         fast/animation/request-animation-frame-cancel.html
23767         fast/animation/request-animation-frame-cancel2.html
23768         fast/animation/request-animation-frame-display.html
23769         fast/animation/request-animation-frame-during-modal.html
23770         fast/animation/request-animation-frame-timestamps.html
23771         fast/animation/request-animation-frame-within-callback.html
23772         fast/animation/request-animation-frame.html
23773
23774         * GNUmakefile.am:
23775         * GNUmakefile.list.am:
23776
23777 2011-09-20  Aaron Boodman  <aa@chromium.org>
23778
23779         Rework script context creation/release notifications
23780         https://bugs.webkit.org/show_bug.cgi?id=67828
23781
23782         Reviewed by Adam Barth.
23783
23784         * bindings/v8/V8DOMWindowShell.cpp:
23785         (WebCore::V8DOMWindowShell::disposeContextHandles):
23786         (WebCore::V8DOMWindowShell::initContextIfNeeded):
23787         * bindings/v8/V8IsolatedContext.cpp:
23788         (WebCore::V8IsolatedContext::V8IsolatedContext):
23789         (WebCore::V8IsolatedContext::destroy):
23790         * bindings/v8/V8IsolatedContext.h:
23791         * loader/EmptyClients.h:
23792         (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
23793         (WebCore::EmptyFrameLoaderClient::willReleaseScriptContext):
23794         * loader/FrameLoaderClient.h:
23795
23796 2011-09-19  Oliver Hunt  <oliver@apple.com>
23797
23798         Refactor Heap allocation logic into separate AllocationSpace class
23799         https://bugs.webkit.org/show_bug.cgi?id=68409
23800
23801         Reviewed by Gavin Barraclough.
23802
23803         Adding a forwarding header.
23804
23805         * ForwardingHeaders/heap/AllocationSpace.h: Added.
23806
23807 2011-09-20  Geoffrey Garen  <ggaren@apple.com>
23808
23809         Build fix.
23810
23811         * WebCorePrefix.h: Removed stray text from accidental paste.
23812
23813 2011-09-19  Geoffrey Garen  <ggaren@apple.com>
23814
23815         Removed BREWMP* platform #ifdefs
23816         https://bugs.webkit.org/show_bug.cgi?id=68425
23817         
23818         BREWMP* has no maintainer, and this is dead code.
23819
23820         Reviewed by Darin Adler.
23821
23822         * WebCorePrefix.h:
23823         * loader/cache/CachedFont.cpp:
23824         * platform/DragData.h:
23825         * platform/DragImage.h:
23826         * platform/FileSystem.h:
23827         * platform/PlatformKeyboardEvent.h:
23828         * platform/PlatformMouseEvent.h:
23829         * platform/PlatformTouchEvent.h:
23830         * platform/PlatformTouchPoint.h:
23831         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
23832         * platform/Widget.h:
23833         * platform/graphics/IntPoint.h:
23834         * platform/graphics/IntSize.h:
23835         * platform/graphics/WOFFFileFormat.cpp:
23836         * platform/graphics/skia/FontCustomPlatformData.cpp:
23837         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
23838         (WebCore::FontCustomPlatformData::fontPlatformData):
23839         (WebCore::createFontCustomPlatformData):
23840         * platform/graphics/skia/FontCustomPlatformData.h:
23841         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
23842         * platform/text/TextBoundaries.cpp:
23843         * platform/text/TextEncoding.cpp:
23844         (WebCore::TextEncoding::encode):
23845         * platform/text/TextEncodingRegistry.cpp:
23846         * plugins/PluginViewNone.cpp:
23847
23848 2011-09-20  Pavel Feldman  <pfeldman@google.com>
23849
23850         Web Inspector: Copy Stack Trace lacks newlines on Windows
23851         https://bugs.webkit.org/show_bug.cgi?id=68447
23852
23853         Reviewed by Joseph Pecoraro.
23854
23855         * inspector/front-end/CallStackSidebarPane.js:
23856         (WebInspector.CallStackSidebarPane.prototype._copyStackTrace):
23857
23858 2011-09-20  Pavel Feldman  <pfeldman@google.com>
23859
23860         Not reviewed: inspector sanity test fix.
23861
23862         * inspector/front-end/inspector.js:
23863         (WebInspector.showConsole):
23864
23865 2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
23866
23867         [Qt][WK2] Add stubs for FULLSCREEN_API on Qt.
23868         https://bugs.webkit.org/show_bug.cgi?id=68444
23869
23870         Reviewed by Andreas Kling.
23871
23872         Create all the stubs necessary for enabling FULLSCREEN_API on the Qt port.
23873
23874         No new tests : just stubs.
23875
23876         * CodeGenerators.pri:
23877         * WebCore.pro:
23878         * features.pri:
23879
23880 2011-09-20  Sheriff Bot  <webkit.review.bot@gmail.com>
23881
23882         Unreviewed, rolling out r95509.
23883         http://trac.webkit.org/changeset/95509
23884         https://bugs.webkit.org/show_bug.cgi?id=68446
23885
23886         crashes chromium fast/repaint/japanese-rl-selection-repaint-
23887         in-regions.html on Win and Linux (Requested by dslomov on
23888         #webkit).
23889
23890         * rendering/RenderBlock.cpp:
23891         (WebCore::positionForPointRespectingEditingBoundaries):
23892
23893 2011-09-20  Jarred Nicholls  <jarred@sencha.com>
23894
23895         [Qt] Permit qrc resources to load in QWebSettings::setUserStyleSheetUrl()
23896         https://bugs.webkit.org/show_bug.cgi?id=51159
23897         
23898         Permit any URL with a local scheme to set a user style sheet. Allow qrc
23899         resource URLs as arguments to QWebSettings::setUserStyleSheetUrl().
23900
23901         Reviewed by Kenneth Rohde Christiansen.
23902
23903         * page/Page.cpp:
23904         (WebCore::Page::userStyleSheetLocationChanged):
23905         * platform/qt/KURLQt.cpp:
23906         (WebCore::KURL::fileSystemPath):
23907
23908 2011-09-20  Csaba Osztrogonác  <ossy@webkit.org>
23909
23910         [Qt][Mac] Buildfix after r95513.
23911         Forwarding headers for WebCore should be generated based on WebCore sources instead of WebKit2.
23912
23913         Rubber-stamped by Andras Becsi.
23914
23915         * DerivedSources.pro:
23916         * WebCore.pro: Add platform/mac/DisplaySleepDisabler.cpp to SOURCES.
23917
23918 2011-09-19  Pavel Feldman  <pfeldman@google.com>
23919
23920         Web Inspector: document Debugger.paused, introduce types for ids in Debugger domain.
23921         https://bugs.webkit.org/show_bug.cgi?id=68363
23922
23923         Migrates from poorly documented "details" object to explicit parameters
23924         containing break type and data.
23925
23926         Reviewed by Tony Gentilcore.
23927
23928         * inspector/InjectedScriptSource.js:
23929         ():
23930         * inspector/Inspector.json:
23931         * inspector/InspectorDOMDebuggerAgent.cpp:
23932         (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
23933         (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
23934         (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
23935         (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
23936         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
23937         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
23938         * inspector/InspectorDebuggerAgent.cpp:
23939         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
23940         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
23941         (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
23942         (WebCore::InspectorDebuggerAgent::pause):
23943         (WebCore::InspectorDebuggerAgent::didPause):
23944         (WebCore::InspectorDebuggerAgent::didContinue):
23945         (WebCore::InspectorDebuggerAgent::breakProgram):
23946         (WebCore::InspectorDebuggerAgent::clear):
23947         (WebCore::InspectorDebuggerAgent::clearBreakDetails):
23948         * inspector/InspectorDebuggerAgent.h:
23949         * inspector/front-end/DOMBreakpointsSidebarPane.js:
23950         (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage.didPushNodeToFrontend):
23951         (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage):
23952         (WebInspector.DOMBreakpointsSidebarPane.prototype.highlightBreakpoint):
23953         * inspector/front-end/DebuggerModel.js:
23954         (WebInspector.DebuggerModel.prototype._pausedScript):
23955         (WebInspector.DebuggerDispatcher.prototype.paused):
23956         * inspector/front-end/DebuggerPresentationModel.js:
23957         (WebInspector.PresentationCallFrame.prototype.evaluate):
23958         * inspector/front-end/ScopeChainSidebarPane.js:
23959         (WebInspector.ScopeChainSidebarPane.prototype.update):
23960         * inspector/front-end/ScriptsPanel.js:
23961         (WebInspector.ScriptsPanel.prototype._debuggerPaused.didCreateBreakpointHitStatusMessage):
23962         (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
23963         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
23964
23965 2011-09-19  Pavel Feldman  <pfeldman@google.com>
23966
23967         Web Inspector: use strict types for Breakpoint and CallFrame ids in the protocol definition.
23968         https://bugs.webkit.org/show_bug.cgi?id=68172
23969
23970         Reviewed by Tony Gentilcore.
23971
23972         * inspector/Inspector.json:
23973
23974 2011-09-15  Pavel Feldman  <pfeldman@google.com>
23975
23976         Web Inspector: refactor ConsoleView, Drawer, ConsolePanel trio. Remove animation
23977         from drawer -> panel transition.
23978         https://bugs.webkit.org/show_bug.cgi?id=68155
23979
23980         ConsoleView, ConsolePanel and Drawer are all Views with custom show/hide implementations
23981         and weird DOM element containment. As a result, we have a number of cases when switching
23982         console from full panel to drawer mode and back result in UI glitches.
23983         For the sake of code clarity and no glitches, I'd like to sacrifice the "grow into full
23984         screen" console animation.
23985
23986         Reviewed by Tony Gentilcore.
23987
23988         * inspector/front-end/ConsoleModel.js:
23989         (WebInspector.ConsoleModel):
23990         * inspector/front-end/ConsolePanel.js:
23991         (WebInspector.ConsolePanel):
23992         (WebInspector.ConsolePanel.prototype.get statusBarItems):
23993         (WebInspector.ConsolePanel.prototype.show):
23994         (WebInspector.ConsolePanel.prototype.hide):
23995         * inspector/front-end/ConsoleView.js:
23996         (WebInspector.ConsoleView):
23997         (WebInspector.ConsoleView.createFilterElement):
23998         (WebInspector.ConsoleView.get this):
23999         (WebInspector.ConsoleView.prototype.get statusBarItems):
24000         (WebInspector.ConsoleView.prototype.wasShown):
24001         * inspector/front-end/Drawer.js:
24002         (WebInspector.Drawer):
24003         (WebInspector.Drawer.prototype.get visible):
24004         (WebInspector.Drawer.prototype._constrainHeight):
24005         (WebInspector.Drawer.prototype.show.animationFinished):
24006         (WebInspector.Drawer.prototype.show):
24007         (WebInspector.Drawer.prototype.hide):
24008         (WebInspector.Drawer.prototype.resize):
24009         (WebInspector.Drawer.prototype._animationDuration):
24010         * inspector/front-end/inspector.html:
24011         * inspector/front-end/inspector.js:
24012         (WebInspector._createGlobalStatusBarItems):
24013         (WebInspector._toggleConsoleButtonClicked):
24014         (WebInspector.set attached):
24015         (WebInspector.windowResize):
24016         (WebInspector.documentKeyDown):
24017
24018 2011-09-19  Pavel Feldman  <pfeldman@google.com>
24019
24020         Web Inspector: streamline Console's MessageType and MessageSource semantics.
24021         https://bugs.webkit.org/show_bug.cgi?id=68342
24022
24023         This change fixes semantics of the MessageSource and MessageType:
24024         MessageSource is now the source of the message (be it Network, HTML
24025         parser or Console API). MessageType is only defined for the Console API
24026         messages and contains the name of the API call (log, dir, dirxml, etc.).
24027         Subsequent https://bugs.webkit.org/show_bug.cgi?id=66371 will make MessageType
24028         private to the inspector.
24029
24030         Reviewed by Tony Gentilcore.
24031
24032         * dom/Document.cpp:
24033         (WebCore::Document::logExceptionToConsole):
24034         * inspector/ConsoleMessage.cpp:
24035         (WebCore::messageSourceValue):
24036         (WebCore::messageTypeValue):
24037         (WebCore::ConsoleMessage::addToFrontend):
24038         * inspector/Inspector.json:
24039         * inspector/InspectorConsoleAgent.cpp:
24040         (WebCore::InspectorConsoleAgent::didReceiveResponse):
24041         (WebCore::InspectorConsoleAgent::didFailLoading):
24042         * inspector/front-end/ConsoleMessage.js:
24043         (WebInspector.ConsoleMessage.createTextMessage):
24044         (WebInspector.ConsoleMessage.prototype._formatMessage):
24045         (WebInspector.ConsoleMessage.prototype.toString):
24046         * page/Console.cpp:
24047         (WebCore::printMessageSourceAndLevelPrefix):
24048         (WebCore::Console::addMessage):
24049         (WebCore::Console::dir):
24050         (WebCore::Console::dirxml):
24051         (WebCore::Console::group):
24052         (WebCore::Console::groupCollapsed):
24053         (WebCore::Console::groupEnd):
24054         * page/ConsoleTypes.h:
24055         * websockets/WebSocketChannel.cpp:
24056         (WebCore::WebSocketChannel::didFailSocketStream):
24057
24058 2011-09-20  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>
24059
24060         [Qt] resizeToContent seems to trigger infinite resize on some pages
24061         https://bugs.webkit.org/show_bug.cgi?id=43852
24062
24063         Reviewed by Kenneth Rohde Christiansen.
24064
24065         InnerHeight and InnerWidth are now calculated using ScrollView::visibleContentRect
24066         including the scrollbars (if any) instead of using ScrollView::frameRect as before.
24067
24068         This makes no behavior change while not using the tiled backing
24069         store and is compliant with the W3C definition stated in the CSSOM
24070         View Module.
24071
24072         Plus it will return the correct values for tiled backing store,
24073         thus fixing the original bug report by avoiding infinite resize
24074         events caused by wrong innerHeight and innerWidth values.
24075
24076         Test: innerWidth/Height are covered by existing tests. The
24077         non-infinite resizing is covered by a new Qt autotest at
24078         test_qgraphicswebview::windowResizeEvent()
24079
24080         * page/DOMWindow.cpp:
24081         (WebCore::DOMWindow::innerHeight): using ScrollView::visibleContentRect.
24082         (WebCore::DOMWindow::innerWidth): using ScrollView::visibleContentRect.
24083
24084 2011-09-09  Pavel Podivilov  <podivilov@chromium.org>
24085
24086         Web Inspector: implement reverse mapping for compiler source maps.
24087         https://bugs.webkit.org/show_bug.cgi?id=67850
24088
24089         Implement the mapping from source code to compiled code. It will be used for
24090         setting breakpoints on source code.
24091
24092         Reviewed by Pavel Feldman.
24093
24094         * inspector/front-end/CompilerSourceMapping.js:
24095         (WebInspector.ClosureCompilerSourceMapping):
24096         (WebInspector.ClosureCompilerSourceMapping.prototype.compiledLocationToSourceLocation):
24097         (WebInspector.ClosureCompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
24098         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
24099
24100 2011-09-08  Pavel Podivilov  <podivilov@chromium.org>
24101
24102         Web Inspector: extract RawSourceCode source mapping logic to helper classes.
24103         https://bugs.webkit.org/show_bug.cgi?id=67789
24104
24105         Reviewed by Pavel Feldman.
24106
24107         * inspector/front-end/SourceFile.js:
24108         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
24109         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
24110         (WebInspector.RawSourceCode.prototype.uiLocationToRawLocation):
24111         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
24112         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
24113         (WebInspector.RawSourceCode.prototype._createSourceMapping):
24114         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
24115         (WebInspector.RawSourceCode.PlainSourceMapping):
24116         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.rawLocationToUILocation):
24117         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
24118         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.get uiSourceCode):
24119         (WebInspector.RawSourceCode.FormattedSourceMapping):
24120         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
24121         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
24122         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.get uiSourceCode):
24123
24124 2011-09-20  Carlos Garcia Campos  <cgarcia@igalia.com>
24125
24126         [GTK] WebProcess shouldn't use the GTK+ API
24127         https://bugs.webkit.org/show_bug.cgi?id=68062
24128
24129         Reviewed by Martin Robinson.
24130
24131         Move errors code that is common between webki1 and webkit2 to
24132         WebCore so that it can be shared.
24133
24134         * GNUmakefile.list.am: Add new files to compilation.
24135         * platform/gtk/ErrorsGtk.cpp: Added.
24136         (WebCore::cancelledError):
24137         (WebCore::blockedError):
24138         (WebCore::cannotShowURLError):
24139         (WebCore::interruptedForPolicyChangeError):
24140         (WebCore::cannotShowMIMETypeError):
24141         (WebCore::fileDoesNotExistError):
24142         (WebCore::pluginWillHandleLoadError):
24143         * platform/gtk/ErrorsGtk.h: Added.
24144
24145 2011-09-19  Mark Rowe  <mrowe@apple.com>
24146
24147         Attempt to fix the Leopard build.
24148         
24149         * platform/mac/DisplaySleepDisabler.cpp:
24150         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
24151         * platform/mac/DisplaySleepDisabler.h:
24152
24153 2011-09-19  Mark Rowe  <mrowe@apple.com>
24154
24155         <http://webkit.org/b/68421> Stop calling UpdateSystemActivity in places where we hold power assertions that achieve the same effect
24156
24157         On SnowLeopard and newer it's not necessary to call UpdateSystemActivity to prevent the screensaver from kicking
24158         in as the NoDisplaySleep assertion now has that effect. It's also not necessary to hold both a NoDisplaySleep and
24159         a NoIdleSleep assertion as the latter is implied by the former.
24160
24161         Since there were multiple copies of the same code to disable display sleep spread across WebCore, WebKit and WebKit2
24162         this patch takes the approach of moving this functionality to a new DisplaySleepDisabler class that lives in WebCore.
24163         A class is used as it makes it easier to reason about the lifetime of the assertions and to ensure that the assertions will
24164         always be released when their owning objects go away.
24165
24166         Reviewed by Dan Bernstein.
24167
24168         * WebCore.exp.in:
24169         * WebCore.xcodeproj/project.pbxproj:
24170         * platform/mac/DisplaySleepDisabler.cpp:
24171         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler): Register for the NoDisplaySleep assertion, and start our
24172         system activity timer when on Leopard.
24173         (WebCore::DisplaySleepDisabler::~DisplaySleepDisabler): Unregister for the assertion.
24174         (WebCore::DisplaySleepDisabler::systemActivityTimerFired): Call UpdateSystemActivity to prevent the screensaver from
24175         triggering on Leopard.
24176         * platform/mac/DisplaySleepDisabler.h:
24177         (WebCore::DisplaySleepDisabler::create):
24178         * platform/mac/WebVideoFullscreenController.h:
24179         * platform/mac/WebVideoFullscreenController.mm:
24180         (-[WebVideoFullscreenController dealloc]):
24181         (-[WebVideoFullscreenController setupVideoOverlay:]): Remove the now-unnecessary explicit use of the WebCore namespace.
24182         (-[WebVideoFullscreenController mediaElement]): Ditto.
24183         (-[WebVideoFullscreenController setMediaElement:]): Ditto.
24184         (-[WebVideoFullscreenController windowDidExitFullscreen]): Ditto.
24185         (-[WebVideoFullscreenController updatePowerAssertions]): Create a DisplaySleepDisabler instance when transitioning from permitting
24186         display sleep to disabling display sleep. Clear out our reference when sleep should be permitted, destroying any
24187         disabler that we own.
24188
24189 2011-09-19  Ryosuke Niwa  <rniwa@webkit.org>
24190
24191         Hit testing on margins of body and head elements doesn't recur
24192         https://bugs.webkit.org/show_bug.cgi?id=40753
24193
24194         Reviewed by Darin Adler.
24195
24196         The bug was caused by positionForPointRespectingEditingBoundaries's comparing the editability
24197         of head/body and html elements when hit testing was done inside margins of head and body elements.
24198
24199         Fixed the bug by special-casing html element (any immediate child of render view with a render layer)
24200         since margins of head and body elements are special.
24201
24202         Tests: editing/selection/click-on-body-margin.html
24203                editing/selection/click-on-head-margin.html
24204
24205         * rendering/RenderBlock.cpp:
24206         (WebCore::positionForPointRespectingEditingBoundaries):
24207
24208 2011-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>
24209
24210         Unreviewed, rolling out r95493 and r95496.
24211         http://trac.webkit.org/changeset/95493
24212         http://trac.webkit.org/changeset/95496
24213         https://bugs.webkit.org/show_bug.cgi?id=68418
24214
24215         Broke Windows build (Requested by rniwa on #webkit).
24216
24217         * ForwardingHeaders/heap/AllocationSpace.h: Removed.
24218
24219 2011-09-19  James Robinson  <jamesr@chromium.org>
24220
24221         [chromium] ContentLayer's texture updater deleted during paint when compositing turns off in the middle of paint
24222         https://bugs.webkit.org/show_bug.cgi?id=68405
24223
24224         Reviewed by Kenneth Russell.
24225
24226         Make TiledLayerChromium's textureUpdater refcounted and hold an explicit reference during paint in case
24227         compositing is turned off halfway through a paint.
24228
24229         * platform/graphics/chromium/ContentLayerChromium.h:
24230         * platform/graphics/chromium/ImageLayerChromium.cpp:
24231         (WebCore::ImageLayerTextureUpdater::create):
24232         * platform/graphics/chromium/ImageLayerChromium.h:
24233         * platform/graphics/chromium/LayerTextureUpdater.h:
24234         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
24235         (WebCore::LayerTextureUpdaterBitmap::create):
24236         (WebCore::LayerTextureUpdaterSkPicture::create):
24237         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
24238         * platform/graphics/chromium/TiledLayerChromium.cpp:
24239         (WebCore::TiledLayerChromium::prepareToUpdate):
24240
24241 2011-09-19  Luke Macpherson   <macpherson@chromium.org>
24242
24243         Eliminate Length::undefinedLength = -1 and replace with Undefined LengthType.
24244         https://bugs.webkit.org/show_bug.cgi?id=68057
24245
24246         Reviewed by Darin Adler.
24247
24248         There appear to be many cases where -1 is actually a valid Length.
24249         Encoding the validity of Length separately to the value is a natural solution.
24250
24251         No new tests / no behavioral changes.
24252
24253         * css/CSSComputedStyleDeclaration.cpp:
24254         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
24255         * css/CSSPrimitiveValue.cpp:
24256         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
24257         * css/CSSStyleApplyProperty.cpp:
24258         (WebCore::ApplyPropertyLength::applyValue):
24259         * platform/Length.h:
24260         (WebCore::Length::Length):
24261         (WebCore::Length::value):
24262         (WebCore::Length::calcValue):
24263         (WebCore::Length::calcMinValue):
24264         (WebCore::Length::calcFloatValue):
24265         (WebCore::Length::isUndefined):
24266         * rendering/RenderBlock.cpp:
24267         (WebCore::RenderBlock::computePreferredLogicalWidths):
24268         * rendering/RenderDeprecatedFlexibleBox.cpp:
24269         (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
24270         * rendering/RenderFileUploadControl.cpp:
24271         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
24272         * rendering/RenderImage.cpp:
24273         (WebCore::RenderImage::isLogicalWidthSpecified):
24274         (WebCore::RenderImage::isLogicalHeightSpecified):
24275         * rendering/RenderListBox.cpp:
24276         (WebCore::RenderListBox::computePreferredLogicalWidths):
24277         * rendering/RenderMenuList.cpp:
24278         (WebCore::RenderMenuList::computePreferredLogicalWidths):
24279         * rendering/RenderReplaced.cpp:
24280         (WebCore::RenderReplaced::computePreferredLogicalWidths):
24281         * rendering/RenderSlider.cpp:
24282         (WebCore::RenderSlider::computePreferredLogicalWidths):
24283         * rendering/RenderTextControl.cpp:
24284         (WebCore::RenderTextControl::computePreferredLogicalWidths):
24285         * rendering/style/RenderStyle.h:
24286         (WebCore::InheritedFlags::initialMaxSize):
24287         * rendering/svg/RenderSVGRoot.cpp:
24288         (WebCore::RenderSVGRoot::computePreferredLogicalWidths):
24289
24290 2011-09-19  Adam Barth  <abarth@webkit.org>
24291
24292         Always enable ENABLE(EVENTSOURCE)
24293         https://bugs.webkit.org/show_bug.cgi?id=68414
24294
24295         Reviewed by Eric Seidel.
24296
24297         EventSource seems to be here to stay.  This patch makes WebKit more
24298         hackable by removing this ENABLE macro, as discussed on webkit-dev.
24299
24300         * Configurations/FeatureDefines.xcconfig:
24301         * GNUmakefile.am:
24302         * bindings/cpp/WebDOMEventTarget.cpp:
24303         (toWebKit):
24304         * bindings/js/JSDOMWindowCustom.cpp:
24305         (WebCore::JSDOMWindow::eventSource):
24306         * bindings/js/JSEventSourceCustom.cpp:
24307         * bindings/js/JSEventTarget.cpp:
24308         (WebCore::toJS):
24309         (WebCore::toEventTarget):
24310         * bindings/js/JSWorkerContextCustom.cpp:
24311         (WebCore::JSWorkerContext::eventSource):
24312         * bindings/v8/V8DOMWrapper.cpp:
24313         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
24314         * features.pri:
24315         * page/DOMWindow.idl:
24316         * page/EventSource.cpp:
24317         * page/EventSource.h:
24318         * page/EventSource.idl:
24319         * workers/WorkerContext.idl:
24320
24321 2011-09-19  Jeremy Apthorp  <jeremya@chromium.org>
24322
24323         Fix a use-after-free: clear the fullscreen change event target queue at
24324         detach time, rather than at destruction time. If this isn't done, it's
24325         possible for the event target queue to be the only thing that
24326         references the document. Then when the document is popped off the queue
24327         and dereferenced in Document::fullScreenChangeDelayTimerFired, the
24328         document is destroyed and the subsequent access to
24329         m_fullScreenChangeEventTargetQueue.isEmpty() accesses free'd memory.
24330         https://bugs.webkit.org/show_bug.cgi?id=67960
24331
24332         Reviewed by Adam Barth.
24333
24334         * dom/Document.cpp:
24335         (WebCore::Document::~Document):
24336         (WebCore::Document::detach):
24337
24338 2011-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>
24339
24340         Unreviewed, rolling out r95482.
24341         http://trac.webkit.org/changeset/95482
24342         https://bugs.webkit.org/show_bug.cgi?id=68410
24343
24344         Broke chromium webkit-tests (Requested by dslomov on #webkit).
24345
24346         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
24347         (WebCore::RGBAtoRGB):
24348
24349 2011-09-19  Oliver Hunt  <oliver@apple.com>
24350
24351         Refactor Heap allocation logic into separate AllocationSpace class
24352         https://bugs.webkit.org/show_bug.cgi?id=68409
24353
24354         Reviewed by Gavin Barraclough.
24355
24356         Adding a forwarding header.
24357
24358         * ForwardingHeaders/heap/AllocationSpace.h: Added.
24359
24360 2011-09-19  Adam Barth  <abarth@webkit.org>
24361
24362         [V8] document.all gets confused about its prototype chain
24363         https://bugs.webkit.org/show_bug.cgi?id=68393
24364
24365         Reviewed by Eric Seidel.
24366
24367         GetRealNamedPropertyInPrototypeChain doesn't call interceptors, so it's
24368         not a good idea to use its return value.  It turns out that all the
24369         callers of the API only cared about whether it returns a null handle.
24370
24371         Test: http/tests/security/document-all.html
24372
24373         * bindings/v8/V8Collection.h:
24374         (WebCore::collectionNamedPropertyGetter):
24375         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
24376         (WebCore::V8DOMStringMap::namedPropertyDeleter):
24377         (WebCore::V8DOMStringMap::namedPropertySetter):
24378         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
24379         (WebCore::V8HTMLAllCollection::namedPropertyGetter):
24380         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
24381         (WebCore::V8HTMLCollection::namedPropertyGetter):
24382         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
24383         (WebCore::V8NamedNodeMap::namedPropertyGetter):
24384         * bindings/v8/custom/V8StorageCustom.cpp:
24385         (WebCore::storageSetter):
24386
24387 2011-09-19  Adam Barth  <abarth@webkit.org>
24388
24389         Named property confusion with __proto__
24390         https://bugs.webkit.org/show_bug.cgi?id=68221
24391
24392         Reviewed by Eric Seidel.
24393
24394         The __proto__ property is super magical because it's not a real named
24395         property and it has higher precedence than even interceptors.  This
24396         confuses this check, which is meant to detech which names will get
24397         handled by our interceptor.
24398
24399         Test: http/tests/security/window-named-proto.html
24400
24401         * bindings/v8/custom/V8DOMWindowCustom.cpp:
24402         (WebCore::V8DOMWindow::namedSecurityCheck):
24403
24404 2011-09-19  Adam Barth  <abarth@webkit.org>
24405
24406         Rename ENABLE(OPENTYPE_SANITIZER) to USE(OPENTYPE_SANITIZER)
24407         https://bugs.webkit.org/show_bug.cgi?id=68292
24408
24409         Reviewed by Eric Seidel.
24410
24411         OpenType Sanitizer is a library for sanitizing type and not a feature.
24412         Therefore this macro should say that we USE the library.
24413
24414         * platform/graphics/WOFFFileFormat.cpp:
24415         * platform/graphics/WOFFFileFormat.h:
24416         * platform/graphics/mac/FontCustomPlatformData.cpp:
24417         (WebCore::createFontCustomPlatformData):
24418         * platform/graphics/opentype/OpenTypeSanitizer.cpp:
24419         * platform/graphics/opentype/OpenTypeSanitizer.h:
24420         * platform/graphics/skia/FontCustomPlatformData.cpp:
24421         (WebCore::createFontCustomPlatformData):
24422         (WebCore::FontCustomPlatformData::supportsFormat):
24423
24424 2011-09-19  Adam Barth  <abarth@webkit.org>
24425
24426         Remove APPLICATION_CACHE_DYNAMIC_ENTRIES and associated code
24427         https://bugs.webkit.org/show_bug.cgi?id=68407
24428
24429         Reviewed by Eric Seidel.
24430
24431         As discussed on webkit-dev, no one appears to be using this code.
24432
24433         * GNUmakefile.list.am:
24434         * UseJSC.cmake:
24435         * WebCore.gypi:
24436         * WebCore.pro:
24437         * WebCore.vcproj/WebCore.vcproj:
24438         * WebCore.xcodeproj/project.pbxproj:
24439         * bindings/js/JSBindingsAllInOne.cpp:
24440         * bindings/js/JSDOMApplicationCacheCustom.cpp: Removed.
24441
24442 2011-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>
24443
24444         Unreviewed, rolling out r95385 and r95457.
24445         http://trac.webkit.org/changeset/95385
24446         http://trac.webkit.org/changeset/95457
24447         https://bugs.webkit.org/show_bug.cgi?id=68395
24448
24449         Broke chromium browser_tests (Requested by dslomov on
24450         #webkit).
24451
24452         * bindings/v8/V8DOMWindowShell.cpp:
24453         (WebCore::V8DOMWindowShell::disposeContextHandles):
24454         (WebCore::V8DOMWindowShell::initContextIfNeeded):
24455         * bindings/v8/V8IsolatedContext.cpp:
24456         (WebCore::V8IsolatedContext::V8IsolatedContext):
24457         (WebCore::V8IsolatedContext::destroy):
24458         * bindings/v8/V8IsolatedContext.h:
24459         * loader/EmptyClients.h:
24460         (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
24461         (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
24462         (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
24463         * loader/FrameLoaderClient.h:
24464
24465 2011-09-19  John Bauman  <jbauman@chromium.org>
24466
24467         Fix nonpremultiplied webgl toDataURL to jpeg
24468         https://bugs.webkit.org/show_bug.cgi?id=68366
24469
24470         The canvas spec says that toDataURL to formats without an alpha must
24471         be "composited onto a solid black background using the source-over
24472         operator." Do that.
24473
24474         Reviewed by Kenneth Russell.
24475
24476         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
24477         (WebCore::RGBAtoRGB):
24478
24479 2011-09-19  Chris Marrin  <cmarrin@apple.com>
24480
24481         Crash can occur when doing a PlatformCAAnimation::copy() with no valueFunction
24482         https://bugs.webkit.org/show_bug.cgi?id=67510
24483
24484         Reviewed by Adam Roben.
24485         
24486         Another fix to take care of one last crash when running pause-crash.html. 
24487         CACF can't deal with null valueFunctions, so avoid setting it when it doesn't 
24488         exist.
24489         
24490         This also adds logic to the Windows Hook in LayerChangesFlusher to prevent it 
24491         from catching the null pointer exception generated by the pause-crash.html test 
24492         before this bug was fixed. Windows was ignoring the exception, so the testcase 
24493         would appear to succeed, even though it should have crashed.
24494
24495         This is a resubmission of http://trac.webkit.org/changeset/95243 with a build fix.
24496
24497         * WebCore.vcproj/WebCore.vcproj:
24498         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
24499         (WebCore::LayerChangesFlusher::hookCallback):
24500         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
24501         (PlatformCAAnimation::copy):
24502         * platform/win/StructuredExceptionHandlerSupressor.h: Added.
24503         (WebCore::StructuredExceptionHandlerSupressor::StructuredExceptionHandlerSupressor):
24504         (WebCore::StructuredExceptionHandlerSupressor::~StructuredExceptionHandlerSupressor):
24505
24506 2011-09-19  Ryosuke Niwa  <rniwa@webkit.org>
24507
24508         Incorrect selection with absolutely positioned div
24509         https://bugs.webkit.org/show_bug.cgi?id=39503
24510
24511         Reviewed by Kenneth Rohde Christiansen.
24512
24513         The bug was caused by a false assumption in RenderBlock::positionForPoint. Because the last child box
24514         can be positioned, floated, invisible, etc..., we can't always trust last child's logicalTop to tell us
24515         whether a given point is inside or below the last child box.
24516
24517         Fixed the bug by using the last hit-test candidate instead.
24518
24519         Test: editing/selection/block-with-positioned-lastchild.html
24520
24521         * rendering/RenderBlock.cpp:
24522         (WebCore::RenderBlock::positionForPoint):
24523
24524 2011-09-19  Dmitry Titov  <dimich@chromium.org>
24525
24526         [Chromium] Crash after magic iframe transfer for Pepper/NaCl plugins.
24527         https://bugs.webkit.org/show_bug.cgi?id=68267
24528         Make adoptNode() to not enable live iframe transfer when the iframe's subtree contains plugins.
24529
24530         Reviewed by Adam Barth.
24531
24532         Test: fast/frames/iframe-reparenting-embed-elements.html
24533
24534         * dom/Document.cpp:
24535         (WebCore::Document::adoptNode):
24536         * html/HTMLFrameElementBase.cpp:
24537         (WebCore::hasPluginElements):
24538         (WebCore::HTMLFrameElementBase::canRemainAliveOnRemovalFromTree):
24539         * html/HTMLFrameElementBase.h:
24540
24541 2011-09-19  Abhishek Arya  <inferno@chromium.org>
24542
24543         Issues with merging ruby bases.
24544         https://bugs.webkit.org/show_bug.cgi?id=67240
24545
24546         Reviewed by James Robinson.
24547
24548         1) Change fromBeforeChild to beforeChild to match
24549         webkit rendering naming conventions.
24550         2) Add assert to verify ruby base is indeed emptied
24551         after collecting all children in a single base.
24552         3) Fix condition in mergeBlockChildren to bail out only
24553         when we have no children and there is no work to merge
24554         children to toBase.
24555
24556         Test: fast/ruby/ruby-overhang-crash.html
24557
24558         * rendering/RenderRubyBase.cpp:
24559         (WebCore::RenderRubyBase::moveChildren):
24560         (WebCore::RenderRubyBase::moveInlineChildren):
24561         (WebCore::RenderRubyBase::moveBlockChildren):
24562         (WebCore::RenderRubyBase::mergeBlockChildren):
24563         * rendering/RenderRubyBase.h:
24564         * rendering/RenderRubyRun.cpp:
24565         (WebCore::RenderRubyRun::removeChild):
24566
24567 2011-09-16  Abhishek Arya  <inferno@chromium.org>
24568
24569         Child not placed correctly when beforeChild (table part)
24570         has both :before, :after content.
24571         https://bugs.webkit.org/show_bug.cgi?id=67656
24572
24573         Reviewed by James Robinson.
24574
24575         Tests: fast/table/table-cell-before-after-content-around-table-block.html
24576                fast/table/table-cell-before-after-content-around-table-row.html
24577                fast/table/table-cell-before-after-content-around-table.html
24578                fast/table/table-row-before-after-content-around-block.html
24579                fast/table/table-row-before-after-content-around-table.html
24580
24581         * rendering/RenderBlock.cpp:
24582         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
24583         1. Use the new helper functions findAfterContentRenderer,
24584            anonymousContainer.
24585         2. Rename anonymousChild to better name - beforeChildAnonymousContainer.
24586         * rendering/RenderObject.cpp:
24587         (WebCore::RenderObject::addChild):
24588         When adding a new child, if beforeChild is a table part(
24589         Table/TableSection/TableRow), we need to check if both
24590         :before, :after content are shoved in one of the anonymous child.
24591         If yes, we need to split the :before, :after content before adding
24592         newChild. Easiest approach is to destroy the :before content, then add
24593         the newChild and then call updateBeforeAfterContent to recreate the
24594         :before content.   
24595         * rendering/RenderObject.h:
24596         (WebCore::RenderObject::findBeforeContentRenderer): same as
24597         beforePseudoElementRenderer, but ignores text childs since they are
24598         sequentially added.
24599         (WebCore::RenderObject::findAfterContentRenderer): same.
24600         (WebCore::RenderObject::anonymousContainer):
24601         (WebCore::objectIsRelayoutBoundary):
24602         * rendering/RenderTable.cpp:
24603         (WebCore::RenderTable::addChild): use the new helpers and functionally
24604         correct functions - findAfterContentRenderer, anonymousContainer. previous
24605         implementation was wrong since it would not go inside, if :after content
24606         is embedded deeper than one level.
24607         * rendering/RenderTableRow.cpp:
24608         (WebCore::RenderTableRow::addChild): same.
24609         * rendering/RenderTableSection.cpp:
24610         (WebCore::RenderTableSection::addChild): same.
24611
24612 2011-09-19  Robert Kroeger  <rjkroege@chromium.org>
24613
24614         [chromium] Gesture recognizer fires taptype only every other touch
24615         down/up sequence https://bugs.webkit.org/show_bug.cgi?id=68368
24616  
24617         Reviewed by Adam Barth.
24618
24619         The addition of doubletap detection to the gesture recognizer missed some of the
24620         outgoing edges in the recognizer state machine. This change simplifies the logic
24621         and handles all outgoing edges.
24622
24623         * platform/chromium/GestureRecognizerChromium.cpp:
24624         (WebCore::GestureRecognizerChromium::GestureRecognizerChromium):
24625         (WebCore::GestureRecognizerChromium::isInSecondClickTimeWindow):
24626         (WebCore::GestureRecognizerChromium::updateValues):
24627         (WebCore::GestureRecognizerChromium::touchDown):
24628         (WebCore::GestureRecognizerChromium::click):
24629         * platform/chromium/GestureRecognizerChromium.h:
24630
24631 2011-09-19  Tom Sepez  <tsepez@chromium.org>
24632
24633         Fix xssauditor bypass with unterminated closing tag by making the HTMLSourceTracker
24634         and the HTMLParser interact more closely with each other.  HTMLParser should be
24635         setting the end range for the token itself to account for buffering that the
24636         HTMLSourceTracker can't know about, but there are a lot of paths that would need
24637         updating. First step is to cover this one path.
24638         https://bugs.webkit.org/show_bug.cgi?id=68281
24639
24640         Reviewed by Adam Barth.
24641
24642         Test: http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag.html
24643
24644         * html/parser/HTMLSourceTracker.cpp:
24645         (WebCore::HTMLSourceTracker::end):
24646         * html/parser/HTMLTokenizer.cpp:
24647         (WebCore::HTMLTokenizer::nextToken):
24648
24649 2011-09-19  Peter Rybin  <peter.rybin@gmail.com>
24650
24651         TextPosition refactoring: Merge ZeroBasedNumber and OneBasedNumber classes
24652         https://bugs.webkit.org/show_bug.cgi?id=63541
24653
24654         Reviewed by Adam Barth.
24655
24656         No new tests because this patch is not changing behavior.
24657
24658         * bindings/js/JavaScriptCallFrame.cpp:
24659         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
24660         * bindings/js/JavaScriptCallFrame.h:
24661         (WebCore::JavaScriptCallFrame::create):
24662         (WebCore::JavaScriptCallFrame::position):
24663         (WebCore::JavaScriptCallFrame::update):
24664         * bindings/js/ScriptController.cpp:
24665         (WebCore::ScriptController::eventHandlerLineNumber):
24666         * bindings/js/ScriptDebugServer.cpp:
24667         (WebCore::ScriptDebugServer::hasBreakpoint):
24668         (WebCore::ScriptDebugServer::dispatchDidParseSource):
24669         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
24670         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
24671         * bindings/js/ScriptDebugServer.h:
24672         * bindings/js/ScriptSourceCode.h:
24673         (WebCore::ScriptSourceCode::ScriptSourceCode):
24674         * bindings/js/StringSourceProvider.h:
24675         (WebCore::StringSourceProvider::create):
24676         (WebCore::StringSourceProvider::startPosition):
24677         (WebCore::StringSourceProvider::StringSourceProvider):
24678         * bindings/v8/ScheduledAction.cpp:
24679         (WebCore::ScheduledAction::ScheduledAction):
24680         * bindings/v8/ScriptController.cpp:
24681         (WebCore::ScriptController::eventHandlerPosition):
24682         * bindings/v8/ScriptController.h:
24683         * bindings/v8/ScriptEventListener.cpp:
24684         (WebCore::createAttributeEventListener):
24685         * bindings/v8/ScriptSourceCode.h:
24686         (WebCore::ScriptSourceCode::ScriptSourceCode):
24687         (WebCore::ScriptSourceCode::startPosition):
24688         * bindings/v8/V8LazyEventListener.cpp:
24689         (WebCore::V8LazyEventListener::V8LazyEventListener):
24690         * bindings/v8/V8LazyEventListener.h:
24691         (WebCore::V8LazyEventListener::create):
24692         * bindings/v8/V8Proxy.cpp:
24693         (WebCore::V8Proxy::compileScript):
24694         (WebCore::V8Proxy::evaluate):
24695         (WebCore::V8Proxy::runScript):
24696         * bindings/v8/V8Proxy.h:
24697         * bindings/v8/WorkerContextExecutionProxy.cpp:
24698         (WebCore::WorkerContextExecutionProxy::evaluate):
24699         (WebCore::WorkerContextExecutionProxy::runScript):
24700         * bindings/v8/WorkerContextExecutionProxy.h:
24701         * bindings/v8/WorkerScriptController.cpp:
24702         (WebCore::WorkerScriptController::evaluate):
24703         * dom/PendingScript.cpp:
24704         (WebCore::PendingScript::releaseElementAndClear):
24705         * dom/PendingScript.h:
24706         (WebCore::PendingScript::PendingScript):
24707         (WebCore::PendingScript::startingPosition):
24708         (WebCore::PendingScript::setStartingPosition):
24709         * dom/ScriptElement.cpp:
24710         (WebCore::ScriptElement::prepareScript):
24711         * dom/ScriptElement.h:
24712         * dom/ScriptableDocumentParser.h:
24713         * dom/ViewportArguments.cpp:
24714         (WebCore::parserLineNumber):
24715         * html/parser/HTMLDocumentParser.cpp:
24716         (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
24717         (WebCore::HTMLDocumentParser::pumpTokenizer):
24718         (WebCore::HTMLDocumentParser::lineNumber):
24719         (WebCore::HTMLDocumentParser::textPosition):
24720         * html/parser/HTMLDocumentParser.h:
24721         * html/parser/HTMLInputStream.h:
24722         * html/parser/HTMLScriptRunner.cpp:
24723         (WebCore::HTMLScriptRunner::execute):
24724         (WebCore::HTMLScriptRunner::runScript):
24725         * html/parser/HTMLScriptRunner.h:
24726         * html/parser/HTMLTreeBuilder.cpp:
24727         (WebCore::uninitializedPositionValue1):
24728         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
24729         (WebCore::HTMLTreeBuilder::takeScriptToProcess):
24730         (WebCore::HTMLTreeBuilder::processEndTag):
24731         (WebCore::HTMLTreeBuilder::processScriptStartTag):
24732         * html/parser/HTMLTreeBuilder.h:
24733         * inspector/InspectorResourceAgent.cpp:
24734         (WebCore::InspectorResourceAgent::buildInitiatorObject):
24735         * platform/text/SegmentedString.cpp:
24736         (WebCore::SegmentedString::currentLine):
24737         (WebCore::SegmentedString::currentColumn):
24738         (WebCore::SegmentedString::setCurrentPosition):
24739         * platform/text/SegmentedString.h:
24740         * svg/SVGDocumentExtensions.cpp:
24741         (WebCore::parserLineNumber):
24742         * xml/XMLErrors.cpp:
24743         (WebCore::XMLErrors::XMLErrors):
24744         (WebCore::XMLErrors::handleError):
24745         (WebCore::XMLErrors::appendErrorMessage):
24746         * xml/XMLErrors.h:
24747         * xml/parser/MarkupTokenizerBase.h:
24748         (WebCore::MarkupTokenizerBase::lineNumber):
24749         * xml/parser/NewXMLDocumentParser.cpp:
24750         (WebCore::NewXMLDocumentParser::processScript):
24751         (WebCore::NewXMLDocumentParser::textPosition):
24752         (WebCore::NewXMLDocumentParser::lineNumber):
24753         * xml/parser/NewXMLDocumentParser.h:
24754         * xml/parser/XMLDocumentParser.cpp:
24755         (WebCore::XMLDocumentParser::pushCurrentNode):
24756         (WebCore::XMLDocumentParser::handleError):
24757         * xml/parser/XMLDocumentParser.h:
24758         * xml/parser/XMLDocumentParserLibxml2.cpp:
24759         (WebCore::PendingCallbacks::appendErrorCallback):
24760         (WebCore::XMLDocumentParser::XMLDocumentParser):
24761         (WebCore::XMLDocumentParser::doWrite):
24762         (WebCore::XMLDocumentParser::startElementNs):
24763         (WebCore::XMLDocumentParser::error):
24764         (WebCore::XMLDocumentParser::lineNumber):
24765         (WebCore::XMLDocumentParser::columnNumber):
24766         (WebCore::XMLDocumentParser::textPosition):
24767         * xml/parser/XMLDocumentParserQt.cpp:
24768         (WebCore::XMLDocumentParser::XMLDocumentParser):
24769         (WebCore::XMLDocumentParser::doWrite):
24770         (WebCore::XMLDocumentParser::doEnd):
24771         (WebCore::XMLDocumentParser::lineNumber):
24772         (WebCore::XMLDocumentParser::columnNumber):
24773         (WebCore::XMLDocumentParser::textPosition):
24774         (WebCore::XMLDocumentParser::parse):
24775         (WebCore::XMLDocumentParser::parseStartElement):
24776
24777 2011-09-19  Dan Bernstein  <mitz@apple.com>
24778
24779         WebCore part of [mac] WebKit contains Objective-C classes that are not prefixed with its standard prefixes
24780         https://bugs.webkit.org/show_bug.cgi?id=68323
24781
24782         Reviewed by Sam Weinig.
24783
24784         Renamed AccessibilityObjectWrapper to WebAccessibilityObjectWrapper.
24785         Renamed CascadeList to WebCascadeList.
24786         Renamed CookieStorageObjCAdapter to WebCookieStorageObjCAdapter.
24787         Renamed LanguageChangeObserver to WebLanguageChangeObserver.
24788         Renamed ScrollAnimationHelperDelegate to WebScrollAnimationHelperDelegate.
24789         Renamed ScrollbarPainterControllerDelegate to WebScrollbarPainterControllerDelegate.
24790         Renamed ScrollbarPainterDelegate to WebScrollbarPainterDelegate.
24791         Renamed ScrollbarPartAnimation to WebScrollbarPartAnimation.
24792         Renamed ScrollbarPrefsObserver to WebScrollbarPrefsObserver.
24793
24794         * WebCore.gyp/WebCore.gyp: Updated for the renaming of CascadeList to WebCascadeList.
24795         * WebCore.xcodeproj/project.pbxproj:
24796         * accessibility/AccessibilityObject.h:
24797         * accessibility/mac/AXObjectCacheMac.mm:
24798         (WebCore::AXObjectCache::attachWrapper):
24799         * accessibility/mac/AccessibilityObjectMac.mm:
24800         * accessibility/mac/AccessibilityObjectWrapper.h: Removed.
24801         * accessibility/mac/AccessibilityObjectWrapper.mm: Removed.
24802         * accessibility/mac/WebAccessibilityObjectWrapper.h: Copied from Source/WebCore/accessibility/mac/AccessibilityObjectWrapper.h.
24803         * accessibility/mac/WebAccessibilityObjectWrapper.mm: Copied from Source/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm.
24804         (convertToNSArray):
24805         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
24806         (-[WebAccessibilityObjectWrapper accessibilityIndexOfChild:]):
24807         (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
24808         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
24809         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
24810         * platform/mac/Language.mm:
24811         (WebCore::platformDefaultLanguage):
24812         * platform/mac/ScrollAnimatorMac.h:
24813         * platform/mac/ScrollAnimatorMac.mm:
24814         (-[WebScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
24815         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
24816         * platform/mac/ScrollbarThemeMac.mm:
24817         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
24818         * platform/network/mac/CookieStorageMac.mm:
24819         (WebCore::startObservingCookieChanges):
24820
24821 2011-09-19  Cary Clark  <caryclark@google.com>
24822
24823         Move fontDataForCombiningCharacterSequence to fix Skia on Mac build
24824         https://bugs.webkit.org/show_bug.cgi?id=68358
24825
24826         Reviewed by Dan Bernstein.
24827
24828         No new tests.
24829
24830         * platform/graphics/mac/FontMac.mm:
24831         * platform/graphics/mac/FontComplexTextMac.cpp:
24832         (WebCore::Font::fontDataForCombiningCharacterSequence):
24833         This moves the implementation from FontMac.mm to
24834         FontComplexTextMac.cpp, so it is visible to the Skia on Mac
24835         platform as well.
24836
24837 2011-09-19  Jessie Berlin  <jberlin@apple.com>
24838
24839         Sites that use history pushState or replaceState are recorded in history in Private Browsing
24840         mode.
24841         https://bugs.webkit.org/show_bug.cgi?id=68208
24842
24843         Reviewed by Brady Eidson.
24844
24845         Test: TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.
24846
24847         Add the privateBrowsingEnabled check that is used in other places in HistoryController
24848         before calling addVisitedLink and FrameLoaderClient::updateGlobalHistory.
24849
24850         * loader/HistoryController.cpp:
24851         (WebCore::HistoryController::pushState):
24852         (WebCore::HistoryController::replaceState):
24853
24854 2011-09-19  Leandro Pereira  <leandro@profusion.mobi>
24855
24856         Unreviewed: ScrollbarThemeMock.cpp is already referenced in the
24857         global CMakeLists.txt.
24858
24859         * CMakeListsEfl.txt: Remove reference to platform/mock/ScrollbarThemeMock.cpp.
24860         * CMakeListsWinCE.txt: Ditto.
24861
24862 2011-09-19  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
24863
24864         Unreviewed: dos2unix on bindings/js/JSExceptionBase.h
24865
24866         Visual Studio is choking on this file when generating packages for
24867         Qt-4.8 on Windows:
24868
24869         """
24870         Source\WebCore\Bindings\js\JSExceptionBase.h:
24871         error C4335: Mac file format detected: please convert the source file
24872         to either DOS or UNIX format
24873         """
24874
24875         Since from all .cpp or .h files shared by all ports this is the only
24876         one with CRLF line terminations, I'm assuming this was a mistake.
24877
24878         * bindings/js/JSExceptionBase.h:
24879
24880 2011-09-19  Ilya Tikhonovsky  <loislo@chromium.org>
24881
24882         Web Inspector: didMarkDOMContentEvent() should send event of MarkDOMContent type.
24883         https://bugs.webkit.org/show_bug.cgi?id=67528
24884
24885         Reviewed by Pavel Feldman.
24886
24887         Tests: inspector/timeline/timeline-dom-content-loaded-event.html
24888                inspector/timeline/timeline-load-event.html
24889
24890         * inspector/InspectorTimelineAgent.cpp:
24891         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
24892
24893 2011-09-19  Shawn Singh  <shawnsingh@chromium.org>
24894
24895         Re-name LayerChromium border functions to reflect that
24896         they are only for debug use.
24897         https://bugs.webkit.org/show_bug.cgi?id=68212
24898
24899         Reviewed by James Robinson.
24900
24901         Code cleanup towards unit testing.
24902
24903         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
24904         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
24905         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
24906         (WebCore::GraphicsLayerChromium::setDebugBorder):
24907         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
24908         (WebCore::GraphicsLayerChromium::setupContentsLayer):
24909         * platform/graphics/chromium/LayerChromium.cpp:
24910         (WebCore::LayerChromium::setDebugBorderColor):
24911         (WebCore::LayerChromium::setDebugBorderWidth):
24912         * platform/graphics/chromium/LayerChromium.h:
24913
24914 2011-09-18  Ilya Tikhonovsky  <loislo@chromium.org>
24915
24916         Web Inspector: requestAnimationFrame callbacks don't show up in the timeline panel.
24917         https://bugs.webkit.org/show_bug.cgi?id=67986
24918
24919         Reviewed by Pavel Feldman.
24920
24921         Test: inspector/timeline/timeline-animation-frame.html
24922
24923         * English.lproj/localizedStrings.js:
24924         * bindings/v8/V8Proxy.cpp:
24925         (WebCore::V8Proxy::callFunction):
24926         (WebCore::V8Proxy::callFunctionWithoutFrame):
24927         (WebCore::V8Proxy::instrumentedCallFunction):
24928         * bindings/v8/V8Proxy.h:
24929         * bindings/v8/custom/V8CustomVoidCallback.cpp:
24930         (WebCore::invokeCallback):
24931         * dom/ScriptedAnimationController.cpp:
24932         (WebCore::ScriptedAnimationController::registerCallback):
24933         (WebCore::ScriptedAnimationController::cancelCallback):
24934         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
24935         * inspector/InspectorInstrumentation.cpp:
24936         (WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallbackImpl):
24937         (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallbackImpl):
24938         (WebCore::InspectorInstrumentation::willFireAnimationFrameEventImpl):
24939         (WebCore::InspectorInstrumentation::didFireAnimationFrameEventImpl):
24940         * inspector/InspectorInstrumentation.h:
24941         (WebCore::InspectorInstrumentation::willCallFunction):
24942         (WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallback):
24943         (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallback):
24944         (WebCore::InspectorInstrumentation::willFireAnimationFrameEvent):
24945         (WebCore::InspectorInstrumentation::didFireAnimationFrameEvent):
24946         * inspector/InspectorTimelineAgent.cpp:
24947         (WebCore::InspectorTimelineAgent::didRegisterAnimationFrameCallback):
24948         (WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
24949         (WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
24950         (WebCore::InspectorTimelineAgent::didFireAnimationFrameEvent):
24951         * inspector/InspectorTimelineAgent.h:
24952         * inspector/TimelineRecordFactory.cpp:
24953         (WebCore::TimelineRecordFactory::createAnimationFrameCallbackData):
24954         * inspector/TimelineRecordFactory.h:
24955         * inspector/front-end/TimelineAgent.js:
24956         * inspector/front-end/TimelinePanel.js:
24957         (WebInspector.TimelinePanel):
24958         (WebInspector.TimelinePanel.prototype.get _recordStyles):
24959         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
24960         (WebInspector.TimelinePanel.prototype._clearPanel):
24961         (WebInspector.TimelinePanel.FormattedRecord):
24962         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
24963         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
24964
24965 2011-09-19  Carlos Garcia Campos  <cgarcia@igalia.com>
24966
24967         [GTK] Fix distcheck build
24968         https://bugs.webkit.org/show_bug.cgi?id=68241
24969
24970         Reviewed by Martin Robinson.
24971
24972         * GNUmakefile.list.am:
24973
24974 2011-09-18  Ilya Tikhonovsky  <loislo@chromium.org>
24975
24976         Web Inspector: chromium-win: "Save timeline data" does nothing.
24977         https://bugs.webkit.org/show_bug.cgi?id=68313
24978
24979         windows shell API function GetSaveFileName doesn't accept file names with ':' symbol.
24980
24981         Reviewed by Pavel Feldman.
24982
24983         * inspector/front-end/TimelinePanel.js:
24984         (WebInspector.TimelineModel.prototype._saveToFile):
24985
24986 2011-09-18  Dan Bernstein  <mitz@apple.com>
24987
24988         Try to fix the Chromium Mac build after r95391.
24989
24990         * WebCore.gyp/WebCore.gyp:
24991
24992 2011-09-18  Dan Bernstein  <mitz@apple.com>
24993
24994         Try to fix the Chromium Mac build after r95391.
24995
24996         * WebCore.gyp/WebCore.gyp:
24997
24998 2011-09-18  Dan Bernstein  <mitz@apple.com>
24999
25000         Try to fix the Chromium Mac build after r95391.
25001
25002         * WebCore.gypi: Updated for the renaming of ComplexTextController.cpp.
25003         * WebCore.xcodeproj/project.pbxproj: Ditto.
25004         * platform/graphics/Font.h: Changed #if directives to include the Chromium Mac port.
25005         * platform/graphics/SimpleFontData.h: Ditto.
25006         * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Changed the filename extension of this
25007         Objective-C++ file to .mm.
25008         * platform/graphics/mac/ComplexTextControllerCoreText.mm: Copied from Source/WebCore/platform/graphics/mac/ComplexTextControllerCoreText.cpp.
25009
25010 2011-09-18  Dan Bernstein  <mitz@apple.com>
25011
25012         Snow Leopard build fix after r95391.
25013
25014         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
25015         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
25016
25017 2011-09-18  Dan Bernstein  <mitz@apple.com>
25018
25019         Leopard build fix after r95391.
25020
25021         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
25022         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
25023
25024 2011-09-18  Dan Bernstein  <mitz@apple.com>
25025
25026         Allow Core Text to choose the fallback font for rendering a combining character sequence
25027
25028         Fixes <rdar://problem/7860281> Decomposed text is displayed incorrectly when Verdana is specified
25029         https://bugs.webkit.org/show_bug.cgi?id=68287
25030
25031         Reviewed by Dave Hyatt.
25032
25033         Test: platform/mac/fast/text/combining-character-sequence-fallback.html
25034
25035         * WebCore.xcodeproj/project.pbxproj: Compile ComplexTextControllerCoreText.cpp as Objective-C++.
25036         I am going to rename this file in a followup patch.
25037
25038         * platform/graphics/Font.h: Declared fontDataForCombiningCharacterSequence().
25039
25040         * platform/graphics/SimpleFontData.h: Declared canRenderCombiningCharacterSequence() and added
25041         a member variable to cache the results of calling this function.
25042
25043         * platform/graphics/mac/ComplexTextController.cpp:
25044         (WebCore::ComplexTextController::offsetForPosition): Fixed a typo in a comment.
25045         (WebCore::advanceByCombiningCharacterSequence): Added this helper function, which iterates over
25046         characters until the end of a sequence of combining characters, zero-width joiners and zero-width
25047         non-joiners. A single base characater followed by such a (possibly-empty) sequence is known as
25048         a combining character sequence. This stretches the definition a little because the base character
25049         may be a combining character as well. Returns false if an invalid UTF-16 sequence is encountered,
25050         true otherwise.
25051         (WebCore::ComplexTextController::collectComplexTextRuns): - Replaced the glyphData and nextGlyphData
25052         variables each with a pair of variables, a SimpleFontData* and a boolean indicating whether a
25053         character mapped to the missing glyph. This clarifies that this function does not use glyph IDs.
25054         - Renamed the local variable newC to uppercaseCharacter.
25055         - Changed to use advanceByCombiningCharacterSequence().
25056         - Changed to use Font::fontDataForCombiningCharacterSequence() instead of Font::glyphDataForCharacter().
25057           If there are combining marks and none of the fonts in the fallback list can render the sequence alone,
25058           use the systemFallbackFontData() constant to indicate to collectComplexTextRunsForCharactersCoreText()
25059           to allow Core Text to perform its own fallback.
25060         - Stopped checking isSmallCaps against nextIsSmallCaps. It was redundant, since the small caps FontData
25061           differs from the normal variant.
25062         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Moved the common logic to
25063         handle the 0 fontData case from the ATSUI and Core Text continuations of this function into this function.
25064
25065         * platform/graphics/mac/ComplexTextController.h:
25066         (WebCore::ComplexTextController::systemFallbackFontData): Added. This constant is used to indicate to
25067         collectComplexTextRunsForCharactersCoreText() that it should allow Core Text to perform its own font
25068         fallback.
25069
25070         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
25071         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI): Handle systemFallbackFontData()
25072         by using the primary font data.
25073
25074         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
25075         (-[CascadeList initWithFont:WebCore::character:]): Added.
25076         (-[CascadeList count]): Added.
25077         (-[CascadeList objectAtIndex:]): Added. Returns an entry from a cascade list of CTFontDescriptorRef
25078         objects based on the font’s fallback list for the character. The list is initialized lazily.
25079         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Handle systemFallbackFontData()
25080         by allowing Core Text to perform font fallback, starting with a cascade list based on the font’s fallback
25081         list and possibly continuing with system fallback.
25082
25083         * platform/graphics/mac/FontMac.mm:
25084         (WebCore::Font::fontDataForCombiningCharacterSequence): Added. If the sequence is only a base character,
25085         calls through to glyphDataForCharacter(). Otherwise, iterates over the font’s fallback list for the
25086         base character (and the system fallback font for that character), returning the first font that can
25087         render the sequence, or 0 if there is none.
25088
25089         * platform/graphics/mac/SimpleFontDataMac.mm:
25090         (WebCore::provideStringAndAttributes): Added this Core Text callback.
25091         (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): Added. Checks if Core Text can render
25092         the sequence using only this font. Caches the result.
25093
25094 2011-09-17  Mihai Parparita  <mihaip@chromium.org>
25095
25096         FrameLoaderClient BackForwardList-related methods are unsued
25097         https://bugs.webkit.org/show_bug.cgi?id=68293
25098
25099         Reviewed by Darin Adler.
25100
25101         Remove FrameLoaderClient methods that were added by r51629, since only
25102         the old (since-deleted) Android port needed them.
25103
25104         * history/BackForwardListImpl.cpp:
25105         (WebCore::BackForwardListImpl::addItem):
25106         (WebCore::BackForwardListImpl::goBack):
25107         (WebCore::BackForwardListImpl::goForward):
25108         (WebCore::BackForwardListImpl::goToItem):
25109         (WebCore::BackForwardListImpl::setCapacity):
25110         * loader/EmptyClients.h:
25111         * loader/FrameLoaderClient.h:
25112
25113 2011-09-17  David Hyatt  <hyatt@apple.com>
25114
25115         https://bugs.webkit.org/show_bug.cgi?id=68307
25116         
25117         Crash in border image cssText. Make sure to null check all the components, since they're all
25118         optional now.
25119
25120         Reviewed by Sam Weinig.
25121
25122         Added fast/borders/border-image-slice-omission.html
25123
25124         * css/CSSBorderImageValue.cpp:
25125         (WebCore::CSSBorderImageValue::cssText):
25126
25127 2011-09-17  Aaron Boodman  <aa@chromium.org>
25128
25129         Rework script context creation/release notifications
25130         https://bugs.webkit.org/show_bug.cgi?id=67828
25131
25132         Reviewed by Adam Barth.
25133
25134         * bindings/v8/V8DOMWindowShell.cpp:
25135         (WebCore::V8DOMWindowShell::disposeContextHandles):
25136         (WebCore::V8DOMWindowShell::initContextIfNeeded):
25137         * bindings/v8/V8IsolatedContext.cpp:
25138         (WebCore::V8IsolatedContext::V8IsolatedContext):
25139         (WebCore::V8IsolatedContext::destroy):
25140         * bindings/v8/V8IsolatedContext.h:
25141         * loader/EmptyClients.h:
25142         (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
25143         (WebCore::EmptyFrameLoaderClient::willReleaseScriptContext):
25144         * loader/FrameLoaderClient.h:
25145
25146 2011-09-17  Ilya Tikhonovsky  <loislo@chromium.org>
25147
25148         Web Inspector: file open dialog appears when user clicks on the timeline bar in timeline panel.
25149         https://bugs.webkit.org/show_bug.cgi?id=68312
25150
25151         Reviewed by Pavel Feldman.
25152
25153        * inspector/front-end/TimelinePanel.js:
25154         (WebInspector.TimelinePanel.prototype._createFileSelector):
25155
25156 2011-09-17  Jeff Miller  <jeffm@apple.com>
25157
25158         Build fix after r95372.
25159
25160         * dom/DOMAllInOne.cpp: #include "EventListenerMap.cpp"
25161
25162 2011-09-17  Deepak Sherveghar  <bpwv64@motorola.com>
25163
25164         Override supportsFocus() for HTMLMediaElement.
25165         https://bugs.webkit.org/show_bug.cgi?id=67190
25166
25167         Reviewed by Antonio Gomes.
25168
25169         Tests: fast/events/media-element-focus-tab.html
25170                fast/spatial-navigation/snav-media-elements.html
25171
25172         Return true from supportsFocus() if control's attribute is present or a tabindex is specified.
25173
25174         * html/HTMLMediaElement.cpp:
25175         (WebCore::HTMLMediaElement::supportsFocus):
25176         * html/HTMLMediaElement.h:
25177
25178 2011-09-16  Adam Barth  <abarth@webkit.org>
25179
25180         Rename ENABLE(LEVELDB) to USE(LEVELDB)
25181         https://bugs.webkit.org/show_bug.cgi?id=68290
25182
25183         Reviewed by Darin Adler.
25184
25185         LEVELDB is a library that can be used to implemented INDEXED_DATABASE,
25186         which means it should be a USE not an ENABLE.
25187
25188         * CMakeLists.txt:
25189         * WebCore.gyp/WebCore.gyp:
25190         * platform/leveldb/LevelDBComparator.h:
25191         * platform/leveldb/LevelDBDatabase.cpp:
25192         * platform/leveldb/LevelDBDatabase.h:
25193         * platform/leveldb/LevelDBIterator.h:
25194         * platform/leveldb/LevelDBSlice.h:
25195         * platform/leveldb/LevelDBTransaction.cpp:
25196         * platform/leveldb/LevelDBTransaction.h:
25197         * platform/leveldb/LevelDBWriteBatch.cpp:
25198         * platform/leveldb/LevelDBWriteBatch.h:
25199         * storage/IDBFactoryBackendImpl.cpp:
25200         (WebCore::IDBFactoryBackendImpl::open):
25201         (WebCore::IDBFactoryBackendImpl::migrateFromSQLiteToLevelDB):
25202         * storage/IDBLevelDBBackingStore.cpp:
25203         * storage/IDBLevelDBBackingStore.h:
25204         * storage/IDBLevelDBCoding.cpp:
25205         * storage/IDBLevelDBCoding.h:
25206
25207 2011-09-16  Andreas Kling  <kling@webkit.org>
25208
25209         Reduce EventTarget memory usage by deferring hash map allocation
25210         until there are listeners for more than 1 event type.
25211
25212         http://webkit.org/b/68105
25213
25214         Reviewed by Darin Adler.
25215
25216         Introduce an EventListenerMap class which manages a map of event types that have
25217         one or more listeners connected.
25218
25219         When there is only one event type, it's stored directly on the EventListenerMap
25220         internally, and when more are added it moves to a hash map. It only goes back
25221         from the hash map if all the listeners are removed at once (i.e clear() is called.)
25222
25223         * CMakeLists.txt:
25224         * GNUmakefile.list.am:
25225         * WebCore.gypi:
25226         * WebCore.pro:
25227         * WebCore.vcproj/WebCore.vcproj:
25228         * WebCore.xcodeproj/project.pbxproj:
25229
25230             Adding files.
25231
25232         * WebCore.exp.in:
25233
25234             Export EventListenerMap::contains() for WebKit/mac.
25235
25236         * dom/EventListenerMap.cpp: Added.
25237         (WebCore::EventListenerMap::EventListenerMap):
25238         (WebCore::EventListenerMap::~EventListenerMap):
25239         (WebCore::EventListenerMap::isEmpty):
25240         (WebCore::EventListenerMap::contains):
25241         (WebCore::EventListenerMap::clear):
25242         (WebCore::EventListenerMap::eventTypes):
25243         (WebCore::addListenerToVector):
25244         (WebCore::EventListenerMap::add):
25245         (WebCore::removeListenerFromVector):
25246         (WebCore::EventListenerMap::remove):
25247         (WebCore::EventListenerMap::find):
25248         (WebCore::removeFirstListenerCreatedFromMarkup):
25249         (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
25250         (WebCore::copyListenersNotCreatedFromMarkupToTarget):
25251         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
25252         (WebCore::EventListenerIterator::EventListenerIterator):
25253         (WebCore::EventListenerIterator::nextListener):
25254         * dom/EventListenerMap.h: Added.
25255
25256         * dom/EventTarget.cpp:
25257         (WebCore::EventTargetData::~EventTargetData):
25258         (WebCore::EventTarget::addEventListener):
25259         (WebCore::EventTarget::removeEventListener):
25260         (WebCore::EventTarget::fireEventListeners):
25261         (WebCore::EventTarget::getEventListeners):
25262         (WebCore::EventTarget::removeAllEventListeners):
25263
25264         * dom/EventTarget.h:
25265         (WebCore::EventTarget::visitJSEventListeners):
25266
25267             Use EventListenerIterator to visit listeners. (JSC specific.)
25268
25269         * inspector/InspectorDOMAgent.cpp:
25270         (WebCore::InspectorDOMAgent::getEventListenersForNode):
25271
25272             Call EventListenerMap::eventTypes() go get the list of event types
25273             currently listened for.
25274
25275         * dom/Node.cpp:
25276         (WebCore::Node::removeEventListener):
25277         * svg/SVGUseElement.cpp:
25278         (WebCore::SVGUseElement::transferEventListenersToShadowTree):
25279
25280             Move implementations of SVG-specific hacks into EventListenerMap and
25281             call them from here.
25282
25283 2011-09-16  Jeremy Apthorp <jeremya@chromium.org> and James Kozianski  <koz@chromium.org>
25284
25285         Don't detach elements from the render tree when entering fullscreen mode
25286         https://bugs.webkit.org/show_bug.cgi?id=66531
25287
25288         This prevents plugin instances from being destroyed and reinstantiated
25289         when entering fullscreen mode.
25290
25291         Reviewed by James Robinson.
25292
25293         Test: plugins/fullscreen-plugins-dont-reload.html
25294
25295         * dom/Document.cpp:
25296         (WebCore::Document::webkitWillEnterFullScreenForElement):
25297         (WebCore::Document::webkitDidExitFullScreenForElement):
25298         * dom/NodeRenderingContext.cpp:
25299         (WebCore::NodeRendererFactory::createRendererIfNeeded):
25300         * rendering/RenderFullScreen.cpp:
25301         (createFullScreenStyle):
25302         (RenderFullScreen::wrapRenderer):
25303         (RenderFullScreen::unwrapRenderer):
25304         * rendering/RenderFullScreen.h:
25305
25306 2011-09-16  Jochen Eisinger  <jochen@chromium.org>
25307
25308         Rename FrameLoaderClient::allowImages to FrameLoaderClient::allowImage and include the image URL as parameter
25309         https://bugs.webkit.org/show_bug.cgi?id=68071
25310
25311         This will allow embedders to block images based on where the image is loaded from, instead of just blocking all images in a given frame.
25312
25313         Reviewed by Adam Barth.
25314
25315         * html/ImageDocument.cpp:
25316         (WebCore::ImageDocumentParser::appendBytes):
25317         * loader/FrameLoaderClient.h:
25318         (WebCore::FrameLoaderClient::allowImage):
25319         * loader/cache/CachedResourceLoader.cpp:
25320         (WebCore::CachedResourceLoader::requestImage):
25321
25322 2011-09-16  Tom Sepez  <tsepez@chromium.org>
25323
25324         Make XSSAuditor truncate inline snippets at a reasonable length before comparison
25325         respecting boundaries of multiply urlencoded sequences.
25326         https://bugs.webkit.org/show_bug.cgi?id=68092
25327         
25328         Reviewed by Adam Barth.
25329
25330         Test: http/tests/security/xssAuditor/property-escape-long.html
25331
25332         * html/parser/XSSAuditor.cpp:
25333         (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
25334         (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
25335         (WebCore::XSSAuditor::eraseAttributeIfInjected):
25336         (WebCore::XSSAuditor::decodedSnippetForAttribute):
25337         (WebCore::XSSAuditor::isContainedInRequest):
25338         * html/parser/XSSAuditor.h:
25339
25340 2011-09-16  Shawn Singh  <shawnsingh@chromium.org>
25341
25342         Remove m_contentsDirty from LayerChromium because it
25343         is redundant with m_dirtyRect.
25344         https://bugs.webkit.org/show_bug.cgi?id=68213
25345
25346         Reviewed by James Robinson.
25347
25348         Code cleanup towards unit testing.
25349
25350         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
25351         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
25352         * platform/graphics/chromium/ContentLayerChromium.cpp:
25353         (WebCore::ContentLayerChromium::paintContentsIfDirty):
25354         * platform/graphics/chromium/ImageLayerChromium.cpp:
25355         (WebCore::ImageLayerChromium::paintContentsIfDirty):
25356         * platform/graphics/chromium/LayerChromium.cpp:
25357         (WebCore::LayerChromium::LayerChromium):
25358         (WebCore::LayerChromium::setNeedsDisplay):
25359         (WebCore::LayerChromium::resetNeedsDisplay):
25360         * platform/graphics/chromium/LayerChromium.h:
25361         * platform/graphics/chromium/VideoLayerChromium.cpp:
25362         (WebCore::VideoLayerChromium::updateCompositorResources):
25363         * platform/graphics/chromium/WebGLLayerChromium.cpp:
25364         (WebCore::WebGLLayerChromium::updateCompositorResources):
25365
25366 2011-09-16  Dmitry Lomov  <dslomov@google.com>
25367
25368         https://bugs.webkit.org/show_bug.cgi?id=66714
25369         Add webkitPostMessage to allow for adding transferable support.
25370         This adds webkitPostMessage, currently identical to postMessage, which 
25371         would later be a vehicle for adding transferable support for messaging.
25372         
25373         Based on patch by Luke Zarko.
25374
25375         Reviewed by David Levin.
25376
25377         * bindings/js/JSDOMWindowCustom.cpp:
25378         (WebCore::JSDOMWindow::webkitPostMessage):
25379         * bindings/js/JSDedicatedWorkerContextCustom.cpp:
25380         (WebCore::JSDedicatedWorkerContext::webkitPostMessage):
25381         * bindings/js/JSMessageEventCustom.cpp:
25382         (WebCore::JSMessageEvent::webkitInitMessageEvent):
25383         * bindings/js/JSMessagePortCustom.cpp:
25384         (WebCore::JSMessagePort::webkitPostMessage):
25385         * bindings/js/JSWorkerCustom.cpp:
25386         (WebCore::JSWorker::postMessage):
25387         (WebCore::JSWorker::webkitPostMessage):
25388         * bindings/v8/custom/V8DOMWindowCustom.cpp:
25389         (WebCore::handlePostMessageCallback):
25390         (WebCore::V8DOMWindow::postMessageCallback):
25391         (WebCore::V8DOMWindow::webkitPostMessageCallback):
25392         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
25393         (WebCore::handlePostMessageCallback):
25394         (WebCore::V8DedicatedWorkerContext::postMessageCallback):
25395         (WebCore::V8DedicatedWorkerContext::webkitPostMessageCallback):
25396         * bindings/v8/custom/V8MessageEventCustom.cpp:
25397         (WebCore::V8MessageEvent::initMessageEventCallback):
25398         (WebCore::V8MessageEvent::webkitInitMessageEventCallback):
25399         * bindings/v8/custom/V8MessagePortCustom.cpp:
25400         (WebCore::handlePostMessageCallback):
25401         (WebCore::V8MessagePort::postMessageCallback):
25402         (WebCore::V8MessagePort::webkitPostMessageCallback):
25403         * bindings/v8/custom/V8WorkerCustom.cpp:
25404         (WebCore::handlePostMessageCallback):
25405         (WebCore::V8Worker::postMessageCallback):
25406         (WebCore::V8Worker::webkitPostMessageCallback):
25407         * dom/MessageEvent.idl:
25408         * dom/MessagePort.idl:
25409         * page/DOMWindow.idl:
25410         * workers/DedicatedWorkerContext.idl:
25411         * workers/Worker.idl:
25412
25413 2011-09-16  Alexei Svitkine  <asvitkine@chromium.org>
25414
25415         Chromium: Fix repaint of rubber-band overhang area under composited path
25416         https://bugs.webkit.org/show_bug.cgi?id=68246
25417
25418         I accidently removed these two lines from the last patch on: https://bugs.webkit.org/show_bug.cgi?id=66969
25419
25420         Reviewed by James Robinson.
25421
25422         Test: platform/chromium-gpu/compositing/rubberbanding/transform-overhang-size-change.html
25423
25424         * platform/ScrollView.cpp:
25425         (WebCore::ScrollView::scrollContents):
25426
25427 2011-09-16  Peter Beverloo  <peter@chromium.org>
25428
25429         Depend on harfbuzz for OS=Android as well
25430         https://bugs.webkit.org/show_bug.cgi?id=68239
25431
25432         Like GTK, Android depends on harfbuzz as well, so reflect that in
25433         the project file. Furthermore, fix a compile error in PopupListBox.cpp
25434         by explicitly including ctype.h, as isspace otherwise won't be declared.
25435
25436         Reviewed by Steve Block.
25437
25438         * WebCore.gyp/WebCore.gyp:
25439         * platform/chromium/PopupListBox.cpp:
25440
25441 2011-09-16  Tony Chang  <tony@chromium.org>
25442
25443         Rename flex-align values to match the spec
25444         https://bugs.webkit.org/show_bug.cgi?id=67741
25445
25446         Reviewed by Ojan Vafai.
25447
25448         * css/CSSParser.cpp:
25449         (WebCore::CSSParser::parseValue):
25450         * css/CSSPrimitiveValueMappings.h:
25451         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
25452         (WebCore::CSSPrimitiveValue::operator EFlexAlign):
25453         * css/CSSValueKeywords.in:
25454         * rendering/style/RenderStyleConstants.h:
25455
25456 2011-09-16  Kentaro Hara  <haraken@chromium.org>
25457
25458         Implement an ErrorEvent constructor for JSC
25459         https://bugs.webkit.org/show_bug.cgi?id=68148
25460
25461         Reviewed by Sam Weinig.
25462
25463         The spec for the ErrorEvent constructor is here:
25464         http://dev.w3.org/html5/workers/#errorevent
25465
25466         Test: fast/events/constructors/error-event-constructor.html
25467
25468         * bindings/generic/EventConstructors.h: Added a definition for the ErrorEvent constructor.
25469         * bindings/js/JSEventConstructors.cpp: Added #includes for ErrorEvent.
25470         * dom/ErrorEvent.cpp:
25471         (WebCore::ErrorEventInit::ErrorEventInit):
25472         (WebCore::ErrorEvent::ErrorEvent):
25473         (WebCore::ErrorEvent::initErrorEvent):
25474         (WebCore::ErrorEvent::isErrorEvent):
25475         * dom/ErrorEvent.h: Added a definition for ErrorEventInit.
25476         (WebCore::ErrorEvent::create):
25477         (WebCore::ErrorEvent::message):
25478         (WebCore::ErrorEvent::filename):
25479         (WebCore::ErrorEvent::lineno):
25480         * dom/ErrorEvent.idl: Makes ErrorEvent constructible.
25481
25482 2011-09-16  Kentaro Hara  <haraken@google.com>
25483
25484         Overhangs a ruby by no more than half the width of the neighboring text.
25485         https://bugs.webkit.org/show_bug.cgi?id=62684
25486
25487         Reviewed by Dan Bernstein.
25488
25489         Assume two rubies between which a narrow text exists, like
25490         "<ruby>x<rt>xxxxxx</rt></ruby>l<ruby>y<rt>yyyyyy</rt></ruby>".
25491         In order to avoid the two rubies overlapping with each other,
25492         this patch overhangs the ruby by no more than half the ruby font
25493         size and no more than half the width of the neighboring text.
25494
25495         Tests: fast/ruby/overhang-horizontal-no-overlap1.html
25496                fast/ruby/overhang-horizontal-no-overlap2.html
25497                fast/ruby/overhang-vertical-no-overlap1.html
25498                fast/ruby/overhang-vertical-no-overlap2.html
25499
25500         * rendering/RenderRubyRun.cpp:
25501         (WebCore::RenderRubyRun::getOverhang): Calculates the width of ruby overhanging.
25502
25503 2011-09-16  Sheriff Bot  <webkit.review.bot@gmail.com>
25504
25505         Unreviewed, rolling out r95304.
25506         http://trac.webkit.org/changeset/95304
25507         https://bugs.webkit.org/show_bug.cgi?id=68299
25508
25509         Broke GTK+ builds. It pulls derived headers into main.c
25510         (Requested by rniwa on #webkit).
25511
25512         * bindings/scripts/CodeGeneratorGObject.pm:
25513         ():
25514         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
25515         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
25516         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
25517         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
25518         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
25519         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
25520         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
25521         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
25522         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
25523         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
25524         (webkit_dom_test_obj_conditional_method1):
25525         (webkit_dom_test_obj_conditional_method2):
25526         (webkit_dom_test_obj_conditional_method3):
25527         (webkit_dom_test_obj_get_conditional_attr1):
25528         (webkit_dom_test_obj_set_conditional_attr1):
25529         (webkit_dom_test_obj_get_conditional_attr2):
25530         (webkit_dom_test_obj_set_conditional_attr2):
25531         (webkit_dom_test_obj_get_conditional_attr3):
25532         (webkit_dom_test_obj_set_conditional_attr3):
25533         (webkit_dom_test_obj_set_property):
25534         (webkit_dom_test_obj_get_property):
25535         (webkit_dom_test_obj_class_init):
25536         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
25537         * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
25538         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
25539         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
25540         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
25541
25542 2011-09-16  Shawn Singh  <shawnsingh@chromium.org>
25543
25544         Re-named isRootLayer to isNonCompositedContent because
25545         that is what the flag actually means.
25546         https://bugs.webkit.org/show_bug.cgi?id=68214
25547
25548         Reviewed by James Robinson.
25549
25550         Code cleanup towards unit testing.
25551
25552         * platform/graphics/chromium/LayerChromium.cpp:
25553         (WebCore::LayerChromium::LayerChromium):
25554         (WebCore::LayerChromium::pushPropertiesTo):
25555         * platform/graphics/chromium/LayerChromium.h:
25556         (WebCore::LayerChromium::setIsNonCompositedContent):
25557         (WebCore::LayerChromium::isNonCompositedContent):
25558         * platform/graphics/chromium/NonCompositedContentHost.cpp:
25559         (WebCore::NonCompositedContentHost::NonCompositedContentHost):
25560         * platform/graphics/chromium/TiledLayerChromium.cpp:
25561         (WebCore::TiledLayerChromium::setLayerTreeHost):
25562         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
25563         (WebCore::CCLayerImpl::CCLayerImpl):
25564         * platform/graphics/chromium/cc/CCLayerImpl.h:
25565         (WebCore::CCLayerImpl::setIsNonCompositedContent):
25566         (WebCore::CCLayerImpl::isNonCompositedContent):
25567         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
25568         (WebCore::CCTiledLayerImpl::draw):
25569
25570 2011-09-16  Simon Fraser  <simon.fraser@apple.com>
25571
25572         Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
25573         https://bugs.webkit.org/show_bug.cgi?id=68134
25574
25575         Reviewed by Sam Weinig.
25576
25577         Add a new setting to control whether the mock scrollbar theme is used.
25578         This is a global setting, so that it can be set without having to
25579         access a specific Settings object.
25580
25581         * page/Settings.h:
25582         (WebCore::Settings::setMockScrollbarsEnabled):
25583         (WebCore::Settings::mockScrollbarsEnabled):
25584
25585 2011-09-16  Ben Wells  <benwells@chromium.org>
25586
25587         Large canvas fills should not crash or create unnecessarily large image buffers
25588         https://bugs.webkit.org/show_bug.cgi?id=67988
25589
25590         When using source-in, destination-in, source-out, or destination-atop a temporary
25591         buffer is created. This buffer only needs to be big enough to cover the intersection
25592         of the path and the canvas. If the area of intersection between the fill and the
25593         canvas is empty the canvas is completely cleared and a temporary buffer is not used.
25594
25595         This change also adds some null checks for failures to create contexts or buffers.
25596
25597         Reviewed by Darin Adler.
25598
25599         Test: fast/canvas/canvas-large-fills.html
25600
25601         * html/canvas/CanvasRenderingContext2D.cpp:
25602         (WebCore::CanvasRenderingContext2D::clearCanvas):
25603         (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
25604
25605 2011-09-16  Shawn Singh  <shawnsingh@chromium.org>
25606
25607         Remove default NULL argument in LayerChromium::create().
25608         https://bugs.webkit.org/show_bug.cgi?id=68211
25609
25610         Reviewed by James Robinson.
25611
25612         Code cleanup related to creating unit testing.
25613
25614         * platform/graphics/chromium/LayerChromium.h:
25615
25616 2011-09-16  Adrienne Walker  <enne@google.com>
25617
25618         [chromium] Move quad drawing code from LayerChromium to LayerRendererChromium
25619         https://bugs.webkit.org/show_bug.cgi?id=68272
25620
25621         Reviewed by James Robinson.
25622
25623         All the OpenGL code is in LayerRendererChromium and the CCLayerImpl
25624         tree, so move the static drawTexturedQuad/toGLMatrix functions to
25625         LayerRendererChromium, where they really belong.
25626
25627         Just moving code around. Tested by existing compositor tests.
25628
25629         * platform/graphics/chromium/LayerChromium.cpp:
25630         * platform/graphics/chromium/LayerChromium.h:
25631         * platform/graphics/chromium/LayerRendererChromium.cpp:
25632         (WebCore::LayerRendererChromium::toGLMatrix):
25633         (WebCore::LayerRendererChromium::drawTexturedQuad):
25634         * platform/graphics/chromium/LayerRendererChromium.h:
25635         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
25636         (WebCore::CCCanvasLayerImpl::draw):
25637         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
25638         (WebCore::CCHeadsUpDisplay::draw):
25639         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
25640         (WebCore::CCLayerImpl::drawDebugBorder):
25641         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
25642         (WebCore::CCPluginLayerImpl::draw):
25643         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
25644         (WebCore::CCRenderSurface::drawSurface):
25645         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
25646         (WebCore::CCTiledLayerImpl::drawTiles):
25647         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
25648         (WebCore::CCVideoLayerImpl::drawYUV):
25649         (WebCore::CCVideoLayerImpl::drawRGBA):
25650
25651 2011-09-16  Shawn Singh  <shawnsingh@chromium.org>
25652
25653         Fixed const correctness on accessors in LayerChromium
25654         https://bugs.webkit.org/show_bug.cgi?id=68210
25655
25656         Reviewed by James Robinson.
25657
25658         Code cleanup related to creating unit testing.
25659
25660         * platform/graphics/chromium/LayerChromium.h:
25661         (WebCore::LayerChromium::preserves3D):
25662         (WebCore::LayerChromium::replicaLayer):
25663
25664 2011-09-14  Ryosuke Niwa  <rniwa@webkit.org>
25665
25666         Deleting line break before h1 converts h1 to span
25667         https://bugs.webkit.org/show_bug.cgi?id=45784
25668
25669         Reviewed by Kenneth Rohde Christiansen.
25670
25671         Fixed the bug by treating h1 and other elements that retain structure like Mail blockquote.
25672
25673         We already had a logic to overriding styles of merged paragraphs by Mail blockquote so
25674         just extend this logic for h1-h6, pre, etc...
25675
25676         Tests: editing/deleting/merge-paragraph-from-address.html
25677                editing/deleting/merge-paragraph-from-h6-with-style.html
25678                editing/deleting/merge-paragraph-from-h6.html
25679                editing/deleting/merge-paragraph-from-listing.html
25680                editing/deleting/merge-paragraph-into-h1-with-style.html
25681                editing/deleting/merge-paragraph-into-h1.html
25682                editing/deleting/merge-paragraph-into-pre.html
25683
25684         * editing/ReplaceSelectionCommand.cpp:
25685         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
25686         * editing/markup.cpp:
25687         (WebCore::isBlockNodeToRetainAppearance): Extracted from ancestorToRetainStructureAndAppearance.
25688         (WebCore::StyledMarkupAccumulator::serializeNodes):
25689         (WebCore::ancestorToRetainStructureAndAppearance):
25690         * editing/markup.h:
25691
25692 2011-09-16  Max Perepelitsyn  <pph34r@gmail.com>
25693
25694         Set but not used variables cleanup (gcc 4.6)
25695         https://bugs.webkit.org/show_bug.cgi?id=68157
25696
25697         Reviewed by Darin Adler.
25698
25699         * platform/audio/ReverbConvolverStage.cpp:
25700         (WebCore::ReverbConvolverStage::process):
25701         * rendering/RenderMediaControlsChromium.cpp:
25702         (WebCore::paintMediaButton):
25703
25704 2011-09-16  Geoffrey Garen  <ggaren@apple.com>
25705
25706         Removed undetectable style.filter.
25707
25708         Reviewed by Sam Weinig.
25709         
25710         This feature was added in http://trac.webkit.org/changeset/15557 to
25711         support housingmaps.com. But housingmaps.com no longer needs this hack,
25712         we don't know of other websites that need it, and we don't know of
25713         any other browsers that have implemented this feature.
25714
25715         * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Removed.
25716         * WebCore.order:
25717         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
25718         (WebCore::JSCSSStyleDeclaration::nameGetter):
25719
25720 2011-09-16  Adam Barth  <abarth@webkit.org>
25721
25722         Update JSC results to account for intrinsics change.
25723
25724         * bindings/scripts/test/JS/JSTestInterface.cpp:
25725         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
25726         * bindings/scripts/test/JS/JSTestObj.cpp:
25727         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
25728
25729 2011-09-16  Sheriff Bot  <webkit.review.bot@gmail.com>
25730
25731         Unreviewed, rolling out r95312.
25732         http://trac.webkit.org/changeset/95312
25733         https://bugs.webkit.org/show_bug.cgi?id=68277
25734
25735         It's innocent, innocent I tell you! (Requested by jamesr_ on
25736         #webkit).
25737
25738         * platform/graphics/chromium/ContentLayerChromium.cpp:
25739         (WebCore::ContentLayerChromium::createTextureUpdater):
25740         * platform/graphics/chromium/LayerRendererChromium.cpp:
25741         (WebCore::LayerRendererChromium::LayerRendererChromium):
25742         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
25743         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
25744         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
25745         (WebCore::CCThreadProxy::context):
25746         (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
25747         (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
25748         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
25749
25750 2011-09-16  Sheriff Bot  <webkit.review.bot@gmail.com>
25751
25752         Unreviewed, rolling out r95309.
25753         http://trac.webkit.org/changeset/95309
25754         https://bugs.webkit.org/show_bug.cgi?id=68271
25755
25756         Broke many chromium gpu tests. (Requested by dave_levin on
25757         #webkit).
25758
25759         * platform/graphics/chromium/ContentLayerChromium.cpp:
25760         (WebCore::ContentLayerChromium::createTextureUpdater):
25761         * platform/graphics/chromium/LayerRendererChromium.cpp:
25762         (WebCore::LayerRendererChromium::LayerRendererChromium):
25763         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
25764         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
25765         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
25766         (WebCore::CCThreadProxy::context):
25767         (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
25768         (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
25769         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
25770
25771 2011-09-16  Filip Pizlo  <fpizlo@apple.com>
25772
25773         DFG JIT should inline Math.abs
25774         https://bugs.webkit.org/show_bug.cgi?id=68227
25775
25776         Reviewed by Oliver Hunt.
25777
25778         Added JavaScriptCore/dfg to include path path. Changed the bindings
25779         scripts to handle the presence of intrinsics.
25780
25781         * CMakeLists.txt:
25782         * bindings/scripts/CodeGeneratorJS.pm:
25783         (GenerateHashTable):
25784
25785 2011-09-16  Iain Merrick  <husky@google.com>
25786
25787         [chromium] Fix CCLayerTreeHostTest
25788         https://bugs.webkit.org/show_bug.cgi?id=67418
25789
25790         This is a minimal set of changes to get CCLayerTreeHostTest
25791         compiling, running and passing with USE_THREADED_COMPOSITING
25792         enabled.
25793
25794         Reviewed by James Robinson.
25795
25796         * platform/graphics/chromium/ContentLayerChromium.cpp:
25797         (WebCore::ContentLayerChromium::createTextureUpdater):
25798         * platform/graphics/chromium/LayerRendererChromium.cpp:
25799         (WebCore::LayerRendererChromium::LayerRendererChromium):
25800         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
25801         (WebCore::CCLayerTreeHost::createLayerTreeHostImpl):
25802         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
25803         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
25804         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
25805         (WebCore::CCThreadProxy::context):
25806         (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
25807         (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
25808         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
25809
25810 2011-09-16  Sheriff Bot  <webkit.review.bot@gmail.com>
25811
25812         Unreviewed, rolling out r95227.
25813         http://trac.webkit.org/changeset/95227
25814         https://bugs.webkit.org/show_bug.cgi?id=68262
25815
25816         Broke a bunch of SVG tests (Requested by andersca on #webkit).
25817
25818         * platform/ScrollView.cpp:
25819         (WebCore::ScrollView::contentsSize):
25820         (WebCore::ScrollView::wheelEvent):
25821         * platform/ScrollView.h:
25822         * platform/mac/ScrollViewMac.mm:
25823         (WebCore::ScrollView::platformContentsSize):
25824         * platform/wx/ScrollViewWx.cpp:
25825         (WebCore::ScrollView::platformContentsSize):
25826
25827 2011-09-16  James Simonsen  <simonjam@chromium.org>
25828
25829         Fix HTML5 parser's adoption agency algorithm to reparent correctly
25830         https://bugs.webkit.org/show_bug.cgi?id=68147
25831
25832         Reviewed by Eric Seidel.
25833
25834         * html/parser/HTMLTreeBuilder.cpp:
25835         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
25836
25837 2011-09-16  Adam Barth  <abarth@webkit.org>
25838
25839         CodeGeneratorGObject should use C++ style comments for ENABLE guards
25840         https://bugs.webkit.org/show_bug.cgi?id=68256
25841
25842         Reviewed by Darin Adler.
25843
25844         This patch should have not behavioral effect.  It just cleans up the
25845         GObject code generator to use C++-style comments for ENABLE guards and
25846         to use the usual comment style for license blocks.
25847
25848         * bindings/scripts/CodeGeneratorGObject.pm:
25849         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
25850         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
25851         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
25852         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
25853         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
25854         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
25855         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
25856         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
25857         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
25858         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
25859         (webkit_dom_test_obj_conditional_method1):
25860         (webkit_dom_test_obj_conditional_method2):
25861         (webkit_dom_test_obj_conditional_method3):
25862         (webkit_dom_test_obj_get_conditional_attr1):
25863         (webkit_dom_test_obj_set_conditional_attr1):
25864         (webkit_dom_test_obj_get_conditional_attr2):
25865         (webkit_dom_test_obj_set_conditional_attr2):
25866         (webkit_dom_test_obj_get_conditional_attr3):
25867         (webkit_dom_test_obj_set_conditional_attr3):
25868         (webkit_dom_test_obj_set_property):
25869         (webkit_dom_test_obj_get_property):
25870         (webkit_dom_test_obj_class_init):
25871         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
25872         * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
25873         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
25874         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
25875         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
25876
25877 2011-09-16  Csaba Osztrogonác  <ossy@webkit.org>
25878
25879         [Qt] REGRESSION(r95091) It made many tests flakey
25880         https://bugs.webkit.org/show_bug.cgi?id=68232
25881
25882         Unreviewed rolling out r95091 and followup patches.
25883
25884         * English.lproj/localizedStrings.js:
25885         * bindings/v8/V8Proxy.cpp:
25886         (WebCore::V8Proxy::callFunction):
25887         * bindings/v8/V8Proxy.h:
25888         * bindings/v8/custom/V8CustomVoidCallback.cpp:
25889         (WebCore::invokeCallback):
25890         * dom/ScriptedAnimationController.cpp:
25891         (WebCore::ScriptedAnimationController::registerCallback):
25892         (WebCore::ScriptedAnimationController::cancelCallback):
25893         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
25894         * inspector/InspectorInstrumentation.cpp:
25895         * inspector/InspectorInstrumentation.h:
25896         (WebCore::InspectorInstrumentation::willCallFunction):
25897         * inspector/InspectorTimelineAgent.cpp:
25898         * inspector/InspectorTimelineAgent.h:
25899         * inspector/TimelineRecordFactory.cpp:
25900         * inspector/TimelineRecordFactory.h:
25901         * inspector/front-end/TimelineAgent.js:
25902         * inspector/front-end/TimelinePanel.js:
25903         (WebInspector.TimelinePanel):
25904         (WebInspector.TimelinePanel.prototype.get _recordStyles):
25905         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
25906         (WebInspector.TimelinePanel.prototype._clearPanel):
25907         (WebInspector.TimelinePanel.FormattedRecord):
25908         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
25909         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
25910
25911 2011-09-16  Abhishek Arya  <inferno@chromium.org>
25912
25913         cachedFont not getting updated for inline SVG text.
25914         https://bugs.webkit.org/show_bug.cgi?id=68060
25915
25916         Reviewed by Nikolas Zimmermann.
25917
25918         The cached scaledFont needs to be updated on every style set call. It
25919         is not similar to m_style which can get derived from parent's style and
25920         hence will get automatically updated on ancestor's style change. This is
25921         required, otherwise we will maintain stale font list in cached scaledFont
25922         when custom fonts are retired on Document::recalcStyle.
25923
25924         Test: svg/text/text-style-recalc-crash.html
25925
25926         * rendering/svg/RenderSVGInlineText.cpp:
25927         (WebCore::RenderSVGInlineText::styleDidChange):
25928         (WebCore::RenderSVGInlineText::setStyle):
25929         * rendering/svg/RenderSVGInlineText.h:
25930
25931 2011-09-16  Antti Koivisto  <antti@apple.com>
25932
25933         REGRESSION (r95052): SelectorChecker identifier filter not working
25934         https://bugs.webkit.org/show_bug.cgi?id=68244
25935
25936         Reviewed by Dan Bernstein.
25937
25938         Missing &.
25939
25940         * css/SelectorChecker.cpp:
25941         (WebCore::collectDescendantSelectorIdentifierHashes):
25942
25943 2011-09-16  Csaba Osztrogonác  <ossy@webkit.org>
25944
25945         Unreviewed typo fix after r95271.
25946
25947         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
25948
25949 2011-09-16  Andrey Kosyakov  <caseq@chromium.org>
25950
25951         Web Inspector: [Extensions API] support extensions for remote inspector front-end
25952         https://bugs.webkit.org/show_bug.cgi?id=67840
25953
25954         Reviewed by Pavel Feldman.
25955
25956         - Merge ExtensionCommon.js into ExtensionAPI.js
25957         - refactor building of extension API for better reuse
25958         - expose interface for extension registration
25959
25960         * WebCore.gypi:
25961         * WebCore.vcproj/WebCore.vcproj:
25962         * inspector/front-end/ExtensionAPI.js:
25963         (defineCommonExtensionSymbols):
25964         (buildExtensionAPIInjectedScript):
25965         * inspector/front-end/ExtensionCommon.js:
25966         * inspector/front-end/ExtensionServer.js:
25967         (WebInspector.ExtensionServer.prototype._addExtensions):
25968         (WebInspector.ExtensionServer.prototype._addExtension):
25969         (WebInspector.ExtensionServer.prototype._buildExtensionAPIScript):
25970         (WebInspector.ExtensionServer.prototype._onWindowMessage):
25971         (WebInspector.ExtensionServer.prototype._registerExtension):
25972         (WebInspector.ExtensionServer.prototype._expandResourcePath):
25973         * inspector/front-end/WebKit.qrc:
25974         * inspector/front-end/inspector.html:
25975
25976 2011-09-16  Ilya Tikhonovsky  <loislo@chromium.org>
25977
25978         Web Inspector: change WebInspector.currentPanel getter/setter to functions.
25979         https://bugs.webkit.org/show_bug.cgi?id=68242
25980
25981         This is necessary for the panel switching performance tests.
25982
25983         Reviewed by Pavel Feldman.
25984
25985         * inspector/front-end/Drawer.js:
25986         (WebInspector.Drawer.prototype.show.animationFinished):
25987         (WebInspector.Drawer.prototype.show):
25988         (WebInspector.Drawer.prototype.hide):
25989         (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
25990         (WebInspector.Drawer.prototype._animateDrawerHeight):
25991         (WebInspector.Drawer.prototype._statusBarDragging):
25992         * inspector/front-end/ElementsPanel.js:
25993         (WebInspector.ElementsPanel.prototype.switchToAndFocus):
25994         * inspector/front-end/ResourcesPanel.js:
25995         (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
25996         * inspector/front-end/ScriptsPanel.js:
25997         * inspector/front-end/SearchController.js:
25998         (WebInspector.SearchController.prototype.updateSearchMatchesCount):
25999         (WebInspector.SearchController.prototype.updateCurrentMatchIndex):
26000         (WebInspector.SearchController.prototype.updateSearchLabel):
26001         (WebInspector.SearchController.prototype.handleShortcut):
26002         (WebInspector.SearchController.prototype._performSearch):
26003         * inspector/front-end/Toolbar.js:
26004         (WebInspector.Toolbar.createPanelToolbarItem.onToolbarItemClicked):
26005         (WebInspector.Toolbar.createPanelToolbarItem):
26006         * inspector/front-end/inspector.js:
26007         (WebInspector.currentPanel):
26008         (WebInspector._updateFocusedNode):
26009         (WebInspector.windowResize):
26010         (WebInspector.documentKeyDown):
26011         (WebInspector.documentCanCopy):
26012         (WebInspector.documentCopy):
26013         (WebInspector.showPanel):
26014         (WebInspector.startUserInitiatedDebugging):
26015         (WebInspector.inspect):
26016         (WebInspector._showAnchorLocationInPanel):
26017         (WebInspector._toolbarItemClicked):
26018         (WebInspector.PanelHistory.prototype.goBack):
26019         (WebInspector.PanelHistory.prototype.goForward):
26020
26021 2011-09-15  Pavel Feldman  <pfeldman@google.com>
26022
26023         Web Inspector: rename Console.clearConsoleMessages to Console.clearMessages, brush up console domain doc.
26024         https://bugs.webkit.org/show_bug.cgi?id=68165
26025
26026         Reviewed by Yury Semikhatsky.
26027
26028         * inspector/InjectedScriptHost.cpp:
26029         (WebCore::InjectedScriptHost::clearConsoleMessages):
26030         * inspector/Inspector.json:
26031         * inspector/InspectorConsoleAgent.cpp:
26032         (WebCore::InspectorConsoleAgent::clearMessages):
26033         * inspector/InspectorConsoleAgent.h:
26034         * inspector/front-end/ConsoleModel.js:
26035         (WebInspector.ConsoleModel.prototype.requestClearMessages):
26036
26037 2011-09-16  Alejandro G. Castro  <alex@igalia.com>
26038
26039         Fix GTK build after r95245.
26040
26041         * GNUmakefile.list.am:
26042
26043 2011-09-16  Leo Yang  <leo.yang@torchmobile.com.cn>
26044
26045         [Qt] Crash when dragging google maps.
26046         https://bugs.webkit.org/show_bug.cgi?id=68223
26047
26048         The custom image for a cursor might not be ready when WebKit trying
26049         to use it to construct the cursor in Qt porting. This patch is using
26050         arrow image to substitute the unready custom image.
26051
26052         Reviewed by Adam Barth.
26053
26054         Test: fast/css/crash-on-custom-cursor-when-loading.html
26055
26056         * platform/qt/CursorQt.cpp:
26057         (WebCore::createCustomCursor):
26058         (WebCore::Cursor::ensurePlatformCursor):
26059
26060 2011-09-15  Adam Barth  <abarth@webkit.org>
26061
26062         Rename ENABLE(DATABASE) to ENABLE(SQL_DATABASE)
26063         https://bugs.webkit.org/show_bug.cgi?id=68205
26064
26065         Reviewed by Eric Seidel.
26066
26067         As discussed on webkit-dev.
26068
26069         * CMakeLists.txt:
26070         * Configurations/FeatureDefines.xcconfig:
26071         * GNUmakefile.am:
26072         * GNUmakefile.list.am:
26073         * UseJSC.cmake:
26074         * bindings/generic/RuntimeEnabledFeatures.cpp:
26075         * bindings/generic/RuntimeEnabledFeatures.h:
26076         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
26077         * bindings/js/JSDOMBinding.cpp:
26078         (WebCore::setDOMException):
26079         * bindings/js/JSExceptionBase.cpp:
26080         (WebCore::toExceptionBase):
26081         * bindings/js/JSInjectedScriptHostCustom.cpp:
26082         (WebCore::JSInjectedScriptHost::databaseId):
26083         * bindings/js/JSSQLResultSetRowListCustom.cpp:
26084         * bindings/js/JSSQLTransactionCustom.cpp:
26085         * bindings/js/JSSQLTransactionSyncCustom.cpp:
26086         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
26087         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
26088         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
26089         * bindings/scripts/test/JS/JSTestCallback.cpp:
26090         * bindings/scripts/test/JS/JSTestCallback.h:
26091         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
26092         * bindings/scripts/test/TestCallback.idl:
26093         * bindings/scripts/test/V8/V8TestCallback.cpp:
26094         * bindings/scripts/test/V8/V8TestCallback.h:
26095         * bindings/v8/V8Proxy.cpp:
26096         (WebCore::V8Proxy::setDOMException):
26097         * bindings/v8/V8Proxy.h:
26098         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
26099         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
26100         (WebCore::V8InjectedScriptHost::databaseIdCallback):
26101         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
26102         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
26103         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
26104         * dom/Document.cpp:
26105         * dom/Document.h:
26106         * dom/ExceptionCode.cpp:
26107         (WebCore::getExceptionCodeDescription):
26108         * dom/ExceptionCode.h:
26109         * dom/ScriptExecutionContext.cpp:
26110         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
26111         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
26112         * dom/ScriptExecutionContext.h:
26113         * features.pri:
26114         * history/PageCache.cpp:
26115         (WebCore::logCanCacheFrameDecision):
26116         (WebCore::PageCache::canCachePageContainingThisFrame):
26117         * inspector/InjectedScriptHost.cpp:
26118         (WebCore::InjectedScriptHost::InjectedScriptHost):
26119         (WebCore::InjectedScriptHost::disconnect):
26120         * inspector/InjectedScriptHost.h:
26121         (WebCore::InjectedScriptHost::init):
26122         * inspector/InspectorController.cpp:
26123         (WebCore::InspectorController::InspectorController):
26124         (WebCore::InspectorController::connectFrontend):
26125         (WebCore::InspectorController::disconnectFrontend):
26126         (WebCore::InspectorController::restoreInspectorStateFromCookie):
26127         * inspector/InspectorController.h:
26128         * inspector/InspectorDatabaseAgent.cpp:
26129         * inspector/InspectorDatabaseInstrumentation.h:
26130         * inspector/InspectorDatabaseResource.cpp:
26131         * inspector/InspectorDatabaseResource.h:
26132         * inspector/InspectorInstrumentation.cpp:
26133         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
26134         * inspector/InspectorInstrumentation.h:
26135         * inspector/InstrumentingAgents.h:
26136         (WebCore::InstrumentingAgents::InstrumentingAgents):
26137         * inspector/WorkerInspectorController.cpp:
26138         (WebCore::WorkerInspectorController::WorkerInspectorController):
26139         (WebCore::WorkerInspectorController::connectFrontend):
26140         * loader/EmptyClients.h:
26141         * loader/FrameLoader.cpp:
26142         (WebCore::FrameLoader::stopLoading):
26143         * page/ChromeClient.h:
26144         * page/DOMWindow.cpp:
26145         * page/DOMWindow.h:
26146         * page/DOMWindow.idl:
26147         * platform/sql/SQLiteAuthorizer.cpp:
26148         * platform/sql/SQLiteDatabase.cpp:
26149         * platform/sql/SQLiteFileSystem.cpp:
26150         * platform/sql/SQLiteStatement.cpp:
26151         * platform/sql/SQLiteTransaction.cpp:
26152         * storage/AbstractDatabase.cpp:
26153         * storage/AbstractDatabase.h:
26154         * storage/ChangeVersionWrapper.cpp:
26155         * storage/ChangeVersionWrapper.h:
26156         * storage/Database.cpp:
26157         * storage/Database.h:
26158         * storage/Database.idl:
26159         * storage/DatabaseAuthorizer.cpp:
26160         * storage/DatabaseCallback.h:
26161         * storage/DatabaseCallback.idl:
26162         * storage/DatabaseDetails.h:
26163         * storage/DatabaseSync.cpp:
26164         * storage/DatabaseSync.h:
26165         * storage/DatabaseSync.idl:
26166         * storage/DatabaseTask.cpp:
26167         * storage/DatabaseTask.h:
26168         * storage/DatabaseThread.cpp:
26169         * storage/DatabaseThread.h:
26170         * storage/DatabaseTracker.cpp:
26171         * storage/DatabaseTracker.h:
26172         * storage/DatabaseTrackerClient.h:
26173         * storage/OriginQuotaManager.cpp:
26174         * storage/OriginQuotaManager.h:
26175         * storage/OriginUsageRecord.cpp:
26176         * storage/OriginUsageRecord.h:
26177         * storage/SQLCallbackWrapper.h:
26178         * storage/SQLError.h:
26179         * storage/SQLError.idl:
26180         * storage/SQLException.h:
26181         * storage/SQLException.idl:
26182         * storage/SQLResultSet.cpp:
26183         * storage/SQLResultSet.h:
26184         * storage/SQLResultSet.idl:
26185         * storage/SQLResultSetRowList.cpp:
26186         * storage/SQLResultSetRowList.h:
26187         * storage/SQLResultSetRowList.idl:
26188         * storage/SQLStatement.cpp:
26189         * storage/SQLStatement.h:
26190         * storage/SQLStatementCallback.h:
26191         * storage/SQLStatementCallback.idl:
26192         * storage/SQLStatementErrorCallback.h:
26193         * storage/SQLStatementErrorCallback.idl:
26194         * storage/SQLStatementSync.cpp:
26195         * storage/SQLStatementSync.h:
26196         * storage/SQLTransaction.cpp:
26197         * storage/SQLTransaction.h:
26198         * storage/SQLTransaction.idl:
26199         * storage/SQLTransactionCallback.h:
26200         * storage/SQLTransactionCallback.idl:
26201         * storage/SQLTransactionClient.cpp:
26202         * storage/SQLTransactionClient.h:
26203         * storage/SQLTransactionCoordinator.cpp:
26204         * storage/SQLTransactionCoordinator.h:
26205         * storage/SQLTransactionErrorCallback.h:
26206         * storage/SQLTransactionErrorCallback.idl:
26207         * storage/SQLTransactionSync.cpp:
26208         * storage/SQLTransactionSync.h:
26209         * storage/SQLTransactionSync.idl:
26210         * storage/SQLTransactionSyncCallback.h:
26211         * storage/SQLTransactionSyncCallback.idl:
26212         * storage/chromium/DatabaseObserver.h:
26213         * storage/chromium/DatabaseTrackerChromium.cpp:
26214         * storage/chromium/QuotaTracker.cpp:
26215         * storage/chromium/QuotaTracker.h:
26216         * storage/chromium/SQLTransactionClientChromium.cpp:
26217         * workers/WorkerContext.cpp:
26218         * workers/WorkerContext.h:
26219         * workers/WorkerContext.idl:
26220         * workers/WorkerThread.cpp:
26221         (WebCore::WorkerThreadShutdownStartTask::performTask):
26222         (WebCore::WorkerThread::stop):
26223
26224 2011-09-15  Alexandru Chiculita  <achicu@adobe.com>
26225
26226         [CSSRegions] Regions should not slice line box rendering
26227         https://bugs.webkit.org/show_bug.cgi?id=66198
26228
26229         Created a new LayoutState constructor for the RenderFlowThread. It will
26230         set m_isPaginated to true and force a pageHeight if 1. The actual pageHeight is
26231         not used, because pageLogicalHeightForOffset will actually redirect the call
26232         to RenderFlowThread.
26233
26234         Removed some of the duplicate code that calculated the page logical offset.
26235         Added new methods like logicalPageOffset, pageLogicalHeightForOffset,
26236         pageRemainingLogicalHeightForOffset.
26237
26238         There are still some issues related to incremental layout and different region widths.
26239         Those issues will be addressed in different patches.
26240
26241         Reviewed by David Hyatt.
26242
26243         Tests: fast/regions/text-region-breaks.html
26244                fast/regions/text-region-split-horizontal-bt.html
26245                fast/regions/text-region-split-vertical-rl.html
26246                fast/regions/text-region-split-vertical.html
26247                fast/regions/text-region-split.html
26248
26249         * rendering/LayoutState.cpp:
26250         (WebCore::LayoutState::LayoutState):
26251         * rendering/LayoutState.h:
26252         (WebCore::LayoutState::LayoutState):
26253         (WebCore::LayoutState::isPaginated):
26254         * rendering/RenderBlock.cpp:
26255         (WebCore::RenderBlock::positionNewFloats):
26256         (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
26257         (WebCore::RenderBlock::nextPageLogicalTopExcludingBoundaryPoint):
26258         (WebCore::RenderBlock::nextPageLogicalTopIncludingBoundaryPoint):
26259         (WebCore::inNormalFlow):
26260         (WebCore::RenderBlock::applyBeforeBreak):
26261         (WebCore::RenderBlock::applyAfterBreak):
26262         (WebCore::RenderBlock::logicalPageOffset):
26263         (WebCore::RenderBlock::pageLogicalHeightForOffset):
26264         (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
26265         (WebCore::RenderBlock::adjustForUnsplittableChild):
26266         (WebCore::RenderBlock::adjustLinePositionForPagination):
26267         * rendering/RenderBlock.h:
26268         * rendering/RenderFlowThread.cpp:
26269         (WebCore::RenderFlowThread::layout):
26270         (WebCore::RenderFlowThread::regionLogicalHeightForLine):
26271         (WebCore::RenderFlowThread::regionRemainingLogicalHeightForLine):
26272         * rendering/RenderFlowThread.h:
26273         * rendering/RenderView.cpp:
26274         (WebCore::RenderView::pushLayoutState):
26275         * rendering/RenderView.h:
26276         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
26277         (WebCore::LayoutStateMaintainer::push):
26278
26279 2011-09-15  Kentaro Hara  <haraken@google.com>
26280
26281         Implement a PopStateEvent constructor for JSC
26282         https://bugs.webkit.org/show_bug.cgi?id=67977
26283
26284         Reviewed by Sam Weinig.
26285
26286         Test: fast/events/constructors/pop-state-event-constructor.html
26287
26288         * bindings/generic/EventConstructors.h: Added a definition for the PopStateEvent constructor.
26289         * bindings/js/JSEventConstructors.cpp: Added #includes for PopStateEvent.
26290         * dom/PopStateEvent.cpp:
26291         (WebCore::PopStateEventInit::PopStateEventInit):
26292         (WebCore::PopStateEvent::PopStateEvent):
26293         (WebCore::PopStateEvent::create):
26294         * dom/PopStateEvent.h: Added a definition for PopStateEventInit.
26295         * dom/PopStateEvent.idl: Makes PopStateEvent constructible.
26296
26297 2011-09-15  Mihai Parparita  <mihaip@chromium.org>
26298
26299         Fragment navigations should interrupt a provisional load of a different document
26300         https://bugs.webkit.org/show_bug.cgi?id=64556
26301
26302         Reviewed by Adam Barth.
26303         
26304         Tests: http/tests/history/back-with-fragment-change.php
26305                http/tests/navigation/navigation-interrupted-by-fragment.html
26306
26307         * loader/FrameLoader.cpp: Stop provisional load if a fragment commits.
26308         * loader/HistoryController.cpp: Don't commit the wrong provisional item.
26309
26310 2011-09-15  Adrienne Walker  <enne@google.com>
26311
26312         [chromium] Add temporary diagnostics for LayerTreeHost::commitTo crash
26313         https://bugs.webkit.org/show_bug.cgi?id=68204
26314
26315         Reviewed by James Robinson.
26316
26317         Add CRASH calls to determine which assumptions are being violated.
26318
26319         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
26320         (WebCore::CCLayerTreeHost::commitTo):
26321
26322 2011-09-15  Mark Hahnenberg  <mhahnenberg@apple.com>
26323
26324         Unzip initialization lists and constructors in JSCell hierarchy (7/7)
26325         https://bugs.webkit.org/show_bug.cgi?id=68122
26326
26327         Reviewed by Geoffrey Garen.
26328
26329         No new tests.
26330
26331         Completed the seventh and final level of the refactoring to add finishCreation() 
26332         methods to all classes within the JSCell hierarchy with non-trivial 
26333         constructor bodies.
26334
26335         This consists of moving the finishCreation() method call into the create methods
26336         of the sixth level of the hierarchy as was done in previous patches.  
26337
26338         The special cases for JSAudioConstructor, JSOptionConstructor, and JSImageConstructor 
26339         were also lumped in and given finishCreation() methods that are called in their 
26340         create methods because we are at the end and want to avoid a trivial patch just 
26341         for moving their finishCreation() methods from their constructor to their create method.
26342
26343         * bindings/js/JSAudioConstructor.cpp:
26344         (WebCore::JSAudioConstructor::JSAudioConstructor):
26345         (WebCore::JSAudioConstructor::finishCreation):
26346         * bindings/js/JSAudioConstructor.h:
26347         (WebCore::JSAudioConstructor::create):
26348         * bindings/js/JSDOMBinding.h:
26349         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
26350         * bindings/js/JSDOMWindowBase.cpp:
26351         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
26352         * bindings/js/JSImageConstructor.cpp:
26353         (WebCore::JSImageConstructor::JSImageConstructor):
26354         (WebCore::JSImageConstructor::finishCreation):
26355         * bindings/js/JSImageConstructor.h:
26356         (WebCore::JSImageConstructor::create):
26357         * bindings/js/JSOptionConstructor.cpp:
26358         (WebCore::JSOptionConstructor::JSOptionConstructor):
26359         (WebCore::JSOptionConstructor::finishCreation):
26360         * bindings/js/JSOptionConstructor.h:
26361         (WebCore::JSOptionConstructor::create):
26362         * bindings/js/JSWorkerContextBase.cpp:
26363         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
26364
26365         The bindings generation script was also changed to move the finishCreation() call into the 
26366         create methods for descendants of JSWorkerContextBase and JSDOMWindowBase because those base
26367         classes had it removed from their constructors.  
26368
26369         * bindings/scripts/CodeGeneratorJS.pm:
26370         (GenerateHeader):
26371         * bridge/c/c_instance.cpp:
26372         (JSC::Bindings::CRuntimeMethod::create):
26373         (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
26374         * bridge/jni/jsc/JavaInstanceJSC.cpp:
26375         (JavaRuntimeMethod::create):
26376         (JavaRuntimeMethod::JavaRuntimeMethod):
26377         * bridge/objc/objc_instance.mm:
26378         (ObjCRuntimeMethod::create):
26379         (ObjCRuntimeMethod::ObjCRuntimeMethod):
26380         * bridge/qt/qt_runtime.cpp:
26381         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
26382         (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
26383         * bridge/qt/qt_runtime.h:
26384         (JSC::Bindings::QtRuntimeMetaMethod::create):
26385         (JSC::Bindings::QtRuntimeConnectionMethod::create):
26386
26387 2011-09-15  Kentaro Hara  <haraken@google.com>
26388
26389         A single line must not be split into two pages.
26390         https://bugs.webkit.org/show_bug.cgi?id=65005
26391
26392         Reviewed by David Hyatt.
26393
26394         When the document width of a page is overflowed, the last line of the page can be
26395         split into the next page. This is the regression caused by r88737. r88737 tried to
26396         fix rounding errors in rendering calculations by expanding and shrinking a page
26397         using one common method, resizePageRectsKeepingRatio(), but overlooked the case where
26398         a document width gets overflowed.
26399
26400         This patch fixes the problem by also using resizePageRectsKeepingRatio() for the case
26401         where the document width gets overflowed.
26402
26403         Test: printing/single-line-must-not-be-split-into-two-pages.html
26404
26405         * WebCore.exp.in: Updated the signature of forceLayoutForPagination().
26406         * page/Frame.cpp:
26407         (WebCore::Frame::setPrinting): Added a new argument |originalPageSize|, which is an original page size before being expanded or shrunk.
26408         * page/Frame.h:
26409         * page/FrameView.cpp:
26410         (WebCore::FrameView::forceLayoutForPagination): Uses resizePageRectsKeepingRatio() in the case where the document width gets overflowed.
26411         * page/FrameView.h:
26412         * page/PrintContext.cpp:
26413         (WebCore::PrintContext::begin): Passes an original page size to setPrinting().
26414         (WebCore::PrintContext::end): Ditto.
26415
26416 2011-09-15  Sheriff Bot  <webkit.review.bot@gmail.com>
26417
26418         Unreviewed, rolling out r95243 and r95246.
26419         http://trac.webkit.org/changeset/95243
26420         http://trac.webkit.org/changeset/95246
26421         https://bugs.webkit.org/show_bug.cgi?id=68202
26422
26423         Broke the Windows build (Requested by smfr on #webkit).
26424
26425         * WebCore.vcproj/WebCore.vcproj:
26426         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
26427         (WebCore::LayerChangesFlusher::hookCallback):
26428         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
26429         (PlatformCAAnimation::copy):
26430         * platform/win/StructuredExceptionHandlerSupressor.h: Removed.
26431
26432 2011-09-15  Simon Fraser  <simon.fraser@apple.com>
26433
26434         Attempt to fix Windows build after r95243.
26435
26436         * WebCore.vcproj/WebCore.vcproj:
26437
26438 2011-09-15  Simon Fraser  <simon.fraser@apple.com>
26439
26440         Make custom scrollbar theme for use in DRT, to reduce pixel differences between platforms
26441         https://bugs.webkit.org/show_bug.cgi?id=68134
26442
26443         Reviewed by James Robinson.
26444
26445         Add new scrollbar theme, called ScrollbarThemeMock, for use in layout
26446         tests. The mock scrollbar simply draws a light gray box in the track,
26447         with a dark gray box for the thumb.
26448         
26449         Add ScrollbarThemeMock files to the build on all platforms. It isn't hooked up yet.
26450
26451         * CMakeLists.txt:
26452         * CMakeListsEfl.txt:
26453         * CMakeListsWinCE.txt:
26454         * GNUmakefile.list.am:
26455         * WebCore.gypi:
26456         * WebCore.pro:
26457         * WebCore.vcproj/WebCore.vcproj:
26458         * WebCore.xcodeproj/project.pbxproj:
26459         * platform/mac/ScrollbarThemeMac.mm:
26460         (WebCore::ScrollbarTheme::nativeTheme):
26461         * platform/mock/ScrollbarThemeMock.cpp: Added.
26462         (WebCore::ScrollbarThemeMock::trackRect):
26463         (WebCore::ScrollbarThemeMock::scrollbarThickness):
26464         (WebCore::ScrollbarThemeMock::paintTrackBackground):
26465         (WebCore::ScrollbarThemeMock::paintThumb):
26466         * platform/mock/ScrollbarThemeMock.h: Added.
26467         (WebCore::ScrollbarThemeMock::hasButtons):
26468         (WebCore::ScrollbarThemeMock::hasThumb):
26469         (WebCore::ScrollbarThemeMock::backButtonRect):
26470         (WebCore::ScrollbarThemeMock::forwardButtonRect):
26471
26472 2011-09-15  Beth Dakin  <bdakin@apple.com>
26473
26474         https://bugs.webkit.org/show_bug.cgi?id=67884
26475         Delete button icon does not properly update when the device resolution changes 
26476         dynamically
26477         -and corresponding-
26478         <rdar://problem/10104632>
26479
26480         Reviewed by Darin Adler.
26481
26482         In DeleteButtonController::deviceScaleFactorChanged(), if the delete button is 
26483         currently showing, hide it and re-show it, forcing it to re-create the deletion 
26484         UI.
26485         * editing/DeleteButtonController.cpp:
26486         (WebCore::DeleteButtonController::deviceScaleFactorChanged):
26487         * editing/DeleteButtonController.h:
26488         * editing/Editor.cpp:
26489         (WebCore::Editor::deviceScaleFactorChanged):
26490         * editing/Editor.h:
26491
26492         Iterate through all of the frames and propagate the deviceScaleFactorChange() 
26493         message to Editor.
26494         * page/Page.cpp:
26495         (WebCore::Page::setDeviceScaleFactor):
26496
26497 2011-09-15  Chris Marrin  <cmarrin@apple.com>
26498
26499         Crash can occur when doing a PlatformCAAnimation::copy() with no valueFunction
26500         https://bugs.webkit.org/show_bug.cgi?id=67510
26501
26502         Reviewed by Adam Roben.
26503         
26504         Another fix to take care of one last crash when running pause-crash.html.
26505         CACF can't deal with null valueFunctions, so avoid setting it when it doesn't 
26506         exist.
26507         
26508         This also adds logic to the Windows Hook in LayerChangesFlusher to prevent it
26509         from catching the null pointer exception generated by the pause-crash.html test
26510         before this bug was fixed. Windows was ignoring the exception, so the testcase
26511         would appear to succeed, even though it should have crashed.
26512
26513         * WebCore.vcproj/WebCore.vcproj:
26514         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
26515         (WebCore::LayerChangesFlusher::hookCallback):
26516         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
26517         (PlatformCAAnimation::copy):
26518         * platform\win\StructuredExceptionHandlerSupressor.h: New file to encapsulate the exception handling supression.
26519
26520 2011-09-15  David Hyatt  <hyatt@apple.com>
26521
26522         https://bugs.webkit.org/show_bug.cgi?id=27579
26523         
26524         Make sure that the border shorthand also resets border-image.
26525
26526         Reviewed by Beth Dakin.
26527
26528         Added fast/borders/border-image-reset-by-border-shorthand.html.
26529
26530         * css/CSSParser.cpp:
26531         (WebCore::CSSParser::parseValue):
26532
26533 2011-09-15  David Hyatt  <hyatt@apple.com>
26534
26535         https://bugs.webkit.org/show_bug.cgi?id=50072
26536         
26537         Make overflow clipping to border-radius work across layers. This patch makes painting
26538         work but does not attempt to fix hit testing. It also doesn't work when a composited
26539         layer is clipped by a non-composited ancestor.
26540
26541         Add a new ClipRect class (used by ClipRects and RenderLayer) that is basically just tracking
26542         a rect and a border radius taint. At the time we set a clip, if the rectangle is listed
26543         as also being clipped by a radius, then we walk up the layer tree and push those inner border
26544         rounded rect clips for any overflow areas in the containing block chain.
26545
26546         Reviewed by Beth Dakin.
26547
26548         Added new tests in fast/clip.
26549
26550         * rendering/RenderBox.cpp:
26551         (WebCore::RenderBox::pushContentsClip):
26552         * rendering/RenderLayer.cpp:
26553         (WebCore::inContainingBlockChain):
26554         (WebCore::RenderLayer::clipToRect):
26555         (WebCore::RenderLayer::restoreClip):
26556         (WebCore::RenderLayer::paintLayer):
26557         (WebCore::RenderLayer::hitTestLayer):
26558         (WebCore::RenderLayer::calculateClipRects):
26559         (WebCore::RenderLayer::backgroundClipRect):
26560         (WebCore::RenderLayer::calculateRects):
26561         (WebCore::RenderLayer::childrenClipRect):
26562         (WebCore::RenderLayer::selfClipRect):
26563         * rendering/RenderLayer.h:
26564         (WebCore::ClipRect::ClipRect):
26565         (WebCore::ClipRect::rect):
26566         (WebCore::ClipRect::setRect):
26567         (WebCore::ClipRect::hasRadius):
26568         (WebCore::ClipRect::setHasRadius):
26569         (WebCore::ClipRect::operator==):
26570         (WebCore::ClipRect::intersect):
26571         (WebCore::ClipRect::move):
26572         (WebCore::ClipRect::isEmpty):
26573         (WebCore::ClipRect::intersects):
26574         (WebCore::intersection):
26575         (WebCore::ClipRects::overflowClipRect):
26576         (WebCore::ClipRects::setOverflowClipRect):
26577         (WebCore::ClipRects::fixedClipRect):
26578         (WebCore::ClipRects::setFixedClipRect):
26579         (WebCore::ClipRects::posClipRect):
26580         (WebCore::ClipRects::setPosClipRect):
26581         * rendering/RenderLayerBacking.cpp:
26582         (WebCore::RenderLayerBacking::updateCompositedBounds):
26583         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
26584         (WebCore::RenderLayerBacking::paintIntoLayer):
26585         * rendering/RenderLayerCompositor.cpp:
26586         (WebCore::RenderLayerCompositor::addToOverlapMap):
26587         (WebCore::RenderLayerCompositor::clippedByAncestor):
26588         * rendering/RenderTreeAsText.cpp:
26589         (WebCore::writeLayers):
26590
26591 2011-09-15  Julien Chaffraix  <jchaffraix@webkit.org>
26592
26593         Crash in RenderBox::paintMaskImages due to a mask without an associated image
26594         https://bugs.webkit.org/show_bug.cgi?id=50151
26595
26596         Reviewed by Simon Fraser.
26597
26598         Test: fast/css/empty-webkit-mask-crash.html
26599
26600         The crash stems from the fact that FillLayer::hasImage would walk over the linked list
26601         of FillLayers and return true if one had an image. This means that hasImage() is true
26602         does not mean that image() is non-NULL on all FillLayers.
26603
26604         * rendering/RenderBox.cpp:
26605         (WebCore::RenderBox::paintMaskImages): Simplify the logic by doing the hasImage() check up-front
26606         and properly check image() for each FillLayers. This has the nice benefit of changing the complexity
26607         from O(n^2) to O(n), which was what the code expected anyway.
26608
26609 2011-09-15  Eric Seidel  <eric@webkit.org>
26610
26611         Remove ENABLE(SVG_AS_IMAGE) since all major ports have it on by default
26612         https://bugs.webkit.org/show_bug.cgi?id=68182
26613
26614         Reviewed by Adam Barth.
26615
26616         * Configurations/FeatureDefines.xcconfig:
26617         * DerivedSources.make:
26618         * GNUmakefile.am:
26619         * features.pri:
26620         * loader/cache/CachedImage.cpp:
26621         (WebCore::CachedImage::createImage):
26622
26623 2011-09-15  Andy Estes  <aestes@apple.com>
26624
26625         Having an empty listener to beforeload events changes the behavior of other scripts
26626         https://bugs.webkit.org/show_bug.cgi?id=45586
26627
26628         Reviewed by Darin Adler.
26629
26630         Test: fast/dom/beforeload/cached-image-before-load.html
26631         
26632         When loading a cached image after a beforeload handler has been
26633         installed on the document, ImageLoader would dispatch both the
26634         beforeload and load events asynchronously in such a way that caused
26635         load to fire first. Since a side effect of firing the beforeload event
26636         is to wire up the CachedImage to its associated RenderImage object,
26637         this work was not done by the time load fired, and scripts that queried
26638         renderer-dependent attributes of the image in an onload handler would
26639         get bogus values in return.
26640
26641         Fix this by ensuring load fires after beforeload in the cached image case.
26642
26643         * loader/ImageLoader.cpp:
26644         (WebCore::ImageLoader::updateFromElement): Call setClient() after
26645         dispatching beforeload, since setClient() will dispatch the load event
26646         if the image is cached.
26647
26648 2011-09-15  Anders Carlsson  <andersca@apple.com>
26649
26650         Remove ScrollView::platformContentsSize
26651         https://bugs.webkit.org/show_bug.cgi?id=68188
26652
26653         Reviewed by Darin Adler.
26654
26655         Since ScrollView keeps track of the contents size in ScrollView::m_contentsSize, we never
26656         have to ask the underlying platform scroll view for contents size since it should always just
26657         be equal to m_contentsSize.
26658
26659         * platform/ScrollView.cpp:
26660         (WebCore::ScrollView::contentsSize):
26661         (WebCore::ScrollView::wheelEvent):
26662         * platform/ScrollView.h:
26663         * platform/mac/ScrollViewMac.mm:
26664         * platform/wx/ScrollViewWx.cpp:
26665
26666 2011-09-15  Jon Lee  <jonlee@apple.com>
26667
26668         Submitting a form with target=_blank works only once
26669         https://bugs.webkit.org/show_bug.cgi?id=28633
26670         <rdar://problem/7357787>
26671
26672         Reviewed by Andy Estes.
26673
26674         Test: fast/forms/submit-to-blank-multiple-times.html
26675
26676         The call to reset the multiple form submission bool is pushed down from the mouseDown handler to
26677         handleMousePressEvent(), to include WK2 coverage, similar to keyEvent.
26678
26679         * page/EventHandler.cpp:
26680         (WebCore::EventHandler::handleMousePressEvent):
26681         (WebCore::EventHandler::keyEvent): clarified old FIXME comment. Both key events and mouse events
26682         may submit a form multiple times, but the call to reset the handler should probably be in another
26683         abstraction layer.
26684         * page/mac/EventHandlerMac.mm:
26685         (WebCore::EventHandler::mouseDown):
26686
26687 2011-09-15  Peter Rybin  <peter.rybin@gmail.com>
26688
26689         XMLDocumentParserQt.cpp incorrectly converts 0-based number into 1-based number
26690         https://bugs.webkit.org/show_bug.cgi?id=63540
26691
26692         ZeroBasedNumber/OneBasedNumber are used in more places, inconsistency
26693         in xml parser is fixed.
26694
26695         Reviewed by Adam Barth.
26696
26697         * bindings/js/ScriptController.cpp:
26698         (WebCore::ScriptController::eventHandlerLineNumber):
26699         * dom/ScriptableDocumentParser.h:
26700         * dom/StyleElement.cpp:
26701         (WebCore::StyleElement::StyleElement):
26702         * dom/ViewportArguments.cpp:
26703         (WebCore::parserLineNumber):
26704         * html/parser/HTMLDocumentParser.cpp:
26705         (WebCore::HTMLDocumentParser::lineNumber):
26706         * html/parser/HTMLDocumentParser.h:
26707         * inspector/InspectorResourceAgent.cpp:
26708         (WebCore::InspectorResourceAgent::buildInitiatorObject):
26709         * svg/SVGDocumentExtensions.cpp:
26710         (WebCore::parserLineNumber):
26711         * xml/parser/NewXMLDocumentParser.cpp:
26712         (WebCore::NewXMLDocumentParser::lineNumber):
26713         * xml/parser/NewXMLDocumentParser.h:
26714         * xml/parser/XMLDocumentParser.cpp:
26715         (WebCore::XMLDocumentParser::pushCurrentNode):
26716         * xml/parser/XMLDocumentParser.h:
26717         * xml/parser/XMLDocumentParserLibxml2.cpp:
26718         (WebCore::PendingCallbacks::appendErrorCallback):
26719         (WebCore::XMLDocumentParser::doWrite):
26720         (WebCore::XMLDocumentParser::startElementNs):
26721         (WebCore::XMLDocumentParser::error):
26722         (WebCore::XMLDocumentParser::lineNumber):
26723         (WebCore::XMLDocumentParser::columnNumber):
26724         (WebCore::XMLDocumentParser::textPosition):
26725         * xml/parser/XMLDocumentParserQt.cpp:
26726         (WebCore::XMLDocumentParser::doWrite):
26727         (WebCore::XMLDocumentParser::doEnd):
26728         (WebCore::XMLDocumentParser::lineNumber):
26729         (WebCore::XMLDocumentParser::columnNumber):
26730         (WebCore::XMLDocumentParser::textPosition):
26731         (WebCore::XMLDocumentParser::parse):
26732         (WebCore::XMLDocumentParser::parseStartElement):
26733
26734 2011-09-15  Peter Kasting  <pkasting@google.com>
26735
26736         Fix WebCore.gypi after r95130.
26737
26738         Unreviewed, build fix.
26739
26740         * WebCore.gypi:
26741
26742 2011-09-15  Eric Seidel  <eric@webkit.org>
26743
26744         Remove ENABLE_SVG_ANIMATION as all major ports have it on by default
26745         https://bugs.webkit.org/show_bug.cgi?id=68022
26746
26747         Reviewed by Ryosuke Niwa.
26748
26749         * Configurations/FeatureDefines.xcconfig:
26750         * DerivedSources.make:
26751         * GNUmakefile.am:
26752         * features.pri:
26753         * page/DOMWindow.idl:
26754         * svg/svgtags.in:
26755
26756 2011-09-15  Matthew Delaney  <mdelaney@apple.com>
26757
26758         REGRESSION (Safari 5.1-r95043): Incorrect box-shadow offset
26759         https://bugs.webkit.org/show_bug.cgi?id=68041
26760
26761         Reviewed by Dan Bernstein.
26762
26763         Test: fast/box-shadow/no-blur-multiple-offsets.html
26764
26765         * platform/graphics/cg/GraphicsContextCG.cpp:
26766         (WebCore::GraphicsContext::setPlatformShadow): Add hack back in for Lion if
26767         context is not accelerated.
26768
26769 2011-09-15  James Simonsen  <simonjam@chromium.org>
26770
26771         Ref protect HTMLObjectElement and HTMLEmbedElement while requesting plugins
26772         https://bugs.webkit.org/show_bug.cgi?id=68014
26773
26774         Reviewed by Adam Barth.
26775
26776         Test: plugins/destroy-during-npp-new.html under valgrind
26777               plugins/destroy-during-npp-new-object-with-fallback-content.html under valgrind
26778
26779         * html/HTMLEmbedElement.cpp:
26780         (WebCore::HTMLEmbedElement::updateWidget):
26781         * html/HTMLObjectElement.cpp:
26782         (WebCore::HTMLObjectElement::updateWidget):
26783
26784 2011-09-15  Sam Weinig  <sam@webkit.org>
26785
26786         Experiment with removing ability to call a collection (except document.all)
26787         https://bugs.webkit.org/show_bug.cgi?id=67579
26788
26789         Reviewed by Anders Carlsson.
26790
26791         At the request of the public-script-coord mailing list (specifically Brendan Eich, see
26792         http://lists.w3.org/Archives/Public/public-script-coord/2011JulSep/0360.html), this
26793         patch removes the ability to call a collection (either a NodeList or HTMLCollection,
26794         but not an HTMLAllCollection) as function, a syntax that we adopted to emulate IE.
26795         It is being landed to find out if there are any sites relying on this behavior of WebKit,
26796         or, if it is only used in IE only paths.  If we find sites are breaking, it should be rolled
26797         out and we should inform the public-script-coord mailing list.
26798
26799         * bindings/js/JSHTMLAllCollectionCustom.cpp:
26800         Update comment.
26801
26802         * bindings/js/JSHTMLCollectionCustom.cpp:
26803         * bindings/js/JSNodeListCustom.cpp:
26804         Remove custom call code.
26805
26806         * bindings/scripts/CodeGeneratorV8.pm:
26807         Add support for V8CustomCall.
26808
26809         * dom/NodeList.idl:
26810         * html/HTMLCollection.idl:
26811         Remove CustomCall.
26812
26813 2011-09-15  Andreas Kling  <kling@webkit.org>
26814
26815         CanvasRenderingContext2D::State copy ctor should use initializer list.
26816         https://bugs.webkit.org/show_bug.cgi?id=68152
26817
26818         Reviewed by Darin Adler.
26819
26820         * html/canvas/CanvasRenderingContext2D.cpp:
26821         (WebCore::CanvasRenderingContext2D::State::State):
26822
26823 2011-09-15  Andreas Kling  <kling@webkit.org>
26824
26825         Don't bother calculating dirty rect for accelerated 2D canvases.
26826         https://bugs.webkit.org/show_bug.cgi?id=68158
26827
26828         Reviewed by Kenneth Rohde Christiansen.
26829
26830         For accelerated CanvasRenderingContext2D, didDraw() simply calls out
26831         to RenderLayer::contentChanged(). Move this to the top of didDraw()
26832         so we don't waste time calculating a precise dirty rect.
26833
26834         * html/canvas/CanvasRenderingContext2D.cpp:
26835         (WebCore::CanvasRenderingContext2D::didDraw):
26836
26837 2011-09-15  Brian Salomon  <bsalomon@google.com>
26838
26839         [Skia/Chrome] Cleanup unneeded code now that GrGLInterface is used to set GL ctx per GL call.
26840         https://bugs.webkit.org/show_bug.cgi?id=68096
26841
26842         Reviewed by Stephen White.
26843
26844         This change removes PlatformContextSkia::makeGrContextCurrent now that
26845         GrGLInterface is used to set the context on every Skia GL call.
26846
26847         Tested by every canvas layout test.
26848
26849         * platform/graphics/chromium/FontLinux.cpp:
26850         (WebCore::Font::drawGlyphs):
26851         * platform/graphics/skia/FontSkia.cpp:
26852         (WebCore::Font::drawGlyphs):
26853         * platform/graphics/skia/GraphicsContextSkia.cpp:
26854         (WebCore::GraphicsContext::clearRect):
26855         (WebCore::GraphicsContext::clip):
26856         (WebCore::GraphicsContext::drawConvexPolygon):
26857         (WebCore::GraphicsContext::drawEllipse):
26858         (WebCore::GraphicsContext::drawFocusRing):
26859         (WebCore::GraphicsContext::drawLine):
26860         (WebCore::GraphicsContext::drawLineForTextChecking):
26861         (WebCore::GraphicsContext::drawLineForText):
26862         (WebCore::GraphicsContext::drawRect):
26863         (WebCore::GraphicsContext::fillPath):
26864         (WebCore::GraphicsContext::fillRect):
26865         (WebCore::GraphicsContext::fillRoundedRect):
26866         (WebCore::GraphicsContext::strokeArc):
26867         (WebCore::GraphicsContext::strokePath):
26868         (WebCore::GraphicsContext::strokeRect):
26869         * platform/graphics/skia/ImageBufferSkia.cpp:
26870         (WebCore::ImageBuffer::ImageBuffer):
26871         (WebCore::ImageBuffer::~ImageBuffer):
26872         (WebCore::ImageBuffer::copyImage):
26873         (WebCore::ImageBuffer::draw):
26874         (WebCore::ImageBuffer::drawPattern):
26875         (WebCore::ImageBuffer::getUnmultipliedImageData):
26876         (WebCore::ImageBuffer::getPremultipliedImageData):
26877         (WebCore::ImageBuffer::putUnmultipliedImageData):
26878         (WebCore::ImageBuffer::putPremultipliedImageData):
26879         (WebCore::ImageBuffer::toDataURL):
26880         * platform/graphics/skia/ImageSkia.cpp:
26881         (WebCore::BitmapImage::draw):
26882         (WebCore::BitmapImageSingleFrameSkia::draw):
26883         * platform/graphics/skia/PlatformContextSkia.cpp:
26884         (WebCore::PlatformContextSkia::clipPathAntiAliased):
26885         (WebCore::PlatformContextSkia::setGraphicsContext3D):
26886         * platform/graphics/skia/PlatformContextSkia.h:
26887         * platform/graphics/skia/SkiaFontWin.cpp:
26888         (WebCore::paintSkiaText):
26889
26890 2011-09-15  Peter Beverloo  <peter@chromium.org>
26891
26892         [Chromium] Make sure that the ARM NEON files build with -marm
26893         https://bugs.webkit.org/show_bug.cgi?id=68088
26894
26895         Simply adding the -marm cflag for OS=Android compiles results in it
26896         being overridden by an -mthumb cflag later in the project generating
26897         process. Therefore we should explicitly exclude -mthumb.
26898
26899         Reviewed by Tony Gentilcore.
26900
26901         * WebCore.gyp/WebCore.gyp:
26902
26903 2011-09-15  Keishi Hattori  <keishi@webkit.org>
26904
26905         [chromium] Build fix: Remove use of GraphicsContext::setIsAcceleratedContext
26906
26907         r95174 introduced GraphicsContext::setIsAcceleratedContext into Skia code and caused chromium builds to fail.
26908
26909         * platform/graphics/skia/ImageBufferSkia.cpp:
26910         (WebCore::ImageBuffer::ImageBuffer):
26911
26912 2011-09-15  Yuta Kitamura  <yutak@chromium.org>
26913
26914         ThreadableWebSocketChannelClientWrapper shouldn't have a String in it.
26915         https://bugs.webkit.org/show_bug.cgi?id=67908
26916
26917         Reviewed by David Levin.
26918
26919         Replace a String member variable in ThreadableWebSocketChannelClientWrapper with Vector<UChar>.
26920
26921         ThreadableWebSocketChannelClientWrapper is derived from ThreadSafeRefCounted. It may be
26922         destroyed on different threads, which will affect String's refcounting. Therefore, classes
26923         derived from ThreadSafeRefCounted must not have a String member variable.
26924
26925         No change in functionality, thus no new tests. WebSocket worker tests
26926         (tests under http/tests/websocket/tests/{hixie76,hybi}/workers/) should keep passing.
26927
26928         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
26929         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
26930         (WebCore::ThreadableWebSocketChannelClientWrapper::subprotocol):
26931         Create a String from Vector<UChar>. Note that String constructor taking an empty vector returns
26932         a null string, not an empty string. We want an empty string in that case, so I had to add
26933         special-case handling for an empty vector.
26934         (WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol):
26935         Copy the content of the given String into Vector.
26936         * websockets/ThreadableWebSocketChannelClientWrapper.h:
26937
26938 2011-09-14  Matthew Delaney  <mdelaney@apple.com>
26939
26940         Use isAcceleratedContext() on the GraphicsContext instead of flags in ImageBuffer
26941         https://bugs.webkit.org/show_bug.cgi?id=68137
26942
26943         Reviewed by Simon Fraser.
26944
26945         No new tests. No change in behavior.
26946
26947         * html/canvas/CanvasRenderingContext2D.cpp:
26948         (WebCore::CanvasRenderingContext2D::isAccelerated): Have all just query the context directly.
26949         (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere): just use isAccelerated directly
26950         * platform/graphics/ImageBuffer.h:
26951         * platform/graphics/cg/ImageBufferCG.cpp:
26952         (WebCore::ImageBuffer::ImageBuffer): Set isAcceleratedContext on the GraphicsContext instead of carrying the
26953             bit around on the ImageBuffer itself.
26954         (WebCore::ImageBuffer::copyNativeImage): Update the check. Same for all below...
26955         (WebCore::ImageBuffer::drawPattern):
26956         (WebCore::ImageBuffer::getUnmultipliedImageData):
26957         (WebCore::ImageBuffer::getPremultipliedImageData):
26958         (WebCore::ImageBuffer::putUnmultipliedImageData):
26959         (WebCore::ImageBuffer::putPremultipliedImageData):
26960         * platform/graphics/skia/ImageBufferSkia.cpp: Set isAcceleratedContext on the GraphicsContext instead of carrying the
26961             bit around on the ImageBuffer itself.
26962         (WebCore::ImageBuffer::ImageBuffer): Remove m_acceleratesRendering flag and getter.
26963
26964 2011-09-14  Jeffrey Pfau  <jeffrey@endrift.com>
26965
26966         libxml2 fragment parser loses prefix namespaces
26967         https://bugs.webkit.org/show_bug.cgi?id=66423
26968
26969         This makes the loop over the elements outside of the context actually update the element it's processing.
26970
26971         Reviewed by Eric Seidel.
26972
26973         Test: fast/parser/innerhtml-with-prefixed-elements.xhtml
26974
26975         * xml/parser/XMLDocumentParserLibxml2.cpp:
26976         (WebCore::XMLDocumentParser::XMLDocumentParser):
26977
26978 2011-09-14  Nate Chapin  <japhet@chromium.org>
26979
26980         [V8] Null-check the v8::Context in 
26981         V8DOMWindowShell:namedItemAdded() before using it.
26982         Also, add some logging to figure out how we're getting
26983         into this bad state.
26984         https://bugs.webkit.org/show_bug.cgi?id=68099
26985
26986         Reviewed by Adam Barth.
26987
26988         No new tests, no known repro.
26989
26990         * bindings/v8/V8DOMWindowShell.cpp:
26991         (WebCore::V8DOMWindowShell::namedItemAdded):
26992
26993 2011-09-14  Patrick Gansterer  <paroga@webkit.org>
26994
26995         Replace ENABLE_XHR_RESPONSE_BLOB preprocessor statements in IDL files with Conditional attribute
26996         https://bugs.webkit.org/show_bug.cgi?id=64960
26997
26998         Reviewed by Ryosuke Niwa.
26999
27000         * xml/XMLHttpRequest.idl:
27001
27002 2011-09-14  Alexei Svitkine  <asvitkine@chromium.org>
27003
27004         Chromium: Add a layer for rubber-band overhang painting to the hardware path.
27005         https://bugs.webkit.org/show_bug.cgi?id=66969
27006
27007         Also, add layout tests for rubber-band overhang drawing for compositing path.
27008
27009         Reviewed by James Robinson.
27010
27011         * page/FrameView.cpp:
27012         (WebCore::FrameView::layerForOverhangAreas):
27013         * page/FrameView.h:
27014         * platform/ScrollView.cpp:
27015         (WebCore::ScrollView::scrollContents):
27016         (WebCore::ScrollView::wheelEvent):
27017         * platform/ScrollView.h:
27018         * platform/ScrollableArea.h:
27019         (WebCore::ScrollableArea::layerForOverhangAreas):
27020         * rendering/RenderLayerCompositor.cpp:
27021         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
27022         (WebCore::RenderLayerCompositor::paintContents):
27023         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
27024         (WebCore::RenderLayerCompositor::destroyRootLayer):
27025         * rendering/RenderLayerCompositor.h:
27026         (WebCore::RenderLayerCompositor::layerForOverhangAreas):
27027
27028 2011-09-14  Antoine Labour  <piman@chromium.org>
27029
27030         Remove the dependency on GraphicsLayer from CCLayerTreeHost.
27031         Move root layer management into the NonCompositedContentHost.
27032         Have WebViewImpl create a NonCompositedContentHost explicitly.
27033         https://bugs.webkit.org/show_bug.cgi?id=67883
27034
27035         Reviewed by James Robinson.
27036
27037         Covered by compositing/ layout tests.
27038
27039         * platform/graphics/chromium/NonCompositedContentHost.cpp:
27040         (WebCore::NonCompositedContentHost::setRootLayer):
27041         (WebCore::NonCompositedContentHost::setViewport):
27042         (WebCore::NonCompositedContentHost::setVisible):
27043         (WebCore::NonCompositedContentHost::clearRenderSurfacesRecursive):
27044         (WebCore::NonCompositedContentHost::invalidateRect):
27045         * platform/graphics/chromium/NonCompositedContentHost.h:
27046         (WebCore::NonCompositedContentHost::topLevelRootLayer):
27047         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
27048         (WebCore::CCLayerTreeHost::create):
27049         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
27050         (WebCore::CCLayerTreeHost::initialize):
27051         (WebCore::CCLayerTreeHost::commitTo):
27052         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
27053         (WebCore::CCLayerTreeHost::setViewport):
27054         (WebCore::CCLayerTreeHost::setVisible):
27055         (WebCore::CCLayerTreeHost::updateLayers):
27056         (WebCore::CCLayerTreeHost::paintLayerContents):
27057         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
27058         (WebCore::CCLayerTreeHost::rootLayer):
27059
27060 2011-09-14  Henrik Grunell  <grunell@google.com>
27061
27062         MediaStream API: Change PeerConnection constructor name to webkitPeerConnection
27063         https://bugs.webkit.org/show_bug.cgi?id=67843
27064
27065         Reviewed by Tony Gentilcore.
27066
27067         Tests for the MediaStream API will be provided by the bug 56587, pending enough landed code.
27068
27069         * bindings/generic/RuntimeEnabledFeatures.h:
27070         (WebCore::RuntimeEnabledFeatures::webkitPeerConnectionEnabled):
27071         * page/DOMWindow.idl:
27072
27073 2011-09-14  John Bauman  <jbauman@chromium.org>
27074
27075         Make sure to GC decoded images that are only used with WebGL
27076         https://bugs.webkit.org/show_bug.cgi?id=67899
27077
27078         Reviewed by James Robinson.
27079
27080         Tell CachedImage that the WebGL image was drawn so WebGL-only
27081         content will have decoded images collected.
27082
27083         * platform/graphics/GraphicsContext3D.cpp:
27084         (WebCore::GraphicsContext3D::extractImageData):
27085
27086 2011-09-14  Antoine Labour  <piman@chromium.org>
27087
27088         Added a pure virtual class CCLayerDelegate which helps to isolate
27089         the chromium compositor from the rest of WebCore, and aids unit
27090         testing by being easily mockable.  The compositor layers no longer
27091         directly see instances of GraphicsLayerChromium, instead they use
27092         this interface.
27093         https://bugs.webkit.org/show_bug.cgi?id=67750
27094
27095         Reviewed by James Robinson.
27096
27097         No new tests: changes already covered by existing compositing layout
27098         tests.
27099
27100         * platform/graphics/chromium/CanvasLayerChromium.cpp:
27101         (WebCore::CanvasLayerChromium::CanvasLayerChromium):
27102         * platform/graphics/chromium/CanvasLayerChromium.h:
27103         * platform/graphics/chromium/ContentLayerChromium.cpp:
27104         (WebCore::ContentLayerPainter::create):
27105         (WebCore::ContentLayerPainter::paint):
27106         (WebCore::ContentLayerPainter::ContentLayerPainter):
27107         (WebCore::ContentLayerChromium::create):
27108         (WebCore::ContentLayerChromium::ContentLayerChromium):
27109         (WebCore::ContentLayerChromium::drawsContent):
27110         * platform/graphics/chromium/ContentLayerChromium.h:
27111         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
27112         (WebCore::GraphicsLayerChromium::getDrawsContent):
27113         (WebCore::GraphicsLayerChromium::getPreserves3D):
27114         (WebCore::GraphicsLayerChromium::paintingGoesToWindow):
27115         (WebCore::GraphicsLayerChromium::doPaintGraphicsLayerContents):
27116         (WebCore::GraphicsLayerChromium::notifySyncRequired):
27117         * platform/graphics/chromium/GraphicsLayerChromium.h:
27118         * platform/graphics/chromium/ImageLayerChromium.cpp:
27119         (WebCore::ImageLayerChromium::create):
27120         (WebCore::ImageLayerChromium::ImageLayerChromium):
27121         * platform/graphics/chromium/ImageLayerChromium.h:
27122         * platform/graphics/chromium/LayerChromium.cpp:
27123         (WebCore::LayerChromium::create):
27124         (WebCore::LayerChromium::LayerChromium):
27125         * platform/graphics/chromium/LayerChromium.h:
27126         (WebCore::CCLayerDelegate::~CCLayerDelegate):
27127         (WebCore::LayerChromium::preserves3D):
27128         (WebCore::LayerChromium::setOwner):
27129         * platform/graphics/chromium/PluginLayerChromium.cpp:
27130         (WebCore::PluginLayerChromium::create):
27131         (WebCore::PluginLayerChromium::PluginLayerChromium):
27132         * platform/graphics/chromium/PluginLayerChromium.h:
27133         * platform/graphics/chromium/TiledLayerChromium.cpp:
27134         (WebCore::TiledLayerChromium::TiledLayerChromium):
27135         * platform/graphics/chromium/TiledLayerChromium.h:
27136         * platform/graphics/chromium/VideoLayerChromium.cpp:
27137         (WebCore::VideoLayerChromium::create):
27138         (WebCore::VideoLayerChromium::VideoLayerChromium):
27139         (WebCore::VideoLayerChromium::updateCompositorResources):
27140         * platform/graphics/chromium/VideoLayerChromium.h:
27141         * platform/graphics/chromium/WebGLLayerChromium.cpp:
27142         (WebCore::WebGLLayerChromium::create):
27143         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
27144         * platform/graphics/chromium/WebGLLayerChromium.h:
27145
27146 2011-09-14  Anders Carlsson  <andersca@apple.com>
27147
27148         Try to fix GTK+ build.
27149         
27150         * GNUmakefile.list.am:
27151
27152 2011-09-14  James Robinson  <jamesr@chromium.org>
27153
27154         [chromium] LayerRendererChromium shouldn't be RefCounted
27155         https://bugs.webkit.org/show_bug.cgi?id=68121
27156
27157         Reviewed by Kenneth Russell.
27158
27159         LayerRendererChromium is owned exclusively by CCLayerTreeHostImpl, so there's no reason to have it be
27160         refcounted. Making it an OwnPtr<> makes the lifecycle for these objects much cleaner and reduces the chance of
27161         introducing accidental reference cycles.  This also removes the LayerRendererChromium pointers from CCLayerImpls
27162         since it only needed at draw time.
27163
27164         Covered by compositing/ tests.
27165
27166         * platform/graphics/chromium/LayerRendererChromium.cpp:
27167         (WebCore::LayerRendererChromium::create):
27168         (WebCore::LayerRendererChromium::drawLayers):
27169         (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
27170         (WebCore::LayerRendererChromium::useRenderSurface):
27171         (WebCore::LayerRendererChromium::drawLayer):
27172         * platform/graphics/chromium/LayerRendererChromium.h:
27173         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
27174         (WebCore::CCCanvasLayerImpl::draw):
27175         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
27176         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
27177         (WebCore::CCLayerImpl::CCLayerImpl):
27178         (WebCore::CCLayerImpl::draw):
27179         (WebCore::CCLayerImpl::bindContentsTexture):
27180         (WebCore::CCLayerImpl::drawDebugBorder):
27181         * platform/graphics/chromium/cc/CCLayerImpl.h:
27182         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
27183         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
27184         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
27185         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
27186         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
27187         (WebCore::CCPluginLayerImpl::draw):
27188         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
27189         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
27190         (WebCore::CCRenderSurface::cleanupResources):
27191         (WebCore::CCRenderSurface::prepareContentsTexture):
27192         (WebCore::CCRenderSurface::draw):
27193         (WebCore::CCRenderSurface::drawLayer):
27194         (WebCore::CCRenderSurface::drawSurface):
27195         * platform/graphics/chromium/cc/CCRenderSurface.h:
27196         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
27197         (WebCore::CCTiledLayerImpl::bindContentsTexture):
27198         (WebCore::CCTiledLayerImpl::draw):
27199         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
27200         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
27201         (WebCore::CCVideoLayerImpl::draw):
27202         (WebCore::CCVideoLayerImpl::drawYUV):
27203         (WebCore::CCVideoLayerImpl::drawRGBA):
27204         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
27205
27206 2011-09-14  Anders Carlsson  <andersca@apple.com>
27207
27208         Get rid of WebCoreViewFactory and its WebViewFactory subclass
27209         https://bugs.webkit.org/show_bug.cgi?id=68124
27210
27211         Reviewed by Sam Weinig.
27212
27213         * WebCore.exp.in:
27214         * WebCore.xcodeproj/project.pbxproj:
27215         * editing/mac/FrameSelectionMac.mm:
27216         * page/mac/FrameMac.mm:
27217         * page/mac/WebCoreViewFactory.h: Removed.
27218         * page/mac/WebCoreViewFactory.m: Removed.
27219
27220 2011-09-14  David Hyatt  <hyatt@apple.com>
27221
27222         https://bugs.webkit.org/show_bug.cgi?id=52736
27223
27224         Tiles were not being properly centered within border image sides for the "repeat"
27225         keyword. This patch fixes the buggy math behind the pattern tiling to actually get
27226         the initial phases correct.
27227
27228         Reviewed by Sam Weinig.
27229         
27230         Added new tests in fast/borders and updated broken existing tests.
27231
27232         * platform/graphics/Image.cpp:
27233         (WebCore::Image::drawTiled):
27234
27235 2011-09-14  Anders Carlsson  <andersca@apple.com>
27236
27237         Remove DocTypeStrings.gperf
27238         https://bugs.webkit.org/show_bug.cgi?id=68119
27239
27240         Reviewed by Sam Weinig.
27241
27242         * CMakeLists.txt:
27243         * CodeGenerators.pri:
27244         * DerivedSources.make:
27245         * GNUmakefile.am:
27246         * WebCore.gyp/WebCore.gyp:
27247         * WebCore.vcproj/WebCore.vcproj:
27248         * WebCore.xcodeproj/project.pbxproj:
27249         * html/DocTypeStrings.gperf: Removed.
27250         * make-hash-tools.pl:
27251         * platform/HashTools.h:
27252
27253 2011-09-14  Chris Rogers  <crogers@google.com>
27254
27255         Address lifetime issues in OfflineAudioDestinationNode (take 2)
27256         https://bugs.webkit.org/show_bug.cgi?id=68111
27257
27258         Reviewed by Kenneth Russell.
27259
27260         No new tests.  This fixes existing layout tests.
27261
27262         * webaudio/OfflineAudioDestinationNode.cpp:
27263         (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
27264         (WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
27265         (WebCore::OfflineAudioDestinationNode::startRendering):
27266         (WebCore::OfflineAudioDestinationNode::render):
27267
27268 2011-09-14  David Hyatt  <hyatt@apple.com>
27269
27270         https://bugs.webkit.org/show_bug.cgi?id=68103
27271         
27272         Centered portions of border images don't render correctly. Make the tile scale factor have to be
27273         explicitly passed in and modify paintNinePieceImage to compute it for all sides. The attempts to
27274         implicitly compute the scale for the pattern based off the source and destination rects just don't
27275         work, since the center image rects don't provide the right information to be able to infer the
27276         scale factor.
27277
27278         Reviewed by Sam Weinig.
27279
27280         Reset all the existing fast/borders pixel results to Lion for these changes.
27281
27282         * platform/graphics/GraphicsContext.cpp:
27283         (WebCore::GraphicsContext::drawTiledImage):
27284         * platform/graphics/GraphicsContext.h:
27285         * platform/graphics/Image.cpp:
27286         (WebCore::Image::drawTiled):
27287         * platform/graphics/Image.h:
27288         * rendering/RenderBoxModelObject.cpp:
27289         (WebCore::RenderBoxModelObject::paintNinePieceImage):
27290
27291 2011-09-14  Anders Carlsson  <andersca@apple.com>
27292
27293         Get rid of ResourceHandle::bufferedData()
27294         https://bugs.webkit.org/show_bug.cgi?id=68112
27295
27296         Reviewed by David Hyatt.
27297
27298         ResourceHandle::bufferedData() was only implemented on Mac, and the support in the underlying
27299         NSURLConnection class hasn't been there for several OS releases.
27300
27301         * loader/ResourceLoader.cpp:
27302         (WebCore::ResourceLoader::resourceData):
27303         (WebCore::ResourceLoader::addData):
27304         * platform/network/ResourceHandle.h:
27305         * platform/network/cf/ResourceHandleCFNet.cpp:
27306         * platform/network/curl/ResourceHandleCurl.cpp:
27307         * platform/network/mac/ResourceHandleMac.mm:
27308         * platform/network/qt/ResourceHandleQt.cpp:
27309         * platform/network/soup/ResourceHandleSoup.cpp:
27310         * platform/network/win/ResourceHandleWin.cpp:
27311
27312 2011-09-14  Mark Hahnenberg  <mhahnenberg@apple.com>
27313
27314         REGRESSION: r95108 broke Qt Linux tests
27315         https://bugs.webkit.org/show_bug.cgi?id=68104
27316
27317         Reviewed by Csaba Osztrogonác.
27318
27319         No new tests.
27320
27321         Build fix for Qt tests broken in r95108.
27322
27323         * bridge/qt/qt_runtime.cpp:
27324         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
27325         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
27326         (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
27327         * bridge/qt/qt_runtime.h:
27328
27329 2011-09-14  James Robinson  <jamesr@chromium.org>
27330
27331         [skia] fast/canvas/setWidthResetAfterForcedRender is flaky
27332         https://bugs.webkit.org/show_bug.cgi?id=67955
27333
27334         Reviewed by Stephen White.
27335
27336         When destroying an ImageBuffer due to a canvas resize, we weren't clearing the texture ID on the layer,
27337         resulting in future compositor draw calls binding an invalid texture.  This results in the test failing and
27338         possibly drawing from a bad texture.
27339
27340         Covered by fast/canvas/setWidthResetAfterForcedRender.html in the GPU configuration.
27341
27342         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
27343         (WebCore::Canvas2DLayerChromium::drawsContent)
27344         * platform/graphics/skia/ImageBufferSkia.cpp:
27345         (WebCore::ImageBuffer::~ImageBuffer):
27346
27347 2011-09-14  Eric Seidel  <eric@webkit.org>
27348
27349         Remove ENABLE_SVG_USE as <use> is required by HTML5
27350         https://bugs.webkit.org/show_bug.cgi?id=68019
27351
27352         Reviewed by Ryosuke Niwa.
27353
27354         I missed a couple uses of SVG_USE in my previous patch.
27355
27356         * dom/DOMImplementation.cpp:
27357         (WebCore::isSVG10Feature):
27358         (WebCore::isSVG11Feature):
27359         * svg/SVGUseElement.cpp:
27360         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
27361         * svg/SVGUseElement.h:
27362
27363 2011-09-14  Mark Hahnenberg  <mhahnenberg@apple.com>
27364
27365         Unzip initialization lists and constructors in JSCell hierarchy (6/7)
27366         https://bugs.webkit.org/show_bug.cgi?id=67692
27367
27368         Reviewed by Geoffrey Garen.
27369
27370         No new tests.
27371
27372         Completed the sixth level of the refactoring to add finishCreation() 
27373         methods to all classes within the JSCell hierarchy with non-trivial 
27374         constructor bodies.
27375
27376         This primarily consists of pushing the calls to finishCreation() down 
27377         into the constructors of the subclasses of the fifth level of the hierarchy 
27378         as well as pulling the finishCreation() calls out into the class's corresponding
27379         create() method if it has one.  Doing both simultaneously allows us to 
27380         maintain the invariant that the finishCreation() method chain is called exactly 
27381         once during the creation of an object, since calling it any other number of 
27382         times (0, 2, or more) will cause an assertion failure.
27383
27384         * WebCore.exp.in:
27385         * bindings/js/JSDOMBinding.h:
27386         (WebCore::DOMConstructorObject::DOMConstructorObject):
27387         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
27388         (WebCore::DOMConstructorWithDocument::finishCreation):
27389         * bindings/js/JSDOMGlobalObject.cpp:
27390         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
27391         * bindings/js/JSDOMGlobalObject.h:
27392         * bindings/js/JSDOMWindowBase.cpp:
27393         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
27394         (WebCore::JSDOMWindowBase::finishCreation):
27395         * bindings/js/JSDOMWindowBase.h:
27396         * bindings/js/JSWorkerContextBase.cpp:
27397         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
27398         (WebCore::JSWorkerContextBase::finishCreation):
27399         * bindings/js/JSWorkerContextBase.h:
27400         * bindings/scripts/CodeGeneratorJS.pm:
27401
27402         Added a finishCreation declaration and Moved the finishCreation call into the 
27403         create method for all classes except for subclasses of JSWorkerContextBase and 
27404         JSDOMWindowBase because those classes are on the next level, and it's easier 
27405         to do all of these classes in one fell swoop rather than level by level.
27406         (GenerateHeader):
27407         Added the implementation of the finishCreation method for the classes described above.
27408         (GenerateImplementation):
27409         Also added the finishCreation calls to the autogenerated DOM constructor classes.
27410         (GenerateConstructorDeclaration):
27411         (GenerateConstructorDefinition):
27412
27413         * bindings/scripts/test/JS/JSTestInterface.cpp:
27414         (WebCore::JSTestInterfaceConstructor::create):
27415         (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
27416         (WebCore::JSTestInterfaceConstructor::finishCreation):
27417         (WebCore::JSTestInterface::JSTestInterface):
27418         (WebCore::JSTestInterface::finishCreation):
27419         * bindings/scripts/test/JS/JSTestInterface.h:
27420         (WebCore::JSTestInterface::create):
27421         (WebCore::JSTestInterfacePrototype::create):
27422         (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
27423         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
27424         (WebCore::JSTestMediaQueryListListenerConstructor::create):
27425         (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
27426         (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
27427         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
27428         (WebCore::JSTestMediaQueryListListener::finishCreation):
27429         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
27430         (WebCore::JSTestMediaQueryListListener::create):
27431         (WebCore::JSTestMediaQueryListListenerPrototype::create):
27432         (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
27433         * bindings/scripts/test/JS/JSTestObj.cpp:
27434         (WebCore::JSTestObjConstructor::create):
27435         (WebCore::JSTestObjConstructor::JSTestObjConstructor):
27436         (WebCore::JSTestObjConstructor::finishCreation):
27437         (WebCore::JSTestObj::JSTestObj):
27438         (WebCore::JSTestObj::finishCreation):
27439         * bindings/scripts/test/JS/JSTestObj.h:
27440         (WebCore::JSTestObj::create):
27441         (WebCore::JSTestObjPrototype::create):
27442         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
27443         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
27444         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
27445         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor):
27446         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
27447         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
27448         (WebCore::JSTestSerializedScriptValueInterface::finishCreation):
27449         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
27450         (WebCore::JSTestSerializedScriptValueInterface::create):
27451         (WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
27452         (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
27453         * bridge/c/CRuntimeObject.cpp:
27454         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
27455         * bridge/c/CRuntimeObject.h:
27456         (JSC::Bindings::CRuntimeObject::create):
27457         * bridge/c/c_instance.cpp:
27458         (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
27459         (JSC::Bindings::CRuntimeMethod::finishCreation):
27460         * bridge/jni/jsc/JavaInstanceJSC.cpp:
27461         (JavaRuntimeMethod::JavaRuntimeMethod):
27462         (JavaRuntimeMethod::finishCreation):
27463         * bridge/jni/jsc/JavaRuntimeObject.cpp:
27464         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
27465         * bridge/jni/jsc/JavaRuntimeObject.h:
27466         (JSC::Bindings::JavaRuntimeObject::create):
27467         * bridge/objc/ObjCRuntimeObject.h:
27468         (JSC::Bindings::ObjCRuntimeObject::create):
27469         * bridge/objc/ObjCRuntimeObject.mm:
27470         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
27471         * bridge/objc/objc_instance.mm:
27472         (ObjCRuntimeMethod::ObjCRuntimeMethod):
27473         (ObjCRuntimeMethod::finishCreation):
27474         * bridge/qt/qt_instance.cpp:
27475         (JSC::Bindings::QtRuntimeObject::create):
27476         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
27477         * bridge/qt/qt_pixmapruntime.cpp:
27478         (JSC::Bindings::QtPixmapRuntimeObject::create):
27479         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
27480         * bridge/qt/qt_runtime.cpp:
27481         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
27482         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
27483         (JSC::Bindings::QtRuntimeMetaMethod::finishCreation):
27484         (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
27485         (JSC::Bindings::QtRuntimeConnectionMethod::finishCreation):
27486         * bridge/qt/qt_runtime.h:
27487         (JSC::Bindings::QtRuntimeMetaMethod::create):
27488         * bridge/runtime_method.cpp:
27489         (JSC::RuntimeMethod::RuntimeMethod):
27490         * bridge/runtime_method.h:
27491         (JSC::RuntimeMethod::create):
27492
27493 2011-09-13  Eric Seidel  <eric@webkit.org>
27494
27495         Remove ENABLE_SVG_USE as <use> is required by HTML5
27496         https://bugs.webkit.org/show_bug.cgi?id=68019
27497
27498         Reviewed by Ryosuke Niwa.
27499
27500         * Configurations/FeatureDefines.xcconfig:
27501         * DerivedSources.make:
27502         * GNUmakefile.am:
27503         * features.pri:
27504
27505 2011-09-14  Eric Carlson  <eric.carlson@apple.com>
27506
27507         MediaPlayerPrivateAVFoundationObjC's "periodic time observer" is unnecessary
27508         https://bugs.webkit.org/show_bug.cgi?id=68056
27509
27510         MediaPlayerPrivateAVFoundationObjC creates a "periodic time observer" not because it wants
27511         periodic callbacks, but because a time observer also fires whenever a seek completes. This is 
27512         no longer necessary because it now uses but AVPlayerItem's 
27513         -seekToTime:toleranceBefore:toleranceAfter:completionHandler to seek, so seek completions are
27514         always notified.
27515
27516         Reviewed by Darin Adler.
27517
27518         No new tests, code removed is tested by existing tests.
27519
27520         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
27521         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
27522
27523 2011-09-14  Beth Dakin  <bdakin@apple.com>
27524
27525         https://bugs.webkit.org/show_bug.cgi?id=68054
27526         Return an image scale factor as well as an Image* from CachedImage::brokenImage()
27527
27528         Reviewed by Darin Adler.
27529
27530         CachedImage::brokenImage() now returns a pair<Image*, float> where the float 
27531         represents the image's scale factor. This is important because currently, the 
27532         broken image will either be only 1x or 2x, but a deviceScaleFactor could 
27533         theoretically be something different (1.5, 3, etc). So it is not safe to assume 
27534         that the image's scale factor is equivalent to the deviceScaleFactor, and 
27535         hardcoding 2 for now is lame.
27536         * loader/cache/CachedImage.cpp:
27537         (WebCore::CachedImage::brokenImage):
27538         (WebCore::CachedImage::image):
27539         * loader/cache/CachedImage.h:
27540         * rendering/RenderImage.cpp:
27541         (WebCore::RenderImage::imageSizeForError):
27542         (WebCore::RenderImage::paintReplaced):
27543
27544 2011-09-14  James Robinson  <jamesr@chromium.org>
27545
27546         [chromium] Move contents texture manager from LayerRendererChromium to CCLayerTreeHost
27547         https://bugs.webkit.org/show_bug.cgi?id=67440
27548
27549         Reviewed by Kenneth Russell.
27550
27551         This moves the contents TextureManager over to the CCLayerTreeHost, where it belongs, and adds in a commit path
27552         to make sure that textures are deleted even if the page is not visible.  This move also removed the need for
27553         LayerRendererChromium's CCLayerTreeHost pointer, so I removed that as well.  That meant moving the
27554         layerTreeAsText() logic over to the CCLayerImpl side, which is where it really belonged anyway.
27555
27556         Covered by existing compositing/ tests and
27557         platform/chromium/compositor/lost-compositor-context-with-rendersurface.html
27558
27559         * platform/graphics/chromium/LayerRendererChromium.cpp:
27560         (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
27561         (WebCore::LayerRendererChromium::drawLayers):
27562         (WebCore::LayerRendererChromium::initializeSharedObjects):
27563         (WebCore::LayerRendererChromium::cleanupSharedObjects):
27564         * platform/graphics/chromium/LayerRendererChromium.h:
27565         (WebCore::LayerRendererChromium::setContentsTextureMemoryUseBytes):
27566         * platform/graphics/chromium/TextureManager.cpp:
27567         (WebCore::TextureManager::highLimitBytes):
27568         (WebCore::TextureManager::reclaimLimitBytes):
27569         (WebCore::TextureManager::lowLimitBytes):
27570         * platform/graphics/chromium/TextureManager.h:
27571         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
27572         (WebCore::CCLayerTreeHost::initialize):
27573         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
27574         (WebCore::CCLayerTreeHost::deleteContentsTextures):
27575         (WebCore::CCLayerTreeHost::commitTo):
27576         (WebCore::CCLayerTreeHost::setVisible):
27577         (WebCore::CCLayerTreeHost::contentsTextureManager):
27578         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
27579         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
27580         (WebCore::CCLayerTreeHostImpl::setVisible):
27581         * platform/graphics/chromium/cc/CCProxy.h:
27582         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
27583         (WebCore::CCSingleThreadProxy::setNeedsCommit):
27584         (WebCore::CCSingleThreadProxy::stop):
27585         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
27586         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
27587         (WebCore::CCThreadProxy::setNeedsCommit):
27588         (WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
27589         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
27590         * platform/graphics/chromium/cc/CCThreadProxy.h:
27591
27592 2011-09-14  David Hyatt  <hyatt@apple.com>
27593
27594         https://bugs.webkit.org/show_bug.cgi?id=68040
27595         
27596         Make sure border image sub-properties can be specified in any order.
27597
27598         Reviewed by Beth Dakin.
27599
27600         New tests in fast/borders.
27601
27602         * css/CSSParser.cpp:
27603         (WebCore::BorderImageParseContext::BorderImageParseContext):
27604         (WebCore::BorderImageParseContext::canAdvance):
27605         (WebCore::BorderImageParseContext::setCanAdvance):
27606         (WebCore::BorderImageParseContext::allowCommit):
27607         (WebCore::BorderImageParseContext::allowImage):
27608         (WebCore::BorderImageParseContext::allowImageSlice):
27609         (WebCore::BorderImageParseContext::allowSlash):
27610         (WebCore::BorderImageParseContext::requireWidth):
27611         (WebCore::BorderImageParseContext::requireOutset):
27612         (WebCore::BorderImageParseContext::commitImage):
27613         (WebCore::BorderImageParseContext::commitImageSlice):
27614         (WebCore::BorderImageParseContext::commitSlash):
27615         (WebCore::BorderImageParseContext::commitBorderWidth):
27616         (WebCore::BorderImageParseContext::commitBorderOutset):
27617         (WebCore::BorderImageParseContext::commitRepeat):
27618         (WebCore::CSSParser::parseBorderImage):
27619         (WebCore::CSSParser::parseBorderImageRepeat):
27620         (WebCore::CSSParser::parseBorderImageSlice):
27621         (WebCore::CSSParser::parseBorderImageQuad):
27622         * css/CSSParserValues.h:
27623         (WebCore::CSSParserValueList::previous):
27624
27625 2011-09-14  Mike Reed  <reed@google.com>
27626
27627         query SystemParametersInfo for GDI font smoothing settings
27628         https://bugs.webkit.org/show_bug.cgi?id=68080
27629
27630         Reviewed by Stephen White.
27631
27632         No new tests. fixes antialiasing issues based on User settings
27633
27634         * platform/graphics/skia/SkiaFontWin.cpp:
27635         (WebCore::getDefaultGDITextFlags):
27636         (WebCore::setupPaintForFont):
27637
27638 2011-09-13  David Hyatt  <hyatt@apple.com>
27639
27640         https://bugs.webkit.org/show_bug.cgi?id=68050
27641         
27642         Regressions in some layout tests from making border/mask/reflection nine-piece-image
27643         parsing match the spec, which allows any of the pieces to be omitted and to also be
27644         specifiable in any order.
27645         
27646         When the higher level code suddenly allowed the image slices to be omitted, the fixup
27647         for legacy compatibility for reflections and masks in the parseBorderImageSlice function
27648         no longer happened because that function no longer got called.
27649         
27650         The fix is to properly set the defaults to include the "fill" keyword, so the fixup is
27651         applied to the NinePieceImages you create before you ever map anything in from the rules.
27652         
27653         This also has the side effect of fixing -webkit-max-box-image-slice to actually dump as
27654         "0 fill" instead of just "0", which is the correct initial value for this property.
27655
27656         Reviewed by Adam Roben.
27657
27658         * css/CSSParser.cpp:
27659         (WebCore::CSSParser::parseBorderImageSlice):
27660         * css/CSSStyleSelector.cpp:
27661         (WebCore::CSSStyleSelector::applyProperty):
27662         * rendering/style/StyleRareNonInheritedData.cpp:
27663         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
27664         * rendering/style/StyleReflection.h:
27665         (WebCore::StyleReflection::StyleReflection):
27666
27667 2011-09-13  Pavel Feldman  <pfeldman@google.com>
27668
27669         Web Inspector: InspectorInstrumentation::frameDestroyed is called after m_page has been reset.
27670         https://bugs.webkit.org/show_bug.cgi?id=67997
27671
27672         We should not instrument frameDestroyed event from within Frame's destructor
27673         since frame's m_page pointer is likely to be 0 by that time and appropriate
27674         instrumenting agent won't be found. As a result, stale frame with its id
27675         end up in the inspector.
27676
27677         This change wipes out frame binding from the inspector upon detach rather
27678         than destroy.
27679
27680         Reviewed by Tony Gentilcore.
27681
27682         * inspector/InspectorInstrumentation.cpp:
27683         (WebCore::InspectorInstrumentation::frameDetachedImpl):
27684         * inspector/InspectorInstrumentation.h:
27685         * inspector/InspectorPageAgent.cpp:
27686         (WebCore::InspectorPageAgent::frameDetached):
27687         * inspector/InspectorPageAgent.h:
27688         * loader/FrameLoader.cpp:
27689         (WebCore::FrameLoader::detachFromParent):
27690         * page/Frame.cpp:
27691         (WebCore::Frame::~Frame):
27692         (WebCore::Frame::detachFromPage):
27693         * page/Frame.h:
27694
27695 2011-09-14  Pavel Feldman  <pfeldman@google.com>
27696
27697         Not reviewed: rolling out r95089.
27698
27699         * inspector/InspectorInstrumentation.cpp:
27700         (WebCore::InspectorInstrumentation::frameDestroyedImpl):
27701         (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
27702         * inspector/InspectorInstrumentation.h:
27703         (WebCore::InspectorInstrumentation::frameWindowDiscarded):
27704         (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
27705         (WebCore::InspectorInstrumentation::loadEventFired):
27706         (WebCore::InspectorInstrumentation::didCommitLoad):
27707         (WebCore::InspectorInstrumentation::frameDestroyed):
27708         * inspector/InspectorPageAgent.cpp:
27709         (WebCore::InspectorPageAgent::frameDetached):
27710         (WebCore::InspectorPageAgent::frameDestroyed):
27711         * inspector/InspectorPageAgent.h:
27712         * page/Frame.cpp:
27713         (WebCore::Frame::~Frame):
27714
27715 2011-09-14  Ilya Tikhonovsky  <loislo@chromium.org>
27716
27717         Web Inspector: requestAnimationFrame callbacks don't show up in the timeline panel.
27718         https://bugs.webkit.org/show_bug.cgi?id=67986
27719
27720         Reviewed by Pavel Feldman.
27721
27722         Test: inspector/timeline/timeline-animation-frame.html
27723
27724         * English.lproj/localizedStrings.js:
27725         * bindings/v8/V8Proxy.cpp:
27726         (WebCore::V8Proxy::callFunction):
27727         (WebCore::V8Proxy::callFunctionWithoutFrame):
27728         (WebCore::V8Proxy::instrumentedCallFunction):
27729         * bindings/v8/V8Proxy.h:
27730         * bindings/v8/custom/V8CustomVoidCallback.cpp:
27731         (WebCore::invokeCallback):
27732         * dom/ScriptedAnimationController.cpp:
27733         (WebCore::ScriptedAnimationController::registerCallback):
27734         (WebCore::ScriptedAnimationController::cancelCallback):
27735         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
27736         * inspector/InspectorInstrumentation.cpp:
27737         (WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallbackImpl):
27738         (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallbackImpl):
27739         (WebCore::InspectorInstrumentation::willFireAnimationFrameEventImpl):
27740         (WebCore::InspectorInstrumentation::didFireAnimationFrameEventImpl):
27741         * inspector/InspectorInstrumentation.h:
27742         (WebCore::InspectorInstrumentation::willCallFunction):
27743         (WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallback):
27744         (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallback):
27745         (WebCore::InspectorInstrumentation::willFireAnimationFrameEvent):
27746         (WebCore::InspectorInstrumentation::didFireAnimationFrameEvent):
27747         * inspector/InspectorTimelineAgent.cpp:
27748         (WebCore::InspectorTimelineAgent::didRegisterAnimationFrameCallback):
27749         (WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
27750         (WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
27751         (WebCore::InspectorTimelineAgent::didFireAnimationFrameEvent):
27752         * inspector/InspectorTimelineAgent.h:
27753         * inspector/TimelineRecordFactory.cpp:
27754         (WebCore::TimelineRecordFactory::createAnimationFrameCallbackData):
27755         * inspector/TimelineRecordFactory.h:
27756         * inspector/front-end/TimelineAgent.js:
27757         * inspector/front-end/TimelinePanel.js:
27758         (WebInspector.TimelinePanel):
27759         (WebInspector.TimelinePanel.prototype.get _recordStyles):
27760         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
27761         (WebInspector.TimelinePanel.prototype._clearPanel):
27762         (WebInspector.TimelinePanel.FormattedRecord):
27763         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
27764         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
27765
27766 2011-09-13  Pavel Feldman  <pfeldman@google.com>
27767
27768         Web Inspector: InspectorInstrumentation::frameDestroyed is called after m_page has been reset.
27769         https://bugs.webkit.org/show_bug.cgi?id=67997
27770
27771         We should not instrument frameDestroyed event from within Frame's destructor
27772         since frame's m_page pointer is likely to be 0 by that time and appropriate
27773         instrumenting agent won't be found. As a result, stale frame with its id
27774         end up in the inspector.
27775
27776         This change wipes out frame binding from the inspector upon detach rather
27777         than destroy + adds an assertion into the inspector agents lookup with 0 page.
27778
27779         Reviewed by Tony Gentilcore.
27780
27781         * inspector/InspectorInstrumentation.cpp:
27782         (WebCore::InspectorInstrumentation::frameDetachedImpl):
27783         (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
27784         * inspector/InspectorInstrumentation.h:
27785         (WebCore::InspectorInstrumentation::frameWindowDiscarded):
27786         (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
27787         (WebCore::InspectorInstrumentation::loadEventFired):
27788         (WebCore::InspectorInstrumentation::frameDetached):
27789         (WebCore::InspectorInstrumentation::didCommitLoad):
27790         * inspector/InspectorPageAgent.cpp:
27791         (WebCore::InspectorPageAgent::frameDetached):
27792         * inspector/InspectorPageAgent.h:
27793         * loader/FrameLoader.cpp:
27794         (WebCore::FrameLoader::detachFromParent):
27795         * page/Frame.cpp:
27796         (WebCore::Frame::~Frame):
27797         (WebCore::Frame::detachFromPage):
27798         (WebCore::Frame::transferChildFrameToNewDocument):
27799         * page/Frame.h:
27800
27801 2011-09-14  Sheriff Bot  <webkit.review.bot@gmail.com>
27802
27803         Unreviewed, rolling out r95080.
27804         http://trac.webkit.org/changeset/95080
27805         https://bugs.webkit.org/show_bug.cgi?id=68070
27806
27807         It caused some 2d.composite.uncovered tests fail (Requested by
27808         rgabor on #webkit).
27809
27810         * html/canvas/CanvasRenderingContext2D.cpp:
27811         (WebCore::CanvasRenderingContext2D::clearCanvas):
27812         (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
27813
27814 2011-09-13  Pavel Feldman  <pfeldman@google.com>
27815
27816         Web Inspector: [v8] building call frame info for location-less internal script function crashes.
27817         https://bugs.webkit.org/show_bug.cgi?id=67991
27818
27819         Reviewed by Yury Semikhatsky.
27820
27821         Test: inspector/debugger/debugger-pause-in-internal.html
27822
27823         * bindings/v8/DebuggerScript.js:
27824         ():
27825         * bindings/v8/ScriptDebugServer.cpp:
27826         (WebCore::ScriptDebugServer::currentCallFrame):
27827
27828 2011-09-14  Ben Wells  <benwells@chromium.org>
27829
27830         Large canvas fills should not crash or create unnecessarily large image buffers
27831         https://bugs.webkit.org/show_bug.cgi?id=67988
27832
27833         When using source-in, destination-in, source-out, or destination-atop a temporary
27834         buffer is created. This buffer only needs to be big enough to cover the intersection
27835         of the path and the canvas.
27836
27837         This change also adds some null checks for failures to create contexts or buffers.
27838
27839         Reviewed by Stephen White.
27840
27841         Test: fast/canvas/canvas-large-fills.html
27842
27843         * html/canvas/CanvasRenderingContext2D.cpp:
27844         (WebCore::CanvasRenderingContext2D::clearCanvas):
27845         (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
27846
27847 2011-09-14  Kentaro Hara  <haraken@google.com>
27848
27849         Implement a PageTransitionEvent constructor for JSC
27850         https://bugs.webkit.org/show_bug.cgi?id=68048
27851
27852         Reviewed by Sam Weinig.
27853
27854         The spec for the PageTransitionEvent constructor is here:
27855         http://www.whatwg.org/specs/web-apps/current-work/#pagetransitionevent
27856
27857         Test: fast/events/constructors/page-transition-event-constructor.html
27858
27859         * bindings/generic/EventConstructors.h: Added a definition for the PageTransitionEvent constructor.
27860         * bindings/js/JSEventConstructors.cpp: Added #includes for PageTransitionEvent.
27861         * dom/PageTransitionEvent.cpp:
27862         (WebCore::PageTransitionEventInit::PageTransitionEventInit):
27863         (WebCore::PageTransitionEvent::PageTransitionEvent):
27864         (WebCore::PageTransitionEvent::initPageTransitionEvent):
27865         * dom/PageTransitionEvent.h: Added a definition for PageTransitionEventInit.
27866         (WebCore::PageTransitionEvent::create):
27867         (WebCore::PageTransitionEvent::isPageTransitionEvent):
27868         (WebCore::PageTransitionEvent::persisted):
27869         * dom/PageTransitionEvent.idl: Makes PageTransitionEvent constructible.
27870
27871 2011-09-13  Sheriff Bot  <webkit.review.bot@gmail.com>
27872
27873         Unreviewed, rolling out r95058.
27874         http://trac.webkit.org/changeset/95058
27875         https://bugs.webkit.org/show_bug.cgi?id=68058
27876
27877         It made css3/calc/regression-62276.html crash (Requested by
27878         Ossy on #webkit).
27879
27880         * css/CSSParser.cpp:
27881         (WebCore::BorderImageParseContext::BorderImageParseContext):
27882         (WebCore::BorderImageParseContext::allowBreak):
27883         (WebCore::BorderImageParseContext::allowWidth):
27884         (WebCore::BorderImageParseContext::allowOutset):
27885         (WebCore::BorderImageParseContext::allowRepeat):
27886         (WebCore::BorderImageParseContext::commitImage):
27887         (WebCore::BorderImageParseContext::commitImageSlice):
27888         (WebCore::BorderImageParseContext::commitSlash):
27889         (WebCore::BorderImageParseContext::commitBorderWidth):
27890         (WebCore::BorderImageParseContext::commitBorderOutset):
27891         (WebCore::BorderImageParseContext::commitRepeat):
27892         (WebCore::CSSParser::parseBorderImage):
27893         (WebCore::CSSParser::parseBorderImageRepeat):
27894         (WebCore::CSSParser::parseBorderImageSlice):
27895         (WebCore::CSSParser::parseBorderImageQuad):
27896         * css/CSSParserValues.h:
27897
27898 2011-09-13  Abhishek Arya  <inferno@chromium.org>
27899
27900         Crash in RenderScrollbarPart::imageChanged.
27901         https://bugs.webkit.org/show_bug.cgi?id=68009
27902
27903         Reviewed by Simon Fraser.
27904
27905         When a custom scrollbar is removed from its FrameView, its destruction
27906         can be delayed because of RefPtr maintained in EventHandler class
27907         (m_lastScrollbarUnderMouse). Upon removal, we delete all the scrollbar
27908         parts so that they don't link back to scrollbar. However, because of the
27909         delay, we can have a call to updateScrollbarPart which recreates it.
27910         When scrollbar is getting destroyed, we just check to see if there are
27911         remaining scrollbar parts and if yes, we destroy them.
27912
27913         Test: scrollbars/scrollbar-part-created-with-no-parent-crash.html
27914
27915         * rendering/RenderScrollbar.cpp:
27916         (WebCore::RenderScrollbar::~RenderScrollbar):
27917
27918 2011-09-13  Adam Klein  <adamk@chromium.org>
27919
27920         Fix cssText property of counter-valued CSSPrimitiveValue and avoid uninitialized read
27921         https://bugs.webkit.org/show_bug.cgi?id=68021
27922
27923         Reviewed by Tony Chang.
27924
27925         Reported by valgrind in http://crbug.com/60653.
27926
27927         Besides fixing the uninitialized read, add support for outputting the
27928         list separator for counters() calls and the list-style name.
27929
27930         Test: fast/css/counters/counter-cssText.html
27931
27932         * css/CSSPrimitiveValue.cpp:
27933         (WebCore::CSSPrimitiveValue::cssText):
27934
27935 2011-09-13  Kenichi Ishibashi  <bashi@chromium.org>
27936
27937         WebFont followed tiny monospace text displays weird
27938         https://bugs.webkit.org/show_bug.cgi?id=67996
27939
27940         Reviewed by Darin Adler.
27941
27942         Always call wkSetCGFontRenderingMode() in Font::drawGlyphs() so that the rendering mode is set correctly.
27943
27944         Test: platform/mac/fast/text/webfont-after-tiny-monospace-text.html
27945
27946         * platform/graphics/mac/FontMac.mm:
27947         (WebCore::Font::drawGlyphs):
27948
27949 2011-09-13  Tom Sepez  <tsepez@chromium.org>
27950
27951         Fix XSS auditor bypass when inline handlers contain comments.
27952         https://bugs.webkit.org/show_bug.cgi?id=27895
27953
27954         Reviewed by Adam Barth.
27955
27956         Tests: http/tests/security/xssAuditor/property-escape-comment.html
27957                http/tests/security/xssAuditor/property-escape-entity.html
27958                http/tests/security/xssAuditor/property-escape-quote.html
27959
27960         * html/parser/XSSAuditor.cpp:
27961         (WebCore::XSSAuditor::snippetForAttribute):
27962
27963 2011-09-13  Kentaro Hara  <haraken@google.com>
27964
27965         Implement a HashChangeEvent constructor for V8
27966         https://bugs.webkit.org/show_bug.cgi?id=67969
27967
27968         Reviewed by Nate Chapin.
27969
27970         Test: fast/events/constructors/hash-change-event-constructor.html
27971
27972         * bindings/v8/custom/V8EventConstructors.cpp: Added the HashChangeEvent constructor.
27973         * dom/HashChangeEvent.idl: Added a 'V8CustomConstructor' attribute.
27974
27975 2011-09-13  Jeremy Apthorp  <jeremya@google.com>
27976
27977         Fix crash when an iframe element is removed during a transition to
27978         fullscreen.
27979         https://bugs.webkit.org/show_bug.cgi?id=67960
27980
27981         Reviewed by Adam Barth.
27982
27983         Test: fullscreen/full-screen-remove-ancestor-during-transition.html
27984
27985         * dom/Document.cpp:
27986         (WebCore::Document::~Document):
27987         Clear the list of elements to which we need to send a fullscreenchange
27988         event.
27989
27990 2011-09-13  David Hyatt  <hyatt@apple.com>
27991
27992         https://bugs.webkit.org/show_bug.cgi?id=68040
27993         
27994         Make sure border image sub-properties can be specified in any order.
27995
27996         Reviewed by Beth Dakin.
27997
27998         New tests in fast/borders.
27999
28000         * css/CSSParser.cpp:
28001         (WebCore::BorderImageParseContext::BorderImageParseContext):
28002         (WebCore::BorderImageParseContext::canAdvance):
28003         (WebCore::BorderImageParseContext::setCanAdvance):
28004         (WebCore::BorderImageParseContext::allowCommit):
28005         (WebCore::BorderImageParseContext::allowImage):
28006         (WebCore::BorderImageParseContext::allowImageSlice):
28007         (WebCore::BorderImageParseContext::allowSlash):
28008         (WebCore::BorderImageParseContext::requireWidth):
28009         (WebCore::BorderImageParseContext::requireOutset):
28010         (WebCore::BorderImageParseContext::commitImage):
28011         (WebCore::BorderImageParseContext::commitImageSlice):
28012         (WebCore::BorderImageParseContext::commitSlash):
28013         (WebCore::BorderImageParseContext::commitBorderWidth):
28014         (WebCore::BorderImageParseContext::commitBorderOutset):
28015         (WebCore::BorderImageParseContext::commitRepeat):
28016         (WebCore::CSSParser::parseBorderImage):
28017         (WebCore::CSSParser::parseBorderImageRepeat):
28018         (WebCore::CSSParser::parseBorderImageSlice):
28019         (WebCore::CSSParser::parseBorderImageQuad):
28020         * css/CSSParserValues.h:
28021         (WebCore::CSSParserValueList::previous):
28022
28023 2011-09-13  Jeff Miller  <jeffm@apple.com>
28024
28025         WebCore::Cursor::ensurePlatformCursor() should always set a valid platform cursor on Windows
28026         https://bugs.webkit.org/show_bug.cgi?id=68043
28027         
28028         Make sure we set a valid platform cursor in the Cursor::NoDrop case, and add a default
28029         clause that uses the arrow cursor in case another cursor type is added in the future
28030         and we forget to update ensurePlatformCursor().
28031
28032         Reviewed by Anders Carlsson.
28033
28034         * platform/win/CursorWin.cpp:
28035         (WebCore::Cursor::ensurePlatformCursor): Always set a valid platform cursor.
28036
28037 2011-09-12  Jon Honeycutt  <jhoneycutt@apple.com>
28038
28039         MSAA: WebKit reports the document state as disabled
28040         https://bugs.webkit.org/show_bug.cgi?id=67974
28041         <rdar://problem/10095898>
28042
28043         Reviewed by Brian Weinstein.
28044
28045         Test: platform/win/accessibility/document-enabled-state.html
28046
28047         * accessibility/AccessibilityScrollView.h:
28048         (WebCore::AccessibilityScrollView::isEnabled):
28049         This object backs the AccessibleDocument on Windows - always return
28050         true for its enabled state.
28051
28052 2011-08-11  Cris Neckar  <cdn@chromium.org>
28053
28054         Fixes several bugs when adding CounterNodes to a tree which can cause asymetrical relationships.
28055         https://bugs.webkit.org/show_bug.cgi?id=65996
28056
28057         Reviewed by Eric Seidel.
28058
28059         Test: fast/css/counters/counter-reparent-table-children-crash.html
28060
28061         * rendering/CounterNode.cpp:
28062         (WebCore::CounterNode::insertAfter):
28063         * rendering/RenderCounter.cpp:
28064         (WebCore::findPlaceForCounter):
28065         (WebCore::makeCounterNode):
28066
28067 2011-09-13  Beth Dakin  <bdakin@apple.com>
28068
28069         Adding a comment I forgot to add before.
28070
28071         * rendering/RenderImage.cpp:
28072         (WebCore::RenderImage::imageSizeForError):
28073
28074 2011-09-13  Antti Koivisto  <antti@apple.com>
28075
28076         Move identifier filter from CSSStyleSelector to SelectorChecker
28077         https://bugs.webkit.org/show_bug.cgi?id=68025
28078
28079         Reviewed by Sam Weinig.
28080
28081         This is a more logical place for this code. It also makes CSSStyleSelector slightly less bloated. 
28082         It will make it possible to use fastRejectSelector for querySelectorAll in the future.
28083
28084         * css/CSSStyleSelector.cpp:
28085         (WebCore::loadViewSourceStyle):
28086         (WebCore::CSSStyleSelector::matchRulesForList):
28087         (WebCore::RuleData::RuleData):
28088         * css/CSSStyleSelector.h:
28089         (WebCore::CSSStyleSelector::pushParent):
28090         (WebCore::CSSStyleSelector::popParent):
28091         * css/SelectorChecker.cpp:
28092         (WebCore::collectElementIdentifierHashes):
28093         (WebCore::SelectorChecker::pushParentStackFrame):
28094         (WebCore::SelectorChecker::popParentStackFrame):
28095         (WebCore::SelectorChecker::pushParent):
28096         (WebCore::SelectorChecker::popParent):
28097         (WebCore::collectDescendantSelectorIdentifierHashes):
28098         (WebCore::SelectorChecker::collectIdentifierHashes):
28099         * css/SelectorChecker.h:
28100         (WebCore::SelectorChecker::parentStackIsConsistent):
28101         (WebCore::SelectorChecker::ParentStackFrame::ParentStackFrame):
28102         (WebCore::SelectorChecker::fastRejectSelector):
28103
28104 2011-09-13  Kiyoto Tamura  <owenestea@gmail.com>
28105
28106         For compatibility, execCommand should support deprecated 'useCSS' alias for 'styleWithCSS'
28107         https://bugs.webkit.org/show_bug.cgi?id=36683
28108
28109         Reviewed by Ryosuke Niwa.
28110
28111         In addition to supporting the deprecated 'useCSS', 'styleWithCSS' now accepts any argument other than
28112         the boolean false or the case-insensitive string "false". This is per
28113         http://aryeh.name/spec/editing/editing.html#the-stylewithcss-command
28114
28115         Tests: editing/execCommand/style-with-css.html
28116                editing/execCommand/use-css.html
28117
28118         * editing/EditorCommand.cpp:
28119         (WebCore::executeStyleWithCSS):
28120         (WebCore::executeUseCSS):
28121         (WebCore::createCommandMap):
28122
28123 2011-09-13  Anders Carlsson  <andersca@apple.com>
28124
28125         Disable C++ exceptions when building with clang
28126         https://bugs.webkit.org/show_bug.cgi?id=68031
28127         <rdar://problem/9556880>
28128
28129         Reviewed by Mark Rowe.
28130
28131         * Configurations/Base.xcconfig:
28132
28133 2011-09-13  Beth Dakin  <bdakin@apple.com>
28134
28135         https://bugs.webkit.org/show_bug.cgi?id=67885
28136         Outline for the high-resolution broken image icon draws at 2x
28137         -and corresponding-
28138         <rdar://problem/10104637>
28139
28140         Reviewed by Dan Bernstein.
28141
28142         Scaled the image size to account for the deviceScaleFactor. 
28143         * rendering/RenderImage.cpp:
28144         (WebCore::RenderImage::imageSizeForError):
28145
28146 2011-09-13  Tim Horton  <timothy_horton@apple.com>
28147
28148         REGRESSION (64275): Shape pattern-image fill turns black
28149         https://bugs.webkit.org/show_bug.cgi?id=51061
28150         <rdar://problem/8504705>
28151
28152         Reviewed by Simon Fraser.
28153
28154         When destroying a resource, register clients who are losing their
28155         resource as having pending resources, so they can be resolved in the case a
28156         resource with that id is re-registered.
28157
28158         Test: svg/custom/pending-resource-after-removal.xhtml
28159
28160         * rendering/svg/SVGResourcesCache.cpp:
28161         (WebCore::SVGResourcesCache::resourceDestroyed):
28162         * svg/SVGStyledElement.h:
28163         (WebCore::toSVGStyledElement): Added.
28164
28165 2011-09-13  Eric Seidel  <eric@webkit.org>
28166
28167         Remove ENABLE_SVG_FOREIGN_OBJECT as it is a required part of HTML5
28168         https://bugs.webkit.org/show_bug.cgi?id=68018
28169
28170         Reviewed by Ryosuke Niwa.
28171
28172         * Configurations/FeatureDefines.xcconfig:
28173         * DerivedSources.make:
28174         * GNUmakefile.am:
28175         * WebCore.exp.in:
28176         * dom/DOMImplementation.cpp:
28177         (WebCore::isSVG10Feature):
28178         (WebCore::isSVG11Feature):
28179         * dom/Text.cpp:
28180         (WebCore::Text::createRenderer):
28181         * features.pri:
28182         * page/DOMWindow.idl:
28183         * rendering/svg/RenderSVGForeignObject.cpp:
28184         * rendering/svg/RenderSVGForeignObject.h:
28185         * svg/SVGAnimateMotionElement.cpp:
28186         (WebCore::SVGAnimateMotionElement::hasValidAttributeType):
28187         * svg/SVGForeignObjectElement.cpp:
28188         * svg/SVGForeignObjectElement.h:
28189         * svg/SVGForeignObjectElement.idl:
28190         * svg/SVGLocatable.cpp:
28191         (WebCore::isViewportElement):
28192         * svg/SVGSVGElement.cpp:
28193         (WebCore::SVGSVGElement::isOutermostSVG):
28194         * svg/SVGUseElement.cpp:
28195         (WebCore::isDisallowedElement):
28196         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
28197         * svg/svgtags.in:
28198
28199 2011-09-13  Joseph Pecoraro  <joepeck@webkit.org>
28200
28201         CRASH under WebCore::ArchiveResourceCollection::addAllResources loading WebArchive
28202         https://bugs.webkit.org/show_bug.cgi?id=67983
28203
28204         Reviewed by Darin Adler.
28205
28206         Null mimetypes are okay for subresources, but as previously discovered
28207         in bug 41082 they were required for main resources. Here we ensure
28208         that they are required for main resources, but we allow null mimetypes
28209         for subresources.
28210
28211         To fix a crash for bad input we never add a null ArchiveResource to the
28212         Archive's subresource collection. It is useless and causes crashes whenever
28213         someone iterates the Archive's subresource collection.
28214
28215         Test: webarchive/loading/test-loading-archive-subresource-null-mimetype.html
28216
28217         * loader/archive/cf/LegacyWebArchive.cpp:
28218         (WebCore::LegacyWebArchive::createResource):
28219         Allow a null mimetype, just type check from the dictionary.
28220
28221         (WebCore::LegacyWebArchive::extract):
28222         Require a mimetype for the main resource. Do not add null
28223         subresources to the subresource list.
28224
28225 2011-09-13  Mihai Parparita  <mihaip@chromium.org>
28226
28227         [Chromium] Remove javascript_engine from WebCore.gyp
28228         https://bugs.webkit.org/show_bug.cgi?id=68001
28229
28230         Reviewed by Tony Chang.
28231
28232         Remove javascript_engine GYP variable (similar to the removal done on
28233         the Chromium side with http://crrev.com/100692)
28234
28235         * WebCore.gyp/WebCore.gyp:
28236
28237 2011-09-12  Ryosuke Niwa  <rniwa@webkit.org>
28238
28239         [CSS3 Backgrounds and Borders] Add unprefixed border-image shorthand.
28240         https://bugs.webkit.org/show_bug.cgi?id=67970
28241
28242         Reviewed by David Hyatt.
28243
28244         Also update CSSStyleSelector.cpp to support border-image to suppress assertion in
28245         fast/borders/border-image-omit-right-slice.html
28246
28247         * css/CSSStyleSelector.cpp:
28248         (WebCore::CSSStyleSelector::applyProperty):
28249         (WebCore::CSSStyleSelector::mapNinePieceImage):
28250
28251 2011-09-13  Xianzhu Wang  <wangxianzhu@chromium.org>
28252
28253         Reviewed by Darin Adler.
28254
28255         Webkit wraps between hyphen-minus and numeric characters 
28256         https://bugs.webkit.org/show_bug.cgi?id=20677
28257
28258         Disallow wrapping between a hyphen-minus and a digit if the hyphen-minus
28259         is not directly after a digit or a letter.
28260
28261         Test: fast/text/line-breaks-after-hyphen-before-number.html
28262
28263         * rendering/break_lines.cpp:
28264         (WebCore::asciiLineBreakTable): Disabled line-breaking after '-' and before '.', '0'-'9'. Note: the change for '0'-'9' doesn't really matter because the case is handled hard-coded in shouldBreakAfter().
28265         (WebCore::shouldBreakAfter): Changed line-breaking behavior after '-'.
28266         (WebCore::nextBreakablePosition): Passes lastLastCh to shouldBreakAfter. 
28267
28268 2011-09-13  Erik Wright  <erikwright@chromium.org>
28269
28270         platform/graphics/gtk/FontGtk.cpp was renamed to platform/graphics/pango/FontPango.cpp . Reflect this change in WebCore.gypi to fix a Chromium build breakage.
28271         https://bugs.webkit.org/show_bug.cgi?id=68000
28272
28273         Reviewed by Tony Gentilcore.
28274
28275         No change in functionality, thus no new tests.
28276
28277         * WebCore.gypi:
28278
28279 2011-09-10  Mikhail Naganov  <mnaganov@chromium.org>
28280
28281         Web Inspector: Profiler: Fix overlapping data in function names column.
28282         https://bugs.webkit.org/show_bug.cgi?id=67896
28283
28284         Reviewed by Pavel Feldman.
28285
28286         * inspector/front-end/ProfileDataGridTree.js:
28287         (WebInspector.ProfileDataGridNode.prototype.createCell):
28288         * inspector/front-end/dataGrid.css:
28289         (.data-grid table.data):
28290         (.data-grid td):
28291
28292 2011-09-13  Sheriff Bot  <webkit.review.bot@gmail.com>
28293
28294         Unreviewed, rolling out r95025.
28295         http://trac.webkit.org/changeset/95025
28296         https://bugs.webkit.org/show_bug.cgi?id=68005
28297
28298         Test failed on Snow Leopard bots. (Requested by yutak_home on
28299         #webkit).
28300
28301         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
28302         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
28303         (WebCore::ThreadableWebSocketChannelClientWrapper::subprotocol):
28304         (WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol):
28305         * websockets/ThreadableWebSocketChannelClientWrapper.h:
28306
28307 2011-09-13  Yuta Kitamura  <yutak@chromium.org>
28308
28309         ThreadableWebSocketChannelClientWrapper shouldn't have a String in it.
28310         https://bugs.webkit.org/show_bug.cgi?id=67908
28311
28312         Reviewed by David Levin.
28313
28314         Replace a String member variable in ThreadableWebSocketChannelClientWrapper with Vector<UChar>.
28315
28316         No change in functionality, thus no new tests. WebSocket worker tests
28317         (tests under http/tests/websocket/tests/{hixie76,hybi}/workers/) should keep passing.
28318
28319         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
28320         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
28321         (WebCore::ThreadableWebSocketChannelClientWrapper::subprotocol):
28322         Create a String from Vector<UChar>.
28323         (WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol):
28324         Copy the content of the given String into Vector.
28325         * websockets/ThreadableWebSocketChannelClientWrapper.h:
28326
28327 2011-09-13  Fumitoshi Ukai  <ukai@chromium.org>
28328
28329         Unreviewed, build fix.
28330
28331         CSSPropertyBorderImage was added in r94989, but not yet added in
28332         WebCore::CSSStyleSelector::applyProperty
28333
28334         CSSStyleSelector.cpp:2481: warning: enumeration value 'CSSPropertyBorderImage' not handled in switch
28335
28336         * css/CSSStyleSelector.cpp:
28337         (WebCore::CSSStyleSelector::applyProperty):
28338
28339 2011-09-12  Shinya Kawanaka  <shinyak@google.com>
28340
28341         Crashes in WebCore::InsertListCommand::unlistifyParagraph.
28342         https://bugs.webkit.org/show_bug.cgi?id=67918
28343
28344         Reviewed by Ryosuke Niwa.
28345
28346         execCommand("InsertUnorderedList") was crashing if the parent node of the target is
28347         a kind of list element and it is not contenteditable.
28348         This patch checks the parent node is contenteditable.
28349
28350         Test: editing/execCommand/insert-list-in-noneditable-list-parent.html
28351
28352         * editing/htmlediting.cpp:
28353         (WebCore::enclosingListChild): Checks the parent node is contenteditable.
28354
28355 2011-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>
28356
28357         Unreviewed, rolling out r94975.
28358         http://trac.webkit.org/changeset/94975
28359         https://bugs.webkit.org/show_bug.cgi?id=67984
28360
28361         crash in PrerenderBrowserTest.PrerenderHTML5VideoJs (Requested
28362         by ukai on #webkit).
28363
28364         * platform/graphics/chromium/CanvasLayerChromium.h:
28365         (WebCore::CanvasLayerChromium::layerTypeAsString):
28366         * platform/graphics/chromium/ContentLayerChromium.h:
28367         (WebCore::ContentLayerChromium::layerTypeAsString):
28368         * platform/graphics/chromium/ImageLayerChromium.h:
28369         (WebCore::ImageLayerChromium::layerTypeAsString):
28370         * platform/graphics/chromium/LayerChromium.cpp:
28371         (WebCore::LayerChromium::layerTreeAsText):
28372         (WebCore::writeIndent):
28373         (WebCore::LayerChromium::dumpLayer):
28374         (WebCore::LayerChromium::dumpLayerProperties):
28375         * platform/graphics/chromium/LayerChromium.h:
28376         (WebCore::LayerChromium::layerTypeAsString):
28377         * platform/graphics/chromium/LayerRendererChromium.cpp:
28378         (WebCore::LayerRendererChromium::textureMemoryReclaimLimit):
28379         (WebCore::LayerRendererChromium::create):
28380         (WebCore::LayerRendererChromium::LayerRendererChromium):
28381         (WebCore::LayerRendererChromium::close):
28382         (WebCore::LayerRendererChromium::releaseTextures):
28383         (WebCore::LayerRendererChromium::drawLayers):
28384         (WebCore::LayerRendererChromium::drawLayersInternal):
28385         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
28386         (WebCore::LayerRendererChromium::initializeSharedObjects):
28387         (WebCore::LayerRendererChromium::cleanupSharedObjects):
28388         (WebCore::LayerRendererChromium::layerTreeAsText):
28389         (WebCore::LayerRendererChromium::dumpRenderSurfaces):
28390         * platform/graphics/chromium/LayerRendererChromium.h:
28391         (WebCore::LayerRendererChromium::owner):
28392         (WebCore::LayerRendererChromium::rootLayer):
28393         (WebCore::LayerRendererChromium::rootLayerImpl):
28394         (WebCore::LayerRendererChromium::viewportSize):
28395         (WebCore::LayerRendererChromium::contentsTextureManager):
28396         * platform/graphics/chromium/ManagedTexture.cpp:
28397         (WebCore::ManagedTexture::bindTexture):
28398         (WebCore::ManagedTexture::framebufferTexture2D):
28399         * platform/graphics/chromium/PluginLayerChromium.h:
28400         (WebCore::PluginLayerChromium::layerTypeAsString):
28401         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
28402         (WebCore::RenderSurfaceChromium::name):
28403         (WebCore::writeIndent):
28404         (WebCore::RenderSurfaceChromium::dumpSurface):
28405         * platform/graphics/chromium/RenderSurfaceChromium.h:
28406         * platform/graphics/chromium/TextureManager.cpp:
28407         (WebCore::TextureManager::deleteEvictedTextures):
28408         (WebCore::TextureManager::removeTexture):
28409         (WebCore::TextureManager::allocateTexture):
28410         (WebCore::TextureManager::requestTexture):
28411         * platform/graphics/chromium/TextureManager.h:
28412         (WebCore::TextureManager::setAssociatedContextDebugOnly):
28413         (WebCore::TextureManager::associatedContextDebugOnly):
28414         * platform/graphics/chromium/TiledLayerChromium.cpp:
28415         (WebCore::writeIndent):
28416         (WebCore::TiledLayerChromium::dumpLayerProperties):
28417         * platform/graphics/chromium/TiledLayerChromium.h:
28418         * platform/graphics/chromium/VideoLayerChromium.h:
28419         (WebCore::VideoLayerChromium::layerTypeAsString):
28420         * platform/graphics/chromium/WebGLLayerChromium.h:
28421         (WebCore::WebGLLayerChromium::layerTypeAsString):
28422         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
28423         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
28424         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
28425         * platform/graphics/chromium/cc/CCLayerImpl.h:
28426         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
28427         (WebCore::CCLayerTreeHost::initialize):
28428         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
28429         (WebCore::CCLayerTreeHost::commitTo):
28430         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
28431         (WebCore::CCLayerTreeHost::setVisible):
28432         (WebCore::CCLayerTreeHost::contentsTextureManager):
28433         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
28434         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
28435         (WebCore::CCLayerTreeHostImpl::drawLayers):
28436         (WebCore::CCLayerTreeHostImpl::setVisible):
28437         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
28438         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
28439         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
28440         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
28441         * platform/graphics/chromium/cc/CCProxy.h:
28442         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
28443         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
28444         (WebCore::CCSingleThreadProxy::stop):
28445         (WebCore::CCSingleThreadProxy::contentsTextureManager):
28446         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
28447         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
28448         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
28449         (WebCore::CCThreadProxy::initializeLayerRenderer):
28450         (WebCore::CCThreadProxy::contentsTextureManager):
28451         (WebCore::CCThreadProxy::initializeLayerRendererOnCCThread):
28452         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
28453         * platform/graphics/chromium/cc/CCThreadProxy.h:
28454         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
28455         (WebCore::CCTiledLayerImpl::dumpLayerProperties):
28456         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
28457         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
28458         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
28459
28460 2011-09-12  Joseph Pecoraro  <joepeck@webkit.org>
28461
28462         Possible ASSERT(!storageTracker) in Lazily Initialized StorageTracker
28463         https://bugs.webkit.org/show_bug.cgi?id=67957
28464
28465         Reviewed by Darin Adler.
28466
28467         The storageTracker singleton may already have been created
28468         through StorageTracker::tracker before initializeTracker
28469         gets called. Update the ASSERT in this case to check that
28470         there is no client for the tracker.
28471
28472         No test, this depends on how the port initializes the tracker.
28473
28474         * storage/StorageTracker.cpp:
28475         (WebCore::StorageTracker::initializeTracker):
28476
28477 2011-09-12  Adam Klein  <adamk@chromium.org>
28478
28479         Fix out-of-bounds access in Gradient::sortStopsIfNecessary
28480         https://bugs.webkit.org/show_bug.cgi?id=67958
28481
28482         Reviewed by Darin Adler.
28483
28484         Reported by Valgrind in http://crbug.com/77049.
28485
28486         The errant code was added as an optimization in r67804.
28487         This patch reverts that one, as all parties agree that the optimization
28488         doesn't seem worthwhile, and there clearly aren't any tests covering
28489         the special case.
28490
28491         No new tests, as existing tests should cover the remaining call to
28492         |std::stable_sort|.
28493
28494         * platform/graphics/Gradient.cpp:
28495         (WebCore::Gradient::sortStopsIfNecessary):
28496
28497 2011-09-12  Jacky Jiang  <zhajiang@rim.com>
28498
28499         Setting document.title doesn't affect contents of title tag of XHTML documents
28500         https://bugs.webkit.org/show_bug.cgi?id=57537
28501
28502         Reviewed by Alexey Proskuryakov.
28503
28504         Update the contents of the <title> tag of XHTML documents when setting
28505         document.title.
28506
28507         Test: fast/dom/title-content-set-innerText-get.xhtml
28508
28509         * dom/Document.cpp:
28510         (WebCore::Document::setTitle):
28511
28512 2011-09-12  Raphael Kubo da Costa  <kubo@profusion.mobi>
28513
28514         [EFL] Initialize m_unmodifiedText in PlatformKeyboardEventEfl.
28515         https://bugs.webkit.org/show_bug.cgi?id=67038
28516
28517         Reviewed by Kenneth Rohde Christiansen.
28518
28519         Since most of the time it will return the same thing as text(), we
28520         initialize it the same way we initialize m_text. The other case (what
28521         would have been generated if no modifiers were pressed) should be
28522         covered by this as well.
28523
28524         As this method is used when handling access keys, tests such as
28525         fast/events/access-key-self-destruct.html should now pass.
28526
28527         No new tests, as this fixes a problem uncovered by the existing ones.
28528
28529         * platform/efl/PlatformKeyboardEventEfl.cpp:
28530         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
28531
28532 2011-09-12  Hyowon Kim  <hw1008.kim@samsung.com>
28533
28534         Reviewed by Eric Seidel.
28535
28536         [EFL] Add GraphicsContext3DEfl for WebGL and accelerated compositing
28537         https://bugs.webkit.org/show_bug.cgi?id=62709
28538
28539         Add GraphicsContext3D implementation for EFL port.
28540         GraphicsContext3D delegates to GraphicsContext3DInternal.
28541
28542         * platform/graphics/efl/GraphicsContext3DEfl.cpp: Added.
28543         (WebCore::GraphicsContext3D::create):
28544         (WebCore::GraphicsContext3D::GraphicsContext3D):
28545         (WebCore::GraphicsContext3D::~GraphicsContext3D):
28546         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
28547         (WebCore::GraphicsContext3D::platformLayer):
28548         (WebCore::GraphicsContext3D::makeContextCurrent):
28549         (WebCore::GraphicsContext3D::isGLES2Compliant):
28550         (WebCore::GraphicsContext3D::activeTexture):
28551         (WebCore::GraphicsContext3D::attachShader):
28552         (WebCore::GraphicsContext3D::bindAttribLocation):
28553         (WebCore::GraphicsContext3D::bindBuffer):
28554         (WebCore::GraphicsContext3D::bindFramebuffer):
28555         (WebCore::GraphicsContext3D::bindRenderbuffer):
28556         (WebCore::GraphicsContext3D::bindTexture):
28557         (WebCore::GraphicsContext3D::blendColor):
28558         (WebCore::GraphicsContext3D::blendEquation):
28559         (WebCore::GraphicsContext3D::blendEquationSeparate):
28560         (WebCore::GraphicsContext3D::blendFunc):
28561         (WebCore::GraphicsContext3D::blendFuncSeparate):
28562         (WebCore::GraphicsContext3D::bufferData):
28563         (WebCore::GraphicsContext3D::bufferSubData):
28564         (WebCore::GraphicsContext3D::checkFramebufferStatus):
28565         (WebCore::GraphicsContext3D::clear):
28566         (WebCore::GraphicsContext3D::clearColor):
28567         (WebCore::GraphicsContext3D::clearDepth):
28568         (WebCore::GraphicsContext3D::clearStencil):
28569         (WebCore::GraphicsContext3D::colorMask):
28570         (WebCore::GraphicsContext3D::compileShader):
28571         (WebCore::GraphicsContext3D::copyTexImage2D):
28572         (WebCore::GraphicsContext3D::copyTexSubImage2D):
28573         (WebCore::GraphicsContext3D::cullFace):
28574         (WebCore::GraphicsContext3D::depthFunc):
28575         (WebCore::GraphicsContext3D::depthMask):
28576         (WebCore::GraphicsContext3D::depthRange):
28577         (WebCore::GraphicsContext3D::detachShader):
28578         (WebCore::GraphicsContext3D::disable):
28579         (WebCore::GraphicsContext3D::disableVertexAttribArray):
28580         (WebCore::GraphicsContext3D::drawArrays):
28581         (WebCore::GraphicsContext3D::drawElements):
28582         (WebCore::GraphicsContext3D::enable):
28583         (WebCore::GraphicsContext3D::enableVertexAttribArray):
28584         (WebCore::GraphicsContext3D::finish):
28585         (WebCore::GraphicsContext3D::flush):
28586         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
28587         (WebCore::GraphicsContext3D::framebufferTexture2D):
28588         (WebCore::GraphicsContext3D::frontFace):
28589         (WebCore::GraphicsContext3D::generateMipmap):
28590         (WebCore::GraphicsContext3D::getActiveAttrib):
28591         (WebCore::GraphicsContext3D::getActiveUniform):
28592         (WebCore::GraphicsContext3D::getAttachedShaders):
28593         (WebCore::GraphicsContext3D::getAttribLocation):
28594         (WebCore::GraphicsContext3D::getBooleanv):
28595         (WebCore::GraphicsContext3D::getBufferParameteriv):
28596         (WebCore::GraphicsContext3D::getContextAttributes):
28597         (WebCore::GraphicsContext3D::getError):
28598         (WebCore::GraphicsContext3D::getFloatv):
28599         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
28600         (WebCore::GraphicsContext3D::getIntegerv):
28601         (WebCore::GraphicsContext3D::getProgramiv):
28602         (WebCore::GraphicsContext3D::getProgramInfoLog):
28603         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
28604         (WebCore::GraphicsContext3D::getShaderiv):
28605         (WebCore::GraphicsContext3D::getShaderInfoLog):
28606         (WebCore::GraphicsContext3D::getShaderSource):
28607         (WebCore::GraphicsContext3D::getString):
28608         (WebCore::GraphicsContext3D::getTexParameterfv):
28609         (WebCore::GraphicsContext3D::getTexParameteriv):
28610         (WebCore::GraphicsContext3D::getUniformfv):
28611         (WebCore::GraphicsContext3D::getUniformiv):
28612         (WebCore::GraphicsContext3D::getUniformLocation):
28613         (WebCore::GraphicsContext3D::getVertexAttribfv):
28614         (WebCore::GraphicsContext3D::getVertexAttribiv):
28615         (WebCore::GraphicsContext3D::getVertexAttribOffset):
28616         (WebCore::GraphicsContext3D::hint):
28617         (WebCore::GraphicsContext3D::isBuffer):
28618         (WebCore::GraphicsContext3D::isEnabled):
28619         (WebCore::GraphicsContext3D::isFramebuffer):
28620         (WebCore::GraphicsContext3D::isProgram):
28621         (WebCore::GraphicsContext3D::isRenderbuffer):
28622         (WebCore::GraphicsContext3D::isShader):
28623         (WebCore::GraphicsContext3D::isTexture):
28624         (WebCore::GraphicsContext3D::lineWidth):
28625         (WebCore::GraphicsContext3D::linkProgram):
28626         (WebCore::GraphicsContext3D::pixelStorei):
28627         (WebCore::GraphicsContext3D::polygonOffset):
28628         (WebCore::GraphicsContext3D::readPixels):
28629         (WebCore::GraphicsContext3D::releaseShaderCompiler):
28630         (WebCore::GraphicsContext3D::renderbufferStorage):
28631         (WebCore::GraphicsContext3D::sampleCoverage):
28632         (WebCore::GraphicsContext3D::scissor):
28633         (WebCore::GraphicsContext3D::shaderSource):
28634         (WebCore::GraphicsContext3D::stencilFunc):
28635         (WebCore::GraphicsContext3D::stencilFuncSeparate):
28636         (WebCore::GraphicsContext3D::stencilMask):
28637         (WebCore::GraphicsContext3D::stencilMaskSeparate):
28638         (WebCore::GraphicsContext3D::stencilOp):
28639         (WebCore::GraphicsContext3D::stencilOpSeparate):
28640         (WebCore::GraphicsContext3D::texImage2D):
28641         (WebCore::GraphicsContext3D::texParameterf):
28642         (WebCore::GraphicsContext3D::texParameteri):
28643         (WebCore::GraphicsContext3D::texSubImage2D):
28644         (WebCore::GraphicsContext3D::uniform1f):
28645         (WebCore::GraphicsContext3D::uniform1fv):
28646         (WebCore::GraphicsContext3D::uniform1i):
28647         (WebCore::GraphicsContext3D::uniform1iv):
28648         (WebCore::GraphicsContext3D::uniform2f):
28649         (WebCore::GraphicsContext3D::uniform2fv):
28650         (WebCore::GraphicsContext3D::uniform2i):
28651         (WebCore::GraphicsContext3D::uniform2iv):
28652         (WebCore::GraphicsContext3D::uniform3f):
28653         (WebCore::GraphicsContext3D::uniform3fv):
28654         (WebCore::GraphicsContext3D::uniform3i):
28655         (WebCore::GraphicsContext3D::uniform3iv):
28656         (WebCore::GraphicsContext3D::uniform4f):
28657         (WebCore::GraphicsContext3D::uniform4fv):
28658         (WebCore::GraphicsContext3D::uniform4i):
28659         (WebCore::GraphicsContext3D::uniform4iv):
28660         (WebCore::GraphicsContext3D::uniformMatrix2fv):
28661         (WebCore::GraphicsContext3D::uniformMatrix3fv):
28662         (WebCore::GraphicsContext3D::uniformMatrix4fv):
28663         (WebCore::GraphicsContext3D::useProgram):
28664         (WebCore::GraphicsContext3D::validateProgram):
28665         (WebCore::GraphicsContext3D::vertexAttrib1f):
28666         (WebCore::GraphicsContext3D::vertexAttrib1fv):
28667         (WebCore::GraphicsContext3D::vertexAttrib2f):
28668         (WebCore::GraphicsContext3D::vertexAttrib2fv):
28669         (WebCore::GraphicsContext3D::vertexAttrib3f):
28670         (WebCore::GraphicsContext3D::vertexAttrib3fv):
28671         (WebCore::GraphicsContext3D::vertexAttrib4f):
28672         (WebCore::GraphicsContext3D::vertexAttrib4fv):
28673         (WebCore::GraphicsContext3D::vertexAttribPointer):
28674         (WebCore::GraphicsContext3D::viewport):
28675         (WebCore::GraphicsContext3D::reshape):
28676         (WebCore::GraphicsContext3D::markContextChanged):
28677         (WebCore::GraphicsContext3D::markLayerComposited):
28678         (WebCore::GraphicsContext3D::layerComposited):
28679         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
28680         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
28681         (WebCore::GraphicsContext3D::createBuffer):
28682         (WebCore::GraphicsContext3D::createFramebuffer):
28683         (WebCore::GraphicsContext3D::createProgram):
28684         (WebCore::GraphicsContext3D::createRenderbuffer):
28685         (WebCore::GraphicsContext3D::createShader):
28686         (WebCore::GraphicsContext3D::createTexture):
28687         (WebCore::GraphicsContext3D::deleteBuffer):
28688         (WebCore::GraphicsContext3D::deleteFramebuffer):
28689         (WebCore::GraphicsContext3D::deleteProgram):
28690         (WebCore::GraphicsContext3D::deleteRenderbuffer):
28691         (WebCore::GraphicsContext3D::deleteShader):
28692         (WebCore::GraphicsContext3D::deleteTexture):
28693         (WebCore::GraphicsContext3D::synthesizeGLError):
28694         (WebCore::GraphicsContext3D::getExtensions):
28695         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
28696         (WebCore::GraphicsContext3D::setContextLostCallback):
28697         (WebCore::GraphicsContext3D::getImageData):
28698
28699 2011-09-12  Hyowon Kim  <hw1008.kim@samsung.com>
28700
28701         Reviewed by Eric Seidel.
28702
28703         [CMAKE] Remove platform/graphics/opengl/*OpenGL.cpp files in CMakeLists.txt
28704         https://bugs.webkit.org/show_bug.cgi?id=62707
28705
28706         No change in fuctionality so no new tests.
28707
28708         Bug 62376 makes all ports use GraphicsContext3DOpenGL and
28709         Extensions3DOpenGL when enabling WebGL.
28710         However, some ports already have their own GC3D implementation.
28711         In QT and chromium, for example, GC3D delegates to GC3DInternal.
28712         So, it would be better to allow each port to decide whether or not
28713         to include files in platform/graphics/opengl. 
28714
28715         * CMakeLists.txt:
28716
28717 2011-09-12  Dan Bernstein  <mitz@apple.com>
28718
28719         <rdar://problem/10054615> Floats in ruby text intrude into the base
28720
28721         Reviewed by Darin Adler.
28722
28723         Test: fast/ruby/float-overhang-from-ruby-text.html
28724
28725         * rendering/RenderRubyText.cpp:
28726         (WebCore::RenderRubyText::avoidsFloats): Added. Returns true. This ensures that
28727         RenderBlock::clearFloats() will not consider ruby text as having intruding floats.
28728         * rendering/RenderRubyText.h:
28729
28730 2011-09-12  David Hyatt  <hyatt@apple.com>
28731
28732         https://bugs.webkit.org/show_bug.cgi?id=67970
28733
28734         Add unprefixed border-image property.
28735
28736         Reviewed by Beth Dakin.
28737
28738         * css/CSSComputedStyleDeclaration.cpp:
28739         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
28740         * css/CSSParser.cpp:
28741         (WebCore::CSSParser::parseValue):
28742         * css/CSSPropertyNames.in:
28743
28744 2011-09-12  Ryosuke Niwa  <rniwa@webkit.org>
28745
28746         REGRESSION: Moving up doesn't work in some cases
28747         https://bugs.webkit.org/show_bug.cgi?id=67522
28748
28749         Reviewed by Eric Seidel.
28750
28751         The bug was caused by previousLinePosition's attempting to obtain the last root line box using
28752         a position at minCaretOffset (which is, in practice, located at the beginning of wrapped lines).
28753
28754         Fix the bug by calling maxCaretOffset instead. Because isCandidate returns false at (br, 1),
28755         use the positionBeforeNode for br elements.
28756
28757         Test: editing/selection/move-up-into-wrapped-line.html
28758
28759         * editing/visible_units.cpp:
28760         (WebCore::previousLinePosition):
28761
28762 2011-09-12  David Levin  <levin@chromium.org>
28763
28764         Make the ThreadSafeRefCounted support in CrossThreadCopier work for T*.
28765         https://bugs.webkit.org/show_bug.cgi?id=67947
28766
28767         Reviewed by Adam Barth.
28768
28769         The changes are tested by compiling and added compile asserts to do some verification as well.
28770
28771         * platform/CrossThreadCopier.cpp:
28772         Added some compile asserts to verify various match and non-matches for CrossThreadCopier.
28773         * platform/CrossThreadCopier.h:
28774         Added a typedef to convert T* to T, just like the typedef's to remove RefPtr and PassRefPtr.
28775         Added a compile assert to verify that only one of the typedef did anything.
28776         (CrossThreadCopierBase<false, true, T>::copy): Remove "get" as it is unnecessary.
28777         It shouldn't have been here (PassRefPtr and RefPtr easily and sometimes more efficiently
28778         convert to PassRefPtr without get). Also, a raw pointer doesn't have a get() method.
28779
28780 2011-09-12  Chris Rogers  <crogers@google.com>
28781
28782         Address lifetime issues in OfflineAudioDestinationNode
28783         https://bugs.webkit.org/show_bug.cgi?id=67949
28784
28785         Reviewed by Kenneth Russell.
28786
28787         No new tests.  This does not change JavaScript API.
28788
28789         * webaudio/OfflineAudioDestinationNode.cpp:
28790         (WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
28791         (WebCore::OfflineAudioDestinationNode::render):
28792         (WebCore::OfflineAudioDestinationNode::notifyCompleteDispatch):
28793
28794 2011-09-12  Jeff Timanus  <twiz@chromium.org>
28795
28796         [chromium]  Prevent a crash when tearing down an ImageBuffer that was not successfully initialized.
28797         https://bugs.webkit.org/show_bug.cgi?id=67944
28798
28799         Reviewed by Stephen White.
28800         
28801         * platform/graphics/skia/ImageBufferSkia.cpp:
28802         (WebCore::ImageBuffer::~ImageBuffer):
28803
28804 2011-09-12  Michael Saboff  <msaboff@apple.com>
28805
28806         Update RegExp and related classes to use 8 bit strings when available
28807         https://bugs.webkit.org/show_bug.cgi?id=67337
28808
28809         Updated call to match to use UString& instead of UChar*.
28810
28811         Reviewed by Gavin Barraclough.
28812
28813         No new tests, Covered by existing tests.
28814
28815         * platform/text/RegularExpression.cpp:
28816         (WebCore::RegularExpression::match):
28817
28818 2011-09-12  Beth Dakin  <bdakin@apple.com>
28819
28820         https://bugs.webkit.org/show_bug.cgi?id=67898
28821         REGRESSION(r94900): fast/images/support-broken-image-delegate.html fails on Mac
28822
28823         Reviewed by Simon Fraser.
28824
28825         New function willPaintBrokenImage() returns true when there has been an error 
28826         loading the image and the broken image icon will be used in its place. This is 
28827         necessary since it is possible to have an error loading an image and to NOT use 
28828         the broken image icon. 
28829         * loader/cache/CachedImage.cpp:
28830         (WebCore::CachedImage::willPaintBrokenImage):
28831         * loader/cache/CachedImage.h:
28832         * rendering/RenderImage.cpp:
28833         (WebCore::RenderImage::imageSizeForError):
28834
28835 2011-09-12  James Robinson  <jamesr@chromium.org>
28836
28837         [chromium] Move contents texture manager from LayerRendererChromium to CCLayerTreeHost
28838         https://bugs.webkit.org/show_bug.cgi?id=67440
28839
28840         Reviewed by Kenneth Russell.
28841
28842         This moves the contents TextureManager over to the CCLayerTreeHost, where it belongs, and adds in a commit path
28843         to make sure that textures are deleted even if the page is not visible.  This move also removed the need for
28844         LayerRendererChromium's CCLayerTreeHost pointer, so I removed that as well.  That meant moving the
28845         layerTreeAsText() logic over to the CCLayerImpl side, which is where it really belonged anyway.
28846
28847         Covered by existing compositing/ tests and
28848         platform/chromium/compositor/lost-compositor-context-with-rendersurface.html
28849
28850         * platform/graphics/chromium/LayerRendererChromium.cpp:
28851         (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
28852         (WebCore::LayerRendererChromium::drawLayers):
28853         (WebCore::LayerRendererChromium::initializeSharedObjects):
28854         (WebCore::LayerRendererChromium::cleanupSharedObjects):
28855         * platform/graphics/chromium/LayerRendererChromium.h:
28856         (WebCore::LayerRendererChromium::setContentsTextureMemoryUseBytes):
28857         * platform/graphics/chromium/TextureManager.cpp:
28858         (WebCore::TextureManager::highLimitBytes):
28859         (WebCore::TextureManager::reclaimLimitBytes):
28860         (WebCore::TextureManager::lowLimitBytes):
28861         * platform/graphics/chromium/TextureManager.h:
28862         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
28863         (WebCore::CCLayerTreeHost::initialize):
28864         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
28865         (WebCore::CCLayerTreeHost::deleteContentsTextures):
28866         (WebCore::CCLayerTreeHost::commitTo):
28867         (WebCore::CCLayerTreeHost::setVisible):
28868         (WebCore::CCLayerTreeHost::contentsTextureManager):
28869         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
28870         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
28871         (WebCore::CCLayerTreeHostImpl::setVisible):
28872         * platform/graphics/chromium/cc/CCProxy.h:
28873         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
28874         (WebCore::CCSingleThreadProxy::setNeedsCommit):
28875         (WebCore::CCSingleThreadProxy::stop):
28876         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
28877         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
28878         (WebCore::CCThreadProxy::setNeedsCommit):
28879         (WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
28880         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
28881         * platform/graphics/chromium/cc/CCThreadProxy.h:
28882
28883 2011-09-12  Chris Rogers  <crogers@google.com>
28884
28885         DelayNode delay buffer is not correctly wrapping around
28886         https://bugs.webkit.org/show_bug.cgi?id=67872
28887
28888         Reviewed by Kenneth Russell.
28889
28890         Test: webaudio/delaynode.html
28891
28892         * webaudio/DelayDSPKernel.cpp:
28893         (WebCore::DelayDSPKernel::process):
28894
28895 2011-09-12  Arko Saha  <arko@motorola.com>
28896
28897         Selectstart is not fired when selection was created by arrow keys.
28898         https://bugs.webkit.org/show_bug.cgi?id=60430
28899
28900         Reviewed by Ryosuke Niwa.
28901
28902         Fire selectstart when a user starts extending the selection using arrow key.
28903         Fixed by Arko Saha  <arko@motorola.com> and Kaustubh Atrawalkar  <kaustubh@motorola.com>
28904
28905         Tests: fast/events/selectstart-by-arrow-keys-prevent-default.html
28906                fast/events/selectstart-by-arrow-keys.html
28907
28908         * editing/FrameSelection.cpp:
28909         (WebCore::FrameSelection::modify):
28910         (WebCore::FrameSelection::shouldChangeSelection):
28911         (WebCore::FrameSelection::dispatchSelectStart):
28912         * editing/FrameSelection.h:
28913
28914 2011-09-12  James Robinson  <jamesr@chromium.org>
28915
28916         [chromium] REGRESSION(94353): Compositor textures and resources leaked when tab closed that is not last tab in the process
28917         https://bugs.webkit.org/show_bug.cgi?id=67816
28918
28919         Reviewed by Kenneth Russell.
28920
28921         We lack infrastructure to construct an automated test for this today. To test manually, open up a composited
28922         page (like the poster circle), duplicate the tab many times, close all the duplicates, and verify that the
28923         memory use returns to the single tab level.
28924
28925         * platform/graphics/chromium/LayerChromium.h:
28926         * platform/graphics/chromium/TiledLayerChromium.cpp:
28927         (WebCore::TiledLayerChromium::setLayerTreeHost):
28928         * platform/graphics/chromium/VideoLayerChromium.cpp:
28929         (WebCore::VideoLayerChromium::setLayerTreeHost):
28930         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
28931         (WebCore::CCLayerTreeHost::clearRenderSurfacesRecursive):
28932         (WebCore::CCLayerTreeHost::setRootLayer):
28933         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
28934
28935 2011-09-12  Kentaro Hara  <haraken@google.com>
28936
28937         Implement a HashChangeEvent constructor for JSC
28938         https://bugs.webkit.org/show_bug.cgi?id=67924
28939
28940         Reviewed by Sam Weinig.
28941
28942         The spec for the HashChangeEvent constructor is here:
28943         http://www.whatwg.org/specs/web-apps/current-work/#hashchangeevent
28944
28945         Test: fast/events/constructors/hash-change-event-constructor.html
28946
28947         * bindings/generic/EventConstructors.h: Added a definition for the HashChangeEvent constructor.
28948         * bindings/js/JSEventConstructors.cpp: Added #includes for HashChangeEvent.
28949         * dom/HashChangeEvent.h: Added a definition for HashChangeEventInit.
28950         (WebCore::HashChangeEventInit::HashChangeEventInit):
28951         (WebCore::HashChangeEvent::create):
28952         (WebCore::HashChangeEvent::HashChangeEvent):
28953         * dom/HashChangeEvent.idl: Makes HashChangeEvent constructible.
28954
28955 2011-09-12  Mike Reed  <reed@google.com>
28956
28957         [skia] remove dead code, no functionality change
28958         https://bugs.webkit.org/show_bug.cgi?id=67844
28959
28960         Reviewed by Kenneth Russell.
28961
28962         No new tests. just removing dead-code, existing tests apply
28963
28964         * platform/graphics/chromium/FontChromiumWin.cpp:
28965         (WebCore::Font::drawGlyphs):
28966
28967 2011-09-12  Pavel Feldman  <pfeldman@google.com>
28968
28969         Web Inspector: Runtime.callFunctionOn does not accept arguments that evaluate to false.
28970         https://bugs.webkit.org/show_bug.cgi?id=67934
28971
28972         Reviewed by Tony Gentilcore.
28973
28974         * inspector/InjectedScriptSource.js:
28975
28976 2011-09-12  Pavel Feldman  <pfeldman@google.com>
28977
28978         Web Inspector: event dividers do not update timeline boundaries.
28979         https://bugs.webkit.org/show_bug.cgi?id=67932
28980
28981         * inspector/front-end/NetworkPanel.js:
28982         (WebInspector.NetworkLogView.prototype._onLoadEventFired):
28983         (WebInspector.NetworkLogView.prototype._domContentLoadedEventFired):
28984         (WebInspector.NetworkLogView.prototype.refresh):
28985         (WebInspector.NetworkTimeCalculator.prototype.updateBoundariesForEventTime):
28986
28987 2011-09-12  Kentaro Hara  <haraken@google.com>
28988
28989         Implement a WebKitAnimationEvent constructor for V8
28990         https://bugs.webkit.org/show_bug.cgi?id=67922
28991
28992         Reviewed by Adam Barth.
28993
28994         Test: fast/events/constructors/webkit-animation-event-constructor.html
28995
28996         * bindings/v8/custom/V8EventConstructors.cpp: Added the WebKitAnimationEvent constructor.
28997         * dom/WebKitAnimationEvent.idl: Added a 'V8CustomConstructor' attribute.
28998
28999 2011-09-12  Andreas Kling  <kling@webkit.org>
29000
29001         Shrink CanvasGradient for builds without ENABLE(DASHBOARD_SUPPORT).
29002         https://bugs.webkit.org/show_bug.cgi?id=67916
29003
29004         Reviewed by Kenneth Rohde Christiansen.
29005
29006         * html/canvas/CanvasGradient.cpp:
29007         (WebCore::CanvasGradient::CanvasGradient):
29008         (WebCore::CanvasGradient::addColorStop):
29009         * html/canvas/CanvasGradient.h:
29010
29011 2011-09-12  Shinya Kawanaka  <shinyak@google.com>
29012
29013         Characters beyond U+10000 should be deleted by one pressing delete key.
29014         https://bugs.webkit.org/show_bug.cgi?id=40351
29015
29016         Reviewed by Kent Tamura.
29017
29018         If a character is the trail part of unicode surrogate pair, the lead part of it
29019         should also be deleted. Also, If in MacOSX, the deletion should honor Mac's behavior.
29020
29021         Test: editing/deleting/delete-surrogatepair.html
29022
29023         * rendering/RenderText.cpp:
29024         (WebCore::RenderText::previousOffsetForBackwardDeletion):
29025           Added if-macro to support chromium on mac, and added trail part check for unicode character.
29026
29027 2011-09-11  Kentaro Hara  <haraken@google.com>
29028
29029         Implement a ProgressEvent constructor for V8
29030         https://bugs.webkit.org/show_bug.cgi?id=67800
29031
29032         Reviewed by Sam Weinig.
29033
29034         Test: fast/events/constructors/progress-event-constructor.html
29035
29036         * bindings/js/JSDictionary.cpp:
29037         (WebCore::JSDictionary::convertValue): Replaced UnsignedLongLongMax with std::numeric_limits<unsigned long long>::max().
29038         * bindings/v8/OptionsObject.cpp:
29039         (WebCore::OptionsObject::getKeyValue): Returns an unsigned long long value corresponding to a given key. Spec: http://www.w3.org/TR/WebIDL/#es-unsigned-long-long
29040         * bindings/v8/OptionsObject.h:
29041         * bindings/v8/custom/V8EventConstructors.cpp: Added the ProgressEvent constructor.
29042         * dom/ProgressEvent.idl: Added a 'V8CustomConstructor' attribute.
29043
29044 2011-09-11  Dimitri Glazkov  <dglazkov@chromium.org>
29045
29046         REGRESSION (r87351): toggling display of lots (thousands) of elements with display:none is very slow
29047         https://bugs.webkit.org/show_bug.cgi?id=67581
29048
29049         Reviewed by Darin Adler.
29050
29051         Test: perf/show-hide-table-rows.html
29052
29053         * dom/NodeRenderingContext.cpp:
29054         (WebCore::NodeRendererFactory::createRendererAndStyle): Moved style-creating code into createRendererIfNeeded, renamed
29055             to createRenderer.
29056         (WebCore::NodeRendererFactory::createRendererIfNeeded): Re-arrange code to avoid unnecessary creation of renderers.
29057
29058 2011-09-11  Jeremy Moskovich  <jeremy@chromium.org>
29059
29060         [Chromium] Change OOP Font loading code to use CGFont*() APIs.
29061         https://bugs.webkit.org/show_bug.cgi?id=66935
29062
29063         This change is necessary due a bug in ATSFontDeactivate() on 10.7.
29064         See crbug.com/93191 for details.
29065
29066         Reviewed by Eric Seidel.
29067
29068         No new tests - covered by existing tests.
29069
29070         * platform/chromium/PlatformBridge.h:
29071         * platform/graphics/chromium/CrossProcessFontLoading.h:
29072         * platform/graphics/chromium/CrossProcessFontLoading.mm:
29073         (WebCore::MemoryActivatedFont::create):
29074         (WebCore::MemoryActivatedFont::MemoryActivatedFont):
29075         (WebCore::MemoryActivatedFont::~MemoryActivatedFont):
29076
29077 2011-09-09  Oliver Hunt  <oliver@apple.com>
29078
29079         Remove support for anonymous storage from jsobjects
29080         https://bugs.webkit.org/show_bug.cgi?id=67881
29081
29082         Reviewed by Sam Weinig.
29083
29084         Remove all use of anonymous slots, this required modifying
29085         bindings generation to add member variables for cached attributes,
29086         and override visitChildren with the necessary logic to mark those
29087         new members.
29088
29089         I added bindings generation tests for these values.
29090
29091         * bindings/js/JSAudioConstructor.h:
29092         (WebCore::JSAudioConstructor::createStructure):
29093         * bindings/js/JSDOMBinding.h:
29094         (WebCore::DOMConstructorObject::createStructure):
29095         * bindings/js/JSDOMGlobalObject.h:
29096         (WebCore::JSDOMGlobalObject::createStructure):
29097         * bindings/js/JSDOMWindowBase.h:
29098         (WebCore::JSDOMWindowBase::createStructure):
29099         * bindings/js/JSDOMWindowShell.h:
29100         (WebCore::JSDOMWindowShell::createStructure):
29101         * bindings/js/JSDOMWrapper.h:
29102         (WebCore::JSDOMWrapper::createStructure):
29103         * bindings/js/JSImageConstructor.h:
29104         (WebCore::JSImageConstructor::createStructure):
29105         * bindings/js/JSMessageEventCustom.cpp:
29106         (WebCore::JSMessageEvent::data):
29107         (WebCore::JSMessageEvent::initMessageEvent):
29108         * bindings/js/JSOptionConstructor.h:
29109         (WebCore::JSOptionConstructor::createStructure):
29110         * bindings/js/JSWorkerContextBase.h:
29111         (WebCore::JSWorkerContextBase::createStructure):
29112         * bindings/scripts/CodeGeneratorJS.pm:
29113         (GenerateHeader):
29114         (GenerateImplementation):
29115         (GenerateConstructorDeclaration):
29116         * bindings/scripts/test/JS/JSTestInterface.cpp:
29117         (WebCore::JSTestInterfaceConstructor::createStructure):
29118         * bindings/scripts/test/JS/JSTestInterface.h:
29119         (WebCore::JSTestInterface::createStructure):
29120         (WebCore::JSTestInterfacePrototype::createStructure):
29121         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
29122         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
29123         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
29124         (WebCore::JSTestMediaQueryListListener::createStructure):
29125         (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
29126         * bindings/scripts/test/JS/JSTestObj.cpp:
29127         (WebCore::JSTestObjConstructor::createStructure):
29128         (WebCore::jsTestObjCachedAttribute1):
29129         (WebCore::jsTestObjCachedAttribute2):
29130         (WebCore::JSTestObj::visitChildren):
29131         * bindings/scripts/test/JS/JSTestObj.h:
29132         (WebCore::JSTestObj::createStructure):
29133         (WebCore::JSTestObjPrototype::createStructure):
29134         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
29135         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
29136         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
29137         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
29138         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
29139         * bindings/scripts/test/TestObj.idl:
29140         * bindings/scripts/test/V8/V8TestObj.cpp:
29141         (WebCore::TestObjInternal::cachedAttribute1AttrGetter):
29142         (WebCore::TestObjInternal::cachedAttribute2AttrGetter):
29143         * bridge/c/CRuntimeObject.h:
29144         (JSC::Bindings::CRuntimeObject::createStructure):
29145         * bridge/c/c_instance.cpp:
29146         (JSC::Bindings::CRuntimeMethod::createStructure):
29147         * bridge/jni/jsc/JavaInstanceJSC.cpp:
29148         (JavaRuntimeMethod::createStructure):
29149         * bridge/jni/jsc/JavaRuntimeObject.h:
29150         (JSC::Bindings::JavaRuntimeObject::createStructure):
29151         * bridge/objc/ObjCRuntimeObject.h:
29152         (JSC::Bindings::ObjCRuntimeObject::createStructure):
29153         * bridge/objc/objc_instance.mm:
29154         (ObjCRuntimeMethod::createStructure):
29155         * bridge/objc/objc_runtime.h:
29156         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
29157         * bridge/runtime_array.h:
29158         (JSC::RuntimeArray::createStructure):
29159         * bridge/runtime_method.h:
29160         (JSC::RuntimeMethod::createStructure):
29161         * bridge/runtime_object.h:
29162         (JSC::Bindings::RuntimeObject::createStructure):
29163
29164 2011-09-01  Filip Pizlo  <fpizlo@apple.com>
29165
29166         The executable allocator makes it difficult to free individual
29167         chunks of executable memory
29168         https://bugs.webkit.org/show_bug.cgi?id=66363
29169
29170         Reviewed by Oliver Hunt.
29171         
29172         Introduced a best-fit, balanced-tree based allocator. The allocator
29173         required a balanced tree that does not allocate memory and that
29174         permits the removal of individual nodes directly (as opposed to by
29175         key); neither AVLTree nor WebCore's PODRedBlackTree supported this.
29176         Changed all references to executable code to use a reference counted
29177         handle.
29178
29179         No new layout tests because behavior is not changed.  New API unit
29180         tests:
29181         Tests/WTF/RedBlackTree.cpp
29182         Tests/WTF/MetaAllocator.cpp
29183
29184         * ForwardingHeaders/wtf/MetaAllocatorHandle.h: Added.
29185
29186 2011-09-10  Sam Weinig  <sam@webkit.org>
29187
29188         Add isInterruptedExecutionException and isTerminatedExecutionException predicates
29189         https://bugs.webkit.org/show_bug.cgi?id=67892
29190
29191         Reviewed by Andy "First Time Reviewer" Estes.
29192
29193         * bindings/js/JSDOMBinding.cpp:
29194         (WebCore::reportException):
29195         * bindings/js/JSEventListener.cpp:
29196         (WebCore::JSEventListener::handleEvent):
29197         * bindings/js/WorkerScriptController.cpp:
29198         (WebCore::WorkerScriptController::evaluate):
29199         Use the new predicates instead of probing the ClassInfo directly.
29200
29201 2011-09-10  Kevin Ollivier  <kevino@theolliviers.com>
29202
29203         [wx] Unreviewed build fix. MSW build fixes.
29204
29205         * config.h:
29206
29207 2011-09-09  David Hyatt  <hyatt@apple.com>
29208
29209         https://bugs.webkit.org/show_bug.cgi?id=67861
29210         
29211         Implement border-image-outset (and the mask equivalents).
29212
29213         Reviewed by Beth Dakin.
29214
29215         Added new tests in fast/borders and fast/reflections.
29216
29217         * css/CSSBorderImageValue.cpp:
29218         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
29219         (WebCore::CSSBorderImageValue::cssText):
29220         * css/CSSBorderImageValue.h:
29221         (WebCore::CSSBorderImageValue::create):
29222         Add m_outset field to CSSBorderImageValue and teach it how to dump the field as
29223         part of cssText().
29224
29225         * css/CSSComputedStyleDeclaration.cpp:
29226         (WebCore::valueForNinePieceImageQuad):
29227         (WebCore::valueForNinePieceImage):
29228         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
29229         Add support for border-image-outset and -webkit-mask-box-image-outset. Refactor
29230         the code so that border-image-width and border-image-outset use a common
29231         function.
29232
29233         * css/CSSParser.cpp:
29234         (WebCore::CSSParser::parseValue):
29235         (WebCore::BorderImageParseContext::BorderImageParseContext):
29236         (WebCore::BorderImageParseContext::allowOutset):
29237         (WebCore::BorderImageParseContext::commitSlash):
29238         (WebCore::BorderImageParseContext::commitBorderWidth):
29239         (WebCore::BorderImageParseContext::commitBorderOutset):
29240         (WebCore::BorderImageParseContext::commitRepeat):
29241         (WebCore::BorderImageParseContext::commitBorderImage):
29242         (WebCore::CSSParser::parseBorderImage):
29243         Teach the border image parsing code about outsets. This code will soon be
29244         replaced by true shorthand parsing code, but for now keep it working and add
29245         outset support to it.
29246
29247         (WebCore::BorderImageQuadParseContext::BorderImageQuadParseContext):
29248         (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
29249         (WebCore::CSSParser::parseBorderImageQuad):
29250         (WebCore::CSSParser::parseBorderImageWidth):
29251         (WebCore::CSSParser::parseBorderImageOutset):
29252         * css/CSSParser.h:
29253         Refactor the border-image-width code so that it can be shared by border-image-outset, since
29254         they are extremely similar.
29255
29256         * css/CSSPropertyNames.in:
29257         Add the new properties.
29258
29259         * css/CSSStyleSelector.cpp:
29260         (WebCore::CSSStyleSelector::applyProperty):
29261         (WebCore::CSSStyleSelector::mapNinePieceImage):
29262         (WebCore::CSSStyleSelector::mapNinePieceImageQuad):
29263         (WebCore::CSSStyleSelector::loadPendingImages):
29264         * css/CSSStyleSelector.h:
29265         Refactor the code so that width/outset share common mapping functions. Add support for outset.
29266
29267         * rendering/InlineFlowBox.cpp:
29268         (WebCore::InlineFlowBox::addToLine):
29269         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
29270         (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
29271         (WebCore::InlineFlowBox::computeOverflow):
29272         Add new functions for computing the visual overflow caused by border outsets. Fix bugs in
29273         the shadow overflow code as well.
29274
29275         (WebCore::clipRectForNinePieceImageStrip):
29276         (WebCore::InlineFlowBox::paintBoxDecorations):
29277         (WebCore::InlineFlowBox::paintMask):
29278         * rendering/InlineFlowBox.h:
29279         Make sure the clip rect pushed when painting one piece of a split inline strip is expanded to
29280         include the border and mask outsets. Always include the block direction expansion, and conditionally
29281         include the inline direction expansion based off includeLogicalLeftEdge()/includeLogicalRightEdge().
29282         clipRectForNinePieceImageStrip is a common function shared by masks and border images that does this
29283         work.
29284
29285         * rendering/RenderBlock.cpp:
29286         (WebCore::RenderBlock::computeOverflow):
29287         * rendering/RenderBox.cpp:
29288         (WebCore::RenderBox::maskClipRect):
29289         (WebCore::RenderBox::addBoxShadowAndBorderOverflow):
29290         * rendering/RenderBox.h:
29291         Rename addShadowOverflow to addBoxShadowAndBorderOverflow. Have it compute both shadow and border image
29292         outset overflow. Fix bugs with shadow overflow computation.
29293
29294         * rendering/RenderBoxModelObject.cpp:
29295         (WebCore::RenderBoxModelObject::paintNinePieceImage):
29296         Change painting to apply the outsets to inflate the border image drawing area.
29297
29298         * rendering/RenderEmbeddedObject.cpp:
29299         (WebCore::RenderEmbeddedObject::layout):
29300         * rendering/RenderIFrame.cpp:
29301         (WebCore::RenderIFrame::layout):
29302         Patched to call the renamed addBoxShadowAndBorderOverflow function instead of addShadowOverflow.
29303
29304         * rendering/RenderLayer.cpp:
29305         (WebCore::RenderLayer::calculateRects):
29306         Patched to no longer apply box-shadow to overflow clip areas when inflating the intersection area for the
29307         layer bounds. Instead we generically apply all visual overflow so that border image outsets will also be
29308         included. This fixes https://bugs.webkit.org/show_bug.cgi?id=37467.
29309
29310         * rendering/RenderReplaced.cpp:
29311         (WebCore::RenderReplaced::layout):
29312         Patched to call the renamed addBoxShadowAndBorderOverflow function instead of addShadowOverflow.
29313
29314         * rendering/style/NinePieceImage.cpp:
29315         (WebCore::NinePieceImage::operator==):
29316         * rendering/style/NinePieceImage.h:
29317         (WebCore::NinePieceImage::NinePieceImage):
29318         (WebCore::NinePieceImage::outset):
29319         (WebCore::NinePieceImage::setOutset):
29320         (WebCore::NinePieceImage::computeOutset):
29321         (WebCore::NinePieceImage::copyOutsetFrom):
29322         Add the outset field to NinePieceImage along with some helpers for manipulating outsets.
29323
29324         * rendering/style/RenderStyle.cpp:
29325         (WebCore::RenderStyle::getImageOutsets):
29326         (WebCore::RenderStyle::getImageHorizontalOutsets):
29327         (WebCore::RenderStyle::getImageVerticalOutsets):
29328         * rendering/style/RenderStyle.h:
29329         (WebCore::InheritedFlags::hasBorderImageOutsets):
29330         (WebCore::InheritedFlags::getBorderImageOutsets):
29331         (WebCore::InheritedFlags::getBorderImageHorizontalOutsets):
29332         (WebCore::InheritedFlags::getBorderImageVerticalOutsets):
29333         (WebCore::InheritedFlags::getBorderImageInlineDirectionOutsets):
29334         (WebCore::InheritedFlags::getBorderImageBlockDirectionOutsets):
29335         (WebCore::InheritedFlags::getImageInlineDirectionOutsets):
29336         (WebCore::InheritedFlags::getImageBlockDirectionOutsets):
29337         Helpers for outset computation used by painting and overflow functions.
29338
29339 2011-09-10  Dan Bernstein  <mitz@apple.com>
29340
29341         Actually prevent unnecessary casts to MediaControls*.
29342
29343         Reviewed by Oliver Hunt.
29344
29345         * html/shadow/MediaControls.h:
29346
29347 2011-09-10  Ryosuke Niwa  <rniwa@webkit.org>
29348
29349         Remove printf added by r94900.
29350
29351         * rendering/RenderLayer.cpp:
29352         (WebCore::RenderLayer::drawPlatformResizerImage):
29353
29354 2011-09-09  Chris Marrin  <cmarrin@apple.com>
29355
29356         requestAnimationFrame doesn't throttle on Mac
29357         https://bugs.webkit.org/show_bug.cgi?id=67171
29358
29359         Reviewed by Simon Fraser.
29360
29361         Changed requestAnimationFrame to use a Timer in ScriptedAnimationController
29362         on Mac, rather than runLoopObservers. The Timer is throttled to fire no
29363         faster than every 15ms. It is behind a WTF_USE_REQUEST_ANIMATION_FRAME_TIMER
29364         flag and can be used by any implementation, but currently it is only enabled
29365         by PLATFORM(MAC).
29366
29367         * dom/ScriptedAnimationController.cpp:
29368         (WebCore::ScriptedAnimationController::ScriptedAnimationController):
29369         (WebCore::ScriptedAnimationController::resume):
29370         (WebCore::ScriptedAnimationController::registerCallback):
29371         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
29372         (WebCore::ScriptedAnimationController::scheduleAnimation):
29373         (WebCore::ScriptedAnimationController::animationTimerFired):
29374         * dom/ScriptedAnimationController.h:
29375         * loader/EmptyClients.h:
29376         * page/Chrome.cpp:
29377         (WebCore::Chrome::scheduleAnimation):
29378         * page/ChromeClient.h:
29379
29380 2011-09-10  Jarred Nicholls  <jarred@sencha.com>
29381
29382         [Qt] QWebSettings::setUserStyleSheetUrl() does not work with windows paths that contain drive letters
29383         https://bugs.webkit.org/show_bug.cgi?id=34884
29384         
29385         KURL::path() alone does not handle removing the leading slash from a windows file path.
29386         Using QUrl::toLocalFile() will turn file:///C:/path into C:/path appropriately.
29387
29388         Reviewed by Andreas Kling.
29389
29390         * platform/qt/KURLQt.cpp:
29391         (WebCore::KURL::fileSystemPath):
29392
29393 2011-09-10  Ken Buchanan <kenrb@chromium.org>
29394
29395         Crash due to bad data in SVGDocumentExtensions m_pendingResources
29396         https://bugs.webkit.org/show_bug.cgi?id=67488
29397
29398         Reviewed by Nikolas Zimmermann.
29399
29400         Resolving a crash condition caused by the deletion of
29401         elements while pending resource entries for those elements are still
29402         recorded.
29403
29404         * rendering/svg/RenderSVGResourceContainer.cpp:
29405         (WebCore::RenderSVGResourceContainer::registerResource)
29406         * svg/SVGDocumentExtensions.h:
29407         (WebCore::SVGDocumentExtensions::isElementInPendingResources)
29408         * svg/SVGDocumentExtensions.cpp:
29409         (WebCore::SVGDocumentExtensions::addPendingResource)
29410         (WebCore::SVGDocumentExtensions::isElementInPendingResources)
29411         (WebCore::SVGDocumentExtensions::removeElementFromPendingResources)
29412         * svg/SVGStyledElement.h:
29413         (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible)
29414         * svg/SVGStyledElement.cpp:
29415         (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded)
29416         (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible)
29417         * svg/SVGUseElement.cpp:
29418         (WebCore::SVGUseElement::svgAttributeChanged)
29419
29420 2011-09-10  Adam Barth  <abarth@webkit.org>
29421
29422         Remove DocumentWriter::deprecatedFrameEncoding()
29423         https://bugs.webkit.org/show_bug.cgi?id=67882
29424
29425         Reviewed by Eric Seidel.
29426
29427         Three years ago, in http://trac.webkit.org/changeset/39026, Alexey
29428         Proskuryakov added ContentDispositionEncodingFallbackArray to work
29429         around a web site compatibility issue with a non-ASCII file name
29430         becoming garbled when received in the Content-Disposition header.
29431
29432         Since that time, there has been copious discussion of this topic among
29433         browser vendors, in the IETF, and in the broader web community.  For
29434         example, here is a Stack Overflow thread about this topic:
29435
29436         http://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content-disposition-header-in-http
29437
29438         Eric Lawrence has written a blog post that summarizes IE's perspective
29439         on this issue:
29440
29441         http://blogs.msdn.com/b/ieinternals/archive/2010/06/07/content-disposition-attachment-and-international-unicode-characters.aspx
29442
29443         The current consensus is that browsers should implement RFC 6266,
29444         which is a new RFC that updates the definition of the
29445         Content-Disposition header.  Chrome and Firefox have both implemented
29446         RFC 6266 and have encountered only one issue, which was then fixed by
29447         the web site operator.  IE has also implemented RFC 6266, but I don't
29448         have detailed information about their compatibility experience.
29449
29450         This patch add explicit PLATFORM #ifdefs around the quirky
29451         implementation previously used in Apple's Mac and Windows ports.  This
29452         code is already only used on Apple's ports, so this patch introduces no
29453         functional changes.  It does, however, discourage other ports from
29454         adopting this quirk.  IMHO, Apple should remove this quirk as soon as
29455         compatibility allows and converge behavior with the other major browser
29456         vendors.
29457
29458         See bug for manual test (the bug manifests in Safari download UI).
29459
29460         * loader/DocumentWriter.cpp:
29461         * loader/DocumentWriter.h:
29462         * loader/FrameLoader.cpp:
29463         (WebCore::FrameLoader::addExtraFieldsToRequest):
29464         * platform/network/ResourceRequestBase.cpp:
29465         (WebCore::ResourceRequestBase::adopt):
29466         (WebCore::ResourceRequestBase::copyData):
29467         * platform/network/ResourceRequestBase.h:
29468
29469 2011-09-09  Beth Dakin  <bdakin@apple.com>
29470
29471         Attempted Leopard build fix.
29472
29473         * rendering/RenderImage.cpp:
29474         (WebCore::RenderImage::paintReplaced):
29475         * rendering/RenderLayer.cpp:
29476         (WebCore::RenderLayer::drawPlatformResizerImage):
29477
29478 2011-09-09  Beth Dakin  <bdakin@apple.com>
29479
29480         Fix for https://bugs.webkit.org/show_bug.cgi?id=67819
29481         Use high resolution platform images when the deviceScaleFactor > 1
29482         -and corresponding-
29483         <rdar://problem/10003098>
29484
29485         Reviewed by Darin Adler.
29486
29487         Add all of the new high resolution images. I also removed some tiffs from the 
29488         project and replaced them with png equivalents (that are already checked into 
29489         WebCore anyway). Since the high resolution images are pngs, it makes sense to use 
29490         pngs for all of the images that load through Image::loadPlatformResource()
29491         * WebCore.xcodeproj/project.pbxproj:
29492         * platform/graphics/mac/ImageMac.mm:
29493         (WebCore::Image::loadPlatformResource):
29494
29495         Load the @2x resource for deviceScaleFactors >= 2.
29496         * editing/DeleteButtonController.cpp:
29497         (WebCore::DeleteButtonController::createDeletionUI):
29498
29499         CachedImage::brokenImage() is no longer a static helper function, but a real 
29500         member function. It also now loads the @2x resource for deviceScaleFactors >= 2 
29501         and takes a parameter for the deviceScaleFactor. When CachedImage::image() returns 
29502         the brokenImage(), it just returns the 1x version. brokenImage() has to be called 
29503         directly to reliably return the deviceScaleFactor-appropriate resource.
29504         * loader/cache/CachedImage.cpp:
29505         (WebCore::CachedImage::brokenImage):
29506         (WebCore::CachedImage::image):
29507         * loader/cache/CachedImage.h:
29508         * rendering/RenderLayer.cpp:
29509         (WebCore::RenderLayer::drawPlatformResizerImage):
29510         (WebCore::RenderLayer::paintResizer):
29511         * rendering/RenderLayer.h:
29512
29513         New static function to retrieve the deviceScaleFactor for callers that do not have 
29514         direct access to a Page.
29515         * page/Page.cpp:
29516         (WebCore::Page::deviceScaleFactor):
29517         * page/Page.h:
29518
29519         Call CachedImage::brokenImage() for the broken-image image at an accurate 
29520         resolution.
29521         * rendering/RenderImage.cpp:
29522         (WebCore::RenderImage::imageSizeForError):
29523         (WebCore::RenderImage::paintReplaced):
29524
29525 2011-09-09  Erik Arvidsson  <arv@chromium.org>
29526
29527         Move Element.contains to Node
29528         https://bugs.webkit.org/show_bug.cgi?id=67651
29529
29530         Reviewed by Darin Adler.
29531
29532         This moves the contains method from Element to Node as in the DOM4 working draft: 
29533         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-contains
29534
29535         This also special cases Document contains to make it O(1) instead of O(depth).
29536
29537         Tests: fast/dom/Node/contains-method.html
29538                perf/document-contains.html
29539
29540         * bindings/objc/PublicDOMInterfaces.h: Move contains from DOMElement to DOMNode.
29541         * dom/Element.idl:
29542         * dom/Node.cpp:
29543         (WebCore::Node::contains): Added document special case.
29544         * dom/Node.idl:
29545         * editing/DeleteSelectionCommand.cpp:
29546         (WebCore::DeleteSelectionCommand::mergeParagraphs): Added a null check.
29547
29548 2011-09-09  Tim Horton  <timothy_horton@apple.com>
29549
29550         Text rendered with a simple (i.e. 0px blur) shadow inside a transparency layer has a double shadow
29551         https://bugs.webkit.org/show_bug.cgi?id=67543
29552         <rdar://problem/10070536>
29553
29554         Reviewed by Darin Adler.
29555
29556         Generalize (begin|end)TransparencyLayer, which now forward
29557         through to (begin|end)PlatformTransparencyLayer, so that
29558         isInTransparencyLayer can exist on every platform.
29559
29560         Make use of isInTransparencyLayer in FontMac to disable
29561         "simple" shadow drawing when the text is being rendered
29562         into a transparency layer.
29563
29564         Test: svg/custom/simple-text-double-shadow.svg
29565
29566         * platform/graphics/GraphicsContext.cpp:
29567         (WebCore::GraphicsContext::GraphicsContext):
29568         (WebCore::GraphicsContext::~GraphicsContext):
29569         (WebCore::GraphicsContext::beginTransparencyLayer):
29570         (WebCore::GraphicsContext::endTransparencyLayer):
29571         (WebCore::GraphicsContext::isInTransparencyLayer):
29572         * platform/graphics/GraphicsContext.h:
29573         * platform/graphics/cairo/GraphicsContextCairo.cpp:
29574         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
29575         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
29576         (WebCore::GraphicsContext::supportsTransparencyLayers):
29577         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
29578         * platform/graphics/cg/GraphicsContextCG.cpp:
29579         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
29580         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
29581         (WebCore::GraphicsContext::supportsTransparencyLayers):
29582         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
29583         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
29584         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
29585         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
29586         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
29587         (WebCore::GraphicsContext::supportsTransparencyLayers):
29588         * platform/graphics/mac/FontMac.mm:
29589         (WebCore::Font::drawGlyphs):
29590         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
29591         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
29592         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
29593         (WebCore::GraphicsContext::supportsTransparencyLayers):
29594         * platform/graphics/qt/GraphicsContextQt.cpp:
29595         (WebCore::GraphicsContext::isInTransparencyLayer):
29596         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
29597         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
29598         (WebCore::GraphicsContext::supportsTransparencyLayers):
29599         * platform/graphics/skia/GraphicsContextSkia.cpp:
29600         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
29601         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
29602         (WebCore::GraphicsContext::supportsTransparencyLayers):
29603         * platform/graphics/win/FontCGWin.cpp:
29604         (WebCore::drawGDIGlyphs):
29605         * platform/graphics/win/GraphicsContextCGWin.cpp:
29606         (WebCore::GraphicsContext::releaseWindowsContext):
29607         * platform/graphics/win/GraphicsContextCairoWin.cpp:
29608         (WebCore::GraphicsContext::releaseWindowsContext):
29609         * platform/graphics/win/GraphicsContextWin.cpp:
29610         (WebCore::GraphicsContext::getWindowsContext):
29611         * platform/graphics/wince/GraphicsContextWinCE.cpp:
29612         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
29613         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
29614         (WebCore::GraphicsContext::supportsTransparencyLayers):
29615         * platform/graphics/wx/GraphicsContextWx.cpp:
29616         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
29617         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
29618         (WebCore::GraphicsContext::supportsTransparencyLayers):
29619         * platform/win/ScrollbarThemeWin.cpp:
29620         * plugins/win/PluginViewWin.cpp:
29621         * rendering/RenderThemeWin.cpp:
29622
29623 2011-09-09  Julien Chaffraix  <jchaffraix@webkit.org>
29624
29625         [V8] V8WebKitPoint::constructorCallback leaks
29626         https://bugs.webkit.org/show_bug.cgi?id=67865
29627
29628         Reviewed by Adam Barth.
29629
29630         Covered by fast/js/instanceof-XMLHttpRequest.html under Valgrind.
29631
29632         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
29633         (WebCore::V8WebKitPoint::constructorCallback): Changed the code
29634         to use a RefPtr (per our usual style). Also use toV8 that will
29635         take care of properly wrapping the object.
29636
29637 2011-09-09  Chris Rogers  <crogers@google.com>
29638
29639         HRTFDatabaseLoader should not call WTF::waitForThreadCompletion() more than once
29640         https://bugs.webkit.org/show_bug.cgi?id=67866
29641
29642         Reviewed by David Levin.
29643
29644         No new tests since this is difficult to test.
29645         This is designed to fix existing webaudio layout test failures.
29646
29647         * platform/audio/HRTFDatabaseLoader.cpp:
29648         (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
29649         (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
29650         (WebCore::HRTFDatabaseLoader::loadAsynchronously):
29651         (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
29652         * platform/audio/HRTFDatabaseLoader.h:
29653
29654 2011-09-09  Jessie Berlin  <jberlin@apple.com>
29655
29656         Cookies are not available after turning off Private Browsing after the last window has been
29657         closed.
29658         https://bugs.webkit.org/show_bug.cgi?id=67874
29659
29660         Reviewed by Darin Adler.
29661
29662         The private browsing storage session is a global setting that is being incorrectly set on a
29663         per-page basis (see http://webkit.org/b/67870).
29664
29665         In this case, the global value was getting out of sync with the per-page setting:
29666         1. The global value was getting set to true when setPrivateBrowsingEnabled(true) was called.
29667         2. All Pages were then closed, destroying their Settings objects.
29668         3. When a new Page was created, a new Settings object was created and its
29669            m_privateBrowsingEnabled value was getting set to false.
29670         4. The WebPage settings were then applied to the new Settings object, resulting in
29671            setPrivateBrowsingEnabled(false) to be called.
29672         5. An if (m_privateBrowsingEnabled == privateBrowsingEnabled) early return prevented the
29673            global value for the storage session from being destroyed.
29674
29675         * page/Settings.cpp:
29676         (WebCore::Settings::setPrivateBrowsingEnabled):
29677         Move the early return to be after setting the global private browsing values, and add a
29678         clearer comment + FIXME.
29679
29680 2011-09-09  Kentaro Hara  <haraken@google.com>
29681
29682         Generate a WebKitCSSMatrix constructor of V8 using the IDL 'Constructor' extended attribute
29683         https://bugs.webkit.org/show_bug.cgi?id=67458
29684
29685         Reviewed by Adam Barth.
29686
29687         Added a 'CallWithNullValue' extended attribute.
29688         If a parameter is optional and missing, 'CallWithDefaultValue'
29689         handles it as a string "undefined". On the other hand,
29690         'CallWithNullValue' handles it as a null string
29691         (Note: not a string "null", but a null string).
29692
29693         Tests: fast/dom/Window/custom-constructors.html
29694                transforms/svg-vs-css.xhtml
29695                transforms/cssmatrix-2d-interface.xhtml
29696                transforms/cssmatrix-3d-interface.xhtmlGenerate a WebKitCSSMatrix constructor
29697
29698         * WebCore.gypi: Removed V8WebKitCSSMatrixConstructor.cpp.
29699         * WebCore.pro: Removed V8WebKitCSSMatrixConstructor.cpp.
29700         * bindings/scripts/CodeGeneratorV8.pm:
29701         (GenerateParametersCheck): If the 'CallWithNullValue' extended attribute is set, we call MAYBE_MISSING_PARAMETER() with MissingIsEmpty mode to obtain a maybe missing parameter. Otherwise, we call MAYBE_MISSING_PARAMETER() with MissingIsUndefined mode.
29702         (RequiresCustomSignature):
29703         * bindings/scripts/test/V8/V8TestInterface.cpp: Updated test results.
29704         (WebCore::V8TestInterface::constructorCallback):
29705         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Ditto.
29706         (WebCore::TestMediaQueryListListenerInternal::methodCallback):
29707         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
29708         (WebCore::TestObjInternal::voidMethodWithArgsCallback):
29709         (WebCore::TestObjInternal::intMethodWithArgsCallback):
29710         (WebCore::TestObjInternal::objMethodWithArgsCallback):
29711         (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
29712         (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
29713         (WebCore::TestObjInternal::optionsObjectCallback):
29714         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
29715         (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
29716         (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
29717         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
29718         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
29719         (WebCore::TestObjInternal::methodWithOptionalArgCallback):
29720         (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
29721         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
29722         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
29723         (WebCore::TestObjInternal::overloadedMethod1Callback):
29724         (WebCore::TestObjInternal::overloadedMethod2Callback):
29725         (WebCore::TestObjInternal::overloadedMethod3Callback):
29726         (WebCore::TestObjInternal::overloadedMethod4Callback):
29727         (WebCore::TestObjInternal::classMethodWithOptionalCallback):
29728         (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
29729         (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
29730         * bindings/v8/V8Binding.h:
29731         (WebCore::V8ParameterBase::prepareBase): The fact that V8ParameterBase does not have any object means that we do not need to prepare anything, i.e. we should just return true in this case.
29732         (WebCore::::prepare): If V8ParameterBase does not have any object, then we set a null string.
29733         * bindings/v8/custom/V8BindingMacros.h: MAYBE_MISSING_PARAMETER() returns the parameter of a given index if the parameter exists. If the parameter does not exist and MissingIsUndefined is set, this macro returns an object that represents undefined. If the parameter does not exist and MissingIsEmpty is set, this macro returns an empty object.
29734         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: Removed.
29735         * css/WebKitCSSMatrix.idl: Added the 'Constructor' extended attribute.
29736
29737 2011-09-09  Geoffrey Garen  <ggaren@apple.com>
29738
29739         Reviewed by Dan Bernstein.
29740
29741         Removed ENABLE(SINGLE_THREADED) support, since it is always false
29742         https://bugs.webkit.org/show_bug.cgi?id=67862
29743
29744         Next step toward making the baseline platform assumption that threads exist.
29745
29746         * WebCore.pri:
29747         * features.pri: 
29748         * platform/sql/SQLiteDatabase.cpp:
29749         (WebCore::SQLiteDatabase::interrupt): Removed now-dead code.
29750
29751 2011-09-09  Fady Samuel  <fsamuel@chromium.org>
29752
29753         Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp}
29754         https://bugs.webkit.org/show_bug.cgi?id=67250
29755
29756         Reviewed by Simon Fraser.
29757
29758         No new tests because there's no change in functionality.
29759
29760         * WebCore.exp.in:
29761         * css/CSSStyleSelector.cpp:
29762         (WebCore::CSSStyleSelector::styleForDocument):
29763         * dom/Element.cpp:
29764         (WebCore::Element::getClientRects):
29765         (WebCore::Element::getBoundingClientRect):
29766         * dom/Range.cpp:
29767         (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
29768         * loader/HistoryController.cpp:
29769         (WebCore::HistoryController::restoreScrollPositionAndViewState):
29770         * page/Frame.cpp:
29771         (WebCore::Frame::Frame):
29772         (WebCore::Frame::pageScaleFactor):
29773         * page/Frame.h:
29774         * page/Page.cpp:
29775         (WebCore::Page::Page):
29776         (WebCore::Page::setPageScaleFactor):
29777         * page/Page.h:
29778         (WebCore::Page::pageScaleFactor):
29779         * rendering/RenderLayerCompositor.cpp:
29780         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
29781         (WebCore::RenderLayerCompositor::pageScaleFactor):
29782         * rendering/RenderView.cpp:
29783         (WebCore::RenderView::paintBoxDecorations):
29784
29785 2011-09-09  Dominic Mazzoni  <dmazzoni@google.com>
29786
29787         AX: Images within anchors causes crash
29788         https://bugs.webkit.org/show_bug.cgi?id=44149
29789
29790         Reviewed by Chris Fleizach.
29791
29792         Fixes the way parent RenderObject of an AccessibilityRenderObject
29793         is computed in the presence of adjacent continuations.
29794
29795         Test: accessibility/div-within-anchors-causes-crash.html
29796
29797         * accessibility/AccessibilityRenderObject.cpp:
29798         (WebCore::AccessibilityRenderObject::renderParentObject):
29799
29800 2011-09-09  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
29801
29802         CSS rules not being applied when a hidden field is inserted between an input[type=checkbox] and a label
29803         https://bugs.webkit.org/show_bug.cgi?id=66887
29804
29805         Reviewed by David Hyatt.
29806
29807         Test: fast/css/adjacent-sibling-selector.html
29808
29809         This patch addresses the problem of elements not getting their style recomputed
29810         when they are affected by direct adjacent sibling rules and one of their sibling in
29811         their corresponding rules is modified dynamically.
29812
29813         * css/CSSStyleSelector.cpp:
29814         (WebCore::CSSStyleSelector::canShareStyleWithElement):
29815         (WebCore::parentStylePreventsSharing):
29816         * css/SelectorChecker.cpp:
29817         (WebCore::SelectorChecker::checkSelector):
29818         * dom/Element.cpp:
29819         (WebCore::Element::recalcStyle):
29820         (WebCore::checkForSiblingStyleChanges):
29821         * rendering/style/RenderStyle.cpp:
29822         (WebCore::RenderStyle::RenderStyle):
29823         * rendering/style/RenderStyle.h:
29824         (WebCore::InheritedFlags::affectedByDirectAdjacentRules):
29825         (WebCore::InheritedFlags::setAffectedByDirectAdjacentRules):
29826
29827 2011-09-09  Rafael Antognolli  <antognolli@profusion.mobi>
29828
29829         Make the EFL port use the correct rendering file.
29830         https://bugs.webkit.org/show_bug.cgi?id=66323
29831
29832         Reviewed by Martin Robinson.
29833
29834         When compiling with Pango support, the EFL port should use
29835         FontPango.cpp instead of FontEfl.cpp (which is just full of stubs).
29836
29837         No new functionality so no new tests.
29838
29839         * CMakeListsEfl.txt:
29840
29841 2011-09-09  Chris Rogers  <crogers@google.com>
29842
29843         AudioBufferSourceNode must validate AudioBuffer in .buffer attribute setter
29844         https://bugs.webkit.org/show_bug.cgi?id=67749
29845
29846         Reviewed by Kenneth Russell.
29847
29848         Test: webaudio/audiobuffersource-channels.html
29849
29850         * WebCore.gypi:
29851         * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
29852         (WebCore::JSAudioBufferSourceNode::setBuffer):
29853         * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp: Copied from Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp.
29854         (WebCore::V8AudioBufferSourceNode::bufferAccessorSetter):
29855         * webaudio/AudioBufferSourceNode.cpp:
29856         (WebCore::AudioBufferSourceNode::setBuffer):
29857         * webaudio/AudioBufferSourceNode.h:
29858         * webaudio/AudioBufferSourceNode.idl:
29859
29860 2011-09-09  Dan Bernstein  <mitz@apple.com>
29861
29862         RenderBlock::addOverhangingFloats() takes superfluous parameters
29863         https://bugs.webkit.org/show_bug.cgi?id=67863
29864
29865         Reviewed by Dave Hyatt.
29866
29867         No new tests, because behavior is unchanged.
29868
29869         * rendering/RenderBlock.cpp:
29870         (WebCore::RenderBlock::layoutBlock):
29871         (WebCore::RenderBlock::layoutBlockChild):
29872         (WebCore::RenderBlock::addOverhangingFloats): Removed the logical{Left, Top}Offset parameters,
29873         since they were always the inverse of the logical{Left, Top}() of the child parameter.
29874         * rendering/RenderBlock.h:
29875
29876 2011-09-09  Rafael Antognolli  <antognolli@profusion.mobi>
29877
29878         Add replacement functions for gdk ones.
29879         https://bugs.webkit.org/show_bug.cgi?id=66323
29880
29881         Reviewed by Martin Robinson.
29882
29883         This will allow the EFL port to don't depend on gdk anymore.
29884
29885         No new functionality so no new tests.
29886
29887         * CMakeListsEfl.txt:
29888         * platform/graphics/cairo/CairoUtilities.cpp:
29889         (WebCore::appendRegionToCairoContext):
29890         * platform/graphics/cairo/CairoUtilities.h:
29891         * platform/graphics/pango/FontPango.cpp:
29892         (WebCore::drawGlyphsShadow):
29893         (WebCore::Font::drawComplexText):
29894         * platform/graphics/pango/PangoUtilities.cpp: Added.
29895         (WebCore::getLineClipRegionFromLayoutIter):
29896         (WebCore::getClipRegionFromPangoLayoutLine):
29897         * platform/graphics/pango/PangoUtilities.h: Added.
29898
29899 2011-09-09  Mark Hahnenberg  <mhahnenberg@apple.com>
29900
29901         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
29902         https://bugs.webkit.org/show_bug.cgi?id=67420
29903
29904         Reviewed by Geoffrey Garen.
29905
29906         No new tests.
29907
29908         Completed the fifth level of the refactoring to add finishCreation() 
29909         methods to all classes within the JSCell hierarchy with non-trivial 
29910         constructor bodies.
29911
29912         This primarily consists of pushing the calls to finishCreation() down 
29913         into the constructors of the subclasses of the second level of the hierarchy 
29914         as well as pulling the finishCreation() calls out into the class's corresponding
29915         create() method if it has one.  Doing both simultaneously allows us to 
29916         maintain the invariant that the finishCreation() method chain is called exactly 
29917         once during the creation of an object, since calling it any other number of 
29918         times (0, 2, or more) will cause an assertion failure.
29919
29920         * WebCore.exp.in:
29921         * bindings/js/JSDOMBinding.h:
29922         (WebCore::DOMConstructorObject::DOMConstructorObject):
29923         * bindings/js/JSDOMGlobalObject.cpp:
29924         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
29925         (WebCore::JSDOMGlobalObject::finishCreation):
29926         * bindings/js/JSDOMGlobalObject.h:
29927         * bindings/js/JSDOMWindowShell.cpp:
29928         * bindings/js/JSDOMWindowShell.h:
29929         (WebCore::JSDOMWindowShell::create):
29930         * bindings/js/JSDOMWrapper.h:
29931         (WebCore::JSDOMWrapper::JSDOMWrapper):
29932         * bindings/scripts/CodeGeneratorJS.pm:
29933         (GenerateImplementation):
29934         * bindings/scripts/test/JS/JSTestInterface.cpp:
29935         (WebCore::JSTestInterface::JSTestInterface):
29936         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
29937         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
29938         * bindings/scripts/test/JS/JSTestObj.cpp:
29939         (WebCore::JSTestObj::JSTestObj):
29940         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
29941         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
29942         * bridge/c/CRuntimeObject.cpp:
29943         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
29944         (JSC::Bindings::CRuntimeObject::finishCreation):
29945         * bridge/c/CRuntimeObject.h:
29946         * bridge/jni/jsc/JavaRuntimeObject.cpp:
29947         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
29948         (JSC::Bindings::JavaRuntimeObject::finishCreation):
29949         * bridge/jni/jsc/JavaRuntimeObject.h:
29950         * bridge/objc/ObjCRuntimeObject.h:
29951         * bridge/objc/ObjCRuntimeObject.mm:
29952         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
29953         (JSC::Bindings::ObjCRuntimeObject::finishCreation):
29954         * bridge/objc/objc_runtime.h:
29955         (JSC::Bindings::ObjcFallbackObjectImp::create):
29956         * bridge/objc/objc_runtime.mm:
29957         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
29958         * bridge/qt/qt_instance.cpp:
29959         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
29960         * bridge/qt/qt_pixmapruntime.cpp:
29961         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
29962         * bridge/qt/qt_runtime.cpp:
29963         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
29964         (JSC::Bindings::QtRuntimeMethod::finishCreation):
29965         * bridge/qt/qt_runtime.h:
29966         * bridge/runtime_array.cpp:
29967         (JSC::RuntimeArray::RuntimeArray):
29968         * bridge/runtime_array.h:
29969         (JSC::RuntimeArray::create):
29970         * bridge/runtime_method.cpp:
29971         (JSC::RuntimeMethod::RuntimeMethod):
29972         (JSC::RuntimeMethod::finishCreation):
29973         * bridge/runtime_method.h:
29974         * bridge/runtime_object.cpp:
29975         (JSC::Bindings::RuntimeObject::RuntimeObject):
29976         * bridge/runtime_object.h:
29977         (JSC::Bindings::RuntimeObject::create):
29978
29979 2011-09-09  Rafael Antognolli  <antognolli@profusion.mobi>
29980
29981         Rename FontGtk.cpp to FontPango.cpp
29982         https://bugs.webkit.org/show_bug.cgi?id=66323
29983
29984         Reviewed by Martin Robinson.
29985
29986         This file will be used by the EFL port too, and since it's not GTK
29987         specific anymore, rename it to something better.
29988
29989         No new functionality so no new tests.
29990
29991         * GNUmakefile.list.am:
29992         * platform/graphics/pango/FontPango.cpp: Renamed from Source/WebCore/platform/graphics/gtk/FontGtk.cpp.
29993
29994 2011-09-09  Adam Klein  <adamk@chromium.org>
29995
29996         Initialize ExceptionCode in Element::removeAttribute
29997         https://bugs.webkit.org/show_bug.cgi?id=67820
29998
29999         Reviewed by Darin Adler.
30000
30001         Silences valgrind warning reported in http://crbug.com/76490.
30002
30003         No new tests since this would only very occasionally be flaky,
30004         and in the codepath in the valgrind report, the ec is ignored anyway.
30005
30006         * dom/Element.cpp:
30007         (WebCore::Element::removeAttribute): Initialize ec to 0.
30008
30009 2011-09-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
30010
30011         [Qt] Remove common.pri
30012         https://bugs.webkit.org/show_bug.cgi?id=67814
30013
30014         Reviewed by Andreas Kling.
30015
30016         No new tests, no change in functionality.
30017
30018         * CodeGenerators.pri:
30019         * WebCore.pri:
30020
30021 2011-09-09  Dominic Mazzoni  <dmazzoni@google.com>
30022
30023         Assert being hit in AccessibilityRenderObject::addChildren()
30024         https://bugs.webkit.org/show_bug.cgi?id=61805
30025
30026         Reviewed by Chris Fleizach.
30027
30028         Fix nextSibling and previousSibling to handle adjacent continuations
30029         properly, otherwise nodes end up appearing in the accessibility
30030         tree twice (or a debug assertion could be raised).
30031
30032         Test: accessibility/adjacent-continuations-cause-assertion-failure.html
30033
30034         * accessibility/AccessibilityRenderObject.cpp:
30035         (WebCore::AccessibilityRenderObject::previousSibling):
30036         (WebCore::AccessibilityRenderObject::nextSibling):
30037
30038 2011-09-08  Kentaro Hara  <haraken@google.com>
30039
30040         Implement a WebKitAnimationEvent constructor.
30041         https://bugs.webkit.org/show_bug.cgi?id=67825
30042
30043         Reviewed by Sam Weinig.
30044
30045         There is no spec for the WebKitAnimationEvent constructor
30046         since it is WebKit-specific. However, based on the current
30047         IDL of initWebKitAnimationEvent(), the constructor IDL
30048         should be as follows.
30049
30050         [Constructor(DOMString type, optional WebKitAnimationEventInit eventInitDict)]
30051         interface WebKitAnimationEvent : Event {
30052             ...;
30053         }
30054
30055         dictionary WebKitAnimationEventInit : EventInit {
30056             DOMString animationName;
30057             double elapsedTime;
30058         }
30059
30060         Test: fast/events/constructors/webkit-animation-event-constructor.html
30061
30062         * bindings/generic/EventConstructors.h: Added a definition for the WebKitAnimationEvent constructor.
30063         * bindings/js/JSEventConstructors.cpp: Added #includes for WebKitAnimationEvent.
30064         * dom/WebKitAnimationEvent.cpp:
30065         (WebCore::WebKitAnimationEventInit::WebKitAnimationEventInit):
30066         (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
30067         * dom/WebKitAnimationEvent.h: Added a definition for WebKitAnimationEventInit.
30068         (WebCore::WebKitAnimationEvent::create):
30069         * dom/WebKitAnimationEvent.idl: Makes WebKitAnimationEvent constructible.
30070
30071 2011-09-08  Abhishek Arya  <inferno@chromium.org>
30072
30073         :before content rendering issues with list markers and run-ins.
30074         https://bugs.webkit.org/show_bug.cgi?id=67735
30075
30076         1) Remove the isAnonymous checks for run-in detection since the
30077         run-in can belong to a node.
30078         2) When the parent has block children, then the list marker will
30079         be enclosed in an anonymous block. In that case, for going to the
30080         next list marker, we need to traverse one level up. We don't need
30081         this check when searching for generated run-in (loop 2), since we
30082         know parent will have inline children, so the list marker wont be
30083         enclosed in an anonymous block.
30084
30085         Reviewed by Dave Hyatt.
30086
30087         Tests: fast/lists/list-marker-before-content-table.html
30088                fast/runin/runin-generated-before-content.html
30089
30090         * rendering/RenderObjectChildList.cpp:
30091         (WebCore::RenderObjectChildList::beforePseudoElementRenderer):
30092
30093 2011-09-09  Pavel Podivilov  <podivilov@chromium.org>
30094
30095         Web Inspector: introduce JavaScriptSourceFrame class.
30096         https://bugs.webkit.org/show_bug.cgi?id=67838
30097
30098         SourceFrame should not deal with JavaScript debugging since it is a base class for all source frame implementations.
30099
30100         Reviewed by Pavel Feldman.
30101
30102         * WebCore.gypi:
30103         * WebCore.vcproj/WebCore.vcproj:
30104         * inspector/front-end/JavaScriptSourceFrame.js: Added.
30105         (WebInspector.JavaScriptSourceFrame):
30106         (WebInspector.SourceFrameDelegateForScriptsPanel): moved from ScriptsPanel.js
30107         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
30108         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.debuggingSupported):
30109         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint):
30110         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint):
30111         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint):
30112         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint):
30113         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine):
30114         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.canEditScriptSource):
30115         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSource):
30116         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSourceIsBeingEdited):
30117         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.debuggerPaused):
30118         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame):
30119         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult):
30120         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
30121         * inspector/front-end/ScriptsPanel.js:
30122         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
30123         * inspector/front-end/WebKit.qrc:
30124         * inspector/front-end/inspector.html:
30125
30126 2011-09-09  Sheriff Bot  <webkit.review.bot@gmail.com>
30127
30128         Unreviewed, rolling out r94845.
30129         http://trac.webkit.org/changeset/94845
30130         https://bugs.webkit.org/show_bug.cgi?id=67839
30131
30132         This patch kicked Qt-SL bots, but we don't need this
30133         modification. (Requested by ossy_ on #webkit).
30134
30135         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
30136         * platform/mac/WebVideoFullscreenController.mm:
30137         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
30138
30139 2011-09-09  Csaba Osztrogonác  <ossy@webkit.org>
30140
30141         [Qt][Mac]REGRESSION(r94774): Build is broken
30142         https://bugs.webkit.org/show_bug.cgi?id=67799
30143
30144         It seems these files didn't rebuilt because of a
30145         dependency bug. Touch them to trigger a rebuild.
30146
30147         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
30148         * platform/mac/WebVideoFullscreenController.mm:
30149         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
30150
30151 2011-09-09  Alexander Pavlov  <apavlov@chromium.org>
30152
30153         Unreviewed, Chromium valgrind build fix.
30154
30155         Web Inspector: [Chromium] Valgrind signals use of uninitialized field in InspectorStyleSheetForInlineStyle
30156         https://bugs.webkit.org/show_bug.cgi?id=67837
30157
30158         * inspector/InspectorStyleSheet.cpp:
30159         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
30160
30161 2011-09-09  Sheriff Bot  <webkit.review.bot@gmail.com>
30162
30163         Unreviewed, rolling out r94536.
30164         http://trac.webkit.org/changeset/94536
30165         https://bugs.webkit.org/show_bug.cgi?id=67836
30166
30167         breaks absoluteLocation() of RelatedMouseEvent (Requested by
30168         jknotten on #webkit).
30169
30170         * dom/MouseRelatedEvent.cpp:
30171         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
30172
30173 2011-09-08  Alexander Pavlov  <apavlov@chromium.org>
30174
30175         Web Inspector: live edit both for JS and CSS is not discoverable.
30176         https://bugs.webkit.org/show_bug.cgi?id=65962
30177
30178         Add the "Edit" button to SourceFrame, so that resources/scripts can be edited both in the
30179         Resources and the Scripts panels. The button is grayed out if the resource/script is not editable.
30180
30181         Reviewed by Yury Semikhatsky.
30182
30183         * inspector/front-end/Images/statusbarButtonGlyphs.png:
30184         * inspector/front-end/ResourceView.js:
30185         (WebInspector.EditableResourceSourceFrame.prototype.canEditSource):
30186         * inspector/front-end/ScriptsPanel.js:
30187         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
30188         (WebInspector.ScriptsPanel.prototype.set visibleView):
30189         * inspector/front-end/SourceFrame.js:
30190         (WebInspector.SourceFrame):
30191         (WebInspector.SourceFrame.prototype.get statusBarItems):
30192         (WebInspector.SourceFrame.prototype._initializeTextViewer):
30193         (WebInspector.SourceFrame.prototype._editButtonClicked):
30194         (WebInspector.SourceFrame.prototype.canEditSource):
30195         (WebInspector.SourceFrame.prototype.startEditing):
30196         (WebInspector.SourceFrame.prototype.commitEditing):
30197         (WebInspector.SourceFrame.prototype._setReadOnly):
30198         (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
30199         * inspector/front-end/TextViewer.js:
30200         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
30201         (WebInspector.TextEditorMainPanel.prototype._updateSelectionOnStartEditing):
30202         * inspector/front-end/inspector.css:
30203         (button.edit-source-status-bar-item .glyph):
30204         (button.edit-source-status-bar-item.toggled-on .glyph):
30205
30206 2011-09-09  Shinya Kawanaka  <shinyak@google.com>
30207
30208         Crashes in WebCore::AppendNodeCommand::create().
30209         https://bugs.webkit.org/show_bug.cgi?id=67767
30210
30211         Reviewed by Darin Adler.
30212
30213         In CompositeEditCommand::closeParagraphUnderNewElement(), lastNode could be a non Element node.
30214         The current code assumes lastNode is an Element node. This patch checks it.
30215
30216         Test: editing/execCommand/ident-crashes-topnode-is-text.html
30217
30218         * editing/CompositeEditCommand.cpp:
30219         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): Added an element node check.
30220
30221 2011-09-09  Shinya Kawanaka  <shinyak@google.com>
30222
30223         Crashes in WebCore::ApplyStyleCommand.doApply()
30224         https://bugs.webkit.org/show_bug.cgi?id=67765
30225
30226         Reviewed by Ryosuke Niwa.
30227
30228         WebCore::enclosingBlock may return null, but ApplyStyleCommand::applyBlockStyle did not check it. This patch make it to be checked.
30229
30230         Test: editing/style/remove-format-without-enclosing-block.html
30231
30232         * editing/ApplyStyleCommand.cpp:
30233         (WebCore::ApplyStyleCommand::applyBlockStyle): Added null check.
30234
30235 2011-09-09  James Simonsen  <simonjam@chromium.org>
30236
30237         [Chromium] Fix leak of Skia stream with custom CSS fonts
30238         https://bugs.webkit.org/show_bug.cgi?id=67815
30239
30240         Reviewed by Adam Barth.
30241
30242         Test: fast/css/font-face-opentype.html under valgrind
30243
30244         * platform/graphics/mac/FontCustomPlatformData.cpp:
30245         (WebCore::createFontCustomPlatformData):
30246         * platform/graphics/skia/FontCustomPlatformData.cpp:
30247         (WebCore::createFontCustomPlatformData):
30248
30249 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
30250
30251         Push more code from HTMLInputElement::setValue to TextFieldInputType::setValue
30252         https://bugs.webkit.org/show_bug.cgi?id=67742
30253
30254         Reviewed by Darin Adler.
30255
30256         Moved more code in HTMLInputElement::setValue to TextFieldInputType::setValue, and merged
30257         InputType::valueChanged into InputType::setValue. Also introduced
30258         InputType::dispatchChangeEventInResponseToSetValue to be overridden by TextFieldInputType.
30259
30260         * html/BaseButtonInputType.cpp:
30261         (WebCore::BaseButtonInputType::setValue):
30262         * html/BaseButtonInputType.h:
30263         * html/BaseCheckableInputType.cpp:
30264         (WebCore::BaseCheckableInputType::setValue):
30265         * html/BaseCheckableInputType.h:
30266         * html/ColorInputType.cpp:
30267         * html/ColorInputType.h:
30268         * html/FileInputType.cpp:
30269         (WebCore::FileInputType::setValue):
30270         * html/FileInputType.h:
30271         * html/HTMLInputElement.cpp:
30272         (WebCore::HTMLInputElement::setValue):
30273         * html/HTMLInputElement.h:
30274         (WebCore::HTMLInputElement::cacheSelectionInResponseToSetValue):
30275         * html/HiddenInputType.cpp:
30276         (WebCore::HiddenInputType::setValue):
30277         * html/HiddenInputType.h:
30278         * html/InputType.cpp:
30279         (WebCore::InputType::setValue):
30280         (WebCore::InputType::dispatchChangeEventInResponseToSetValue):
30281         * html/InputType.h:
30282         * html/RangeInputType.cpp:
30283         (WebCore::RangeInputType::setValue):
30284         * html/RangeInputType.h:
30285         * html/TextFieldInputType.cpp:
30286         (WebCore::TextFieldInputType::setValue):
30287         (WebCore::TextFieldInputType::dispatchChangeEventInResponseToSetValue):
30288         * html/TextFieldInputType.h:
30289
30290 2011-09-08  Annie Sullivan  <sullivan@chromium.org>
30291
30292         Crashes in WebCore::InsertNodeBeforeCommand constructor.
30293         https://bugs.webkit.org/show_bug.cgi?id=67763
30294
30295         Reviewed by Ryosuke Niwa.
30296
30297         Changes editableRootForPosition() to use the position's containerNode instead of deprecatedNode so that
30298         positions which are before or after a given node cannot return that node as the editable root.
30299
30300         Test: editing/inserting/insert-paragraph-selection-outside-contenteditable.html
30301
30302         * editing/htmlediting.cpp:
30303         (WebCore::editableRootForPosition): use containerNode instead of deprecatedNode.
30304
30305 2011-09-08  James Weatherall  <wez@chromium.org>
30306
30307         Release the reference to the HTMLPlugInElement's script object, when the element is removed from the document.  This breaks a cyclical reference that would otherwise cause the element to be retained until the document is torn down.
30308         https://bugs.webkit.org/show_bug.cgi?id=66181
30309
30310         Reviewed by Anders Carlsson.
30311
30312         No new tests - no functional change.
30313
30314         * html/HTMLPlugInElement.cpp:
30315         (WebCore::HTMLPlugInElement::removedFromDocument):
30316         * html/HTMLPlugInElement.h:
30317
30318 2011-09-08  Daniel Bates  <dbates@webkit.org>
30319
30320         XSS filter bypass via non-standard URL encoding
30321         https://bugs.webkit.org/show_bug.cgi?id=66588
30322
30323         Reviewed by Adam Barth.
30324
30325         Tests: http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html
30326                http/tests/security/xssAuditor/script-tag-with-16bit-unicode.html
30327                http/tests/security/xssAuditor/script-tag-with-16bit-unicode2.html
30328                http/tests/security/xssAuditor/script-tag-with-16bit-unicode3.html
30329                http/tests/security/xssAuditor/script-tag-with-16bit-unicode4.html
30330                http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html
30331                http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html
30332                http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html
30333
30334         Implement support for decoding non-standard 16-bit Unicode escape sequences of
30335         the form %u26C4 as described in <http://www.w3.org/International/iri-edit/draft-duerst-iri.html#anchor29>.
30336
30337         See also <http://en.wikipedia.org/wiki/Percent-encoding#Non-standard_implementations>.
30338
30339         * GNUmakefile.list.am: Added DecodeEscapeSequences.h.
30340         * WebCore.gypi: Ditto.
30341         * WebCore.pro: Ditto.
30342         * WebCore.vcproj/WebCore.vcproj: Ditto.
30343         * WebCore.xcodeproj/project.pbxproj: Ditto.
30344         * html/parser/XSSAuditor.cpp:
30345         (WebCore::decode16BitUnicodeEscapeSequences): Added.
30346         (WebCore::decodeStandardURLEscapeSequences): Added.
30347         (WebCore::fullyDecodeString): Modified to call decode16BitUnicodeEscapeSequences().
30348         (WebCore::XSSAuditor::init): Modified to return early when the URL of the document
30349         is the empty string. This can happen when opening a new browser window or calling
30350         window.open("").
30351         * platform/KURL.cpp:
30352         (WebCore::decodeURLEscapeSequences): Abstracted code into template-function decodeEscapeSequences().
30353         This function just calls decodeEscapeSequences<URLEscapeSequence>().
30354         * platform/text/DecodeEscapeSequences.h: Added.
30355         (WebCore::Unicode16BitEscapeSequence::findInString):
30356         (WebCore::Unicode16BitEscapeSequence::matchStringPrefix):
30357         (WebCore::Unicode16BitEscapeSequence::decodeRun):
30358         (WebCore::URLEscapeSequence::findInString):
30359         (WebCore::URLEscapeSequence::matchStringPrefix):
30360         (WebCore::URLEscapeSequence::decodeRun):
30361         (WebCore::decodeEscapeSequences):
30362
30363 2011-09-08  Adam Barth  <abarth@webkit.org>
30364
30365         DocumentWriter::deprecatedFrameEncoding doesn't need to refert to Settings
30366         https://bugs.webkit.org/show_bug.cgi?id=67812
30367
30368         Reviewed by Eric Seidel.
30369
30370         The one caller of this function does this work already.
30371
30372         * loader/DocumentWriter.cpp:
30373         (WebCore::DocumentWriter::deprecatedFrameEncoding):
30374
30375 2011-09-08  Adam Klein  <adamk@chromium.org>
30376
30377         Always zero-out m_sortedTextBoxesPosition to avoid uninitialized read in TextIterator
30378         https://bugs.webkit.org/show_bug.cgi?id=67810
30379
30380         Reviewed by Tony Chang.
30381
30382         Reported as a valgrind failure in http://crbug.com/84777.
30383
30384         No possible change in behavior, so no tests. The unitialized read
30385         could never have an impact:
30386
30387            if (m_sortedTextBoxesPosition + 1 < m_sortedTextBoxes.size()) ...
30388
30389         Since m_sortedTextBoxes.size() will be zero here if
30390         m_sortedTextBoxesPosition is uninitialized, and they're both unsigned,
30391         so no possible value of m_sortedTextBoxesPosition could be < 0.
30392
30393         * editing/TextIterator.cpp:
30394         (WebCore::TextIterator::TextIterator):
30395
30396 2011-09-08  Tony Chang  <tony@chromium.org>
30397
30398         Cleanup of switch statements with default cases
30399         https://bugs.webkit.org/show_bug.cgi?id=67808
30400
30401         Reviewed by Adam Barth.
30402
30403         No new tests, just a small refactoring.
30404
30405         * page/WebKitAnimation.cpp:
30406         (WebCore::WebKitAnimation::fillMode):
30407         * platform/audio/Distance.cpp:
30408         (WebCore::DistanceEffect::gain):
30409
30410 2011-09-08  Eric Seidel  <eric@webkit.org>
30411
30412         [BiDi] Add support for the BDI element
30413         https://bugs.webkit.org/show_bug.cgi?id=50913
30414
30415         Reviewed by Ryosuke Niwa.
30416
30417         This patch is ridiculously trivial now that we have unicode-bidi: isolate support in WebKit.
30418
30419         Test: css3/bdi-element.html
30420
30421         * css/html.css:
30422         (bdi):
30423
30424 2011-09-08  David Levin  <levin@chromium.org>
30425
30426         [chromium] KURL::copy doesn't produce something usable on another thread.
30427         https://bugs.webkit.org/show_bug.cgi?id=67809
30428
30429         Reviewed by Adam Barth.
30430
30431         No new functionality exposed so no new test. This was caught by testing code: the thread
30432         sanitizer run in Chromium (http://code.google.com/p/chromium/issues/detail?id=93708).
30433
30434         * platform/KURLGoogle.cpp:
30435         (WebCore::KURLGooglePrivate::copyTo): Clear out the invalid String so that it will
30436         not be used on another thread.
30437
30438 2011-09-08  Alexey Proskuryakov  <ap@apple.com>
30439
30440         REGRESSION (r66874): Missing RefPtr in ScriptController
30441         https://bugs.webkit.org/show_bug.cgi?id=67748
30442
30443         Reviewed by Adam Barth.
30444
30445         * bindings/ScriptControllerBase.cpp: (WebCore::ScriptController::executeScript):
30446
30447 2011-09-08  Adam Barth  <abarth@webkit.org>
30448
30449         Second attempt to fix Chromium build.
30450
30451         * dom/Document.h:
30452
30453 2011-09-08  Oliver Hunt  <oliver@apple.com>
30454
30455         Use bump allocator for initial property storage
30456         https://bugs.webkit.org/show_bug.cgi?id=67494
30457
30458         Reviewed by Geoffrey Garen.
30459
30460         Add a forwarding header.
30461
30462         * ForwardingHeaders/runtime/StorageBarrier.h: Added.
30463
30464 2011-09-08  Roland Steiner  <rolandsteiner@chromium.org>
30465
30466         Unreviewed, rolling out r94809.
30467         http://trac.webkit.org/changeset/94809
30468         https://bugs.webkit.org/show_bug.cgi?id=67718
30469
30470         commit _still_ premature, despite CQ eagerness
30471
30472         * html/HTMLAttributeNames.in:
30473         * html/HTMLStyleElement.cpp:
30474         * html/HTMLStyleElement.h:
30475         * html/HTMLStyleElement.idl:
30476
30477 2011-09-08  Sam Weinig  <sam@webkit.org>
30478
30479         Remove the Completion object from JSC, I have never liked it
30480         https://bugs.webkit.org/show_bug.cgi?id=67755
30481
30482         Reviewed by Gavin Barraclough.
30483
30484         * bindings/js/JSDOMBinding.cpp:
30485         (WebCore::reportException):
30486         * bindings/js/JSEventListener.cpp:
30487         (WebCore::JSEventListener::handleEvent):
30488         * bindings/js/JSInjectedScriptManager.cpp:
30489         (WebCore::InjectedScriptManager::createInjectedScript):
30490         * bindings/js/JSMainThreadExecState.h:
30491         (WebCore::JSMainThreadExecState::evaluate):
30492         * bindings/js/ScriptController.cpp:
30493         (WebCore::ScriptController::evaluateInWorld):
30494         * bindings/js/WorkerScriptController.cpp:
30495         (WebCore::WorkerScriptController::evaluate):
30496         * bindings/objc/WebScriptObject.mm:
30497         (-[WebScriptObject evaluateWebScript:]):
30498         * bridge/NP_jsobject.cpp:
30499         (_NPN_Evaluate):
30500         * bridge/jni/jni_jsobject.mm:
30501         (JavaJSObject::eval):
30502
30503 2011-09-08  Adam Barth  <abarth@webkit.org>
30504
30505         Inline DocumentWriter::encoding() into it's only caller: deprecatedFrameEncoding()
30506         https://bugs.webkit.org/show_bug.cgi?id=67807
30507
30508         Reviewed by Eric Seidel.
30509
30510         This function is super nutty.  We don't want any more folks to call it
30511         thinking that it does something sane.
30512
30513         * loader/DocumentWriter.cpp:
30514         (WebCore::DocumentWriter::deprecatedFrameEncoding):
30515         * loader/DocumentWriter.h:
30516
30517 2011-09-08  Roland Steiner  <rolandsteiner@chromium.org>
30518
30519         <style scoped>: Add 'scoped' attribute
30520         https://bugs.webkit.org/show_bug.cgi?id=67718
30521
30522         Add 'scoped' attribute to IDL and attribute list,
30523         implement and test setting/resetting of the attribute.
30524
30525         Reviewed by Dimitri Glazkov.
30526
30527         Test: fast/css/style-scoped/basic-attribute.html
30528
30529         * html/HTMLAttributeNames.in:
30530         * html/HTMLStyleElement.cpp:
30531         (WebCore::HTMLStyleElement::scoped):
30532         (WebCore::HTMLStyleElement::setScoped):
30533         (WebCore::HTMLStyleElement::scopingElement):
30534         * html/HTMLStyleElement.h:
30535         * html/HTMLStyleElement.idl:
30536
30537 2011-09-08  Sheriff Bot  <webkit.review.bot@gmail.com>
30538
30539         Unreviewed, rolling out r94781.
30540         http://trac.webkit.org/changeset/94781
30541         https://bugs.webkit.org/show_bug.cgi?id=67806
30542
30543         Broke Objective-C binding on Mac (Requested by rniwa on
30544         #webkit).
30545
30546         * dom/Element.idl:
30547         * dom/Node.cpp:
30548         (WebCore::Node::contains):
30549         * dom/Node.idl:
30550         * editing/DeleteSelectionCommand.cpp:
30551         (WebCore::DeleteSelectionCommand::mergeParagraphs):
30552
30553 2011-09-08  Eric Seidel  <eric@webkit.org>
30554
30555         Remove DocumentWriter::setDecoder as a grep of WebKit shows no callers
30556         https://bugs.webkit.org/show_bug.cgi?id=67803
30557
30558         Reviewed by Adam Barth.
30559
30560         Smells like dead code.
30561
30562         * loader/DocumentWriter.cpp:
30563         * loader/DocumentWriter.h:
30564
30565 2011-09-08  Shinya Kawanaka  <shinyak@google.com>
30566
30567         Crashes in WebCore::ReplaceSelectionCommand::doApply
30568         https://bugs.webkit.org/show_bug.cgi?id=67762
30569
30570         Reviewed by Ryosuke Niwa.
30571
30572         WebCore::enclosingBlock may return null, but its return value was not checked. This patch checks it.
30573
30574         Tests: editing/inserting/insert-without-enclosing-block.html
30575
30576         * editing/ReplaceSelectionCommand.cpp:
30577         (WebCore::ReplaceSelectionCommand::doApply): Added null check.
30578
30579 2011-09-08  Sheriff Bot  <webkit.review.bot@gmail.com>
30580
30581         Unreviewed, rolling out r94784.
30582         http://trac.webkit.org/changeset/94784
30583         https://bugs.webkit.org/show_bug.cgi?id=67796
30584
30585         Commit was premature (Requested by rolandsteiner on #webkit).
30586
30587         * html/HTMLAttributeNames.in:
30588         * html/HTMLStyleElement.cpp:
30589         * html/HTMLStyleElement.h:
30590         * html/HTMLStyleElement.idl:
30591
30592 2011-09-08  W. James MacLean  <wjmaclean@chromium.org>
30593
30594         [chromium] Add backend compositor support for rescaling (zooming) textures during zoom animation.
30595         https://bugs.webkit.org/show_bug.cgi?id=66472
30596
30597         This patch contains plumbing from Internals to WebViewImpl that can be removed
30598         at a later time when the zoom animator code is complete.
30599
30600         Reviewed by James Robinson.
30601
30602         Test: platform/chromium/compositing/zoom-animator-scale-test.html
30603
30604         * page/Settings.cpp:
30605         (WebCore::Settings::Settings):
30606         * page/Settings.h:
30607         (WebCore::Settings::setZoomAnimatorScale):
30608         (WebCore::Settings::zoomAnimatorScale):
30609         * platform/graphics/chromium/LayerRendererChromium.cpp:
30610         (WebCore::LayerRendererChromium::LayerRendererChromium):
30611         (WebCore::LayerRendererChromium::drawLayersInternal):
30612         * platform/graphics/chromium/LayerRendererChromium.h:
30613         (WebCore::LayerRendererChromium::setZoomAnimatorScale):
30614         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
30615         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
30616         (WebCore::CCLayerTreeHost::commitTo):
30617         (WebCore::CCLayerTreeHost::setZoomAnimatorScale):
30618         (WebCore::CCLayerTreeHost::updateLayers):
30619         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
30620         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
30621         (WebCore::CCLayerTreeHostImpl::setZoomAnimatorScale):
30622         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
30623         * testing/Internals.cpp:
30624         (WebCore::Internals::setZoomAnimatorScale):
30625         * testing/Internals.h:
30626         * testing/Internals.idl:
30627
30628 2011-09-08  Eric Carlson  <eric.carlson@apple.com>
30629
30630         HTMLMediaElement is missing initialTime attribute
30631         https://bugs.webkit.org/show_bug.cgi?id=67791
30632
30633         Reviewed by Darin Adler.
30634
30635         Test: media/media-initialTime.html
30636
30637         * html/HTMLMediaElement.cpp:
30638         (WebCore::HTMLMediaElement::initialTime):
30639         * html/HTMLMediaElement.h:
30640         * html/HTMLMediaElement.idl:
30641         * platform/graphics/MediaPlayer.cpp:
30642         (WebCore::MediaPlayer::initialTime):
30643         * platform/graphics/MediaPlayer.h:
30644         * platform/graphics/MediaPlayerPrivate.h:
30645         (WebCore::MediaPlayerPrivateInterface::initialTime):
30646
30647 2011-09-03  Robert Hogan  <robert@webkit.org>
30648
30649         Elements with position:absolute don't move to correct position after images load
30650         https://bugs.webkit.org/show_bug.cgi?id=54611
30651
30652         Reviewed by Simon Fraser.
30653
30654         Test: fast/block/positioning/absolute-layout-after-image-load.html
30655
30656         In the test the 'label' block is an absolutely positioned child of an inline flow. So during layout, 
30657         this RenderBlock::layoutPositionedObjects fails to dirty it for rendering because it requires 
30658         the parent to be a BlockFlow. The code to do this was introduced in http://trac.webkit.org/changeset/8284. 
30659         There doesn't seem to be a good reason for requiring a BlockFlow, so remove the check. 
30660
30661         Note: Although the issue is encountered only on first load without a fragment identifier, it 
30662         happens reliably when you include the fragment identifier in the url (#Footnote_1). This is so 
30663         because scrolling to the fragment always happens before the image has loaded, rendering the page 
30664         and clearing the initial dirty bits in the positioned element's renderer. When the image finally 
30665         loads in this scenario, the positioned element is otherwise clean and relies on the above code to get 
30666         re-rendered.
30667
30668         Note: This was originally landed in r94755 but positioned-float-layout-after-image-load.html exposed
30669               an ASSERT bug, unrelated to this change, and was rolled out. That issue is tracked separately
30670               in bug 67759.
30671
30672         * rendering/RenderBlock.cpp:
30673         (WebCore::RenderBlock::layoutPositionedObjects): remove the check for r->parent()->isBlockFlow() when 
30674                                                          deciding whether to mark children for layout
30675
30676 2011-09-08  Roland Steiner  <rolandsteiner@chromium.org>
30677
30678         <style scoped>: Add 'scoped' attribute
30679         https://bugs.webkit.org/show_bug.cgi?id=67718
30680
30681         Add 'scoped' attribute to IDL and attribute list,
30682         implement and test setting/resetting of the attribute.
30683
30684         Reviewed by Dimitri Glazkov.
30685
30686         Test: fast/css/style-scoped/basic-attribute.html
30687
30688         * html/HTMLAttributeNames.in:
30689         * html/HTMLStyleElement.cpp:
30690         (WebCore::HTMLStyleElement::scoped):
30691         (WebCore::HTMLStyleElement::setScoped):
30692         (WebCore::HTMLStyleElement::scopingElement):
30693         * html/HTMLStyleElement.h:
30694         * html/HTMLStyleElement.idl:
30695
30696 2011-09-08  Erik Arvidsson  <arv@chromium.org>
30697
30698         Move Element.contains to Node
30699         https://bugs.webkit.org/show_bug.cgi?id=67651
30700
30701         Reviewed by Darin Adler.
30702
30703         This moves the contains method from Element to Node as in the DOM4 working draft: 
30704         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-contains
30705
30706         This also special cases Document contains to make it O(1) instead of O(depth).
30707
30708         Tests: fast/dom/Node/contains-method.html
30709                perf/document-contains.html
30710
30711         * dom/Element.idl:
30712         * dom/Node.cpp:
30713         (WebCore::Node::contains): Added document special case.
30714         * dom/Node.idl:
30715         * editing/DeleteSelectionCommand.cpp:
30716         (WebCore::DeleteSelectionCommand::mergeParagraphs): Added a null check.
30717
30718 2011-09-08  Chris Rogers  <crogers@google.com>
30719
30720         Check AudioContext createChannelMerger() for thread safety
30721         https://bugs.webkit.org/show_bug.cgi?id=67247
30722
30723         Reviewed by Kenneth Russell.
30724
30725         Test: webaudio/audiochannelmerger-stereo.html
30726
30727         * webaudio/AudioChannelMerger.cpp:
30728         (WebCore::AudioChannelMerger::process):
30729         (WebCore::AudioChannelMerger::checkNumberOfChannelsForInput):
30730         * webaudio/AudioChannelMerger.h:
30731
30732 2011-09-08  Ned Holbrook  <nholbrook@apple.com>
30733
30734         Refactor hyphen measurement
30735         https://bugs.webkit.org/show_bug.cgi?id=67728
30736
30737         Reviewed by Darin Adler.
30738
30739         No new tests, purely refactoring.
30740
30741         * rendering/RenderBlockLineLayout.cpp:
30742         (WebCore::measureHyphenWidth): Added.
30743         (WebCore::setLogicalWidthForTextRun): Use measureHyphenWidth().
30744         (WebCore::tryHyphenating): Ditto.
30745         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Ditto.
30746
30747 2011-09-08  Julien Chaffraix  <jchaffraix@webkit.org>
30748
30749         Remove LayoutStateDisabler instances from RenderLayer
30750         https://bugs.webkit.org/show_bug.cgi?id=66896
30751
30752         Reviewed by Simon Fraser.
30753
30754         As part of r93614, scrollTo does not call updateLayerPositions anymore.
30755         This means that we don't need to disable LayoutState from the scrolling code
30756         in RenderLayer.
30757
30758         This change is covered by the existing tests.
30759
30760         * rendering/RenderLayer.cpp:
30761         (WebCore::RenderLayer::updateLayerPositions): Updated the comment
30762         that was not accurate anymore. Also explained what is wrong with
30763         LayoutState vs RenderLayer now. Note that the ASSERT is still
30764         valid and will not trigger as the remaining calls to updateLayerPositions
30765         are done *outside* layout() where LayoutState is not set (thus disabled).
30766
30767         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed
30768         2 LayoutStateDisabler surrounding scrollToOffset.
30769
30770 2011-09-08  Julien Chaffraix  <jchaffraix@webkit.org>
30771
30772         Factor out the code to get the first non-null RenderTableSection in RenderTable
30773         https://bugs.webkit.org/show_bug.cgi?id=66972
30774
30775         Reviewed by Darin Adler.
30776
30777         Refactoring only, covered by existing tests.
30778
30779         * accessibility/AccessibilityTable.cpp:
30780         (WebCore::AccessibilityTable::addChildren):
30781         (WebCore::AccessibilityTable::cellForColumnAndRow):
30782         * accessibility/AccessibilityTableCell.cpp:
30783         (WebCore::AccessibilityTableCell::rowIndexRange):
30784         Updated those for the signature change in sectionBelow. Also added
30785         a FIXME where topSection should be used instead of iterating
30786         over the section (and likely missing some corner cases).
30787
30788         * rendering/FixedTableLayout.cpp:
30789         (WebCore::FixedTableLayout::calcWidthArray):
30790         * rendering/RenderTable.cpp:
30791         (WebCore::RenderTable::calcBorderStart):
30792         (WebCore::RenderTable::calcBorderEnd):
30793         (WebCore::RenderTable::outerBorderBefore):
30794         (WebCore::RenderTable::sectionAbove):
30795         (WebCore::RenderTable::sectionBelow):
30796         (WebCore::RenderTable::firstLineBoxBaseline):
30797         Updated all those functions to use the newly added functions. Also changed
30798         the variable names to match the functions.
30799
30800         (WebCore::RenderTable::layout):
30801         (WebCore::RenderTable::topNonEmptySection): Newly added function
30802         that returns the top non null section of the table that has at least a
30803         row.
30804
30805         (WebCore::RenderTable::cellAbove):
30806         (WebCore::RenderTable::cellBelow):
30807         Update the signature of those 2 functions to take an enum as it makes the
30808         rest of the code more readable.
30809
30810         * rendering/RenderTable.h:
30811         (WebCore::RenderTable::topSection): Newly added function to return
30812         the top non null section in the table.
30813
30814 2011-04-19  Eric Seidel  <eric@webkit.org>
30815
30816         Reviewed by Ryosuke Niwa.
30817
30818         [BiDi] [CSS3] MASTER: Add support for the unicode-bidi:isolate CSS property
30819         https://bugs.webkit.org/show_bug.cgi?id=50912
30820
30821         This patch adds support for CSS3 unicode-bidi: isolate property, under the -webkit- vendor prefix.
30822         Parsing support was added in a previous patch, this wires up the RenderStyle values
30823         to code changes in the BidiResolver.
30824
30825         The effect of this patch is that it makes it possible to "isolate" runs of text
30826         so that their RTL-ness or LTR-ness does not bleed out into the rest of your text
30827         and effect layout.  This is important because many unicode characters (like parenthesis, ':', '-', etc.)
30828         do not have intrinsic directionality and are affected by whatever characters come before/after.
30829         If you have usernames which include RTL text, if you inject those usernames in your page
30830         you might end up with nearby characters moving!
30831         (like 'RTL USERNAME - my awesome site' as a title, could end up as
30832         'my awesome site - USERNAME RTL' when correct would be 'USERNAME RTL - my awesome site'.)
30833         This patch makes it possible to wrap sections of text in isolated spans, so that
30834         they correctly order all their RTL/LTR contents, but also correctly participate in the
30835         larger RTL/LTR ordering without affecting nearby characters.
30836
30837         Because much of this code is old and rarely touched, I've included extra background
30838         information in hopes of expanding my set of potential reviewers:
30839
30840         WebKit uses the standard "Unicode Bidi Algorithm" henceforth known as the UBA.
30841         The UBA is defined at http://unicode.org/reports/tr9/ for those not faint of heart.
30842
30843         Text layout is done per-block (<div>, <p>, etc), and begins with a string of text
30844         (which in our case comes from the rendering tree) and a specified width.
30845         First:  Text is measured and wrapped into lines.
30846         Second: The UBA is run over the lines of text.
30847         Third:  WebKit builds InlineBoxes (its linebox tree) and eventually render the text.
30848
30849         This patch modifies our UBA to ignore all text content inside "isolated" inlines (treating them as neutral characters)
30850         and then adds another step after running the UBA, where we run the UBA recursively on any
30851         previously identified "isolated" content.
30852
30853         The result of the UBA is an ordered list of "runs" of text with the RTL runs
30854         correctly RTL and the LTR runs LTR.
30855
30856         The UBA does three things:
30857         1.  It assigns a "class" to each character in a text stream (like neutral, strongly-RTL, strongly-LTR, etc.)
30858         2.  Divides the text stream up into "runs" of characters of the same directionality (all RTL, all LTR).
30859         3.  Re-orders those runs.
30860
30861         The UBA in WebKit is implemented by BidiResolver<T> in BidiResolver.h
30862
30863         The InlineBidiResolver (BidiResolver specialization which knows about the rendering tree)
30864         walks along its InlineIterators, looking at each character and running the
30865         Unicode Bidi Algorithm (UBA).  It walks through the rendering tree subtree under
30866         a block, using a (poorly named) bidiNext function which returns the next inline object.
30867         Each inline object (or text character there-in) has a corresponding meaning in the UBA
30868         such as a "strong RTL" character or a "neutral" character.  The UBA reads these sequence
30869         of characters, and figures out what direction (RTL or LTR) to assign to any neutral
30870         characters it encounters, based on surrounding characters.
30871
30872         As the InlineBidiResolver is walking the rendering tree, the InlineIterator::advance()
30873         function calls bidiNext(), which in turn can call notifyObserverEnteredObject/notifyObserverWillExitObject
30874         notifying InlineBidiResolver that it is entering or exiting an "isolated"
30875         span, at which point it will either start or stop ignoring the stream of characters
30876         from the InlineIterator.  When the InlineBidiResolver is ignoring the stream of
30877         characters, instead of creating separate BidiRuns at each RTL/LTR boundary
30878         as it normally would, it instead creates one "fake" run for the entire
30879         isolated span.  These fake runs participate in the normal UBA run ordering process,
30880         but after the main UBA, a second pass is made where we examine
30881         the list of isolatedRuns() and run the UBA on each of them, replacing the fake
30882         run we previously inserted, with the resulting list of runs from that inner UBA run.
30883         The way it "ignores" characters is by treating them all as neutral when inside an isolate.
30884         Thus all the characters end up grouped in a single run, but their directionality (as a group)
30885         is correctly affected by any surrounding strong characters.
30886
30887         If you understood that last paragraph, than the rest of the change is just plumbing.
30888
30889         I added a huge number of FIXMEs to this code, because this code has a variety of
30890         design choices (or lack there of) which make some of this very difficult.
30891
30892         For example the bidiNext iterator function has two sets of mutually exclusive
30893         parameters and can be used optionally with or without an observer.  Prior to this
30894         change there was only ever one object which cared about observing a walk over inlines
30895         and that was InlineBidiResolver.  This patch (regretfully) templatizes bidiNext
30896         to support a new Observer type.  The correct fix would be to rip bidiNext into
30897         multiple functions and rip need for observation out of InlineBidiResolver.
30898         Unfortunately I've tried both in separate bugs and failed.  This code is very very
30899         old and very poorly understood.  We're slowly moving forward, this is another tiny step.
30900
30901         This is my fourth iteration of this patch (I'm happy to do more!), but I believe
30902         it's a good compromise between fixing all of the design gotcha's of our bidi
30903         system and doing the minimum amount to add this killer CSS feature.
30904
30905         I ran the PLT.  (It averaged 0.2% faster with this change, but I attribute that to noise).
30906
30907         Test: css3/unicode-bidi-isolate-basic.html and css3/unicode-bidi-isolate-aharon.html
30908
30909         * platform/text/BidiResolver.h:
30910         (WebCore::BidiCharacterRun::setNext):
30911          - Needed by the new replaceRunWithRuns function.
30912         (WebCore::BidiResolver::BidiResolver):
30913         (WebCore::BidiResolver::~BidiResolver):
30914         (WebCore::BidiResolver::enterIsolate):
30915         (WebCore::BidiResolver::exitIsolate):
30916         (WebCore::BidiResolver::inIsolate):
30917         (WebCore::BidiResolver::isolatedRuns):
30918          - Used to track isolated spans of text as they're encoutered.
30919            They're stuffed away here to be processed recursively
30920            after the main UBA has done its thang.
30921         (WebCore::::appendRun):
30922         (WebCore::::embed):
30923         (WebCore::::commitExplicitEmbedding):
30924         (WebCore::::createBidiRunsForLine):
30925         * platform/text/BidiRunList.h:
30926         (WebCore::::replaceRunWithRuns):
30927          - This effectively takes all the runs from one runlist and adds them to
30928            this one, replacing the fake run we inserted during a previous pass of the UBA.
30929          - This RunList now owns the runs, so we call clear() on the other RunList
30930            so that we don't end up double-freeing the runs.
30931         (WebCore::::clear):
30932          - This allows us to "take" runs from another run list and then clear it.
30933         * rendering/BidiRun.h:
30934         (WebCore::BidiRun::object):
30935         * rendering/InlineIterator.h:
30936         (WebCore::InlineIterator::object):
30937         (WebCore::InlineIterator::offset):
30938         (WebCore::notifyObserverEnteredObject): Mostly just renaming and adding a FIXME about plaintext.
30939         (WebCore::notifyObserverWillExitObject): Mostly just renaming.
30940         (WebCore::addPlaceholderRunForIsolatedInline):
30941         (WebCore::isIsolatedInline):
30942         (WebCore::InlineBidiResolver::appendRun):
30943         * rendering/RenderBlockLineLayout.cpp:
30944         (WebCore::statusWithDirection):
30945         (WebCore::constructBidiRuns):
30946          - This is the heavy-lifting of this change.  This function
30947            runs the UBA recursively on all the previously identified isolated spans.
30948          - If we encounter more isolated spans in our run, we just add them to the
30949            main list an keep going.  Because the runs are linked lists and we have
30950            direct pointers to our placeholder objects, we don't care what order
30951            we process the placeholders in, so long as when we're done, they're all processed.
30952         (WebCore::RenderBlock::layoutInlineChildren):
30953
30954 2011-09-08  Kentaro Hara  <haraken@google.com>
30955
30956         Implement a ProgressEvent constructor for JSC
30957         https://bugs.webkit.org/show_bug.cgi?id=67537
30958
30959         Reviewed by Sam Weinig.
30960
30961         The spec for the ProgressEvent constructor is here:
30962         http://www.w3.org/TR/progress-events/#interface-progressevent
30963
30964         Test: fast/events/constructors/progress-event-constructor.html
30965
30966         * bindings/generic/EventConstructors.h: Added a definition for the ProgressEvent constructor.
30967         * bindings/js/JSDictionary.cpp:
30968         (WebCore::JSDictionary::convertValue): Converts an ECMA-262 Number into an IDL unsigned long long value. Spec: http://www.w3.org/TR/WebIDL/#es-unsigned-long-long
30969         * bindings/js/JSEventConstructors.cpp: Added #includes for ProgressEvent.
30970         * dom/ProgressEvent.cpp:
30971         (WebCore::ProgressEventInit::ProgressEventInit):
30972         (WebCore::ProgressEvent::ProgressEvent):
30973         * dom/ProgressEvent.h: Added a definition for ProgressEventInit.
30974         (WebCore::ProgressEvent::create):
30975         * dom/ProgressEvent.idl: Makes ProgressEvent constructible.
30976
30977 2011-09-08  Ryosuke Niwa  <rniwa@webkit.org>
30978
30979         Make bindings tests quiet after r94701.
30980
30981         * bindings/scripts/test/JS/JSTestInterface.cpp:
30982         * bindings/scripts/test/JS/JSTestInterface.h:
30983         (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
30984         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
30985         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
30986         (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
30987         * bindings/scripts/test/JS/JSTestObj.cpp:
30988         * bindings/scripts/test/JS/JSTestObj.h:
30989         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
30990         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
30991         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
30992         (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
30993
30994 2011-09-07  Pavel Podivilov  <podivilov@chromium.org>
30995
30996         Web Inspector: get rid of RawSourceCode.createSourceMappingIfNeeded.
30997         https://bugs.webkit.org/show_bug.cgi?id=67717
30998
30999         Listen to SourceMappingUpdated event instead of using createSourceMappingIfNeeded.
31000
31001         Reviewed by Yury Semikhatsky.
31002
31003         * inspector/front-end/DebuggerPresentationModel.js:
31004         (WebInspector.DebuggerPresentationModel):
31005         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
31006         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
31007         (WebInspector.DebuggerPresentationModel.prototype._updateSourceMapping):
31008         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
31009         (WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages):
31010         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
31011         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
31012         (WebInspector.DebuggerPresentationModel.prototype._createPresentationMessage):
31013         (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
31014         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
31015         (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
31016         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
31017         (WebInspector.PresentationCallFrame.prototype.sourceLine.sourceMappingUpdated):
31018         (WebInspector.PresentationCallFrame.prototype.sourceLine):
31019         * inspector/front-end/SourceFile.js:
31020
31021 2011-09-06  Pavel Podivilov  <podivilov@chromium.org>
31022
31023         Web Inspector: do not re-create RawSourceCode when toggling pretty-print mode.
31024         https://bugs.webkit.org/show_bug.cgi?id=67647
31025
31026         1) Implement RawSourceCode.setFormatted that allows toggling pretty-print mode on the fly without resetting everything.
31027         2) Add RawSourceCode unit tests.
31028         3) Remove source mapping listeners and console messages from presentation model (they live in RawSourceCode now).
31029
31030         Reviewed by Yury Semikhatsky.
31031
31032         Test: inspector/debugger/raw-source-code.html
31033
31034         * inspector/front-end/DebuggerPresentationModel.js:
31035         (WebInspector.DebuggerPresentationModel):
31036         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
31037         (WebInspector.DebuggerPresentationModel.prototype._addScript):
31038         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
31039         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
31040         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
31041         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
31042         * inspector/front-end/ScriptsPanel.js:
31043         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
31044         * inspector/front-end/SourceFile.js:
31045         (WebInspector.RawSourceCode):
31046         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
31047         (WebInspector.RawSourceCode.prototype.setFormatted):
31048         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
31049         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
31050
31051 2011-09-08  Alexander Pavlov  <apavlov@chromium.org>
31052
31053         Web Inspector: [REGRESSION] Clear console shortcut Ctrl + L broken
31054         https://bugs.webkit.org/show_bug.cgi?id=67711
31055
31056         Reviewed by Yury Semikhatsky.
31057
31058         * inspector/front-end/ConsoleView.js:
31059         (WebInspector.ConsoleView.prototype._consoleCleared):
31060         (WebInspector.ConsoleView.prototype._registerShortcuts):
31061         (WebInspector.ConsoleView.prototype._promptKeyDown):
31062
31063 2011-09-08  Andras Becsi  <andras.becsi@nokia.com>
31064
31065         [Qt] Build fails with strict compiler
31066         https://bugs.webkit.org/show_bug.cgi?id=67778
31067
31068         Reviewed by Csaba Osztrogonác.
31069
31070         No new tests needed.
31071
31072         * platform/graphics/TiledBackingStore.cpp:
31073         (WebCore::TiledBackingStore::resizeEdgeTiles): Remove unused contentsRect variable
31074         which's usage was removed in r94681 to fix the build with [-Werror=unused-but-set-variable].
31075
31076 2011-09-08  Sheriff Bot  <webkit.review.bot@gmail.com>
31077
31078         Unreviewed, rolling out r94695.
31079         http://trac.webkit.org/changeset/94695
31080         https://bugs.webkit.org/show_bug.cgi?id=67776
31081
31082         Hitting an assertion on Snow Leopard, Qt, GTK (Requested by
31083         Zoltan on #webkit).
31084
31085         * rendering/RenderBlock.cpp:
31086         (WebCore::RenderBlock::positionedFloatsNeedRelayout):
31087         (WebCore::RenderBlock::layoutPositionedObjects):
31088
31089 2011-09-08  Alexander Pavlov  <apavlov@chromium.org>
31090
31091         Unreviewed, strip trailing whitespace in the Web Inspector frontend (*.js and *.css).
31092
31093         * inspector/front-end/ApplicationCacheItemsView.js:
31094         * inspector/front-end/AuditResultView.js:
31095         * inspector/front-end/BinarySearch.js:
31096         * inspector/front-end/CSSStyleModel.js:
31097         * inspector/front-end/ConsoleMessage.js:
31098         * inspector/front-end/ConsoleModel.js:
31099         * inspector/front-end/ConsoleView.js:
31100         * inspector/front-end/CookieItemsView.js:
31101         * inspector/front-end/CookieParser.js:
31102         * inspector/front-end/DOMAgent.js:
31103         * inspector/front-end/DOMStorage.js:
31104         * inspector/front-end/DOMStorageItemsView.js:
31105         * inspector/front-end/DataGrid.js:
31106         * inspector/front-end/Database.js:
31107         * inspector/front-end/DatabaseQueryView.js:
31108         * inspector/front-end/DetailedHeapshotGridNodes.js:
31109         * inspector/front-end/DetailedHeapshotView.js:
31110         * inspector/front-end/ElementsTreeOutline.js:
31111         * inspector/front-end/EmptyView.js:
31112         * inspector/front-end/EventListenersSidebarPane.js:
31113         * inspector/front-end/ExtensionCommon.js:
31114         * inspector/front-end/GoToLineDialog.js:
31115         * inspector/front-end/HeapSnapshot.js:
31116         * inspector/front-end/HeapSnapshotProxy.js:
31117         * inspector/front-end/HeapSnapshotWorkerDispatcher.js:
31118         * inspector/front-end/ImageView.js:
31119         * inspector/front-end/InjectedFakeWorker.js:
31120         * inspector/front-end/InspectorFrontendHostStub.js:
31121         * inspector/front-end/MetricsSidebarPane.js:
31122         * inspector/front-end/NetworkManager.js:
31123         * inspector/front-end/NetworkPanel.js:
31124         * inspector/front-end/ObjectPropertiesSection.js:
31125         * inspector/front-end/PartialQuickSort.js:
31126         * inspector/front-end/ProfileView.js:
31127         * inspector/front-end/ProfilesPanel.js:
31128         * inspector/front-end/RemoteObject.js:
31129         * inspector/front-end/Resource.js:
31130         * inspector/front-end/ResourceCategory.js:
31131         * inspector/front-end/ResourceHTMLView.js:
31132         * inspector/front-end/ResourceHeadersView.js:
31133         * inspector/front-end/ResourceJSONView.js:
31134         * inspector/front-end/ResourceTimingView.js:
31135         * inspector/front-end/ResourceTreeModel.js:
31136         * inspector/front-end/ResourceView.js:
31137         * inspector/front-end/ResourcesPanel.js:
31138         * inspector/front-end/SearchController.js:
31139         * inspector/front-end/SettingsScreen.js:
31140         * inspector/front-end/ShortcutsScreen.js:
31141         * inspector/front-end/SourceCSSTokenizer.js:
31142         * inspector/front-end/SourceHTMLTokenizer.js:
31143         * inspector/front-end/SourceJavaScriptTokenizer.js:
31144         * inspector/front-end/StatusBarButton.js:
31145         * inspector/front-end/TextEditorModel.js:
31146         * inspector/front-end/TimelineGrid.js:
31147         * inspector/front-end/View.js:
31148         * inspector/front-end/heapProfiler.css:
31149         * inspector/front-end/inspector.css:
31150         * inspector/front-end/inspector.js:
31151         * inspector/front-end/inspectorSyntaxHighlight.css:
31152         * inspector/front-end/networkPanel.css:
31153         * inspector/front-end/treeoutline.js:
31154         * inspector/front-end/utilities.js:
31155
31156 2011-09-07  Andrey Kosyakov  <caseq@chromium.org>
31157
31158         Web Inspector: trying to scroll mouse wheel when in TextViewer's gutter pane causes EventException::DISPATCH_REQUEST_ERR
31159         https://bugs.webkit.org/show_bug.cgi?id=67715
31160
31161         Reviewed by Yury Semikhatsky.
31162
31163         - avoid exception on attempt to dispatch an event that is being dispatched by cloning the event.
31164
31165         * inspector/front-end/TextViewer.js:
31166         (WebInspector.TextViewer.forwardWheelEvent):
31167         (WebInspector.TextViewer):
31168
31169 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
31170
31171         Unreviewed, rolling out r94674 and r94689.
31172         http://trac.webkit.org/changeset/94674
31173         http://trac.webkit.org/changeset/94689
31174         https://bugs.webkit.org/show_bug.cgi?id=67754
31175
31176         Broke inspector/debugger/script-formatter.html (Requested by
31177         rniwa on #webkit).
31178
31179         * inspector/front-end/DebuggerPresentationModel.js:
31180         (WebInspector.DebuggerPresentationModel):
31181         (WebInspector.DebuggerPresentationModel.prototype.addSourceMappingListener):
31182         (WebInspector.DebuggerPresentationModel.prototype.removeSourceMappingListener):
31183         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
31184         (WebInspector.DebuggerPresentationModel.prototype._addScript):
31185         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
31186         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
31187         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
31188         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
31189         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
31190         * inspector/front-end/ScriptsPanel.js:
31191         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
31192         * inspector/front-end/SourceFile.js:
31193         (WebInspector.RawSourceCode):
31194         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
31195         (WebInspector.RawSourceCode.prototype.get rawSourceCode):
31196         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
31197         (WebInspector.RawSourceCode.prototype.requestContent):
31198         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
31199
31200 2011-09-07  Julien Chaffraix  <jchaffraix@webkit.org>
31201
31202         offsetFromRoot optimization is disabled after r93837
31203         https://bugs.webkit.org/show_bug.cgi?id=67677
31204
31205         Reviewed by Simon Fraser.
31206
31207         Unfortunately not covered by any test as it does not change updateLayerPosition complexity (it is still O(n^2)
31208         because of clippedOverflowRectForRepaint). However it is a noticeable slowdown on some use cases but we don't
31209         have a good test harness to cover such slowdown.
31210
31211         * rendering/RenderLayer.cpp:
31212         (WebCore::RenderLayer::updateLayerPositions): Pass offsetFromRoot as not doing so means that we miss
31213         the optimization altogether.
31214
31215         (WebCore::RenderLayer::computeRepaintRects):
31216         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
31217         * rendering/RenderLayer.h:
31218         Renamed |cachedOffset| to |offsetFromRoot| to be consistent with our latest renaming.
31219
31220 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
31221
31222         Windows build fix after r94737.
31223
31224         * rendering/RenderBlock.cpp:
31225         (WebCore::RenderBlock::adjustRectForColumns):
31226
31227 2011-09-07  Dan Bernstein  <mitz@apple.com>
31228
31229         Removed hyphenation function implementations for an usupported build configuration.
31230
31231         Reviewed by Sam Weinig.
31232
31233         * platform/text/cf/HyphenationCF.cpp:
31234
31235 2011-09-07  David Hyatt  <hyatt@apple.com>
31236
31237         https://bugs.webkit.org/show_bug.cgi?id=67739
31238
31239         adjustRectForColumns is O(# of columns) when it can be O(1). Fix the slow performance of this
31240         function by removing the loop and just computing the start and end column for a repaint rect
31241         and uniting everything in between.
31242
31243         Reviewed by Dan Bernstein.
31244
31245         * rendering/RenderBlock.cpp:
31246         (WebCore::RenderBlock::adjustRectForColumns):
31247
31248 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
31249
31250         Unreviewed, rolling out r94714 and r94723.
31251         http://trac.webkit.org/changeset/94714
31252         http://trac.webkit.org/changeset/94723
31253         https://bugs.webkit.org/show_bug.cgi?id=67746
31254
31255         breaks gtk-linux tests with assertion failure (Requested by
31256         thorton on #webkit).
31257
31258         * platform/graphics/GraphicsContext.cpp:
31259         (WebCore::GraphicsContext::GraphicsContext):
31260         (WebCore::GraphicsContext::~GraphicsContext):
31261         * platform/graphics/GraphicsContext.h:
31262         (WebCore::GraphicsContext::inTransparencyLayer):
31263         * platform/graphics/cairo/GraphicsContextCairo.cpp:
31264         (WebCore::GraphicsContext::beginTransparencyLayer):
31265         (WebCore::GraphicsContext::endTransparencyLayer):
31266         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
31267         (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
31268         (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
31269         * platform/graphics/cg/GraphicsContextCG.cpp:
31270         (WebCore::GraphicsContext::beginTransparencyLayer):
31271         (WebCore::GraphicsContext::endTransparencyLayer):
31272         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
31273         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
31274         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
31275         (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
31276         (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
31277         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
31278         (WebCore::GraphicsContext::beginTransparencyLayer):
31279         (WebCore::GraphicsContext::endTransparencyLayer):
31280         * platform/graphics/mac/FontMac.mm:
31281         (WebCore::Font::drawGlyphs):
31282         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
31283         (WebCore::GraphicsContext::beginTransparencyLayer):
31284         (WebCore::GraphicsContext::endTransparencyLayer):
31285         * platform/graphics/qt/GraphicsContextQt.cpp:
31286         (WebCore::GraphicsContext::inTransparencyLayer):
31287         (WebCore::GraphicsContext::beginTransparencyLayer):
31288         (WebCore::GraphicsContext::endTransparencyLayer):
31289         * platform/graphics/skia/GraphicsContextSkia.cpp:
31290         (WebCore::GraphicsContext::beginTransparencyLayer):
31291         (WebCore::GraphicsContext::endTransparencyLayer):
31292         * platform/graphics/win/FontCGWin.cpp:
31293         (WebCore::drawGDIGlyphs):
31294         * platform/graphics/win/GraphicsContextCGWin.cpp:
31295         (WebCore::GraphicsContext::releaseWindowsContext):
31296         * platform/graphics/win/GraphicsContextCairoWin.cpp:
31297         (WebCore::GraphicsContext::releaseWindowsContext):
31298         * platform/graphics/win/GraphicsContextWin.cpp:
31299         (WebCore::GraphicsContext::inTransparencyLayer):
31300         (WebCore::GraphicsContext::getWindowsContext):
31301         * platform/graphics/wince/GraphicsContextWinCE.cpp:
31302         (WebCore::GraphicsContext::beginTransparencyLayer):
31303         (WebCore::GraphicsContext::endTransparencyLayer):
31304         * platform/graphics/wx/GraphicsContextWx.cpp:
31305         (WebCore::GraphicsContext::beginTransparencyLayer):
31306         (WebCore::GraphicsContext::endTransparencyLayer):
31307         * platform/win/ScrollbarThemeWin.cpp:
31308         (WebCore::ScrollbarThemeWin::paintTrackPiece):
31309         (WebCore::ScrollbarThemeWin::paintButton):
31310         (WebCore::ScrollbarThemeWin::paintThumb):
31311         * plugins/win/PluginViewWin.cpp:
31312         (WebCore::PluginView::paint):
31313         * rendering/RenderThemeWin.cpp:
31314         (WebCore::drawControl):
31315
31316 2011-09-07  Chris Fleizach  <cfleizach@apple.com>
31317
31318         Changes to aria-hidden don't change VO navigation
31319         https://bugs.webkit.org/show_bug.cgi?id=67722
31320
31321         Reviewed by Darin Adler.
31322
31323         When altering aria-hidden, WebCore needs to update the children caches of 
31324         affected elements. However, for elements that were children, but ignored, their
31325         caches did not get updated, and stale information would be propagated.
31326
31327         The fix is to always clearChildren() when a parent is asking for children. This 
31328         ensures information is always up to date when the parent itself is asking for new data.
31329
31330         Test: accessibility/aria-hidden-updates-alldescendants.html
31331
31332         * accessibility/AccessibilityObject.h:
31333         * accessibility/AccessibilityRenderObject.cpp:
31334         (WebCore::AccessibilityRenderObject::ariaIsHidden):
31335         (WebCore::AccessibilityRenderObject::childrenChanged):
31336         (WebCore::AccessibilityRenderObject::addChildren):
31337
31338 2011-09-07  Tim Horton  <timothy_horton@apple.com>
31339
31340         Text rendered with a simple (i.e. 0px blur) shadow inside a transparency layer has a double shadow
31341         https://bugs.webkit.org/show_bug.cgi?id=67543
31342         <rdar://problem/10070536>
31343
31344         Reviewed by Simon Fraser.
31345
31346         Generalize (begin|end)TransparencyLayer, which now forward
31347         through to (begin|end)PlatformTransparencyLayer, so that
31348         isInTransparencyLayer can exist on every platform.
31349
31350         Make use of isInTransparencyLayer in FontMac to disable
31351         "simple" shadow drawing when the text is being rendered
31352         into a transparency layer.
31353
31354         Test: svg/custom/simple-text-double-shadow.svg
31355
31356         * platform/graphics/GraphicsContext.cpp:
31357         (WebCore::GraphicsContext::GraphicsContext):
31358         (WebCore::GraphicsContext::~GraphicsContext):
31359         (WebCore::GraphicsContext::beginTransparencyLayer):
31360         (WebCore::GraphicsContext::endTransparencyLayer):
31361         (WebCore::GraphicsContext::isInTransparencyLayer):
31362         * platform/graphics/GraphicsContext.h:
31363         * platform/graphics/cairo/GraphicsContextCairo.cpp:
31364         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
31365         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
31366         (WebCore::GraphicsContext::supportsTransparencyLayers):
31367         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
31368         * platform/graphics/cg/GraphicsContextCG.cpp:
31369         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
31370         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
31371         (WebCore::GraphicsContext::supportsTransparencyLayers):
31372         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
31373         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
31374         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
31375         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
31376         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
31377         (WebCore::GraphicsContext::supportsTransparencyLayers):
31378         * platform/graphics/mac/FontMac.mm:
31379         (WebCore::Font::drawGlyphs):
31380         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
31381         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
31382         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
31383         (WebCore::GraphicsContext::supportsTransparencyLayers):
31384         * platform/graphics/qt/GraphicsContextQt.cpp:
31385         (WebCore::GraphicsContext::isInTransparencyLayer):
31386         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
31387         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
31388         (WebCore::GraphicsContext::supportsTransparencyLayers):
31389         * platform/graphics/skia/GraphicsContextSkia.cpp:
31390         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
31391         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
31392         (WebCore::GraphicsContext::supportsTransparencyLayers):
31393         * platform/graphics/win/FontCGWin.cpp:
31394         (WebCore::drawGDIGlyphs):
31395         * platform/graphics/win/GraphicsContextCGWin.cpp:
31396         (WebCore::GraphicsContext::releaseWindowsContext):
31397         * platform/graphics/win/GraphicsContextCairoWin.cpp:
31398         (WebCore::GraphicsContext::releaseWindowsContext):
31399         * platform/graphics/win/GraphicsContextWin.cpp:
31400         (WebCore::GraphicsContext::getWindowsContext):
31401         * platform/graphics/wince/GraphicsContextWinCE.cpp:
31402         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
31403         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
31404         (WebCore::GraphicsContext::supportsTransparencyLayers):
31405         * platform/graphics/wx/GraphicsContextWx.cpp:
31406         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
31407         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
31408         (WebCore::GraphicsContext::supportsTransparencyLayers):
31409         * platform/win/ScrollbarThemeWin.cpp:
31410         * plugins/win/PluginViewWin.cpp:
31411         * rendering/RenderThemeWin.cpp:
31412
31413 2011-09-07  Dan Bernstein  <mitz@apple.com>
31414
31415         <rdar://problem/8881922> Support the hyphenate-limit-lines property
31416         https://bugs.webkit.org/show_bug.cgi?id=67730
31417
31418         Reviewed by Dave Hyatt.
31419
31420         Tests: fast/css/parsing-hyphenate-limit-lines.html
31421                fast/text/hyphenate-limit-lines.html
31422
31423         * css/CSSComputedStyleDeclaration.cpp:
31424         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added hyphenate-limit-lines.
31425         * css/CSSParser.cpp:
31426         (WebCore::CSSParser::parseValue): Ditto. Valid values are non-negative integers and the keyword
31427         "no-limit".
31428         * css/CSSPropertyNames.in: Added -webkit-hyphenate-limit-lines.
31429         * css/CSSStyleSelector.cpp:
31430         (WebCore::CSSStyleSelector::applyProperty): Added hyphenate-limit-lines.
31431         * css/CSSValueKeywords.in: Added the "no-limit" value keyword.
31432         * rendering/RenderBlock.h:
31433         * rendering/RenderBlockLineLayout.cpp:
31434         (WebCore::RenderBlock::layoutRunsAndFloats): Count the number of consecutive hyphenated lines
31435         before the start line and pass it to layoutRunsAndFloatsInRange().
31436         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Keep track of the number of consecutive
31437         hyphenated lines before the current line and pass it to LineBreaker::nextLineBreak().
31438         (WebCore::tryHyphenating): Added parameters for the number of consecutive hyphenated lines before
31439         the current line and the limit on consecutive hyphenated lines, and an early return if the limit
31440         has been reached.
31441         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Added a parameter for the number of consecutive
31442         hyphenated lines before the current line, which is passed through to tryHyphenating, along with
31443         the value of hyphenate-limit-lines.
31444         * rendering/RootInlineBox.cpp:
31445         (WebCore::RootInlineBox::isHyphenated): Added. Returns true if the line was hyphenated.
31446         * rendering/RootInlineBox.h:
31447         * rendering/style/RenderStyle.h:
31448         (WebCore::InheritedFlags::hyphenationLimitLines): Added this getter.
31449         (WebCore::InheritedFlags::setHyphenationLimitLines): Added this setter.
31450         (WebCore::InheritedFlags::initialHyphenationLimitLines): Added. The initial value is -1,
31451         corresponding to "no-limit".
31452         * rendering/style/StyleRareInheritedData.cpp:
31453         (WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize new member variable.
31454         (WebCore::StyleRareInheritedData::operator==): Compare new member variable.
31455         * rendering/style/StyleRareInheritedData.h:
31456
31457 2011-09-02  Ojan Vafai  <ojan@chromium.org>
31458
31459         split overrideSize into overrideHeight and overrideWidth
31460         https://bugs.webkit.org/show_bug.cgi?id=67550
31461
31462         Reviewed by Sam Weinig.
31463
31464         All uses of overrideSize only set one of the width or the height.
31465         This change removes a bool from RenderObject and removes some
31466         flexbox specific logic from RenderBox.
31467
31468         The only downside is that we have two global maps where we used
31469         to have one.
31470
31471         No functional changes so existing tests are sufficient.
31472
31473         * rendering/RenderBox.cpp:
31474         (WebCore::RenderBox::hasOverrideHeight):
31475         (WebCore::RenderBox::hasOverrideWidth):
31476         (WebCore::RenderBox::setOverrideHeight):
31477         (WebCore::RenderBox::setOverrideWidth):
31478         (WebCore::RenderBox::clearOverrideSize):
31479         (WebCore::RenderBox::overrideWidth):
31480         (WebCore::RenderBox::overrideHeight):
31481         (WebCore::RenderBox::computeLogicalWidth):
31482         (WebCore::RenderBox::computeLogicalHeight):
31483         (WebCore::RenderBox::computePercentageLogicalHeight):
31484         * rendering/RenderBox.h:
31485         * rendering/RenderDeprecatedFlexibleBox.cpp:
31486         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
31487         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
31488         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
31489         * rendering/RenderFlexibleBox.cpp:
31490         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenHorizontal):
31491         * rendering/RenderObject.cpp:
31492         (WebCore::RenderObject::RenderObject):
31493         * rendering/RenderObject.h:
31494         * rendering/RenderTableCell.cpp:
31495         (WebCore::RenderTableCell::setOverrideHeightFromRowHeight):
31496         * rendering/RenderTableCell.h:
31497         * rendering/RenderTableSection.cpp:
31498         (WebCore::RenderTableSection::calcRowLogicalHeight):
31499         (WebCore::RenderTableSection::layoutRows):
31500
31501 2011-09-07  Alexei Svitkine  <asvitkine@chromium.org>
31502
31503         Add test infrastructure to test rubber-banding overhang drawing along with layout tests for existing Chromium Mac overhang drawing in the non-gpu path.
31504         https://bugs.webkit.org/show_bug.cgi?id=67511
31505
31506         Reviewed by Dimitri Glazkov.
31507
31508         Tests: platform/chromium-mac/rubberbanding/overhang-e.html
31509                platform/chromium-mac/rubberbanding/overhang-n.html
31510                platform/chromium-mac/rubberbanding/overhang-ne.html
31511                platform/chromium-mac/rubberbanding/overhang-nw.html
31512                platform/chromium-mac/rubberbanding/overhang-s.html
31513                platform/chromium-mac/rubberbanding/overhang-se.html
31514                platform/chromium-mac/rubberbanding/overhang-sw.html
31515                platform/chromium-mac/rubberbanding/overhang-w.html
31516
31517         * WebCore.exp.in:
31518         * platform/ScrollableArea.h:
31519         * testing/Internals.cpp:
31520         (WebCore::Internals::setScrollViewPosition):
31521         * testing/Internals.h:
31522         * testing/Internals.idl:
31523
31524 2011-09-07  David Reveman  <reveman@chromium.org>
31525
31526         [Chromium] Render surface anti-aliasing.
31527         https://bugs.webkit.org/show_bug.cgi?id=66437
31528
31529         Reviewed by James Robinson.
31530
31531         Add CCLayerQuad class and CCLayerQuad::Edge subclass to allow
31532         edge computations to be shared between tiled layers and render
31533         surfaces. Move isCCW utility function to FloatQuad class and
31534         add to2dTransform method to TransformationMatrix class. Add
31535         necessary anti-aliasing shaders for render surfaces and use them
31536         to avoid aliased edges.
31537
31538         Tests: compositing/reflections/nested-reflection-transformed.html (existing)
31539
31540         * WebCore.gypi:
31541         * platform/graphics/FloatQuad.cpp:
31542         (WebCore::FloatQuad::isCounterclockwise):
31543         * platform/graphics/FloatQuad.h:
31544         * platform/graphics/chromium/LayerChromium.cpp:
31545         (WebCore::LayerChromium::drawTexturedQuad):
31546         * platform/graphics/chromium/LayerChromium.h:
31547         * platform/graphics/chromium/LayerRendererChromium.cpp:
31548         (WebCore::LayerRendererChromium::LayerRendererChromium):
31549         (WebCore::LayerRendererChromium::headsUpDisplayProgram):
31550         (WebCore::LayerRendererChromium::renderSurfaceProgram):
31551         (WebCore::LayerRendererChromium::renderSurfaceProgramAA):
31552         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
31553         (WebCore::LayerRendererChromium::renderSurfaceMaskProgramAA):
31554         (WebCore::LayerRendererChromium::tilerProgramSwizzle):
31555         (WebCore::LayerRendererChromium::canvasLayerProgram):
31556         (WebCore::LayerRendererChromium::pluginLayerProgram):
31557         (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
31558         (WebCore::LayerRendererChromium::videoLayerYUVProgram):
31559         (WebCore::LayerRendererChromium::cleanupSharedObjects):
31560         * platform/graphics/chromium/LayerRendererChromium.h:
31561         (WebCore::LayerRendererChromium::sharedGeometryQuad):
31562         * platform/graphics/chromium/ShaderChromium.cpp:
31563         (WebCore::VertexShaderQuad::VertexShaderQuad):
31564         (WebCore::VertexShaderQuad::init):
31565         (WebCore::VertexShaderQuad::getShaderString):
31566         (WebCore::FragmentShaderRGBATexAlphaAA::FragmentShaderRGBATexAlphaAA):
31567         (WebCore::FragmentShaderRGBATexAlphaAA::init):
31568         (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
31569         (WebCore::FragmentTexClampAlphaAABinding::FragmentTexClampAlphaAABinding):
31570         (WebCore::FragmentTexClampAlphaAABinding::init):
31571         (WebCore::FragmentShaderRGBATexClampAlphaAA::getShaderString):
31572         (WebCore::FragmentShaderRGBATexClampSwizzleAlphaAA::getShaderString):
31573         (WebCore::FragmentShaderRGBATexAlphaMaskAA::FragmentShaderRGBATexAlphaMaskAA):
31574         (WebCore::FragmentShaderRGBATexAlphaMaskAA::init):
31575         (WebCore::FragmentShaderRGBATexAlphaMaskAA::getShaderString):
31576         * platform/graphics/chromium/ShaderChromium.h:
31577         (WebCore::VertexShaderQuad::matrixLocation):
31578         (WebCore::VertexShaderQuad::pointLocation):
31579         (WebCore::FragmentShaderRGBATexAlphaAA::alphaLocation):
31580         (WebCore::FragmentShaderRGBATexAlphaAA::samplerLocation):
31581         (WebCore::FragmentShaderRGBATexAlphaAA::edgeLocation):
31582         (WebCore::FragmentShaderRGBATexAlphaMaskAA::alphaLocation):
31583         (WebCore::FragmentShaderRGBATexAlphaMaskAA::samplerLocation):
31584         (WebCore::FragmentShaderRGBATexAlphaMaskAA::maskSamplerLocation):
31585         (WebCore::FragmentShaderRGBATexAlphaMaskAA::edgeLocation):
31586         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
31587         (WebCore::CCCanvasLayerImpl::draw):
31588         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
31589         (WebCore::CCHeadsUpDisplay::draw):
31590         * platform/graphics/chromium/cc/CCLayerQuad.cpp: Added.
31591         (WebCore::CCLayerQuad::Edge::Edge):
31592         (WebCore::CCLayerQuad::CCLayerQuad):
31593         (WebCore::CCLayerQuad::floatQuad):
31594         (WebCore::CCLayerQuad::toFloatArray):
31595         * platform/graphics/chromium/cc/CCLayerQuad.h: Added.
31596         (WebCore::CCLayerQuad::Edge::Edge):
31597         (WebCore::CCLayerQuad::Edge::x):
31598         (WebCore::CCLayerQuad::Edge::y):
31599         (WebCore::CCLayerQuad::Edge::z):
31600         (WebCore::CCLayerQuad::Edge::setX):
31601         (WebCore::CCLayerQuad::Edge::setY):
31602         (WebCore::CCLayerQuad::Edge::setZ):
31603         (WebCore::CCLayerQuad::Edge::set):
31604         (WebCore::CCLayerQuad::Edge::moveX):
31605         (WebCore::CCLayerQuad::Edge::moveY):
31606         (WebCore::CCLayerQuad::Edge::moveZ):
31607         (WebCore::CCLayerQuad::Edge::move):
31608         (WebCore::CCLayerQuad::Edge::scaleX):
31609         (WebCore::CCLayerQuad::Edge::scaleY):
31610         (WebCore::CCLayerQuad::Edge::scaleZ):
31611         (WebCore::CCLayerQuad::Edge::scale):
31612         (WebCore::CCLayerQuad::Edge::intersect):
31613         (WebCore::CCLayerQuad::CCLayerQuad):
31614         (WebCore::CCLayerQuad::left):
31615         (WebCore::CCLayerQuad::top):
31616         (WebCore::CCLayerQuad::right):
31617         (WebCore::CCLayerQuad::bottom):
31618         (WebCore::CCLayerQuad::inflateX):
31619         (WebCore::CCLayerQuad::inflateY):
31620         (WebCore::CCLayerQuad::inflate):
31621         (WebCore::CCLayerQuad::inflateAntiAliasingDistance):
31622         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
31623         (WebCore::CCPluginLayerImpl::draw):
31624         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
31625         (WebCore::CCRenderSurface::draw):
31626         (WebCore::CCRenderSurface::drawLayer):
31627         (WebCore::CCRenderSurface::drawSurface):
31628         * platform/graphics/chromium/cc/CCRenderSurface.h:
31629         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
31630         (WebCore::CCTiledLayerImpl::draw):
31631         (WebCore::CCTiledLayerImpl::drawTiles):
31632         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
31633         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
31634         (WebCore::CCVideoLayerImpl::drawYUV):
31635         (WebCore::CCVideoLayerImpl::drawRGBA):
31636         * platform/graphics/transforms/TransformationMatrix.cpp:
31637         (WebCore::TransformationMatrix::to2dTransform):
31638         * platform/graphics/transforms/TransformationMatrix.h:
31639
31640 2011-09-06  Oliver Hunt  <oliver@apple.com>
31641
31642         Remove JSObjectWithGlobalObject
31643         https://bugs.webkit.org/show_bug.cgi?id=67689
31644
31645         Reviewed by Geoff Garen.
31646
31647         Remove use of anonymous storage and JSObjectWithGlobalObject for
31648         accessing a JSObject's global object now that they're available
31649         on the object's structure.
31650
31651         * bindings/js/JSDOMWindowShell.cpp:
31652         (WebCore::JSDOMWindowShell::setWindow):
31653         * bindings/js/JSDOMWrapper.h:
31654         (WebCore::JSDOMWrapper::globalObject):
31655         (WebCore::JSDOMWrapper::JSDOMWrapper):
31656         * bindings/js/WorkerScriptController.cpp:
31657         (WebCore::WorkerScriptController::initScript):
31658         * bindings/scripts/CodeGeneratorJS.pm:
31659         (GenerateHeader):
31660         (GenerateImplementation):
31661         * bridge/objc/objc_runtime.h:
31662         * bridge/objc/objc_runtime.mm:
31663         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
31664         (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
31665         * bridge/runtime_object.cpp:
31666         (JSC::Bindings::RuntimeObject::RuntimeObject):
31667         (JSC::Bindings::RuntimeObject::finishCreation):
31668         * bridge/runtime_object.h:
31669
31670 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
31671
31672         Mac build fix after r94694.
31673
31674         * WebCore.xcodeproj/project.pbxproj:
31675
31676 2011-09-07  Tim Horton  <timothy_horton@apple.com>
31677
31678         FELighting is using width instead of height to determine skip for parallel(n>2) case
31679         https://bugs.webkit.org/show_bug.cgi?id=67719
31680         <rdar://problem/10086178>
31681
31682         Reviewed by Dirk Schulze.
31683
31684         No new tests, because the bug only exhibits under conditions which are currently
31685         impossible by default (using more than 2 cores) on some platforms.
31686
31687         * platform/graphics/filters/FELighting.cpp:
31688         (WebCore::FELighting::platformApplyGeneric):
31689
31690 2011-09-07  W. James MacLean  <wjmaclean@chromium.org>
31691
31692         Eliminate motion jitter in animated, blurred SVG image
31693         https://bugs.webkit.org/show_bug.cgi?id=67503
31694
31695         Fixes filter shear-free transform applied to SVG images.
31696
31697         In applyResource() the shearFreeAbsoluteTransform is applied to the drawing region,
31698         which is based on the object bounding box (which doesn't move). For a rotation
31699         around the centre of the box, this should really just be the identity matrix,
31700         since the BB should neither change size nor location. So really, we're just interested
31701         in the scale change of the BB here, and not in moving it.
31702
31703         This impacts how slices are extracted, and affects the {x|y}Mid and {x|y}Max extractions
31704         for vertical and horizontal slices, so the test verifies these.
31705
31706         Reviewed by Dirk Schulze.
31707
31708         Test: svg/W3C-SVG-1.1-SE/filters-image-05-f.svg
31709
31710         * rendering/svg/RenderSVGResourceFilter.cpp:
31711         (WebCore::RenderSVGResourceFilter::applyResource):
31712
31713 2011-09-03  Robert Hogan  <robert@webkit.org>
31714
31715         Elements with position:absolute don't move to correct position after images load
31716         https://bugs.webkit.org/show_bug.cgi?id=54611
31717
31718         Reviewed by Simon Fraser.
31719
31720         Test: fast/block/positioning/absolute-layout-after-image-load.html
31721               fast/block/positioning/positioned-float-layout-after-image-load.html
31722
31723         In the test the 'label' block is an absolutely positioned child of an inline flow. So during layout, 
31724         this RenderBlock::layoutPositionedObjects fails to dirty it for rendering because it requires 
31725         the parent to be a BlockFlow. The code to do this was introduced in http://trac.webkit.org/changeset/8284. 
31726         There doesn't seem to be a good reason for requiring a BlockFlow, so remove the check. Do the same
31727         for positioned floats in RenderBlock::positionedFloatsNeedRelayout(), although currently layoutPositionedObjects()
31728         takes care of it this at least ensures no regression in future.
31729
31730         Note: Although the issue is encountered only on first load without a fragment identifier, it 
31731         happens reliably when you include the fragment identifier in the url (#Footnote_1). This is so 
31732         because scrolling to the fragment always happens before the image has loaded, rendering the page 
31733         and clearing the initial dirty bits in the positioned element's renderer. When the image finally 
31734         loads in this scenario, the positioned element is otherwise clean and relies on the above code to get 
31735         re-rendered.
31736
31737         * rendering/RenderBlock.cpp:
31738         (WebCore::RenderBlock::layoutPositionedObjects): remove the check for r->parent()->isBlockFlow() when 
31739                                                          deciding whether to mark children for layout
31740         (WebCore::RenderBlock::positionedFloatsNeedRelayout): ditto
31741
31742 2011-09-07  Anna Cavender  <annacc@chromium.org>
31743
31744         Moving platform/track to html/track to avoid layering violation.
31745         https://bugs.webkit.org/show_bug.cgi?id=67680
31746
31747         Reviewed by Adam Barth.
31748
31749         No new tests. No new functionality.
31750
31751         * CMakeLists.txt:
31752         * GNUmakefile.am:
31753         * GNUmakefile.list.am:
31754         * WebCore.gyp/WebCore.gyp:
31755         * WebCore.gypi:
31756         * WebCore.pri:
31757         * WebCore.pro:
31758         * html/track/CueParser.cpp: Renamed from Source/WebCore/platform/track/CueParser.cpp.
31759         * html/track/CueParser.h: Renamed from Source/WebCore/platform/track/CueParser.h.
31760         * html/track/CueParserPrivate.h: Renamed from Source/WebCore/platform/track/CueParserPrivate.h.
31761         * html/track/WebVTTParser.cpp: Renamed from Source/WebCore/platform/track/WebVTTParser.cpp.
31762         * html/track/WebVTTParser.h: Renamed from Source/WebCore/platform/track/WebVTTParser.h.
31763         * html/track/WebVTTToken.h: Renamed from Source/WebCore/platform/track/WebVTTToken.h.
31764         * html/track/WebVTTTokenizer.cpp: Renamed from Source/WebCore/platform/track/WebVTTTokenizer.cpp.
31765         * html/track/WebVTTTokenizer.h: Renamed from Source/WebCore/platform/track/WebVTTTokenizer.h.
31766
31767 2011-09-07  David Hyatt  <hyatt@apple.com>
31768
31769         https://bugs.webkit.org/show_bug.cgi?id=67286
31770
31771         REGRESSION: css2.1/t090204-display-change-01-b-ao.html fails after r94084.
31772
31773         Make sure that the trailing floats line box explicitly sets the line top with leading and line bottom with
31774         leading to just be the block height.
31775
31776         Reviewed by Dan Bernstein.
31777
31778         * rendering/RenderBlockLineLayout.cpp:
31779         (WebCore::RenderBlock::linkToEndLineIfNeeded):
31780
31781 2011-09-06  Abhishek Arya  <inferno@chromium.org>
31782
31783         Null owningRenderer crash in RenderScrollbar::updateScrollbarParts.
31784         https://bugs.webkit.org/show_bug.cgi?id=67669
31785
31786         Reviewed by James Robinson.
31787
31788         Owning renderer can be cleared for custom scrollbars in clearOwningRenderer()
31789         call. We need a null check in updateScrollbarParts, so that we do not crash.
31790
31791         No tests since issue seen in crash reports only and I donot know a way to
31792         reproduce.
31793
31794         * rendering/RenderScrollbar.cpp:
31795         (WebCore::RenderScrollbar::updateScrollbarParts):
31796
31797 2011-09-05  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
31798
31799         [Qt][WK2] Make TiledDrawingArea request tiles only in the direction the viewport is panned to.
31800         https://bugs.webkit.org/show_bug.cgi?id=67606
31801
31802         Reviewed by Noam Rosenthal.
31803
31804         TiledBackingStore previously used different values for horizontal and vertial multiplication
31805         to calculate the cover area.
31806         This patch replaces this mechanism, used to give a bigger panning range to vertical panning,
31807         with the possibility to use the motion vector of the viewport to request tiles ahead instead.
31808         This allows economies on rendering resources as tiles won't be rendered beside the trajectory
31809         of the viewport.
31810
31811         * platform/graphics/TiledBackingStore.cpp:
31812         (WebCore::TiledBackingStore::TiledBackingStore):
31813         (WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers):
31814         (WebCore::TiledBackingStore::setCoverAreaFocusVector):
31815         (WebCore::TiledBackingStore::createTiles):
31816         (WebCore::TiledBackingStore::calculateKeepRect):
31817         (WebCore::TiledBackingStore::calculateCoverRect):
31818         * platform/graphics/TiledBackingStore.h:
31819         (WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers):
31820
31821 2011-09-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
31822
31823         [Qt] TiledBackingStore: Import the resizeEdgeTiles logic from TiledDrawindAreaProxy.
31824         https://bugs.webkit.org/show_bug.cgi?id=67416
31825
31826         Reviewed by Kenneth Rohde Christiansen.
31827
31828         Original code by Antti Koivisto.
31829         With the current code, when the page is layouted during load, edge tiles will
31830         get removed instead of continuing to show their front buffer while the tile
31831         is being rendered for the new size.
31832
31833         * platform/graphics/Tile.h:
31834         * platform/graphics/TiledBackingStore.cpp:
31835         (WebCore::TiledBackingStore::createTiles):
31836         (WebCore::TiledBackingStore::resizeEdgeTiles):
31837         * platform/graphics/TiledBackingStore.h:
31838         * platform/graphics/qt/TileQt.cpp:
31839         (WebCore::TileQt::resize):
31840         * platform/graphics/qt/TileQt.h:
31841
31842 2011-09-07  Tim Horton  <timothy_horton@apple.com>
31843
31844         Don't round-trip through TransformationMatrix in SVGImageBufferTools::clearAffineTransform2DRotation
31845         https://bugs.webkit.org/show_bug.cgi?id=67242
31846         <rdar://problem/10069770>
31847
31848         Reviewed by Dirk Schulze.
31849
31850         No new tests, minor performance improvement.
31851
31852         * platform/graphics/transforms/AffineTransform.cpp:
31853         (WebCore::AffineTransform::blend):
31854         (WebCore::AffineTransform::decompose):
31855         (WebCore::AffineTransform::recompose):
31856         * platform/graphics/transforms/AffineTransform.h:
31857         * rendering/svg/SVGImageBufferTools.cpp:
31858         (WebCore::SVGImageBufferTools::clear2DRotation):
31859
31860 2011-09-06  Pavel Podivilov  <podivilov@chromium.org>
31861
31862         Web Inspector: do not re-create RawSourceCode when toggling pretty-print mode.
31863         https://bugs.webkit.org/show_bug.cgi?id=67647
31864
31865         1) Implement RawSourceCode.setFormatted that allows toggling pretty-print mode on the fly without resetting everything.
31866         2) Add RawSourceCode unit tests.
31867         3) Remove source mapping listeners and console messages from presentation model (they live in RawSourceCode now).
31868
31869         Reviewed by Yury Semikhatsky.
31870
31871         Test: inspector/debugger/raw-source-code.html
31872
31873         * inspector/front-end/DebuggerPresentationModel.js:
31874         (WebInspector.DebuggerPresentationModel):
31875         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
31876         (WebInspector.DebuggerPresentationModel.prototype._addScript):
31877         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
31878         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
31879         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
31880         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
31881         * inspector/front-end/ScriptsPanel.js:
31882         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
31883         * inspector/front-end/SourceFile.js:
31884         (WebInspector.RawSourceCode):
31885         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
31886         (WebInspector.RawSourceCode.prototype.setFormatted):
31887         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
31888         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
31889
31890 2011-09-07  Alexander Pavlov  <apavlov@chromium.org>
31891
31892         Web Inspector: Implement circular tabbing through the Styles sidebar pane contents
31893         https://bugs.webkit.org/show_bug.cgi?id=67127
31894
31895         Reviewed by Yury Semikhatsky.
31896
31897         * inspector/front-end/Section.js:
31898         (WebInspector.Section.prototype.get firstSibling):
31899         (WebInspector.Section.prototype.get lastSibling):
31900         * inspector/front-end/StylesSidebarPane.js:
31901         (WebInspector.StylePropertiesSection.prototype.nextEditableSibling):
31902         (WebInspector.StylePropertiesSection.prototype.previousEditableSibling):
31903         (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
31904         (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):
31905         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
31906         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
31907         (WebInspector.StylePropertyTreeElement.prototype):
31908         (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
31909
31910 2011-09-02  Andrey Kosyakov  <caseq@chromium.org>
31911
31912         Web Inspector: [Extensions API] expose console API
31913         https://bugs.webkit.org/show_bug.cgi?id=67506
31914
31915         Reviewed by Pavel Feldman.
31916
31917         Test: inspector/extensions/extensions-console.html
31918
31919         * inspector/front-end/ConsoleMessage.js:
31920         (WebInspector.ConsoleMessage.prototype.get text):
31921         (WebInspector.ConsoleMessage.prototype.get parameters):
31922         * inspector/front-end/ExtensionAPI.js:
31923         (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
31924         (WebInspector.injectedExtensionAPI):
31925         (WebInspector.injectedExtensionAPI.Console.prototype.getMessages):
31926         (WebInspector.injectedExtensionAPI.Console.prototype.addMessage):
31927         (WebInspector.injectedExtensionAPI.Console.prototype.get MessageLevel):
31928         (WebInspector.injectedExtensionAPI.Network.dispatchRequestEvent):
31929         (WebInspector.injectedExtensionAPI.Network):
31930         (WebInspector.injectedExtensionAPI.AuditCategoryImpl.dispatchAuditEvent):
31931         (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
31932         (WebInspector.injectedExtensionAPI.InspectedWindow.dispatchResourceEvent):
31933         (WebInspector.injectedExtensionAPI.InspectedWindow.dispatchResourceContentEvent):
31934         (WebInspector.injectedExtensionAPI.InspectedWindow):
31935         * inspector/front-end/ExtensionCommon.js:
31936         (WebInspector.commonExtensionSymbols):
31937         * inspector/front-end/ExtensionServer.js:
31938         (WebInspector.ExtensionServer):
31939         (WebInspector.ExtensionServer.prototype._notifyConsoleMessageAdded):
31940         (WebInspector.ExtensionServer.prototype._onGetConsoleMessages):
31941         (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
31942         (WebInspector.ExtensionServer.prototype._makeConsoleMessage):
31943         (WebInspector.ExtensionServer.prototype._makeConsoleMessage.convertParameter):
31944         (WebInspector.ExtensionServer.prototype._dispatchCallback):
31945         (WebInspector.ExtensionServer.prototype.initExtensions):
31946
31947 2011-09-05  Andrey Kosyakov  <caseq@chromium.org>
31948
31949         Web Inspector: disable popover when a mouse button is pressed
31950         https://bugs.webkit.org/show_bug.cgi?id=67610
31951
31952         Reviewed by Pavel Feldman.
31953
31954         - disable popover when a mouse button is pressed
31955         - disable popover in a SourceFrame when the source is being edited
31956
31957         * inspector/front-end/Popover.js:
31958         (WebInspector.PopoverHelper):
31959         (WebInspector.PopoverHelper.prototype._mouseUp):
31960         (WebInspector.PopoverHelper.prototype._mouseDown):
31961         (WebInspector.PopoverHelper.prototype._handleMouseAction):
31962         * inspector/front-end/SourceFrame.js:
31963         (WebInspector.SourceFrame.prototype._onHidePopover):
31964         (WebInspector.SourceFrame.prototype.doubleClick):
31965
31966 2011-09-07  Antti Koivisto  <antti@apple.com>
31967
31968         https://bugs.webkit.org/show_bug.cgi?id=67634
31969         De-virtualize styleForRenderer()
31970
31971         Reviewed by Sam Weinig.
31972         
31973         This has performance and code clarity benefits.
31974
31975         - move styleForRenderer from Node to Element
31976         - get rid of the now unnecessary NodeRenderingContext parameter
31977         - de-virtualize, add virtual customStyleForRenderer()
31978
31979         * dom/Element.cpp:
31980         (WebCore::Element::customStyleForRenderer):
31981         (WebCore::Element::styleForRenderer):
31982         (WebCore::Element::recalcStyle):
31983         * dom/Element.h:
31984         * dom/Node.cpp:
31985         * dom/Node.h:
31986         (WebCore::Node::hasCustomWillOrDidRecalcStyle):
31987         (WebCore::Node::setHasCustomWillOrDidRecalcStyle):
31988         (WebCore::Node::hasCustomStyleForRenderer):
31989         (WebCore::Node::setHasCustomStyleForRenderer):
31990         
31991             Move styleForRenderer, add customStyleForRenderer, add a bit.
31992         
31993         * dom/NodeRenderingContext.cpp:
31994         (WebCore::NodeRendererFactory::createRendererAndStyle): 
31995         
31996             Handle non-element case separately since styleForRenderer was moved from Node to Element.
31997
31998         * html/HTMLNoScriptElement.cpp:
31999         (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
32000         (WebCore::HTMLNoScriptElement::customStyleForRenderer):
32001         * html/HTMLNoScriptElement.h:
32002         
32003             Move a strange XHTMLMP special case to where it belongs.
32004
32005         * html/HTMLOptGroupElement.cpp:
32006         (WebCore::HTMLOptGroupElement::attach):
32007         * html/HTMLOptionElement.cpp:
32008         (WebCore::HTMLOptionElement::attach):
32009         * html/HTMLTitleElement.cpp:
32010         (WebCore::HTMLTitleElement::textWithDirection):
32011         * html/shadow/TextControlInnerElements.cpp:
32012         (WebCore::TextControlInnerElement::TextControlInnerElement):
32013         (WebCore::TextControlInnerElement::customStyleForRenderer):
32014         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
32015         (WebCore::TextControlInnerTextElement::customStyleForRenderer):
32016         * html/shadow/TextControlInnerElements.h:
32017         * rendering/svg/SVGShadowTreeElements.cpp:
32018         (WebCore::SVGShadowTreeContainerElement::customStyleForRenderer):
32019         * rendering/svg/SVGShadowTreeElements.h:
32020         * svg/SVGElement.cpp:
32021         (WebCore::SVGElement::SVGElement):
32022         (WebCore::SVGElement::customStyleForRenderer):
32023         * svg/SVGElement.h:
32024         
32025             Adopt customStyleForRenderer().
32026
32027 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
32028
32029         Change event is not fired for input[type=number] when the user reverts a change made by script
32030         https://bugs.webkit.org/show_bug.cgi?id=67697
32031
32032         Reviewed by Kent Tamura.
32033
32034         The bug was caused by HTMLInputElement::setValue not calling setTextAsOfLastFormControlChangeEvent
32035         for text fields other than type=text.
32036
32037         Also fixed a that stepUpFromRenderer does not call setTextAsOfLastFormControlChangeEvent at appropriate
32038         timing due to setValueAsNumber always passing sendChangeEvent=false to setValue by propagating values
32039         through setValueAsNumber and applyStep. This refactoring allows us to remove calls to dispatch* in
32040         stepUpFromRenderer because they're now called in setValueAsNumber or applyStep.
32041
32042         Test: fast/forms/number-input-changeevent.html
32043
32044         * html/BaseDateAndTimeInputType.cpp:
32045         (WebCore::BaseDateAndTimeInputType::setValueAsNumber):
32046         * html/BaseDateAndTimeInputType.h:
32047         * html/HTMLInputElement.cpp:
32048         (WebCore::HTMLInputElement::applyStep):
32049         (WebCore::HTMLInputElement::stepUp):
32050         (WebCore::HTMLInputElement::stepDown):
32051         (WebCore::HTMLInputElement::setValue):
32052         (WebCore::HTMLInputElement::setValueAsNumber):
32053         (WebCore::HTMLInputElement::stepUpFromRenderer):
32054         * html/HTMLInputElement.h:
32055         * html/InputType.cpp:
32056         (WebCore::InputType::setValueAsNumber):
32057         * html/InputType.h:
32058         * html/NumberInputType.cpp:
32059         (WebCore::NumberInputType::setValueAsNumber):
32060         * html/NumberInputType.h:
32061         * html/RangeInputType.cpp:
32062         (WebCore::RangeInputType::setValueAsNumber):
32063         (WebCore::RangeInputType::handleKeydownEvent):
32064         * html/RangeInputType.h:
32065
32066 2011-09-07  Antti Koivisto  <antti@apple.com>
32067
32068         Try to fix Qt build by moving the Qt specific include (which is not really allowed here!).
32069
32070         Not reviewed.
32071
32072         * css/CSSStyleSelector.cpp:
32073         * css/SelectorChecker.cpp:
32074         (WebCore::SelectorChecker::determineLinkStateSlowCase):
32075
32076 2011-09-07  Antti Koivisto  <antti@apple.com>
32077
32078         Move SelectorChecker out from CSSStyleSelector scope
32079         https://bugs.webkit.org/show_bug.cgi?id=67648
32080
32081         Reviewed by Sam Weinig.
32082
32083         - Move SelectorChecker to SelectorChecker.h/cpp
32084         - Make private functions private
32085         - Make members private, add accessors
32086         - Move m_sameOriginOnly to CSSStyleSelector as it is not used by SelectorChecker
32087
32088         * CMakeLists.txt:
32089         * GNUmakefile.list.am:
32090         * WebCore.gypi:
32091         * WebCore.pro:
32092         * WebCore.vcproj/WebCore.vcproj:
32093         * WebCore.xcodeproj/project.pbxproj:
32094         * css/CSSStyleSelector.cpp:
32095         (WebCore::CSSStyleSelector::CSSStyleSelector):
32096         (WebCore::CSSStyleSelector::matchRules):
32097         (WebCore::CSSStyleSelector::matchRulesForList):
32098         (WebCore::CSSStyleSelector::sortMatchedRules):
32099         (WebCore::CSSStyleSelector::initForStyleResolve):
32100         (WebCore::CSSStyleSelector::matchUARules):
32101         (WebCore::CSSStyleSelector::styleForElement):
32102         (WebCore::CSSStyleSelector::pseudoStyleForElement):
32103         (WebCore::CSSStyleSelector::styleForPage):
32104         (WebCore::CSSStyleSelector::adjustRenderStyle):
32105         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
32106         (WebCore::CSSStyleSelector::checkSelector):
32107         (WebCore::RuleData::RuleData):
32108         (WebCore::CSSStyleSelector::applyProperty):
32109         (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
32110         (WebCore::CSSStyleSelector::setFontSize):
32111         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
32112         * css/CSSStyleSelector.h:
32113         (WebCore::CSSStyleSelector::style):
32114         (WebCore::CSSStyleSelector::parentStyle):
32115         (WebCore::CSSStyleSelector::rootElementStyle):
32116         (WebCore::CSSStyleSelector::element):
32117         (WebCore::CSSStyleSelector::fontDescription):
32118         (WebCore::CSSStyleSelector::parentFontDescription):
32119         (WebCore::CSSStyleSelector::setFontDescription):
32120         (WebCore::CSSStyleSelector::setZoom):
32121         (WebCore::CSSStyleSelector::setEffectiveZoom):
32122         (WebCore::CSSStyleSelector::setTextSizeAdjust):
32123         (WebCore::CSSStyleSelector::setStyle):
32124         (WebCore::CSSStyleSelector::fontSelector):
32125         (WebCore::CSSStyleSelector::allVisitedStateChanged):
32126         (WebCore::CSSStyleSelector::visitedStateChanged):
32127         (WebCore::CSSStyleSelector::usesSiblingRules):
32128         (WebCore::CSSStyleSelector::usesFirstLineRules):
32129         (WebCore::CSSStyleSelector::usesBeforeAfterRules):
32130         (WebCore::CSSStyleSelector::usesLinkRules):
32131         (WebCore::CSSStyleSelector::addMatchedRule):
32132         (WebCore::CSSStyleSelector::isRightPage):
32133         (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
32134         (WebCore::CSSStyleSelector::styleNotYetAvailable):
32135         * css/SelectorChecker.cpp: Added.
32136         (WebCore::SelectorChecker::SelectorChecker):
32137         (WebCore::linkAttribute):
32138         (WebCore::SelectorChecker::determineLinkStateSlowCase):
32139         (WebCore::SelectorChecker::checkSelector):
32140         (WebCore::SelectorChecker::fastCheckSelector):
32141         (WebCore::SelectorChecker::isFastCheckableSelector):
32142         (WebCore::addLocalNameToSet):
32143         (WebCore::createHtmlCaseInsensitiveAttributesSet):
32144         (WebCore::htmlAttributeHasCaseInsensitiveValue):
32145         (WebCore::attributeQualifiedNameMatches):
32146         (WebCore::attributeValueMatches):
32147         (WebCore::anyAttributeMatches):
32148         (WebCore::SelectorChecker::checkOneSelector):
32149         (WebCore::SelectorChecker::checkScrollbarPseudoClass):
32150         (WebCore::SelectorChecker::allVisitedStateChanged):
32151         (WebCore::SelectorChecker::visitedStateChanged):
32152         * css/SelectorChecker.h: Added.
32153         (WebCore::SelectorChecker::document):
32154         (WebCore::SelectorChecker::strictParsing):
32155         (WebCore::SelectorChecker::isCollectingRulesOnly):
32156         (WebCore::SelectorChecker::setCollectingRulesOnly):
32157         (WebCore::SelectorChecker::isMatchingVisitedPseudoClass):
32158         (WebCore::SelectorChecker::setMatchingVisitedPseudoClass):
32159         (WebCore::SelectorChecker::pseudoStyle):
32160         (WebCore::SelectorChecker::setPseudoStyle):
32161         (WebCore::SelectorChecker::hasUnknownPseudoElements):
32162         (WebCore::SelectorChecker::clearHasUnknownPseudoElements):
32163         (WebCore::SelectorChecker::determineLinkState):
32164         * dom/Element.cpp:
32165         (WebCore::Element::webkitMatchesSelector):
32166         * dom/SelectorQuery.cpp:
32167         (WebCore::SelectorQuery::SelectorQuery):
32168         * dom/SelectorQuery.h:
32169
32170 2011-09-07  Dmitry Lomov  <dslomov@google.com>
32171
32172         https://bugs.webkit.org/show_bug.cgi?id=67413 
32173         [Chromium]Web Inspector: inspected page with dedicated worker crashes on refresh.
32174         This patch enforces lifetime ordering between WorkerInspectorController and WorkerScriptController.
32175
32176         Reviewed by Yury Semikhatsky.
32177
32178         * workers/WorkerContext.cpp:
32179         (WebCore::WorkerContext::clearInspector):
32180         * workers/WorkerContext.h:
32181         * workers/WorkerThread.cpp:
32182         (WebCore::WorkerThreadShutdownFinishTask::performTask):
32183
32184 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
32185
32186         Unreviewed, rolling out r94627 and r94632.
32187         http://trac.webkit.org/changeset/94627
32188         http://trac.webkit.org/changeset/94632
32189         https://bugs.webkit.org/show_bug.cgi?id=67698
32190
32191         It broke tests on GTK and Qt (Requested by Ossy on #webkit).
32192
32193         * WebCore.exp.in:
32194         * bindings/js/JSDOMBinding.h:
32195         (WebCore::DOMConstructorObject::DOMConstructorObject):
32196         * bindings/js/JSDOMGlobalObject.cpp:
32197         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
32198         * bindings/js/JSDOMGlobalObject.h:
32199         * bindings/js/JSDOMWindowShell.cpp:
32200         (WebCore::JSDOMWindowShell::create):
32201         * bindings/js/JSDOMWindowShell.h:
32202         * bindings/js/JSDOMWrapper.h:
32203         (WebCore::JSDOMWrapper::JSDOMWrapper):
32204         * bindings/scripts/CodeGeneratorJS.pm:
32205         (GenerateImplementation):
32206         * bindings/scripts/test/JS/JSTestInterface.cpp:
32207         (WebCore::JSTestInterface::JSTestInterface):
32208         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
32209         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
32210         * bindings/scripts/test/JS/JSTestObj.cpp:
32211         (WebCore::JSTestObj::JSTestObj):
32212         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
32213         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
32214         * bridge/c/CRuntimeObject.cpp:
32215         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
32216         * bridge/c/CRuntimeObject.h:
32217         * bridge/jni/jsc/JavaRuntimeObject.cpp:
32218         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
32219         * bridge/jni/jsc/JavaRuntimeObject.h:
32220         * bridge/objc/ObjCRuntimeObject.h:
32221         * bridge/objc/ObjCRuntimeObject.mm:
32222         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
32223         * bridge/objc/objc_runtime.h:
32224         (JSC::Bindings::ObjcFallbackObjectImp::create):
32225         * bridge/objc/objc_runtime.mm:
32226         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
32227         * bridge/qt/qt_instance.cpp:
32228         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
32229         * bridge/qt/qt_pixmapruntime.cpp:
32230         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
32231         * bridge/qt/qt_runtime.cpp:
32232         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
32233         * bridge/qt/qt_runtime.h:
32234         * bridge/runtime_array.cpp:
32235         (JSC::RuntimeArray::RuntimeArray):
32236         * bridge/runtime_array.h:
32237         (JSC::RuntimeArray::create):
32238         * bridge/runtime_method.cpp:
32239         (JSC::RuntimeMethod::RuntimeMethod):
32240         * bridge/runtime_method.h:
32241         * bridge/runtime_object.cpp:
32242         (JSC::Bindings::RuntimeObject::RuntimeObject):
32243         * bridge/runtime_object.h:
32244         (JSC::Bindings::RuntimeObject::create):
32245
32246 2011-08-31  Yury Semikhatsky  <yurys@chromium.org>
32247
32248         fast/workers/worker-script-error.html fails on Chromium after r94061
32249         https://bugs.webkit.org/show_bug.cgi?id=67206
32250
32251         Default action should be prevented if window.onerror returned true and stay
32252         not prevented otherwise.
32253
32254         Reviewed by Dmitry Titov.
32255
32256         Tests: fast/events/window-onerror14.html
32257                fast/events/window-onerror15.html
32258                fast/events/window-onerror16.html
32259
32260         * bindings/v8/V8AbstractEventListener.cpp:
32261         (WebCore::V8AbstractEventListener::invokeEventHandler):
32262         (WebCore::V8AbstractEventListener::shouldPreventDefault): allow specific
32263         event listeners to decide when to prevent default action based on the handler
32264         return value.
32265         * bindings/v8/V8AbstractEventListener.h:
32266         * bindings/v8/V8WindowErrorHandler.cpp:
32267         (WebCore::V8WindowErrorHandler::callListenerFunction):
32268         (WebCore::V8WindowErrorHandler::shouldPreventDefault):
32269         * bindings/v8/V8WindowErrorHandler.h:
32270         * bindings/v8/V8WorkerContextErrorHandler.cpp:
32271         (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
32272         (WebCore::V8WorkerContextErrorHandler::shouldPreventDefault):
32273         * bindings/v8/V8WorkerContextErrorHandler.h:
32274
32275 2011-09-06  Xianzhu Wang  <wangxianzhu@chromium.org>
32276
32277         Replace usages of Vector<UChar> with existing StringBuilder
32278         https://bugs.webkit.org/show_bug.cgi?id=67079
32279
32280         Reviewed by Gavin Barraclough.
32281
32282         No new tests. All existing unit tests and layout tests should run
32283         as before.
32284
32285         * css/CSSOMUtils.cpp:
32286         (WebCore::appendCharacter):
32287         (WebCore::serializeCharacter):
32288         (WebCore::serializeCharacterAsCodePoint):
32289         (WebCore::serializeIdentifier):
32290         (WebCore::serializeString):
32291         * css/CSSOMUtils.h:
32292         * css/CSSPrimitiveValue.cpp:
32293         (WebCore::CSSPrimitiveValue::cssText):
32294         * css/CSSStyleSelector.cpp:
32295         (WebCore::CSSStyleSelector::SelectorChecker::determineLinkStateSlowCase):
32296         * css/CSSWrapShapes.cpp:
32297         (WebCore::CSSWrapShapeRect::cssText):
32298         (WebCore::CSSWrapShapeCircle::cssText):
32299         (WebCore::CSSWrapShapeEllipse::cssText):
32300         (WebCore::CSSWrapShapePolygon::cssText):
32301         * editing/HTMLInterchange.cpp:
32302         (WebCore::convertHTMLTextToInterchangeFormat):
32303         * editing/MarkupAccumulator.cpp:
32304         (WebCore::appendCharactersReplacingEntities):
32305         (WebCore::MarkupAccumulator::serializeNodes):
32306         (WebCore::MarkupAccumulator::appendStartTag):
32307         (WebCore::MarkupAccumulator::appendEndTag):
32308         (WebCore::MarkupAccumulator::concatenateMarkup):
32309         (WebCore::MarkupAccumulator::appendAttributeValue):
32310         (WebCore::MarkupAccumulator::appendCustomAttributes):
32311         (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
32312         (WebCore::MarkupAccumulator::appendNodeValue):
32313         (WebCore::MarkupAccumulator::appendNamespace):
32314         (WebCore::MarkupAccumulator::appendText):
32315         (WebCore::MarkupAccumulator::appendComment):
32316         (WebCore::MarkupAccumulator::appendDocumentType):
32317         (WebCore::MarkupAccumulator::appendProcessingInstruction):
32318         (WebCore::MarkupAccumulator::appendElement):
32319         (WebCore::MarkupAccumulator::appendOpenTag):
32320         (WebCore::MarkupAccumulator::appendCloseTag):
32321         (WebCore::MarkupAccumulator::appendAttribute):
32322         (WebCore::MarkupAccumulator::appendCDATASection):
32323         (WebCore::MarkupAccumulator::appendStartMarkup):
32324         (WebCore::MarkupAccumulator::appendEndMarkup):
32325         * editing/MarkupAccumulator.h:
32326         * editing/markup.cpp:
32327         (WebCore::StyledMarkupAccumulator::appendElement):
32328         (WebCore::StyledMarkupAccumulator::wrapWithNode):
32329         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
32330         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
32331         (WebCore::StyledMarkupAccumulator::takeResults):
32332         (WebCore::StyledMarkupAccumulator::appendText):
32333         (WebCore::urlToMarkup):
32334         * html/DOMTokenList.cpp:
32335         (WebCore::DOMTokenList::removeToken):
32336         * html/HTMLFontElement.cpp:
32337         (WebCore::parseFontSize):
32338         * html/HTMLTextFormControlElement.cpp:
32339         (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
32340         * html/parser/CSSPreloadScanner.cpp:
32341         (WebCore::CSSPreloadScanner::emitRule):
32342         * html/parser/CSSPreloadScanner.h:
32343         * html/parser/HTMLEntityParser.cpp:
32344         (WebCore::consumeHTMLEntity):
32345         * html/parser/HTMLEntityParser.h:
32346         * html/parser/HTMLParserIdioms.cpp:
32347         (WebCore::parseHTMLInteger):
32348         (WebCore::parseHTMLNonNegativeInteger):
32349         * html/parser/HTMLTokenizer.cpp:
32350         (WebCore::HTMLTokenizer::processEntity):
32351         (WebCore::HTMLTokenizer::nextToken):
32352         * html/parser/HTMLTreeBuilder.cpp:
32353         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::giveRemainingTo):
32354         (WebCore::HTMLTreeBuilder::defaultForInTableText):
32355         * html/parser/HTMLTreeBuilder.h:
32356         * inspector/InspectorValues.cpp:
32357         (WebCore::InspectorValue::toJSONString):
32358         (WebCore::InspectorValue::writeJSON):
32359         (WebCore::InspectorBasicValue::writeJSON):
32360         (WebCore::InspectorString::writeJSON):
32361         (WebCore::InspectorObject::writeJSON):
32362         (WebCore::InspectorArray::writeJSON):
32363         * inspector/InspectorValues.h:
32364         * loader/CrossOriginAccessControl.cpp:
32365         (WebCore::createAccessControlPreflightRequest):
32366         * loader/appcache/ApplicationCacheStorage.cpp:
32367         (WebCore::ApplicationCacheStorage::store):
32368         * page/Chrome.cpp:
32369         (WebCore::Chrome::setToolTip):
32370         * page/PageSerializer.cpp:
32371         (WebCore::SerializerMarkupAccumulator::appendText):
32372         (WebCore::SerializerMarkupAccumulator::appendElement):
32373         (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
32374         * page/SecurityOrigin.cpp:
32375         (WebCore::SecurityOrigin::toString):
32376         * platform/KURL.cpp:
32377         (WebCore::KURL::deprecatedString):
32378         (WebCore::decodeURLEscapeSequences):
32379         * platform/LinkHash.cpp:
32380         (WebCore::squeezeOutNullCharacters):
32381         (WebCore::cleanSlashDotDotSlashes):
32382         (WebCore::mergeDoubleSlashes):
32383         (WebCore::cleanSlashDotSlashes):
32384         (WebCore::cleanPath):
32385         (WebCore::visitedURLInline):
32386         (WebCore::visitedURL):
32387         (WebCore::visitedLinkHash):
32388         * platform/LinkHash.h:
32389         * platform/gtk/DataObjectGtk.cpp:
32390         (WebCore::DataObjectGtk::setURL):
32391         * platform/network/HTTPParsers.cpp:
32392         (WebCore::extractMIMETypeFromMediaType):
32393         * platform/text/TextCodecICU.cpp:
32394         (WebCore::TextCodecICU::decode):
32395         * platform/text/TextStream.cpp:
32396         (WebCore::TextStream::operator<<):
32397         (WebCore::TextStream::release):
32398         * platform/text/TextStream.h:
32399         * plugins/PluginStream.cpp:
32400         (WebCore::PluginStream::startStream):
32401         * rendering/InlineTextBox.cpp:
32402         (WebCore::adjustCharactersAndLengthForHyphen):
32403         * rendering/InlineTextBox.h:
32404         (WebCore::BufferForAppendingHyphen::BufferForAppendingHyphen):
32405         * rendering/RenderListItem.cpp:
32406         (WebCore::RenderListItem::markerTextWithSuffix):
32407         * rendering/RenderListMarker.cpp:
32408         (WebCore::toSymbolic):
32409         (WebCore::RenderListMarker::paint):
32410         (WebCore::RenderListMarker::suffix):
32411         * rendering/RenderTreeAsText.cpp:
32412         (WebCore::quoteAndEscapeNonPrintables):
32413         * rendering/mathml/RenderMathMLFenced.cpp:
32414         (WebCore::RenderMathMLFenced::updateFromElement):
32415         * storage/IDBLevelDBCoding.cpp:
32416         (WebCore::IDBLevelDBCoding::decodeString):
32417         * xml/XMLHttpRequest.cpp:
32418         (WebCore::XMLHttpRequest::getAllResponseHeaders):
32419         * xml/XPathFunctions.cpp:
32420         (WebCore::XPath::FunId::evaluate):
32421         (WebCore::XPath::FunConcat::evaluate):
32422         * xml/XPathUtil.cpp:
32423         (WebCore::XPath::stringValue):
32424         * xml/XSLTProcessorLibxslt.cpp:
32425         (WebCore::writeToStringBuilder):
32426         (WebCore::saveResultToString):
32427         * xml/parser/CharacterReferenceParserInlineMethods.h:
32428         (WebCore::unconsumeCharacters):
32429         (WebCore::consumeCharacterReference):
32430         * xml/parser/XMLCharacterReferenceParser.cpp:
32431         (WebCore::consumeXMLCharacterReference):
32432         * xml/parser/XMLCharacterReferenceParser.h:
32433         * xml/parser/XMLTokenizer.cpp:
32434         (WebCore::XMLTokenizer::nextToken):
32435
32436 2011-09-05  Kent Tamura  <tkent@chromium.org>
32437
32438         REGRESSION (Safari 5.1 - ToT): File input retains its file icon when the value is reset
32439         https://bugs.webkit.org/show_bug.cgi?id=67567
32440
32441         Reviewed by Dimitri Glazkov.
32442
32443         - Introduce InputType::setValue(), which is called by HTMLInputElement::setValue().
32444         - Clear m_icon in FileInputType::setValue().
32445
32446         Tests: fast/forms/file/file-reset-in-change-expected.html
32447                fast/forms/file/file-reset-in-change.html
32448
32449         * html/BaseButtonInputType.cpp:
32450         (WebCore::BaseButtonInputType::setValue):
32451         Implemenation for the "default" mode.
32452         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-default
32453         * html/BaseButtonInputType.h:
32454         * html/BaseCheckableInputType.cpp:
32455         (WebCore::BaseCheckableInputType::setValue):
32456         Implemenation for the "default/on" mode.
32457         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-default-on
32458         * html/BaseCheckableInputType.h:
32459         * html/FileInputType.cpp:
32460         (WebCore::FileInputType::setValue):
32461         Implemenation for the "filename" mode, and clearing m_icon.
32462         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-filename
32463         * html/FileInputType.h:
32464         * html/HTMLInputElement.cpp:
32465         (WebCore::HTMLInputElement::setValue):
32466         Move some code to InputType::setValue().
32467         (WebCore::HTMLInputElement::setValueInternal): A helper for InputType::setValue().
32468         * html/HTMLInputElement.h:
32469         * html/HiddenInputType.cpp:
32470         (WebCore::HiddenInputType::setValue):
32471         Implementation for the "default" mode.
32472         * html/HiddenInputType.h:
32473         * html/InputType.cpp:
32474         (WebCore::InputType::setValue):
32475         Implementation for the "value" mode.
32476         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-value
32477         * html/InputType.h:
32478         * html/TextFieldInputType.cpp:
32479         (WebCore::TextFieldInputType::setValue):
32480         In addition to the "value" mode processing, updates placeholder visibililty.
32481         * html/TextFieldInputType.h:
32482
32483 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
32484
32485         REGRESSION(r94274): The inner text value of an input element is not updated when input.value is set
32486         https://bugs.webkit.org/show_bug.cgi?id=67681
32487
32488         Reviewed by Kent Tamura.
32489
32490         The bug was caused by HTMLInputElement::setValue's not clearing m_suggestedValue before updateInnerTextValue is called.
32491         Since updateInnerTextValue uses the suggested value when one is present, we need to clear m_suggestedValue in advance.
32492
32493         Test: fast/forms/suggested-value-after-setvalue.html
32494
32495         * html/HTMLInputElement.cpp:
32496         (WebCore::HTMLInputElement::setValue):
32497
32498 2011-09-06  Adam Barth  <abarth@webkit.org>
32499
32500         Attempt to fix GTK build.
32501
32502         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
32503         (WebKit::createHTMLElementWrapper):
32504
32505 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
32506
32507         fast/forms/suggested-value-crash.html crashes on Windows
32508         https://bugs.webkit.org/show_bug.cgi?id=67688
32509
32510         Reviewed by Adam Barth.
32511
32512         The crash was caused because functions in internals were accessing uninitialized QualifiedNames.
32513         Fixed the bug by avoiding to link to inputTag and textareaTag. Instead, we resort to toInputElement
32514         and string comparison.
32515
32516         * testing/Internals.cpp:
32517         (WebCore::Internals::wasLastChangeUserEdit):
32518         (WebCore::Internals::suggestedValue):
32519         (WebCore::Internals::setSuggestedValue):
32520
32521 2011-09-06  Mark Hahnenberg  <mhahnenberg@apple.com>
32522
32523         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
32524         https://bugs.webkit.org/show_bug.cgi?id=67420
32525
32526         Reviewed by Geoffrey Garen.
32527
32528         No new tests.
32529
32530         Completed the fifth level of the refactoring to add finishCreation() 
32531         methods to all classes within the JSCell hierarchy with non-trivial 
32532         constructor bodies.
32533
32534         This primarily consists of pushing the calls to finishCreation() down 
32535         into the constructors of the subclasses of the second level of the hierarchy 
32536         as well as pulling the finishCreation() calls out into the class's corresponding
32537         create() method if it has one.  Doing both simultaneously allows us to 
32538         maintain the invariant that the finishCreation() method chain is called exactly 
32539         once during the creation of an object, since calling it any other number of 
32540         times (0, 2, or more) will cause an assertion failure.
32541
32542         * WebCore.exp.in:
32543         * bindings/js/JSDOMBinding.h:
32544         (WebCore::DOMConstructorObject::DOMConstructorObject):
32545         * bindings/js/JSDOMGlobalObject.cpp:
32546         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
32547         (WebCore::JSDOMGlobalObject::finishCreation):
32548         * bindings/js/JSDOMGlobalObject.h:
32549         * bindings/js/JSDOMWindowShell.cpp:
32550         * bindings/js/JSDOMWindowShell.h:
32551         (WebCore::JSDOMWindowShell::create):
32552         * bindings/js/JSDOMWrapper.h:
32553         (WebCore::JSDOMWrapper::JSDOMWrapper):
32554         * bindings/scripts/CodeGeneratorJS.pm:
32555         (GenerateImplementation):
32556         * bindings/scripts/test/JS/JSTestInterface.cpp:
32557         (WebCore::JSTestInterface::JSTestInterface):
32558         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
32559         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
32560         * bindings/scripts/test/JS/JSTestObj.cpp:
32561         (WebCore::JSTestObj::JSTestObj):
32562         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
32563         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
32564         * bridge/c/CRuntimeObject.cpp:
32565         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
32566         (JSC::Bindings::CRuntimeObject::finishCreation):
32567         * bridge/c/CRuntimeObject.h:
32568         * bridge/jni/jsc/JavaRuntimeObject.cpp:
32569         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
32570         (JSC::Bindings::JavaRuntimeObject::finishCreation):
32571         * bridge/jni/jsc/JavaRuntimeObject.h:
32572         * bridge/objc/ObjCRuntimeObject.h:
32573         * bridge/objc/ObjCRuntimeObject.mm:
32574         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
32575         (JSC::Bindings::ObjCRuntimeObject::finishCreation):
32576         * bridge/objc/objc_runtime.h:
32577         (JSC::Bindings::ObjcFallbackObjectImp::create):
32578         * bridge/objc/objc_runtime.mm:
32579         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
32580         * bridge/qt/qt_instance.cpp:
32581         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
32582         * bridge/qt/qt_pixmapruntime.cpp:
32583         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
32584         * bridge/qt/qt_runtime.cpp:
32585         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
32586         (JSC::Bindings::QtRuntimeMethod::finishCreation):
32587         * bridge/qt/qt_runtime.h:
32588         * bridge/runtime_array.cpp:
32589         (JSC::RuntimeArray::RuntimeArray):
32590         * bridge/runtime_array.h:
32591         (JSC::RuntimeArray::create):
32592         * bridge/runtime_method.cpp:
32593         (JSC::RuntimeMethod::RuntimeMethod):
32594         (JSC::RuntimeMethod::finishCreation):
32595         * bridge/runtime_method.h:
32596         * bridge/runtime_object.cpp:
32597         (JSC::Bindings::RuntimeObject::RuntimeObject):
32598         * bridge/runtime_object.h:
32599         (JSC::Bindings::RuntimeObject::create):
32600
32601 2011-09-06  Luke Macpherson   <macpherson@chromium.org>
32602
32603         Implement list style properties in CSSStyleApplyProperty.
32604         https://bugs.webkit.org/show_bug.cgi?id=67103
32605
32606         Reviewed by Eric Seidel.
32607
32608         No new tests / no behavioral changes.
32609
32610         * css/CSSStyleApplyProperty.cpp:
32611         Add class to wrap call to CSSStyleSelector::styleImage().
32612         (WebCore::ApplyPropertyStyleImage::ApplyPropertyStyleImage):
32613         (WebCore::ApplyPropertyStyleImage::applyValue):
32614         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
32615         Initialize handlers for list style properties.
32616         * css/CSSStyleSelector.cpp:
32617         (WebCore::CSSStyleSelector::applyProperty):
32618         Remove existing property implementations.
32619
32620 2011-09-06  Alexis Menard  <alexis.menard@openbossa.org>
32621
32622         [Qt] Move away from QPointer as it is slow and it has a replacement QWeakPointer.
32623         https://bugs.webkit.org/show_bug.cgi?id=67673
32624
32625         Reviewed by Ariya Hidayat.
32626
32627         Move away from QPointer to QWeakPointer, it is faster.
32628
32629         No new tests, the existing ones should cover.
32630
32631         * bridge/qt/qt_instance.cpp:
32632         (JSC::Bindings::QtInstance::~QtInstance):
32633         (JSC::Bindings::QtInstance::getClass):
32634         (JSC::Bindings::QtField::name):
32635         (JSC::Bindings::QtField::valueFromInstance):
32636         * bridge/qt/qt_instance.h:
32637         (JSC::Bindings::QtInstance::getObject):
32638         * bridge/qt/qt_runtime.h:
32639         * platform/qt/SharedTimerQt.cpp:
32640         (WebCore::SharedTimerQt::inst):
32641
32642 2011-09-06  Oliver Hunt  <oliver@apple.com>
32643
32644         Update expected results of bindings tests.
32645
32646         * bindings/scripts/test/JS/JSTestInterface.cpp:
32647         (WebCore::JSTestInterfaceConstructor::createStructure):
32648         (WebCore::JSTestInterface::createPrototype):
32649         * bindings/scripts/test/JS/JSTestInterface.h:
32650         (WebCore::JSTestInterface::createStructure):
32651         (WebCore::JSTestInterfacePrototype::createStructure):
32652         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
32653         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
32654         (WebCore::JSTestMediaQueryListListener::createPrototype):
32655         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
32656         (WebCore::JSTestMediaQueryListListener::createStructure):
32657         (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
32658         * bindings/scripts/test/JS/JSTestObj.cpp:
32659         (WebCore::JSTestObjConstructor::createStructure):
32660         (WebCore::JSTestObj::createPrototype):
32661         * bindings/scripts/test/JS/JSTestObj.h:
32662         (WebCore::JSTestObj::createStructure):
32663         (WebCore::JSTestObjPrototype::createStructure):
32664         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
32665         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
32666         (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
32667         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
32668         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
32669         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
32670
32671 2011-09-06  Eric Seidel  <eric@webkit.org>
32672
32673         Remove window.HTMLBlockquoteElement per HTML5 (and DOM Core 1)
32674         https://bugs.webkit.org/show_bug.cgi?id=67678
32675
32676         Reviewed by Darin Adler.
32677
32678         This is why we can't have nice things.
32679
32680         There was some confusion in the original DOM HTML 1 spec about
32681         the existence of HTMlBlockquoteElement which was clarified by
32682         a later errata, removing HTMLBlockquoteElement:
32683         http://www.w3.org/DOM/updates/REC-DOM-Level-1-19981001-errata.html
32684         "This interface is an error and must be ignored. The Interface HTMLQuoteElement is used for both the Q and BLOCKQUOTE elements"
32685
32686         Le sigh.  Personally I think having a separate HTMLBlockquoteElement
32687         is clearer, but thats not how the web works.  Removed it and updated test results.
32688
32689         * CMakeLists.txt:
32690         * CodeGenerators.pri:
32691         * DerivedSources.cpp:
32692         * DerivedSources.make:
32693         * GNUmakefile.list.am:
32694         * WebCore.gypi:
32695         * WebCore.pro:
32696         * WebCore.vcproj/WebCore.vcproj:
32697         * WebCore.xcodeproj/project.pbxproj:
32698         * bindings/gobject/GNUmakefile.am:
32699         * editing/IndentOutdentCommand.cpp:
32700         * html/HTMLBlockquoteElement.cpp: Removed.
32701         * html/HTMLBlockquoteElement.h: Removed.
32702         * html/HTMLBlockquoteElement.idl: Removed.
32703         * html/HTMLElementsAllInOne.cpp:
32704         * html/HTMLQuoteElement.cpp:
32705         (WebCore::HTMLQuoteElement::HTMLQuoteElement):
32706         (WebCore::HTMLQuoteElement::insertedIntoDocument):
32707         * html/HTMLTagNames.in:
32708         * page/DOMWindow.idl:
32709
32710 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
32711
32712         Rename confirmCompositionWithoutDisturbingSelection to cancelComposition
32713         https://bugs.webkit.org/show_bug.cgi?id=67569
32714
32715         Reviewed by Antonio Gomes.
32716
32717         Renamed Editor::confirmCompositionWithoutDisturbingSelection to Editor::cancelComposition.
32718         Also renamed the shared function from confirmComposition to setComposition.
32719
32720         * WebCore.exp.in:
32721         * editing/Editor.cpp:
32722         (WebCore::Editor::confirmComposition):
32723         (WebCore::Editor::cancelComposition):
32724         (WebCore::Editor::setComposition):
32725         * editing/Editor.h:
32726
32727 2011-09-06  Sam Weinig  <sam@webkit.org>
32728
32729         WebVTTTokenizer files in the wrong place in the Xcode project.
32730
32731         * WebCore.xcodeproj/project.pbxproj:
32732         Move WebVTTTokenizer files so they are in the right place in the project.
32733
32734 2011-09-06  Chris Rogers  <crogers@google.com>
32735
32736         MediaElementAudioSourceNode destruction triggers ASSERTS
32737         https://bugs.webkit.org/show_bug.cgi?id=67665
32738
32739         Reviewed by Nate Chapin.
32740
32741         Test: webaudio/mediaelementaudiosourcenode-gc.html
32742
32743         * html/HTMLMediaElement.cpp:
32744         (WebCore::HTMLMediaElement::setAudioSourceNode):
32745         * webaudio/AudioContext.cpp:
32746         (WebCore::AudioContext::uninitializeDispatch):
32747         (WebCore::AudioContext::stop):
32748         * webaudio/AudioContext.h:
32749
32750 2011-09-05  Oliver Hunt  <oliver@apple.com>
32751
32752         An object's structure should reference the global object responsible for its creation
32753         https://bugs.webkit.org/show_bug.cgi?id=67624
32754
32755         Reviewed by Gavin Barraclough.
32756
32757         Update calls to Structure::create() to pass the globalObject in,
32758         and update the CodeGenerator to generate appropriate createStructure
32759         methods.
32760
32761         * bindings/js/JSAudioConstructor.h:
32762         (WebCore::JSAudioConstructor::createStructure):
32763         * bindings/js/JSDOMBinding.h:
32764         (WebCore::DOMConstructorObject::createStructure):
32765         (WebCore::getDOMStructure):
32766         * bindings/js/JSDOMGlobalObject.h:
32767         (WebCore::JSDOMGlobalObject::createStructure):
32768         (WebCore::getDOMConstructor):
32769         * bindings/js/JSDOMWindowBase.h:
32770         (WebCore::JSDOMWindowBase::createStructure):
32771         * bindings/js/JSDOMWindowShell.cpp:
32772         (WebCore::JSDOMWindowShell::setWindow):
32773         * bindings/js/JSDOMWindowShell.h:
32774         (WebCore::JSDOMWindowShell::createStructure):
32775         * bindings/js/JSDOMWrapper.h:
32776         (WebCore::JSDOMWrapper::createStructure):
32777         * bindings/js/JSImageConstructor.h:
32778         (WebCore::JSImageConstructor::createStructure):
32779         * bindings/js/JSImageDataCustom.cpp:
32780         (WebCore::toJS):
32781         * bindings/js/JSOptionConstructor.h:
32782         (WebCore::JSOptionConstructor::createStructure):
32783         * bindings/js/JSWorkerContextBase.h:
32784         (WebCore::JSWorkerContextBase::createStructure):
32785         * bindings/js/WorkerScriptController.cpp:
32786         (WebCore::WorkerScriptController::initScript):
32787         * bindings/scripts/CodeGeneratorJS.pm:
32788         (GenerateHeader):
32789         (GenerateImplementation):
32790         (GenerateConstructorDeclaration):
32791         * bridge/c/CRuntimeObject.h:
32792         (JSC::Bindings::CRuntimeObject::createStructure):
32793         * bridge/c/c_instance.cpp:
32794         (JSC::Bindings::CRuntimeMethod::createStructure):
32795         * bridge/jni/jsc/JavaInstanceJSC.cpp:
32796         (JavaRuntimeMethod::createStructure):
32797         * bridge/jni/jsc/JavaRuntimeObject.h:
32798         (JSC::Bindings::JavaRuntimeObject::createStructure):
32799         * bridge/objc/ObjCRuntimeObject.h:
32800         (JSC::Bindings::ObjCRuntimeObject::createStructure):
32801         * bridge/objc/objc_instance.mm:
32802         (ObjCRuntimeMethod::createStructure):
32803         * bridge/objc/objc_runtime.h:
32804         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
32805         * bridge/runtime_array.h:
32806         (JSC::RuntimeArray::createStructure):
32807         * bridge/runtime_method.h:
32808         (JSC::RuntimeMethod::createStructure):
32809         * bridge/runtime_object.h:
32810         (JSC::Bindings::RuntimeObject::createStructure):
32811
32812 2011-09-06  Anders Carlsson  <andersca@apple.com>
32813
32814         Move NPAPI headers in bridge to plugins
32815         https://bugs.webkit.org/show_bug.cgi?id=67661
32816
32817         Reviewed by Darin Adler.
32818
32819         * WebCore.gypi:
32820         * WebCore.pro:
32821         * WebCore.vcproj/WebCore.vcproj:
32822         * WebCore.xcodeproj/project.pbxproj:
32823         Update build systems.
32824
32825         * bridge/npapi.h: Removed.
32826         * bridge/npruntime.h: Removed.
32827         * bridge/nptypes.h: Removed.
32828         * plugins/npapi.h: Copied from Source/WebCore/bridge/npapi.h.
32829         * plugins/npruntime.h: Copied from Source/WebCore/bridge/npruntime.h.
32830         * plugins/nptypes.h: Copied from Source/WebCore/bridge/nptypes.h.
32831
32832 2011-09-06  David Hyatt  <hyatt@apple.com>
32833
32834         https://bugs.webkit.org/show_bug.cgi?id=67672
32835         
32836         Improve background-size parsing. Make it actually dump auto values properly, and also make it omit
32837         auto if it is the second value. Fix the parsing to not create a value list when only a singleton value
32838         is specified.
32839
32840         Reviewed by Beth Dakin.
32841
32842         Covered well by existing tests.
32843
32844         * css/CSSComputedStyleDeclaration.cpp:
32845         (WebCore::fillSizeToCSSValue):
32846         * css/CSSParser.cpp:
32847         (WebCore::CSSParser::parseFillSize):
32848         * css/CSSStyleSelector.cpp:
32849         (WebCore::CSSStyleSelector::mapFillSize):
32850
32851 2011-09-06  David Hyatt  <hyatt@apple.com>
32852
32853         https://bugs.webkit.org/show_bug.cgi?id=67657
32854         
32855         Implement border-image-width. This patch stops short of converting -webkit-border-image to a shorthand.
32856         I'll do that in the next patch.
32857
32858         Note that unlike the -webkit-border-image syntax, border-image-width does not actually set the border
32859         width values. It simply makes cuts into the border image drawing area (which for now is just the border
32860         box, but that will change once border-image-outset is implemented).
32861         
32862         This means we need additional storage for the slices, since they are now separate from the border widths.
32863         
32864         For backwards compatibility, -webkit-border-image will continue to set the border widths when
32865         border-image-width is specified in the -webkit-border-image shorthand.
32866
32867         Reviewed by Beth Dakin.
32868
32869         Added new tests in fast/borders.
32870
32871         * css/CSSBorderImageSliceValue.cpp:
32872         (WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue):
32873         (WebCore::CSSBorderImageSliceValue::cssText):
32874         * css/CSSBorderImageSliceValue.h:
32875         (WebCore::CSSBorderImageSliceValue::create):
32876         (WebCore::CSSBorderImageSliceValue::slices):
32877         Rename slices() to imageSlices() and add borderSlices() and m_borderSlices to hold the desired cuts
32878         for the border image drawing area. Converted the slices over to the new Quad primitive value (a RectBase
32879         subclass that is identical to Rect but dumps as a quad instead of a rect primitive).
32880
32881         * css/CSSBorderImageValue.cpp:
32882         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
32883         (WebCore::CSSBorderImageValue::cssText):
32884         * css/CSSBorderImageValue.h:
32885         (WebCore::CSSBorderImageValue::create):
32886         Make CSSBorderImageValue take the border slices during construction now.
32887     
32888         * css/CSSComputedStyleDeclaration.cpp:
32889         (WebCore::valueForNinePieceImageSlice):
32890         (WebCore::valueForNinePieceImageWidth):
32891         (WebCore::valueForNinePieceImageRepeat):
32892         (WebCore::valueForNinePieceImage):
32893         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
32894         Add support for computed style via valueForNinePieceImageWidth. Patch all of the border image properties
32895         to dump the most compact form possible for the property values, e.g., "stretch stretch" becomes "stretch."
32896
32897         * css/CSSParser.cpp:
32898         (WebCore::CSSParser::parseValue):
32899         (WebCore::CSSParser::parseReflect):
32900         (WebCore::BorderImageParseContext::BorderImageParseContext):
32901         (WebCore::BorderImageParseContext::commitImageSlice):
32902         (WebCore::BorderImageParseContext::commitBorderWidth):
32903         (WebCore::BorderImageParseContext::commitBorderImage):
32904         (WebCore::CSSParser::parseBorderImage):
32905         (WebCore::isBorderImageRepeatKeyword):
32906         (WebCore::CSSParser::parseBorderImageRepeat):
32907         (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
32908         (WebCore::CSSParser::parseBorderImageSlice):
32909         (WebCore::BorderImageWidthParseContext::BorderImageWidthParseContext):
32910         (WebCore::BorderImageWidthParseContext::allowNumber):
32911         (WebCore::BorderImageWidthParseContext::allowFinalCommit):
32912         (WebCore::BorderImageWidthParseContext::top):
32913         (WebCore::BorderImageWidthParseContext::commitNumber):
32914         (WebCore::BorderImageWidthParseContext::setAllowFinalCommit):
32915         (WebCore::BorderImageWidthParseContext::setTop):
32916         (WebCore::BorderImageWidthParseContext::commitBorderImageWidth):
32917         (WebCore::CSSParser::parseBorderImageWidth):
32918         * css/CSSParser.h:
32919         Modify the border-image code to pass off border-image-width parsing to parseBorderImageWidth.
32920
32921         * css/CSSPrimitiveValue.cpp:
32922         (WebCore::isValidCSSUnitTypeForDoubleConversion):
32923         (WebCore::CSSPrimitiveValue::init):
32924         (WebCore::CSSPrimitiveValue::cleanup):
32925         (WebCore::CSSPrimitiveValue::getQuadValue):
32926         (WebCore::CSSPrimitiveValue::cssText):
32927         * css/CSSPrimitiveValue.h:
32928         (WebCore::CSSPrimitiveValue::getQuadValue):
32929         Add the new Quad value to CSSPrimitiveValue.
32930     
32931         * css/CSSPropertyNames.in:
32932         Add the new properties for border-image-width and -webkit-mask-box-image-width.
32933
32934         * css/CSSStyleSelector.cpp:
32935         (WebCore::CSSStyleSelector::applyProperty):
32936         (WebCore::CSSStyleSelector::mapNinePieceImage):
32937         (WebCore::CSSStyleSelector::mapNinePieceImageSlice):
32938         (WebCore::CSSStyleSelector::mapNinePieceImageWidth):
32939         (WebCore::CSSStyleSelector::loadPendingImages):
32940         * css/CSSStyleSelector.h:
32941         Add the code to map the image width into border slices.
32942     
32943         * css/Rect.h:
32944         (WebCore::RectBase::top):
32945         (WebCore::RectBase::right):
32946         (WebCore::RectBase::bottom):
32947         (WebCore::RectBase::left):
32948         (WebCore::RectBase::setTop):
32949         (WebCore::RectBase::setRight):
32950         (WebCore::RectBase::setBottom):
32951         (WebCore::RectBase::setLeft):
32952         (WebCore::RectBase::RectBase):
32953         (WebCore::RectBase::~RectBase):
32954         (WebCore::Rect::create):
32955         (WebCore::Rect::Rect):
32956         (WebCore::Quad::create):
32957         (WebCore::Quad::Quad):
32958         Adding the new Quad value.
32959
32960         * rendering/RenderBoxModelObject.cpp:
32961         (WebCore::computeBorderImageSide):
32962         (WebCore::RenderBoxModelObject::paintNinePieceImage):
32963         Modify painting to treat the border slices as separate from the border widths.
32964         
32965         * rendering/style/NinePieceImage.cpp:
32966         (WebCore::NinePieceImage::operator==):
32967         * rendering/style/NinePieceImage.h:
32968         (WebCore::NinePieceImage::NinePieceImage):
32969         (WebCore::NinePieceImage::imageSlices):
32970         (WebCore::NinePieceImage::setImageSlices):
32971         (WebCore::NinePieceImage::borderSlices):
32972         (WebCore::NinePieceImage::setBorderSlices):
32973         (WebCore::NinePieceImage::copyImageSlicesFrom):
32974         (WebCore::NinePieceImage::copyBorderSlicesFrom):
32975         * rendering/style/StyleRareNonInheritedData.cpp:
32976         Add the border slices.
32977         
32978         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
32979         * rendering/style/StyleReflection.h:
32980         (WebCore::StyleReflection::StyleReflection):
32981         Make sure masks and reflections default border-image-width to auto instead of 1, since that matches
32982         old behavior.
32983
32984 2011-09-06  Noel Gordon  <noel.gordon@gmail.com>
32985
32986         [chromium skia] JPEGImageEncoder: hoist constants out of the encoding loop
32987         https://bugs.webkit.org/show_bug.cgi?id=67589
32988
32989         Reviewed by Kenneth Russell.
32990
32991         Change the row converter function signatures to be the same.  Call them via a function
32992         pointer during the encoding loop.  Minor webkit style cleanup, remove unused include.
32993
32994         No new tests.  Covered by existing canvas 2d and 3d tests.
32995         canvas/philip/tests/toDataURL.jpeg.alpha.html
32996         fast/canvas/webgl/premultiplyalpha-test.html
32997
32998         * platform/image-encoders/skia/JPEGImageEncoder.cpp:  Remove SkUnPreMultiply.h (not used).
32999         (WebCore::preMultipliedBGRAtoRGB):  Use unsigned char* instead of void* for pixels.
33000         (WebCore::RGBAtoRGB):  pixels & pixelCount to match the preMultipliedBGRAtoRGB() signature.
33001         (WebCore::encodePixels):  Move constants out of the encoding loop: use a function pointer
33002         to call preMultipliedBGRAtoRGB or RGBAtoRGB (now they have identical signatures), define
33003         and use pixelRowStride constant.
33004         (WebCore::JPEGImageEncoder::encode):
33005
33006 2011-09-06  Aaron Colwell  <acolwell@chromium.org>
33007
33008         Allow MediaSource API to be enabled at runtime.
33009         https://bugs.webkit.org/show_bug.cgi?id=67306
33010
33011         Reviewed by Eric Carlson.
33012
33013         * bindings/generic/RuntimeEnabledFeatures.cpp:
33014         * bindings/generic/RuntimeEnabledFeatures.h:
33015         (WebCore::RuntimeEnabledFeatures::webkitMediaSourceEnabled):
33016         (WebCore::RuntimeEnabledFeatures::setWebkitMediaSourceEnabled):
33017         * html/HTMLMediaElement.idl:
33018
33019 2011-09-06  Mike Reed  <reed@google.com>
33020
33021         [skia] never draw with GDI, so that all text can be gpu-accelerated
33022         https://bugs.webkit.org/show_bug.cgi?id=65203
33023
33024         Reviewed by Kenneth Russell.
33025
33026         * platform/graphics/chromium/FontChromiumWin.cpp:
33027         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
33028         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
33029         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
33030         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
33031         (WebCore::drawGlyphsWin):
33032         (WebCore::Font::drawComplexText):
33033         * platform/graphics/chromium/UniscribeHelper.cpp:
33034         (WebCore::UniscribeHelper::draw):
33035         * platform/graphics/skia/PlatformContextSkia.cpp:
33036         * platform/graphics/skia/PlatformContextSkia.h:
33037         * platform/graphics/skia/SkiaFontWin.cpp:
33038         (WebCore::skiaDrawText):
33039         * platform/graphics/skia/SkiaFontWin.h:
33040
33041 2011-09-06  Nat Duca  <nduca@chromium.org>
33042
33043         [chromium] REGRESSION(94353): requestAnimationFrame not throttled in compositing path
33044         https://bugs.webkit.org/show_bug.cgi?id=67621
33045
33046         CCSingleThreadProxy should not perform layout when called
33047         via the compositeImmediately path. Doing so makes it look
33048         like frame rate is unbounded.
33049
33050         Reviewed by James Robinson.
33051
33052         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
33053         (WebCore::CCSingleThreadProxy::compositeAndReadback):
33054         (WebCore::CCSingleThreadProxy::compositeImmediately):
33055         (WebCore::CCSingleThreadProxy::commitIfNeeded):
33056         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
33057
33058 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
33059
33060         REGRESSION(r94274): FormManagerTest.PreviewForm and FillFormNonEmptyField fail on chromium
33061         https://bugs.webkit.org/show_bug.cgi?id=67453
33062
33063         Reviewed by Kent Tamura.
33064
33065         Fixed the bug by updating inner text value in setSuggestedValue.
33066
33067         Also added a suggestedValue and setSuggestedValue on window.internals for testing purposes.
33068
33069         Test: fast/forms/suggested-value.html
33070
33071         * WebCore.exp.in:
33072         * testing/Internals.cpp:
33073         (WebCore::Internals::suggestedValue):
33074         (WebCore::Internals::setSuggestedValue):
33075         * testing/Internals.h:
33076         * testing/Internals.idl:
33077
33078 2011-09-06  Eric Carlson  <eric.carlson@apple.com>
33079
33080         load() does not reset the resource selection algorithm
33081         https://bugs.webkit.org/show_bug.cgi?id=64917
33082
33083         Reviewed by Darin Adler.
33084
33085         Test: media/video-source-load.html
33086
33087         * html/HTMLMediaElement.cpp:
33088         (WebCore::HTMLMediaElement::selectMediaResource): Reset m_nextChildNodeToConsider, update
33089             comments and rearrange logic to more closely match logic in spec.
33090         (WebCore::HTMLMediaElement::noneSupported): Update comments.
33091
33092 2011-09-06  Abhishek Arya  <inferno@chromium.org>
33093
33094         Style not propagated to anonymous boxes and anonymous
33095         inline-blocks.
33096         https://bugs.webkit.org/show_bug.cgi?id=67364
33097
33098         Reviewed by James Robinson.
33099
33100         Share propagateStyleToAnonymousChildren with RenderBlock::styleDidChange.
33101
33102         * rendering/RenderBlock.cpp:
33103         (WebCore::RenderBlock::styleDidChange):
33104         * rendering/RenderObject.cpp:
33105         (WebCore::RenderObject::propagateStyleToAnonymousChildren):
33106         * rendering/RenderObject.h:
33107
33108 2011-09-06  Robin Cao  <robin.cao@torchmobile.com.cn>
33109
33110         [skia] States of GraphicsContext may never be restored after clipToImageBuffer
33111         https://bugs.webkit.org/show_bug.cgi?id=67358
33112
33113         beginLayerClippedToImage/applyClipFromImage are mismatched when clipping to
33114         an empty ImageBuffer, which will make states of GraphicsContext incorrect.
33115
33116         Reviewed by James Robinson.
33117
33118         Test: fast/repaint/background-clip-text.html
33119
33120         * platform/graphics/skia/PlatformContextSkia.cpp:
33121         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
33122
33123 2011-09-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
33124
33125         [EFL] Do not allocate memory for extremely large surfaces.
33126         https://bugs.webkit.org/show_bug.cgi?id=65192
33127
33128         Reviewed by Martin Robinson.
33129
33130         So far, RenderThemeEfl tried to allocate a buffer and a cairo surface
33131         the size of the whole form element passed to it.
33132
33133         In the case of
33134         fast/overflow/overflow-height-float-not-removed-crash.html and others,
33135         this meant extremely large widgets, which crashed the code.
33136
33137         We now only render the widgets if they are smaller than some hardcoded
33138         and sufficiently large values which should work in most cases.
33139
33140         No new tests, as this was uncovered by existing ones.
33141
33142         * platform/efl/RenderThemeEfl.cpp:
33143         (WebCore::RenderThemeEfl::isFormElementTooLargeToDisplay):
33144         (WebCore::RenderThemeEfl::cacheThemePartNew):
33145         (WebCore::RenderThemeEfl::paintThemePart):
33146         * platform/efl/RenderThemeEfl.h:
33147
33148 2011-08-30  Pavel Podivilov  <podivilov@chromium.org>
33149
33150         Web Inspector: implement source map v3 consumer.
33151         https://bugs.webkit.org/show_bug.cgi?id=67205
33152
33153         Reviewed by Yury Semikhatsky.
33154
33155         Test: inspector/debugger/compiler-source-mapping.html
33156
33157         * WebCore.gypi:
33158         * WebCore.vcproj/WebCore.vcproj:
33159         * inspector/front-end/CompilerSourceMapping.js: Added.
33160         (WebInspector.CompilerSourceMapping):
33161         (WebInspector.CompilerSourceMapping.prototype.compiledLocationToSourceLocation):
33162         (WebInspector.CompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
33163         (WebInspector.CompilerSourceMapping.prototype.get sources):
33164         (WebInspector.ClosureCompilerSourceMapping):
33165         (WebInspector.ClosureCompilerSourceMapping.prototype.compiledLocationToSourceLocation):
33166         (WebInspector.ClosureCompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
33167         (WebInspector.ClosureCompilerSourceMapping.prototype.get sources):
33168         (WebInspector.ClosureCompilerSourceMapping.prototype._findMapping):
33169         (WebInspector.ClosureCompilerSourceMapping.prototype._parsePayload):
33170         (WebInspector.ClosureCompilerSourceMapping.prototype._isSeparator):
33171         (WebInspector.ClosureCompilerSourceMapping.prototype._decodeVLQ):
33172         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator):
33173         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.next):
33174         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.peek):
33175         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.hasNext):
33176         * inspector/front-end/WebKit.qrc:
33177         * inspector/front-end/inspector.html:
33178
33179 2011-09-05  Pavel Podivilov  <podivilov@chromium.org>
33180
33181         Web Inspector: re-implement RawSourceCode.
33182         https://bugs.webkit.org/show_bug.cgi?id=67609
33183
33184         RawSourceCode content and source mapping loading logic is too complex, re-implement it using simpler semantics:
33185         1) Initially, RawSourceCode doesn't have any content or mapping because content loading and
33186         formatting operations are asynchronous, it only has scripts metadata. We don't update UI right
33187         after RawSourceCode creation until full RawSourceCode representation is ready (content + mapping).
33188         2) When RawSourceCode representation is ready (e.g. resource is finished, or content is formatted
33189         if in pretty-print mode) we dispatch SourceMappingUpdated event to notify the listeners that
33190         source code should be shown to user and raw locations should be converted to ui locations
33191         (to show breakpoins, messages, call frames etc in UI). At this moment, all source file's content
33192         is ready for loading and source mapping is available.
33193         3) Later, RawSourceCode representation may change again, e.g. if pretty-print mode is toggled, or
33194         blocked resource is finished etc., in that case SourceMappingUpdated is dispatched again to update
33195         source code, links and decorations in UI.
33196
33197         Reviewed by Yury Semikhatsky.
33198
33199         * inspector/front-end/DebuggerPresentationModel.js:
33200         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
33201         (WebInspector.DebuggerPresentationModel.prototype._addScript):
33202         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
33203         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
33204         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
33205         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
33206         (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
33207         * inspector/front-end/ScriptsPanel.js:
33208         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
33209         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
33210         * inspector/front-end/SourceFile.js:
33211         (WebInspector.RawSourceCode):
33212         (WebInspector.RawSourceCode.prototype.addScript):
33213         (WebInspector.RawSourceCode.prototype.contentEdited):
33214         (WebInspector.RawSourceCode.prototype._resourceFinished):
33215         (WebInspector.RawSourceCode.prototype.requestContent):
33216         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.sourceMappingUpdated):
33217         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
33218         (WebInspector.RawSourceCode.prototype.forceLoadContent):
33219         (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
33220         (WebInspector.RawSourceCode.prototype._updateSourceMapping):
33221         (WebInspector.RawSourceCode.prototype._createContentProvider):
33222         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
33223         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
33224         (WebInspector.RawSourceCode.prototype._createSourceMapping):
33225         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
33226         (WebInspector.StaticContentProvider):
33227         (WebInspector.StaticContentProvider.prototype.requestContent):
33228
33229 2011-09-06  Csaba Osztrogonác  <ossy@webkit.org>
33230
33231         Unreviewed, rolling out r94564.
33232         http://trac.webkit.org/changeset/94564
33233         https://bugs.webkit.org/show_bug.cgi?id=67555
33234
33235         It broke many tests
33236
33237         * svg/SVGTRefElement.cpp:
33238         (WebCore::SVGTRefElement::svgAttributeChanged):
33239
33240 2011-09-06  Rob Buis  <rbuis@rim.com>
33241
33242         use after free in WebCore::SVGTRefElement::updateReferencedText
33243         https://bugs.webkit.org/show_bug.cgi?id=67555
33244
33245         Reviewed by Nikolas Zimmermann.
33246
33247         Do not install event listener if tref is not part of any document.
33248
33249         Test: svg/custom/tref-clone-crash.html
33250
33251         * svg/SVGTRefElement.cpp:
33252         (WebCore::SVGTRefElement::svgAttributeChanged):
33253
33254 2011-09-06  Sheriff Bot  <webkit.review.bot@gmail.com>
33255
33256         Unreviewed, rolling out r94560.
33257         http://trac.webkit.org/changeset/94560
33258         https://bugs.webkit.org/show_bug.cgi?id=67636
33259
33260         It made inspector/debugger/script-formatter.html flakey
33261         (Requested by Ossy on #webkit).
33262
33263         * inspector/front-end/BreakpointManager.js:
33264         (WebInspector.BreakpointManager.prototype.set reset):
33265         * inspector/front-end/DebuggerPresentationModel.js:
33266         (WebInspector.DebuggerPresentationModel.prototype._addScript.didCreateSourceMapping):
33267         (WebInspector.DebuggerPresentationModel.prototype._addScript):
33268         (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeReplaced):
33269         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
33270         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
33271         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
33272         (WebInspector.PresenationCallFrame.prototype.select):
33273         * inspector/front-end/ScriptsPanel.js:
33274         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
33275         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
33276         * inspector/front-end/SourceFile.js:
33277         (WebInspector.RawSourceCode):
33278         (WebInspector.RawSourceCode.prototype.addScript):
33279         (WebInspector.RawSourceCode.prototype.contentEdited):
33280         (WebInspector.RawSourceCode.prototype.requestContent):
33281         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.didRequestContent):
33282         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
33283         (WebInspector.RawSourceCode.prototype._setContentProvider):
33284         (WebInspector.RawSourceCode.prototype.forceLoadContent):
33285         (WebInspector.RawSourceCode.prototype._reload):
33286         (WebInspector.RawSourceCode.prototype._requestContent):
33287         (WebInspector.RawSourceCode.prototype._loadResourceContent):
33288         (WebInspector.RawSourceCode.prototype._loadScriptContent):
33289         (WebInspector.RawSourceCode.prototype._loadAndConcatenateScriptsContent):
33290         (WebInspector.RawSourceCode.prototype._didRequestContent):
33291         (WebInspector.RawSourceCode.prototype._hasPendingResource):
33292         (WebInspector.FormattedContentProvider):
33293         (WebInspector.FormattedContentProvider.prototype.requestContent.didRequestContent.didFormatContent):
33294         (WebInspector.FormattedContentProvider.prototype.requestContent):
33295
33296 2011-09-06  Antti Koivisto  <antti@apple.com>
33297
33298         https://bugs.webkit.org/show_bug.cgi?id=67480
33299         [Chromium] [REGRESSION] Layout Test svg/batik/text/textStyles.svg is failing
33300
33301         Reviewed by Dimitri Glazkov.
33302
33303         The text node needs willRecalcStyle mechanism too.
33304
33305         * dom/Text.cpp:
33306         (WebCore::Text::recalcTextStyle):
33307         * dom/Text.h:
33308         (WebCore::Text::willRecalcTextStyle):
33309         * svg/SVGTRefElement.cpp:
33310         (WebCore::SVGTRefElement::SVGTRefElement):
33311         (WebCore::SVGShadowText::SVGShadowText):
33312         (WebCore::SVGShadowText::willRecalcTextStyle):
33313
33314 2011-09-05  Pavel Podivilov  <podivilov@chromium.org>
33315
33316         Web Inspector: re-implement RawSourceCode.
33317         https://bugs.webkit.org/show_bug.cgi?id=67609
33318
33319         RawSourceCode content and source mapping loading logic is too complex, re-implement it using simpler semantics:
33320         1) Initially, RawSourceCode doesn't have any content or mapping because content loading and
33321         formatting operations are asynchronous, it only has scripts metadata. We don't update UI right
33322         after RawSourceCode creation until full RawSourceCode representation is ready (content + mapping).
33323         2) When RawSourceCode representation is ready (e.g. resource is finished, or content is formatted
33324         if in pretty-print mode) we dispatch SourceMappingUpdated event to notify the listeners that
33325         source code should be shown to user and raw locations should be converted to ui locations
33326         (to show breakpoins, messages, call frames etc in UI). At this moment, all source file's content
33327         is ready for loading and source mapping is available.
33328         3) Later, RawSourceCode representation may change again, e.g. if pretty-print mode is toggled, or
33329         blocked resource is finished etc., in that case SourceMappingUpdated is dispatched again to update
33330         source code, links and decorations in UI.
33331
33332         Reviewed by Yury Semikhatsky.
33333
33334         * inspector/front-end/DebuggerPresentationModel.js:
33335         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
33336         (WebInspector.DebuggerPresentationModel.prototype._addScript):
33337         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
33338         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
33339         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
33340         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
33341         (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
33342         * inspector/front-end/ScriptsPanel.js:
33343         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
33344         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
33345         * inspector/front-end/SourceFile.js:
33346         (WebInspector.RawSourceCode):
33347         (WebInspector.RawSourceCode.prototype.addScript):
33348         (WebInspector.RawSourceCode.prototype.contentEdited):
33349         (WebInspector.RawSourceCode.prototype._resourceFinished):
33350         (WebInspector.RawSourceCode.prototype.requestContent):
33351         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.sourceMappingUpdated):
33352         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
33353         (WebInspector.RawSourceCode.prototype.forceLoadContent):
33354         (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
33355         (WebInspector.RawSourceCode.prototype._updateSourceMapping):
33356         (WebInspector.RawSourceCode.prototype._createContentProvider):
33357         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
33358         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
33359         (WebInspector.RawSourceCode.prototype._createSourceMapping):
33360         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
33361         (WebInspector.StaticContentProvider):
33362         (WebInspector.StaticContentProvider.prototype.requestContent):
33363
33364 2011-09-06  Dirk Schulze  <krit@webkit.org>
33365
33366         Return to transform multiplication: motion transform * other transforms
33367         https://bugs.webkit.org/show_bug.cgi?id=67601
33368
33369         Reviewed by Nikolas Zimmermann.
33370         
33371         Right now we take the current transform of a transformable SVG element, post multiply the animation transform
33372         and post multiply the motion transform to the other both:
33373
33374           transform * animation transform * motion transform
33375
33376         We switched to this behavior with the clean up of AffineTransform.
33377         While the specification of SVG demands us to do so, no other SVG viewer is doing it that way. Now switching back to:
33378
33379           motion transform * transform * animation transform
33380
33381         This is done by other SVG viewers as well. While their is no consense about how to multiply the different transforms
33382         on the SVG WG, their is a consense that the current specified behavior is unwanted. See
33383         http://lists.w3.org/Archives/Public/www-svg/2011Jan/0055.html for more details.
33384
33385         We pass the following tests of the official W3C SVG test suite again now:
33386
33387         - animate-elem-24-t.svg
33388         - animate-elem-30-t.svg
33389
33390         * svg/SVGStyledTransformableElement.cpp:
33391         (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
33392         * svg/SVGTextElement.cpp:
33393         (WebCore::SVGTextElement::animatedLocalTransform):
33394
33395 2011-09-05  Adam Barth  <abarth@webkit.org>
33396
33397         window.HTMLSpanElement does not exist
33398         https://bugs.webkit.org/show_bug.cgi?id=67571
33399
33400         Reviewed by Sam Weinig.
33401
33402         We have these objects for most other elements and HTMLSpanElement
33403         exists in Firefox and in the HTML5 spec.  This patch adds it.
33404
33405         Test: fast/dom/wrapper-classes.html
33406
33407         * CMakeLists.txt:
33408         * CodeGenerators.pri:
33409         * DerivedSources.cpp:
33410         * DerivedSources.make:
33411         * GNUmakefile.list.am:
33412         * WebCore.gypi:
33413         * WebCore.pro:
33414         * WebCore.vcproj/WebCore.vcproj:
33415         * WebCore.xcodeproj/project.pbxproj:
33416         * html/HTMLElementsAllInOne.cpp:
33417         * html/HTMLSpanElement.cpp: Added.
33418         (WebCore::HTMLSpanElement::HTMLSpanElement):
33419         (WebCore::HTMLSpanElement::create):
33420         * html/HTMLSpanElement.h: Added.
33421         * html/HTMLSpanElement.idl: Added.
33422         * html/HTMLTagNames.in:
33423         * page/DOMWindow.idl:
33424
33425 2011-09-04  Abhishek Arya  <inferno@chromium.org>
33426
33427         Style not propagated to anonymous boxes and anonymous
33428         inline-blocks.
33429         https://bugs.webkit.org/show_bug.cgi?id=67364
33430
33431         Reviewed by James Robinson.
33432
33433         Tests: fast/ruby/ruby-block-style-not-updated-with-before-after-content.html
33434                fast/ruby/ruby-block-style-not-updated.html
33435                fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html
33436                fast/ruby/ruby-inline-style-not-updated.html
33437                fast/table/table-row-style-not-updated-with-after-content.html
33438                fast/table/table-row-style-not-updated-with-before-content.html
33439                fast/table/table-row-style-not-updated.html
33440                fast/table/table-style-not-updated.html
33441
33442         * rendering/RenderObject.cpp:
33443         (WebCore::RenderObject::propagateStyleToAnonymousChildren):
33444         * rendering/RenderObject.h:
33445         (WebCore::RenderObject::isBeforeAfterContent):
33446         * rendering/RenderRuby.cpp:
33447         (WebCore::RenderRubyAsInline::styleDidChange):
33448         (WebCore::RenderRubyAsBlock::styleDidChange):
33449         * rendering/RenderRuby.h:
33450         * rendering/RenderTable.cpp:
33451         (WebCore::RenderTable::styleDidChange):
33452         * rendering/RenderTableRow.cpp:
33453         (WebCore::RenderTableRow::styleDidChange):
33454         (WebCore::RenderTableRow::addChild):
33455         * rendering/RenderTableSection.cpp:
33456         (WebCore::RenderTableSection::styleDidChange):
33457         (WebCore::RenderTableSection::addChild):
33458         * rendering/RenderTableSection.h:
33459
33460 2011-09-05  Abhishek Arya  <inferno@chromium.org>
33461
33462         Crash in RenderObjectChildList::destroyLeftOverChildren()
33463         https://bugs.webkit.org/show_bug.cgi?id=64753
33464
33465         Reviewed by James Robinson.
33466
33467         If any of the ancestors between column span element and containing
33468         column's block is a continuation, then don't attempt to render the
33469         column span by splitting the block into continuations.
33470
33471         Test: fast/multicol/column-span-parent-continuation-crash.html
33472
33473         * rendering/RenderBlock.cpp:
33474         (WebCore::RenderBlock::columnsBlockForSpanningElement):
33475
33476 2011-09-05  Sheriff Bot  <webkit.review.bot@gmail.com>
33477
33478         Unreviewed, rolling out r94537.
33479         http://trac.webkit.org/changeset/94537
33480         https://bugs.webkit.org/show_bug.cgi?id=67618
33481
33482         Does not compile on Chromium Mac (Requested by abarth_ on
33483         #webkit).
33484
33485         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
33486         (WebCore::preMultipliedBGRAtoRGB):
33487         (WebCore::RGBAtoRGB):
33488         (WebCore::encodePixels):
33489         (WebCore::JPEGImageEncoder::encode):
33490
33491 2011-09-05  Noel Gordon  <noel.gordon@gmail.com>
33492
33493         [chromium skia] JPEGImageEncoder: hoist contants out of the encoding loop
33494         https://bugs.webkit.org/show_bug.cgi?id=67589
33495
33496         Reviewed by Adam Barth.
33497
33498         Change the row converter function signatures to be the same.  Call them via a function
33499         pointer during the encoding loop.  Minor webkit stlye cleanup, remove unused include.
33500
33501         No new tests.  Covered by existing canvas 2d and 3d tests.
33502         canvas/philip/tests/toDataURL.jpeg.alpha.html
33503         fast/canvas/webgl/premultiplyalpha-test.html
33504
33505         * platform/image-encoders/skia/JPEGImageEncoder.cpp:  Remove SkUnPreMultiply.h (not used).
33506         (WebCore::preMultipliedBGRAtoRGB):  Use unsigned char* instead of void* for pixels.
33507         (WebCore::RGBAtoRGB):  pixels & pixelCount to match the preMultipliedBGRAtoRGB() signature.
33508         (WebCore::encodePixels):  Move contants out of the encoding loop: use a function pointer to
33509         call preMultipliedBGRAtoRGB or RGBAtoRGB (now they have identical signatures) during the
33510         image row encoding loop.  Add/use pixelRowStride constant.
33511         (WebCore::JPEGImageEncoder::encode):  webkit style: no need to split lines.
33512
33513 2011-09-05  John Knottenbelt  <jknotten@chromium.org>
33514
33515         Take pageScaleFactor into account for MouseRelatedEvents.
33516         https://bugs.webkit.org/show_bug.cgi?id=67592
33517
33518         Reviewed by Dimitri Glazkov.
33519
33520         Test: fast/events/page-scaled-mouse-click.html
33521
33522         * dom/MouseRelatedEvent.cpp:
33523         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
33524
33525 2011-09-02  Pavel Podivilov  <podivilov@chromium.org>
33526
33527         Web Inspector: rename RawSourceCode.reload to contentEdited.
33528         https://bugs.webkit.org/show_bug.cgi?id=67504
33529
33530         Make RawSourceCode.reload private and remove RawSourceCode.content getter and setter
33531         (RawSourceCode isn't supposed to have any content).
33532
33533         Reviewed by Yury Semikhatsky.
33534
33535         * inspector/front-end/DebuggerPresentationModel.js:
33536         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
33537         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
33538         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
33539         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
33540         (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
33541         * inspector/front-end/SourceFile.js:
33542         (WebInspector.RawSourceCode):
33543         (WebInspector.RawSourceCode.prototype.contentEdited):
33544         (WebInspector.RawSourceCode.prototype.forceLoadContent):
33545         (WebInspector.RawSourceCode.prototype._reload):
33546         (WebInspector.RawSourceCode.prototype._didRequestContent):
33547
33548 2011-09-05  Leandro Gracia Gil  <leandrogracia@chromium.org>
33549
33550         Fix the regression of bug 65333 introduced by 60170.
33551         This caused the speech input bubble to appear in the wrong side for RTL text inputs.
33552         https://bugs.webkit.org/show_bug.cgi?id=67597
33553
33554         Reviewed by Tony Gentilcore.
33555
33556         No new tests. Fixing regression.
33557
33558         * html/shadow/TextControlInnerElements.cpp:
33559         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
33560
33561 2011-09-05  Alexander Pavlov  <apavlov@chromium.org>
33562
33563         Web Inspector: F5 results in a Web Inspector frontend reload on non-Macs
33564         https://bugs.webkit.org/show_bug.cgi?id=67602
33565
33566         Reviewed by Yury Semikhatsky.
33567
33568         * inspector/front-end/inspector.js:
33569         (WebInspector.documentKeyDown):
33570
33571 2011-09-05  Sheriff Bot  <webkit.review.bot@gmail.com>
33572
33573         Unreviewed, rolling out r94525.
33574         http://trac.webkit.org/changeset/94525
33575         https://bugs.webkit.org/show_bug.cgi?id=67599
33576
33577         WinCE compilation failed. (Requested by loislo on #webkit).
33578
33579         * platform/text/TextBoundaries.cpp:
33580         * platform/text/TextBreakIteratorICU.cpp:
33581         * platform/text/qt/TextBoundariesQt.cpp:
33582         * platform/text/qt/TextBreakIteratorQt.cpp:
33583
33584 2011-09-05  Alexander Færøy  <alexander.faeroy@nokia.com>
33585
33586         [Qt] Compiling using system ICU uses QTextBreakIterator in some cases.
33587         https://bugs.webkit.org/show_bug.cgi?id=67391
33588
33589         Reviewed by Kenneth Rohde Christiansen.
33590
33591         * platform/text/TextBoundaries.cpp:
33592         * platform/text/TextBreakIteratorICU.cpp:
33593         * platform/text/qt/TextBoundariesQt.cpp:
33594         * platform/text/qt/TextBreakIteratorQt.cpp:
33595
33596 2011-09-05  Kaustubh Atrawalkar  <kaustubh@motorola.com>
33597
33598         Logic from HTMLElement::deprecatedCreateContextualFragment moved into
33599         Range::createContextualFragment function.
33600         https://bugs.webkit.org/show_bug.cgi?id=67056
33601
33602         Reviewed by Ryosuke Niwa.
33603
33604         Code Refactoring for deprecatedCreateContextualFragment.
33605
33606         No new tests. Code Re-factoring.
33607
33608         * dom/Element.cpp:
33609         * dom/Element.h:
33610         * dom/Range.cpp:
33611         (WebCore::insertIntoFragment):
33612         (WebCore::Range::createDocumentFragmentForElement):
33613         (WebCore::Range::createContextualFragment):
33614         * dom/Range.h:
33615         * editing/markup.cpp:
33616         (WebCore::createFragmentFromMarkup):
33617         * html/HTMLElement.cpp:
33618         * html/HTMLElement.h:
33619
33620 2011-09-04  James Kozianski  <koz@chromium.org>
33621
33622         Unreviewed, rolling out r94510.
33623         http://trac.webkit.org/changeset/94510
33624         https://bugs.webkit.org/show_bug.cgi?id=66531
33625
33626         Causes layout test crashes.
33627
33628         * dom/Document.cpp:
33629         (WebCore::Document::webkitWillEnterFullScreenForElement):
33630         (WebCore::Document::webkitDidExitFullScreenForElement):
33631         * dom/NodeRenderingContext.cpp:
33632         (WebCore::wrapWithRenderFullScreen):
33633         (WebCore::NodeRendererFactory::createRendererIfNeeded):
33634         * rendering/RenderFullScreen.cpp:
33635         (RenderFullScreen::createFullScreenStyle):
33636         * rendering/RenderFullScreen.h:
33637
33638 2011-09-04  Abhishek Arya  <inferno@chromium.org>
33639
33640         Unreviewed. Compile fix for r94511.
33641
33642         * dom/Range.cpp:
33643         (WebCore::Range::processContents):
33644         (WebCore::Range::processAncestorsAndTheirSiblings):
33645
33646 2011-09-04  Abhishek Arya  <inferno@chromium.org>
33647
33648         Crash in Range::processAncestorsAndTheirSiblings.
33649         https://bugs.webkit.org/show_bug.cgi?id=67556
33650
33651         Reviewed by Ryosuke Niwa.
33652
33653         Create a temporary RefPtr Node vector to keep all the ancestor's
33654         childs so that we don't access removed child nodes.
33655
33656         Test: fast/dom/Range/range-delete-contents-event-fire-crash.html
33657
33658         * dom/Range.cpp:
33659         (WebCore::Range::processContents):
33660         (WebCore::Range::processAncestorsAndTheirSiblings):
33661
33662 2011-09-04  Jeremy Apthorp  <jeremya@google.com>
33663
33664         Don't detach elements from the render tree when entering fullscreen mode
33665         https://bugs.webkit.org/show_bug.cgi?id=66531
33666
33667         This prevents plugin instances from being destroyed and reinstantiated
33668         when entering fullscreen mode.
33669
33670         Reviewed by Darin Fisher.
33671
33672         Test: plugins/fullscreen-plugins-dont-reload.html
33673
33674         * dom/Document.cpp:
33675         (WebCore::Document::webkitWillEnterFullScreenForElement):
33676         (WebCore::Document::webkitDidExitFullScreenForElement):
33677         * dom/NodeRenderingContext.cpp:
33678         (WebCore::NodeRendererFactory::createRendererIfNeeded):
33679         * rendering/RenderFullScreen.cpp:
33680         (createFullScreenStyle):
33681         (RenderFullScreen::wrapRenderer):
33682         (RenderFullScreen::unwrapRenderer):
33683         * rendering/RenderFullScreen.h:
33684
33685 2011-09-04  Dan Bernstein  <mitz@apple.com>
33686
33687         <rdar://problem/10071256> Retain retired custom fonts until the next style recalc
33688
33689         Reviewed by Darin Adler.
33690
33691         Test: fast/css/font-face-used-after-retired.html
33692
33693         During style recalc, existing renderers may reference their old style, including font data.
33694         Allow them to do so safely by keeping retired custom font data around until after style recalc.
33695
33696         * css/CSSFontFace.cpp:
33697         (WebCore::CSSFontFace::retireCustomFont): Added. Calls through to CSSFontSelector, if the font
33698         face is still part of any segmented font face. Otherwise, deletes the custom font data.
33699         * css/CSSFontFace.h:
33700         * css/CSSFontFaceSource.cpp:
33701         (WebCore::CSSFontFaceSource::pruneTable): Changed to call retireCustomFont() instead of deleting
33702         retired font data.
33703         * css/CSSFontSelector.cpp:
33704         (WebCore::CSSFontSelector::retireCustomFont): Added. Calls through to the Document, if this is
33705         still the active font selector for a document. Otherwise, deletes the custom font data.
33706         * css/CSSFontSelector.h:
33707         * css/CSSSegmentedFontFace.cpp:
33708         (WebCore::CSSSegmentedFontFace::pruneTable): Changed to call retireCustomFont() instead of
33709         deleting retired font data.
33710         * dom/Document.cpp:
33711         (WebCore::Document::~Document): Added a call to deleteRetiredCustomFonts(), in case the Document
33712         is destroyed before getting a chance to recalc style after custom fonts have been retired.
33713         (WebCore::Document::recalcStyle): Added a call to deleteRetiredCustomFonts() after style recalc.
33714         (WebCore::Document::deleteRetiredCustomFonts): Added. Deletes all previously-retired custom font
33715         data.
33716         * dom/Document.h:
33717         (WebCore::Document::retireCustomFont): Added.
33718
33719 2011-09-04  Sam Weinig  <sam@webkit.org>
33720
33721         Document.createEvent should support all the interfaces of Event we got
33722         https://bugs.webkit.org/show_bug.cgi?id=67568
33723
33724         Reviewed by Anders Carlsson.
33725
33726         Updated fast/events/event-creation.html
33727
33728         * dom/BeforeLoadEvent.h:
33729         (WebCore::BeforeLoadEvent::create):
33730         (WebCore::BeforeLoadEvent::BeforeLoadEvent):
33731         Added empty create.
33732         
33733         * dom/Document.cpp:
33734         (WebCore::Document::createEvent):
33735         Add missing interfaces.
33736
33737         * dom/HashChangeEvent.h:
33738         (WebCore::HashChangeEvent::create):
33739         (WebCore::HashChangeEvent::HashChangeEvent):
33740         Added empty create.
33741
33742         * page/SpeechInputEvent.cpp:
33743         (WebCore::SpeechInputEvent::create):
33744         (WebCore::SpeechInputEvent::SpeechInputEvent):
33745         (WebCore::SpeechInputEvent::~SpeechInputEvent):
33746         * page/SpeechInputEvent.h:
33747         Added empty create.
33748
33749 2011-09-04  Adam Barth  <abarth@webkit.org>
33750
33751         [Chromium] Add memory threshold values to WebKitPlatformSupport.h
33752         https://bugs.webkit.org/show_bug.cgi?id=67575
33753
33754         Reviewed by Darin Fisher.
33755
33756         Grab these memory thresholds from PlatformSupport rather than hard-coding them.
33757
33758         * bindings/v8/V8GCController.cpp:
33759         (WebCore::V8GCController::checkMemoryUsage):
33760         * platform/chromium/PlatformSupport.h:
33761         * platform/qt/PlatformSupport.h:
33762         (WebCore::PlatformSupport::lowMemoryUsageMB):
33763         (WebCore::PlatformSupport::highMemoryUsageMB):
33764         (WebCore::PlatformSupport::highUsageDeltaMB):
33765
33766 2011-09-04  Kevin Ollivier  <kevino@theolliviers.com>
33767
33768         [wx] Unreviewed build fix. Add new / moved files missing from last commit.
33769
33770         * platform/wx/LocalDC.h: Added.
33771         (WebCore::LocalDC::LocalDC):
33772         (WebCore::LocalDC::context):
33773         (WebCore::LocalDC::~LocalDC):
33774         * platform/wx/wxcode/cairo: Added.
33775         * platform/wx/wxcode/cairo/non-kerned-drawing.cpp: Added.
33776         (WebCore::pangoFontMap):
33777         (WebCore::createPangoFontForFont):
33778         (WebCore::createScaledFontForFont):
33779         (WebCore::pango_font_get_glyph):
33780         (WebCore::drawTextWithSpacing):
33781         * platform/wx/wxcode/gdiplus: Added.
33782         * platform/wx/wxcode/gdiplus/non-kerned-drawing.cpp: Added.
33783         (dmin):
33784         (dmax):
33785         (DegToRad):
33786         (RadToDeg):
33787         (WebCore::drawTextWithSpacing):
33788
33789 2011-09-04  Robin Dunn  <robin@alldunn.com>
33790
33791         [wx] Enable wxWebKit to run using the wxGC Cairo backend on platforms other than GTK.
33792         https://bugs.webkit.org/show_bug.cgi?id=67577
33793
33794         Reviewed by Kevin Ollivier.
33795
33796         * platform/graphics/GlyphBuffer.h:
33797         (WebCore::GlyphBuffer::glyphAt):
33798         (WebCore::GlyphBuffer::add):
33799         * platform/graphics/wx/GraphicsContextWx.cpp:
33800         (WebCore::GraphicsContext::clipOut):
33801         (WebCore::GraphicsContext::clipPath):
33802         * platform/graphics/wx/PathWx.cpp:
33803         (WebCore::Path::Path):
33804         (WebCore::Path::clear):
33805         * platform/graphics/wx/TransformationMatrixWx.cpp:
33806         (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
33807         (WebCore::AffineTransform::operator wxGraphicsMatrix):
33808         * platform/image-decoders/wx/ImageDecoderWx.cpp:
33809         (WebCore::ImageFrame::asNewNativeImage):
33810         * platform/wx/ContextMenuWx.cpp:
33811         (ContextMenu::ContextMenu):
33812         * platform/wx/LocalDC.h: Added.
33813         (WebCore::LocalDC::LocalDC):
33814         (WebCore::LocalDC::context):
33815         (WebCore::LocalDC::~LocalDC):
33816         * platform/wx/RenderThemeWx.cpp:
33817         (WebCore::RenderThemeWx::paintButton):
33818         (WebCore::RenderThemeWx::paintTextField):
33819         (WebCore::RenderThemeWx::paintMenuList):
33820         (WebCore::RenderThemeWx::paintMenuListButton):
33821         * platform/wx/ScrollbarThemeWx.cpp:
33822         (WebCore::ScrollbarThemeWx::paint):
33823         * platform/wx/wxcode/cairo: Added.
33824         * platform/wx/wxcode/cairo/non-kerned-drawing.cpp: Added.
33825         (WebCore::pangoFontMap):
33826         (WebCore::createPangoFontForFont):
33827         (WebCore::createScaledFontForFont):
33828         (WebCore::pango_font_get_glyph):
33829         (WebCore::drawTextWithSpacing):
33830         * platform/wx/wxcode/gdiplus: Added.
33831         * platform/wx/wxcode/gdiplus/non-kerned-drawing.cpp: Added.
33832         (dmin):
33833         (dmax):
33834         (DegToRad):
33835         (RadToDeg):
33836         (WebCore::drawTextWithSpacing):
33837         * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Removed.
33838         * platform/wx/wxcode/win/non-kerned-drawing.cpp: Removed.
33839         * platform/wx/wxcode/win/scrollbar_render.cpp:
33840         (GraphicsHDC::GraphicsHDC):
33841         (GraphicsHDC::~GraphicsHDC):
33842         (wxRenderer_DrawScrollbar):
33843
33844 2011-09-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
33845
33846         REGRESSION (r86268): Fix for qt_networkAccessAllowed()
33847         https://bugs.webkit.org/show_bug.cgi?id=67570
33848
33849         Reviewed by Noam Rosenthal.
33850
33851         No new tests as this change only removes dead code.
33852         Support for Qt 4.6 has  been removed a while back.
33853
33854         * WebCore.pri:
33855         * WebCore.pro:
33856         * features.pri:
33857         * platform/network/NetworkStateNotifier.h:
33858         * platform/network/qt/NetworkStateNotifierQt.cpp:
33859
33860 2011-09-03  Ryosuke Niwa  <rniwa@webkit.org>
33861
33862         REGRESSION(r94274): selection-change-closes-typing.html fails
33863         https://bugs.webkit.org/show_bug.cgi?id=67377
33864
33865         Reviewed by Kent Tamura.
33866
33867         The problem was that when the shadow DOM is updated by setInnerTextValue, WebKit layer detects the selection
33868         change and calls confirmCompositionWithoutDisturbingSelection, which in turn modifies the shadow DOM by
33869         inserting text.
33870
33871         Fixed the bug by not inserting text in confirmCompositionWithoutDisturbingSelection. It turned out that this
33872         function is only used to cancel composition but never to confirming composition and restoring selection.
33873
33874         Test: platform/mac/editing/input/selection-change-closes-typing-2.html
33875
33876         * editing/Editor.cpp:
33877         (WebCore::Editor::confirmCompositionWithoutDisturbingSelection):
33878         (WebCore::Editor::confirmComposition):
33879
33880 2011-09-03  Sam Weinig  <sam@webkit.org>
33881
33882         Add missing Event constructors to DOMWindow.idl
33883         https://bugs.webkit.org/show_bug.cgi?id=67449
33884
33885         Reviewed by Anders Carlsson.
33886
33887         Covered by existing tests.
33888
33889         * page/DOMWindow.idl:
33890
33891 2011-08-27  Robert Hogan  <robert@webkit.org>
33892
33893         div align="center" rendering problem
33894         https://bugs.webkit.org/show_bug.cgi?id=4860
33895
33896         Reviewed by David Hyatt.
33897
33898         When an inline element with absolute position was the sole or first child of a render block with
33899         centred alignment, it wasn't obeying its parent's alignment. However it would obey the
33900         alignment if it was preceded by some text. The problem was that the element's render object
33901         was getting skipped as leading white space, so it was not included in a normal line block in
33902         a bidi run. Instead, its position was getting set by RenderBlockLineLayout::setStaticPositions()
33903         which does not pay attention to alignment. Preceding the element with some text allowed the object
33904         to get included in a Bidi run and so get a linebox which would get properly aligned.
33905
33906         The fix is to get RenderBlockLineLayout::setStaticPositions() to obey the alignment specified by
33907         the object's container. This allows WebKit to get the same result on the test as Firefox and IE.
33908         Opera has the same bug as unpatched WebKit.
33909
33910         Tests: fast/css/bug4860-absolute-block-child-does-not-inherit-alignment.html
33911                - Ensure positioned block elements inherit alignment.
33912                fast/css/bug4860-absolute-inline-child-inherits-alignment.html
33913                - Ensure positioned inline elements inherit alignment.
33914                fast/inline/absolute-positioned-inline-in-centred-block.html
33915                - Ensure positioned inline element that's the sole or first child of a rendered block
33916                  obeys parents alignment.
33917                fast/inline/absolute-positioned-block-in-centred-block.html
33918                - As above, but a positioned block should not inherit alignment.
33919
33920         * rendering/RenderBlock.h:
33921         * rendering/RenderBlockLineLayout.cpp:
33922         (WebCore::RenderBlock::updateLogicalWidthForAlignment):
33923         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Move the alignment check to updateLogicalWidthForAlignment.
33924         (WebCore::setStaticPositions): use startAlignedOffsetForLine and use startAlignedOffsetForBlock
33925         (WebCore::RenderBlock::startAlignedOffsetForLine): New function, find the aligned offset using updateLogicalWidthForAlignment
33926
33927 2011-09-03  Andreas Kling  <kling@webkit.org>
33928
33929         Remove two unused functions from Element.
33930         https://bugs.webkit.org/show_bug.cgi?id=67492
33931
33932         Reviewed by Benjamin Poulain.
33933
33934         Removed openTagStartToString() and setCStringAttribute() as they are
33935         not called from anywhere.
33936
33937         * dom/Element.cpp:
33938         * dom/Element.h:
33939
33940 2011-09-03  Andrew Wason  <rectalogic@rectalogic.com>
33941
33942         [Qt] Enable support for WebGL OES_standard_derivatives for Qt
33943         https://bugs.webkit.org/show_bug.cgi?id=67430
33944
33945         Reviewed by Noam Rosenthal.
33946
33947         Tested using https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/extensions/oes-standard-derivatives.html
33948
33949         Enable existing support for OES_standard_derivatives for Qt.
33950
33951         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
33952         (WebCore::Extensions3DOpenGL::ensureEnabled):
33953         (WebCore::Extensions3DOpenGL::isEnabled):
33954
33955 2011-09-03  Yuta Kitamura  <yutak@chromium.org>
33956
33957         WebSocket: Send ArrayBuffer as WebSocket binary message
33958         https://bugs.webkit.org/show_bug.cgi?id=67477
33959
33960         Reviewed by Kent Tamura.
33961
33962         Tests: http/tests/websocket/tests/hybi/send-arraybuffer.html
33963                http/tests/websocket/tests/hybi/workers/send-arraybuffer.html
33964                http/tests/websocket/tests/hybi/bufferedAmount-after-close.html (updated)
33965
33966         * bindings/js/JSWebSocketCustom.cpp:
33967         (WebCore::JSWebSocket::send):
33968         * bindings/v8/custom/V8WebSocketCustom.cpp:
33969         (WebCore::V8WebSocket::sendCallback):
33970         * websockets/ThreadableWebSocketChannel.h:
33971         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
33972         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
33973         (WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult):
33974         (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult):
33975         * websockets/ThreadableWebSocketChannelClientWrapper.h:
33976         Rename "sent" to "sendRequestResult" to clarify the meaning. Messages from the script may not
33977         be sent immediately, thus the return value of WebSocketChannel::send() indicates whether the
33978         message has been queued successfully, rather than whether the message has been sent or not.
33979         * websockets/WebSocket.cpp:
33980         (WebCore::WebSocket::send):
33981         Case of sending "[object ArrayBuffer]" is covered by an existing test
33982         http/tests/websocket/tests/{hybi,hixie76}/send-object.html.
33983         * websockets/WebSocket.h:
33984         * websockets/WebSocket.idl:
33985         * websockets/WebSocketChannel.cpp:
33986         (WebCore::WebSocketChannel::send):
33987         * websockets/WebSocketChannel.h:
33988         * websockets/WorkerThreadableWebSocketChannel.cpp:
33989         (WebCore::WorkerThreadableWebSocketChannel::send):
33990         (WebCore::workerContextDidSend):
33991         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
33992         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendArrayBuffer):
33993         Construct an ArrayBuffer from the data on Vector<char>.
33994         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
33995         Copy the content into temporary buffer of Vector<char>, and send it to the main thread.
33996         * websockets/WorkerThreadableWebSocketChannel.h:
33997
33998 2011-09-02  Kentaro Hara  <haraken@google.com>
33999
34000         Implement a CustomEvent constructor for V8
34001         https://bugs.webkit.org/show_bug.cgi?id=67527
34002
34003         Reviewed by Sam Weinig.
34004
34005         Test: fast/events/constructors/custom-event-constructor.html
34006
34007         * bindings/v8/OptionsObject.h:
34008         (WebCore::OptionsObject::getKeyValue): Returns ScriptValue corresponding to a given key.
34009         * bindings/v8/custom/V8EventConstructors.cpp: Added the CustomEvent constructor.
34010         * dom/CustomEvent.idl: Added a 'V8CustomConstructor' attribute.
34011
34012 2011-09-02  Adrienne Walker  <enne@google.com>
34013
34014         [chromium] Move updateLayers from LayerRendererChromium to CCLayerTreeHost
34015         https://bugs.webkit.org/show_bug.cgi?id=67438
34016
34017         Reviewed by James Robinson.
34018
34019         Covered by existing tests.
34020
34021         Move functionality used by both CCLayerTreeHost and
34022         LayerRendererChromium into CCLayerTreeHostCommon. Move update, paint,
34023         and updateCompositorResource functions into CClayerTreeHost.
34024
34025         * WebCore.gypi:
34026         * platform/graphics/chromium/LayerChromium.cpp:
34027         (WebCore::sortLayers):
34028         * platform/graphics/chromium/LayerChromium.h:
34029         * platform/graphics/chromium/LayerRendererChromium.cpp:
34030         (WebCore::LayerRendererChromium::textureMemoryReclaimLimit):
34031         (WebCore::LayerRendererChromium::drawLayers):
34032         (WebCore::LayerRendererChromium::drawLayersInternal):
34033         * platform/graphics/chromium/LayerRendererChromium.h:
34034         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
34035         (WebCore::sortLayers):
34036         * platform/graphics/chromium/cc/CCLayerImpl.h:
34037         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
34038         (WebCore::CCLayerTreeHost::commitTo):
34039         (WebCore::CCLayerTreeHost::updateLayers):
34040         (WebCore::paintContentsIfDirty):
34041         (WebCore::CCLayerTreeHost::paintLayerContents):
34042         (WebCore::CCLayerTreeHost::updateCompositorResources):
34043         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
34044         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: Added.
34045         (WebCore::CCLayerTreeHostCommon::isScaleOrTranslation):
34046         (WebCore::CCLayerTreeHostCommon::calculateVisibleRect):
34047         (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
34048         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h: Added.
34049         (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility):
34050         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
34051         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
34052         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
34053         (WebCore::CCSingleThreadProxy::commitIfNeeded):
34054
34055 2011-09-02  Chris Marrin  <cmarrin@apple.com>
34056
34057         https://bugs.webkit.org/show_bug.cgi?id=67510
34058         Crash can occur when doing a PlatformCAAnimation::copy() with no valueFunction
34059
34060         Reviewed by Simon Fraser.
34061         
34062         Do a null check in two places to avoid sending nulls to CACF ValueFunction API.
34063
34064         Test: animations/pause-crash.html
34065
34066         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
34067         (PlatformCAAnimation::valueFunction):
34068         (PlatformCAAnimation::setValueFunction):
34069
34070 2011-09-02  Bill Budge  <bbudge@chromium.org>
34071
34072         Add a 'didDownloadData' method to ResourceLoader, SubresourceLoader,
34073         SubresourceLoaderClient, DocumentThreadableLoader, ResourceHandleClient,
34074         and ThreadableLoaderClient for the Chromium port only, so we can pass
34075         these notifications from our ResourceHandle implementation through the
34076         WebCore loader framework.
34077         https://bugs.webkit.org/show_bug.cgi?id=67229
34078
34079         Reviewed by Darin Fisher.
34080
34081         No new tests. Exposes no new functionality.
34082
34083         * WebCore.gypi:
34084         * loader/DocumentThreadableLoader.h:
34085         * loader/ResourceLoader.h:
34086         * loader/SubresourceLoader.h:
34087         * loader/SubresourceLoaderClient.h:
34088         (WebCore::SubresourceLoaderClient::didDownloadData):
34089         * loader/ThreadableLoaderClient.h:
34090         (WebCore::ThreadableLoaderClient::didDownloadData):
34091         * loader/ThreadableLoaderClientWrapper.h:
34092         (WebCore::ThreadableLoaderClientWrapper::didDownloadData):
34093         * loader/chromium: Added.
34094         * loader/chromium/DocumentThreadableLoaderChromium.cpp: Added.
34095         (WebCore::DocumentThreadableLoader::didDownloadData):
34096         * loader/chromium/ResourceLoaderChromium.cpp: Added.
34097         (WebCore::ResourceLoader::didDownloadData):
34098         * loader/chromium/SubresourceLoaderChromium.cpp: Added.
34099         (WebCore::SubresourceLoader::didDownloadData):
34100         * platform/network/ResourceHandleClient.h:
34101         (WebCore::ResourceHandleClient::didDownloadData):
34102
34103 2011-09-02  Jeff Miller  <jeffm@apple.com>
34104
34105         Assert that PlatformCALayerWinInternal::displayCallback() is only called on the main thread
34106         https://bugs.webkit.org/show_bug.cgi?id=67541
34107
34108         Reviewed by Simon Fraser.
34109
34110         No new tests, covered by existing media tests.
34111
34112         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
34113         (PlatformCALayerWinInternal::displayCallback): Assert that is function is only called on the main thread.
34114
34115 2011-09-02  Julien Chaffraix  <jchaffraix@webkit.org>
34116
34117         Enable RenderLayer::updateLayerPosition's cachedOffset optimization for more cases
34118         https://bugs.webkit.org/show_bug.cgi?id=66901
34119
34120         Reviewed by Simon Fraser.
34121
34122         Test: fast/layers/assert-RenderLayer-update-positions.html
34123               Also covered by existing tests under the new ASSERT.
34124
34125         This change extends the range of callers making use of the cachedOffset optimization.
34126
34127         Most callers did not make use of cachedOffset as it did not work when called on a subtree.
34128         This limitation is now gone thus we can enable it more widely.
34129
34130         The semantics of the optimization are changed a bit as we now return if it is enabled whereas
34131         the old code would check if it was *disabled*. Also there were some renames done to match more
34132         closely what was going on (s/cachedOffset/offsetFromRoot/ and s/cachedOffsetDisabled/hasLayerOffset/).
34133
34134         Note that this is an optimistic optimization: if cachedOffset is not used, then we have
34135         done at least an extra traversal up to the root. I have found it to be a wash on file
34136         cycler (alexa) but to be a nice improvement (~20%) on some table benchmarks (modifying
34137         a cell, scrolling).
34138
34139         * page/FrameView.cpp:
34140         (WebCore::FrameView::layout): Extended the use of cachedOffset to subtree layouts.
34141         * rendering/RenderBoxModelObject.cpp:
34142         (WebCore::RenderBoxModelObject::styleDidChange): Forbid the use cachedOffset in this
34143         case as we have only a single layer to update.
34144
34145         * rendering/RenderLayer.cpp:
34146         (WebCore::RenderLayer::computeOffsetFromRoot): Added this function to get the offset from the root
34147         layer at a certain point in the RenderLayer's tree. It gets the root layer's checking if no layer
34148         in between would prevent convertToLayerCoords to work and return the position relative to
34149         this layer.
34150
34151         (WebCore::RenderLayer::updateLayerPositions): Added a new ASSERT to make sure our cachedOffset
34152         is always fine. Also added a comment about calling convertToLayerCoords.
34153
34154         (WebCore::RenderLayer::removeOnlyThisLayer): Added cachedOffset here too as we may have to
34155         update several layers. We save the offset prior to being removed from the hierarchy for
34156         correctness.
34157
34158         (WebCore::RenderLayer::paintChildLayerIntoColumns): Added a comment here about calling convertToLayerCoords.
34159
34160         * rendering/RenderLayer.h: Swapped the argument in updateLayerPositions to make
34161         cachedOffset a mandatory field. Patched all the callers.
34162
34163         (WebCore::RenderLayer::canUseConvertToLayerCoords): Added this helper method to know when a
34164         renderer prevents convertToLayerCoords from working. Added some FIXME around suspicious use
34165         of convertToLayerCoords.
34166
34167 2011-08-30  Matthew Delaney  <mdelaney@apple.com>
34168
34169         Read out of bounds in sUnpremultiplyData_RGBA8888 / ImageBufferData::getData
34170         https://bugs.webkit.org/show_bug.cgi?id=65352
34171
34172         Reviewed by Simon Fraser.
34173
34174         New test: fast/canvas/canvas-getImageData-large-crash.html
34175
34176         This patch prevents overflows from happening in getImageData, createImageData, and canvas creation
34177         calls that specify widths and heights that end up overflowing the ints that we store those values in
34178         as well as derived values such as area and maxX / maxY of the bounding rects involved. Overflow of integer
34179         arithmetic is detected via the use of the new Checked type that was introduced in r94207.
34180
34181         * html/HTMLCanvasElement.cpp:
34182         (WebCore::HTMLCanvasElement::convertLogicalToDevice): Removed dependency on ints, using FloatRects/Sizes instead.
34183         (WebCore::HTMLCanvasElement::createImageBuffer): Moved the check for max canvas area and dimensions here.
34184           Added in check that prevents us from having canvases of sizes that will cause overflows.
34185         (WebCore::HTMLCanvasElement::baseTransform): Updated use of convertLogicalToDevice.
34186         * html/HTMLCanvasElement.h: Updated method signatures.
34187         * html/canvas/CanvasRenderingContext2D.cpp:
34188         (WebCore::createEmptyImageData): Added in check to prevent creating ImageData objects that will cause overflow when computing their size.
34189         (WebCore::CanvasRenderingContext2D::createImageData): Avoid creating ImageData objects of size that will overflow later.
34190         (WebCore::CanvasRenderingContext2D::getImageData): Added in check to prevent trying to get ImageData objects that will cause overflow when computing their size.
34191         * platform/graphics/FloatRect.cpp:
34192         (WebCore::FloatRect::isExpressibleAsIntRect): New method that tests whether a FloatRect can become an IntRect without overflow or having to be clamped.
34193         * platform/graphics/FloatRect.h:
34194         * platform/graphics/FloatSize.cpp:
34195         (WebCore::FloatSize::isExpressibleAsIntSize): Same as FloatRect, but for FloatSize->IntSize.
34196         * platform/graphics/FloatSize.h:
34197         * platform/graphics/cg/ImageBufferCG.cpp: Added check for overflow.
34198         (WebCore::ImageBuffer::ImageBuffer):
34199
34200 2011-09-02  Dan Bernstein  <mitz@apple.com>
34201
34202         <rdar://problem/9755843> anonymous RenderMathMLOperator sets itself as the renderer of its parent mfenced node
34203
34204         Reviewed by Darin Adler.
34205
34206         Test: mathml/operator-hijacks-fenced-node.xhtml
34207
34208         * rendering/mathml/RenderMathMLOperator.cpp:
34209         (WebCore::RenderMathMLOperator::updateFromElement): Rather than unconditionally setting the
34210         node’s renderer to this, just restore it to whatever it was before calling destroyLeftoverChildren().
34211
34212 2011-09-02  Mark Hahnenberg  <mhahnenberg@apple.com>
34213
34214         Incorporate newer, faster dtoa library
34215         https://bugs.webkit.org/show_bug.cgi?id=66346
34216
34217         Reviewed by Oliver Hunt.
34218
34219         No new tests.
34220
34221         Added new dtoa library at http://code.google.com/p/double-conversion/.
34222         Replaced old call to dtoa.  The new library is much faster than the old one.
34223         We still use the old dtoa for some stuff in WebCore as well as the old strtod, 
34224         but we can phase these out eventually as well.
34225
34226         * ForwardingHeaders/wtf/dtoa/double-conversion.h: Added.
34227         * WebCore.vcproj/copyForwardingHeaders.cmd:
34228         * css/CSSPrimitiveValue.cpp:
34229         (WebCore::formatNumber):
34230         * html/parser/HTMLParserIdioms.cpp:
34231         (WebCore::serializeForNumberType):
34232         * inspector/InspectorValues.cpp:
34233         (WebCore::InspectorBasicValue::writeJSON):
34234         * platform/graphics/Color.cpp:
34235         (WebCore::Color::serialized):
34236
34237 2011-09-02  Nat Duca  <nduca@chromium.org>
34238
34239         [chromium] Check for null context when reinitializing compositor
34240         https://bugs.webkit.org/show_bug.cgi?id=67507
34241
34242         Reviewed by James Robinson.
34243
34244         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
34245         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
34246
34247 2011-09-02  Sam Weinig  <sam@webkit.org>
34248
34249         Remove BeforeProcessEvent, it was never meant to be
34250         https://bugs.webkit.org/show_bug.cgi?id=67493
34251
34252         Reviewed by Anders Carlsson.
34253
34254         BeforeProcessEvent was added, never hooked up, and never removed.
34255         Now it is being removed.
34256
34257         * CodeGenerators.pri:
34258         * DerivedSources.make:
34259         * GNUmakefile.list.am:
34260         * WebCore.gypi:
34261         * WebCore.pro:
34262         * WebCore.vcproj/WebCore.vcproj:
34263         * WebCore.xcodeproj/project.pbxproj:
34264         * dom/BeforeProcessEvent.cpp: Removed.
34265         * dom/BeforeProcessEvent.h: Removed.
34266         * dom/BeforeProcessEvent.idl: Removed.
34267         * dom/DOMAllInOne.cpp:
34268         * dom/Document.cpp:
34269         (WebCore::Document::addListenerTypeIfNeeded):
34270         * dom/Document.h:
34271         * dom/EventNames.h:
34272         * html/HTMLAttributeNames.in:
34273         * html/HTMLScriptElement.cpp:
34274         (WebCore::HTMLScriptElement::parseMappedAttribute):
34275         * html/HTMLStyleElement.cpp:
34276         (WebCore::HTMLStyleElement::parseMappedAttribute):
34277
34278 2011-09-02  Adrienne Walker  <enne@google.com>
34279
34280         [chromium] Remove LayerRendererChromium references from the LayerChromium tree
34281         https://bugs.webkit.org/show_bug.cgi?id=66430
34282
34283         Reviewed by James Robinson.
34284
34285         Covered by existing tests.
34286
34287         Replace references to LayerRendererChromium in the LayerChromium tree
34288         with references to LayerTreeHost. The LayerRendererChromium property
34289         is no longer synced and instead is set recursively on the CCLayerImpl
34290         tree during commit.
34291
34292         WebGLLayerChromium's paintRenderedResultsToCanvas function is
34293         temporarily turned off for threaded compositing because it needs
34294         access to the compositor context.
34295
34296         Previously, changing the layer renderer on a layer called cleanup
34297         resources on that layer.  Now, call that explicitly clean up all
34298         resources explicitly from the proxy when the layer renderer gets
34299         created. This cleans up all of the ManagedTexture objects which may be
34300         hanging onto stale GraphicsContext3D pointers.
34301
34302         * platform/graphics/chromium/LayerChromium.cpp:
34303         (WebCore::LayerChromium::cleanupResourcesRecursive):
34304         (WebCore::LayerChromium::setLayerTreeHost):
34305         (WebCore::LayerChromium::pushPropertiesTo):
34306         * platform/graphics/chromium/LayerChromium.h:
34307         (WebCore::LayerChromium::layerTreeHost):
34308         * platform/graphics/chromium/LayerRendererChromium.cpp:
34309         (WebCore::LayerRendererChromium::drawLayers):
34310         (WebCore::LayerRendererChromium::paintLayerContents):
34311         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
34312         * platform/graphics/chromium/RenderSurfaceChromium.h:
34313         * platform/graphics/chromium/TiledLayerChromium.cpp:
34314         (WebCore::TiledLayerChromium::TiledLayerChromium):
34315         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
34316         (WebCore::TiledLayerChromium::setLayerTreeHost):
34317         (WebCore::TiledLayerChromium::textureManager):
34318         * platform/graphics/chromium/TiledLayerChromium.h:
34319         * platform/graphics/chromium/VideoLayerChromium.cpp:
34320         (WebCore::VideoLayerChromium::VideoLayerChromium):
34321         (WebCore::VideoLayerChromium::cleanupResources):
34322         (WebCore::VideoLayerChromium::setLayerTreeHost):
34323         (WebCore::VideoLayerChromium::reserveTextures):
34324         * platform/graphics/chromium/VideoLayerChromium.h:
34325         * platform/graphics/chromium/WebGLLayerChromium.cpp:
34326         (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
34327         (WebCore::WebGLLayerChromium::setTextureUpdated):
34328         (WebCore::WebGLLayerChromium::layerRendererContext):
34329         * platform/graphics/chromium/WebGLLayerChromium.h:
34330         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
34331         (WebCore::CCLayerImpl::setLayerRendererRecursive):
34332         * platform/graphics/chromium/cc/CCLayerImpl.h:
34333         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
34334         (WebCore::CCLayerTreeHost::commitTo):
34335         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
34336         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
34337         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
34338
34339 2011-09-02  Alexey Proskuryakov  <ap@apple.com>
34340
34341         Build fix.
34342
34343         * platform/network/mac/CookieStorageMac.mm: (WebCore::setCookieStoragePrivateBrowsingEnabled):
34344         Can't use BUILDING_ON_SNOW_LEOPARD without defined() when not on Snow Leopard.
34345
34346 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
34347
34348         Unreviewed, rolling out r94421.
34349         http://trac.webkit.org/changeset/94421
34350         https://bugs.webkit.org/show_bug.cgi?id=67496
34351
34352         Broke a number of tests on Chromium builders (including the
34353         "cr-linux" EWS bot) (Requested by apavlov on #webkit).
34354
34355         * accessibility/AXObjectCache.cpp:
34356         (WebCore::nodeHasRole):
34357         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
34358         (webkit_accessible_get_name):
34359         * dom/Document.cpp:
34360         (WebCore::Document::buildAccessKeyMap):
34361         (WebCore::Document::recalcStyleSelector):
34362         * dom/Element.cpp:
34363         (WebCore::Element::baseURI):
34364         (WebCore::Element::formatForDebugger):
34365         (WebCore::Element::spellcheckAttributeState):
34366         * dom/NameNodeList.cpp:
34367         (WebCore::NameNodeList::nodeMatches):
34368         * editing/ApplyStyleCommand.cpp:
34369         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
34370         * editing/SplitElementCommand.cpp:
34371         (WebCore::SplitElementCommand::doUnapply):
34372         * editing/markup.cpp:
34373         (WebCore::shouldIncludeWrapperForFullySelectedRoot):
34374         (WebCore::createMarkup):
34375         * html/HTMLAnchorElement.cpp:
34376         (WebCore::HTMLAnchorElement::draggable):
34377         (WebCore::HTMLAnchorElement::href):
34378         (WebCore::HTMLAnchorElement::name):
34379         (WebCore::HTMLAnchorElement::target):
34380         (WebCore::HTMLAnchorElement::sendPings):
34381         (WebCore::HTMLAnchorElement::handleClick):
34382         * html/HTMLAppletElement.cpp:
34383         (WebCore::HTMLAppletElement::createRenderer):
34384         * html/HTMLAreaElement.cpp:
34385         (WebCore::HTMLAreaElement::target):
34386         * html/HTMLBodyElement.cpp:
34387         (WebCore::HTMLBodyElement::aLink):
34388         (WebCore::HTMLBodyElement::bgColor):
34389         (WebCore::HTMLBodyElement::link):
34390         (WebCore::HTMLBodyElement::text):
34391         (WebCore::HTMLBodyElement::vLink):
34392         (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
34393         * html/HTMLButtonElement.cpp:
34394         (WebCore::HTMLButtonElement::value):
34395         * html/HTMLCanvasElement.cpp:
34396         (WebCore::HTMLCanvasElement::reset):
34397         * html/HTMLCollection.cpp:
34398         (WebCore::HTMLCollection::checkForNameMatch):
34399         (WebCore::HTMLCollection::updateNameCache):
34400         * html/HTMLDocument.cpp:
34401         (WebCore::HTMLDocument::dir):
34402         * html/HTMLElement.cpp:
34403         (WebCore::HTMLElement::parseMappedAttribute):
34404         (WebCore::HTMLElement::draggable):
34405         (WebCore::HTMLElement::title):
34406         (WebCore::setHasDirAutoFlagRecursively):
34407         (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
34408         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
34409         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
34410         * html/HTMLEmbedElement.cpp:
34411         (WebCore::HTMLEmbedElement::updateWidget):
34412         (WebCore::HTMLEmbedElement::insertedIntoDocument):
34413         (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs):
34414         * html/HTMLFormCollection.cpp:
34415         (WebCore::HTMLFormCollection::getNamedFormItem):
34416         (WebCore::HTMLFormCollection::updateNameCache):
34417         * html/HTMLFormControlElement.cpp:
34418         (WebCore::HTMLFormControlElement::autofocus):
34419         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
34420         * html/HTMLFormElement.cpp:
34421         (WebCore::HTMLFormElement::name):
34422         (WebCore::HTMLFormElement::action):
34423         (WebCore::HTMLFormElement::method):
34424         (WebCore::HTMLFormElement::target):
34425         * html/HTMLFrameElement.cpp:
34426         (WebCore::HTMLFrameElement::noResize):
34427         * html/HTMLFrameElementBase.cpp:
34428         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
34429         (WebCore::HTMLFrameElementBase::location):
34430         (WebCore::HTMLFrameElementBase::allowFullScreen):
34431         * html/HTMLHtmlElement.cpp:
34432         (WebCore::HTMLHtmlElement::insertedByParser):
34433         * html/HTMLImageElement.cpp:
34434         (WebCore::HTMLImageElement::altText):
34435         (WebCore::HTMLImageElement::width):
34436         (WebCore::HTMLImageElement::height):
34437         (WebCore::HTMLImageElement::alt):
34438         (WebCore::HTMLImageElement::draggable):
34439         (WebCore::HTMLImageElement::src):
34440         (WebCore::HTMLImageElement::addSubresourceAttributeURLs):
34441         * html/HTMLInputElement.cpp:
34442         (WebCore::HTMLInputElement::finishParsingChildren):
34443         (WebCore::HTMLInputElement::altText):
34444         (WebCore::HTMLInputElement::reset):
34445         (WebCore::HTMLInputElement::searchEventsShouldBeDispatched):
34446         (WebCore::HTMLInputElement::isSpeechEnabled):
34447         * html/HTMLLabelElement.cpp:
34448         (WebCore::HTMLLabelElement::control):
34449         * html/HTMLLinkElement.cpp:
34450         (WebCore::HTMLLinkElement::process):
34451         (WebCore::HTMLLinkElement::href):
34452         (WebCore::HTMLLinkElement::rel):
34453         (WebCore::HTMLLinkElement::target):
34454         (WebCore::HTMLLinkElement::type):
34455         * html/HTMLMapElement.cpp:
34456         (WebCore::HTMLMapElement::imageElement):
34457         * html/HTMLMediaElement.cpp:
34458         (WebCore::HTMLMediaElement::attributeChanged):
34459         (WebCore::HTMLMediaElement::insertedIntoDocument):
34460         * html/HTMLMetaElement.cpp:
34461         (WebCore::HTMLMetaElement::content):
34462         (WebCore::HTMLMetaElement::httpEquiv):
34463         (WebCore::HTMLMetaElement::name):
34464         * html/HTMLMeterElement.cpp:
34465         (WebCore::HTMLMeterElement::min):
34466         (WebCore::HTMLMeterElement::max):
34467         (WebCore::HTMLMeterElement::value):
34468         (WebCore::HTMLMeterElement::low):
34469         (WebCore::HTMLMeterElement::high):
34470         (WebCore::HTMLMeterElement::optimum):
34471         * html/HTMLNameCollection.cpp:
34472         (WebCore::HTMLNameCollection::itemAfter):
34473         * html/HTMLObjectElement.cpp:
34474         (WebCore::HTMLObjectElement::updateWidget):
34475         (WebCore::HTMLObjectElement::containsJavaApplet):
34476         (WebCore::HTMLObjectElement::addSubresourceAttributeURLs):
34477         * html/HTMLOptGroupElement.cpp:
34478         (WebCore::HTMLOptGroupElement::groupLabelText):
34479         * html/HTMLProgressElement.cpp:
34480         (WebCore::HTMLProgressElement::max):
34481         * html/HTMLScriptElement.cpp:
34482         (WebCore::HTMLScriptElement::sourceAttributeValue):
34483         (WebCore::HTMLScriptElement::charsetAttributeValue):
34484         (WebCore::HTMLScriptElement::typeAttributeValue):
34485         (WebCore::HTMLScriptElement::languageAttributeValue):
34486         (WebCore::HTMLScriptElement::forAttributeValue):
34487         (WebCore::HTMLScriptElement::eventAttributeValue):
34488         * html/HTMLSourceElement.cpp:
34489         (WebCore::HTMLSourceElement::media):
34490         (WebCore::HTMLSourceElement::type):
34491         * html/HTMLStyleElement.cpp:
34492         (WebCore::HTMLStyleElement::media):
34493         (WebCore::HTMLStyleElement::type):
34494         * html/HTMLTableCellElement.cpp:
34495         (WebCore::HTMLTableCellElement::abbr):
34496         (WebCore::HTMLTableCellElement::axis):
34497         (WebCore::HTMLTableCellElement::headers):
34498         (WebCore::HTMLTableCellElement::scope):
34499         (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs):
34500         * html/HTMLTableColElement.cpp:
34501         (WebCore::HTMLTableColElement::width):
34502         * html/HTMLTableElement.cpp:
34503         (WebCore::HTMLTableElement::rules):
34504         (WebCore::HTMLTableElement::summary):
34505         (WebCore::HTMLTableElement::addSubresourceAttributeURLs):
34506         * html/HTMLTableSectionElement.cpp:
34507         (WebCore::HTMLTableSectionElement::align):
34508         (WebCore::HTMLTableSectionElement::ch):
34509         (WebCore::HTMLTableSectionElement::chOff):
34510         (WebCore::HTMLTableSectionElement::vAlign):
34511         * html/HTMLTextAreaElement.cpp:
34512         (WebCore::HTMLTextAreaElement::maxLength):
34513         * html/HTMLTextFormControlElement.cpp:
34514         (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
34515         (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
34516         * html/HTMLTrackElement.cpp:
34517         (WebCore::HTMLTrackElement::src):
34518         (WebCore::HTMLTrackElement::kind):
34519         (WebCore::HTMLTrackElement::srclang):
34520         (WebCore::HTMLTrackElement::label):
34521         (WebCore::HTMLTrackElement::isDefault):
34522         (WebCore::HTMLTrackElement::load):
34523         * html/HTMLVideoElement.cpp:
34524         (WebCore::HTMLVideoElement::width):
34525         (WebCore::HTMLVideoElement::height):
34526         * html/StepRange.cpp:
34527         (WebCore::StepRange::StepRange):
34528         * html/shadow/TextControlInnerElements.cpp:
34529         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
34530         * inspector/InspectorPageAgent.cpp:
34531         (WebCore::InspectorPageAgent::buildObjectForFrame):
34532         * loader/FormSubmission.cpp:
34533         (WebCore::FormSubmission::create):
34534         * loader/ImageLoader.cpp:
34535         (WebCore::ImageLoader::updateFromElement):
34536         * page/Frame.cpp:
34537         (WebCore::Frame::matchLabelsAgainstElement):
34538         * page/PageSerializer.cpp:
34539         (WebCore::PageSerializer::serializeFrame):
34540         * page/mac/FrameMac.mm:
34541         (WebCore::Frame::matchLabelsAgainstElement):
34542         * platform/chromium/ClipboardChromium.cpp:
34543         (WebCore::writeImageToDataObject):
34544         * platform/chromium/PasteboardChromium.cpp:
34545         (WebCore::Pasteboard::writeImage):
34546         * platform/gtk/PasteboardGtk.cpp:
34547         (WebCore::getURLForImageNode):
34548         * platform/mac/HTMLConverter.mm:
34549         (fileWrapperForElement):
34550         * platform/win/ClipboardWin.cpp:
34551         (WebCore::writeImageToDataObject):
34552         (WebCore::ClipboardWin::declareAndWriteDragImage):
34553         * rendering/HitTestResult.cpp:
34554         (WebCore::HitTestResult::altDisplayString):
34555         (WebCore::HitTestResult::absoluteImageURL):
34556         (WebCore::HitTestResult::absoluteLinkURL):
34557         * rendering/RenderDetails.cpp:
34558         (WebCore::RenderDetails::isOpen):
34559         * rendering/RenderMenuList.cpp:
34560         (WebCore::RenderMenuList::itemAccessibilityText):
34561         * rendering/RenderObject.cpp:
34562         (WebCore::RenderObject::addPDFURLRect):
34563         * rendering/RenderTableCell.cpp:
34564         (WebCore::RenderTableCell::computePreferredLogicalWidths):
34565         * rendering/RenderTextControlSingleLine.cpp:
34566         (WebCore::RenderTextControlSingleLine::autosaveName):
34567         * rendering/RenderVideo.cpp:
34568         (WebCore::RenderVideo::calculateIntrinsicSize):
34569         * rendering/mathml/RenderMathMLFenced.cpp:
34570         (WebCore::RenderMathMLFenced::updateFromElement):
34571         * rendering/mathml/RenderMathMLFraction.cpp:
34572         (WebCore::RenderMathMLFraction::updateFromElement):
34573         * rendering/mathml/RenderMathMLOperator.cpp:
34574         (WebCore::RenderMathMLOperator::updateFromElement):
34575         * svg/SVGFontData.cpp:
34576         (WebCore::SVGFontData::applySVGGlyphSelection):
34577
34578 2011-09-02  Alexey Proskuryakov  <ap@apple.com>
34579
34580         REGRESSION (r94093): Private browsing doesn't start with a clean state on Snow Leopard
34581         https://bugs.webkit.org/show_bug.cgi?id=67356
34582
34583         Reviewed by Darin Adler.
34584
34585         * platform/network/mac/CookieStorageMac.mm: (WebCore::setCookieStoragePrivateBrowsingEnabled):
34586         Don't enable old-style private browsing when using sessions - it would take precedence over
34587         session cookie storage on Snow Leopard.
34588
34589 2011-09-02  Mihnea Ovidenie  <mihnea@adobe.com>
34590
34591         BORDER attribute percent with the input image tag not working.
34592         https://bugs.webkit.org/show_bug.cgi?id=66467
34593
34594         Reviewed by Simon Fraser.
34595
34596         This patch fixes 2 issues regarding the border attribute of an input image element.
34597         1. The border attribute, if specified, is now taken into account and the border of the input image element is displayed.
34598         2. If the border attribute contains percent, the border is displayed.
34599         The value of the border attribute for input image element is now parsed according to the rules for parsing non-negative integers.
34600         This implies that when percent is specified in the border attribute, parsing takes place and the percent is ignored.
34601         If after parsing, the value of the border is greater than zero, the border of the input image element is displayed.
34602
34603         * html/HTMLElement.cpp:
34604         (WebCore::parseBorderWidthAttribute):
34605         (WebCore::HTMLElement::applyBorderAttribute):
34606         * html/HTMLElement.h:
34607         * html/HTMLImageElement.cpp:
34608         (WebCore::HTMLImageElement::parseMappedAttribute):
34609         * html/HTMLInputElement.cpp:
34610         (WebCore::HTMLInputElement::parseMappedAttribute):
34611         * html/HTMLObjectElement.cpp:
34612         (WebCore::HTMLObjectElement::parseMappedAttribute):
34613
34614 2011-09-02  Kentaro Hara  <haraken@google.com>
34615
34616         Implement the Event constructor for V8.
34617         https://bugs.webkit.org/show_bug.cgi?id=66756
34618
34619         Reviewed by Adam Barth.
34620
34621         The spec of the Event constructor is here:
34622         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-event-constructor
34623         This patch implements the Event constructor for V8 in V8EventConstructors.cpp,
34624         similar to the implementation for JSC in JSEventConstructors.cpp.
34625
34626         * WebCore.gypi: Added V8EventConstructors.cpp.
34627         * WebCore.pro: Ditto.
34628         * bindings/scripts/CodeGeneratorV8.pm:
34629         * bindings/v8/OptionsObject.cpp:
34630         (WebCore::OptionsObject::getKeyDouble): Returns a value of type double corresponding to a given key.
34631         * bindings/v8/OptionsObject.h:
34632         (WebCore::OptionsObject::getKeyValue): Returns a value corresponding to a given key.
34633         * bindings/v8/custom/V8EventConstructors.cpp: Added.
34634         (WebCore::constructV8Event): AllowAllocation::current() means that a DOM object created by WebCore is going to be just wrapped into a V8 object. In this case, we skip the code of constructorCallback().
34635         * dom/Event.idl: Added |V8CustomConstructor|.
34636
34637 2011-09-02  Anton Muhin  <antonm@chromium.org>
34638
34639         [v8] Use size_t instead of unsigned when iterating over Vector in V8DOMStringMap
34640         https://bugs.webkit.org/show_bug.cgi?id=67484
34641
34642         Reviewed by Yury Semikhatsky.
34643
34644         No new tests, minor cleanup.
34645
34646         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
34647         (WebCore::V8DOMStringMap::namedPropertyEnumerator):
34648
34649 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
34650
34651         Unreviewed, rolling out r94404.
34652         http://trac.webkit.org/changeset/94404
34653         https://bugs.webkit.org/show_bug.cgi?id=67490
34654
34655         "Patch is wrong, new API needs two reviewers, we are already
34656         working on how to add notifications elsewhere" (Requested by
34657         xan_ on #webkit).
34658
34659         * bindings/gobject/GNUmakefile.am:
34660
34661 2011-09-02  Andreas Kling  <kling@webkit.org>
34662
34663         Use fastGetAttribute() and fastHasAttribute() where appropriate.
34664         https://bugs.webkit.org/show_bug.cgi?id=67394
34665
34666         Reviewed by Darin Adler.
34667
34668         Change call sites that don't check the "style" or SVG animatable
34669         attributes to use fastGetAttribute()/fastHasAttribute() instead
34670         of getAttribute()/hasAttribute().
34671
34672         No new tests, this is a minor performance optimization.
34673
34674         * accessibility/AXObjectCache.cpp:
34675         (WebCore::nodeHasRole):
34676         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
34677         (webkit_accessible_get_name):
34678         * dom/Document.cpp:
34679         (WebCore::Document::buildAccessKeyMap):
34680         (WebCore::Document::recalcStyleSelector):
34681         * dom/Element.cpp:
34682         (WebCore::Element::baseURI):
34683         (WebCore::Element::formatForDebugger):
34684         (WebCore::Element::spellcheckAttributeState):
34685         * dom/NameNodeList.cpp:
34686         (WebCore::NameNodeList::nodeMatches):
34687         * editing/ApplyStyleCommand.cpp:
34688         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
34689         * editing/SplitElementCommand.cpp:
34690         (WebCore::SplitElementCommand::doUnapply):
34691         * editing/markup.cpp:
34692         (WebCore::shouldIncludeWrapperForFullySelectedRoot):
34693         (WebCore::createMarkup):
34694         * html/HTMLAnchorElement.cpp:
34695         (WebCore::HTMLAnchorElement::draggable):
34696         (WebCore::HTMLAnchorElement::href):
34697         (WebCore::HTMLAnchorElement::name):
34698         (WebCore::HTMLAnchorElement::target):
34699         (WebCore::HTMLAnchorElement::sendPings):
34700         (WebCore::HTMLAnchorElement::handleClick):
34701         * html/HTMLAppletElement.cpp:
34702         (WebCore::HTMLAppletElement::createRenderer):
34703         * html/HTMLAreaElement.cpp:
34704         (WebCore::HTMLAreaElement::target):
34705         * html/HTMLBodyElement.cpp:
34706         (WebCore::HTMLBodyElement::aLink):
34707         (WebCore::HTMLBodyElement::bgColor):
34708         (WebCore::HTMLBodyElement::link):
34709         (WebCore::HTMLBodyElement::text):
34710         (WebCore::HTMLBodyElement::vLink):
34711         (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
34712         * html/HTMLButtonElement.cpp:
34713         (WebCore::HTMLButtonElement::value):
34714         * html/HTMLCanvasElement.cpp:
34715         (WebCore::HTMLCanvasElement::reset):
34716         * html/HTMLCollection.cpp:
34717         (WebCore::HTMLCollection::checkForNameMatch):
34718         (WebCore::HTMLCollection::updateNameCache):
34719         * html/HTMLDocument.cpp:
34720         (WebCore::HTMLDocument::dir):
34721         * html/HTMLElement.cpp:
34722         (WebCore::HTMLElement::parseMappedAttribute):
34723         (WebCore::HTMLElement::draggable):
34724         (WebCore::HTMLElement::title):
34725         (WebCore::setHasDirAutoFlagRecursively):
34726         (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
34727         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
34728         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
34729         * html/HTMLEmbedElement.cpp:
34730         (WebCore::HTMLEmbedElement::updateWidget):
34731         (WebCore::HTMLEmbedElement::insertedIntoDocument):
34732         (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs):
34733         * html/HTMLFormCollection.cpp:
34734         (WebCore::HTMLFormCollection::getNamedFormItem):
34735         (WebCore::HTMLFormCollection::updateNameCache):
34736         * html/HTMLFormControlElement.cpp:
34737         (WebCore::HTMLFormControlElement::autofocus):
34738         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
34739         * html/HTMLFormElement.cpp:
34740         (WebCore::HTMLFormElement::name):
34741         (WebCore::HTMLFormElement::action):
34742         (WebCore::HTMLFormElement::method):
34743         (WebCore::HTMLFormElement::target):
34744         * html/HTMLFrameElement.cpp:
34745         (WebCore::HTMLFrameElement::noResize):
34746         * html/HTMLFrameElementBase.cpp:
34747         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
34748         (WebCore::HTMLFrameElementBase::location):
34749         (WebCore::HTMLFrameElementBase::allowFullScreen):
34750         * html/HTMLHtmlElement.cpp:
34751         (WebCore::HTMLHtmlElement::insertedByParser):
34752         * html/HTMLImageElement.cpp:
34753         (WebCore::HTMLImageElement::altText):
34754         (WebCore::HTMLImageElement::width):
34755         (WebCore::HTMLImageElement::height):
34756         (WebCore::HTMLImageElement::alt):
34757         (WebCore::HTMLImageElement::draggable):
34758         (WebCore::HTMLImageElement::src):
34759         (WebCore::HTMLImageElement::addSubresourceAttributeURLs):
34760         * html/HTMLInputElement.cpp:
34761         (WebCore::HTMLInputElement::finishParsingChildren):
34762         (WebCore::HTMLInputElement::altText):
34763         (WebCore::HTMLInputElement::reset):
34764         (WebCore::HTMLInputElement::searchEventsShouldBeDispatched):
34765         (WebCore::HTMLInputElement::isSpeechEnabled):
34766         * html/HTMLLabelElement.cpp:
34767         (WebCore::HTMLLabelElement::control):
34768         * html/HTMLLinkElement.cpp:
34769         (WebCore::HTMLLinkElement::process):
34770         (WebCore::HTMLLinkElement::href):
34771         (WebCore::HTMLLinkElement::rel):
34772         (WebCore::HTMLLinkElement::target):
34773         (WebCore::HTMLLinkElement::type):
34774         * html/HTMLMapElement.cpp:
34775         (WebCore::HTMLMapElement::imageElement):
34776         * html/HTMLMediaElement.cpp:
34777         (WebCore::HTMLMediaElement::attributeChanged):
34778         (WebCore::HTMLMediaElement::insertedIntoDocument):
34779         * html/HTMLMetaElement.cpp:
34780         (WebCore::HTMLMetaElement::content):
34781         (WebCore::HTMLMetaElement::httpEquiv):
34782         (WebCore::HTMLMetaElement::name):
34783         * html/HTMLMeterElement.cpp:
34784         (WebCore::HTMLMeterElement::min):
34785         (WebCore::HTMLMeterElement::max):
34786         (WebCore::HTMLMeterElement::value):
34787         (WebCore::HTMLMeterElement::low):
34788         (WebCore::HTMLMeterElement::high):
34789         (WebCore::HTMLMeterElement::optimum):
34790         * html/HTMLNameCollection.cpp:
34791         (WebCore::HTMLNameCollection::itemAfter):
34792         * html/HTMLObjectElement.cpp:
34793         (WebCore::HTMLObjectElement::updateWidget):
34794         (WebCore::HTMLObjectElement::containsJavaApplet):
34795         (WebCore::HTMLObjectElement::addSubresourceAttributeURLs):
34796         * html/HTMLOptGroupElement.cpp:
34797         (WebCore::HTMLOptGroupElement::groupLabelText):
34798         * html/HTMLProgressElement.cpp:
34799         (WebCore::HTMLProgressElement::max):
34800         * html/HTMLScriptElement.cpp:
34801         (WebCore::HTMLScriptElement::sourceAttributeValue):
34802         (WebCore::HTMLScriptElement::charsetAttributeValue):
34803         (WebCore::HTMLScriptElement::typeAttributeValue):
34804         (WebCore::HTMLScriptElement::languageAttributeValue):
34805         (WebCore::HTMLScriptElement::forAttributeValue):
34806         (WebCore::HTMLScriptElement::eventAttributeValue):
34807         * html/HTMLSourceElement.cpp:
34808         (WebCore::HTMLSourceElement::media):
34809         (WebCore::HTMLSourceElement::type):
34810         * html/HTMLStyleElement.cpp:
34811         (WebCore::HTMLStyleElement::media):
34812         (WebCore::HTMLStyleElement::type):
34813         * html/HTMLTableCellElement.cpp:
34814         (WebCore::HTMLTableCellElement::abbr):
34815         (WebCore::HTMLTableCellElement::axis):
34816         (WebCore::HTMLTableCellElement::headers):
34817         (WebCore::HTMLTableCellElement::scope):
34818         (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs):
34819         * html/HTMLTableColElement.cpp:
34820         (WebCore::HTMLTableColElement::width):
34821         * html/HTMLTableElement.cpp:
34822         (WebCore::HTMLTableElement::rules):
34823         (WebCore::HTMLTableElement::summary):
34824         (WebCore::HTMLTableElement::addSubresourceAttributeURLs):
34825         * html/HTMLTableSectionElement.cpp:
34826         (WebCore::HTMLTableSectionElement::align):
34827         (WebCore::HTMLTableSectionElement::ch):
34828         (WebCore::HTMLTableSectionElement::chOff):
34829         (WebCore::HTMLTableSectionElement::vAlign):
34830         * html/HTMLTextAreaElement.cpp:
34831         (WebCore::HTMLTextAreaElement::maxLength):
34832         * html/HTMLTextFormControlElement.cpp:
34833         (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
34834         (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
34835         * html/HTMLTrackElement.cpp:
34836         (WebCore::HTMLTrackElement::src):
34837         (WebCore::HTMLTrackElement::kind):
34838         (WebCore::HTMLTrackElement::srclang):
34839         (WebCore::HTMLTrackElement::label):
34840         (WebCore::HTMLTrackElement::isDefault):
34841         (WebCore::HTMLTrackElement::load):
34842         * html/HTMLVideoElement.cpp:
34843         (WebCore::HTMLVideoElement::width):
34844         (WebCore::HTMLVideoElement::height):
34845         * html/StepRange.cpp:
34846         (WebCore::StepRange::StepRange):
34847         * html/shadow/TextControlInnerElements.cpp:
34848         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
34849         * inspector/InspectorPageAgent.cpp:
34850         (WebCore::InspectorPageAgent::buildObjectForFrame):
34851         * loader/FormSubmission.cpp:
34852         (WebCore::FormSubmission::create):
34853         * loader/ImageLoader.cpp:
34854         (WebCore::ImageLoader::updateFromElement):
34855         * page/Frame.cpp:
34856         (WebCore::Frame::matchLabelsAgainstElement):
34857         * page/PageSerializer.cpp:
34858         (WebCore::PageSerializer::serializeFrame):
34859         * page/mac/FrameMac.mm:
34860         (WebCore::Frame::matchLabelsAgainstElement):
34861         * platform/chromium/ClipboardChromium.cpp:
34862         (WebCore::writeImageToDataObject):
34863         * platform/chromium/PasteboardChromium.cpp:
34864         (WebCore::Pasteboard::writeImage):
34865         * platform/gtk/PasteboardGtk.cpp:
34866         (WebCore::getURLForImageNode):
34867         * platform/mac/HTMLConverter.mm:
34868         (fileWrapperForElement):
34869         * platform/win/ClipboardWin.cpp:
34870         (WebCore::writeImageToDataObject):
34871         (WebCore::ClipboardWin::declareAndWriteDragImage):
34872         * rendering/HitTestResult.cpp:
34873         (WebCore::HitTestResult::altDisplayString):
34874         (WebCore::HitTestResult::absoluteImageURL):
34875         (WebCore::HitTestResult::absoluteLinkURL):
34876         * rendering/RenderDetails.cpp:
34877         (WebCore::RenderDetails::isOpen):
34878         * rendering/RenderMenuList.cpp:
34879         (WebCore::RenderMenuList::itemAccessibilityText):
34880         * rendering/RenderObject.cpp:
34881         (WebCore::RenderObject::addPDFURLRect):
34882         * rendering/RenderTableCell.cpp:
34883         (WebCore::RenderTableCell::computePreferredLogicalWidths):
34884         * rendering/RenderTextControlSingleLine.cpp:
34885         (WebCore::RenderTextControlSingleLine::autosaveName):
34886         * rendering/RenderVideo.cpp:
34887         (WebCore::RenderVideo::calculateIntrinsicSize):
34888         * rendering/mathml/RenderMathMLFenced.cpp:
34889         (WebCore::RenderMathMLFenced::updateFromElement):
34890         * rendering/mathml/RenderMathMLFraction.cpp:
34891         (WebCore::RenderMathMLFraction::updateFromElement):
34892         * rendering/mathml/RenderMathMLOperator.cpp:
34893         (WebCore::RenderMathMLOperator::updateFromElement):
34894         * svg/SVGFontData.cpp:
34895         (WebCore::SVGFontData::applySVGGlyphSelection):
34896
34897 2011-09-01  David Hyatt  <hyatt@apple.com>
34898
34899         https://bugs.webkit.org/show_bug.cgi?id=67431
34900         
34901         Implement border-image-repeat. Similar to how border-image-slice was implemented, the parsing of the two
34902         repeat values has been moved into separate functions. The value is represented as a Pair (similar to how we
34903         handle border radius).
34904
34905         Reviewed by Beth Dakin.
34906
34907         Added fast/borders/border-image-repeat.html.
34908
34909         * css/CSSBorderImageValue.cpp:
34910         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
34911         (WebCore::CSSBorderImageValue::cssText):
34912         * css/CSSBorderImageValue.h:
34913         (WebCore::CSSBorderImageValue::create):
34914         Modified the CSSBorderImageValue (you're living on borrowed time, my friend!) to have a CSSValue that
34915         contains a Pair.
34916
34917         * css/CSSComputedStyleDeclaration.cpp:
34918         (WebCore::valueForRepeatRule):
34919         (WebCore::valueForNinePieceImageRepeat):
34920         (WebCore::valueForNinePieceImage):
34921         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
34922         Add support for the new properties. Break out the value retrieval for the image repeat rules into its
34923         own function, valueForNinePieceImageRepeat.
34924
34925         * css/CSSParser.cpp:
34926         (WebCore::CSSParser::parseValue):
34927         (WebCore::BorderImageParseContext::BorderImageParseContext):
34928         (WebCore::BorderImageParseContext::allowRepeat):
34929         (WebCore::BorderImageParseContext::commitSlice):
34930         (WebCore::BorderImageParseContext::commitSlash):
34931         (WebCore::BorderImageParseContext::commitWidth):
34932         (WebCore::BorderImageParseContext::commitRepeat):
34933         (WebCore::BorderImageParseContext::commitBorderImage):
34934         (WebCore::CSSParser::parseBorderImage):
34935         Modified the parsing of border image to call into parseBorderImageRepeat for the repeat values.
34936
34937         (WebCore::isBorderImageRepeatKeyword):
34938         (WebCore::CSSParser::parseBorderImageRepeat):
34939         The new parsing code for border-image-repeat is here. It will build up a CSSValue containing a Pair and
34940         return the result.
34941
34942         * css/CSSParser.h:
34943         * css/CSSPropertyNames.in:
34944         Add the new properties.
34945
34946         * css/CSSStyleSelector.cpp:
34947         (WebCore::CSSStyleSelector::applyProperty):
34948         (WebCore::CSSStyleSelector::mapNinePieceImage):
34949         (WebCore::CSSStyleSelector::mapNinePieceImageRepeat):
34950         * css/CSSStyleSelector.h:
34951         The mapping into the front end is done the same way as border-image-slice. Factor out the image repeat rules
34952         portion into mapNinePieceImageRepeat.
34953
34954         * platform/graphics/Image.cpp:
34955         (WebCore::Image::drawTiled):
34956         * platform/graphics/Image.h:
34957         Add the new 'space' value as a valid image tiling rule. It's not yet supported and, like the 'round' value,
34958         is just mapped to 'repeat' for now.
34959         
34960         * rendering/style/NinePieceImage.h:
34961         (WebCore::NinePieceImage::copyRepeatFrom):
34962         Helper for copying only the repeat rules from another NinePieceImage.
34963
34964 2011-09-02  Jarred Nicholls  <jarred@sencha.com>
34965
34966         [Qt] number input not rendering spin buttons properly in RTL direction
34967         https://bugs.webkit.org/show_bug.cgi?id=67445
34968         
34969         Properly render Qt's number input with RTL direction, and fix Plastique styling.
34970
34971         Reviewed by Andreas Kling.
34972
34973         * platform/qt/RenderThemeQt.cpp:
34974         (WebCore::RenderThemeQt::paintInnerSpinButton):
34975
34976 2011-09-02  Arko Saha  <nghq36@motorola.com>
34977
34978         Resetting media controls when the src is changed from a valid url to an
34979         invalid url.
34980         https://bugs.webkit.org/show_bug.cgi?id=64880
34981
34982         Reviewed by Eric Carlson.
34983
34984         Test: media/media-controls-invalid-url.html
34985
34986         * html/HTMLMediaElement.cpp:
34987         (WebCore::HTMLMediaElement::mediaLoadingFailed):
34988
34989 2011-09-02  Vsevolod Vlasov  <vsevik@chromium.org>
34990
34991         Web Inspector: Make it more clear when requests are loaded from cache on network panel.
34992         https://bugs.webkit.org/show_bug.cgi?id=67396
34993
34994         Reviewed by Pavel Feldman.
34995
34996         * inspector/front-end/NetworkPanel.js:
34997         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
34998         * inspector/front-end/ResourceHeadersView.js:
34999         (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
35000         * inspector/front-end/networkPanel.css:
35001         (.resource-headers-view .outline-disclosure li .status-from-cache):
35002
35003 2011-09-02  Vsevolod Vlasov  <vsevik@chromium.org>
35004
35005         Web Inspector: Should remove resource highlight on sort/filter in network panel.
35006         https://bugs.webkit.org/show_bug.cgi?id=67411
35007
35008         Reviewed by Pavel Feldman.
35009
35010         * inspector/front-end/NetworkPanel.js:
35011         (WebInspector.NetworkLogView.prototype._sortItems):
35012         (WebInspector.NetworkLogView.prototype._sortByTimeline):
35013         (WebInspector.NetworkLogView.prototype._updateFilter):
35014
35015 2011-09-02  Vsevolod Vlasov  <vsevik@chromium.org>
35016
35017         Web Inspector: Network: jump to initiator's record in case of redirect
35018         https://bugs.webkit.org/show_bug.cgi?id=67367
35019
35020         Reviewed by Pavel Feldman.
35021
35022         * English.lproj/localizedStrings.js:
35023         * inspector/front-end/NetworkManager.js:
35024         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
35025         * inspector/front-end/NetworkPanel.js:
35026         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
35027         * inspector/front-end/Resource.js:
35028         (WebInspector.Resource.prototype.get redirectSource):
35029         (WebInspector.Resource.prototype.set redirectSource):
35030
35031 2011-09-02  Antti Koivisto  <antti@apple.com>
35032
35033         De-virtualize recalcStyle()
35034         https://bugs.webkit.org/show_bug.cgi?id=67378
35035
35036         Reviewed by Dimitri Glazkov.
35037
35038         Element::recalcStyle() does not need to be virtual, there are very few legit overrides. This will
35039         also make it possible to de-recursify it later.
35040         
35041         Added willRecalcStyle()/didRecalcStyle() virtual function for subclasses that need custom style recalc.
35042         These are only invoked if hasCustomWillOrDidRecalcStyle() bit is set.
35043
35044         * dom/Document.cpp:
35045         (WebCore::Document::recalcStyle):
35046         * dom/Document.h:
35047         * dom/Element.cpp:
35048         (WebCore::Element::recalcStyle):
35049         * dom/Element.h:
35050         (WebCore::Element::willRecalcStyle):
35051         (WebCore::Element::didRecalcStyle):
35052         * dom/Node.h:
35053         (WebCore::Node::hasCustomWillOrDidRecalcStyle):
35054         (WebCore::Node::setHasCustomWillOrDidRecalcStyle):
35055         * dom/ShadowRoot.cpp:
35056         (WebCore::ShadowRoot::recalcShadowTreeStyle):
35057         * dom/ShadowRoot.h:
35058         * dom/Text.cpp:
35059         (WebCore::Text::recalcTextStyle):
35060         * dom/Text.h:
35061         * html/HTMLFormControlElement.cpp:
35062         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
35063         (WebCore::HTMLFormControlElement::didRecalcStyle):
35064         * html/HTMLFormControlElement.h:
35065         * html/HTMLFrameSetElement.cpp:
35066         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
35067         (WebCore::HTMLFrameSetElement::willRecalcStyle):
35068         * html/HTMLFrameSetElement.h:
35069         * html/HTMLMediaElement.cpp:
35070         (WebCore::HTMLMediaElement::HTMLMediaElement):
35071         (WebCore::HTMLMediaElement::didRecalcStyle):
35072         * html/HTMLMediaElement.h:
35073         * html/HTMLNoScriptElement.cpp:
35074         (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
35075         (WebCore::HTMLNoScriptElement::willRecalcStyle):
35076         * html/HTMLNoScriptElement.h:
35077         * html/HTMLPlugInImageElement.cpp:
35078         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
35079         (WebCore::HTMLPlugInImageElement::willRecalcStyle):
35080         * html/HTMLPlugInImageElement.h:
35081         * html/HTMLSelectElement.cpp:
35082         * html/HTMLSelectElement.h:
35083         * svg/SVGTRefElement.cpp:
35084         (WebCore::SVGTRefElement::SVGTRefElement):
35085         (WebCore::SVGShadowText::willRecalcStyle):
35086         * svg/SVGUseElement.cpp:
35087         (WebCore::SVGUseElement::SVGUseElement):
35088         (WebCore::SVGUseElement::willRecalcStyle):
35089         (WebCore::SVGUseElement::didRecalcStyle):
35090         * svg/SVGUseElement.h:
35091
35092 2011-09-02  Yuta Kitamura  <yutak@chromium.org>
35093
35094         WebSocket: Send Blob as WebSocket binary message
35095         https://bugs.webkit.org/show_bug.cgi?id=67465
35096
35097         Reviewed by Kent Tamura.
35098
35099         Re-lands r94399 with a fix for Leopard builds.
35100
35101         * bindings/js/JSWebSocketCustom.cpp:
35102         (WebCore::JSWebSocket::send):
35103         * bindings/v8/custom/V8WebSocketCustom.cpp:
35104         (WebCore::V8WebSocket::sendCallback):
35105         * websockets/ThreadableWebSocketChannel.h:
35106         * websockets/WebSocket.cpp:
35107         (WebCore::WebSocket::send):
35108         * websockets/WebSocket.h:
35109         * websockets/WebSocket.idl:
35110         * websockets/WebSocketChannel.cpp:
35111         (WebCore::WebSocketChannel::send):
35112         * websockets/WebSocketChannel.h:
35113         * websockets/WorkerThreadableWebSocketChannel.cpp:
35114         (WebCore::WorkerThreadableWebSocketChannel::send):
35115         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
35116         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob):
35117         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
35118         * websockets/WorkerThreadableWebSocketChannel.h:
35119
35120 2011-09-02  Patrick Gansterer  <paroga@webkit.org>
35121
35122         [GTK] Generate gobject bindings for Notification and NotificationCenter
35123         https://bugs.webkit.org/show_bug.cgi?id=67380
35124
35125         Reviewed by Philippe Normand.
35126
35127         * bindings/gobject/GNUmakefile.am:
35128
35129 2011-09-02  Kenichi Ishibashi  <bashi@chromium.org>
35130
35131         [chromium] editing/selection/regional-indicators.html timing out on Linux
35132         https://bugs.webkit.org/show_bug.cgi?id=66510
35133
35134         Reviewed by Kent Tamura.
35135
35136         Uses SurrogatePairAwareTextIerator in ComplexTextControllerLinux to handle surrogate pairs correctly.
35137
35138         No new tests. editing/selection/regional-indicators.html should pass with this patch.
35139
35140         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
35141         (WebCore::ComplexTextController::nextScriptRun): Used SurrogatePairAwareTextIterator to split run.
35142         (WebCore::surrogatePairAwareFirstCharacter): Added.
35143         (WebCore::ComplexTextController::setupFontForScriptRun): Used surrogatePairAwareFirstCharacter() to get appropriate FontData.
35144
35145 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
35146
35147         Unreviewed, rolling out r94399.
35148         http://trac.webkit.org/changeset/94399
35149         https://bugs.webkit.org/show_bug.cgi?id=67471
35150
35151         Broke Leopard build (Requested by yutak on #webkit).
35152
35153         * bindings/js/JSWebSocketCustom.cpp:
35154         * bindings/v8/custom/V8WebSocketCustom.cpp:
35155         * websockets/ThreadableWebSocketChannel.h:
35156         * websockets/WebSocket.cpp:
35157         * websockets/WebSocket.h:
35158         * websockets/WebSocket.idl:
35159         * websockets/WebSocketChannel.cpp:
35160         (WebCore::WebSocketChannel::send):
35161         * websockets/WebSocketChannel.h:
35162         * websockets/WorkerThreadableWebSocketChannel.cpp:
35163         * websockets/WorkerThreadableWebSocketChannel.h:
35164
35165 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
35166
35167         Unreviewed, rolling out r94393.
35168         http://trac.webkit.org/changeset/94393
35169         https://bugs.webkit.org/show_bug.cgi?id=67470
35170
35171         It broke Qt-SL build (Requested by ossy on #webkit).
35172
35173         * WebCore.pro:
35174
35175 2011-09-02  Kenichi Ishibashi  <bashi@chromium.org>
35176
35177         [Chromium] Webfonts display bold in Windows
35178         https://bugs.webkit.org/show_bug.cgi?id=67387
35179
35180         Uses font's default weight for webfonts by setting FW_DONTCARE.
35181
35182         Reviewed by Kent Tamura.
35183
35184         No new tests. We don't have fonts to test this change.
35185
35186         * platform/graphics/skia/FontCustomPlatformData.cpp:
35187         (WebCore::FontCustomPlatformData::fontPlatformData): Sets FW_DONTCARE to use default font weight.
35188
35189 2011-09-02  Yuta Kitamura  <yutak@chromium.org>
35190
35191         WebSocket: Send Blob as WebSocket binary message
35192         https://bugs.webkit.org/show_bug.cgi?id=67465
35193
35194         Reviewed by Kent Tamura.
35195
35196         Tests: http/tests/websocket/tests/hixie76/send-empty.html
35197                http/tests/websocket/tests/hixie76/send-object.html
35198                http/tests/websocket/tests/hybi/send-blob.html
35199                http/tests/websocket/tests/hybi/send-empty.html
35200                http/tests/websocket/tests/hybi/send-file-blob-fail.html
35201                http/tests/websocket/tests/hybi/send-file-blob.html
35202                http/tests/websocket/tests/hybi/workers/send-blob.html
35203                http/tests/websocket/tests/hybi/bufferedAmount-after-close.html (updated)
35204
35205         * bindings/js/JSWebSocketCustom.cpp:
35206         (WebCore::JSWebSocket::send):
35207         * bindings/v8/custom/V8WebSocketCustom.cpp:
35208         (WebCore::V8WebSocket::sendCallback):
35209         * websockets/ThreadableWebSocketChannel.h:
35210         * websockets/WebSocket.cpp:
35211         (WebCore::WebSocket::send):
35212         * websockets/WebSocket.h:
35213         * websockets/WebSocket.idl:
35214         Fixing code generator did not sound easy, because there are some classes depending on
35215         broken behavior of current code generator (one such example is CanvasRenderingContext2D).
35216         As a temporary workaround, new custom handlers for send() are added.
35217         * websockets/WebSocketChannel.cpp:
35218         (WebCore::WebSocketChannel::send):
35219         * websockets/WebSocketChannel.h:
35220         * websockets/WorkerThreadableWebSocketChannel.cpp:
35221         (WebCore::WorkerThreadableWebSocketChannel::send):
35222         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
35223         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob):
35224         A Blob can be deserialized from url, type and size.
35225         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
35226         KURL, String and long long (corresponding to url, type and size, respectively) can be passed
35227         safely across threads.
35228         * websockets/WorkerThreadableWebSocketChannel.h:
35229
35230 2011-09-02  Philippe Normand  <pnormand@igalia.com>
35231
35232         [WebAudio] Undeclared dependency to VIDEO
35233         https://bugs.webkit.org/show_bug.cgi?id=66893
35234
35235         Reviewed by Kenneth Russell.
35236
35237         Build MediaAudioSourceNode only if VIDEO is enabled
35238
35239         * webaudio/AudioContext.cpp:
35240         * webaudio/AudioContext.h:
35241         * webaudio/AudioContext.idl:
35242         * webaudio/MediaElementAudioSourceNode.cpp:
35243         * webaudio/MediaElementAudioSourceNode.h:
35244         * webaudio/MediaElementAudioSourceNode.idl:
35245
35246 2011-09-02  Csaba Osztrogonác  <ossy@webkit.org>
35247
35248         [Qt][WK2] Unreviewed speculative buildfix.
35249
35250         * WebCore.pro: Add platform/graphics/GlyphPageTreeNode.cpp to SOURCES.
35251
35252 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
35253
35254         Unreviewed, rolling out r94389.
35255         http://trac.webkit.org/changeset/94389
35256         https://bugs.webkit.org/show_bug.cgi?id=67468
35257
35258         breaks mac build (Requested by philn-tp on #webkit).
35259
35260         * webaudio/AudioContext.cpp:
35261         (WebCore::AudioContext::createMediaElementSource):
35262         * webaudio/AudioContext.h:
35263         * webaudio/AudioContext.idl:
35264         * webaudio/MediaElementAudioSourceNode.cpp:
35265         * webaudio/MediaElementAudioSourceNode.h:
35266         * webaudio/MediaElementAudioSourceNode.idl:
35267
35268 2011-09-02  Kentaro Hara  <haraken@google.com>
35269
35270         Generate an EventSource constructor of V8 using the IDL 'Constructor' extended attribute
35271         https://bugs.webkit.org/show_bug.cgi?id=67459
35272
35273         Reviewed by Adam Barth.
35274
35275         Tests: fast/eventsource/eventsource-constructor.html
35276                fast/eventsource/eventsource-attribute-listeners.html
35277
35278         * WebCore.gypi: Removed V8EventSourceConstructor.cpp.
35279         * WebCore.pro: Removed V8EventSourceConstructor.cpp.
35280         * bindings/v8/custom/V8EventSourceConstructor.cpp: Removed.
35281         * page/EventSource.idl: Added the 'Constructor' extended attribute.
35282
35283 2011-09-02  Philippe Normand  <pnormand@igalia.com>
35284
35285         [WebAudio] Undeclared dependency to VIDEO
35286         https://bugs.webkit.org/show_bug.cgi?id=66893
35287
35288         Reviewed by Kenneth Russell.
35289
35290         Build MediaAudioSourceNode only if VIDEO is enabled
35291
35292         * webaudio/AudioContext.cpp:
35293         * webaudio/AudioContext.h:
35294         * webaudio/AudioContext.idl:
35295         * webaudio/MediaElementAudioSourceNode.cpp:
35296         * webaudio/MediaElementAudioSourceNode.h:
35297         * webaudio/MediaElementAudioSourceNode.idl:
35298
35299 2011-09-01  Takashi Toyoshima  <toyoshim@chromium.org>
35300
35301         [WebSocket] Implement WebSocket::close() code and reason handling.
35302         https://bugs.webkit.org/show_bug.cgi?id=66925
35303
35304         Reviewed by Kent Tamura.
35305
35306         Tests: http/tests/websocket/tests/hybi/close.html
35307                http/tests/websocket/tests/hybi/workers/close.html
35308
35309         * bindings/js/JSWebSocketCustom.cpp:
35310         (WebCore::JSWebSocket::close):
35311         * bindings/v8/custom/V8WebSocketCustom.cpp:
35312         (WebCore::V8WebSocket::closeCallback):
35313         Add custom bridge for WebSocket::close().
35314         * websockets/ThreadableWebSocketChannel.h:
35315         * websockets/WebSocket.cpp:
35316         (WebCore::WebSocket::close):
35317         * websockets/WebSocket.h:
35318         * websockets/WebSocket.idl:
35319         * websockets/WebSocketChannel.cpp:
35320         (WebCore::WebSocketChannel::close):
35321         Add code and reason arguments handling.
35322         (WebCore::WebSocketChannel::startClosingHandshake):
35323         Send a close frame without code and reason on server initiated closing handshakes.
35324         (WebCore::WebSocketChannel::processFrame):
35325         (WebCore::WebSocketChannel::processFrameHixie76):
35326         * websockets/WebSocketChannel.h:
35327         * websockets/WorkerThreadableWebSocketChannel.cpp:
35328         (WebCore::WorkerThreadableWebSocketChannel::close):
35329         (WebCore::WorkerThreadableWebSocketChannel::Peer::close):
35330         (WebCore::WorkerThreadableWebSocketChannel::mainThreadClose):
35331         (WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
35332         * websockets/WorkerThreadableWebSocketChannel.h:
35333         Add code and reason arguments handling.
35334
35335 2011-09-01  Mark Rowe  <mrowe@apple.com>
35336
35337         Fix the build by adding some more missing return types.
35338
35339         * page/mac/WebCoreViewFactory.m:
35340         (-[WebCoreViewFactory init]):
35341
35342 2011-09-01  Michael Nordman  <michaeln@google.com>
35343
35344         [Chromium] Fix a crashing bug due to raciness around SQL database shutdown.
35345         https://bugs.webkit.org/show_bug.cgi?id=67457
35346
35347         The removeOpenDatabase() method can get called multiple times.
35348         Subsequent calls to it should be harmeless instead of cause a crash.
35349
35350         Reviewed by David Levin.
35351
35352         * storage/chromium/DatabaseTrackerChromium.cpp:
35353         (WebCore::DatabaseTracker::removeOpenDatabase):
35354
35355 2011-09-01  Kent Tamura  <tkent@chromium.org>
35356
35357         The filename text color of a file upload control should be inherited.
35358         https://bugs.webkit.org/show_bug.cgi?id=67368
35359
35360         Reviewed by Darin Adler.
35361
35362         * css/html.css:
35363         (input[type="file"]):
35364         Add 'color: inherit'.
35365         The declaration for 'input' contains 'color: initial;'. So a file
35366         upload control has had black foreground color unless it has been
35367         specified 'color' property explicitly.
35368         Because a file upload control uses inherited background color, the
35369         foreground color also should be inherited.
35370
35371 2011-09-01  Kentaro Hara  <haraken@google.com>
35372
35373         Generate a Worker constructor of V8 using the IDL 'Constructor' extended attribute
35374         https://bugs.webkit.org/show_bug.cgi?id=67447
35375
35376         Reviewed by Dimitri Glazkov.
35377
35378         Test: fast/workers/worker-constructor.html
35379               fast/workers/worker-event-listener.html
35380
35381         * bindings/v8/custom/V8WorkerCustom.cpp: Removed constructorCallback().
35382         * workers/Worker.idl: Added the 'Constructor' extended attribute.
35383
35384 2011-09-01  Kentaro Hara  <haraken@google.com>
35385
35386         Generate a FileReader constructor of V8 using the IDL 'Constructor' extended attribute
35387         https://bugs.webkit.org/show_bug.cgi?id=67412
35388
35389         Reviewed by Adam Barth.
35390
35391         Test: fast/files/blob-slice-test.html
35392               fast/files/file-reader-abort.html
35393
35394         * bindings/v8/custom/V8FileReaderCustom.cpp: Removed constructorCallback().
35395         * fileapi/FileReader.idl: Added the 'Constructor' extended attribute.
35396
35397 2011-09-01  Robert Kroeger  <rjkroege@chromium.org>
35398
35399        [chromium] Code cleanup FIXME in Chromium recognizer
35400         https://bugs.webkit.org/show_bug.cgi?id=67448
35401
35402         Reviewed by Adam Barth.
35403
35404         * page/EventHandler.cpp:
35405         (WebCore::EventHandler::handleGestureEvent):
35406         Fixed a bug noticed by a benjaminp while reviewing a different
35407         ndonned patch where global positions were not being set correctly
35408         on gesture-driven mouse wheel events.
35409         * platform/chromium/GestureRecognizerChromium.cpp:
35410         Changed static per-edge functions into methods and improves
35411         encapsulation. No new functionality is present.
35412         (WebCore::GestureRecognizerChromium::GestureRecognizerChromium):
35413         (WebCore::GestureRecognizerChromium::reset):
35414         (WebCore::GestureRecognizerChromium::~GestureRecognizerChromium):
35415         (WebCore::GestureRecognizerChromium::addEdgeFunction):
35416         (WebCore::GestureRecognizerChromium::isInClickTimeWindow):
35417         (WebCore::GestureRecognizerChromium::isInsideManhattanSquare):
35418         (WebCore::GestureRecognizerChromium::appendClickGestureEvent):
35419         (WebCore::GestureRecognizerChromium::processTouchEventForGestures):
35420         (WebCore::GestureRecognizerChromium::appendScrollGestureBegin):
35421         (WebCore::GestureRecognizerChromium::appendScrollGestureEnd):
35422         (WebCore::GestureRecognizerChromium::appendScrollGestureUpdate):
35423         (WebCore::GestureRecognizerChromium::updateValues):
35424         (WebCore::GestureRecognizerChromium::signature):
35425         (WebCore::GestureRecognizerChromium::touchDown):
35426         (WebCore::GestureRecognizerChromium::scrollEnd):
35427         (WebCore::GestureRecognizerChromium::noGesture):
35428         (WebCore::GestureRecognizerChromium::click):
35429         (WebCore::GestureRecognizerChromium::isClickOrScroll):
35430         (WebCore::GestureRecognizerChromium::inScroll):
35431         * platform/chromium/GestureRecognizerChromium.h:
35432         (WebCore::GestureRecognizerChromium::setState):
35433
35434 2011-09-01  Julien Chaffraix  <jchaffraix@webkit.org>
35435
35436         Move LayoutRepainter to its own class
35437         https://bugs.webkit.org/show_bug.cgi?id=66255
35438
35439         Reviewed by Hajime Morita.
35440
35441         No new tests, code movement only.
35442
35443         * rendering/RenderObject.h: Moved code from here ...
35444         * rendering/LayoutRepainter.cpp: Added.
35445         (WebCore::LayoutRepainter::LayoutRepainter):
35446         (WebCore::LayoutRepainter::repaintAfterLayout):
35447         * rendering/LayoutRepainter.h: Added.
35448         (WebCore::LayoutRepainter::checkForRepaint):
35449         ... to those 2 files.
35450
35451         * CMakeLists.txt:
35452         * GNUmakefile.list.am:
35453         * WebCore.gypi:
35454         * WebCore.pro:
35455         * WebCore.vcproj/WebCore.vcproj:
35456         * WebCore.xcodeproj/project.pbxproj:
35457         Updated our build systems.
35458
35459         * rendering/RenderingAllInOne.cpp:
35460         Needed for the Windows bot.
35461
35462         * rendering/RenderBlock.cpp:
35463         * rendering/RenderDeprecatedFlexibleBox.cpp:
35464         * rendering/RenderReplaced.cpp:
35465         * rendering/RenderTable.cpp:
35466         * rendering/svg/RenderSVGContainer.cpp:
35467         * rendering/svg/RenderSVGForeignObject.cpp:
35468         * rendering/svg/RenderSVGImage.cpp:
35469         * rendering/svg/RenderSVGPath.cpp:
35470         * rendering/svg/RenderSVGRoot.cpp:
35471         * rendering/svg/RenderSVGText.cpp:
35472         Added #include "LayoutRepainter".
35473
35474 2011-09-01  Ada Chan  <adachan@apple.com>
35475
35476         Cleanup refactoring for https://bugs.webkit.org/show_bug.cgi?id=67160
35477
35478         Don't ifdef out the data member xslStyleSheets in MemoryCache::Statistics to cut down 
35479         the ifdefs in getWebCoreMemoryCacheStatistics() in WebKit2/WebProcess/WebProcess.cpp.
35480
35481         Reviewed by Darin Adler.
35482
35483         No new tests required.  Just small code refactoring.
35484
35485         * loader/cache/MemoryCache.h:
35486
35487 2011-09-01  Julien Chaffraix  <jchaffraix@webkit.org>
35488
35489         REGRESSION (r84327-r84329): CSS stylesheets fail to load on www.flagstar.com login page
35490         https://bugs.webkit.org/show_bug.cgi?id=65140
35491
35492         Reviewed by Darin Adler.
35493
35494         Tests: fast/css/stylesheet-enable-first-alternate-link.html
35495                fast/css/stylesheet-enable-first-alternate-on-load-link.html
35496                fast/css/stylesheet-enable-first-alternate-on-load-sheet.html
35497                fast/css/stylesheet-enable-second-alternate-link.html
35498                fast/css/stylesheet-enable-second-alternate-on-load-link.html
35499                fast/css/stylesheet-enable-second-alternate-on-load-sheet.html
35500                http/tests/css/link-css-disabled-value-with-slow-loading-sheet-in-error.html
35501                http/tests/css/link-css-disabled-value-with-slow-loading-sheet.html
35502
35503         This patch basically reverts 88479 and 84329 while keeping the tests
35504         we developped during the implementation.
35505
35506         Following discussion, it looks like HTML5 will need to be amended.
35507         In the meantime, we will just revert the changes so that we can come
35508         up with a better change.
35509
35510         * dom/Document.cpp:
35511         (WebCore::Document::recalcStyleSelector):
35512         * html/HTMLLinkElement.cpp:
35513         (WebCore::HTMLLinkElement::HTMLLinkElement):
35514         (WebCore::HTMLLinkElement::setDisabledState):
35515         (WebCore::HTMLLinkElement::parseMappedAttribute):
35516         (WebCore::HTMLLinkElement::process):
35517         Revert those method to their original content.
35518
35519         * html/HTMLLinkElement.h:
35520         (WebCore::HTMLLinkElement::isDisabled):
35521         (WebCore::HTMLLinkElement::isEnabledViaScript):
35522         (WebCore::HTMLLinkElement::isAlternate):
35523         Re-introduced the DisabledState enum.
35524
35525         * html/HTMLLinkElement.idl: |disabled| is Reflect'ed again.
35526
35527 2011-09-01  Dan Bernstein  <mitz@apple.com>
35528
35529         Fix layout test regressions from r94352.
35530
35531         Reviewed by Anders Carlsson.
35532
35533         * platform/graphics/mac/FontCacheMac.mm:
35534         (WebCore::FontCache::getFontDataForCharacters): In the custom font case (that is, when there is
35535         not base NSFont) always get and use the best variation.
35536
35537 2011-09-01  Ryosuke Niwa  <rniwa@webkit.org>
35538
35539         Revert r94355 because it caused bunch of builds to break.
35540
35541         * page/DOMWindow.idl:
35542
35543 2011-09-01  Mark Rowe  <mrowe@apple.com>
35544
35545         <rdar://problem/10063411> WebScriptObject.h declares an Objective-C method without a return type.
35546
35547         Rubber-stamped by Anders Carlsson.
35548
35549         * bridge/objc/WebScriptObject.h:
35550
35551 2011-09-01  Mark Hahnenberg  <mhahnenberg@apple.com>
35552
35553         Unzip initialization lists and constructors in JSCell hierarchy (4/7)
35554         https://bugs.webkit.org/show_bug.cgi?id=67174
35555
35556         Reviewed by Oliver Hunt.
35557
35558         No new tests.
35559
35560         Completed the fourth level of the refactoring to add finishCreation() 
35561         methods to all classes within the JSCell hierarchy with non-trivial 
35562         constructor bodies.
35563
35564         This primarily consists of pushing the calls to finishCreation() down 
35565         into the constructors of the subclasses of the second level of the hierarchy 
35566         as well as pulling the finishCreation() calls out into the class's corresponding
35567         create() method if it has one.  Doing both simultaneously allows us to 
35568         maintain the invariant that the finishCreation() method chain is called exactly 
35569         once during the creation of an object, since calling it any other number of 
35570         times (0, 2, or more) will cause an assertion failure.
35571
35572         * bindings/js/JSDOMWindowShell.cpp:
35573         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
35574         (WebCore::JSDOMWindowShell::create):
35575         * bindings/js/JSDOMWindowShell.h:
35576         * bindings/js/JSDOMWrapper.h:
35577         (WebCore::JSDOMWrapper::JSDOMWrapper):
35578         * bindings/js/ScriptController.cpp:
35579         (WebCore::ScriptController::createWindowShell):
35580         * bindings/scripts/CodeGeneratorJS.pm:
35581         (GenerateHeader):
35582         * bindings/scripts/test/JS/JSTestInterface.h:
35583         (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
35584         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
35585         (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
35586         * bindings/scripts/test/JS/JSTestObj.h:
35587         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
35588         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
35589         (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
35590         * bridge/objc/objc_runtime.h:
35591         * bridge/objc/objc_runtime.mm:
35592         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
35593         (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
35594         * bridge/runtime_array.cpp:
35595         (JSC::RuntimeArray::RuntimeArray):
35596         (JSC::RuntimeArray::finishCreation):
35597         * bridge/runtime_array.h:
35598         * bridge/runtime_object.cpp:
35599         (JSC::Bindings::RuntimeObject::RuntimeObject):
35600         (JSC::Bindings::RuntimeObject::finishCreation):
35601         * bridge/runtime_object.h:
35602
35603 2011-08-31  Adrienne Walker  <enne@google.com>
35604
35605         [chromium] Remove unsafe raw GraphicsContext3D pointer from ProgramBinding
35606         https://bugs.webkit.org/show_bug.cgi?id=67003
35607
35608         Reviewed by James Robinson.
35609
35610         ProgramBinding now takes an explicit cleanup call to destroy its
35611         resources. This will assert if it is not called and will leak no
35612         longer potentially dereference a dead pointer.
35613
35614         * platform/graphics/chromium/LayerRendererChromium.cpp:
35615         (WebCore::LayerRendererChromium::borderProgram):
35616         (WebCore::LayerRendererChromium::headsUpDisplayProgram):
35617         (WebCore::LayerRendererChromium::renderSurfaceProgram):
35618         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
35619         (WebCore::LayerRendererChromium::tilerProgram):
35620         (WebCore::LayerRendererChromium::tilerProgramSwizzle):
35621         (WebCore::LayerRendererChromium::tilerProgramAA):
35622         (WebCore::LayerRendererChromium::tilerProgramSwizzleAA):
35623         (WebCore::LayerRendererChromium::canvasLayerProgram):
35624         (WebCore::LayerRendererChromium::pluginLayerProgram):
35625         (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
35626         (WebCore::LayerRendererChromium::videoLayerYUVProgram):
35627         (WebCore::LayerRendererChromium::cleanupSharedObjects):
35628         * platform/graphics/chromium/ProgramBinding.cpp:
35629         (WebCore::ProgramBindingBase::ProgramBindingBase):
35630         (WebCore::ProgramBindingBase::~ProgramBindingBase):
35631         (WebCore::ProgramBindingBase::init):
35632         (WebCore::ProgramBindingBase::cleanup):
35633         (WebCore::ProgramBindingBase::loadShader):
35634         (WebCore::ProgramBindingBase::createShaderProgram):
35635         * platform/graphics/chromium/ProgramBinding.h:
35636         (WebCore::ProgramBinding::ProgramBinding):
35637         (WebCore::ProgramBinding::initialize):
35638
35639 2011-09-01  Patrick Gansterer  <paroga@webkit.org>
35640
35641         Don't include unnecessary headers in V8 bindings
35642         https://bugs.webkit.org/show_bug.cgi?id=67435
35643
35644         Reviewed by Darin Adler.
35645
35646         When an IDL attribue is Conditonal the corresponding headers
35647         need to be surrounded with the correct #if ENABLE().
35648
35649         * bindings/scripts/CodeGeneratorV8.pm:
35650         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
35651         * bindings/scripts/test/CPP/WebDOMTestObj.h:
35652         * bindings/scripts/test/JS/JSTestObj.cpp:
35653         * bindings/scripts/test/JS/JSTestObj.h:
35654         * bindings/scripts/test/ObjC/DOMTestObj.h:
35655         * bindings/scripts/test/ObjC/DOMTestObj.mm:
35656         * bindings/scripts/test/TestObj.idl:
35657         * bindings/scripts/test/V8/V8TestObj.cpp:
35658
35659 2011-09-01  Pratik Solanki  <psolanki@apple.com>
35660
35661         Rename CFNETWORK_DATA_ARRAY_CALLBACK to NETWORK_CFDATA_ARRAY_CALLBACK
35662         https://bugs.webkit.org/show_bug.cgi?id=67348
35663
35664         Reviewed by Alexey Proskuryakov.
35665
35666         * loader/ResourceLoader.h:
35667         * loader/SubresourceLoader.h:
35668         * loader/cf/SubresourceLoaderCF.cpp:
35669         * loader/mac/ResourceLoaderMac.mm:
35670         * platform/SharedBuffer.cpp:
35671         (WebCore::SharedBuffer::clear):
35672         (WebCore::SharedBuffer::buffer):
35673         * platform/SharedBuffer.h:
35674         * platform/cf/SharedBufferCF.cpp:
35675         * platform/network/ResourceHandle.h:
35676         * platform/network/ResourceHandleClient.h:
35677         * platform/network/cf/ResourceHandleCFNet.cpp:
35678         (WebCore::ResourceHandle::createCFURLConnection):
35679         * platform/network/mac/ResourceHandleMac.mm:
35680
35681 2011-09-01  Kentaro Hara  <haraken@google.com>
35682
35683         TypeError should be thrown when a constructor is called as a normal function.
35684         https://bugs.webkit.org/show_bug.cgi?id=67381
35685
35686         Reviewed by Darin Adler.
35687
35688         The spec is here: http://www.w3.org/TR/WebIDL/#es-interface-call
35689         For example, "Image()" or "XMLHttpRequest()" should throw TypeError.
35690
35691         Test: fast/dom/call-a-constructor-as-a-function.html
35692
35693         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
35694         (WebCore::V8ArrayBuffer::constructorCallback): Throws TypeError if args.IsConstructCall() is false.
35695         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
35696         (WebCore::constructWebGLArray): Ditto.
35697         * bindings/v8/custom/V8AudioContextCustom.cpp:
35698         (WebCore::V8AudioContext::constructorCallback): Ditto.
35699         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
35700         (WebCore::V8DOMFormData::constructorCallback): Ditto.
35701         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
35702         (WebCore::v8HTMLAudioElementConstructorCallback): Ditto.
35703         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
35704         (WebCore::v8HTMLImageElementConstructorCallback): Ditto.
35705         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
35706         (WebCore::v8HTMLOptionElementConstructorCallback): Ditto.
35707         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
35708         (WebCore::V8MessageChannel::constructorCallback): Ditto.
35709         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
35710         (WebCore::V8SharedWorker::constructorCallback): Ditto.
35711         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
35712         (WebCore::V8WebKitCSSMatrix::constructorCallback): Ditto.
35713         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
35714         (WebCore::V8WebKitPoint::constructorCallback): Ditto.
35715         * bindings/v8/custom/V8WebSocketCustom.cpp:
35716         (WebCore::V8WebSocket::constructorCallback): Ditto.
35717         * bindings/v8/custom/V8WorkerCustom.cpp:
35718         (WebCore::V8Worker::constructorCallback): Ditto.
35719
35720 2011-08-31  Adrienne Walker  <enne@google.com>
35721
35722         [chromium] TextureManager overestimates the size of non-RGBA texture formats
35723         https://bugs.webkit.org/show_bug.cgi?id=66917
35724
35725         Reviewed by James Robinson.
35726
35727         Use GraphicsContext3D to determine the size of a given texture format.
35728         Also, make TextureManager use more GraphicsContext3D types.
35729
35730         * platform/graphics/GraphicsContext3D.h:
35731         * platform/graphics/chromium/TextureManager.cpp:
35732         (WebCore::memoryUseBytes):
35733         * platform/graphics/chromium/TextureManager.h:
35734
35735 2011-09-01  Sam Weinig  <sam@webkit.org>
35736
35737         Add missing Event constructors to DOMWindow.idl
35738         https://bugs.webkit.org/show_bug.cgi?id=67449
35739
35740         Reviewed by Anders Carlsson.
35741
35742         Covered by existing tests.
35743
35744         * page/DOMWindow.idl:
35745
35746 2011-09-01  Patrick Gansterer  <paroga@webkit.org>
35747
35748         Consider Conditional attribute in CodeGenerator for methods
35749         https://bugs.webkit.org/show_bug.cgi?id=67409
35750
35751         Reviewed by Darin Adler.
35752
35753         This change adds appropriate #if ENABLE() lines for the preprocessor around the
35754         generated functions depending on the Conditional attribute in the IDL file.
35755
35756         * bindings/scripts/CodeGeneratorCPP.pm:
35757         (GenerateImplementation):
35758         * bindings/scripts/CodeGeneratorJS.pm:
35759         (GenerateImplementation):
35760         * bindings/scripts/CodeGeneratorObjC.pm:
35761         (GenerateImplementation):
35762         * bindings/scripts/CodeGeneratorV8.pm:
35763         (GenerateImplementation):
35764         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
35765         * bindings/scripts/test/CPP/WebDOMTestObj.h:
35766         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
35767         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
35768         * bindings/scripts/test/JS/JSTestObj.cpp:
35769         * bindings/scripts/test/JS/JSTestObj.h:
35770         * bindings/scripts/test/ObjC/DOMTestObj.h:
35771         * bindings/scripts/test/ObjC/DOMTestObj.mm:
35772         * bindings/scripts/test/TestObj.idl:
35773         * bindings/scripts/test/V8/V8TestObj.cpp:
35774
35775 2011-08-29  Nat Duca  <nduca@chromium.org>
35776
35777         [chromium] Introduce CCSingleThreadProxy in order to move LayerRenderer to CCLayerTreeHostImpl
35778         https://bugs.webkit.org/show_bug.cgi?id=66807
35779
35780         Reviewed by James Robinson.
35781
35782         * WebCore.gypi:
35783         * platform/graphics/chromium/ContentLayerChromium.cpp:
35784         (WebCore::ContentLayerChromium::createTextureUpdater):
35785         * platform/graphics/chromium/ImageLayerChromium.cpp:
35786         (WebCore::ImageLayerChromium::createTextureUpdater):
35787         * platform/graphics/chromium/LayerChromium.cpp:
35788         (WebCore::LayerChromium::setLayerRendererRecursive):
35789         * platform/graphics/chromium/LayerChromium.h:
35790         * platform/graphics/chromium/LayerRendererChromium.cpp:
35791         (WebCore::LayerRendererChromium::create):
35792         (WebCore::LayerRendererChromium::LayerRendererChromium):
35793         (WebCore::LayerRendererChromium::initialize):
35794         (WebCore::LayerRendererChromium::close):
35795         (WebCore::LayerRendererChromium::updateLayers):
35796         (WebCore::LayerRendererChromium::drawLayers):
35797         (WebCore::LayerRendererChromium::drawLayersInternal):
35798         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
35799         (WebCore::LayerRendererChromium::isContextLost):
35800         * platform/graphics/chromium/LayerRendererChromium.h:
35801         (WebCore::LayerRendererChromium::capabilities):
35802         (WebCore::LayerRendererChromium::rootLayerImpl):
35803         (WebCore::LayerRendererChromium::contextSupportsMapSub):
35804         (WebCore::LayerRendererChromium::viewportSize):
35805         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
35806         * platform/graphics/chromium/TiledLayerChromium.cpp:
35807         (WebCore::TiledLayerChromium::setLayerTreeHost):
35808         * platform/graphics/chromium/VideoLayerChromium.cpp:
35809         (WebCore::VideoLayerChromium::reserveTextures):
35810         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
35811         (WebCore::CCCanvasLayerImpl::draw):
35812         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
35813         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
35814         (WebCore::CCLayerTreeHost::initialize):
35815         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
35816         (WebCore::CCLayerTreeHost::animateAndLayout):
35817         (WebCore::CCLayerTreeHost::preCommit):
35818         (WebCore::CCLayerTreeHost::commitTo):
35819         (WebCore::CCLayerTreeHost::createCompositorThread):
35820         (WebCore::CCLayerTreeHost::createLayerTreeHostContext3D):
35821         (WebCore::CCLayerTreeHost::createLayerTreeHostImpl):
35822         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
35823         (WebCore::CCLayerTreeHost::scheduleComposite):
35824         (WebCore::CCLayerTreeHost::context):
35825         (WebCore::CCLayerTreeHost::compositeAndReadback):
35826         (WebCore::CCLayerTreeHost::finishAllRendering):
35827         (WebCore::CCLayerTreeHost::layerRendererCapabilities):
35828         (WebCore::CCLayerTreeHost::setRootLayer):
35829         (WebCore::CCLayerTreeHost::skiaContext):
35830         (WebCore::CCLayerTreeHost::setViewport):
35831         (WebCore::CCLayerTreeHost::setVisible):
35832         (WebCore::CCLayerTreeHost::loseCompositorContext):
35833         (WebCore::CCLayerTreeHost::contentsTextureManager):
35834         (WebCore::CCLayerTreeHost::composite):
35835         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
35836         (WebCore::CCSettings::CCSettings):
35837         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
35838         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.h: Removed.
35839         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
35840         (WebCore::CCLayerTreeHostImpl::create):
35841         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
35842         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
35843         (WebCore::CCLayerTreeHostImpl::commitComplete):
35844         (WebCore::CCLayerTreeHostImpl::context):
35845         (WebCore::CCLayerTreeHostImpl::drawLayers):
35846         (WebCore::CCLayerTreeHostImpl::finishAllRendering):
35847         (WebCore::CCLayerTreeHostImpl::isContextLost):
35848         (WebCore::CCLayerTreeHostImpl::layerRendererCapabilities):
35849         (WebCore::CCLayerTreeHostImpl::present):
35850         (WebCore::CCLayerTreeHostImpl::readback):
35851         (WebCore::CCLayerTreeHostImpl::setRootLayer):
35852         (WebCore::CCLayerTreeHostImpl::setVisible):
35853         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
35854         (WebCore::CCLayerTreeHostImpl::updateLayers):
35855         (WebCore::CCLayerTreeHostImpl::setViewport):
35856         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
35857         (WebCore::CCLayerTreeHostImpl::layerRenderer):
35858         (WebCore::CCLayerTreeHostImpl::rootLayer):
35859         (WebCore::CCLayerTreeHostImpl::viewportSize):
35860         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: Removed.
35861         * platform/graphics/chromium/cc/CCMainThreadTask.h:
35862         (WebCore::MainThreadTask4::create):
35863         (WebCore::MainThreadTask4::MainThreadTask4):
35864         (WebCore::MainThreadTask4::performTask):
35865         (WebCore::MainThreadTask5::create):
35866         (WebCore::MainThreadTask5::MainThreadTask5):
35867         (WebCore::MainThreadTask5::performTask):
35868         (WebCore::createMainThreadTask):
35869         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
35870         (WebCore::CCPluginLayerImpl::draw):
35871         * platform/graphics/chromium/cc/CCProxy.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommitter.cpp.
35872         (WebCore::CCProxy::isMainThread):
35873         (WebCore::CCProxy::isImplThread):
35874         (WebCore::CCProxy::setImplThread):
35875         * platform/graphics/chromium/cc/CCProxy.h: Added.
35876         (WebCore::CCProxy::~CCProxy):
35877         (WebCore::CCProxy::CCProxy):
35878         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: Added.
35879         (WebCore::ScopedSetImplThread::ScopedSetImplThread):
35880         (WebCore::ScopedSetImplThread::~ScopedSetImplThread):
35881         (WebCore::CCSingleThreadProxy::create):
35882         (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
35883         (WebCore::CCSingleThreadProxy::start):
35884         (WebCore::CCSingleThreadProxy::~CCSingleThreadProxy):
35885         (WebCore::CCSingleThreadProxy::compositeAndReadback):
35886         (WebCore::CCSingleThreadProxy::context):
35887         (WebCore::CCSingleThreadProxy::finishAllRendering):
35888         (WebCore::CCSingleThreadProxy::isStarted):
35889         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
35890         (WebCore::CCSingleThreadProxy::layerRendererCapabilities):
35891         (WebCore::CCSingleThreadProxy::loseCompositorContext):
35892         (WebCore::CCSingleThreadProxy::setNeedsCommitAndRedraw):
35893         (WebCore::CCSingleThreadProxy::setNeedsRedraw):
35894         (WebCore::CCSingleThreadProxy::stop):
35895         (WebCore::CCSingleThreadProxy::skiaContext):
35896         (WebCore::CCSingleThreadProxy::contentsTextureManager):
35897         (WebCore::CCSingleThreadProxy::compositeImmediately):
35898         (WebCore::CCSingleThreadProxy::compositeIfNeeded):
35899         (WebCore::CCSingleThreadProxy::doComposite):
35900         * platform/graphics/chromium/cc/CCSingleThreadProxy.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h.
35901         * platform/graphics/chromium/cc/CCThreadProxy.cpp: Added.
35902         (WebCore::CCThreadProxy::create):
35903         (WebCore::CCThreadProxy::CCThreadProxy):
35904         (WebCore::CCThreadProxy::~CCThreadProxy):
35905         (WebCore::CCThreadProxy::compositeAndReadback):
35906         (WebCore::CCThreadProxy::context):
35907         (WebCore::CCThreadProxy::finishAllRendering):
35908         (WebCore::CCThreadProxy::isStarted):
35909         (WebCore::CCThreadProxy::initializeLayerRenderer):
35910         (WebCore::CCThreadProxy::layerRendererCapabilities):
35911         (WebCore::CCThreadProxy::loseCompositorContext):
35912         (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
35913         (WebCore::CCThreadProxy::setNeedsRedraw):
35914         (WebCore::CCThreadProxy::start):
35915         (WebCore::CCThreadProxy::stop):
35916         (WebCore::CCThreadProxy::skiaContext):
35917         (WebCore::CCThreadProxy::contentsTextureManager):
35918         (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
35919         (WebCore::CCThreadProxy::beginFrameAndCommit):
35920         (WebCore::CCThreadProxy::commitOnCCThread):
35921         (WebCore::CCThreadProxy::drawLayersOnCCThread):
35922         (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
35923         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
35924         (WebCore::CCThreadProxy::initializeImplOnCCThread):
35925         (WebCore::CCThreadProxy::initializeLayerRendererOnCCThread):
35926         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
35927         * platform/graphics/chromium/cc/CCThreadProxy.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h.
35928         * platform/graphics/chromium/cc/CCThreadTask.h:
35929         (WebCore::CCThreadTask5::create):
35930         (WebCore::CCThreadTask5::CCThreadTask5):
35931         (WebCore::CCThreadTask5::performTask):
35932         (WebCore::createCCThreadTask):
35933         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
35934         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
35935         (WebCore::CCVideoLayerImpl::draw):
35936
35937 2011-09-01  Dan Bernstein  <mitz@apple.com>
35938
35939         <rdar://problem/9528843> STIX glyphs not rendered on this stackoverflow answer
35940         https://bugs.webkit.org/show_bug.cgi?id=67444
35941
35942         Reviewed by Darin Adler.
35943
35944         Test: fast/text/fallback-traits-fixup.html
35945
35946         After obtaining STIX Regular as a fallback font for some characters, getFontDataForCharacters()
35947         proceeded to ask for a font from the same family having the desired traits and weight (because
35948         wkGetFontInLanguageForRange() does not preserve traits and weight). The returned font was different
35949         and happened to not contain the desired character.
35950
35951         * platform/graphics/mac/FontCacheMac.mm:
35952         (WebCore::FontCache::getFontDataForCharacters): Only ask for a family member with the desired
35953         traits and weight if the substitute font does not already have them, and only use the returned
35954         member if it actually contains the desired character.
35955
35956 2011-09-01  Kentaro Hara  <haraken@google.com>
35957
35958         Generate an XSLTProcessor constructor of V8 using the IDL 'Constructor' extended attribute
35959         https://bugs.webkit.org/show_bug.cgi?id=67414
35960
35961         Reviewed by Dimitri Glazkov.
35962
35963         Test: fast/dom/Window/custom-constructors.html
35964               fast/xsl/default-html.html
35965
35966         * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Removed constructorCallback().
35967         * xml/XSLTProcessor.idl: Added the 'Constructor' extended attribute.
35968
35969 2011-09-01  Eric Carlson  <eric.carlson@apple.com>
35970
35971         HTMLMediaElement should use fastHasAttribute instead of hasAttribute
35972         https://bugs.webkit.org/show_bug.cgi?id=67421
35973
35974         Reviewed by Simon Fraser.
35975
35976         Use fastHasAttribute instead of hasAttribute because it is faster, and HTMLMediaElement
35977         doesn't ever need to check style or SVG animated attributes.
35978
35979         No new tests required, this is just an optimization.
35980
35981         * html/HTMLMediaElement.cpp:
35982         (WebCore::HTMLMediaElement::selectMediaResource): hasAttribute -> fastHasAttribute.
35983         (WebCore::HTMLMediaElement::loadResource): Ditto.
35984         (WebCore::HTMLMediaElement::autoplay): Ditto.
35985         (WebCore::HTMLMediaElement::loop): Ditto.
35986         (WebCore::HTMLMediaElement::controls): Ditto.
35987         (WebCore::HTMLMediaElement::selectNextSourceChild): Ditto.
35988         (WebCore::HTMLMediaElement::sourceWasAdded): Ditto.
35989
35990 2011-09-01  Dominic Mazzoni  <dmazzoni@google.com>
35991
35992         Add API functions to enable starting and stopping speech input,
35993         and checking the current speech input state.
35994         https://bugs.webkit.org/show_bug.cgi?id=60170
35995
35996         Reviewed by Dimitri Glazkov.
35997
35998         Test: fast/speech/input-text-speechstart.html
35999
36000         * html/shadow/TextControlInnerElements.cpp:
36001         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
36002         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
36003         (WebCore::InputFieldSpeechButtonElement::stopSpeechInput):
36004         * html/shadow/TextControlInnerElements.h:
36005         * rendering/RenderTextControlSingleLine.cpp:
36006         (WebCore::RenderTextControlSingleLine::speechButtonElement):
36007         * rendering/RenderTextControlSingleLine.h:
36008
36009 2011-09-01  Tim Horton  <timothy_horton@apple.com>
36010
36011         REGRESSION: Rendering artifacts on a rotated, pattern filled SVG shape
36012         https://bugs.webkit.org/show_bug.cgi?id=53055
36013         <rdar://problem/8910917>
36014
36015         Reviewed by Simon Fraser.
36016
36017         Make use of wkCGPatternCreateWithImageAndTransform
36018         when tiling patterns in both directions. This helps to avoid
36019         pixel-cracking along pattern tiling boundaries.
36020
36021         Ignore 2D rotation when computing the size of a pattern's tile image,
36022         as it artificially inflates the size of the tile, which can cause
36023         pixel-cracking.
36024
36025         Test: svg/custom/pattern-rotate-gaps.svg
36026
36027         * platform/graphics/cg/PatternCG.cpp:
36028         (WebCore::Pattern::createPlatformPattern):
36029         * rendering/svg/RenderSVGResourcePattern.cpp:
36030         * rendering/svg/SVGImageBufferTools.cpp:
36031         (WebCore::SVGImageBufferTools::roundedImageBufferSize):
36032         * rendering/svg/SVGImageBufferTools.h:
36033
36034 2011-09-01  Patrick Gansterer  <paroga@webkit.org>
36035
36036         Unreviewed, rolling out r94284.
36037         http://trac.webkit.org/changeset/94284
36038         https://bugs.webkit.org/show_bug.cgi?id=65050
36039
36040         Broke building without SVG enabled on Chromium.
36041
36042         * page/DOMWindow.idl:
36043
36044 2011-09-01  Alexey Proskuryakov  <ap@apple.com>
36045
36046         REGRESSION (r93247): 2 http/tests/misc tests failing on SnowLeopard Intel Release (Tests)
36047         https://bugs.webkit.org/show_bug.cgi?id=67374
36048
36049         Reviewed by Simon Fraser.
36050
36051         * platform/network/cf/ResourceHandleCFNet.cpp:
36052         (WebCore::applyBasicAuthorizationHeader):
36053         * platform/network/mac/ResourceHandleMac.mm:
36054         (WebCore::applyBasicAuthorizationHeader):
36055         Some versions of CFNetwork carry along an Authorization header, some don't. We shouldn't
36056         repeat its value twice, this is not one of those headers that allow comma separated lists
36057         of values.
36058
36059 2011-09-01  Noel Gordon  <noel.gordon@gmail.com>
36060
36061         [chromium] Move ImageBuffer::platformLayer()
36062         https://bugs.webkit.org/show_bug.cgi?id=67372
36063
36064         Reviewed by Kenneth Russell.
36065
36066         No new tests: refactoring only, covered by existting tests.
36067
36068         * platform/graphics/skia/ImageBufferSkia.cpp:
36069         (WebCore::ImageBuffer::platformLayer):  Move it away from the toDataURL code.
36070
36071 2011-09-01  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
36072
36073         Focus ring is rendered incorrectly for a block with -webkit-writing-mode
36074         https://bugs.webkit.org/show_bug.cgi?id=62915
36075
36076         Reviewed by Simon Fraser.
36077
36078         RenderBlock::addFocusRingRects() should consider physical box position and
36079         dimension instead of logical values for focus ring rects calculation.
36080
36081         Test: fast/css/focus-ring-multiline-writingmode-vertical.html
36082
36083         * rendering/RenderBlock.cpp:
36084         (WebCore::RenderBlock::addFocusRingRects):
36085
36086 2011-09-01  Philippe Normand  <pnormand@igalia.com>
36087
36088         Unreviewed, GTK build fix after r94299.
36089
36090         * GNUmakefile.list.am:
36091
36092 2011-09-01  Brian Salomon  <bsalomon@google.com>
36093
36094         [Chromium/Skia] Use GraphicsContext3D::grContext() to create GrContext for accelerated drawing
36095         https://bugs.webkit.org/show_bug.cgi?id=67419
36096
36097         Reviewed by James Robinson.
36098
36099         Accelerated drawing is not enabled in layout tests. However, once it is this change will be tested by every test.
36100
36101         * platform/graphics/chromium/ContentLayerChromium.cpp:
36102         (WebCore::ContentLayerChromium::createTextureUpdater):
36103         * platform/graphics/chromium/LayerRendererChromium.cpp:
36104         (WebCore::contextSupportsAcceleratedPainting):
36105         (WebCore::LayerRendererChromium::initialize):
36106         * platform/graphics/chromium/LayerRendererChromium.h:
36107         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
36108         (WebCore::LayerTextureUpdaterSkPicture::create):
36109         (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
36110         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
36111         (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
36112         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
36113
36114 2011-09-01  Dominik Röttsches  <dominik.rottsches@linux.intel.com>
36115
36116         Rename GraphicsContext3DInternal to GraphicsContext3DPrivate and add a dummy version of this class for Mac
36117         https://bugs.webkit.org/show_bug.cgi?id=67172
36118
36119         Build fix, completing rename for GTK file.
36120
36121         Reviewed by Chris Marrin.
36122
36123         * platform/graphics/gtk/GraphicsContext3DPrivate.cpp: Renamed from Source/WebCore/platform/graphics/gtk/GraphicsContext3DInternal.cpp.
36124         (sharedDisplay):
36125         (WebCore::activeGraphicsContexts):
36126         (WebCore::GraphicsContext3DPrivate::addActiveGraphicsContext):
36127         (WebCore::GraphicsContext3DPrivate::removeActiveGraphicsContext):
36128         (WebCore::GraphicsContext3DPrivate::cleanupActiveContextsAtExit):
36129         (WebCore::GraphicsContext3DPrivate::create):
36130         (WebCore::GraphicsContext3DPrivate::createPbufferContext):
36131         (WebCore::GraphicsContext3DPrivate::createPixmapContext):
36132         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
36133         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
36134         (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
36135
36136 2011-09-01  Simon Fraser  <simon.fraser@apple.com>
36137
36138         REGRESSION (r94259): Two tests doing hit testing were broken by this change.
36139         https://bugs.webkit.org/show_bug.cgi?id=67353
36140
36141         Reviewed by Chris Marrin.
36142
36143         Fix a regression from r94259; that change missed a fix in RenderView,
36144         which affects coordinate transforms in position:fixed elements.
36145         
36146         This fixes these tests:
36147             fast/events/document-elementFromPoint.html
36148             fast/events/offsetX-offsetY.html
36149             plugins/mouse-events-fixedpos.html
36150
36151         * rendering/RenderView.cpp:
36152         (WebCore::RenderView::mapAbsoluteToLocalPoint):
36153
36154 2011-09-01  Tony Gentilcore  <tonyg@chromium.org>
36155
36156         [chromium] Fonts returned by FontCache::getFontDataForCharacters() are never released
36157         https://bugs.webkit.org/show_bug.cgi?id=66673
36158
36159         Reviewed by James Robinson.
36160
36161         This was fixed for other ports in http://trac.webkit.org/changeset/88260.
36162         However, it was missed in FontCacheLinux likely due to similar param in the nested call to getCachedFontPlatformData().
36163
36164         No new tests because no directly observable change in behavior.
36165
36166         * platform/graphics/chromium/FontCacheLinux.cpp:
36167         (WebCore::FontCache::getFontDataForCharacters):
36168
36169 2011-08-31  Mikhail Naganov  <mnaganov@chromium.org>
36170
36171         Web Inspector: [Chromium] Perform a more effective JS GC
36172         https://bugs.webkit.org/show_bug.cgi?id=67304
36173
36174         Reviewed by Pavel Feldman.
36175
36176         * bindings/v8/ScriptProfiler.cpp:
36177         (WebCore::ScriptProfiler::collectGarbage):
36178
36179 2011-09-01  Sam Weinig  <sam@webkit.org>
36180
36181         WebGLContextEvent should have its own JS wrapper
36182         https://bugs.webkit.org/show_bug.cgi?id=67352
36183
36184         Reviewed by Anders Carlsson.
36185
36186         The WebGLContextEvent was missing a proper JS wrapper, and thus
36187         anyone using one in an EventListener was actually just getting
36188         a plain old Event. Rectify this by generating the wrapper and 
36189         wrapping it on creating.
36190
36191         Test: fast/canvas/webgl/WebGLContextEvent.html
36192
36193         * CodeGenerators.pri:
36194         Add WebGLContextEvent.idl
36195
36196         * DerivedSources.make:
36197         Add WebGLContextEvent and sort.
36198
36199         * WebCore.xcodeproj/project.pbxproj:
36200         Add generated JSWebGLContextEvent.h/cpp.
36201
36202         * bindings/js/JSEventCustom.cpp:
36203         (WebCore::toJS):
36204         Wrap WebGLContextEvents as JSWebGLContextEvents.
36205
36206         * dom/Event.cpp:
36207         (WebCore::Event::isWebGLContextEvent):
36208         * dom/Event.h:
36209         * html/canvas/WebGLContextEvent.cpp:
36210         (WebCore::WebGLContextEvent::isWebGLContextEvent):
36211         * html/canvas/WebGLContextEvent.h:
36212         Add predicate for WebGLContextEvent.
36213
36214 2011-09-01  Eric Carlson  <eric.carlson@apple.com>
36215
36216         Add 'muted' content attribute to HTMLMediaElement
36217         https://bugs.webkit.org/show_bug.cgi?id=58369
36218
36219         Reviewed by Darin Adler.
36220
36221         Test: media/video-defaultmuted.html
36222
36223         * html/HTMLAttributeNames.in: Add muted.
36224         * html/HTMLMediaElement.cpp:
36225         (WebCore::HTMLMediaElement::loadResource): Deal with the 'muted' attribute.
36226         * html/HTMLMediaElement.idl: Add defaultMuted.
36227
36228 2011-09-01  Tim Horton  <timothy_horton@apple.com>
36229
36230         REGRESSION: Rendering artifacts on a rotated, pattern filled shape
36231         https://bugs.webkit.org/show_bug.cgi?id=53055
36232         <rdar://problem/8910917>
36233
36234         Reviewed by Simon Fraser.
36235
36236         Introduce wkCGPatternCreateWithImageAndTransform.
36237
36238         * WebCore.exp.in:
36239         * platform/mac/WebCoreSystemInterface.h:
36240         * platform/mac/WebCoreSystemInterface.mm:
36241
36242 2011-08-30  Adrienne Walker  <enne@google.com>
36243
36244         [chromium] Fix scissor rects on clipped nested iframes
36245         https://bugs.webkit.org/show_bug.cgi?id=67221
36246
36247         Reviewed by James Robinson.
36248
36249         Layers that mask to bounds (like iframes) weren't being properly
36250         clipped if their parent scissor rect was empty. This case happens
36251         when a parent iframe is clipped. Fixed by propagating the empty
36252         scissor rect to child layers rather than ignoring it.
36253
36254         Test: compositing/iframes/nested-composited-iframe.html
36255
36256         * platform/graphics/chromium/LayerRendererChromium.cpp:
36257
36258 2011-08-31  Yury Semikhatsky  <yurys@chromium.org>
36259
36260         Web Inspector: close dedicated worker inspectors when page inspector is closing
36261         https://bugs.webkit.org/show_bug.cgi?id=67366
36262
36263         Close all dedicated worker inspector windows when page inspector is closing.
36264
36265         Reviewed by Pavel Feldman.
36266
36267         * inspector/front-end/WorkerManager.js:
36268         (WebInspector.WorkerManager.prototype._openInspectorWindow):
36269         (WebInspector.WorkerManager.prototype._pageInspectorClosing):
36270         (WebInspector.WorkerManager.prototype._workerInspectorClosing):
36271         * inspector/front-end/inspector.js:
36272         (WebInspector.close):
36273
36274 2011-08-31  Yury Semikhatsky  <yurys@chromium.org>
36275
36276         [Chromium] Web Inspector: dedicated worker inspection is broken
36277         https://bugs.webkit.org/show_bug.cgi?id=67279
36278
36279         Provide transport for inspector messages between Page and DedicatedWorker inspectors
36280         in case of in-process workers.
36281
36282         Reviewed by Pavel Feldman.
36283
36284         * inspector/CodeGeneratorInspector.pm: sendMessageObjectToBackend should accept message
36285         object which is ready for sending to backend. This method is overriden in WorkerManager
36286         for dedicated workers and we don't want to replicate request id assignment there.
36287         * workers/WorkerMessagingProxy.cpp:
36288         (WebCore::PostMessageToPageInspectorTask::create):
36289         (WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask):
36290         (WebCore::PostMessageToPageInspectorTask::performTask):
36291         (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
36292         (WebCore::connectToWorkerContextInspectorTask):
36293         (WebCore::WorkerMessagingProxy::connectToInspector):
36294         (WebCore::disconnectFromWorkerContextInspectorTask):
36295         (WebCore::WorkerMessagingProxy::disconnectFromInspector):
36296         (WebCore::dispatchOnInspectorBackendTask):
36297         (WebCore::WorkerMessagingProxy::sendMessageToInspector):
36298         (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
36299         * workers/WorkerMessagingProxy.h:
36300
36301 2011-09-01  Csaba Osztrogonác  <ossy@webkit.org>
36302
36303         [CSS3 Backgrounds and Borders] Implement border-image-slice
36304         https://bugs.webkit.org/show_bug.cgi?id=67321
36305
36306         * WebCore.pro: Unreviewed buildfix after Dave "scattered" Hyatt (r94299).
36307
36308 2011-09-01  Ned Holbrook  <nholbrook@apple.com>
36309
36310         Typesetting features need not force complex for single-character runs
36311         https://bugs.webkit.org/show_bug.cgi?id=66498
36312
36313         Typesetting features have no effect on a solitary character, so they shouldn't enable complex layout
36314         unless multiple characters are present.
36315
36316         Reviewed by Dan Bernstein.
36317
36318         No new tests, this is merely a performance optimization.
36319
36320         * platform/graphics/Font.cpp:
36321         (WebCore::Font::codePath): typesettingFeatures() only forces Complex for multiple-character runs.
36322
36323 2011-08-31  Jeff Miller  <jeffm@apple.com>
36324
36325         Defer creating AVPlayer and AVPlayerItem in MediaPlayerPrivateAVFoundation::setPreload()
36326         https://bugs.webkit.org/show_bug.cgi?id=66253
36327
36328         Reviewed by Jon Honeycutt.
36329
36330         No new tests, should be covered by existing media tests.
36331
36332         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
36333         (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Use the same code on Mac and Windows to only create the AVPlayer and AVPlayerItem when needed.
36334
36335         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
36336         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Assign any existing AVPlayerItem to the new AVPlayer.
36337         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Allow creation of the AVPlayerItem before the AVPlayer.
36338
36339 2011-08-31  David Hyatt  <hyatt@apple.com>
36340
36341         https://bugs.webkit.org/show_bug.cgi?id=67321
36342
36343         Implement border-image-slice. This will eventually be a component of the new border-image shorthand
36344         property. It holds the cuts that you make into the border image along with a new optional "fill"
36345         keyword that indicates whether or not the center should be filled with the middle slice of the image.
36346         
36347         By default -webkit-border-image has always filled, but this does not match the specification. To preserve
36348         backwards compatibility, -webkit-border-image will continue to fill by default, but this does slightly affect
36349         computed style results, since the "fill" keyword will now be included in property dumps.
36350
36351         Reviewed by Beth Dakin.
36352
36353         Added fast/borders/border-image-slices.html.
36354
36355         * CMakeLists.txt:
36356         * WebCore.gypi:
36357         * WebCore.pro:
36358         * WebCore.vcproj/WebCore.vcproj:
36359         * WebCore.xcodeproj/project.pbxproj:
36360         * css/CSSBorderImageSliceValue.cpp: Added.
36361         (WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue):
36362         (WebCore::CSSBorderImageSliceValue::~CSSBorderImageSliceValue):
36363         (WebCore::CSSBorderImageSliceValue::cssText):
36364         * css/CSSBorderImageSliceValue.h: Added.
36365         (WebCore::CSSBorderImageSliceValue::create):
36366         (WebCore::CSSBorderImageSliceValue::isBorderImageSliceValue):
36367         Add a new CSSBorderImageSliceValue that holds both the four slices (as a CSS rect) and the
36368         fill keyword (as a boolean). Note that the cssText() dumping of the slices has been refined
36369         to be smarter, and it will no longer dump repeating values.
36370
36371         * css/CSSBorderImageValue.cpp:
36372         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
36373         (WebCore::CSSBorderImageValue::cssText):
36374         * css/CSSBorderImageValue.h:
36375         (WebCore::CSSBorderImageValue::create):
36376         CSSBorderImageValue now owns a CSSBorderImageSliceValue instead of just a CSS rect.
36377
36378         * css/CSSComputedStyleDeclaration.cpp:
36379         (WebCore::valueForNinePieceImageSlice):
36380         (WebCore::valueForNinePieceImage):
36381         Add a new method, valueForNinePieceImageSlice, for getting the slices plus the fill value
36382         from the NinePieceImage and putting it into a CSSBorderImageSliceValue. This method is now used by
36383         valueForNinePieceImage to get the CSSBorderImageSliceValue that is part of the overall
36384         CSSBorderImageValue.
36385     
36386         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
36387         Adding support for the new properties: border-image-slice and -webkit-mask-box-image-slice.
36388
36389         * css/CSSParser.cpp:
36390         (WebCore::CSSParser::parseValue):
36391         (WebCore::BorderImageParseContext::BorderImageParseContext):
36392         (WebCore::BorderImageParseContext::allowBreak):
36393         (WebCore::BorderImageParseContext::commitImage):
36394         (WebCore::BorderImageParseContext::commitSlice):
36395         (WebCore::BorderImageParseContext::commitSlash):
36396         (WebCore::BorderImageParseContext::commitBorderImage):
36397         (WebCore::CSSParser::parseBorderImage):
36398         Modify parseBorderImage to no longer parse the slices itself. Instead it farms out the parsing
36399         to parseBorderImageSlice.
36400
36401         (WebCore::BorderImageSliceParseContext::BorderImageSliceParseContext):
36402         (WebCore::BorderImageSliceParseContext::allowNumber):
36403         (WebCore::BorderImageSliceParseContext::allowFill):
36404         (WebCore::BorderImageSliceParseContext::allowFinalCommit):
36405         (WebCore::BorderImageSliceParseContext::top):
36406         (WebCore::BorderImageSliceParseContext::commitNumber):
36407         (WebCore::BorderImageSliceParseContext::commitFill):
36408         (WebCore::BorderImageSliceParseContext::setAllowFinalCommit):
36409         (WebCore::BorderImageSliceParseContext::setTop):
36410         (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
36411         (WebCore::CSSParser::parseBorderImageSlice):
36412         Slice parsing has now been broken out so that it can be parsed as a single property. In addition
36413         support for the "fill" keyword has been added to control image filling.
36414
36415         * css/CSSParser.h:
36416         Modified to add the new parseBorderImageSlice method.
36417
36418         * css/CSSPropertyNames.in:
36419         Add the new properties: border-image-slice and -webkit-mask-box-image-slice.
36420
36421         * css/CSSStyleSelector.cpp:
36422         (WebCore::CSSStyleSelector::applyProperty):
36423         (WebCore::CSSStyleSelector::mapNinePieceImage):
36424         Rework mapNinePieceImage to call mapNinePieceImageSlice so that the mapping can be done just for
36425         the slices.
36426
36427         (WebCore::CSSStyleSelector::mapNinePieceImageSlice):
36428         A new method that handles mapping just the slices into the front-end NinePieceImage.
36429
36430         (WebCore::CSSStyleSelector::loadPendingImages):
36431         Modified to ensure the fill value is preserved when box-reflect makes a new NinePieceImage.
36432
36433         * css/CSSStyleSelector.h:
36434         Added the new mapNinePieceImageSlice method.
36435
36436         * css/CSSValue.h:
36437         (WebCore::CSSValue::isBorderImageSliceValue):
36438         Virtual function for identifying border image slice values.
36439
36440         * rendering/RenderBoxModelObject.cpp:
36441         (WebCore::RenderBoxModelObject::paintNinePieceImage):
36442         The painting of the nine piece image has been modified to match the specification. The "fill"
36443         keyword controls whether or not the middle is painted.
36444
36445         * rendering/style/NinePieceImage.cpp:
36446         (WebCore::NinePieceImage::operator==):
36447         The fill keyword has to be checked now for equality.
36448
36449         * rendering/style/NinePieceImage.h:
36450         (WebCore::NinePieceImage::NinePieceImage):
36451         (WebCore::NinePieceImage::fill):
36452         (WebCore::NinePieceImage::setFill):
36453         Added the fill keyword to the front end NinePieceImage.
36454
36455         (WebCore::NinePieceImage::copySlicesFrom):
36456         Added a helper to copy only the slices over from another NinePieceImage. Used when inheriting
36457         the border-image-slice property from a parent style.
36458
36459 2011-09-01  Vsevolod Vlasov  <vsevik@chromium.org>
36460
36461         Web Inspector: Decode query/form parameters names as well as values.
36462         https://bugs.webkit.org/show_bug.cgi?id=67393
36463
36464         Reviewed by Yury Semikhatsky.
36465
36466         * inspector/front-end/ResourceHeadersView.js:
36467         (WebInspector.ResourceHeadersView.prototype._decodeURIComponent):
36468         (WebInspector.ResourceHeadersView.prototype._refreshParms):
36469
36470 2011-08-31  Pavel Podivilov  <podivilov@chromium.org>
36471
36472         Web Inspector: remove PresentationBreakpoint class.
36473         https://bugs.webkit.org/show_bug.cgi?id=67275
36474
36475         Reviewed by Yury Semikhatsky.
36476
36477         * inspector/front-end/BreakpointsSidebarPane.js:
36478         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didRequestContent):
36479         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
36480         * inspector/front-end/DebuggerPresentationModel.js:
36481         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
36482         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
36483
36484 2011-08-31  Steve Block  <steveblock@google.com>
36485
36486         Clean up all mentions of Android in comments
36487         https://bugs.webkit.org/show_bug.cgi?id=67303
36488
36489         Also removes some superfluous guards and methods added for Android.
36490
36491         Reviewed by Darin Adler.
36492
36493         No new tests, removing dead code only.
36494
36495         * WebCorePrefix.h:
36496           Chromium uses this file only on Mac, so these Android guards are no
36497           longer required.
36498         * bindings/v8/NPV8Object.cpp:
36499         * bindings/v8/NPV8Object.h:
36500           Including npruntime.h for non-Chromium ports was added in
36501           http://trac.webkit.org/changeset/53634 for Android. However, this
36502           file is included in WebCore.pro, so leaving the guard in place.
36503         * bindings/v8/ScriptCachedFrameData.h:
36504           This code was added for Android in
36505           http://trac.webkit.org/changeset/56716 but is now also used by QT. The
36506           comment should have been removed in
36507           http://trac.webkit.org/changeset/93573.
36508         * dom/Document.cpp:
36509         (WebCore::Document::Document):
36510         (WebCore::Document::isLayoutTimerActive):
36511         (WebCore::Document::minimumLayoutDelay):
36512         * dom/Document.h:
36513           This method was added for Android in
36514           http://trac.webkit.org/changeset/52919 and modified in
36515           http://trac.webkit.org/changeset/79775. It is no longer needed.
36516
36517 2011-09-01  Kristóf Kosztyó  <kkristof@inf.u-szeged.hu>
36518
36519         [Qt] Build dependency problems
36520         https://bugs.webkit.org/show_bug.cgi?id=38054
36521
36522         Make clean build after the defines are changed.
36523
36524         Reviewed by Csaba Osztrogonác.
36525
36526         * features.pri:
36527
36528 2011-09-01  Vsevolod Vlasov  <vsevik@chromium.org>
36529
36530         Web Inspector: Network error messages in console should link to the respective request in network panel if there is one.
36531         https://bugs.webkit.org/show_bug.cgi?id=65550
36532
36533         Reviewed by Yury Semikhatsky.
36534
36535         * inspector/front-end/ConsoleMessage.js:
36536         (WebInspector.ConsoleMessage.prototype._formatMessage):
36537         * inspector/front-end/NetworkPanel.js:
36538         (WebInspector.NetworkLogView.prototype.refresh):
36539         (WebInspector.NetworkLogView.prototype.switchToBriefView):
36540         (WebInspector.NetworkLogView.prototype.searchCanceled):
36541         (WebInspector.NetworkLogView.prototype.revealAndHighlightResource):
36542         (WebInspector.NetworkLogView.prototype._removeAllNodeHighlights):
36543         (WebInspector.NetworkLogView.prototype._highlightNode):
36544         (WebInspector.NetworkPanel.prototype._resourceByAnchor):
36545         (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
36546         (WebInspector.NetworkPanel.prototype.showAnchorLocation):
36547         * inspector/front-end/networkLogView.css:
36548         (.network-log-grid tr.highlighted-row):
36549         (from):
36550         (to):
36551
36552 2011-09-01  Patrick Gansterer  <paroga@webkit.org>
36553
36554         Replace preprocessor statements in DOMWindow.idl with Conditional attribute
36555         https://bugs.webkit.org/show_bug.cgi?id=65050
36556
36557         Reviewed by Brent Fulgham.
36558
36559         Many attributes use the [Conditional=XXX] syntax already.
36560         Unify the declaration of conditional attributes of DOMWindow
36561         with the corresponding Conditional attribute.
36562         This reduces the need of the preprocessor which is the
36563         the source of much pain on native windows.
36564
36565         * page/DOMWindow.idl:
36566
36567 2011-09-01  Yuta Kitamura  <yutak@chromium.org>
36568
36569         WebSocket: Fix bufferedAmount after WebSocket is closed
36570         https://bugs.webkit.org/show_bug.cgi?id=67363
36571
36572         Reviewed by Kent Tamura.
36573
36574         Test: http/tests/websocket/tests/hybi/bufferedAmount-after-close.html (updated)
36575
36576         * websockets/WebSocket.cpp:
36577         (WebCore::WebSocket::send):
36578         (WebCore::WebSocket::getFramingOverhead):
36579         * websockets/WebSocket.h:
36580
36581 2011-09-01  Keishi Hattori  <keishi@webkit.org>
36582
36583         Rename colorSelected to didChooseColor
36584         https://bugs.webkit.org/show_bug.cgi?id=67271
36585
36586         Reviewed by Kent Tamura.
36587
36588         * WebCore.exp.in:
36589         * html/ColorInputType.cpp:
36590         (WebCore::ColorInputType::didChooseColor): Renamed colorSelected to didChooseColor so it follows common naming practice.
36591         * html/ColorInputType.h:
36592         * platform/ColorChooser.cpp:
36593         (WebCore::ColorChooser::didChooseColor): Renamed.
36594         * platform/ColorChooser.h:
36595
36596 2011-09-01  Adam Barth  <abarth@webkit.org>
36597
36598         Attempt to fix Windows build.
36599
36600         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
36601
36602 2011-08-31  Adam Barth  <abarth@webkit.org>
36603
36604         [Chromium] Rename PlatformBridge to PlatformSupport
36605         https://bugs.webkit.org/show_bug.cgi?id=67349
36606
36607         Reviewed by Darin Fisher.
36608
36609         This matches the WebKitPlatformSupport embedder API.
36610
36611         * WebCore.gypi:
36612         * WebCore.pro:
36613         * bindings/v8/NPV8Object.cpp:
36614         (_NPN_Evaluate):
36615         * bindings/v8/ScriptController.cpp:
36616         (WebCore::ScriptController::createScriptInstanceForWidget):
36617         * bindings/v8/V8DOMWindowShell.cpp:
36618         (WebCore::reportFatalErrorInV8):
36619         * bindings/v8/V8GCController.cpp:
36620         * bindings/v8/V8Proxy.cpp:
36621         (WebCore::V8Proxy::handleOutOfMemory):
36622         (WebCore::V8Proxy::evaluate):
36623         * bindings/v8/V8Proxy.h:
36624         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
36625         (WebCore::histogramEnumeration):
36626         * page/PageGroup.cpp:
36627         (WebCore::PageGroup::isLinkVisited):
36628         * platform/audio/chromium/AudioBusChromium.cpp:
36629         (WebCore::AudioBus::loadPlatformResource):
36630         (WebCore::createBusFromInMemoryAudioFile):
36631         * platform/chromium/ChromiumDataObject.cpp:
36632         (WebCore::ChromiumDataObject::types):
36633         (WebCore::ChromiumDataObject::getData):
36634         (WebCore::ChromiumDataObject::getSequenceNumber):
36635         (WebCore::ChromiumDataObject::containsFilenames):
36636         * platform/chromium/DataTransferItemChromium.cpp:
36637         (WebCore::DataTransferItemChromium::getAsString):
36638         (WebCore::DataTransferItemChromium::getAsFile):
36639         * platform/chromium/DragDataChromium.cpp:
36640         (WebCore::DragData::asURL):
36641         * platform/chromium/FileSystemChromium.cpp:
36642         (WebCore::deleteFile):
36643         (WebCore::deleteEmptyDirectory):
36644         (WebCore::getFileSize):
36645         (WebCore::getFileModificationTime):
36646         (WebCore::revealFolderInOS):
36647         (WebCore::directoryName):
36648         (WebCore::pathByAppendingComponent):
36649         (WebCore::makeAllDirectories):
36650         (WebCore::fileExists):
36651         (WebCore::openFile):
36652         (WebCore::closeFile):
36653         (WebCore::seekFile):
36654         (WebCore::truncateFile):
36655         (WebCore::readFromFile):
36656         (WebCore::writeToFile):
36657         * platform/chromium/LanguageChromium.cpp:
36658         (WebCore::platformDefaultLanguage):
36659         * platform/chromium/LinkHashChromium.cpp:
36660         (WebCore::visitedLinkHash):
36661         * platform/chromium/MIMETypeRegistryChromium.cpp:
36662         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
36663         (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension):
36664         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
36665         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
36666         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
36667         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
36668         * platform/chromium/PasteboardChromium.cpp:
36669         (WebCore::Pasteboard::writeSelection):
36670         (WebCore::Pasteboard::writePlainText):
36671         (WebCore::Pasteboard::writeURL):
36672         (WebCore::Pasteboard::writeImage):
36673         (WebCore::Pasteboard::canSmartReplace):
36674         (WebCore::Pasteboard::plainText):
36675         (WebCore::Pasteboard::documentFragment):
36676         * platform/chromium/PlatformBridge.h: Removed.
36677         * platform/chromium/PlatformScreenChromium.cpp:
36678         (WebCore::screenDepth):
36679         (WebCore::screenDepthPerComponent):
36680         (WebCore::screenIsMonochrome):
36681         (WebCore::screenRect):
36682         (WebCore::screenAvailableRect):
36683         * platform/chromium/PlatformSupport.h: Copied from Source/WebCore/platform/chromium/PlatformBridge.h.
36684         * platform/chromium/SSLKeyGeneratorChromium.cpp:
36685         (WebCore::signedPublicKeyAndChallengeString):
36686         * platform/chromium/ScrollbarThemeChromium.cpp:
36687         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
36688         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
36689         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
36690         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
36691         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
36692         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
36693         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
36694         * platform/chromium/ScrollbarThemeChromiumMac.mm:
36695         (WebCore::scrollbarStateToThemeState):
36696         (WebCore::ScrollbarThemeChromiumMac::paint):
36697         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
36698         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
36699         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
36700         (WebCore::ScrollbarThemeChromiumWin::paintButton):
36701         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
36702         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
36703         * platform/chromium/SharedTimerChromium.cpp:
36704         (WebCore::setSharedTimerFiredFunction):
36705         (WebCore::setSharedTimerFireInterval):
36706         (WebCore::stopSharedTimer):
36707         * platform/chromium/SuddenTerminationChromium.cpp:
36708         (WebCore::disableSuddenTermination):
36709         (WebCore::enableSuddenTermination):
36710         * platform/chromium/TraceEvent.h:
36711         (WebCore::internal::ScopeTracer::ScopeTracer):
36712         (WebCore::internal::ScopeTracer::~ScopeTracer):
36713         * platform/graphics/chromium/ContentLayerChromium.cpp:
36714         (WebCore::ContentLayerPainter::paint):
36715         * platform/graphics/chromium/CrossProcessFontLoading.mm:
36716         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
36717         (WebCore::fontContainsCharacter):
36718         (WebCore::FillLogFont):
36719         * platform/graphics/chromium/FontCacheLinux.cpp:
36720         (WebCore::FontCache::getFontDataForCharacters):
36721         * platform/graphics/chromium/FontChromiumWin.cpp:
36722         (WebCore::drawGlyphsWin):
36723         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
36724         (WebCore::FontPlatformData::scriptFontProperties):
36725         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
36726         (WebCore::FontPlatformData::querySystemForRenderStyle):
36727         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
36728         (WebCore::fillBMPGlyphs):
36729         * platform/graphics/chromium/ImageChromium.cpp:
36730         (WebCore::Image::loadPlatformResource):
36731         * platform/graphics/chromium/ImageChromiumMac.mm:
36732         (WebCore::Image::loadPlatformResource):
36733         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
36734         (WebCore::SimpleFontData::platformInit):
36735         (WebCore::SimpleFontData::determinePitch):
36736         (WebCore::SimpleFontData::platformWidthForGlyph):
36737         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
36738         (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
36739         * platform/graphics/skia/FontCustomPlatformData.cpp:
36740         (WebCore::FontCustomPlatformData::fontPlatformData):
36741         * platform/network/chromium/CookieJarChromium.cpp:
36742         (WebCore::setCookies):
36743         (WebCore::cookies):
36744         (WebCore::cookieRequestHeaderFieldValue):
36745         (WebCore::cookiesEnabled):
36746         (WebCore::getRawCookies):
36747         (WebCore::deleteCookie):
36748         * platform/network/chromium/DNSChromium.cpp:
36749         (WebCore::prefetchDNS):
36750         * platform/qt/PlatformBridge.h: Removed.
36751         * platform/qt/PlatformBridgeQt.cpp: Removed.
36752         * platform/qt/PlatformSupport.h: Copied from Source/WebCore/platform/qt/PlatformBridge.h.
36753         * platform/qt/PlatformSupportQt.cpp: Copied from Source/WebCore/platform/qt/PlatformBridgeQt.cpp.
36754         (WebCore::PlatformSupport::popupsAllowed):
36755         (WebCore::PlatformSupport::pluginScriptableObject):
36756         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
36757         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
36758         (WebCore::SQLiteFileSystem::getDatabaseFileSize):
36759         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
36760         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
36761         * plugins/chromium/PluginDataChromium.cpp:
36762         (WebCore::PluginCache::plugins):
36763         * rendering/RenderThemeChromiumLinux.cpp:
36764         (WebCore::getWebThemeState):
36765         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
36766         (WebCore::RenderThemeChromiumLinux::paintCheckbox):
36767         (WebCore::RenderThemeChromiumLinux::setCheckboxSize):
36768         (WebCore::RenderThemeChromiumLinux::paintRadio):
36769         (WebCore::RenderThemeChromiumLinux::setRadioSize):
36770         (WebCore::RenderThemeChromiumLinux::paintButton):
36771         (WebCore::RenderThemeChromiumLinux::paintTextField):
36772         (WebCore::RenderThemeChromiumLinux::paintMenuList):
36773         (WebCore::RenderThemeChromiumLinux::paintSliderTrack):
36774         (WebCore::RenderThemeChromiumLinux::paintSliderThumb):
36775         (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle):
36776         (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton):
36777         (WebCore::RenderThemeChromiumLinux::paintProgressBar):
36778         * rendering/RenderThemeChromiumMac.mm:
36779         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
36780         * rendering/RenderThemeChromiumSkia.cpp:
36781         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
36782         * rendering/RenderThemeChromiumWin.cpp:
36783         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
36784         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
36785         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
36786         (WebCore::RenderThemeChromiumWin::systemColor):
36787         (WebCore::RenderThemeChromiumWin::paintButton):
36788         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
36789         (WebCore::menuListButtonWidth):
36790         (WebCore::RenderThemeChromiumWin::paintMenuList):
36791         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
36792         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
36793         (WebCore::RenderThemeChromiumWin::paintProgressBar):
36794         * storage/chromium/IDBFactoryBackendInterface.cpp:
36795         (WebCore::IDBFactoryBackendInterface::create):
36796         * storage/chromium/IDBKeyPathBackendImpl.cpp:
36797         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
36798         (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
36799         * storage/chromium/QuotaTracker.cpp:
36800         (WebCore::QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin):
36801
36802 2011-08-31  Ryosuke Niwa  <rniwa@webkit.org>
36803
36804         Crash when inserting text with a trailing newline into a textarea via JS
36805         https://bugs.webkit.org/show_bug.cgi?id=66241
36806
36807         Reviewed by Darin Adler and Kent Tamura.
36808
36809         The crash was caused by updateFromElement biting on the editing code.
36810
36811         When there is a style rule that applies on text nodes inside the shadow DOM, DOM modifications made
36812         by the editing code may trigger style recalculation on input or textarea elements in the midst of editing
36813         commands. In response to this style recalculation, HTMLInputElement::updateFromElement and
36814         HTMLTextAreaElement::updateFromElement call setInnerTextValue to re-create the text nodes in the
36815         shadow DOM. The editing code blows up because setInnerTextValue detaches old text nodes referenced by
36816         Positions and VisiblePositions held by the editing commands in progress.
36817
36818         Fixed the crash by stop calling setInnerTextValue in updateFromElement. Instead, WebKit now creates
36819         the text nodes when attributes, descendent nodes, etc... of input or textarea element changes.
36820
36821         Tests: fast/forms/update-from-element-during-editing-crash-1.html
36822                fast/forms/update-from-element-during-editing-crash-2.html
36823
36824         * html/HTMLInputElement.cpp:
36825         (WebCore::HTMLInputElement::updateType): Force calling setInnerTextValue when input type changes.
36826         (WebCore::HTMLInputElement::updateInnerTextValue): Extracted from RenderTextControlSingleLine's
36827         updateElement.
36828         (WebCore::HTMLInputElement::parseMappedAttribute): Calls updateInnerTextValue; force calling
36829         setInnerTextValue when -webkit-speech attribute changes. In the theory, we should be able to call it less
36830         frequently but there are too many cases to consider at the moment.
36831         (WebCore::HTMLInputElement::setValue): Calls updateInnerTextValue when the value actually changed.
36832         Note we need to call it before we set or restore selection.
36833         * html/HTMLInputElement.h:
36834         * html/HTMLTextAreaElement.cpp:
36835         (WebCore::HTMLTextAreaElement::childrenChanged): Calls updateInnerTextValue when textarea's descendants
36836         nodes are changed by parser or scripts.
36837         (WebCore::HTMLTextAreaElement::setValueCommon): Calls updateInnerTextValue when the value changes.
36838         * html/HTMLTextFormControlElement.h:
36839         * html/NumberInputType.cpp:
36840         (WebCore::NumberInputType::willBlur): Calls updateInnerTextValue because input[type=number] forces
36841         the value to be valid on blur.
36842         * rendering/RenderTextControlMultiLine.cpp: Removed RenderTextControlMultiLine::updateFromElement.
36843         * rendering/RenderTextControlMultiLine.h: Ditto.
36844         * rendering/RenderTextControlSingleLine.cpp:
36845         (WebCore::RenderTextControlSingleLine::updateFromElement):
36846
36847 2011-08-31  Tom Zakrajsek  <tomz@codeaurora.org>
36848
36849         Fix snow-leopard regression caused by r93982
36850         https://bugs.webkit.org/show_bug.cgi?id=67301
36851
36852         Reviewed by Kenneth Russell.
36853
36854         Test: canvas/philip/tests/2d.path.stroke.prune.arc.html
36855
36856         * html/canvas/CanvasRenderingContext2D.cpp:
36857         (WebCore::CanvasRenderingContext2D::arc):
36858
36859 2011-08-31  Keishi Hattori  <keishi@webkit.org>
36860
36861         Rename closeColorChooser to cleanupColorChooser
36862         https://bugs.webkit.org/show_bug.cgi?id=67270
36863
36864         Reviewed by Kent Tamura.
36865
36866         * html/ColorInputType.cpp:
36867         (WebCore::ColorInputType::~ColorInputType):
36868         (WebCore::ColorInputType::detach):
36869         (WebCore::ColorInputType::cleanupColorChooserIfCurrentClient): NSColorPanel shouldn't be closed but the color
36870         chooser listeners need to be taken care of. Therefore closeColorChooser will be renamed to cleanupColorChooser.
36871         This will close the color chooser on platforms where appropriate.
36872         * html/ColorInputType.h:
36873         * loader/EmptyClients.h:
36874         (WebCore::EmptyChromeClient::cleanupColorChooser): Rename.
36875         * page/Chrome.cpp:
36876         (WebCore::Chrome::cleanupColorChooser): Rename.
36877         * page/Chrome.h:
36878         * page/ChromeClient.h:
36879
36880 2011-08-31  Kent Tamura  <tkent@chromium.org>
36881
36882         REGRESSION(r88115): "Choose File" button doesn't respect font-size property for the <input>
36883         https://bugs.webkit.org/show_bug.cgi?id=67181
36884
36885         Reviewed by Dimitri Glazkov.
36886
36887         r88115 removed the code to make inherited style of the owner input
36888         element, and html.css contains "font: -webkit-small-control" for
36889         input element. So -webkit-file-upload-button always had
36890         -webkit-small-control font.
36891
36892         Test: fast/forms/file/file-style-inheritance.html
36893
36894         * css/html.css:
36895         (input[type="file"]::-webkit-file-upload-button):
36896         Specify font-size:inherit explicitly.
36897
36898 2011-08-31  Chris Rogers  <crogers@google.com>
36899
36900         Do more rigorous bounds checking in AudioBufferSourceNode::renderFromBuffer()
36901         https://bugs.webkit.org/show_bug.cgi?id=67351
36902
36903         Reviewed by Dirk Pranke.
36904
36905         No new tests since this does not change JavaScript API.
36906
36907         * webaudio/AudioBufferSourceNode.cpp:
36908         (WebCore::AudioBufferSourceNode::renderFromBuffer):
36909
36910 2011-08-31  Keishi Hattori  <keishi@webkit.org>
36911
36912         Remove closeColorChooser call from FrameLoader::transitionToCommitted
36913         https://bugs.webkit.org/show_bug.cgi?id=67267
36914
36915         Reviewed by Darin Adler.
36916
36917         * html/ColorInputType.cpp:
36918         (WebCore::ColorInputType::closeColorChooserIfCurrentClient): Moved order to match header.
36919         * html/ColorInputType.h:
36920         * loader/FrameLoader.cpp:
36921         (WebCore::FrameLoader::transitionToCommitted): Remove ColorInputType::closeColorChooserIfCurrentClient call.
36922         It wasn't the right place to directly manipulate the UI.
36923
36924 2011-08-31  Chris Rogers  <crogers@google.com>
36925
36926         Add defensive bounds checking for AudioNode methods
36927         https://bugs.webkit.org/show_bug.cgi?id=67346
36928
36929         Reviewed by Anders Carlsson.
36930
36931         No new tests since this does not change JavaScript API.
36932
36933         * webaudio/AudioNode.cpp:
36934         (WebCore::AudioNode::input):
36935         (WebCore::AudioNode::output):
36936
36937 2011-08-31  Simon Fraser  <simon.fraser@apple.com>
36938
36939         TransformState.move() should be negated in the unapply code path
36940         https://bugs.webkit.org/show_bug.cgi?id=66246
36941
36942         Reviewed by Chris Marrin.
36943
36944         Code using TransformState was confused about when to negate the arguments
36945         to move() in the "UnapplyInverseTransform" direction (used by mapAbsoluteToLocal).
36946         
36947         Made the move() path equivalent to the applyTransform() path by not requiring
36948         the caller to negate, and instead negating inside move().
36949         
36950         Fixed the erroneous negation in TransformState::move() when accumulating;
36951         that negation will happen later via matrix inversion.
36952
36953         No behavior change.
36954
36955         * platform/graphics/ca/GraphicsLayerCA.cpp:
36956         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
36957         * platform/graphics/transforms/TransformState.cpp:
36958         (WebCore::TransformState::move):
36959         * rendering/RenderBox.cpp:
36960         (WebCore::RenderBox::mapAbsoluteToLocalPoint):
36961         * rendering/RenderInline.cpp:
36962         (WebCore::RenderInline::mapAbsoluteToLocalPoint):
36963
36964 2011-08-31  Pratik Solanki  <psolanki@apple.com>
36965
36966         Fix compile issues when enabling HAVE(CFNETWORK_DATA_ARRAY_CALLBACK)
36967         https://bugs.webkit.org/show_bug.cgi?id=67332
36968
36969         Reviewed by Darin Adler.
36970
36971         * loader/mac/ResourceLoaderMac.mm:
36972         (WebCore::ResourceLoader::didReceiveDataArray):
36973         * platform/network/cf/ResourceHandleCFNet.cpp:
36974
36975 2011-08-31  Dan Bernstein  <mitz@apple.com>
36976
36977         Refined the heuristic introduced to fix <rdar://problem/10002140> Text gets clipped in
36978         multi-column layouts when overflow:auto is used.
36979         https://bugs.webkit.org/show_bug.cgi?id=67212
36980
36981         Reviewed by Dave Hyatt.
36982
36983         Test: fast/multicol/overflow-across-columns-percent-height.html
36984
36985         * rendering/RenderBox.cpp:
36986         (WebCore::percentageLogicalHeightIsResolvable): Added. This follows logic similar to the one
36987         in computePercentageLogicalHeight() to determine whether percentage values for height properties
36988         are resolved or treated as "auto".
36989         (WebCore::RenderBox::hasUnsplittableScrollingOverflow): If min-height or max-height are specified
36990         as a percentage but actually resolve to "auto", don’t let that prevent splitting.
36991
36992 2011-08-31  Ryosuke Niwa  <rniwa@webkit.org>
36993
36994         Move text() and textWithHardLineBreaks() from RenderTextControl to HTMLTextFormControlElement
36995         https://bugs.webkit.org/show_bug.cgi?id=67320
36996
36997         Reviewed by Darin Adler.
36998
36999         Moved and renamed RenderText::text and RenderText::textWithHardLineBreaks to
37000         HTMLTextFormControlElement::innerTextValue and HTMLTextFormControlElement::valueWithHardLineBreaks.
37001
37002         * accessibility/AccessibilityRenderObject.cpp:
37003         (WebCore::AccessibilityRenderObject::text):
37004         * html/HTMLInputElement.cpp:
37005         (WebCore::HTMLInputElement::subtreeHasChanged):
37006         * html/HTMLTextAreaElement.cpp:
37007         (WebCore::HTMLTextAreaElement::appendFormData): Calls valueWithHardLineBreaks. It doesn't have to check
37008         the existence of renderer anymore because valueWithHardLineBreaks returns value() when renderer do not
37009         exist unlike RenderText::textWithHardLineBreaks returned emptyString() in such cases. This is the only place
37010         valueWithHardLineBreaks is ever called; but we can't move valueWithHardLineBreaks because it calls
37011         finishText.
37012         (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
37013         (WebCore::HTMLTextAreaElement::updateValue):
37014         * html/HTMLTextFormControlElement.cpp:
37015         (WebCore::HTMLTextFormControlElement::selectedText):
37016         (WebCore::HTMLTextFormControlElement::setInnerTextValue):
37017         (WebCore::finishText): Moved from RenderText.cpp
37018         (WebCore::HTMLTextFormControlElement::innerTextValue): Ditto.
37019         (WebCore::getNextSoftBreak): Ditto.
37020         (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks): Ditto; this function returns value()
37021         when there are no renderers or root inline boxes instead of emptyString().
37022         * html/HTMLTextFormControlElement.h:
37023         * html/NumberInputType.cpp:
37024         (WebCore::NumberInputType::hasUnacceptableValue):
37025         * html/SearchInputType.cpp:
37026         (WebCore::SearchInputType::startSearchEventTimer):
37027         * html/TextFieldInputType.cpp:
37028         (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
37029         * rendering/RenderTextControl.cpp:
37030         * rendering/RenderTextControl.h:
37031
37032 2011-08-31  Jeff Miller  <jeffm@apple.com>
37033
37034         REGRESSION(92210): AVFoundation media engine is disabled on OS X
37035         https://bugs.webkit.org/show_bug.cgi?id=67316
37036         
37037         Move the definition of WTF_USE_AVFOUNDATION on the Mac back to JavaScriptCore/wtf/Platform.h,
37038         since WebKit2 doesn't have access to WebCore/config.h on this platform. This reverts the
37039         changes that were made in r92210.
37040
37041         Reviewed by Darin Adler.
37042
37043         No new tests, covered by existing media tests.
37044
37045         * config.h: Removed definition of WTF_USE_AVFOUNDATION on the Mac, add a comment about fixing this on Windows in the future.
37046
37047 2011-08-31  Sailesh Agrawal  <sail@chromium.org>
37048
37049         [Chromium] Switching between overlay and opaque scrollbars causes glitches
37050         https://bugs.webkit.org/show_bug.cgi?id=62686
37051
37052         Reviewed by Beth Dakin.
37053
37054         When switching from opaque scrollbars to overlay scrollbars the page content size wouldn't change leaving a empty region under the overlay scrollbar.
37055
37056         The problem was that we were relying on ScrollView::updateScrollbars() to kick off a layout. Unfortunately this doesn't happen because updateScrollbars doesn't distinguish between overlay and opaque scrollbars.
37057
37058         To fix this I'm explicitly invalidating the layout when ScrollView::scrollbarStyleChanged() is called.
37059
37060         No tests because there are no Mac 10.7 chromium bots yet. Bug 66504 will track the work to add these tests once the bots are in place.
37061
37062         * platform/ScrollView.cpp:
37063         (WebCore::ScrollView::scrollbarStyleChanged):
37064
37065 2011-08-31  Alexey Proskuryakov  <ap@apple.com>
37066
37067         http/tests/eventsource/workers/eventsource-simple.html is a flaky crash because of
37068         eventsource-status-error-iframe-crash.html
37069         https://bugs.webkit.org/show_bug.cgi?id=61523
37070
37071         Reviewed by Nate Chapin.
37072
37073         The problem here was that canceling EventSource during frame removal erroneously resulted
37074         in event dispatch, and event handler re-entered frame destruction code.
37075
37076         * page/EventSource.h: Renamed endRequest() to networkRequestEnded(), because this method
37077         doesn't end request. It implements "reestablish the connection" or "fail the connection"
37078         algotithms from the spec, depending on current state.
37079         Removed m_failSilently, since we can make this decision with existing data, and want to
37080         fail silently by default (e.g. when detaching a frame cancels all loads).
37081
37082         * page/EventSource.cpp:
37083         (WebCore::EventSource::EventSource): Don't initialize m_failSilently.
37084         (WebCore::EventSource::~EventSource): Assert taht we are in a correct state.
37085         (WebCore::EventSource::connect): Ditto.
37086         (WebCore::EventSource::networkRequestEnded): Moved errorevent dispatch elsewhere.
37087         (WebCore::EventSource::scheduleReconnect): Error event should always be queued when
37088         reconnecting; firing it synchronously after starting m_reconnectTimer implements that.
37089         (WebCore::EventSource::reconnectTimerFired): Assert that state is correct (the timer is
37090         stopped if EventSource is stopped while waiting on the timer).
37091         (WebCore::EventSource::close): Don't set m_state before calling cancel() - it will indirectly
37092         call didFail(), which asserts that EventSource is not stopped yet.
37093         (WebCore::EventSource::didReceiveResponse): Explicitly dispatch an error event, since it
37094         is no longer dispatched when canceling, and canceling is the only way to stop a ThreadableLoader.
37095         Removed a special case for 2xx responses, since it's no longer in the spec.
37096         (WebCore::EventSource::didReceiveData): Assert that state is correct.
37097         (WebCore::EventSource::didFinishLoading): Don't set state to CONNECTING after parsing remaining
37098         response bytes - that may well result in dispatching an event whose handler calls close().
37099         (WebCore::EventSource::didFail): It's simple now - we always reconnect unless the request
37100         got canceled.
37101         (WebCore::EventSource::didFailRedirectCheck): Dispatch error event explicitly, as we are
37102         not going to attempt reconnecting.
37103
37104 2011-08-31  Sheriff Bot  <webkit.review.bot@gmail.com>
37105
37106         Unreviewed, rolling out r94116.
37107         http://trac.webkit.org/changeset/94116
37108         https://bugs.webkit.org/show_bug.cgi?id=67323
37109
37110         caused a lot of tests failures (Requested by thorton on
37111         #webkit).
37112
37113         * platform/graphics/cg/PathCG.cpp:
37114         (WebCore::Path::boundingRect):
37115
37116 2011-08-31  Alexei Svitkine  <asvitkine@chromium.org>
37117
37118         Chromium Mac: Tweak rubber banding overhang shadows. Add a drop shadow from the browser's toolbar.
37119         https://bugs.webkit.org/show_bug.cgi?id=67289
37120
37121         Chromium bug: http://crbug.com/93228
37122
37123         Reviewed by Dimitri Glazkov.
37124
37125         No new tests, since this merely tweaks Chromium overhang area appearance.
37126
37127         * platform/chromium/ScrollbarThemeChromiumMac.mm:
37128         (WebCore::ScrollbarThemeChromiumMac::paintGivenTickmarks):
37129         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
37130
37131 2011-08-31  Tony Chang  <tony@chromium.org>
37132
37133         Remove webcore_bindings (including DerivedSources##.cpp) from the critical path
37134         https://bugs.webkit.org/show_bug.cgi?id=67168
37135
37136         Reviewed by Adam Barth.
37137
37138         webcore_bindings_sources, debugger_script_source, injected_script_source, and
37139         inspector_protocol_sources generates various files (e.g., CSSPropertyNames,
37140         DerivedSources, HTMLNames, etc).  webcore_bindings depends on *_sources and compiles
37141         these files.  Previously, the other webcore libs (webcore_svg, webcore_html,
37142         webcore_remaining, etc) depended on webcore_bindings.  This moves the *_sources
37143         dependencies from webcore_bindings to the other webcore libs so the build can
37144         parallelize the compile of webcore_bindings and the other webcore_* libs.
37145
37146         Also copy over the include dirs that we used to get from webcore_bindings'
37147         direct_dependent_settings.
37148
37149         No new tests, just changing the build dependencies.
37150
37151         * WebCore.gyp/WebCore.gyp:
37152
37153 2011-08-31  Tony Gentilcore  <tonyg@chromium.org>
37154
37155         Minor cleanup: remove inScriptExecution()
37156         https://bugs.webkit.org/show_bug.cgi?id=67276
37157
37158         Reviewed by Adam Barth.
37159
37160         At one point inScriptExecution() existed as a non-virtual duplicate of isExecutingScript()
37161         to avoid virtual method calls from a tight loop. Now we aren't calling it anywhere perf
37162         sensitive, so remove the duplication.
37163
37164         No new tests because no change in functionality.
37165
37166         * html/parser/HTMLDocumentParser.cpp:
37167         (WebCore::HTMLDocumentParser::isExecutingScript):
37168         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
37169         (WebCore::HTMLDocumentParser::notifyFinished):
37170         * html/parser/HTMLDocumentParser.h:
37171         (WebCore::HTMLDocumentParser::shouldDelayEnd):
37172
37173 2011-08-31  Tom Sepez  <tsepez@chromium.org>
37174
37175         Fix XSS filter bypass by multiply decoding both the URL and the body
37176         snippet until they are in the most minimal form before comparison.
37177         https://bugs.webkit.org/show_bug.cgi?id=66585
37178
37179         Reviewed by Adam Barth.
37180
37181         * html/parser/XSSAuditor.cpp:
37182         (WebCore::fullyDecodeString):
37183         (WebCore::XSSAuditor::init):
37184         (WebCore::XSSAuditor::filterToken):
37185         (WebCore::XSSAuditor::isContainedInRequest):
37186
37187 2011-08-31  Simon Fraser  <simon.fraser@apple.com>
37188
37189         Crash with -webkit-radial-gradient(top) gradient
37190         https://bugs.webkit.org/show_bug.cgi?id=66686
37191
37192         Reviewed by Darin Adler.
37193         
37194         Null-check the current value after calling parseFillPosition(),
37195         since it may be null for gradients with degenerate arguments.
37196
37197         Test: fast/gradients/css3-radial-gradient-crash.html
37198
37199         * css/CSSParser.cpp:
37200         (WebCore::CSSParser::parseRadialGradient):
37201
37202 2011-08-31  Nico Weber  <thakis@chromium.org>
37203
37204         Make ScrollAnimator(Chromium)?Mac check scrollAnimatorEnabled()
37205         https://bugs.webkit.org/show_bug.cgi?id=67297
37206
37207         Reviewed by Tony Chang.
37208
37209         I need this to disable smooth scrolling in chromium tests. I'm making
37210         the change to ScrollAnimatorMac to make unforking the file easier. I
37211         changed scrollAnimatorEnabled() to default to true so that this change
37212         is a no-op for Safari; in chromium the flag is set explicitly to true
37213         or false anyway.
37214
37215         * page/Settings.cpp:
37216         (WebCore::Settings::Settings):
37217         * platform/chromium/ScrollAnimatorChromiumMac.mm:
37218         (WebCore::ScrollAnimatorChromiumMac::scroll):
37219         * platform/mac/ScrollAnimatorMac.mm:
37220         (WebCore::ScrollAnimatorMac::scroll):
37221
37222 2011-08-31  Nate Chapin  <japhet@chromium.org>
37223
37224         Don't load resources with empty urls, since this
37225         will resolve to the current document.
37226         https://bugs.webkit.org/show_bug.cgi?id=30303
37227
37228         Reviewed by Darin Adler.
37229
37230         Test: http/tests/loading/empty-urls.html
37231
37232         * dom/ScriptElement.cpp:
37233         (WebCore::ScriptElement::requestScript): If src="", fail through
37234             to the error event case.
37235         * html/HTMLLinkElement.cpp:
37236         (WebCore::HTMLLinkElement::parseMappedAttribute): Ensure the url
37237             stays empty if we try to resolve an empty href.
37238         * loader/ImageLoader.cpp:
37239         (WebCore::ImageLoader::updateFromElement): Throw an error instead of
37240             loading if the src is empty in all cases, not just local files.
37241
37242 2011-08-28  Robert Hogan  <robert@webkit.org>
37243
37244         CSS 2.1 failure: margin-applies-to-015 fails, WebKit does not respect top margin for table captions
37245         https://bugs.webkit.org/show_bug.cgi?id=34763
37246
37247         Reviewed by Simon Fraser.
37248
37249         * rendering/RenderTable.cpp:
37250         (WebCore::RenderTable::adjustLogicalHeightForCaption): Added the caption's margin to the position calculation.
37251
37252 2011-08-30  Oliver Hunt  <oliver@apple.com>
37253
37254         Add support for checked arithmetic
37255         https://bugs.webkit.org/show_bug.cgi?id=67095
37256
37257         Reviewed by Sam Weinig.
37258
37259         Add a forwarding header for CheckedArithmetic.h
37260
37261         * ForwardingHeaders/wtf/CheckedArithmetic.h: Added.
37262
37263 2011-08-31  David Hyatt  <hyatt@apple.com>
37264
37265         https://bugs.webkit.org/show_bug.cgi?id=67300
37266         
37267         Add the new border-image-source property (and its corresponding analogue for masks, mask-box-image-source).
37268         Change the border-image parsing code to no longer consider "none" to represent the entire border-image
37269         expression, but instead to just mean "none" for the image component of the expression.
37270         
37271         Change the pending image code for border-image and mask-box-image to use the new *-source properties when
37272         loading the image so that they're considered the same.
37273         
37274         This is the first step towards eliminating the border-image parsing code in favor of just parsing it as
37275         a shorthand instead, but for now I'm implementing each property one by one, and once they're all there,
37276         we can cut over to border-image as a true shorthand.
37277
37278         Reviewed by Beth Dakin.
37279
37280         Added fast/borders/border-image-source.html.
37281
37282         * css/CSSComputedStyleDeclaration.cpp:
37283         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
37284         * css/CSSParser.cpp:
37285         (WebCore::CSSParser::parseValue):
37286         (WebCore::CSSParser::parseBorderImage):
37287         * css/CSSPropertyNames.in:
37288         * css/CSSStyleSelector.cpp:
37289         (WebCore::CSSStyleSelector::applyProperty):
37290         (WebCore::CSSStyleSelector::mapNinePieceImage):
37291         (WebCore::CSSStyleSelector::loadPendingImages):
37292         * rendering/style/NinePieceImage.h:
37293         (WebCore::NinePieceImage::setImage):
37294         * rendering/style/RenderStyle.h:
37295         (WebCore::InheritedFlags::borderImageSource):
37296         (WebCore::InheritedFlags::maskBoxImageSource):
37297         (WebCore::InheritedFlags::setBorderImageSource):
37298         (WebCore::InheritedFlags::setMaskBoxImageSource):
37299         (WebCore::InheritedFlags::initialBorderImageSource):
37300         (WebCore::InheritedFlags::initialMaskBoxImageSource):
37301
37302 2011-08-31  Stephen White  <senorblanco@chromium.org>
37303
37304         [chromium] Set the GrContext before SkGpuDevice is destroyed.
37305         https://bugs.webkit.org/show_bug.cgi?id=67296
37306
37307         When SkGpuDevice is destroyed, it frees the FBO used for accelerated
37308         rendering.  If the wrong context is set (e.g., compositor context),
37309         a crash may result.
37310
37311         Reviewed by Kenneth Russell.
37312
37313         No new tests.  (Unfortunately, wrong-context bugs are difficult to
37314         express in a layout test).
37315
37316         * platform/graphics/skia/ImageBufferSkia.cpp:
37317         (WebCore::ImageBuffer::~ImageBuffer):
37318
37319 2011-08-31  Eric Carlson  <eric.carlson@apple.com>
37320
37321         Clean up HTMLMediaElement behavior restrictions
37322         https://bugs.webkit.org/show_bug.cgi?id=67231
37323
37324         Reviewed by Darin Adler.
37325
37326         No new tests, cleanup only.
37327
37328         * html/HTMLMediaElement.cpp:
37329         (WebCore::HTMLMediaElement::HTMLMediaElement): Deal with enum and function renaming.
37330         (WebCore::HTMLMediaElement::load): Call userGestureRequiredForLoad() instead of testing bits
37331             directly.
37332         (WebCore::HTMLMediaElement::loadInternal): Deal with enum and function renaming.
37333         (WebCore::HTMLMediaElement::play): Call userGestureRequiredForRateChange() instead of testing bits
37334             directly.
37335         (WebCore::HTMLMediaElement::pause): Ditto.
37336         * html/HTMLMediaElement.h:
37337         (WebCore::HTMLMediaElement::userGestureRequiredForLoad): Renamed.
37338         (WebCore::HTMLMediaElement::userGestureRequiredForRateChange):
37339         (WebCore::HTMLMediaElement::userGestureRequiredForFullscreen):
37340         (WebCore::HTMLMediaElement::pageConsentRequiredForLoad):
37341         (WebCore::HTMLMediaElement::addBehaviorRestriction):
37342         (WebCore::HTMLMediaElement::removeBehaviorRestriction):
37343
37344         * html/HTMLVideoElement.cpp:
37345         (WebCore::HTMLVideoElement::webkitEnterFullscreen): requireUserGestureForFullScreen renamed to
37346             userGestureRequiredForFullscreen.
37347
37348 2011-08-31  Andrei Popescu  <andreip@google.com>
37349
37350         Investigate current uses of OS(ANDROID)
37351         https://bugs.webkit.org/show_bug.cgi?id=66761
37352
37353         Reviewed by Darin Adler.
37354
37355         Remove the last legacy Android code.
37356
37357         No new tests needed as the code wasn't tested in the first place.
37358
37359         * bridge/jni/JNIUtility.cpp:
37360         (JSC::Bindings::getJNIEnv):
37361
37362 2011-08-31  Sheriff Bot  <webkit.review.bot@gmail.com>
37363
37364         Unreviewed, rolling out r94082.
37365         http://trac.webkit.org/changeset/94082
37366         https://bugs.webkit.org/show_bug.cgi?id=67291
37367
37368         Breaks trunk (not canary) Chromium Mac builders upon WebKit
37369         roll (Requested by apavlov on #webkit).
37370
37371         * WebCore.gyp/WebCore.gyp:
37372
37373 2011-08-31  No'am Rosenthal  <noam.rosenthal@nokia.com>
37374
37375         [Qt] Add a convenience function to cast a QTransform to TransformationMatrix
37376         https://bugs.webkit.org/show_bug.cgi?id=67246
37377
37378         Reviewed by Andreas Kling.
37379
37380         No new functionality so no new tests.
37381
37382         * platform/graphics/qt/TransformationMatrixQt.cpp:
37383         (WebCore::TransformationMatrix::TransformationMatrix):
37384         * platform/graphics/transforms/TransformationMatrix.h:
37385
37386 2011-08-31  Sheriff Bot  <webkit.review.bot@gmail.com>
37387
37388         Unreviewed, rolling out r94176.
37389         http://trac.webkit.org/changeset/94176
37390         https://bugs.webkit.org/show_bug.cgi?id=67290
37391
37392         This does not fix the build failure on Macs (Requested by
37393         apavlov on #webkit).
37394
37395         * WebCore.gyp/WebCore.gyp:
37396
37397 2011-08-31  Mike Reed  <reed@google.com>
37398
37399         [skia] antialias images if we're rotated
37400         https://bugs.webkit.org/show_bug.cgi?id=67207
37401
37402         Reviewed by Stephen White.
37403
37404         * platform/graphics/skia/ImageSkia.cpp:
37405         (WebCore::hasNon90rotation):
37406         (WebCore::paintSkBitmap):
37407
37408 2011-08-31  Alexander Pavlov  <apavlov@chromium.org>
37409
37410         Web Inspector: Having the "Metrics" pane open affects the node highlight display
37411         https://bugs.webkit.org/show_bug.cgi?id=67278
37412
37413         Reviewed by Yury Semikhatsky.
37414
37415         * inspector/front-end/MetricsSidebarPane.js:
37416         (WebInspector.MetricsSidebarPane.prototype._updateMetrics):
37417
37418 2011-08-31  Ilya Tikhonovsky  <loislo@chromium.org>
37419
37420         Web Inspector: console view does a style recalculation per each addMessage call.
37421         https://bugs.webkit.org/show_bug.cgi?id=67198
37422
37423         It is bad from the performance point of view.
37424
37425         Reviewed by Yury Semikhatsky.
37426
37427         * inspector/front-end/ConsoleView.js:
37428         (WebInspector.ConsoleView.prototype._isScrollIntoViewScheduled):
37429         (WebInspector.ConsoleView.prototype._appendConsoleMessage):
37430
37431 2011-08-31  Alexander Pavlov  <apavlov@chromium.org>
37432
37433         [Chromium] Unreviewed build fix. Restore debugger_script_source target dependency
37434         broken in http://trac.webkit.org/changeset/94082.
37435
37436         * WebCore.gyp/WebCore.gyp:
37437
37438 2011-08-30  Alexander Pavlov  <apavlov@chromium.org>
37439
37440         Early return in CSSPrimitiveValue::getDoubleValueInternal() omits additional invalid enums
37441         https://bugs.webkit.org/show_bug.cgi?id=67139
37442
37443         Reviewed by Darin Adler.
37444
37445         * css/CSSPrimitiveValue.cpp:
37446         (WebCore::isValidCSSUnitTypeForDoubleConversion): Check if a given unit type can be converted to a double.
37447         (WebCore::CSSPrimitiveValue::getDoubleValueInternal): Make use of the new method that explicitly lists all unit types.
37448
37449 2011-08-30  Pavel Podivilov  <podivilov@chromium.org>
37450
37451         Web Inspector: rename sourceFile to uiSourceCode and get rid of sourceFileId where possible.
37452         https://bugs.webkit.org/show_bug.cgi?id=67136
37453
37454         Reviewed by Yury Semikhatsky.
37455
37456         * inspector/front-end/BreakpointManager.js:
37457         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
37458         (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
37459         (WebInspector.BreakpointManager.prototype.setBreakpoint):
37460         (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
37461         (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
37462         (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
37463         (WebInspector.BreakpointManager.prototype._deleteBreakpointFromUI):
37464         (WebInspector.BreakpointManager.prototype.set reset):
37465         (WebInspector.BreakpointManager.prototype.debuggerReset):
37466         * inspector/front-end/BreakpointsSidebarPane.js:
37467         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
37468         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.removeBreakpoint):
37469         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.highlightBreakpoint):
37470         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._createBreakpointItemId):
37471         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked):
37472         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
37473         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenu):
37474         * inspector/front-end/CallStackSidebarPane.js:
37475         (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLine):
37476         (WebInspector.CallStackSidebarPane.prototype.update):
37477         * inspector/front-end/DebuggerPresentationModel.js:
37478         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor.didGetLocation):
37479         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
37480         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
37481         (WebInspector.DebuggerPresentationModel.prototype._addScript.didCreateSourceMapping):
37482         (WebInspector.DebuggerPresentationModel.prototype._addScript):
37483         (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeReplaced):
37484         (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
37485         (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
37486         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
37487         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
37488         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
37489         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
37490         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForUISourceCode):
37491         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
37492         (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
37493         (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
37494         (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
37495         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
37496         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
37497         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
37498         (WebInspector.PresentationBreakpoint):
37499         (WebInspector.PresentationBreakpoint.prototype.get url):
37500         (WebInspector.PresentationBreakpoint.prototype.loadSnippet):
37501         (WebInspector.PresenationCallFrame):
37502         (WebInspector.PresenationCallFrame.prototype.get url):
37503         (WebInspector.PresenationCallFrame.prototype.select):
37504         (WebInspector.PresenationCallFrame.prototype.sourceLine):
37505         * inspector/front-end/ScriptsPanel.js:
37506         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
37507         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded.get if):
37508         (WebInspector.ScriptsPanel.prototype._showScriptFoldersSettingChanged):
37509         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
37510         (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
37511         (WebInspector.ScriptsPanel.prototype._consoleMessagesCleared):
37512         (WebInspector.ScriptsPanel.prototype._consoleMessageAdded):
37513         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
37514         (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
37515         (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
37516         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
37517         (WebInspector.ScriptsPanel.prototype.reset):
37518         (WebInspector.ScriptsPanel.prototype._resetFilesSelect):
37519         (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
37520         (WebInspector.ScriptsPanel.prototype._showSourceLine):
37521         (WebInspector.ScriptsPanel.prototype._showSourceFrameAndAddToHistory):
37522         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
37523         (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
37524         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
37525         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
37526         (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
37527         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
37528         (WebInspector.ScriptsPanel.prototype._filesSelectChanged):
37529         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
37530         (WebInspector.SourceFrameDelegateForScriptsPanel):
37531         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
37532         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint):
37533         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint):
37534         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint):
37535         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint):
37536         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine):
37537         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.canEditScriptSource):
37538         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSource):
37539         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSourceIsBeingEdited):
37540         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
37541
37542 2011-08-31  Yuta Kitamura  <yutak@chromium.org>
37543
37544         WebSocket: Load Blob in WebSocketChannel
37545         https://bugs.webkit.org/show_bug.cgi?id=67013
37546
37547         Reviewed by Kent Tamura.
37548
37549         Add WebSocketChannel::enqueueBlobFrame(). It makes WebSocketChannel start loading a Blob
37550         and send a WebSocket frame after the Blob is loaded.
37551
37552         While a Blob is being loaded, subsequent send() requests cannot be processed and are blocked.
37553         Pending requests are stored in m_outgoingFrameQueue. When we have finished loading a Blob,
37554         requests in the queue are allowed to get processed.
37555
37556         No new tests are added, because nobody uses enqueueBlobFrame() yet. New tests will be added
37557         when WebSocket.send(Blob) is implemented, and they will cover this code change.
37558
37559         * websockets/WebSocketChannel.cpp:
37560         ref() is called when m_blobLoader is allocated, and deref() is called in didFinishLoading()
37561         or didFail(). This is necessary because WebSocketChannel must be able to receive callbacks
37562         from FileReaderLoader even if the channel is referred from no other objects.
37563         (WebCore::WebSocketChannel::WebSocketChannel):
37564         (WebCore::WebSocketChannel::didStartLoading):
37565         (WebCore::WebSocketChannel::didReceiveData):
37566         (WebCore::WebSocketChannel::didFinishLoading):
37567         (WebCore::WebSocketChannel::didFail):
37568         When we have failed to load a Blob, fail() is called, and eventually didCloseSocketStream()
37569         will be called. It will clean up the pending requests in the queue.
37570         (WebCore::WebSocketChannel::enqueueBlobFrame):
37571         (WebCore::WebSocketChannel::processOutgoingFrameQueue):
37572         (WebCore::WebSocketChannel::abortOutgoingFrameQueue):
37573         Cancel the Blob loader when the outgoing request queue is about to be aborted. The loader
37574         will not invoke didFail() callback once it is canceled, thus we need to call didFail()
37575         manually so that we can free up the loader and decrement the reference count.
37576
37577 2011-08-31  Yuta Kitamura  <yutak@chromium.org>
37578
37579         WebSocket: Receive binary message as ArrayBuffer
37580         https://bugs.webkit.org/show_bug.cgi?id=67180
37581
37582         Reviewed by Kent Tamura.
37583
37584         Tests: http/tests/websocket/tests/hybi/receive-arraybuffer.html
37585                http/tests/websocket/tests/hybi/workers/receive-arraybuffer.html
37586
37587         * bindings/js/JSMessageEventCustom.cpp:
37588         (WebCore::JSMessageEvent::data): Convert ArrayBuffer to JSValue.
37589         * bindings/v8/custom/V8MessageEventCustom.cpp:
37590         (WebCore::V8MessageEvent::dataAccessorGetter): Convert ArrayBuffer to v8::Value.
37591         * dom/MessageEvent.cpp:
37592         (WebCore::MessageEvent::MessageEvent):
37593         * dom/MessageEvent.h:
37594         Added DataTypeArrayBuffer and ArrayBuffer-related functions.
37595         (WebCore::MessageEvent::create):
37596         (WebCore::MessageEvent::dataAsArrayBuffer):
37597         * websockets/WebSocket.cpp:
37598         (WebCore::WebSocket::didReceiveBinaryData):
37599         Construct an ArrayBuffer from binaryData and raise MessageEvent.
37600
37601 2011-08-31  Keishi Hattori  <keishi@webkit.org>
37602
37603         input color: onchange event is not fired when changing color from color chooser
37604         https://bugs.webkit.org/show_bug.cgi?id=66848
37605
37606         Reviewed by Kent Tamura.
37607
37608         Test: fast/forms/color/input-color-onchange-event.html
37609
37610         * WebCore.exp.in: Added calls used in Internals.cpp.
37611         * html/ColorInputType.cpp:
37612         (WebCore::ColorInputType::colorSelected): Dispatch change event.
37613         * html/HTMLInputElement.cpp:
37614         (WebCore::HTMLInputElement::connectToColorChooser): Added. Called from Internals::connectColorChooserClient.
37615         * html/HTMLInputElement.h:
37616         * testing/Internals.cpp:
37617         (WebCore::Internals::connectColorChooserClient): Added. Connects element as client to color chooser.
37618         (WebCore::Internals::selectColorInColorChooser): Added. Simulate color selection in color chooser.
37619         * testing/Internals.h:
37620         * testing/Internals.idl:
37621
37622 2011-08-31  Kentaro Hara  <haraken@google.com>
37623
37624         Implement Web IDL Constructor extended attribute in IDLParser.pm and CodeGeneratorV8.pm.
37625         https://bugs.webkit.org/show_bug.cgi?id=66536
37626
37627         Reviewed by Adam Barth.
37628
37629         The spec is here: http://www.w3.org/TR/WebIDL/#Constructor
37630
37631         [1] Introduced Web IDL 'Constructor' extended attribute.
37632
37633         [2] Added 'ConstructorWith=ScriptExecutionContext' extended attribute.
37634         - The constructor passes ScriptExecutionContext to a XXX::create() method,
37635         like XXX::create(..., context, ...).
37636
37637         [3] Added 'V8ConstructorSetsActiveDOMWrapper' extended attribute.
37638         - The constructor calls V8DOMWrapper::setJSWrapperForActiveDOMObject()
37639         instead of V8DOMWrapper::setJSWrapperForDOMObject().
37640
37641         [4] Added 'ConstructorRaisesException' extended attribute.
37642         - A placeholder for ExceptionCode is passed to a XXX::create() method,
37643         like XXX::create(..., ec).
37644         - We can use 'ConstructorRaisesException' and 'ConstructorWith=ScriptExecutionContext' together.
37645
37646         Note:
37647         - Constructor overloading is not yet implemented.
37648         - We cannot yet specify [Optional] without CallWithDefaultValue.
37649
37650         Test: Source/WebCore/bindings/scripts/test/TestInterface.idl
37651               Source/WebCore/bindings/scripts/test/TestObj.idl
37652
37653         * bindings/scripts/CodeGeneratorV8.pm:
37654         (GenerateHeader): Generates constructorCallback() header, if 'Constructor' is specified.
37655         (GenerateFunctionCallback): Uses GenerateArgumentsCountCheck() and GenerateParametersCheck().
37656         (GenerateArgumentsCountCheck): Splits out of GenerateFunctionCallback() for reuse.
37657         (GenerateParametersCheck): Ditto.
37658         (GenerateConstructorCallback): Generates constructorCallback() definition.
37659         (GenerateImplementation):
37660         * bindings/scripts/IDLParser.pm:
37661         (parseExtendedAttributes): Previously, only a string in the "A=B, C, D, E=F" format can be parsed. This patch enables to parse a string in the "A=B, C, D, E=F, G(in DOMString s, in [H, I, J] DOMString t)" format.
37662         (parseParameters): Splits out of ParseInterface() for reuse.
37663         (ParseInterface): Uses parseParameters().
37664         * bindings/scripts/IDLStructure.pm: Added domClass{constructor}. Changed the regular expression to extract the list of extended attributes.
37665         * bindings/scripts/test/TestInterface.idl: Added all the extended attributes that this patch is going to introduce.
37666         * bindings/scripts/test/TestObj.idl: Added 'Constructor'.
37667         * bindings/scripts/test/V8/V8TestInterface.cpp: Updated the test result.
37668         (WebCore::V8TestInterface::constructorCallback):
37669         (WebCore::ConfigureV8TestInterfaceTemplate):
37670         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Ditto.
37671         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
37672         (WebCore::V8TestObj::constructorCallback):
37673         * bindings/scripts/test/V8/V8TestObj.h: Ditto.
37674
37675 2011-08-30  Philippe Normand  <pnormand@igalia.com>
37676
37677         [GTK] gstreamer/ files directly related to the MediaPlayer need VIDEO guards
37678         https://bugs.webkit.org/show_bug.cgi?id=67196
37679
37680         Reviewed by Martin Robinson.
37681
37682         Guard those files with ENABLE(VIDEO) so other features using
37683         GStreamer can be built even with VIDEO disabled.
37684
37685         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
37686         * platform/graphics/gstreamer/GStreamerGWorld.h:
37687         * platform/graphics/gstreamer/ImageGStreamer.h:
37688         * platform/graphics/gstreamer/ImageGStreamerCG.mm:
37689         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
37690         * platform/graphics/gstreamer/ImageGStreamerQt.cpp:
37691         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
37692         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
37693         * platform/graphics/gstreamer/PlatformVideoWindow.h:
37694         * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
37695         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
37696         * platform/graphics/gstreamer/VideoSinkGStreamer.h:
37697         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
37698         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:
37699
37700 2011-08-30  Sheriff Bot  <webkit.review.bot@gmail.com>
37701
37702         Unreviewed, rolling out r94142, r94144, r94145, and r94148.
37703         http://trac.webkit.org/changeset/94142
37704         http://trac.webkit.org/changeset/94144
37705         http://trac.webkit.org/changeset/94145
37706         http://trac.webkit.org/changeset/94148
37707         https://bugs.webkit.org/show_bug.cgi?id=67262
37708
37709         Broke isindex element (Requested by rniwa on #webkit).
37710
37711         * WebCore.order:
37712         * accessibility/AXObjectCache.cpp:
37713         (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
37714         * accessibility/AccessibilityRenderObject.cpp:
37715         (WebCore::AccessibilityRenderObject::isPasswordField):
37716         (WebCore::AccessibilityRenderObject::isIndeterminate):
37717         (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
37718         (WebCore::AccessibilityRenderObject::isChecked):
37719         * css/CSSStyleSelector.cpp:
37720         (WebCore::CSSStyleSelector::canShareStyleWithControl):
37721         (WebCore::CSSStyleSelector::adjustRenderStyle):
37722         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
37723         (WebCore::CSSStyleSelector::applyProperty):
37724         * dom/CheckedRadioButtons.cpp:
37725         (WebCore::CheckedRadioButtons::addButton):
37726         (WebCore::CheckedRadioButtons::removeButton):
37727         * dom/Node.cpp:
37728         (WebCore::Node::toInputElement):
37729         * dom/Node.h:
37730         * editing/FrameSelection.cpp:
37731         (WebCore::FrameSelection::isInPasswordField):
37732         * html/HTMLInputElement.h:
37733         (WebCore::HTMLInputElement::toInputElement):
37734         * html/shadow/SliderThumbElement.cpp:
37735         (WebCore::sliderThumbElementOf):
37736         (WebCore::RenderSliderThumb::layout):
37737         (WebCore::RenderSliderContainer::layout):
37738         (WebCore::SliderThumbElement::hostInput):
37739         (WebCore::trackLimiterElementOf):
37740         * html/shadow/TextControlInnerElements.cpp:
37741         (WebCore::SearchFieldResultsButtonElement::shadowPseudoId):
37742         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
37743         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
37744         (WebCore::SpinButtonElement::defaultEventHandler):
37745         (WebCore::SpinButtonElement::repeatingTimerFired):
37746         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
37747         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
37748         * page/DragController.cpp:
37749         (WebCore::asFileInput):
37750         * platform/efl/RenderThemeEfl.cpp:
37751         (WebCore::RenderThemeEfl::paintThemePart):
37752         * rendering/RenderTextControlSingleLine.cpp:
37753         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
37754         (WebCore::RenderTextControlSingleLine::inputElement):
37755         * rendering/RenderTheme.cpp:
37756         (WebCore::RenderTheme::isChecked):
37757         (WebCore::RenderTheme::isIndeterminate):
37758
37759 2011-08-30  David Levin  <levin@chromium.org>
37760
37761         Quick fix for crashing tests caused by r94142.
37762
37763         Tests:
37764           editing/execCommand/remove-format-elements.html
37765           fast/block/child-not-removed-from-parent-lineboxes-crash.html
37766           fast/forms/implicit-submission.html
37767
37768         * rendering/RenderTextControlSingleLine.cpp:
37769         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): Allow
37770         for isIndex element which is derived from HTMLInputElement.
37771
37772 2011-08-30  Sam Weinig  <sam@webkit.org>
37773
37774         Add constructor for CustomEvent
37775         https://bugs.webkit.org/show_bug.cgi?id=67248
37776
37777         Reviewed by Dan Bernstein.
37778
37779         Test: fast/events/constructors/custom-event-constructor.html
37780
37781         * bindings/generic/EventConstructors.h:
37782         Add definition for CustomEvent constructor.
37783
37784         * bindings/js/JSEventConstructors.cpp:
37785         Add CustomEvent #includes.
37786
37787         * dom/CustomEvent.cpp:
37788         (WebCore::CustomEventInit::CustomEventInit):
37789         (WebCore::CustomEvent::CustomEvent):
37790         * dom/CustomEvent.h:
37791         (WebCore::CustomEvent::create):
37792         Add Initializer./
37793
37794         * dom/CustomEvent.idl:
37795         Make constructible.
37796
37797         * page/DOMWindow.idl:
37798         Add CustomEvent attribute.
37799
37800 2011-08-30  Ryosuke Niwa  <rniwa@webkit.org>
37801
37802         Get rid of toInputElement()
37803         https://bugs.webkit.org/show_bug.cgi?id=67175
37804
37805         Reviewed by Darin Adler.
37806
37807         Got rid of Node::toInputElement and HTMLInputElement::toInputElement and replaced them by
37808         a global toHTMLInputElement.
37809
37810         * WebCore.order:
37811         * accessibility/AXObjectCache.cpp:
37812         (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
37813         * accessibility/AccessibilityRenderObject.cpp:
37814         (WebCore::AccessibilityRenderObject::isPasswordField):
37815         (WebCore::AccessibilityRenderObject::isIndeterminate):
37816         (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
37817         (WebCore::AccessibilityRenderObject::isChecked):
37818         * css/CSSStyleSelector.cpp:
37819         (WebCore::CSSStyleSelector::canShareStyleWithControl):
37820         (WebCore::CSSStyleSelector::adjustRenderStyle):
37821         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
37822         (WebCore::CSSStyleSelector::applyProperty):
37823         * dom/CheckedRadioButtons.cpp:
37824         (WebCore::CheckedRadioButtons::addButton):
37825         (WebCore::CheckedRadioButtons::removeButton):
37826         * dom/Node.cpp:
37827         * dom/Node.h:
37828         * editing/FrameSelection.cpp:
37829         (WebCore::FrameSelection::isInPasswordField):
37830         * html/HTMLInputElement.h:
37831         (WebCore::toHTMLInputElement):
37832         * html/shadow/SliderThumbElement.cpp:
37833         (WebCore::sliderThumbElementOf):
37834         (WebCore::RenderSliderThumb::layout):
37835         (WebCore::RenderSliderContainer::layout):
37836         (WebCore::SliderThumbElement::hostInput):
37837         (WebCore::trackLimiterElementOf):
37838         * html/shadow/TextControlInnerElements.cpp:
37839         (WebCore::SearchFieldResultsButtonElement::shadowPseudoId):
37840         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
37841         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
37842         (WebCore::SpinButtonElement::defaultEventHandler):
37843         (WebCore::SpinButtonElement::repeatingTimerFired):
37844         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
37845         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
37846         * page/DragController.cpp:
37847         (WebCore::asFileInput):
37848         * platform/efl/RenderThemeEfl.cpp:
37849         (WebCore::RenderThemeEfl::paintThemePart):
37850         * rendering/RenderTextControlSingleLine.cpp:
37851         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
37852         (WebCore::RenderTextControlSingleLine::inputElement):
37853         * rendering/RenderTheme.cpp:
37854         (WebCore::RenderTheme::isChecked):
37855         (WebCore::RenderTheme::isIndeterminate):
37856
37857 2011-08-30  Ryosuke Niwa  <rniwa@webkit.org>
37858
37859         Speculative WinCairo build fix after r94093.
37860
37861         * platform/network/ResourceHandle.h:
37862
37863 2011-08-30  Ryosuke Niwa  <rniwa@webkit.org>
37864
37865         Mac build fix after r94128.
37866
37867         * WebCore.xcodeproj/project.pbxproj:
37868
37869 2011-08-30  Alice Boxhall  <aboxhall@chromium.org>
37870
37871         Correctly report selected text range for accessibility APIs for role=textbox
37872         https://bugs.webkit.org/show_bug.cgi?id=65900
37873
37874         Reviewed by Chris Fleizach.
37875
37876         Test: accessibility/textbox-role-reports-selection.html
37877
37878         * accessibility/AccessibilityRenderObject.cpp:
37879         (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
37880         (WebCore::AccessibilityRenderObject::rootEditableElementForPosition):
37881         (WebCore::AccessibilityRenderObject::nodeIsTextControl):
37882         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
37883         * accessibility/AccessibilityRenderObject.h:
37884
37885 2011-08-30  Rachel Blum  <groby@chromium.org>
37886
37887         The "port" property of an <a> whose href does not specify a port returns the wrong value
37888         https://bugs.webkit.org/show_bug.cgi?id=66081
37889
37890         HTMLAnchorElement now returns "" instead of "0" for unset port
37891         Fixed KURLGoogle.cpp to have same behavior as KURL.cpp when setting port 0
37892         Fixed Location.cpp to have same behavior as KURL.cpp when setting port 0
37893         
37894         Reviewed by Adam Barth.
37895
37896         Tests: fast/dom/HTMLAnchorElement/get-href-attribute-port.html
37897                fast/dom/HTMLAnchorElement/set-href-attribute-port.html
37898                fast/loader/location-port.html
37899                fast/url/segments-from-data-url.html
37900                fast/url/segments.html
37901                fast/url/trivial-segments.html
37902                platform/chromium/fast/dom/HTMLAnchorElement/set-href-attribute-port.html
37903                
37904         * html/HTMLAnchorElement.cpp:
37905         (WebCore::HTMLAnchorElement::port):
37906         * page/Location.cpp:
37907         (WebCore::Location::host):
37908         (WebCore::Location::port):
37909         (WebCore::Location::setPort):
37910         * platform/KURLGoogle.cpp:
37911         (WebCore::KURL::setPort):
37912
37913 2011-08-30  Scott Byer  <scottbyer@chromium.org>
37914
37915         Fix pan scrolling on Windows to be clamped
37916         https://bugs.webkit.org/show_bug.cgi?id=66910
37917
37918         With the recent change to support rubberband scrolling on the Mac, pan
37919         scrolling of overflow divs became unclamped and would scroll infinitely
37920         and along an axis without a scrollbar.
37921
37922         Reviewed by Simon Fraser
37923
37924         Test: platform/win/fast/events/panScroll-correct-direction.html
37925
37926         * rendering/RenderLayer.cpp:
37927         (WebCore::RenderLayer::panScrollFromPoint):
37928         (WebCore::RenderLayer::scrollByRecursively):
37929         * rendering/RenderLayer.h:
37930
37931 2011-08-30  Bill Budge  <bbudge@chromium.org>
37932
37933         This patch makes the XMLHttpRequest method/header validation logic available as
37934         static methods so URL loaders can perform the same checks for untrusted HTTP requests
37935         coming from plugins. 
37936         https://bugs.webkit.org/show_bug.cgi?id=66909
37937
37938         Reviewed by David Levin.
37939
37940         No new tests. Exposes no new functionality.
37941
37942         * CMakeLists.txt:
37943         * GNUmakefile.list.am:
37944         * WebCore.gypi:
37945         * WebCore.pro:
37946         * WebCore.vcproj/WebCore.vcproj:
37947         * platform/network/HTTPValidation.cpp: Added.
37948         (WebCore::isValidHTTPToken):
37949         (WebCore::isValidHTTPHeaderValue):
37950         * platform/network/HTTPValidation.h: Added.
37951         * xml/XMLHttpRequest.cpp:
37952         (WebCore::XMLHttpRequest::isAllowedHTTPMethod):
37953         (WebCore::XMLHttpRequest::uppercaseKnownHTTPMethod):
37954         (WebCore::XMLHttpRequest::isAllowedHTTPHeader):
37955         (WebCore::XMLHttpRequest::open):
37956         (WebCore::XMLHttpRequest::setRequestHeader):
37957         * xml/XMLHttpRequest.h:
37958
37959 2011-08-30  Chris Rogers  <crogers@google.com>
37960
37961         Don't allow nodes of one context to be connected to nodes of another context
37962         https://bugs.webkit.org/show_bug.cgi?id=67245
37963
37964         Reviewed by Dimitri Glazkov.
37965         
37966         Tests: updated webaudio/audionode.html
37967
37968         * webaudio/AudioNode.cpp:
37969         (WebCore::AudioNode::connect):
37970         
37971 2011-08-30  Dan Bernstein  <mitz@apple.com>
37972
37973         WebCore part of <rdar://problem/9281695> Add text search API for getting the DOM range of a text match
37974         https://bugs.webkit.org/show_bug.cgi?id=67230
37975
37976         Reviewed by Darin Adler.
37977
37978         Test: TestWebKitAPI/Tests/mac/DOMRangeOfString.
37979
37980         * WebCore.exp.in: Export Page::rangeOfString().
37981         * dom/Range.h: Added a default ASSERT_NO_EXCEPTION to a few more member functions.
37982         * editing/Editor.cpp:
37983         (WebCore::Editor::findString): Moved most of the logic into rangeOfString(), which this function
37984         now calls, passing in the current selection as the reference range and setting the selection to
37985         the returned range.
37986         (WebCore::Editor::rangeOfString): Added. Contains the find logic from findString().
37987         * editing/Editor.h:
37988         * page/Page.cpp:
37989         (WebCore::Page::rangeOfString): Added. This function is similar to findString(), but it takes an optional
37990         reference range and returns a Range, rather than using the current selection as the reference range and setting the
37991         selection to the next match.
37992         * page/Page.h:
37993
37994 2011-08-30  Sam Weinig  <sam@webkit.org>
37995
37996         Add additional convertValue overloads to JSDictionary
37997         https://bugs.webkit.org/show_bug.cgi?id=67244
37998
37999         Reviewed by Darin Adler.
38000
38001         Add overloads for convertValue that will be needed for Event
38002         constructors.
38003
38004         * bindings/js/JSDictionary.cpp:
38005         (WebCore::JSDictionary::convertValue):
38006         * bindings/js/JSDictionary.h:
38007         Add overloads.  Remove #include of <runtime/Error.h> and just include
38008         <interpreter/CallFrame.h>
38009
38010         * bindings/js/JSEventConstructors.cpp:
38011         Add now necessary #include of <runtime/Error.h>.
38012
38013 2011-08-30  Aaron Colwell  <acolwell@chromium.org>
38014
38015         Add MediaSource API to HTMLMediaElement
38016         https://bugs.webkit.org/show_bug.cgi?id=64731
38017
38018         Reviewed by Eric Carlson.
38019
38020         Tests: http/tests/media/media-source/webm/video-media-source-errors.html
38021                http/tests/media/media-source/webm/video-media-source-play.html
38022                http/tests/media/media-source/webm/video-media-source-seek.html
38023                http/tests/media/media-source/webm/video-media-source-state-changes.html
38024
38025         * Configurations/FeatureDefines.xcconfig:
38026         * GNUmakefile.am:
38027         * dom/EventNames.h:
38028         * features.pri:
38029         * html/HTMLMediaElement.cpp:
38030         (WebCore::HTMLMediaElement::HTMLMediaElement): Added initializers for new member variables.
38031         (WebCore::HTMLMediaElement::prepareForLoad): Close the media source before starting a new load.
38032         (WebCore::HTMLMediaElement::loadResource):
38033             Fail loading if the media source url from another media element is used.
38034         (WebCore::HTMLMediaElement::mediaEngineError):
38035             Make sure the source is in the closed state before firing an emptied event.
38036         (WebCore::HTMLMediaElement::mediaPlayerSourceOpened):
38037             New method called by WebCore::MediaPlayer to signal when the source is open.
38038         (WebCore::HTMLMediaElement::mediaPlayerSourceURL):
38039             New method called by the WebCore::MediaPlayer to determine what the media source URL is for this
38040             HTMLMediaElement instance.
38041         (WebCore::HTMLMediaElement::seek):
38042             Disabled noSeekRequired optimization if a media source is open and resets the source state to SOURCE_OPEN if
38043             it was in the SOURCE_ENDED state when seek() was called.
38044         (WebCore::HTMLMediaElement::webkitSourceAppend):
38045             New method for passing media data from JavaScript to the WebCore::MediaPlayer.
38046         (WebCore::HTMLMediaElement::webkitSourceEndOfStream):
38047             New method that allows JavaScript to signal the end of the stream.
38048         (WebCore::HTMLMediaElement::webkitSourceState): New method allowing JavaScript to read the current source state.
38049         (WebCore::HTMLMediaElement::setSourceState): New method for updating the current source state.
38050         (WebCore::HTMLMediaElement::userCancelledLoad):
38051             Transitions an open source to the closed state before firing an emptied event.
38052         * html/HTMLMediaElement.h:
38053         (WebCore::HTMLMediaElement::webkitMediaSourceURL):
38054             New method providing the media source URL to JavaScript for this HTMLMediaElement instance.
38055         * html/HTMLMediaElement.idl: Added new methods, attributes, and constants for the media source api.
38056         * platform/graphics/MediaPlayer.cpp:
38057         (WebCore::NullMediaPlayerPrivate::sourceAppend):
38058             Stub implementation of new WebCore::MediaPlayerPrivateInterface::sourceAppend.
38059         (WebCore::NullMediaPlayerPrivate::sourceEndOfStream):
38060             Stub implementation of new WebCore::MediaPlayerPrivateInterface::sourceEndOfStream.
38061         (WebCore::MediaPlayer::sourceAppend): New method for receiving media data from WebCore::HTMLMediaElement.
38062         (WebCore::MediaPlayer::sourceEndOfStream): New method for receiving end of stream from WebCore::HTMLMediaElement.
38063         (WebCore::MediaPlayer::sourceOpened):
38064             New method called by the MediaPlayerPrivate object to notify the MediaPlayer when the source has opened.
38065         (WebCore::MediaPlayer::sourceURL):
38066             New method called by the MediaPlayerPrivate implementation to get the media source URL from the MediaPlayer.
38067         * platform/graphics/MediaPlayer.h:
38068         (WebCore::MediaPlayerClient::mediaPlayerSourceOpened):
38069             Interface method used by the MediaPlayer to tell the HTMLMediaElement when the media source has been opened.
38070         (WebCore::MediaPlayerClient::mediaPlayerSourceURL):
38071             Interface method used by the MediaPlayer to get the media source URL from the HTMLMediaElement.
38072         * platform/graphics/MediaPlayerPrivate.h:
38073         (WebCore::MediaPlayerPrivateInterface::sourceAppend):
38074             Interface method used by the MediaPlayer to pass media data to the MediaPlayerPrivate object.
38075         (WebCore::MediaPlayerPrivateInterface::sourceEndOfStream):
38076             Interface method used by the MediaPlayer to pass end of stream information to the MediaPlayerPrivate object.
38077
38078 2011-08-30  Sam Weinig  <sam@webkit.org>
38079
38080         Refactor JS dictionary code into helper class and covert geolocation code to use it
38081         https://bugs.webkit.org/show_bug.cgi?id=67213
38082
38083         Reviewed by Darin Adler.
38084
38085         * GNUmakefile.list.am:
38086         * UseJSC.cmake:
38087         * WebCore.gypi:
38088         * WebCore.pro:
38089         * WebCore.vcproj/WebCore.vcproj:
38090         * WebCore.xcodeproj/project.pbxproj:
38091         * bindings/js/JSBindingsAllInOne.cpp:
38092         Add new files.
38093
38094         * bindings/js/JSDictionary.cpp: Added.
38095         (WebCore::JSDictionary::convertValue):
38096         * bindings/js/JSDictionary.h: Added.
38097         (WebCore::JSDictionary::JSDictionary):
38098         (WebCore::JSDictionary::tryGetProperty):
38099         Encapsulate dictionary initialization code into JSDictionary class.
38100
38101         * bindings/js/JSEventConstructors.cpp:
38102         (WebCore::constructJSEventWithInitializer):
38103         Use JSDictionary.
38104
38105         * bindings/js/JSGeolocationCustom.cpp:
38106         (WebCore::setEnableHighAccuracy):
38107         (WebCore::setTimeout):
38108         (WebCore::setMaximumAge):
38109         (WebCore::createPositionOptions):
38110         Use JSDictionary.
38111
38112 2011-08-30  Scott Byer  <scottbyer@chromium.org>
38113
38114         Switch chromium to use ScrollAnimatorNone on Windows.
38115         https://bugs.webkit.org/show_bug.cgi?id=67000
38116
38117         Reviewed by Adam Barth.
38118
38119         Testing covered by Chromium webkit_unit_tests ScrollAnimatorNoneTest.*
38120
38121         * WebCore.gyp/WebCore.gyp:
38122         * WebCore.gypi:
38123
38124 2011-08-30  Tony Chang  <tony@chromium.org>
38125
38126         refactor and cleanup RenderFlexibleBox
38127         https://bugs.webkit.org/show_bug.cgi?id=67165
38128
38129         Reviewed by Ojan Vafai.
38130
38131         No new tests, just refactoring code.
38132
38133         * rendering/RenderFlexibleBox.cpp:
38134         (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
38135         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmHorizontal): Make childSizes a param so we can pass the results to layoutAndPlaceChildrenHorizontal.
38136         (WebCore::hasPackingSpace): Move closer to where it's used.
38137         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenHorizontal):
38138             Pull this code out into its own function because it's not part of running the free space allocation algorithm.
38139         * rendering/RenderFlexibleBox.h:
38140
38141 2011-08-30  Tim Horton  <timothy_horton@apple.com>
38142
38143         getBBox() on a SVGPathElement with curves incorrectly includes control points
38144         https://bugs.webkit.org/show_bug.cgi?id=53512
38145         <rdar://problem/9861154>
38146
38147         Reviewed by Dirk Schulze.
38148
38149         The CoreGraphics implementation of Path::boundingRect() called
38150         CGPathGetBoundingBox, which includes the path's control points in its
38151         calculations. Snow Leopard added CGPathGetPathBoundingBox, which
38152         finds the bounding box of only points within the path, and does not
38153         include control points. On Snow Leopard and above, we now use the latter.
38154
38155         Test: svg/custom/getBBox-path.svg
38156
38157         * platform/graphics/cg/PathCG.cpp:
38158         (WebCore::Path::boundingRect):
38159
38160 2011-08-30  Tim Horton  <timothy_horton@apple.com>
38161
38162         SVG panning y-axis is flipped in WebKit2
38163         https://bugs.webkit.org/show_bug.cgi?id=65800
38164         <rdar://problem/9908012>
38165
38166         Reviewed by Darin Adler.
38167
38168         We previously were not transforming the pointer coordinates passed
38169         to SVGDocument's panning implementation into the coordinate space of
38170         the contents, so on different platforms, the drag direction was different.
38171
38172         Test: svg/custom/pan-direction.svg
38173
38174         * page/EventHandler.cpp:
38175         (WebCore::EventHandler::handleMousePressEvent):
38176         (WebCore::EventHandler::handleMouseMoveEvent):
38177         (WebCore::EventHandler::handleMouseReleaseEvent):
38178         * svg/SVGDocument.cpp:
38179         (WebCore::SVGDocument::startPan):
38180         (WebCore::SVGDocument::updatePan):
38181
38182 2011-08-30  Adam Barth  <abarth@webkit.org>
38183
38184         Flaky crash with JavaScript URLs
38185         https://bugs.webkit.org/show_bug.cgi?id=66360
38186
38187         Reviewed by Nate Chapin.
38188
38189         This patch teaches DocumentWriter::begin to make a copy of the URL
38190         before beginning a new document to avoid a crash.
38191
38192         Test: fast/loader/javascript-url-iframe-crash.html
38193
38194         * loader/DocumentWriter.cpp:
38195         (WebCore::DocumentWriter::begin):
38196
38197 2011-08-30  Tony Gentilcore  <tonyg@chromium.org>
38198
38199         PreloadScanner shouldn't load images inside noscript via doc.write
38200         https://bugs.webkit.org/show_bug.cgi?id=67214
38201
38202         Reviewed by Adam Barth.
38203
38204         The problem was that the tokenizer state was lost between each call to document.write.
38205         This works around that bug by making all document.write()s in the same script block share
38206         the same tokenizer state.
38207
38208         Test: fast/preloader/document-write-noscript.html
38209
38210         * html/parser/HTMLDocumentParser.cpp:
38211         (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
38212         (WebCore::HTMLDocumentParser::detach):
38213         (WebCore::HTMLDocumentParser::insert):
38214         * html/parser/HTMLDocumentParser.h:
38215
38216 2011-08-30  Dmitry Titov  <dimich@chromium.org>
38217
38218         https://bugs.webkit.org/show_bug.cgi?id=67210
38219         [Chromium] Use after free in ScheduledAction::execute(WebCore::V8Proxy*)
38220
38221         Reviewed by David Levin.
38222
38223         * bindings/v8/ScheduledAction.cpp:
38224         (WebCore::ScheduledAction::execute):
38225         Removed usage of V8Proxy instance after it could have been deleted.
38226
38227         * bindings/v8/V8Proxy.cpp:
38228         (WebCore::V8Proxy::V8Proxy):
38229         * bindings/v8/V8Proxy.h:
38230         Removed unused timerCallback() and setTimerCallback().
38231
38232 2011-08-30  Abhishek Arya  <inferno@chromium.org>
38233
38234         Style not updated for table parts in :before, :after content.
38235         https://bugs.webkit.org/show_bug.cgi?id=66141        
38236
38237         Reviewed by Dave Hyatt.
38238
38239         Tests: fast/table/table-before-child-style-update.html
38240                fast/table/table-row-before-child-style-update.html
38241
38242         * rendering/RenderObjectChildList.cpp:
38243         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
38244
38245 2011-08-30  Tony Chang  <tony@chromium.org>
38246
38247         refactor box-ordinal-group handling so we don't timeout on large values
38248         https://bugs.webkit.org/show_bug.cgi?id=65783
38249
38250         Reviewed by David Hyatt.
38251
38252         The old code walked from 1 to the last box-ordinal-group while
38253         iterating over each flex item.  The new code collects ordinals as
38254         we do the first walk and sorts them.  Each additional iteration
38255         through the flex items gets the next oridnal from the sorted list.
38256
38257         This maintains the single pass for the common case of no
38258         box-ordinal-groups specified.  If there are ordinal groups,
38259         the runtime is O(n*m + m lg m) where n is the # of flex items and
38260         m is the number of unique box-ordinal-group values.  The memory
38261         usage is O(2m).
38262
38263         Test: fast/flexbox/box-ordinal-group.html
38264
38265         * rendering/RenderDeprecatedFlexibleBox.cpp:
38266         (WebCore::FlexBoxIterator::FlexBoxIterator):
38267         (WebCore::FlexBoxIterator::reset):
38268         (WebCore::FlexBoxIterator::next):
38269         (WebCore::FlexBoxIterator::compareFlexOrder):
38270
38271 2011-08-30  Abhishek Arya  <inferno@chromium.org>
38272
38273         Removed m_owner accessed in custom scrollbars.
38274         https://bugs.webkit.org/show_bug.cgi?id=64737
38275
38276         Reviewed by David Hyatt.
38277
38278         Problem does not reproduce in DRT, even with Eventhandler tricks
38279         and gc(). So, adding a manual test.
38280
38281         * manual-tests/custom-scrollbar-renderer-removed-crash.html: Added.
38282         * page/FrameView.cpp:
38283         (WebCore::FrameView::clearOwningRendererForCustomScrollbars):
38284         * page/FrameView.h:
38285         * rendering/RenderBox.cpp:
38286         (WebCore::RenderBox::willBeDestroyed): when this renderbox is getting
38287         destroyed, clear the custom scrollbar in this frameview having this renderbox
38288         as its owning renderer.
38289         * rendering/RenderScrollbar.cpp:
38290         (WebCore::RenderScrollbar::getScrollbarPseudoStyle): fix the null check.
38291
38292 2011-08-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
38293
38294         Emit last progress notification before calling dispatchDidFinishLoad
38295         https://bugs.webkit.org/show_bug.cgi?id=28851
38296
38297         Reviewed by Adam Barth.
38298
38299         Original patch by Xan Lopez. Change FrameLoader to dispatch the notifications in
38300         a more natural sequence.
38301
38302         Test: http/tests/loading/progress-finished-callback.html
38303
38304         * loader/FrameLoader.cpp:
38305         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
38306
38307 2011-08-30  Ojan Vafai  <ojan@chromium.org>
38308
38309         CSS parsing for -webkit-flex-flow
38310         https://bugs.webkit.org/show_bug.cgi?id=67224
38311
38312         Reviewed by Tony Chang.
38313         
38314         Adds support for the first value of -webkit-flex-flow.
38315         Later we'll need to add support for the second "wrap" value,
38316         but that can wait until we are ready to implement multiline
38317         flex and the spec has stabilized a bit.
38318
38319         * css/CSSComputedStyleDeclaration.cpp:
38320         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
38321         * css/CSSParser.cpp:
38322         (WebCore::CSSParser::parseValue):
38323         * css/CSSPrimitiveValueMappings.h:
38324         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
38325         (WebCore::CSSPrimitiveValue::operator EFlexFlow):
38326         * css/CSSPropertyNames.in:
38327         * css/CSSStyleApplyProperty.cpp:
38328         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
38329         * css/CSSStyleSelector.cpp:
38330         (WebCore::CSSStyleSelector::applyProperty):
38331         * css/CSSValueKeywords.in:
38332         * rendering/style/RenderStyle.h:
38333         (WebCore::InheritedFlags::flexFlow):
38334         (WebCore::InheritedFlags::setFlexFlow):
38335         (WebCore::InheritedFlags::initialFlexFlow):
38336         * rendering/style/RenderStyleConstants.h:
38337         * rendering/style/StyleFlexibleBoxData.cpp:
38338         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
38339         (WebCore::StyleFlexibleBoxData::operator==):
38340         * rendering/style/StyleFlexibleBoxData.h:
38341
38342 2011-08-30  Dawit Alemayehu  <adawit@kde.org>
38343
38344         [Qt] Replace QLibrary("libgtk-x11-2.0.so.0") with QLibrary("libgtk-x11-2.0", 0)
38345         https://bugs.webkit.org/show_bug.cgi?id=66627
38346
38347         Reviewed by Simon Hausmann.
38348
38349         * plugins/qt/PluginPackageQt.cpp:
38350         (WebCore::initializeGtk):
38351
38352 2011-08-29  Oliver Hunt  <oliver@apple.com>
38353
38354         TypedArrays don't ensure that denormalised values are normalised
38355         https://bugs.webkit.org/show_bug.cgi?id=67178
38356
38357         Reviewed by Gavin Barraclough.
38358
38359         Ensure that we convert singaling nans to silent nans when loading
38360         from a typed array. 
38361
38362         * bindings/scripts/CodeGeneratorJS.pm:
38363         (GenerateImplementation):
38364
38365 2011-08-29  Alexey Proskuryakov  <ap@apple.com>
38366
38367         DumpRenderTree should begin each test with an empty cookie store
38368         https://bugs.webkit.org/show_bug.cgi?id=63545
38369         <rdar://problem/5666907>
38370
38371         Reviewed by Darin Adler.
38372
38373         Use a clean CFURLStorageSession when this functionality is available.
38374
38375         * WebCore.exp.in: Added exports.
38376
38377         * WebCore.xcodeproj/project.pbxproj: Made CookieStorageCFNet.h private, as currentCFHTTPCookieStorage
38378         is used in WebKit.
38379
38380         * platform/mac/CookieJar.mm:
38381         (WebCore::cookies):
38382         (WebCore::cookieRequestHeaderFieldValue):
38383         (WebCore::setCookies):
38384         (WebCore::cookiesEnabled):
38385         (WebCore::getRawCookies):
38386         (WebCore::deleteCookie):
38387         Updated to use currentCFHTTPCookieStorage().
38388
38389         * platform/network/CookieStorage.h: Moved CFNetwork specific declarations to CookieStorageCFNet.h.
38390
38391         * platform/network/ResourceHandle.cpp: Moved CFNetwork specific code to ResourceHandleCFNet.cpp.
38392
38393         * platform/network/ResourceHandle.h: Exposed default session support on Mac, too. Made
38394         privateBrowsingStorageSession() private, as callers shouldn't be concerned about where the
38395         current sssion came from.
38396
38397         * platform/network/cf/CookieJarCFNet.cpp:
38398         (WebCore::setCookies):
38399         (WebCore::cookies):
38400         (WebCore::cookieRequestHeaderFieldValue):
38401         (WebCore::cookiesEnabled):
38402         (WebCore::getRawCookies):
38403         (WebCore::deleteCookie):
38404         (WebCore::getHostnamesWithCookies):
38405         (WebCore::deleteCookiesForHostname):
38406         (WebCore::deleteAllCookies):
38407         Updated to use currentCFHTTPCookieStorage().
38408
38409         * platform/network/cf/CookieStorageCFNet.cpp:
38410         (WebCore::cookieStorageOverride): Make it clear that this override is only for a Windows API.
38411         (WebCore::overrideCookieStorage): Ditto.
38412         (WebCore::currentCFHTTPCookieStorage): We no longer store a cookie storage in a static variable,
38413         unless it has been overridden on Windows. We can always get it from a session.
38414         (WebCore::setCookieStoragePrivateBrowsingEnabled): There is nothing to do here - we'll just
38415         use private session's storage. Note that Mac has a separate code path for OS versions that
38416         don't support sessions.
38417         (WebCore::startObservingCookieChanges): Updated to use currentCFHTTPCookieStorage().
38418         (WebCore::stopObservingCookieChanges): Ditto.
38419
38420         * platform/network/cf/CookieStorageCFNet.h: Changed exposed methods for more clarity.
38421
38422         * platform/network/cf/ResourceHandleCFNet.cpp:
38423         (WebCore::makeFinalRequest): Updated for currentCookieStorage->currentCFHTTPCookieStorage change.
38424         (WebCore::ResourceHandle::createPrivateBrowsingStorageSession): Moved out of USE(CFNETWORK),
38425         as this function is also used with NSURLConnection when sessions are enabled.
38426         (WebCore::ResourceHandle::currentStorageSession): Ditto. Removed an #if since default session
38427         is now supported on Mac, too.
38428         (WebCore::defaultCFURLStorageSession): Moved out of USE(CFNETWORK).
38429         (WebCore::ResourceHandle::setDefaultStorageSession): Moved out of USE(CFNETWORK). No longer
38430         adopt the session, because nothing in method name says that it will steal a reference from
38431         the caller.
38432         (WebCore::ResourceHandle::defaultStorageSession): Moved out of USE(CFNETWORK).
38433         (WebCore::privateStorageSession): Moved from ResourceHandle.cpp.
38434         (WebCore::privateBrowsingStorageSessionIdentifierBase): Moved from ResourceHandle.cpp.
38435         (WebCore::ResourceHandle::setPrivateBrowsingEnabled): Moved from ResourceHandle.cpp.
38436         (WebCore::ResourceHandle::privateBrowsingStorageSession): Moved from ResourceHandle.cpp.
38437         (WebCore::ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase): Moved from ResourceHandle.cpp.
38438         (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase): Moved from ResourceHandle.cpp.
38439
38440         * platform/network/mac/CookieStorageMac.mm: (WebCore::setCookieStoragePrivateBrowsingEnabled):
38441         We no longer store a reference to cookie storage in a static variable, so nothing to do here.
38442         On older OS versiosn, we still need to enable legacy private browsing mode.
38443
38444         * platform/network/mac/ResourceHandleMac.mm:
38445         (WebCore::shouldRelaxThirdPartyCookiePolicy): Updated to use the new currentCFHTTPCookieStorage function.
38446         (WebCore::ResourceHandle::createNSURLConnection): Updated to use currentStorageSession()
38447         instead of privateBrowsingStorageSession().
38448         (WebCore::ResourceHandle::willSendRequest): Ditto.
38449
38450 2011-08-30  David Hyatt  <hyatt@apple.com>
38451
38452         <rdar://problem/10002140> 9A309: Text gets clipped in book because of overflow:auto
38453         
38454         https://bugs.webkit.org/show_bug.cgi?id=67212 - Text gets clipped in multi-column layouts when overflow:auto
38455         is used.
38456         
38457         Revise our overflow:auto pagination behavior. If the overflow block doesn't specify any logical height
38458         information, then we'll just assume the plan is for it to enclose its contents, and we will be willing
38459         to paginate in those circumstances.
38460
38461         Reviewed by Dan Bernstein.
38462
38463         Added overflow-across-columns.html and overflow-unsplittable.html
38464
38465         * rendering/LayoutState.cpp:
38466         (WebCore::LayoutState::LayoutState):
38467         * rendering/RenderBlock.cpp:
38468         (WebCore::RenderBlock::adjustForUnsplittableChild):
38469         * rendering/RenderBox.cpp:
38470         (WebCore::RenderBox::hasUnsplittableScrollingOverflow):
38471         * rendering/RenderBox.h:
38472
38473 2011-08-30  Antti Koivisto  <antti@apple.com>
38474
38475         querySelector/querySelectorAll should use selector checker fast path 
38476         https://bugs.webkit.org/show_bug.cgi?id=67161
38477
38478         Reviewed by Sam Weinig.
38479
38480         Descendant and child selectors can be matches substantially faster using
38481         SelectorChecker::fastCheckSelector() path. Currently it is used for style matching only.  
38482         
38483         Add SelectorQuery class that can do both querySelector and querySelectorAll efficiently using
38484         fast path. Use inlined loop for DOM traversal.
38485         
38486         The patch is ~25% speedup in the overall native score of http://www.webkit.org/perf/slickspeed/.
38487         Some individual subtests (using child or descendant selectors) execute twice as fast.
38488
38489         * CMakeLists.txt:
38490         * GNUmakefile.list.am:
38491         * WebCore.gypi:
38492         * WebCore.pro:
38493         * WebCore.vcproj/WebCore.vcproj:
38494         * WebCore.xcodeproj/project.pbxproj:
38495         * css/CSSStyleSelector.cpp:
38496         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
38497         (WebCore::CSSStyleSelector::SelectorChecker::isFastCheckableSelector):
38498         (WebCore::RuleData::RuleData):
38499         * css/CSSStyleSelector.h:
38500         
38501             Make fast path checking available outside CSSStyleSelector.
38502             
38503         * dom/DOMAllInOne.cpp:
38504         * dom/Node.cpp:
38505         (WebCore::Node::querySelector):
38506         (WebCore::Node::querySelectorAll):
38507         
38508             Switch to SelectorQuery.
38509         
38510         * dom/SelectorNodeList.cpp: Removed.
38511         * dom/SelectorNodeList.h: Removed.
38512         
38513             SelectorQuery makes these obsolete.
38514
38515         * dom/SelectorQuery.cpp: Added.
38516         (WebCore::SelectorQuery::SelectorQuery):
38517         (WebCore::SelectorQuery::queryAll):
38518         (WebCore::SelectorQuery::queryFirst):
38519         (WebCore::SelectorQuery::canUseIdLookup):
38520         (WebCore::SelectorQuery::execute):
38521         * dom/SelectorQuery.h: Added.
38522         
38523             Class for selector matching in tree.
38524     
38525 2011-08-30  Dmitry Titov  <dimich@chromium.org>
38526
38527         REGRESSION (r93913): Failures in fast/replaced/frame-removed-during-resize.html and scrollbars/scrollable-iframe-remove-crash.html
38528         https://bugs.webkit.org/show_bug.cgi?id=67074
38529
38530         Reviewed by Darin Adler.
38531
38532         Added flag m_isClosed to prevent events that cause Frame to be destroyed
38533         from posting more events into EventQueue of a dying Document.
38534
38535         The tests mentioned above should now pass.
38536
38537         * dom/Document.cpp:
38538         (WebCore::Document::detach):
38539         * dom/EventQueue.cpp:
38540         (WebCore::EventQueue::EventQueue):
38541         (WebCore::EventQueue::enqueueEvent):
38542         (WebCore::EventQueue::close): Renamed method to reflect better what it does.
38543         * dom/EventQueue.h:
38544
38545 2011-08-30  Tony Chang  <tony@chromium.org>
38546
38547         Fix compile warning on clang:
38548         error: 'WebKit::ChromeClientImpl::scrollRectIntoView' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
38549             virtual void scrollRectIntoView(
38550                              ^
38551         ../../WebCore/page/ChromeClient.h:171:22: note: hidden overloaded virtual function 'WebCore::ChromeClient::scrollRectIntoView' declared here
38552             virtual void scrollRectIntoView(const IntRect&) { }; // Currently only Mac has a non empty implementation.
38553
38554         * page/ChromeClient.h:
38555         (WebCore::ChromeClient::scrollRectIntoView):
38556
38557 2011-08-30  David Hyatt  <hyatt@apple.com>
38558
38559         <rdar://problem/8832814> With large line-height, column break can happen anywhere in the
38560         inter-line gap, causing staggered lines.
38561         
38562         https://bugs.webkit.org/show_bug.cgi?id=67202 Handle positive leading when paginating lines.
38563         
38564         Technically we should paginate lines based solely off their line top and line bottom with
38565         leading included. However there are two issues with always doing so. The first is that overflow
38566         can cause lines to overlap, and the second is that negative leading can cause lines to overlap.
38567
38568         Since we're incapable of dealing with overlap until we stop clipping column boxes and allow them
38569         to have a form of specialized overflow, we still have to at least factor in overflow and ignore
38570         negative leading for now. However we can at least honor positive leading when the lines don't
38571         overlap. This patch provides basic support for paginating when positive leading is involved.
38572
38573         Reviewed by Dan Bernstein.
38574
38575         Added fast/multicol/positive-leading.html.
38576
38577         * rendering/RenderBlock.cpp:
38578         (WebCore::RenderBlock::markLinesDirtyInBlockRange):
38579         Renamed blockLogicalHeight() to lineBottomWithLeading(). The value is the same.
38580
38581         (WebCore::RenderBlock::adjustLinePositionForPagination):
38582         Grow the top and extent of the line to include our leading when deciding how to paginate
38583         the line.
38584
38585         * rendering/RenderBlockLineLayout.cpp:
38586         (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
38587         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
38588         (WebCore::RenderBlock::linkToEndLineIfNeeded):
38589         (WebCore::RenderBlock::checkFloatsInCleanLine):
38590         (WebCore::RenderBlock::determineStartPosition):
38591         (WebCore::RenderBlock::determineEndPosition):
38592         (WebCore::RenderBlock::matchedEndLine):
38593         Renamed blockLogicalHeight() to lineBottomWithLeading(). The value is the same.
38594
38595         * rendering/RootInlineBox.cpp:
38596         (WebCore::RootInlineBox::RootInlineBox):
38597         (WebCore::RootInlineBox::adjustPosition):
38598         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
38599         * rendering/RootInlineBox.h:
38600         (WebCore::RootInlineBox::lineTopWithLeading):
38601         (WebCore::RootInlineBox::lineBottomWithLeading):
38602         (WebCore::RootInlineBox::setLineTopBottomPositions):
38603         Instead of one member variable, blockLogicalHeight(), RootInlineBoxes now know both their top and
38604         bottom including leading. These values are obtainable using lineTopWithLeading() and lineBottomWithLeading().
38605         Add these two values to the setLineTopBottomPositions setter and remove setBlockLogicalHeight.
38606
38607         * rendering/svg/SVGRootInlineBox.cpp:
38608         (WebCore::SVGRootInlineBox::layoutRootBox):
38609         Renamed blockLogicalHeight() to lineBottomWithLeading(). The value is the same.
38610
38611 2011-08-29  Chris Marrin  <cmarrin@apple.com>
38612
38613         Rename GraphicsContext3DInternal to GraphicsContext3DPrivate and add a dummy version of this class for Mac
38614         https://bugs.webkit.org/show_bug.cgi?id=67172
38615
38616         Reviewed by Kenneth Russell.
38617
38618         * GNUmakefile.list.am:
38619         * platform/graphics/GraphicsContext3D.h:
38620         * platform/graphics/chromium/Extensions3DChromium.h:
38621         * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
38622         (WebCore::GraphicsContext3D::create):
38623         (WebCore::GraphicsContext3D::GraphicsContext3D):
38624         (WebCore::GraphicsContext3D::~GraphicsContext3D):
38625         (WebCore::GraphicsContext3D::makeContextCurrent):
38626         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
38627         * platform/graphics/gtk/GraphicsContext3DInternal.h: Removed.
38628         * platform/graphics/gtk/GraphicsContext3DPrivate.h: Copied from Source/WebCore/platform/graphics/gtk/GraphicsContext3DInternal.h.
38629         * platform/graphics/mac/GraphicsContext3DMac.mm:
38630         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
38631         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
38632         (WebCore::GraphicsContext3D::GraphicsContext3D):
38633         * platform/graphics/qt/GraphicsContext3DQt.cpp:
38634         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
38635         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
38636         (WebCore::GraphicsContext3DPrivate::getViewportGLWidget):
38637         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
38638         (WebCore::GraphicsContext3DPrivate::boundingRect):
38639         (WebCore::GraphicsContext3DPrivate::paint):
38640         (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebuffer):
38641         (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext):
38642         (WebCore::GraphicsContext3D::create):
38643         (WebCore::GraphicsContext3D::GraphicsContext3D):
38644         (WebCore::GraphicsContext3D::~GraphicsContext3D):
38645         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
38646         (WebCore::GraphicsContext3D::platformLayer):
38647         (WebCore::GraphicsContext3D::makeContextCurrent):
38648         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
38649         (WebCore::GraphicsContext3D::reshape):
38650         (WebCore::GraphicsContext3D::activeTexture):
38651         (WebCore::GraphicsContext3D::attachShader):
38652         (WebCore::GraphicsContext3D::getAttachedShaders):
38653         (WebCore::GraphicsContext3D::bindAttribLocation):
38654         (WebCore::GraphicsContext3D::bindBuffer):
38655         (WebCore::GraphicsContext3D::bindFramebuffer):
38656         (WebCore::GraphicsContext3D::bindRenderbuffer):
38657         (WebCore::GraphicsContext3D::bindTexture):
38658         (WebCore::GraphicsContext3D::blendColor):
38659         (WebCore::GraphicsContext3D::blendEquation):
38660         (WebCore::GraphicsContext3D::blendEquationSeparate):
38661         (WebCore::GraphicsContext3D::blendFunc):
38662         (WebCore::GraphicsContext3D::blendFuncSeparate):
38663         (WebCore::GraphicsContext3D::bufferData):
38664         (WebCore::GraphicsContext3D::bufferSubData):
38665         (WebCore::GraphicsContext3D::checkFramebufferStatus):
38666         (WebCore::GraphicsContext3D::clearColor):
38667         (WebCore::GraphicsContext3D::clear):
38668         (WebCore::GraphicsContext3D::clearDepth):
38669         (WebCore::GraphicsContext3D::clearStencil):
38670         (WebCore::GraphicsContext3D::colorMask):
38671         (WebCore::GraphicsContext3D::compileShader):
38672         (WebCore::GraphicsContext3D::copyTexImage2D):
38673         (WebCore::GraphicsContext3D::copyTexSubImage2D):
38674         (WebCore::GraphicsContext3D::cullFace):
38675         (WebCore::GraphicsContext3D::depthFunc):
38676         (WebCore::GraphicsContext3D::depthMask):
38677         (WebCore::GraphicsContext3D::depthRange):
38678         (WebCore::GraphicsContext3D::detachShader):
38679         (WebCore::GraphicsContext3D::disable):
38680         (WebCore::GraphicsContext3D::disableVertexAttribArray):
38681         (WebCore::GraphicsContext3D::drawArrays):
38682         (WebCore::GraphicsContext3D::drawElements):
38683         (WebCore::GraphicsContext3D::enable):
38684         (WebCore::GraphicsContext3D::enableVertexAttribArray):
38685         (WebCore::GraphicsContext3D::finish):
38686         (WebCore::GraphicsContext3D::flush):
38687         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
38688         (WebCore::GraphicsContext3D::framebufferTexture2D):
38689         (WebCore::GraphicsContext3D::frontFace):
38690         (WebCore::GraphicsContext3D::generateMipmap):
38691         (WebCore::GraphicsContext3D::getActiveAttrib):
38692         (WebCore::GraphicsContext3D::getActiveUniform):
38693         (WebCore::GraphicsContext3D::getAttribLocation):
38694         (WebCore::GraphicsContext3D::getError):
38695         (WebCore::GraphicsContext3D::getString):
38696         (WebCore::GraphicsContext3D::hint):
38697         (WebCore::GraphicsContext3D::isBuffer):
38698         (WebCore::GraphicsContext3D::isEnabled):
38699         (WebCore::GraphicsContext3D::isFramebuffer):
38700         (WebCore::GraphicsContext3D::isProgram):
38701         (WebCore::GraphicsContext3D::isRenderbuffer):
38702         (WebCore::GraphicsContext3D::isShader):
38703         (WebCore::GraphicsContext3D::isTexture):
38704         (WebCore::GraphicsContext3D::lineWidth):
38705         (WebCore::GraphicsContext3D::linkProgram):
38706         (WebCore::GraphicsContext3D::pixelStorei):
38707         (WebCore::GraphicsContext3D::polygonOffset):
38708         (WebCore::GraphicsContext3D::readPixels):
38709         (WebCore::GraphicsContext3D::releaseShaderCompiler):
38710         (WebCore::GraphicsContext3D::renderbufferStorage):
38711         (WebCore::GraphicsContext3D::sampleCoverage):
38712         (WebCore::GraphicsContext3D::scissor):
38713         (WebCore::GraphicsContext3D::shaderSource):
38714         (WebCore::GraphicsContext3D::stencilFunc):
38715         (WebCore::GraphicsContext3D::stencilFuncSeparate):
38716         (WebCore::GraphicsContext3D::stencilMask):
38717         (WebCore::GraphicsContext3D::stencilMaskSeparate):
38718         (WebCore::GraphicsContext3D::stencilOp):
38719         (WebCore::GraphicsContext3D::stencilOpSeparate):
38720         (WebCore::GraphicsContext3D::texParameterf):
38721         (WebCore::GraphicsContext3D::texParameteri):
38722         (WebCore::GraphicsContext3D::uniform1f):
38723         (WebCore::GraphicsContext3D::uniform1fv):
38724         (WebCore::GraphicsContext3D::uniform2f):
38725         (WebCore::GraphicsContext3D::uniform2fv):
38726         (WebCore::GraphicsContext3D::uniform3f):
38727         (WebCore::GraphicsContext3D::uniform3fv):
38728         (WebCore::GraphicsContext3D::uniform4f):
38729         (WebCore::GraphicsContext3D::uniform4fv):
38730         (WebCore::GraphicsContext3D::uniform1i):
38731         (WebCore::GraphicsContext3D::uniform1iv):
38732         (WebCore::GraphicsContext3D::uniform2i):
38733         (WebCore::GraphicsContext3D::uniform2iv):
38734         (WebCore::GraphicsContext3D::uniform3i):
38735         (WebCore::GraphicsContext3D::uniform3iv):
38736         (WebCore::GraphicsContext3D::uniform4i):
38737         (WebCore::GraphicsContext3D::uniform4iv):
38738         (WebCore::GraphicsContext3D::uniformMatrix2fv):
38739         (WebCore::GraphicsContext3D::uniformMatrix3fv):
38740         (WebCore::GraphicsContext3D::uniformMatrix4fv):
38741         (WebCore::GraphicsContext3D::useProgram):
38742         (WebCore::GraphicsContext3D::validateProgram):
38743         (WebCore::GraphicsContext3D::vertexAttrib1f):
38744         (WebCore::GraphicsContext3D::vertexAttrib1fv):
38745         (WebCore::GraphicsContext3D::vertexAttrib2f):
38746         (WebCore::GraphicsContext3D::vertexAttrib2fv):
38747         (WebCore::GraphicsContext3D::vertexAttrib3f):
38748         (WebCore::GraphicsContext3D::vertexAttrib3fv):
38749         (WebCore::GraphicsContext3D::vertexAttrib4f):
38750         (WebCore::GraphicsContext3D::vertexAttrib4fv):
38751         (WebCore::GraphicsContext3D::vertexAttribPointer):
38752         (WebCore::GraphicsContext3D::viewport):
38753         (WebCore::GraphicsContext3D::getBooleanv):
38754         (WebCore::GraphicsContext3D::getBufferParameteriv):
38755         (WebCore::GraphicsContext3D::getFloatv):
38756         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
38757         (WebCore::GraphicsContext3D::getIntegerv):
38758         (WebCore::GraphicsContext3D::getProgramiv):
38759         (WebCore::GraphicsContext3D::getProgramInfoLog):
38760         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
38761         (WebCore::GraphicsContext3D::getShaderiv):
38762         (WebCore::GraphicsContext3D::getShaderInfoLog):
38763         (WebCore::GraphicsContext3D::getShaderSource):
38764         (WebCore::GraphicsContext3D::getTexParameterfv):
38765         (WebCore::GraphicsContext3D::getTexParameteriv):
38766         (WebCore::GraphicsContext3D::getUniformfv):
38767         (WebCore::GraphicsContext3D::getUniformiv):
38768         (WebCore::GraphicsContext3D::getUniformLocation):
38769         (WebCore::GraphicsContext3D::getVertexAttribfv):
38770         (WebCore::GraphicsContext3D::getVertexAttribiv):
38771         (WebCore::GraphicsContext3D::getVertexAttribOffset):
38772         (WebCore::GraphicsContext3D::texImage2D):
38773         (WebCore::GraphicsContext3D::texSubImage2D):
38774         (WebCore::GraphicsContext3D::createBuffer):
38775         (WebCore::GraphicsContext3D::createFramebuffer):
38776         (WebCore::GraphicsContext3D::createProgram):
38777         (WebCore::GraphicsContext3D::createRenderbuffer):
38778         (WebCore::GraphicsContext3D::createShader):
38779         (WebCore::GraphicsContext3D::createTexture):
38780         (WebCore::GraphicsContext3D::deleteBuffer):
38781         (WebCore::GraphicsContext3D::deleteFramebuffer):
38782         (WebCore::GraphicsContext3D::deleteProgram):
38783         (WebCore::GraphicsContext3D::deleteRenderbuffer):
38784         (WebCore::GraphicsContext3D::deleteShader):
38785         (WebCore::GraphicsContext3D::deleteTexture):
38786
38787 2011-08-30  Tony Chang  <tony@chromium.org>
38788
38789         Remove webcore_bindings (including DerivedSources##.cpp) from the critical path
38790         https://bugs.webkit.org/show_bug.cgi?id=67168
38791
38792         Reviewed by Adam Barth.
38793
38794         webcore_bindings_sources generates various files (e.g., CSSPropertyNames,
38795         DerivedSources, HTMLNames, etc).  webcore_bindings depends on webcore_bindings_sources
38796         and compiles these files.  Previously, the other webcore libs (webcore_svg,
38797         webcore_html, webcore_remaining, etc) depended on webcore_bindings.  This changes the
38798         dependency on webocre_bindings_sources so the build can parallelize the compile of
38799         webcore_bindings and the other webcore_* libs.
38800
38801         No new tests, just changing the build dependencies.  Manually copy over the
38802         include dirs that we used to get from webcore_bindings' direct_dependent_settings.
38803
38804         * WebCore.gyp/WebCore.gyp:
38805
38806 2011-08-30  Kaustubh Atrawalkar  <kaustubh@motorola.com>
38807
38808         The unused ScrollView* argument can and should be removed from
38809         scrollRectIntoView.
38810         https://bugs.webkit.org/show_bug.cgi?id=67117
38811
38812         Reviewed by Darin Adler.
38813
38814         * loader/EmptyClients.h:
38815         (WebCore::EmptyChromeClient::scrollRectIntoView):
38816         * page/Chrome.cpp:
38817         (WebCore::Chrome::scrollRectIntoView):
38818         * page/ChromeClient.h:
38819         (WebCore::ChromeClient::scrollRectIntoView):
38820
38821 2011-08-30  Ben Wells  <benwells@chromium.org>
38822
38823         Update registerProtocolHandler scheme whitelist to match spec
38824         https://bugs.webkit.org/show_bug.cgi?id=67104
38825
38826         Reviewed by Darin Adler.
38827
38828         * page/Navigator.cpp:
38829         (WebCore::initProtocolHandlerWhitelist):
38830
38831 2011-08-30  Vsevolod Vlasov  <vsevik@chromium.org>
38832
38833         Web Inspector: Inspected page sometimes crashes in InspectorResourceAgent::didFailLoading
38834         https://bugs.webkit.org/show_bug.cgi?id=67193
38835
38836         Reviewed by Pavel Feldman.
38837
38838         * inspector/InspectorResourceAgent.cpp:
38839         (WebCore::InspectorResourceAgent::didFailLoading):
38840
38841 2011-08-30  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
38842
38843         [Qt] Do not unconditionally use pkg-config in .pro files
38844         https://bugs.webkit.org/show_bug.cgi?id=67055
38845
38846         Reviewed by Andreas Kling.
38847
38848         Original patch from Rohan McGovern <rohan.mcgovern@nokia.com>
38849
38850         Using the first pkg-config in PATH is prone to errors when cross
38851         compiling inside the Qt repository (using Qt's build-system).
38852
38853         This patch protect calls for pkg-config with
38854         !contains(QT_CONFIG, no-pkg-config). no-pkg-config is added to
38855         QT_CONFIG by Qt's 'configure' when cross-compiling on systems
38856         without pkg-config.
38857
38858         The respective change in Qt's configure has been submited already.
38859
38860         No new tests as this is just a build change.
38861
38862         * features.pri: protect pkg-config calls
38863
38864 2011-08-30  Andreas Kling  <kling@webkit.org>
38865
38866         HTMLImageElement: Don't cache "ismap" and "usemap" attributes.
38867         https://bugs.webkit.org/show_bug.cgi?id=66784
38868
38869         Reviewed by Darin Adler.
38870
38871         * html/HTMLImageElement.h: Remove the "ismap" and "usemap" members,
38872         shrinking HTMLImageElement by 16 bytes (on 64-bit.)
38873         * html/HTMLImageElement.cpp:
38874         (WebCore::HTMLImageElement::HTMLImageElement):
38875         (WebCore::HTMLImageElement::parseMappedAttribute): Most of the logic
38876         for "ismap" and "usemap" moved into isServerMap().
38877         (WebCore::HTMLImageElement::isServerMap): Out-of-lined and implemented
38878         using fast*Attribute().
38879
38880 2011-08-30  Ryosuke Niwa  <rniwa@webkit.org>
38881
38882         lastChangeWasUserEdit continues to return true when innerText or textContent is modified
38883         https://bugs.webkit.org/show_bug.cgi?id=67183
38884
38885         Reviewed by Kent Tamura.
38886
38887         Fixed the bug by calling setLastChangeWasNotUserEdit in HTMLTextAreaElement::childrenChanged.
38888
38889         Also got rid of HTMLTextFormControlElement::subtreeHasChanged because it was a needless indirection.
38890
38891         * html/HTMLInputElement.cpp:
38892         (WebCore::HTMLInputElement::subtreeHasChanged): No longer calls HTMLTextFormControlElement::subtreeHasChanged.
38893         * html/HTMLTextAreaElement.cpp:
38894         (WebCore::HTMLTextAreaElement::childrenChanged): Calls setLastChangeWasNotUserEdit.
38895         (WebCore::HTMLTextAreaElement::subtreeHasChanged): No longer calls HTMLTextFormControlElement::subtreeHasChanged.
38896         * html/HTMLTextFormControlElement.cpp:
38897         (WebCore::HTMLTextFormControlElement::defaultEventHandler): Merged subtreeHasChanged.
38898         (WebCore::HTMLTextFormControlElement::setInnerTextValue): No longer set m_lastChangeWasUserEdit to false
38899         since this is now done when renderers are set dirty.
38900         * html/HTMLTextFormControlElement.h: Made subtreeHasChanged a pure virtual function.
38901
38902 2011-08-29  Yury Semikhatsky  <yurys@chromium.org>
38903
38904         Web Inspector: wrong script display name when there is a slash in its URL query parameters
38905         https://bugs.webkit.org/show_bug.cgi?id=67120
38906
38907         Fixed folder name computation in ScriptsPanel. Now search query is ignored
38908         when searching for the script folder name.
38909
38910         Reviewed by Pavel Feldman.
38911
38912         * inspector/front-end/ScriptsPanel.js:
38913         (WebInspector.ScriptsPanel.prototype._folderAndDisplayNameForScriptURL):
38914
38915 2011-08-29  Yury Semikhatsky  <yurys@chromium.org>
38916
38917         Return value of window.onerror has inverted semantics
38918         https://bugs.webkit.org/show_bug.cgi?id=67119
38919
38920         Error is now treated as handled only when window.onerror function returns true.
38921
38922         Reviewed by Darin Adler.
38923
38924         Test: fast/events/window-onerror13.html
38925
38926         * bindings/js/JSErrorHandler.cpp:
38927         (WebCore::JSErrorHandler::handleEvent):
38928         * bindings/v8/V8WindowErrorHandler.cpp:
38929         (WebCore::V8WindowErrorHandler::callListenerFunction):
38930         * bindings/v8/V8WorkerContextErrorHandler.cpp:
38931         (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
38932
38933 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
38934
38935         Touch Internals.cpp in an attempt to fix GTK+ build.
38936
38937         * testing/Internals.cpp:
38938
38939 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
38940
38941         Move setInnerTextValue from RenderTextControl to HTMLTextFormControlElement
38942         https://bugs.webkit.org/show_bug.cgi?id=67152
38943
38944         Reviewed by Darin Adler.
38945
38946         Moved setInnerTextValue from RenderTextControl to HTMLTextFormControlElement.
38947
38948         Also moved m_lastChangeWasUserEdit from RenderTextControl to HTMLTextFormControlElement
38949         and related inline functions from RenderTextControl to HTMLTextFormControlElement.
38950         Because m_lastChangeWasUserEdit is no longer reset when RenderTextControl is recreated,
38951         added explicit calls to setLastChangeWasNotUserEdit in setValue functions of HTMLInputElement
38952         and HTMLTextAreaElement.
38953
38954         This patch also fixes the bug that lastChangeWasUserEdit() incorrectly returns false
38955         when input or textarea don't have renderer (e.g. invisible).
38956
38957         Unfortunately, there is no way to test this behavioral change from layout tests.
38958
38959         * WebCore.exp.in: Exports lastChangeWasUserEdit in HTMLTextFormControlElement instead of
38960         that of HTMLInputElement and HTMLTextAreaElement.
38961         * html/HTMLInputElement.cpp:
38962         (WebCore::HTMLInputElement::setValue): Explicitly calls setLastChangeWasNotUserEdit.
38963         * html/HTMLInputElement.h:
38964         * html/HTMLTextAreaElement.cpp:
38965         (WebCore::HTMLTextAreaElement::setValueCommon): Ditto.
38966         * html/HTMLTextAreaElement.h:
38967         * html/HTMLTextFormControlElement.cpp:
38968         (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement):
38969         (WebCore::HTMLTextFormControlElement::subtreeHasChanged): Sets m_lastChangeWasUserEdit true
38970         as it used to do via respondToChangeByUser.
38971         (WebCore::HTMLTextFormControlElement::lastChangeWasUserEdit): Moved from HTMLInputElement
38972         and HTMLTextAreaElement.
38973         (WebCore::HTMLTextFormControlElement::setInnerTextValue): Moved from RenderTextControl.
38974         * html/HTMLTextFormControlElement.h:
38975         (WebCore::HTMLTextFormControlElement::setLastChangeWasNotUserEdit): Added.
38976         * rendering/RenderTextControl.cpp:
38977         (WebCore::RenderTextControl::RenderTextControl): No longer initializes m_lastChangeWasUserEdit.
38978         * rendering/RenderTextControl.h:
38979         * rendering/RenderTextControlSingleLine.cpp:
38980         (WebCore::RenderTextControlSingleLine::updateFromElement): Calls setInnerTextValue.
38981         * rendering/RenderTextControlMultiLine.cpp:
38982         (WebCore::RenderTextControlMultiLine::updateFromElement): Ditto.
38983
38984 2011-08-25  Kent Tamura  <tkent@chromium.org>
38985
38986         REGRESSION(r88115): Disabling a file upload control causes an endless busyloop.
38987         https://bugs.webkit.org/show_bug.cgi?id=66659
38988
38989         Reviewed by Darin Adler.
38990
38991         Test: fast/forms/file/disabling-file-busy-loop.html
38992
38993         * rendering/RenderFileUploadControl.cpp:
38994         (WebCore::RenderFileUploadControl::updateFromElement):
38995         Don't call setDisabled() if the disabled status is not changed.
38996         setDisabled() causes styleRecalc(), and
38997         HTMLFormControlElement::styleRecalc() causes
38998         updateFromElement(). updateFromElement() should not call
38999         setDisabled() again.
39000
39001 2011-08-29  Daniel Bates  <dbates@webkit.org>
39002
39003         Add HAVE(VASPRINTF) macro to test for vasprintf() support
39004         https://bugs.webkit.org/show_bug.cgi?id=67156
39005
39006         Reviewed by Darin Adler.
39007
39008         * xml/parser/XMLDocumentParserLibxml2.cpp:
39009         (WebCore::XMLDocumentParser::error): Modified to use HAVE(VASPRINTF).
39010
39011 2011-08-29  Yuta Kitamura  <yutak@chromium.org>
39012
39013         WebSocket: Receive binary message as Blob
39014         https://bugs.webkit.org/show_bug.cgi?id=67115
39015
39016         Reviewed by Kent Tamura.
39017
39018         Make WebSocketChannel be able to receive WebSocket binary messages and deliver them via
39019         didReceiveBinaryData() callback of WebSocketChannelClient.
39020
39021         Tests: http/tests/websocket/tests/hybi/fragmented-binary-frames.html
39022                http/tests/websocket/tests/hybi/receive-blob.html
39023                http/tests/websocket/tests/hybi/workers/receive-blob.html
39024
39025         * bindings/js/JSMessageEventCustom.cpp:
39026         (WebCore::JSMessageEvent::data): Convert Blob to JSValue.
39027         * bindings/v8/custom/V8MessageEventCustom.cpp:
39028         (WebCore::V8MessageEvent::dataAccessorGetter): Convert Blob to v8::Value.
39029         * dom/MessageEvent.cpp:
39030         (WebCore::MessageEvent::MessageEvent):
39031         * dom/MessageEvent.h:
39032         Added DataTypeBlob and Blob-related functions.
39033         (WebCore::MessageEvent::create):
39034         (WebCore::MessageEvent::dataAsBlob):
39035         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
39036         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
39037         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback):
39038         * websockets/ThreadableWebSocketChannelClientWrapper.h:
39039         * websockets/WebSocket.cpp:
39040         (WebCore::WebSocket::didReceiveBinaryData):
39041         If binaryType attribute is "blob", construct a Blob using BlobData filled with the given
39042         binary message.
39043         * websockets/WebSocket.h:
39044         * websockets/WebSocketChannel.cpp:
39045         (WebCore::WebSocketChannel::processFrame):
39046         Create continuousFrameData as OwnPtr<> rather than stack-allocated value so we can easily
39047         pass it to didReceiveBinaryData() callback.
39048         Save the content of a fragmented message even if it is a binary opcode.
39049         * websockets/WebSocketChannelClient.h:
39050         (WebCore::WebSocketChannelClient::didReceiveBinaryData):
39051         * websockets/WorkerThreadableWebSocketChannel.cpp:
39052         (WebCore::workerContextDidReceiveBinaryData):
39053         (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
39054         Pass binaryData as PassOwnPtr<Vector<char> > to deliver the value efficiently (without
39055         copying the content) across threads.
39056         * websockets/WorkerThreadableWebSocketChannel.h:
39057
39058 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
39059
39060         Add a test for lastChangeWasUserEdit in HTMLInputElement and HTMLTextAreaElement
39061         https://bugs.webkit.org/show_bug.cgi?id=67173
39062
39063         Reviewed by Darin Adler.
39064
39065         Exposed HTMLInputElement::lastChangeWasUserEdit and HTMLTextAreaElement::lastChangeWasUserEdit
39066         via internals.wasLastChangeUserEdit(Element*, ExceptionCode&). The first argument must be
39067         an input element or a textarea element lastChangeWasUserEdit is called upon.
39068
39069         Test: fast/forms/textfield-lastchange-was-useredit.html
39070
39071         * testing/Internals.cpp:
39072         (WebCore::Internals::wasLastChangeUserEdit):
39073         * testing/Internals.h:
39074         * testing/Internals.idl:
39075
39076 2011-08-29  Luke Macpherson   <macpherson@chromium.org>
39077
39078         Implement CSSPropertyWebkitColumns in CSSStyleApplyProperty.
39079         https://bugs.webkit.org/show_bug.cgi?id=67106
39080
39081         Reviewed by Darin Adler.
39082
39083         Tests:
39084         LayoutTests/fast/multicol/inherit-column-values.html
39085         LayoutTests/fast/multicol/initial-column-values.html
39086
39087         * css/CSSStyleApplyProperty.cpp:
39088         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
39089         Initialize handler for CSSPropertyWebkitColumns.
39090         * css/CSSStyleSelector.cpp:
39091         (WebCore::CSSStyleSelector::applyProperty):
39092         Remove existing implementation for CSSPropertyWebkitColumns.
39093
39094 2011-08-29  Mark Hahnenberg  <mhahnenberg@apple.com>
39095
39096         Unzip initialization lists and constructors in JSCell hierarchy (3/7)
39097         https://bugs.webkit.org/show_bug.cgi?id=67064
39098
39099         Reviewed by Darin Adler.
39100
39101         No new tests.
39102
39103         Completed the third level of the refactoring to add finishCreation() 
39104         methods to all classes within the JSCell hierarchy with non-trivial 
39105         constructor bodies.
39106
39107         This primarily consists of pushing the calls to finishCreation() down 
39108         into the constructors of the subclasses of the second level of the hierarchy 
39109         as well as pulling the finishCreation() calls out into the class's corresponding
39110         create() method if it has one.  Doing both simultaneously allows us to 
39111         maintain the invariant that the finishCreation() method chain is called exactly 
39112         once during the creation of an object, since calling it any other number of 
39113         times (0, 2, or more) will cause an assertion failure.
39114
39115         * bindings/js/JSDOMWindowShell.cpp:
39116         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
39117         (WebCore::JSDOMWindowShell::finishCreation):
39118         * bindings/js/JSDOMWindowShell.h:
39119
39120 2011-08-29  John Bauman  <jbauman@chromium.org>
39121
39122         Speed up texImage from BGRA
39123         https://bugs.webkit.org/show_bug.cgi?id=66884
39124
39125         Reviewed by Kenneth Russell.
39126
39127         BGRA input is common coming from skia, so optimize BGRA->RGBA
39128         conversion and also avoid the pointless RGBA to RGBA conversion.
39129
39130         * platform/graphics/GraphicsContext3D.cpp:
39131         (WebCore::doUnpackingAndPacking):
39132
39133 2011-08-29  Matthew Delaney  <mdelaney@apple.com>
39134
39135         [CG] ImageBufferCG should handle IOSurface allocation failure gracefully
39136         https://bugs.webkit.org/show_bug.cgi?id=67099
39137
39138         Reviewed by Simon Fraser.
39139
39140         No new tests. Testing the "fallback to old path" behavior is not easily testable.
39141
39142         * platform/graphics/cg/ImageBufferCG.cpp: Rearranged backing store creation to fall back to
39143           old path if IOSurface creation path fails.
39144         (WebCore::ImageBuffer::ImageBuffer):
39145
39146 2011-08-29  Cary Clark  <caryclark@google.com>
39147
39148         Only enable font smoothing as requested (Skia on Mac)
39149         https://bugs.webkit.org/show_bug.cgi?id=67143
39150
39151         This adjusts LayoutTest pixel output to more closely
39152         match other platforms.
39153
39154         Reviewed by Kenneth Russell.
39155
39156         No new tests. This platform is not yet enabled.
39157
39158         * platform/graphics/skia/FontSkia.cpp:
39159         (WebCore::setupPaint):
39160         LCD text was always enabled to test the code path. With this change,
39161         it is only enabled when instructed by the font state.
39162
39163 2011-08-29  Julien Chaffraix  <jchaffraix@webkit.org>
39164
39165         Assertion failure in RenderLayer::computeRepaintRects when scrolling
39166         https://bugs.webkit.org/show_bug.cgi?id=67140
39167
39168         Reviewed by David Hyatt.
39169
39170         Test: fast/repaint/scroll-fixed-layer-with-no-visible-content.html
39171
39172         * rendering/RenderLayer.cpp:
39173         (WebCore::RenderLayer::computeRepaintRects): Fixed style after r93837.
39174
39175         (WebCore::RenderLayer::updateLayerPositionsAfterScroll): Tweaked the code
39176         to bail early if our layer has no visible content. This avoids the ASSERT
39177         and also makes sense as we shouldn't repaint / update empty layers.
39178
39179 2011-08-29  Anna Cavender  <annacc@chromium.org>
39180
39181         Implement WebVTT Cue Text Parsing rules and DOM construction
39182         https://bugs.webkit.org/show_bug.cgi?id=64132
39183
39184         Reviewed by Adam Barth.
39185
39186         Tests in media/track, particularly track-webvtt-tc[022 - 028]*.
39187
39188         * CMakeLists.txt:
39189         * GNUmakefile.list.am:
39190         * WebCore.gypi:
39191         * WebCore.pro:
39192         * WebCore.xcodeproj/project.pbxproj:
39193         * html/TextTrackCue.cpp:
39194         * html/TextTrackCue.h:
39195         * platform/track/CueParser.cpp:
39196         * platform/track/CueParser.h:
39197         * platform/track/WebVTTParser.cpp:
39198         * platform/track/WebVTTParser.h:
39199         * platform/track/WebVTTToken.h: Added.
39200         * platform/track/WebVTTTokenizer.cpp: Added.
39201         * platform/track/WebVTTTokenizer.h: Added.
39202
39203 2011-08-29  Patrick Gansterer  <paroga@webkit.org>
39204
39205         Add parsing support for extended attributes on IDL constants
39206         https://bugs.webkit.org/show_bug.cgi?id=65046
39207
39208         Reviewed by Brent Fulgham.
39209
39210         With support for extended attributes on constants we can
39211         replace some preprocessor lines from the IDL files with
39212         the corresponding [Conditional=XXX] later.
39213         Using the preprocessor causes much pain on native windows.
39214
39215         CodeGenerator support will be added in separate patches.
39216
39217         * bindings/scripts/IDLParser.pm:
39218         * bindings/scripts/IDLStructure.pm:
39219
39220 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
39221
39222         Cleanup: notifyFormStateChanged, formControlValueMatchesRenderer, and setFormControlValueMatchesRenderer
39223         https://bugs.webkit.org/show_bug.cgi?id=67141
39224
39225         Reviewed by Eric Seidel.
39226
39227         No new tests since this is a refactoring.
39228
39229         * dom/Element.h: Removed formControlValueMatchesRenderer and setFormControlValueMatchesRenderer.
39230         * html/HTMLInputElement.cpp: Removed notifyFormStateChanged.
39231         * html/HTMLInputElement.h:
39232         * html/HTMLTextAreaElement.cpp:
39233         (WebCore::HTMLTextAreaElement::updateValue): Calls notifyFormStateChanged; modifies m_wasModifiedByUser.
39234         (WebCore::HTMLTextAreaElement::setValueCommon): Calls notifyFormStateChanged; also renamed value to newValue
39235         to avoid the conflict with value().
39236         * html/HTMLTextAreaElement.h: Made m_wasModifiedByUser mutable.
39237         * html/HTMLTextFormControlElement.cpp:
39238         (WebCore::HTMLTextFormControlElement::notifyFormStateChanged): Extracted from notifyFormStateChanged in
39239         HTMLInputElement.cpp and HTMLTextAreaElement.cpp.
39240         * html/HTMLTextFormControlElement.h:
39241         * rendering/RenderTextControl.cpp:
39242         (WebCore::RenderTextControl::setInnerTextValue): Calls setFormControlValueMatchesRenderer.
39243
39244 2011-08-29  Sheriff Bot  <webkit.review.bot@gmail.com>
39245
39246         Unreviewed, rolling out r93987, r93992, r93995, r93998, and
39247         r93999.
39248         http://trac.webkit.org/changeset/93987
39249         http://trac.webkit.org/changeset/93992
39250         http://trac.webkit.org/changeset/93995
39251         http://trac.webkit.org/changeset/93998
39252         http://trac.webkit.org/changeset/93999
39253         https://bugs.webkit.org/show_bug.cgi?id=67147
39254
39255         Many failing tests (Requested by ap on #webkit).
39256
39257         * WebCore.exp.in:
39258         * platform/mac/CookieJar.mm:
39259         (WebCore::cookies):
39260         (WebCore::cookieRequestHeaderFieldValue):
39261         (WebCore::setCookies):
39262         (WebCore::cookiesEnabled):
39263         (WebCore::getRawCookies):
39264         (WebCore::deleteCookie):
39265         * platform/network/CookieStorage.h:
39266         * platform/network/ResourceHandle.cpp:
39267         (WebCore::privateStorageSession):
39268         (WebCore::privateBrowsingStorageSessionIdentifierBase):
39269         (WebCore::ResourceHandle::setPrivateBrowsingEnabled):
39270         (WebCore::ResourceHandle::privateBrowsingStorageSession):
39271         (WebCore::ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase):
39272         * platform/network/ResourceHandle.h:
39273         * platform/network/cf/CookieJarCFNet.cpp:
39274         (WebCore::setCookies):
39275         (WebCore::cookies):
39276         (WebCore::cookieRequestHeaderFieldValue):
39277         (WebCore::cookiesEnabled):
39278         (WebCore::getRawCookies):
39279         (WebCore::deleteCookie):
39280         (WebCore::getHostnamesWithCookies):
39281         (WebCore::deleteCookiesForHostname):
39282         (WebCore::deleteAllCookies):
39283         * platform/network/cf/CookieStorageCFNet.cpp:
39284         (WebCore::privateBrowsingCookieStorage):
39285         (WebCore::defaultSessionCookieStorage):
39286         (WebCore::defaultCookieStorage):
39287         (WebCore::currentCookieStorage):
39288         (WebCore::setCurrentCookieStorage):
39289         (WebCore::setCookieStoragePrivateBrowsingEnabled):
39290         (WebCore::startObservingCookieChanges):
39291         (WebCore::stopObservingCookieChanges):
39292         * platform/network/cf/CookieStorageCFNet.h:
39293         * platform/network/cf/ResourceHandleCFNet.cpp:
39294         (WebCore::makeFinalRequest):
39295         (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
39296         (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase):
39297         (WebCore::ResourceHandle::currentStorageSession):
39298         (WebCore::defaultCFURLStorageSession):
39299         (WebCore::ResourceHandle::setDefaultStorageSession):
39300         (WebCore::ResourceHandle::defaultStorageSession):
39301         * platform/network/mac/CookieStorageMac.mm:
39302         (WebCore::setCookieStoragePrivateBrowsingEnabled):
39303         * platform/network/mac/ResourceHandleMac.mm:
39304         (WebCore::shouldRelaxThirdPartyCookiePolicy):
39305         (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
39306
39307 2011-08-29  Nayan Kumar K  <nayankk@motorola.com>
39308
39309         As per HTML specification, default font style of dfn tag should be italic.
39310         https://bugs.webkit.org/show_bug.cgi?id=56670
39311
39312         Reviewed by Adam Barth.
39313
39314         Test: fast/css/dfn-default-font-style.html
39315
39316         * css/html.css:
39317         (i, cite, em, var, address, dfn):
39318
39319 2011-08-29  Patrick Gansterer  <paroga@webkit.org>
39320
39321         Consider Conditional attribute in CodeGeneratorJS' JSValueToNative and NativeToJSValue function
39322         https://bugs.webkit.org/show_bug.cgi?id=65040
39323
39324         Reviewed by Brent Fulgham.
39325
39326         JSValueToNative and NativeToJSValue add additional include statements
39327         to the implementation and need to handle the Conditional attribute from
39328         the IDL file. The Conditional attribute adds appropriate #if ENABLE()
39329         lines for the preprocessor around the include statements to remove
39330         some unneeded build dependencies.
39331
39332         * bindings/scripts/CodeGeneratorJS.pm:
39333
39334 2011-08-29  Nate Chapin  <japhet@chromium.org>
39335
39336         Plumb ResourceLoaderOptions out to CachedResourceLoader::requestResource().
39337         This will be needed in order for DocumentThreadableLoader to become a CachedResourceClient.
39338         https://bugs.webkit.org/show_bug.cgi?id=66018
39339
39340         Reviewed by Antti Koivisto.
39341
39342         No new tests, refactor only.
39343
39344         * loader/cache/CachedImage.cpp:
39345         (WebCore::CachedImage::load):
39346         * loader/cache/CachedResource.cpp:
39347         (WebCore::CachedResource::CachedResource):
39348         (WebCore::CachedResource::load):
39349         * loader/cache/CachedResource.h:
39350        (WebCore::CachedResource::load):
39351         (WebCore::CachedResource::setResourceLoaderOptions):
39352         (WebCore::CachedResource::sendResourceLoadCallbacks):
39353         * loader/cache/CachedResourceLoader.cpp:
39354         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
39355         (WebCore::CachedResourceLoader::requestResource):
39356         (WebCore::CachedResourceLoader::loadResource):
39357         * loader/cache/CachedResourceLoader.h:
39358         * loader/cache/CachedResourceRequest.cpp:
39359         (WebCore::CachedResourceRequest::load):
39360         * loader/cache/CachedResourceRequest.h:
39361
39362 2011-08-29  Chris Palmer  <palmer@google.com>
39363
39364         Fix failures when FFT size is changed.
39365         https://bugs.webkit.org/show_bug.cgi?id=66916
39366
39367         Reviewed by Kenneth Russell.
39368
39369         Test: webaudio/fft-sizing.html
39370
39371         * webaudio/RealtimeAnalyser.cpp:
39372         (WebCore::RealtimeAnalyser::setFftSize): Assert size sanity.
39373         (WebCore::RealtimeAnalyser::doFFTAnalysis): Iterate the correct number of times over magnitudeBuffer.
39374         * webaudio/RealtimeAnalyser.h: Put member fields in the correct order (Min before Max).
39375
39376 2011-08-29  Abhishek Arya  <inferno@chromium.org>
39377
39378         Crash in InlineBox::deleteLine due to accessing removed
39379         renderer.
39380         https://bugs.webkit.org/show_bug.cgi?id=66015
39381
39382         Reviewed by Simon Fraser.
39383
39384         Test: fast/block/line-layout/inline-box-wrapper-crash.html
39385
39386         * rendering/RenderBox.cpp:
39387         (WebCore::RenderBox::positionLineBox): Make sure that the
39388         previous inline box wrapper is destroyed properly, before
39389         setting a new one.
39390
39391 2011-08-29  Alexey Proskuryakov  <ap@apple.com>
39392
39393         Lion build fix.
39394
39395         * WebCore.exp.in: We have different definitions of CFURLStorageSessionRef on different versions
39396         of Mac OS X, and need separate exports.
39397
39398 2011-08-29  Tony Chang  <tony@chromium.org>
39399
39400         Implement -webkit-flex-pack for horizontal flexboxen
39401         https://bugs.webkit.org/show_bug.cgi?id=66898
39402
39403         Reviewed by Ojan Vafai.
39404
39405         Test: css3/flexbox/004.html
39406
39407         * rendering/RenderFlexibleBox.cpp:
39408         (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
39409         (WebCore::hasPackingSpace):
39410         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmHorizontal):
39411
39412 2011-08-29  Alexey Proskuryakov  <ap@apple.com>
39413
39414         Windows build fix.
39415
39416         * platform/network/cf/CookieJarCFNet.cpp:
39417         (WebCore::setCookies):
39418         (WebCore::cookies):
39419         (WebCore::cookieRequestHeaderFieldValue):
39420         (WebCore::cookiesEnabled):
39421         (WebCore::getRawCookies):
39422         (WebCore::deleteCookie):
39423         (WebCore::getHostnamesWithCookies):
39424         (WebCore::deleteCookiesForHostname):
39425         (WebCore::deleteAllCookies):
39426         Updated for new function name and signature: currentCFHTTPCookieStorage().
39427
39428 2011-08-29  Alexey Proskuryakov  <ap@apple.com>
39429
39430         Mac build fix.
39431
39432         * platform/network/cf/CookieStorageCFNet.cpp: Move Windows specific includes into PLATFORM(WIN).
39433
39434 2011-08-29  Andreas Kling  <kling@webkit.org>
39435
39436         Viewing a post on reddit.com wastes a lot of memory on event listeners.
39437         https://bugs.webkit.org/show_bug.cgi?id=67133
39438
39439         Reviewed by Darin Adler.
39440
39441         Specialize the HashMap used to store registered listeners on an EventTarget
39442         to have a minimum size of 32 (rather than the default 64.)
39443         It's very rare for pages to register listeners for so many different events
39444         and this cuts memory consumption in half for the common case.
39445
39446         As an example, for a typical post on the reddit.com front page,
39447         this reduces memory used by ~700kB on 64-bit.
39448
39449         * dom/EventTarget.h:
39450
39451 2011-08-29  Stephen White  <senorblanco@chromium.org>
39452
39453         Skia's accelerated canvas 2D implementation should use GrTexture, not DrawingBuffer
39454         https://bugs.webkit.org/show_bug.cgi?id=67050
39455
39456         Reviewed by Kenneth Russell.
39457
39458         Covered by existing tests.
39459
39460         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
39461         (WebCore::Canvas2DLayerChromium::create):
39462         (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
39463         (WebCore::Canvas2DLayerChromium::drawsContent):
39464         Construct Canvas2DLayerChromium with a GraphicsContext3D, not a
39465         DrawingBuffer.
39466         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
39467         Flush the GrContext and GraphicsContext3D on compositor update.
39468         * platform/graphics/chromium/Canvas2DLayerChromium.h:
39469         * platform/graphics/chromium/CanvasLayerChromium.cpp:
39470         (WebCore::CanvasLayerChromium::CanvasLayerChromium):
39471         * platform/graphics/chromium/CanvasLayerChromium.h:
39472         Put textureId() back on the base class (CanvasLayerChromium) and
39473         de-virtualize it.
39474         (WebCore::CanvasLayerChromium::textureId):
39475         (WebCore::CanvasLayerChromium::setTextureId):
39476         Move m_textureId from WebGLLayerChromium, since canvas2D now uses
39477         it too.  Provide getters and setters.
39478         * platform/graphics/chromium/DrawingBufferChromium.cpp:
39479         (WebCore::DrawingBuffer::DrawingBuffer):
39480         (WebCore::DrawingBuffer::~DrawingBuffer):
39481         Remove all Canvas2D-related calls from DrawingBuffer.
39482         (WebCore::DrawingBuffer::publishToPlatformLayer):
39483         Remove GrContext::flush call, since it's now handled by the platform layer.
39484         (WebCore::DrawingBuffer::platformLayer):
39485         Return NULL for now (WebGL may rescussitate this later).
39486         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
39487         Remove a useless #include.
39488         * platform/graphics/chromium/ImageBufferDataSkia.h:
39489         Add ownership of the Canvas2DLayerChromium.
39490         * platform/graphics/chromium/WebGLLayerChromium.cpp:
39491         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
39492         * platform/graphics/chromium/WebGLLayerChromium.h:
39493         Remove all texture ID stuff (now on base class).
39494         * platform/graphics/gpu/DrawingBuffer.h:
39495         Remove Canvas2DLayerChromium and all Ganesh datatypes from
39496         DrawingBuffer, since it's no longer used by canvas2D.
39497         * platform/graphics/skia/ImageBufferSkia.cpp:
39498         (WebCore::ImageBuffer::ImageBuffer):
39499         On accelerated ImageBuffer creation, create a GrTexture instead of a
39500         DrawingBuffer.  If all is cool, create and set the SkGpuDevice here,
39501         and create a Canvas2DLayerChromium platform layer.
39502         (WebCore::ImageBuffer::platformLayer):
39503         * platform/graphics/skia/PlatformContextSkia.cpp:
39504         (WebCore::PlatformContextSkia::setGraphicsContext3D):
39505         * platform/graphics/skia/PlatformContextSkia.h:
39506         Remove all GrContext creation and DrawingBuffer "scraping" from 
39507         PlatformContextSkia::setGraphicsContext3D().  This is handled in
39508         the ImageBuffer constructor instead.
39509
39510 2011-08-26  Alexey Proskuryakov  <ap@apple.com>
39511
39512         DumpRenderTree should begin each test with an empty cookie store
39513         https://bugs.webkit.org/show_bug.cgi?id=63545
39514         <rdar://problem/5666907>
39515
39516         Reviewed by Darin Adler.
39517
39518         Use a clean CFURLStorageSession when this functionality is available.
39519
39520         * WebCore.exp.in: Added exports
39521
39522         * platform/mac/CookieJar.mm:
39523         (WebCore::cookies):
39524         (WebCore::cookieRequestHeaderFieldValue):
39525         (WebCore::setCookies):
39526         (WebCore::cookiesEnabled):
39527         (WebCore::getRawCookies):
39528         (WebCore::deleteCookie):
39529         Updated for privateBrowsingCookieStorage->currentCFHTTPCookieStorage change.
39530
39531         * platform/network/CookieStorage.h: Moved CFNetwork specific declarations to CookieStorageCFNet.h.
39532
39533         * platform/network/ResourceHandle.cpp: Moved CFNetwork specific code to ResourceHandleCFNet.cpp.
39534         This file contains cross platform functionality, and we no longer need to put code in it to
39535         share it between Mac and Windows.
39536
39537         * platform/network/ResourceHandle.h: Expose methods to manipulate default session on Mac, too.
39538
39539         * platform/network/cf/CookieStorageCFNet.cpp:
39540         (WebCore::cookieStorageOverride): Make it clear that this override is only for a Windows API.
39541         (WebCore::overrideCookieStorage): Ditto.
39542         (WebCore::currentCFHTTPCookieStorage): We no longer store a cookie storage in a static variable,
39543         unless it has been overridden on Windows. We can always get it from a session.
39544         (WebCore::setCookieStoragePrivateBrowsingEnabled): There is nothing to do here - we'll just
39545         use private session's storage. Note that Mac has a separate code path for OS versions that
39546         don't support sessions.
39547
39548         * platform/network/cf/CookieStorageCFNet.h: Changed exposed methods for more clarity.
39549
39550         * platform/network/cf/ResourceHandleCFNet.cpp:
39551         (WebCore::makeFinalRequest): Updated for currentCookieStorage->currentCFHTTPCookieStorage change.
39552         (WebCore::ResourceHandle::createPrivateBrowsingStorageSession): Moved out of USE(CFNETWORK),
39553         as this function is also used with NSURLConnection when sessions are enabled.
39554         (WebCore::ResourceHandle::currentStorageSession): Ditto. Removed an #if since default session
39555         is now supported on Mac, too.
39556         (WebCore::defaultCFURLStorageSession): Moved out of USE(CFNETWORK).
39557         (WebCore::ResourceHandle::setDefaultStorageSession): Moved out of USE(CFNETWORK). No longer
39558         adopt the session, because nothing in method name says that it will steal a reference from
39559         the caller.
39560         (WebCore::ResourceHandle::defaultStorageSession): Moved out of USE(CFNETWORK).
39561         (WebCore::privateStorageSession): Moved from ResourceHandle.cpp.
39562         (WebCore::privateBrowsingStorageSessionIdentifierBase): Moved from ResourceHandle.cpp.
39563         (WebCore::ResourceHandle::setPrivateBrowsingEnabled): Moved from ResourceHandle.cpp.
39564         (WebCore::ResourceHandle::privateBrowsingStorageSession): Moved from ResourceHandle.cpp.
39565         (WebCore::ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase): Moved from ResourceHandle.cpp.
39566         (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase): Moved from ResourceHandle.cpp.
39567
39568         * platform/network/mac/CookieStorageMac.mm: (WebCore::setCookieStoragePrivateBrowsingEnabled):
39569         We no longer store a reference to cookie storage in a static variable, so nothing to do here.
39570         On older OS versiosn, we still need to enable legacy private browsing mode.
39571
39572         * platform/network/mac/ResourceHandleMac.mm: (WebCore::shouldRelaxThirdPartyCookiePolicy):
39573         Updated to use the new currentCFHTTPCookieStorage function.
39574
39575 2011-08-22  David Levin  <levin@chromium.org>
39576
39577         postMessage raises INVALID_STATE_ERR instead of DATA_CLONE_ERR in many cases.
39578         https://bugs.webkit.org/show_bug.cgi?id=66713
39579
39580         Reviewed by Dmitry Titov.
39581
39582         See http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#posting-messages for postMessage
39583
39584         * bindings/js/JSMessagePortCustom.cpp:
39585         (WebCore::fillMessagePortArray):
39586         * bindings/v8/custom/V8MessagePortCustom.cpp:
39587         (WebCore::getMessagePortArray):
39588         * dom/MessagePort.cpp:
39589         (WebCore::MessagePort::postMessage):
39590         (WebCore::MessagePort::disentanglePorts):
39591
39592 2011-08-29  Tom Zakrajsek  <tomz@codeaurora.org>
39593
39594         canvas arc() missing line to start of arc if swing is zero
39595         https://bugs.webkit.org/show_bug.cgi?id=55696
39596
39597         Reviewed by Andreas Kling.
39598
39599         Test: fast/canvas/canvas-arc-zero-lineto.html
39600
39601         * html/canvas/CanvasRenderingContext2D.cpp:
39602         (WebCore::CanvasRenderingContext2D::arc):
39603
39604 2011-08-23  Chris Marrin  <cmarrin@apple.com>
39605
39606         [mac] requestAnimationFrame support for mac port
39607         https://bugs.webkit.org/show_bug.cgi?id=59146
39608
39609         Reviewed by Simon Fraser.
39610
39611         Enable REQUEST_ANIMATION_FRAME logic and add ScriptedAnimationController
39612         to build. Added JavaScript support for Mac, too.
39613
39614         * CodeGenerators.pri:
39615         * Configurations/FeatureDefines.xcconfig:
39616         * DerivedSources.make:
39617         * WebCore.exp.in:
39618         * WebCore.xcodeproj/project.pbxproj:
39619         * bindings/js/JSRequestAnimationFrameCallbackCustom.cpp: Added.
39620         (WebCore::JSRequestAnimationFrameCallback::handleEvent):
39621         * bindings/scripts/CodeGeneratorJS.pm:
39622         (AddIncludesForType):
39623         * dom/RequestAnimationFrameCallback.idl:
39624
39625 2011-08-29  Alexander Pavlov  <apavlov@chromium.org>
39626
39627         Web Inspector: <button hidden>..</button> has a different computed "display" value than "none"
39628         https://bugs.webkit.org/show_bug.cgi?id=67124
39629
39630         Attribute styles have a higher priority than user agent styles and thus should be rendered above them.
39631
39632         Reviewed by Yury Semikhatsky.
39633
39634         * inspector/front-end/StylesSidebarPane.js:
39635         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
39636         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules.get continue):
39637
39638 2011-08-25  Pavel Podivilov  <podivilov@chromium.org>
39639
39640         Web Inspector: rename sourceFile to (raw|ui)SourceCode in DebuggerPresentationModel.
39641         https://bugs.webkit.org/show_bug.cgi?id=66769
39642
39643         Reviewed by Pavel Feldman.
39644
39645         * inspector/front-end/DebuggerPresentationModel.js:
39646         (WebInspector.DebuggerPresentationModel):
39647         (WebInspector.DebuggerPresentationModel.prototype.uiSourceCode):
39648         (WebInspector.DebuggerPresentationModel.prototype._scriptLocationToUILocation.didCreateSourceMapping):
39649         (WebInspector.DebuggerPresentationModel.prototype._scriptLocationToUILocation):
39650         (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation.didCreateSourceMapping):
39651         (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation):
39652         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor.didGetLocation):
39653         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
39654         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
39655         (WebInspector.DebuggerPresentationModel.prototype._addScript.didCreateSourceMapping):
39656         (WebInspector.DebuggerPresentationModel.prototype._addScript):
39657         (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeReplaced):
39658         (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
39659         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
39660         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
39661         (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
39662         (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
39663         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
39664         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
39665         (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
39666         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
39667         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
39668         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
39669         (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
39670         (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
39671         (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
39672         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
39673         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
39674         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
39675         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
39676         (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
39677         (WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
39678         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
39679         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
39680         (WebInspector.PresentationBreakpoint):
39681         (WebInspector.PresenationCallFrame.prototype.sourceLine.didGetUILocation):
39682         (WebInspector.PresenationCallFrame.prototype.sourceLine):
39683         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
39684         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
39685         (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
39686         * inspector/front-end/ScriptsPanel.js:
39687         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
39688         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
39689         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
39690         (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
39691         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
39692         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
39693         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
39694         * inspector/front-end/SourceFile.js:
39695         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
39696         (WebInspector.UILocation):
39697
39698 2011-08-29  Ilya Tikhonovsky  <loislo@chromium.org>
39699
39700         Web Inspector: cached permanent redirects don't show redirect code and text in Network panel.
39701         https://bugs.webkit.org/show_bug.cgi?id=67126
39702
39703         Reviewed by Yury Semikhatsky.
39704
39705         * inspector/InspectorResourceAgent.cpp:
39706         (WebCore::buildObjectForResourceResponse):
39707         * inspector/front-end/NetworkPanel.js:
39708         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
39709
39710 2011-08-25  Pavel Podivilov  <podivilov@chromium.org>
39711
39712         Web Inspector: extract FormattedContentProvider from RawSourceCode.
39713         https://bugs.webkit.org/show_bug.cgi?id=66938
39714
39715         Reviewed by Pavel Feldman.
39716
39717         * inspector/front-end/SourceFile.js:
39718         (WebInspector.RawSourceCode.prototype._setContentProvider):
39719         (WebInspector.RawSourceCode.prototype._loadResourceContent):
39720         (WebInspector.RawSourceCode.prototype._loadScriptContent):
39721         (WebInspector.RawSourceCode.prototype._loadAndConcatenateScriptsContent):
39722         (WebInspector.RawSourceCode.prototype._didRequestContent):
39723         (WebInspector.FormattedContentProvider):
39724         (WebInspector.FormattedContentProvider.prototype.requestContent.didRequestContent.didFormatContent):
39725         (WebInspector.FormattedContentProvider.prototype.requestContent):
39726
39727 2011-08-25  Pavel Podivilov  <podivilov@chromium.org>
39728
39729         Web Inspector: link UISourceCode to RawSourceCode.
39730         https://bugs.webkit.org/show_bug.cgi?id=66944
39731
39732         Reviewed by Pavel Feldman.
39733
39734         * inspector/front-end/UISourceCode.js:
39735         (WebInspector.UISourceCode):
39736         (WebInspector.UISourceCode.prototype.get rawSourceCode):
39737
39738 2011-08-25  Pavel Podivilov  <podivilov@chromium.org>
39739
39740         Web Inspector: remove RawSourceCode.setFormatted.
39741         https://bugs.webkit.org/show_bug.cgi?id=66947
39742
39743         Reviewed by Pavel Feldman.
39744
39745         * inspector/front-end/DebuggerPresentationModel.js:
39746         * inspector/front-end/SourceFile.js:
39747         (WebInspector.RawSourceCode):
39748
39749 2011-08-26  Pavel Podivilov  <podivilov@chromium.org>
39750
39751         Web Inspector: Debugger.setBreakpointByUrl should return error when setting breakpoint on the same location twice.
39752         https://bugs.webkit.org/show_bug.cgi?id=67030
39753
39754         Reviewed by Pavel Feldman.
39755
39756         Test: inspector/debugger/set-breakpoint.html
39757
39758         * inspector/InspectorDebuggerAgent.cpp:
39759         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
39760
39761 2011-08-29  Matthew Delaney  <mdelaney@apple.com>
39762
39763         fast/canvas/shadow-offset-*.html fail on Leopard/Snow Leopard when removing the work around for <rdar://problem/5539388>.
39764         https://bugs.webkit.org/show_bug.cgi?id=67107
39765
39766         Reviewed by David Levin.
39767
39768         No new tests. Effectively reverting the change from https://bugs.webkit.org/show_bug.cgi?id=67052 for Leopard and SL
39769         because it caused test regressions on Leopard and SL, but not Lion.
39770
39771         * platform/graphics/cg/GraphicsContextCG.cpp:
39772         (WebCore::GraphicsContext::setPlatformShadow):
39773
39774 2011-08-29  Zoltan Herczeg  <zherczeg@webkit.org>
39775
39776         [Qt] Unreviewed minimal-build buildfix after r93937.
39777
39778         * platform/qt/RenderThemeQt.cpp:
39779         (WebCore::RenderThemeQt::paintInnerSpinButton):
39780         * platform/qt/RenderThemeQt.h:
39781
39782 2011-08-28  Keishi Hattori  <keishi@webkit.org>
39783
39784         Chromium Win: Setting square-button appearance reaches NOTREACHED
39785         https://bugs.webkit.org/show_bug.cgi?id=66918
39786
39787         Reviewed by Kent Tamura.
39788
39789         Test: fast/css/square-button-appearance.html
39790
39791         * rendering/RenderThemeChromiumWin.cpp:
39792         (WebCore::supportsFocus): Add case for SquareButtonPart.
39793         (WebCore::RenderThemeChromiumWin::supportsFocusRing): Add case for SquareButtonPart.
39794         (WebCore::RenderThemeChromiumWin::getThemeData): Add case for SquareButtonPart.
39795
39796 2011-08-28  Luke Macpherson   <macpherson@chromium.org>
39797
39798         Fix reference counting of values in CSSSelector.
39799         https://bugs.webkit.org/show_bug.cgi?id=66452
39800
39801         Reviewed by Darin Adler.
39802
39803         No new tests / no functionality changed.
39804
39805         Call deref when reassigning the value.
39806
39807         * css/CSSSelector.h:
39808         (WebCore::CSSSelector::setValue):
39809
39810 2011-08-28  Sam Weinig  <sam@webkit.org>
39811
39812         Add support for constructor syntax for Events
39813         https://bugs.webkit.org/show_bug.cgi?id=63878
39814
39815         Reviewed by Oliver Hunt.
39816
39817         Add basic support for Event constructors, starting with just supporting
39818         the constructor for the base Event class and just JSC support.  This lays
39819         the infrastructure for the other events as well.
39820
39821         Test: fast/events/event-constructors.html
39822
39823         * GNUmakefile.list.am:
39824         * UseJSC.cmake:
39825         * WebCore.gypi:
39826         * WebCore.pro:
39827         * WebCore.vcproj/WebCore.vcproj:
39828         * WebCore.xcodeproj/project.pbxproj:
39829         * bindings/js/JSBindingsAllInOne.cpp:
39830         Add files.
39831
39832         * bindings/generic/EventConstructors.h: Added.
39833         Add binding agnostic header that defines the Event initializers
39834         using a macro based DSL.
39835
39836         * bindings/js/JSEventConstructors.cpp: Added.
39837         (WebCore::convertValue):
39838         (WebCore::tryGetProperty):
39839         (WebCore::constructJSEventWithInitializer):
39840         Add JSC implementation of Event initializer DSL.
39841
39842         * dom/Event.cpp:
39843         (WebCore::EventInit::EventInit):
39844         (WebCore::Event::Event):
39845         * dom/Event.h:
39846         (WebCore::Event::create):
39847         Add Event initializer interface for base Event.
39848
39849         * dom/Event.idl:
39850         Mark Event as having a custom constructor function.
39851
39852 2011-08-27  Andreas Kling  <kling@webkit.org>
39853
39854         SQLiteStatement::getColumnText() could construct WTF::String result more efficiently.
39855         https://bugs.webkit.org/show_bug.cgi?id=67090
39856
39857         Reviewed by Darin Adler.
39858
39859         * platform/sql/SQLiteStatement.cpp:
39860         (WebCore::SQLiteStatement::getColumnText): Use sqlite3_column_bytes16()
39861         to get the length of the column text without looking for the null terminator.
39862
39863 2011-08-07  Robert Hogan  <robert@webkit.org>
39864
39865         The child div element with position:absolute will overlap with its parent div when a 'break' element is present in between
39866         https://bugs.webkit.org/show_bug.cgi?id=21934
39867
39868         Reviewed by David Hyatt.
39869
39870         Test: fast/block/positioning/absolute-appended-to-inline.html
39871
39872         Appending a positioned child node to an inline flow should dirty the lines in the flow, just as
39873         inserting a positioned child node does. Treating an appended and inserted node differently meant that updating the display type
39874         from 'none' to 'block' for the following markup would result in the div getting positioned correctly under
39875         the line block:
39876
39877             <div><a onMouseOver="mopen()">Hover</a><div style="display:none; position:absolute; background:#4682b4; height:10px; width:20px"><br></div></div>
39878
39879         but this would not happen with the following markup (the <br> is before the child div rather than after it):
39880
39881             <div><a onMouseOver="mopen()">Hover</a><br><div style="display:none; position:absolute; background:#4682b4; height:10px; width:20px"></div></div>
39882
39883         This problem is specific to cases where an object is appended to a line block whose last child is a <br>. When the line is relaid out after appending
39884         the positioned object the last line in the line block is always considered dirty unless it broke cleanly (ie. with a <br>, see RenderBlock::determineStartPosition),
39885         So in the second case above, the clean break and failing to dirty any lines in the block when appending the object means that the line block doesn't get relaid out
39886         to position the new positioned object relative to its containing line block.
39887
39888         So the change could special-case appending a node when the previous sibling isBR(), but it seems just as well to behave the same way as insertChildNode().
39889
39890         * rendering/RenderObjectChildList.cpp:
39891         (WebCore::RenderObjectChildList::appendChildNode):
39892             Call dirtyLinesFromChangedChild() if the child is positioned, just like insertChildNode().
39893
39894 2011-08-27  Anders Carlsson  <andersca@apple.com>
39895
39896         iChat: Receiving a message containing only a single-quote (') causes bubble to fail
39897         https://bugs.webkit.org/show_bug.cgi?id=67076
39898         <rdar://problem/10026089>
39899
39900         Reviewed by Dan Bernstein.
39901
39902         Test: fast/borders/border-fit-2.html
39903
39904         * rendering/RenderBlock.cpp:
39905         (WebCore::RenderBlock::borderFitAdjust):
39906         Make sure that the resulting rect isn't smaller than the border + padding.
39907
39908         (WebCore::RenderBlock::clearTruncation):
39909         Fix blatant coding style violations.
39910
39911 2011-08-27  Andreas Kling  <kling@webkit.org>
39912
39913         Shrink RenderLayer.
39914         https://bugs.webkit.org/show_bug.cgi?id=67089
39915
39916         Reviewed by Antonio Gomes.
39917
39918         * rendering/RenderLayer.cpp:
39919         (WebCore::RenderLayer::RenderLayer):
39920         * rendering/RenderLayer.h: Make m_inResizeMode a bitfield,
39921         shrinking RenderLayer by 8 bytes (on 64-bit.)
39922
39923 2011-08-27  Young Han Lee  <joybro@company100.net>
39924
39925         Reviewed by Dirk Schulze.
39926
39927         SVG animation fill="freeze" doesn't set baseVal to current animVal if animation stops before reaching the end
39928         https://bugs.webkit.org/show_bug.cgi?id=63553
39929
39930         calculateAnimationPercentAndRepeat() is returning 1, which means 100%, whenever
39931         elapsed >= m_intervalEnd, but this is wrong because m_intervalEnd can be in the middle
39932         of the animation duration. (e.g. begin="0s" end="2s" dur="3s")
39933
39934         This change makes the function return the animations's true progress instead of 100%
39935         when the animation ends.
39936
39937         Test: svg/animations/animate-end-attribute.html
39938
39939         * svg/animation/SVGSMILElement.cpp:
39940         (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
39941
39942 2011-08-27  Jarred Nicholls  <jarred@sencha.com>
39943
39944         [Qt] Need spin-button implementation
39945         https://bugs.webkit.org/show_bug.cgi?id=65896
39946
39947         Reviewed by Kenneth Rohde Christiansen.
39948
39949         * platform/qt/RenderThemeQt.cpp:
39950         (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
39951         (WebCore::RenderThemeQt::paintInnerSpinButton):
39952         * platform/qt/RenderThemeQt.h:
39953
39954 2011-08-26  Xiaomei Ji  <xji@chromium.org>
39955
39956         Regression(91788): Bad cast in WebCore::blockWithNextLineBox
39957         https://bugs.webkit.org/show_bug.cgi?id=66090
39958
39959         Reviewed by Ryosuke Niwa.
39960
39961         This is more like (but not exactly) a revert of r91788.
39962         It does not search for previous or next root inline box in different
39963         render object, which completely eliminates the cause of this issue.
39964         And it removes createPositionAvoidingIgnoredNode(), changed its caller
39965         to use createLegacyEditingPosition(). createPositionAvoidingIgnoredNode
39966         is not correct when node is a replaced element whose caretMaxOffset
39967         could be greater than 1.
39968
39969         Tests: editing/selection/move-by-word-visually-crash-test-1.html
39970                editing/selection/move-by-word-visually-crash-test-2.html
39971                editing/selection/move-by-word-visually-crash-test-3.html
39972                editing/selection/move-by-word-visually-crash-test-4.html
39973
39974         * editing/htmlediting.cpp:
39975         * editing/htmlediting.h:
39976         * editing/visible_units.cpp:
39977         (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality):
39978         (WebCore::leftmostPositionInRTLBoxInLTRBlock):
39979         (WebCore::rightmostPositionInLTRBoxInRTLBlock):
39980         (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
39981         (WebCore::appendPositionAtLogicalEndOfLine):
39982         (WebCore::leftInlineBox):
39983         (WebCore::rightInlineBox):
39984
39985 2011-08-26  James Robinson  <jamesr@chromium.org>
39986
39987         [Chromium] Possible leak of LayerRendererChromium
39988         https://bugs.webkit.org/show_bug.cgi?id=66981
39989
39990         Reviewed by Kenneth Russell.
39991
39992         Fix a number of reference cycle leaks that prevent LayerRendererChromiums from being destroyed when a tab is
39993         closed.
39994
39995         Not possible to write a layout test where an entire WebView goes away.
39996
39997         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
39998         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
39999         * platform/graphics/chromium/LayerRendererChromium.cpp:
40000         (WebCore::LayerRendererChromium::clearRenderSurfacesOnCCLayerImplRecursive):
40001         (WebCore::LayerRendererChromium::clearRootCCLayerImpl):
40002         (WebCore::LayerRendererChromium::cleanupSharedObjects):
40003         * platform/graphics/chromium/LayerRendererChromium.h:
40004         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
40005         (WebCore::CCLayerTreeHost::setRootLayer):
40006
40007 2011-08-26  Nate Chapin  <japhet@chromium.org>
40008
40009         Move allowCredentials from ThreadableLoaderOptions down
40010         to ResourceLoaderOptions. This allows us to remove
40011         getShouldUseCredentialStorage() from SubresourceLoaderClient
40012         and check allowCredentials in ResourceLoader.
40013         https://bugs.webkit.org/show_bug.cgi?id=65330
40014
40015         Reviewed by Alexey Proskuryakov.
40016
40017         No new tests, refractor only.
40018
40019         * loader/DocumentThreadableLoader.cpp:
40020         * loader/DocumentThreadableLoader.h:
40021         * loader/MainResourceLoader.cpp:
40022         * loader/NetscapePlugInStreamLoader.cpp:
40023         * loader/ResourceLoadScheduler.h:
40024         * loader/ResourceLoader.cpp:
40025         (WebCore::ResourceLoader::shouldUseCredentialStorage): Check
40026             m_options.allowCredentials instead of calling a client.
40027         * loader/ResourceLoaderOptions.h:
40028         * loader/SubresourceLoader.cpp:
40029         * loader/SubresourceLoader.h:
40030         * loader/SubresourceLoaderClient.h:
40031         * loader/ThreadableLoader.h:
40032         * loader/cache/CachedResourceRequest.cpp:
40033
40034 2011-08-26  Ojan Vafai  <ojan@chromium.org>
40035
40036         change the default preferred width of the flex() function to 0px per the new spec
40037         https://bugs.webkit.org/show_bug.cgi?id=67067
40038
40039         Reviewed by Tony Chang.
40040
40041         * css/CSSParser.cpp:
40042         (WebCore::CSSParser::parseFlex):
40043
40044 2011-08-26  Matthew Delaney  <mdelaney@apple.com>
40045
40046         Remove offset hack from GraphicsContextCG setShadow code
40047         https://bugs.webkit.org/show_bug.cgi?id=67052
40048
40049         Reviewed by Simon Fraser.
40050
40051         No new tests - current tests cover it.
40052
40053         * platform/graphics/cg/GraphicsContextCG.cpp:
40054         Removing the offset hack introduced in http://trac.webkit.org/changeset/28714
40055         for an issue with offsets in an old version of CoreGraphics that's long since been fixed.
40056
40057 2011-08-26  Alexey Proskuryakov  <ap@apple.com>
40058
40059         Get rid of frame life support timer
40060         https://bugs.webkit.org/show_bug.cgi?id=66874
40061
40062         Reviewed by Geoff Garen. V8 fixes courtesy of Dmitry Titov.
40063
40064         Test: fast/frames/detached-frame-property.html
40065
40066         * bindings/js/JSDOMWindowBase.cpp:
40067         * bindings/js/JSDOMWindowBase.h:
40068         * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld):
40069         * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::evaluate):
40070         * bindings/v8/V8Proxy.cpp:
40071         (WebCore::V8Proxy::runScript):
40072         (WebCore::V8Proxy::callFunction):
40073         (WebCore::V8Proxy::newInstance):
40074         * page/Frame.cpp:
40075         (WebCore::Frame::Frame):
40076         (WebCore::Frame::~Frame):
40077         (WebCore::Frame::pageDestroyed):
40078         * page/Frame.h:
40079         * page/Page.cpp: (WebCore::Page::~Page):
40080         Removed all code that dealt with the life support timer. Protect Frame inside runScript()
40081         and callFunction() for v8 bindings.
40082
40083         * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent):
40084         Replaced ref/deref calls on self with a RefPtr.
40085
40086 2011-08-26  Ned Holbrook  <nholbrook@apple.com>
40087
40088         RenderText::computePreferredLogicalWidths() should measure words with trailing spaces
40089         https://bugs.webkit.org/show_bug.cgi?id=66733
40090
40091         Reviewed by Dan Bernstein.
40092
40093         Test: fast/text/complex-preferred-logical-widths.html
40094
40095         * rendering/RenderText.cpp:
40096         (WebCore::RenderText::computePreferredLogicalWidths): Apply logic from RenderBlock::LineBreaker::nextLineBreak().
40097
40098 2011-08-26  Tony Chang  <tony@chromium.org>
40099
40100         Add CSS parsing for -webkit-flex-align
40101         https://bugs.webkit.org/show_bug.cgi?id=66726
40102
40103         Reviewed by Ojan Vafai.
40104
40105         * css/CSSComputedStyleDeclaration.cpp:
40106         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
40107         * css/CSSParser.cpp:
40108         (WebCore::CSSParser::parseValue):
40109         * css/CSSPrimitiveValueMappings.h:
40110         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
40111         (WebCore::CSSPrimitiveValue::operator EFlexAlign):
40112         * css/CSSPropertyNames.in:
40113         * css/CSSStyleApplyProperty.cpp:
40114         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
40115         * css/CSSStyleSelector.cpp:
40116         (WebCore::CSSStyleSelector::applyProperty):
40117         * css/CSSValueKeywords.in:
40118         * rendering/style/RenderStyle.h:
40119         (WebCore::InheritedFlags::flexAlign):
40120         (WebCore::InheritedFlags::setFlexAlign):
40121         (WebCore::InheritedFlags::initialFlexAlign):
40122         * rendering/style/RenderStyleConstants.h:
40123         * rendering/style/StyleFlexibleBoxData.cpp:
40124         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
40125         (WebCore::StyleFlexibleBoxData::operator==):
40126         * rendering/style/StyleFlexibleBoxData.h:
40127
40128 2011-08-26  Nate Chapin  <japhet@chromium.org>
40129
40130         Fix http/tests/misc/willCacheResponse-delegate-callback.html
40131         after r93886. We're implicitly converting an enum to a bool.
40132
40133         Rubber-stamped by David Levin.
40134
40135         * loader/mac/ResourceLoaderMac.mm:
40136         (WebCore::ResourceLoader::willCacheResponse):
40137
40138 2011-08-26  Chris Rogers  <crogers@google.com>
40139
40140         Add MediaPlayer::audioSourceProvider() method for audio stream access by the Web Audio API.
40141         https://bugs.webkit.org/show_bug.cgi?id=66398
40142
40143         Reviewed by Eric Carlson.
40144
40145         * html/HTMLMediaElement.cpp:
40146         (WebCore::HTMLMediaElement::HTMLMediaElement):
40147         (WebCore::HTMLMediaElement::prepareForLoad):
40148         (WebCore::HTMLMediaElement::loadNextSourceChild):
40149         (WebCore::HTMLMediaElement::ensureMediaPlayer):
40150         (WebCore::HTMLMediaElement::createMediaPlayer):
40151             MediaPlayer creation has now been put into createMediaPlayer() instead of it being created
40152             separately in these various methods.  It has been made thread-safe for use with the Web Audio API
40153             in conjunction with an MediaElementAudioSourceNode.
40154         (WebCore::HTMLMediaElement::setAudioSourceNode):
40155         (WebCore::HTMLMediaElement::audioSourceProvider):
40156         * html/HTMLMediaElement.h:
40157         (WebCore::HTMLMediaElement::audioSourceNode):
40158             The HTMLMediaElement now keeps track of an optional MediaElementAudioSourceNode if
40159             the audio stream is being processed using the Web Audio API.
40160         
40161         * platform/graphics/MediaPlayer.cpp:
40162         (WebCore::MediaPlayer::audioSourceProvider):
40163         * platform/graphics/MediaPlayer.h:
40164         * platform/graphics/MediaPlayerPrivate.h:
40165         (WebCore::MediaPlayerPrivateInterface::audioSourceProvider):
40166             MediaPlayer now has an audioSourceProvider() method with a default "empty" implementation.
40167             audioSourceProvider() returns an AudioSourceProvider object which the Web Audio API's
40168             MediaElementAudioSourceNode uses (indirectly through an HTMLMediaElement method) to get the rendered audio stream.
40169
40170         * webaudio/AudioContext.cpp:
40171         (WebCore::AudioContext::createMediaElementSource):
40172         * webaudio/AudioContext.h:
40173         * webaudio/AudioContext.idl:
40174             AudioContext::createMediaElementSource() is now more careful to check that an HTMLMediaElement
40175             doesn't already have a MediaElementAudioSourceNode attached to it.
40176             
40177         * webaudio/MediaElementAudioSourceNode.cpp:
40178         (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
40179         (WebCore::MediaElementAudioSourceNode::~MediaElementAudioSourceNode):
40180         (WebCore::MediaElementAudioSourceNode::process):
40181         (WebCore::MediaElementAudioSourceNode::lock):
40182         (WebCore::MediaElementAudioSourceNode::unlock):
40183         * webaudio/MediaElementAudioSourceNode.h:
40184             Implement thread-safe processing (replacing the old stub implementation).
40185
40186 2011-08-23  Stephen White  <senorblanco@chromium.org>
40187
40188         Assertion fires if canvas is resized while save() active
40189         https://bugs.webkit.org/show_bug.cgi?id=66710
40190
40191         Reviewed by Simon Fraser.
40192
40193         Test: fast/canvas/resize-while-save-active.html
40194
40195         * html/HTMLCanvasElement.cpp:
40196         (WebCore::HTMLCanvasElement::reset):
40197         Call CanvasRenderingContext2D::reset() before resizing the canvas,
40198         so that the GraphicsContext state stack can be unwound.
40199         * html/canvas/CanvasRenderingContext2D.cpp:
40200         (WebCore::CanvasRenderingContext2D::unwindStateStack):
40201         (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
40202         Refactor the state stack unwinding code from the destructor to 
40203         unwindStateStack() (new).
40204         (WebCore::CanvasRenderingContext2D::reset):
40205         Unwind the GraphicsContext state stack when the context is reset.
40206         * html/canvas/CanvasRenderingContext2D.h:
40207
40208 2011-08-26  Darin Adler  <darin@apple.com>
40209
40210         [Mac] Use the progress cursor instead of the wristwatch for CSS "wait" cursor
40211         https://bugs.webkit.org/show_bug.cgi?id=67049
40212
40213         Reviewed by Beth Dakin.
40214
40215         * platform/mac/CursorMac.mm:
40216         (WebCore::Cursor::ensurePlatformCursor): Use BusyButClickable cursor for wait
40217         as well as for Progress.
40218
40219 2011-08-26  Nate Chapin  <japhet@chromium.org>
40220
40221         Fix gtk build after r93886.
40222
40223         * platform/track/CueParser.cpp:
40224         (WebCore::CueParser::load):
40225
40226 2011-08-26  Raphael Kubo da Costa  <kubo@profusion.mobi>
40227
40228         [EFL] Update searchableIndexIntroduction() to match GTK+'s.
40229         https://bugs.webkit.org/show_bug.cgi?id=66885
40230
40231         Reviewed by Gustavo Noronha Silva.
40232
40233         Using this new string allows us to share the test expectations with
40234         other ports, and thus makes
40235         fast/replaced/table-percent-height-text-controls.html pass.
40236
40237         No new tests, as this is covered by an existing one.
40238
40239         * platform/efl/LocalizedStringsEfl.cpp:
40240         (WebCore::searchableIndexIntroduction):
40241
40242 2011-08-26  Raphael Kubo da Costa  <kubo@profusion.mobi>
40243
40244         [EFL] Do not log an error if a fallback cursor cannot be found.
40245         https://bugs.webkit.org/show_bug.cgi?id=67037
40246
40247         Reviewed by Gustavo Noronha Silva.
40248
40249         Ecore_X does not necessarily have to be used (DumpRenderTree does not
40250         use it, for example), so showing an error message here is bogus.
40251
40252         No new tests, as it just removes erroneous error messages from
40253         when running DRT with existing tests.
40254
40255         * platform/efl/WidgetEfl.cpp:
40256         (WebCore::Widget::applyFallbackCursor):
40257
40258 2011-08-26  Nate Chapin  <japhet@chromium.org>
40259
40260         Change a bunch of nondescript bools to
40261         descriptive enums in ResourceLoaderOptions and
40262         ThreadableLoaderOptions.
40263         https://bugs.webkit.org/show_bug.cgi?id=66984
40264
40265         Reviewed by David Levin.
40266
40267         No new tests, no functionality change intended.
40268
40269         * WebCore.exp.in:
40270         * fileapi/FileReaderLoader.cpp:
40271         * html/MediaDocument.cpp:
40272         * html/PluginDocument.cpp:
40273         * loader/CrossOriginAccessControl.cpp:
40274         * loader/CrossOriginAccessControl.h:
40275         * loader/CrossOriginPreflightResultCache.cpp:
40276         * loader/CrossOriginPreflightResultCache.h:
40277         * loader/DocumentThreadableLoader.cpp:
40278         * loader/FrameLoader.h:
40279         * loader/ImageLoader.cpp:
40280         * loader/MainResourceLoader.cpp:
40281         * loader/NetscapePlugInStreamLoader.cpp:
40282         * loader/ResourceLoadScheduler.h:
40283         * loader/ResourceLoader.cpp:
40284         * loader/ResourceLoader.h:
40285         * loader/ResourceLoaderOptions.h:
40286         * loader/ThreadableLoader.h:
40287         * loader/cache/CachedResource.cpp:
40288         * loader/cache/CachedResourceRequest.cpp:
40289         * loader/cf/ResourceLoaderCFNet.cpp:
40290         * loader/mac/ResourceLoaderMac.mm:
40291         * page/EventSource.cpp:
40292         * platform/network/ResourceHandle.h:
40293         * workers/WorkerScriptLoader.cpp:
40294         * xml/XMLHttpRequest.cpp:
40295
40296 2011-08-26  Andreas Kling  <kling@webkit.org>
40297
40298         HTMLMetaElement: Don't cache "http-equiv" and "content" attributes.
40299         https://bugs.webkit.org/show_bug.cgi?id=67040
40300
40301         Reviewed by Darin Adler.
40302
40303         * html/HTMLMetaElement.h: Remove m_equiv and m_content members,
40304         shrinking HTMLMetaElement by 16 bytes (on 64-bit.)
40305         * html/HTMLMetaElement.cpp:
40306         (WebCore::HTMLMetaElement::parseMappedAttribute):
40307         (WebCore::HTMLMetaElement::process): Implemented using fastGetAttribute().
40308
40309 2011-08-26  Pavel Feldman  <pfeldman@google.com>
40310
40311         Web Inspector: [REGRESSION] No way to expand hovered objects while debugging.
40312         https://bugs.webkit.org/show_bug.cgi?id=67039
40313
40314         Reviewed by Yury Semikhatsky.
40315
40316         * inspector/front-end/Popover.js:
40317         (WebInspector.Popover):
40318         (WebInspector.Popover.prototype.show):
40319         (WebInspector.PopoverHelper.prototype._mouseDown):
40320         (WebInspector.PopoverHelper.prototype._hidePopover):
40321         (WebInspector.PopoverHelper.prototype._mouseHover):
40322         (WebInspector.PopoverHelper.prototype._killHidePopoverTimer):
40323
40324 2011-08-26  Pavel Podivilov  <podivilov@chromium.org>
40325
40326         Unreviewed, rolling out r93870.
40327         http://trac.webkit.org/changeset/93870
40328         https://bugs.webkit.org/show_bug.cgi?id=65203
40329
40330         Broke i18n chromium tests
40331
40332         * platform/graphics/chromium/FontChromiumWin.cpp:
40333         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
40334         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
40335         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
40336         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
40337         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
40338         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
40339         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
40340         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
40341         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
40342         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
40343         (WebCore::drawGlyphsWin):
40344         (WebCore::Font::drawComplexText):
40345         * platform/graphics/chromium/UniscribeHelper.cpp:
40346         (WebCore::UniscribeHelper::draw):
40347         * platform/graphics/skia/PlatformContextSkia.cpp:
40348         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
40349         * platform/graphics/skia/PlatformContextSkia.h:
40350         * platform/graphics/skia/SkiaFontWin.cpp:
40351         (WebCore::windowsCanHandleDrawTextShadow):
40352         (WebCore::windowsCanHandleTextDrawing):
40353         (WebCore::windowsCanHandleTextDrawingWithoutShadow):
40354         * platform/graphics/skia/SkiaFontWin.h:
40355
40356 2011-08-26  Alexei Svitkine  <asvitkine@chromium.org>
40357
40358         Chromium Mac: Use a custom pattern image for rubber banding overhang area
40359         https://bugs.webkit.org/show_bug.cgi?id=66707
40360
40361         Also roll Chromium revision to 98101, to include dependency: http://codereview.chromium.org/7714036/
40362
40363         Reviewed by Dimitri Glazkov.
40364
40365         No new tests since its just changing the Chromium-specific overhang pattern.
40366
40367         * platform/chromium/ScrollbarThemeChromiumMac.mm:
40368         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
40369         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
40370
40371 2011-08-26  Eric Carlson  <eric.carlson@apple.com>
40372
40373         <video> playlist can not advance when playing in background tab
40374         https://bugs.webkit.org/show_bug.cgi?id=66978
40375
40376         Reviewed by Darin Adler.
40377
40378         No new tests added because it isn't possible to simulate a background tab in DRT.
40379
40380         * html/HTMLMediaElement.cpp:
40381         (WebCore::HTMLMediaElement::HTMLMediaElement): Set RequirePageConsentToLoadMedia restriction.
40382         (WebCore::HTMLMediaElement::loadInternal): Don't consider page->canStartMedia if it has ever
40383             allowed a file to load.
40384         * html/HTMLMediaElement.h:
40385         (WebCore::HTMLMediaElement::requirePageConsentToLoadMedia): New.
40386         (WebCore::HTMLMediaElement::removeBehaviorRestriction): New.
40387
40388 2011-08-26  Andreas Kling  <kling@webkit.org>
40389
40390         [Qt] Path::boundingRect() is unnecessarily slow.
40391         https://bugs.webkit.org/show_bug.cgi?id=66854
40392
40393         Reviewed by Benjamin Poulain.
40394
40395         * html/canvas/CanvasRenderingContext2D.cpp:
40396         (WebCore::CanvasRenderingContext2D::stroke): Remove Qt-specific optimization
40397         since calling Path::boundingRect() will now do exactly the same thing.
40398         * platform/graphics/qt/PathQt.cpp:
40399         (WebCore::Path::boundingRect): Return QPainterPath::controlPointRect() since
40400         that is much faster than computing the (precise) QPainterPath::boundingRect()
40401         and Path::boundingRect() is not expected to be 100% precise anyway.
40402
40403 2011-08-26  Gavin Peters  <gavinp@chromium.org>
40404
40405         add a state enumeration to track down cause of null CachedScript execution
40406         https://bugs.webkit.org/show_bug.cgi?id=66939
40407
40408         Reviewed by Alexey Proskuryakov.
40409
40410         Over in http://code.google.com/p/chromium/issues/detail?id=75604 I
40411         have a bug I cannot reproduce.  I added an earlier crash in
40412         https://bugs.webkit.org/show_bug.cgi?id=65563 , and we've since
40413         gotten many good stacks, all coming in through a failed request that
40414         eventually calls notifyFinished() on a ScriptElement with a NULL
40415         m_cachedScript.
40416
40417         I'd like to know how this got NULL.  This enumeration should let
40418         me find that in stack dumps from reproductions.
40419
40420         No new tests, as my goal here is to get telemetry on a bug that I cannot reproduce.
40421
40422         * dom/ScriptElement.cpp:
40423         (WebCore::ScriptElement::ScriptElement):
40424         (WebCore::ScriptElement::requestScript):
40425         (WebCore::ScriptElement::stopLoadRequest):
40426         (WebCore::ScriptElement::notifyFinished):
40427         * dom/ScriptElement.h:
40428
40429 2011-08-26  Mike Reed  <reed@google.com>
40430
40431         [skia] never draw with GDI, so that all text can be gpu-accelerated
40432         https://bugs.webkit.org/show_bug.cgi?id=65203
40433
40434         Reviewed by Kenneth Russell.
40435
40436         * platform/graphics/chromium/FontChromiumWin.cpp:
40437         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
40438         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
40439         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
40440         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
40441         (WebCore::drawGlyphsWin):
40442         (WebCore::Font::drawComplexText):
40443         * platform/graphics/chromium/UniscribeHelper.cpp:
40444         (WebCore::UniscribeHelper::draw):
40445         * platform/graphics/skia/PlatformContextSkia.cpp:
40446         * platform/graphics/skia/PlatformContextSkia.h:
40447         * platform/graphics/skia/SkiaFontWin.cpp:
40448         * platform/graphics/skia/SkiaFontWin.h:
40449
40450 2011-08-26  Ilya Tikhonovsky  <loislo@chromium.org>
40451
40452         Web Inspector: in some cases Popover code is failing to calculate popover box position.
40453         https://bugs.webkit.org/show_bug.cgi?id=67029
40454
40455         Reviewed by Yury Semikhatsky.
40456
40457         * inspector/front-end/Popover.js:
40458         (WebInspector.Popover.prototype._positionElement):
40459
40460 2011-08-26  Nikolas Zimmermann  <nzimmermann@rim.com>
40461
40462         [Qt] http/tests/misc/object-embedding-svg-delayed-size-negotiation-2.htm fails intermittently
40463         https://bugs.webkit.org/show_bug.cgi?id=65969
40464
40465         Reviewed by Zoltan Herczeg.
40466
40467         Fix intrinsic size negotiation flakiness, most visible on the Qt port.
40468
40469         The http/tests/misc/object-embedding-svg-delayed-size-negotiation-2.htm testcase triggered
40470         an assertion on a Qt debug build indicating that the HashSet updateLayoutAndStyleIfNeededRecursive()
40471         operates on is mutated while its iterated, leading to an assertion/crash. Due the new forceLayoutParentViewIfNeeded()
40472         logic it's no longer safe to directly use the children() HashSet in that method - we have to make a copy first.
40473
40474         The second part of the fix is to stop entering forceLayoutParentViewIfNeeded(), if the origin of that call
40475         is forceLayoutParentViewIfNeeded() itself. Set m_inLayoutParentView to true before calling FrameView::layout()
40476         on our parent frame view - this is only an optimization to avoid doing layout() twice.
40477
40478         The third part of the fix is to call updateWidgetPositions() on the parent FrameView, _before_ calling layout()
40479         on the parent view itself, as the SVG document needs to report the correct intrinsic size (which can depend
40480         on the host object/embed/iframe) when we're running RenderReplaced::layout() on the host renderer.
40481
40482         * page/FrameView.cpp:
40483         (WebCore::FrameView::FrameView):
40484         (WebCore::collectFrameViewChildren):
40485         (WebCore::FrameView::forceLayoutParentViewIfNeeded):
40486         (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
40487         * page/FrameView.h:
40488
40489 2011-08-26  Mikhail Naganov  <mnaganov@chromium.org>
40490
40491         Web Inspector: [Chromium] Double clicking on numbers in Count & size columns doesn't toggle between values and percents in the Heap Snapshot.
40492         https://bugs.webkit.org/show_bug.cgi?id=66988
40493
40494         Reviewed by Pavel Feldman.
40495
40496         * inspector/front-end/DetailedHeapshotView.js:
40497         (WebInspector.DetailedHeapshotView.prototype._mouseClickInContentsGrid):
40498         (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
40499
40500 2011-08-26  Shinya Kawanaka  <shinyak@google.com>
40501
40502         REGRESSION(r93390): Empty or invalid maxlength of an input tag should be ignored.
40503         https://bugs.webkit.org/show_bug.cgi?id=67015
40504
40505         Reviewed by Kent Tamura.
40506
40507         * html/HTMLInputElement.cpp:
40508         (WebCore::HTMLInputElement::parseMaxLengthAttribute):
40509           Checks the validity of maxlength attribute when converting it to integer.
40510
40511 2011-08-25  Yuta Kitamura  <yutak@chromium.org>
40512
40513         WebSocket: Fix indentation of WebSocket header files
40514         https://bugs.webkit.org/show_bug.cgi?id=67018
40515
40516         Reviewed by Kent Tamura.
40517
40518         No new tests. Style fix only.
40519
40520         * websockets/WebSocket.h:
40521         (WebCore::WebSocket::create):
40522         (WebCore::WebSocket::toWebSocket):
40523         (WebCore::WebSocket::refEventTarget):
40524         (WebCore::WebSocket::derefEventTarget):
40525         * websockets/WebSocketChannel.h:
40526         Removed formal parameter name of resumeTimerFired().
40527         (WebCore::WebSocketChannel::create):
40528         (WebCore::WebSocketChannel::refThreadableWebSocketChannel):
40529         (WebCore::WebSocketChannel::derefThreadableWebSocketChannel):
40530         (WebCore::WebSocketChannel::isNonControlOpCode):
40531         (WebCore::WebSocketChannel::isControlOpCode):
40532         (WebCore::WebSocketChannel::isReservedOpCode):
40533         * websockets/WebSocketHandshake.h:
40534         Removed formal parameter name of setClientProtocol().
40535
40536 2011-08-25  Martin Robinson  <mrobinson@igalia.com>
40537
40538         Touch GtkVersioning.c so that the release bot rebuilds it. This
40539         is necessary because of the switch to GTK+ 3.x.
40540
40541         * platform/gtk/GtkVersioning.c: Touch this file.
40542
40543 2011-08-25  Ben Wells  <benwells@chromium.org>
40544
40545         Use PATH_BASED_BORDER_RADIUS_DRAWING for skia
40546         https://bugs.webkit.org/show_bug.cgi?id=65583
40547
40548         This change brings in the new border rendering for Skia. To support this without aliasing the skia
40549         graphics context has been updated to support anti-aliased clipping around convex polygons and also
40550         anti-aliased clipping outside a path.
40551
40552         Reviewed by James Robinson.
40553
40554         * platform/graphics/skia/GraphicsContextSkia.cpp:
40555         (WebCore::GraphicsContext::clipOut):
40556         (WebCore::GraphicsContext::clipConvexPolygon):
40557         * platform/graphics/skia/PlatformContextSkia.cpp:
40558         (WebCore::PlatformContextSkia::clipPathAntiAliased):
40559         * rendering/RenderObject.h:
40560
40561 2011-08-25  Luke Macpherson   <macpherson@chromium.org>
40562
40563         Implement animation and transition properties in CSSStyleApplyProperty.
40564         https://bugs.webkit.org/show_bug.cgi?id=66126
40565
40566         Reviewed by Dean Jackson.
40567
40568         No new tests. This is essentially a refactoring of the HANDLE_ANIMATION* and HANDLE_TRANSITION* macros in CSSStyleSelector.cpp.
40569         The only functional change is to iterate correctly over the lists instead of setting only the first element. See bug 66118 for details on that.
40570
40571         * css/CSSStyleApplyProperty.cpp:
40572         Added new class ApplyPropertyAnimation to handle animation and transition properties.
40573         (WebCore::ApplyPropertyAnimation::ApplyPropertyAnimation):
40574         (WebCore::ApplyPropertyAnimation::applyInheritValue):
40575         (WebCore::ApplyPropertyAnimation::applyInitialValue):
40576         (WebCore::ApplyPropertyAnimation::applyValue):
40577         (WebCore::ApplyPropertyAnimation::setValue):
40578         (WebCore::ApplyPropertyAnimation::value):
40579         (WebCore::ApplyPropertyAnimation::test):
40580         (WebCore::ApplyPropertyAnimation::clear):
40581         (WebCore::ApplyPropertyAnimation::initial):
40582         (WebCore::ApplyPropertyAnimation::map):
40583         (WebCore::ApplyPropertyAnimation::accessAnimations):
40584         (WebCore::ApplyPropertyAnimation::animations):
40585         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
40586         * css/CSSStyleSelector.cpp:
40587         Removed animation and transition macros (celebrate!)
40588         (WebCore::CSSStyleSelector::applyProperty):
40589         Removed old implementations of animation and transition properties.
40590         * platform/animation/Animation.h:
40591         Changed return types of initial values to match the setters and getters.
40592         (WebCore::Animation::initialAnimationDelay):
40593         (WebCore::Animation::initialAnimationName):
40594         (WebCore::Animation::initialAnimationTimingFunction):
40595
40596 2011-08-25  Julien Chaffraix  <jchaffraix@webkit.org>
40597
40598         Concentrate RenderLayer repaint rects updates
40599         https://bugs.webkit.org/show_bug.cgi?id=64993
40600
40601         Reviewed by David Hyatt.
40602
40603         The change moves the update of the repaint rects to 2 methods
40604         (computeRepaintRects and clearRepaintRects) to better track
40605         those changes.
40606
40607         No new test, refactoring covered by the existing test cases.
40608
40609         * rendering/RenderLayer.cpp:
40610         (WebCore::RenderLayer::updateLayerPositions): Reverse the logic and
40611         calculate the new bounds upfront. This should have no impact as none
40612         of the methods rely on the internal value.
40613
40614         (WebCore::RenderLayer::computeRepaintRects): Added the cachedOffset parameter
40615         to avoid breaking the performance optimization in updateLayerPositions. Added
40616         some ASSERTS.
40617
40618         (WebCore::RenderLayer::clearRepaintRects): Added some ASSERTs here.
40619         (WebCore::RenderLayer::updateRepaintRectsAfterScroll): Added a FIXME as this
40620         method could use the cachedOffset trick too.
40621
40622         (WebCore::RenderLayer::setHasVisibleContent): Changed the code to use
40623         computeRepaintRects.
40624
40625         * rendering/RenderLayer.h: Updated the signature of computeRepaintRects and moved
40626         those 2 methods into the private section of the class.
40627
40628 2011-08-25  Van Lam  <vanlam@google.com>
40629
40630         Remove use of magic number -1 in WebCore/editing/visible_units.cpp
40631         https://bugs.webkit.org/show_bug.cgi?id=66980
40632
40633         Reviewed by Ryosuke Niwa.
40634
40635         Replaced use of magic number -1 with constant offsetNotFound.
40636
40637         * editing/visible_units.cpp:
40638         (WebCore::greatestOffsetUnder):
40639         (WebCore::smallestOffsetAbove):
40640
40641 2011-08-25  Igor Oliveira  <igor.oliveira@openbossa.org>
40642
40643         Rollout r93799: Caused bad clipping on the bottom of tall glyphs inside a button label
40644
40645         * rendering/RenderBlockLineLayout.cpp:
40646         (WebCore::RenderBlock::layoutInlineChildren):
40647         * rendering/RenderBox.cpp:
40648         * rendering/RenderBox.h:
40649         (WebCore::RenderBox::hasControlClip):
40650         (WebCore::RenderBox::controlClipRect):
40651         * rendering/RenderButton.cpp:
40652         (WebCore::RenderButton::setupInnerStyle):
40653
40654 2011-08-25  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
40655
40656         [Qt] Enable password echo on Symbian builds
40657         https://bugs.webkit.org/show_bug.cgi?id=66954
40658
40659         Reviewed by Chang Shu.
40660
40661         No tests, as this is just a build change.
40662
40663         * config.h:
40664
40665 2011-08-25  Nate Chapin  <japhet@chromium.org>
40666
40667         Windows build fix after r93811.
40668
40669         * loader/cf/ResourceLoaderCFNet.cpp:
40670         (WebCore::ResourceLoader::shouldCacheResponse):
40671
40672 2011-08-25  Nate Chapin  <japhet@chromium.org>
40673
40674         Split some of the variables out of ThreadableLoaderOptions
40675         into a superclass, ResourceLoaderOptions. Use ResourceLoaderOptions
40676         all the way down to ResourceLoader.
40677         https://bugs.webkit.org/show_bug.cgi?id=63301
40678
40679         Reviewed by David Levin.
40680
40681         No new tests, refractor only.
40682
40683         * GNUmakefile.list.am:
40684         * WebCore.gypi:
40685         * WebCore.vcproj/WebCore.vcproj:
40686         * WebCore.xcodeproj/project.pbxproj:
40687         * loader/DocumentThreadableLoader.cpp:
40688         * loader/MainResourceLoader.cpp:
40689         * loader/NetscapePlugInStreamLoader.cpp:
40690         * loader/ResourceLoadScheduler.cpp:
40691         * loader/ResourceLoadScheduler.h:
40692         * loader/ResourceLoader.cpp:
40693         * loader/ResourceLoader.h:
40694         * loader/ResourceLoaderOptions.h: Added.
40695         * loader/SubresourceLoader.cpp:
40696         * loader/SubresourceLoader.h:
40697         * loader/ThreadableLoader.h:
40698         * loader/cache/CachedResourceRequest.cpp:
40699         * loader/mac/ResourceLoaderMac.mm:
40700
40701 2011-08-25  Adam Klein  <adamk@chromium.org>
40702
40703         use strict in CodeGeneratorJS and CodeGeneratorV8
40704         https://bugs.webkit.org/show_bug.cgi?id=66915
40705
40706         Reviewed by Darin Adler.
40707
40708         Making these files "use strict" makes changing them less
40709         time-consuming and error-prone, and helps avoid accidentally
40710         adding dead code (added a FIXME for one such case).
40711
40712         No expected change in behavior.
40713
40714         * bindings/scripts/CodeGeneratorJS.pm:
40715         (AddIncludesForType):
40716         (GenerateParametersCheckExpression):
40717         (GenerateFunctionParametersCheck):
40718         (GenerateImplementation):
40719         (GenerateImplementationFunctionCall):
40720         (NativeToJSValue):
40721         (GenerateHashValue):
40722         * bindings/scripts/CodeGeneratorV8.pm:
40723         (AddIncludesForType):
40724         (GenerateHeaderNamedAndIndexedPropertyAccessors):
40725         (GenerateNormalAttrSetter):
40726         (GetFunctionTemplateCallbackName):
40727         (GenerateNewFunctionTemplate):
40728         (GenerateParametersCheckExpression):
40729         (GenerateFunctionParametersCheck):
40730         (GenerateImplementation):
40731         ():
40732
40733 2011-08-25  Dean Jackson  <dino@apple.com>
40734
40735         https://bugs.webkit.org/show_bug.cgi?id=21586
40736         Apply CSS animations and transitions to SVG properties
40737
40738         Reviewed by Simon Fraser.
40739
40740         Expose the applicable SVG properties from SVGRenderStyle to
40741         RenderStyle and add them to the list of animatable
40742         properties. There aren't many SVG properties that are
40743         animatable directly. SVGPaint (used in "fill" and "stroke")
40744         is supported only when both ends of the animation are
40745         a Color. Also updated SVGLength to have some methods
40746         for converting to and from user space units.
40747
40748         Test: transitions/svg-transitions.html
40749
40750         * page/animation/AnimationBase.cpp:
40751         (WebCore::blendFunc):
40752             Calls the blend method on SVGLength
40753         (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
40754             New property wrapper type for SVGPaint
40755         (WebCore::PropertyWrapperSVGPaint::equals):
40756         (WebCore::PropertyWrapperSVGPaint::blend):
40757         (WebCore::AnimationBase::ensurePropertyMap):
40758         * rendering/style/RenderStyle.h:
40759         (WebCore::InheritedFlags::fillPaintType):
40760         (WebCore::InheritedFlags::fillPaintColor):
40761         (WebCore::InheritedFlags::setFillPaintColor):
40762         (WebCore::InheritedFlags::strokePaintType):
40763         (WebCore::InheritedFlags::strokePaintColor):
40764         (WebCore::InheritedFlags::setStrokePaintColor):
40765         (WebCore::InheritedFlags::strokeWidth):
40766         (WebCore::InheritedFlags::setStrokeWidth):
40767         (WebCore::InheritedFlags::strokeDashOffset):
40768         (WebCore::InheritedFlags::setStrokeDashOffset):
40769         (WebCore::InheritedFlags::strokeMiterLimit):
40770         (WebCore::InheritedFlags::setStrokeMiterLimit):
40771         (WebCore::InheritedFlags::stopOpacity):
40772         (WebCore::InheritedFlags::setStopOpacity):
40773         (WebCore::InheritedFlags::setStopColor):
40774         (WebCore::InheritedFlags::setFloodColor):
40775         (WebCore::InheritedFlags::setLightingColor):
40776         (WebCore::InheritedFlags::baselineShiftValue):
40777         (WebCore::InheritedFlags::setBaselineShiftValue):
40778         (WebCore::InheritedFlags::kerning):
40779         (WebCore::InheritedFlags::setKerning):
40780         (WebCore::InheritedFlags::stopColor):
40781         (WebCore::InheritedFlags::floodColor):
40782         (WebCore::InheritedFlags::lightingColor):
40783         * rendering/style/SVGRenderStyle.h:
40784         (WebCore::SVGRenderStyle::stopColor):
40785         (WebCore::SVGRenderStyle::floodColor):
40786         (WebCore::SVGRenderStyle::lightingColor):
40787         * svg/SVGLength.cpp:
40788         (WebCore::SVGLength::value):
40789         (WebCore::SVGLength::setValue):
40790         (WebCore::SVGLength::convertValueFromUserUnits):
40791         (WebCore::SVGLength::convertValueToUserUnits):
40792             New conversion functions used when setting and getting values
40793         * svg/SVGLength.h:
40794         (WebCore::SVGLength::isZero):
40795         (WebCore::SVGLength::blend):
40796             Custom blend function that takes into account
40797             whether the units of a length can be converted
40798             in an animation, where you don't necessarily have
40799             an SVGElement for context.
40800
40801 2011-08-25  Kent Tamura  <tkent@chromium.org>
40802
40803         REGRESSION(r90971): Fix an assertion failure with textarea placeholder.
40804         https://bugs.webkit.org/show_bug.cgi?id=66164
40805
40806         Reviewed by Dave Hyatt.
40807          
40808         Minor patch nits addressed by inferno@chromium.org, on Hyatt's
40809         review.
40810
40811         Test: fast/forms/textarea-placeholder-relayout-assertion.html
40812
40813         * rendering/RenderTextControl.cpp:
40814         (WebCore::RenderTextControl::layoutSpecialExcludedChild):
40815         Pass 'false' to the 'markParents' argument of setChildNeedsLayout().
40816         We don't need to propagate needsLayout for ancestors because
40817         layoutSpecialExcludedChild() is called from layout() of the
40818         parent.
40819
40820 2011-08-25  Igor Oliveira  <igor.oliveira@openbossa.org>
40821
40822         Text-overflow is broken for button elements
40823         https://bugs.webkit.org/show_bug.cgi?id=53438
40824
40825         Fix text-overflow for button elements. Make the element inside
40826         the button inherit the button controlClip.
40827
40828         Reviewed by David Hyatt.
40829
40830         Test: fast/css/button-overflow-ellipsis.html
40831
40832         * rendering/RenderBlockLineLayout.cpp:
40833         (WebCore::RenderBlock::layoutInlineChildren):
40834         * rendering/RenderBox.cpp:
40835         (WebCore::RenderBox::controlClipRect):
40836         * rendering/RenderBox.h:
40837         (WebCore::RenderBox::hasControlClip):
40838         * rendering/RenderButton.cpp:
40839         (WebCore::RenderButton::setupInnerStyle):
40840
40841 2011-08-24  Adrienne Walker  <enne@google.com>
40842
40843         [chromium] Update VideoLayerChromium to not access GC3D on the main thread
40844         https://bugs.webkit.org/show_bug.cgi?id=66434
40845
40846         Reviewed by James Robinson.
40847
40848         Covered by existing tests.
40849
40850         This change allows the main thread VideoLayerChromium to not depend on
40851         compositor thread resources (GC3D, LayerRendererChromium). The texture
40852         allocation in VideoLayerChromium was changed to use ManagedTexture so
40853         that textures can now be evicted when there is texture memory pressure
40854         and so that destruction can be automatically deferred until a GC3D is
40855         available.
40856
40857         * platform/graphics/chromium/LayerRendererChromium.cpp:
40858         * platform/graphics/chromium/LayerRendererChromium.h:
40859         * platform/graphics/chromium/ManagedTexture.cpp:
40860         * platform/graphics/chromium/ManagedTexture.h:
40861         (WebCore::ManagedTexture::size):
40862         (WebCore::ManagedTexture::format):
40863         * platform/graphics/chromium/VideoLayerChromium.cpp:
40864         (WebCore::VideoLayerChromium::VideoLayerChromium):
40865         (WebCore::VideoLayerChromium::~VideoLayerChromium):
40866         (WebCore::VideoLayerChromium::cleanupResources):
40867         (WebCore::VideoLayerChromium::updateCompositorResources):
40868         (WebCore::VideoLayerChromium::pushPropertiesTo):
40869         (WebCore::VideoLayerChromium::setLayerTreeHost):
40870         (WebCore::VideoLayerChromium::determineTextureFormat):
40871         (WebCore::VideoLayerChromium::reserveTextures):
40872         (WebCore::VideoLayerChromium::updateTexture):
40873         (WebCore::VideoLayerChromium::releaseCurrentFrame):
40874         * platform/graphics/chromium/VideoLayerChromium.h:
40875         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
40876         (WebCore::CCLayerTreeHost::contentsTextureManager):
40877         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
40878         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
40879         (WebCore::CCVideoLayerImpl::setTexture):
40880         (WebCore::CCVideoLayerImpl::drawYUV):
40881         (WebCore::CCVideoLayerImpl::drawRGBA):
40882         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
40883
40884 2011-08-25  Abhishek Arya  <inferno@chromium.org>
40885
40886         Incorrect layout of :before and :after content, with display
40887         table, table-row and table-cell.
40888         https://bugs.webkit.org/show_bug.cgi?id=66699
40889
40890         Reviewed by David Hyatt.
40891
40892         Tests: fast/table/table-after-child-in-table.html
40893                fast/table/table-before-child-in-table.html
40894                fast/table/table-cell-after-child-in-block.html
40895                fast/table/table-cell-after-child-in-table.html
40896                fast/table/table-cell-before-child-in-block.html
40897                fast/table/table-cell-before-child-in-table.html
40898                fast/table/table-row-after-child-in-block.html
40899                fast/table/table-row-after-child-in-table.html
40900                fast/table/table-row-before-child-in-block.html
40901                fast/table/table-row-before-child-in-table.html
40902
40903         * rendering/RenderBlock.cpp:
40904         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
40905         Fix the looping condition to detect :after child correctly.
40906         isAnonymousBlock() does not apply to tables, instead
40907         using isAnonymous().
40908         * rendering/RenderTableRow.cpp:
40909         (WebCore::RenderTableRow::addChild): Don't add the new child
40910         in the generatedContainer with :before, :after content.
40911         * rendering/RenderTableSection.cpp:
40912         (WebCore::RenderTableSection::addChild): Don't add the new child
40913         in the generatedContainer with :before, :after content.
40914
40915 2011-08-25  Sam Weinig  <sam@webkit.org>
40916
40917         JSHTMLImageElement (and associated Node) is abandoned when image load is canceled via beforeload
40918         <rdar://problem/9925630>
40919         https://bugs.webkit.org/show_bug.cgi?id=66906
40920
40921         Reviewed by Darin Adler.
40922
40923         * loader/ImageLoader.cpp:
40924         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
40925         Very similar fix to the one in r93717 except this patches the case where the image load was
40926         canceled via beforeload.
40927
40928 2011-08-25  John Bates  <jbates@google.com>
40929
40930         [chromium] Leaking SkBitmaps for background images
40931         https://bugs.webkit.org/show_bug.cgi?id=66488
40932
40933         Reviewed by Stephen White.
40934
40935         This patch simply changes NativeImageSkia to have a SkBitmap instead of
40936         deriving from SkBitmap. All dependent code updated to access the member
40937         instead of calling SkBitmap methods on NativeImageSkia objects. This
40938         may or may not fix the memory leak, but it's definitely a bug that could
40939         cause memory leaks.
40940
40941         * platform/chromium/DragImageChromiumSkia.cpp:
40942         (WebCore::createDragImageFromImage):
40943         * platform/graphics/chromium/PlatformImage.cpp:
40944         (WebCore::PlatformImage::updateFromImage):
40945         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
40946         (WebCore::BitmapImageSingleFrameSkia::currentFrameHasAlpha):
40947         (WebCore::BitmapImageSingleFrameSkia::size):
40948         (WebCore::BitmapImageSingleFrameSkia::notSolidColor):
40949         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
40950         (WebCore::GraphicsContext3D::getImageData):
40951         * platform/graphics/skia/ImageSkia.cpp:
40952         (WebCore::paintSkBitmap):
40953         (WebCore::Image::drawPattern):
40954         (WebCore::BitmapImage::checkForSolidColor):
40955         * platform/graphics/skia/NativeImageSkia.cpp:
40956         (WebCore::NativeImageSkia::NativeImageSkia):
40957         (WebCore::NativeImageSkia::decodedSize):
40958         (WebCore::NativeImageSkia::resizedBitmap):
40959         * platform/graphics/skia/NativeImageSkia.h:
40960         (WebCore::NativeImageSkia::bitmap):
40961         * platform/graphics/skia/PatternSkia.cpp:
40962         (WebCore::Pattern::platformPattern):
40963         * platform/image-decoders/ImageDecoder.h:
40964         (WebCore::ImageFrame::getAddr):
40965         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
40966         (WebCore::ImageFrame::operator=):
40967         (WebCore::ImageFrame::clearPixelData):
40968         (WebCore::ImageFrame::zeroFillPixelData):
40969         (WebCore::ImageFrame::copyBitmapData):
40970         (WebCore::ImageFrame::setSize):
40971         (WebCore::ImageFrame::hasAlpha):
40972         (WebCore::ImageFrame::setHasAlpha):
40973         (WebCore::ImageFrame::width):
40974         (WebCore::ImageFrame::height):
40975
40976 2011-08-25  Sheriff Bot  <webkit.review.bot@gmail.com>
40977
40978         Unreviewed, rolling out r93774.
40979         http://trac.webkit.org/changeset/93774
40980         https://bugs.webkit.org/show_bug.cgi?id=66945
40981
40982         It broke 26 tests on the Qt bot (Requested by ossy on
40983         #webkit).
40984
40985         * html/canvas/CanvasRenderingContext2D.cpp:
40986         (WebCore::CanvasRenderingContext2D::stroke):
40987         * platform/graphics/qt/PathQt.cpp:
40988         (WebCore::Path::boundingRect):
40989
40990 2011-08-25  Andrey Kosyakov  <caseq@chromium.org>
40991
40992         Web Inspector: [refactoring] use PopoverHelper to implement popup in the SourceFrame
40993         https://bugs.webkit.org/show_bug.cgi?id=66858
40994
40995         Reviewed by Pavel Feldman.
40996
40997         * inspector/front-end/DetailedHeapshotView.js:
40998         (WebInspector.DetailedHeapshotView.prototype._showStringContentPopover):
40999         * inspector/front-end/NetworkPanel.js:
41000         (WebInspector.NetworkLogView.prototype.initializeView):
41001         (WebInspector.NetworkLogView.prototype.willHide):
41002         (WebInspector.NetworkLogView.prototype._reset):
41003         (WebInspector.NetworkLogView.prototype.switchToBriefView):
41004         (WebInspector.NetworkLogView.prototype._showPopover):
41005         * inspector/front-end/Popover.js:
41006         (WebInspector.Popover):
41007         (WebInspector.Popover.prototype.show):
41008         (WebInspector.Popover.prototype.dispose):
41009         (WebInspector.PopoverHelper):
41010         (WebInspector.PopoverHelper.prototype._mouseMove.doHide):
41011         (WebInspector.PopoverHelper.prototype._mouseMove):
41012         (WebInspector.PopoverHelper.prototype.hidePopover):
41013         (WebInspector.PopoverHelper.prototype._hidePopover):
41014         (WebInspector.PopoverHelper.prototype._mouseHover):
41015         (WebInspector.PopoverHelper.prototype._killHidePopupTimer):
41016         * inspector/front-end/SourceFrame.js:
41017         (WebInspector.SourceFrame.prototype.willHide):
41018         (WebInspector.SourceFrame.prototype._initializeTextViewer):
41019         (WebInspector.SourceFrame.prototype._scroll):
41020         (WebInspector.SourceFrame.prototype._mouseDown):
41021         (WebInspector.SourceFrame.prototype._onHidePopover):
41022         (WebInspector.SourceFrame.prototype._shouldShowPopover):
41023         (WebInspector.SourceFrame.prototype._getPopoverAnchor):
41024         (WebInspector.SourceFrame.prototype._highlightExpression):
41025         (WebInspector.SourceFrame.prototype._onShowPopover.showObjectPopover):
41026         (WebInspector.SourceFrame.prototype._onShowPopover):
41027         * inspector/front-end/TimelinePanel.js:
41028         (WebInspector.TimelinePanel):
41029         (WebInspector.TimelinePanel.prototype._showPopover):
41030         (WebInspector.TimelinePanel.prototype._closeRecordDetails):
41031
41032 2011-08-25  Pavel Feldman  <pfeldman@google.com>
41033
41034         [Qt] REGRESSION(93769): inspector/console/console-tests.html fails
41035         https://bugs.webkit.org/show_bug.cgi?id=66930
41036
41037         Reviewed by Yury Semikhatsky.
41038
41039         Test: inspector/console/console-repeat-count.html
41040
41041         * inspector/front-end/ConsoleModel.js:
41042         (WebInspector.ConsoleModel):
41043         (WebInspector.ConsoleModel.prototype.addMessage):
41044         (WebInspector.ConsoleModel.prototype.clearMessages):
41045         (WebInspector.ConsoleModel.prototype.interruptRepeatCount):
41046         (WebInspector.ConsoleModel.prototype._messageRepeatCountUpdated):
41047         (WebInspector.ConsoleDispatcher.prototype.messageRepeatCountUpdated):
41048         * inspector/front-end/ConsoleView.js:
41049         (WebInspector.ConsoleView.prototype._consoleMessageAdded):
41050         * inspector/front-end/inspector.js:
41051
41052 2011-08-25  Mikhail Naganov  <mnaganov@chromium.org>
41053
41054         Chromium: expose MemoryCache::prune and FontCache::purgeInactiveFontData.
41055         https://bugs.webkit.org/show_bug.cgi?id=66132
41056
41057         Reviewed by Tony Gentilcore.
41058
41059         * loader/cache/MemoryCache.cpp:
41060         (WebCore::MemoryCache::prune):
41061         (WebCore::MemoryCache::pruneToPercentage):
41062         * loader/cache/MemoryCache.h: Methods moved from .h to .cpp to work around compilation problem with the Win Chromium port.
41063
41064 2011-08-25  Sheriff Bot  <webkit.review.bot@gmail.com>
41065
41066         Unreviewed, rolling out r93771.
41067         http://trac.webkit.org/changeset/93771
41068         https://bugs.webkit.org/show_bug.cgi?id=66933
41069
41070         Broke css3/font-feature-settings-rendering.html on chromium
41071         mac 10.5 (Requested by podivilov on #webkit).
41072
41073         * platform/graphics/mac/FontCustomPlatformData.cpp:
41074         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
41075         (WebCore::createFontCustomPlatformData):
41076         * platform/graphics/mac/FontCustomPlatformData.h:
41077         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
41078
41079 2011-08-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
41080
41081         [Qt][WK2] Drive tiling from the WebProcess and reuse TiledBackingStore.
41082         https://bugs.webkit.org/show_bug.cgi?id=66771
41083
41084         Reviewed by Tor Arne Vestbø.
41085
41086         We need the tiling logic to be moved to the web process to allow invalidated tile rects to be
41087         rendered with the same layout. This also allows the web process to render tiles into
41088         buffers readable directly by the GPU (on supported platforms). We also take the opportunity
41089         to use the TiledBackingStore in WebCore to have only one tiling implementation.
41090
41091         Before this patch:
41092         - TiledDrawingAreaProxy manages tiles from the UI process.
41093         - TiledDrawingArea received rendering requests for a rect and returns the result
41094           to the proxy through shared memory.
41095
41096         After this patch:
41097         - TiledDrawingArea uses a TiledBackingStore to manage tiles from the web process.
41098         - TiledBackingStoreRemoteTile forwards tile creations, update and removals to the proxy.
41099         - TiledDrawingAreaProxy updates the scene graph directly from requests.
41100
41101         It also implements tile buffer swapping correctly in SGTileNode, triggered by the DidRenderFrame message.
41102         Render throttling is implemented by waiting in TiledDrawingArea for the UI process to
41103         notify us when the last rendered frame is ready to make it to the screen.
41104         TiledDrawingAreaTileSets have been replaced by using two instances of TiledBackingStore instead.
41105
41106         * platform/graphics/TiledBackingStore.cpp:
41107         (WebCore::TiledBackingStore::updateTileBuffers):
41108         (WebCore::TiledBackingStore::coverageRatio):
41109         (WebCore::TiledBackingStore::startTileBufferUpdateTimer):
41110         * platform/graphics/TiledBackingStore.h:
41111         * platform/graphics/TiledBackingStoreClient.h:
41112         (WebCore::TiledBackingStoreClient::tiledBackingStoreIsUpdatingAllowed):
41113
41114 2011-08-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
41115
41116         TiledBackingStore: Untie the tile implementation from the platform.
41117         https://bugs.webkit.org/show_bug.cgi?id=66760
41118
41119         Reviewed by Kenneth Rohde Christiansen.
41120
41121         Make the Tile class polymorphic and introduce TiledBackingStoreBackend as a Tile factory.
41122
41123         * platform/graphics/Tile.h:
41124         (WebCore::Tile::~Tile):
41125         * platform/graphics/TiledBackingStore.cpp:
41126         (WebCore::TiledBackingStore::TiledBackingStore):
41127         (WebCore::TiledBackingStore::paint):
41128         (WebCore::TiledBackingStore::createTiles):
41129         * platform/graphics/TiledBackingStore.h:
41130         (WebCore::TiledBackingStore::client):
41131         * platform/graphics/TiledBackingStoreBackend.h: Added.
41132         (WebCore::TiledBackingStoreBackend::create):
41133         (WebCore::TiledBackingStoreBackend::~TiledBackingStoreBackend):
41134         (WebCore::TiledBackingStoreBackend::TiledBackingStoreBackend):
41135         * platform/graphics/qt/TileQt.cpp:
41136         (WebCore::TileQt::TileQt):
41137         (WebCore::TileQt::~TileQt):
41138         (WebCore::TileQt::isDirty):
41139         (WebCore::TileQt::isReadyToPaint):
41140         (WebCore::TileQt::invalidate):
41141         (WebCore::TileQt::updateBackBuffer):
41142         (WebCore::TileQt::swapBackBufferToFront):
41143         (WebCore::TileQt::paint):
41144         (WebCore::TiledBackingStoreBackend::paintCheckerPattern):
41145         (WebCore::TiledBackingStoreBackend::createTile):
41146         * platform/graphics/qt/TileQt.h: Copied from Source/WebCore/platform/graphics/Tile.h.
41147         (WebCore::TileQt::create):
41148         (WebCore::TileQt::coordinate):
41149         (WebCore::TileQt::rect):
41150
41151 2011-08-25  Andreas Kling  <kling@webkit.org>
41152
41153         [Qt] Path::boundingRect() is unnecessarily slow.
41154         https://bugs.webkit.org/show_bug.cgi?id=66854
41155
41156         Reviewed by Benjamin Poulain.
41157
41158         * html/canvas/CanvasRenderingContext2D.cpp:
41159         (WebCore::CanvasRenderingContext2D::stroke): Remove Qt-specific optimization
41160         since calling Path::boundingRect() will now do exactly the same thing.
41161         * platform/graphics/qt/PathQt.cpp:
41162         (WebCore::Path::boundingRect): Return QPainterPath::controlPointRect() since
41163         that is much faster than computing the (precise) QPainterPath::boundingRect()
41164         and Path::boundingRect() is not expected to be 100% precise anyway.
41165
41166 2011-08-25  Yuta Kitamura  <yutak@chromium.org>
41167
41168         WebSocket: Queue messages to be sent
41169         https://bugs.webkit.org/show_bug.cgi?id=66298
41170
41171         Reviewed by Kent Tamura.
41172
41173         Blobs must be read asynchronously and thus cannot be sent immediately. Therefore, we need to
41174         create a queue of messages to be sent in order to handle pending requests.
41175
41176         No new tests. Strictly speaking, there is a small change in behavior but it is hard to
41177         reproduce in tests. See description of WebSocketChannel::send below.
41178
41179         * websockets/WebSocketChannel.cpp:
41180         (WebCore::WebSocketChannel::WebSocketChannel):
41181         (WebCore::WebSocketChannel::send):
41182         Now, this function always returns true if hybi-10 protocol is selected. The impact of this change
41183         should be minimum, because the current WebSocket API defines the return type of WebSocket.send()
41184         is void (see also bug 65850).
41185         It's hard to make SocketStreamHandle::send() fail deliberately, therefore it's difficult to write
41186         a test to detect this behavior change.
41187         (WebCore::WebSocketChannel::didCloseSocketStream):
41188         (WebCore::WebSocketChannel::startClosingHandshake):
41189         (WebCore::WebSocketChannel::processFrame):
41190         (WebCore::WebSocketChannel::enqueueTextFrame):
41191         (WebCore::WebSocketChannel::enqueueRawFrame):
41192         (WebCore::WebSocketChannel::processOutgoingFrameQueue):
41193         (WebCore::WebSocketChannel::abortOutgoingFrameQueue):
41194         * websockets/WebSocketChannel.h:
41195
41196 2011-08-24  Alexander Pavlov  <apavlov@chromium.org>
41197
41198         Web Inspector: Directional arrow on element info box looks terrible
41199         https://bugs.webkit.org/show_bug.cgi?id=66819
41200
41201         Beautify the tooltip arrow, give it a better alignment in some edge cases,
41202         and fix the tooltip font on Macs.
41203
41204         Reviewed by Pavel Feldman.
41205
41206         * inspector/DOMNodeHighlighter.cpp:
41207
41208 2011-08-25  Jeremy Moskovich  <jeremy@chromium.org>
41209
41210         Remove ATSFont*() functions in favor of CGFont in FontCustomPlatformData.cpp
41211         https://bugs.webkit.org/show_bug.cgi?id=66629
41212
41213         As of r72774 and dropping support for OS X 10.4, we can safely
41214         remove the ATS APIs from FontCustomPlatformData.cpp in favor of just the
41215         CGFont code.
41216
41217         This change is motivated by a bug in ATSFontDeactivite() on 10.7 which
41218         affects the Chromium port, due to its compiling once against the 10.5
41219         SDK for all platforms - See crbug.com/93191 or rdar://9976774 .
41220
41221         Reviewed by Dan Bernstein.
41222
41223         No new tests - covered by existing tests.
41224
41225         * platform/graphics/mac/FontCustomPlatformData.cpp:
41226         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
41227         (WebCore::createFontCustomPlatformData):
41228         * platform/graphics/mac/FontCustomPlatformData.h:
41229         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
41230
41231 2011-08-25  Pavel Feldman  <pfeldman@google.com>
41232
41233         Not reviewed: rollout r93768 for breaking build.
41234
41235         * inspector/DOMNodeHighlighter.cpp:
41236
41237 2011-08-24  Pavel Feldman  <pfeldman@google.com>
41238
41239         Web Inspector: split ConsoleView into the View and the Model.
41240         https://bugs.webkit.org/show_bug.cgi?id=66861
41241
41242         Reviewed by Yury Semikhatsky.
41243
41244         * WebCore.gypi:
41245         * WebCore.vcproj/WebCore.vcproj:
41246         * inspector/compile-front-end.sh:
41247         * inspector/front-end/BreakpointManager.js:
41248         * inspector/front-end/ConsoleMessage.js:
41249         (WebInspector.ConsoleMessage.prototype._format):
41250         * inspector/front-end/ConsoleModel.js: Added.
41251         (WebInspector.ConsoleModel):
41252         (WebInspector.ConsoleModel.prototype._setConsoleMessageExpiredCount):
41253         (WebInspector.ConsoleModel.prototype.addMessage):
41254         (WebInspector.ConsoleModel.prototype._incrementErrorWarningCount):
41255         (WebInspector.ConsoleModel.prototype.requestClearMessages):
41256         (WebInspector.ConsoleModel.prototype.clearMessages):
41257         (WebInspector.ConsoleDispatcher):
41258         (WebInspector.ConsoleDispatcher.prototype.messageAdded):
41259         (WebInspector.ConsoleDispatcher.prototype.messageRepeatCountUpdated):
41260         * inspector/front-end/ConsolePanel.js:
41261         (WebInspector.ConsolePanel):
41262         (WebInspector.ConsolePanel.prototype.performSearch):
41263         * inspector/front-end/ConsoleView.js:
41264         (WebInspector.ConsoleView):
41265         (WebInspector.ConsoleView.prototype._consoleMessageAdded):
41266         (WebInspector.ConsoleView.prototype._appendConsoleCommand):
41267         (WebInspector.ConsoleView.prototype._appendConsoleCommandResult):
41268         (WebInspector.ConsoleView.prototype._appendConsoleMessage):
41269         (WebInspector.ConsoleView.prototype._consoleCleared):
41270         (WebInspector.ConsoleView.prototype._registerShortcuts):
41271         (WebInspector.ConsoleView.prototype._requestClearMessages):
41272         * inspector/front-end/DebuggerModel.js:
41273         * inspector/front-end/DebuggerPresentationModel.js:
41274         (WebInspector.DebuggerPresentationModel):
41275         (WebInspector.DebuggerPresentationModel.prototype.addSourceMappingListener):
41276         (WebInspector.DebuggerPresentationModel.prototype.removeSourceMappingListener):
41277         * inspector/front-end/NetworkLog.js: Copied from Source/WebCore/inspector/front-end/externs.js.
41278         (WebInspector.NetworkLog):
41279         (WebInspector.NetworkLog.prototype.get resources):
41280         (WebInspector.NetworkLog.prototype._frameNavigated):
41281         (WebInspector.NetworkLog.prototype._onResourceStarted):
41282         * inspector/front-end/NetworkManager.js:
41283         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
41284         (WebInspector.NetworkDispatcher.prototype._mimeTypeIsConsistentWithType):
41285         * inspector/front-end/Resource.js:
41286         (WebInspector.Resource.prototype.set finished):
41287         * inspector/front-end/ResourceTreeModel.js:
41288         (WebInspector.ResourceTreeModel):
41289         * inspector/front-end/SourceFile.js:
41290         (WebInspector.RawSourceCode.prototype._scriptForRawLocation):
41291         (WebInspector.ScriptContentProvider.prototype.requestContent):
41292         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
41293         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
41294         * inspector/front-end/UISourceCode.js:
41295         (WebInspector.ContentProvider):
41296         (WebInspector.ContentProvider.prototype.requestContent):
41297         * inspector/front-end/WatchExpressionsSidebarPane.js:
41298         (WebInspector.WatchExpressionsSection.prototype.update):
41299         * inspector/front-end/WebKit.qrc:
41300         * inspector/front-end/externs.js:
41301         (WebInspector.linkifyURLAsNode):
41302         (WebInspector.formatLinkText):
41303         * inspector/front-end/inspector.html:
41304         * inspector/front-end/inspector.js:
41305         (WebInspector._createGlobalStatusBarItems):
41306         (WebInspector._updateErrorAndWarningCounts):
41307         (WebInspector.showConsole):
41308
41309 2011-08-24  Alexander Pavlov  <apavlov@chromium.org>
41310
41311         Web Inspector: Directional arrow on element info box looks terrible
41312         https://bugs.webkit.org/show_bug.cgi?id=66819
41313
41314         Beautify the tooltip arrow, give it a better alignment in some edge cases,
41315         and fix the tooltip font on Macs.
41316
41317         Reviewed by Pavel Feldman.
41318
41319         * inspector/DOMNodeHighlighter.cpp:
41320
41321 2011-08-25  Yuta Kitamura  <yutak@chromium.org>
41322
41323         Let MessageEvent.data hold SerializedScriptValue or String selectively
41324         https://bugs.webkit.org/show_bug.cgi?id=66841
41325
41326         Reviewed by Adam Barth.
41327
41328         MessageEvent from WebSocket contains a String in its "data" attribute, but it does not have
41329         to be serialized.
41330
41331         No new tests are added, because this is refactoring and the behavior should not change.
41332
41333         * bindings/js/JSMessageEventCustom.cpp:
41334         (WebCore::JSMessageEvent::data):
41335         To call putAnonymousValue(), "this" needs to be converted to non-const using const_cast<>.
41336         (WebCore::JSMessageEvent::initMessageEvent):
41337         Update the cache value as well.
41338         * bindings/v8/custom/V8MessageEventCustom.cpp:
41339         (WebCore::V8MessageEvent::dataAccessorGetter):
41340         ForceSet() is used to cache a value. This is the same as what the code generated by
41341         CodeGeneratorV8 does.
41342         (WebCore::V8MessageEvent::initMessageEventCallback):
41343         * dom/MessageEvent.cpp:
41344         (WebCore::MessageEvent::MessageEvent):
41345         (WebCore::MessageEvent::initMessageEvent):
41346         (WebCore::MessageEvent::data):
41347         This is only used within the Objective-C bindings (JSC and V8 have the custom functions).
41348         Since Objective-C code generator does not support [CustomGetter] IDL attribute, there is
41349         no good way to return a variant value for Objective-C bindings.
41350         * dom/MessageEvent.h:
41351         (WebCore::MessageEvent::create):
41352         (WebCore::MessageEvent::dataType):
41353         (WebCore::MessageEvent::dataAsSerializedScriptValue):
41354         (WebCore::MessageEvent::dataAsString):
41355         * dom/MessageEvent.idl:
41356         * websockets/WebSocket.cpp:
41357         (WebCore::WebSocket::didReceiveMessage):
41358         Construct a MessageEvent without serializing the received message.
41359
41360 2011-08-25  MORITA Hajime  <morrita@google.com>
41361
41362         Unreviewed, rolling out r93762.
41363         http://trac.webkit.org/changeset/93762
41364         https://bugs.webkit.org/show_bug.cgi?id=66756
41365
41366         IndexedDb tests crash
41367
41368         * WebCore.gypi:
41369         * WebCore.pro:
41370         * bindings/generic/EventConstructors.h: Removed.
41371         * bindings/v8/OptionsObject.cpp:
41372         * bindings/v8/OptionsObject.h:
41373         * bindings/v8/custom/V8EventConstructors.cpp: Removed.
41374         * dom/Event.cpp:
41375         * dom/Event.h:
41376         (WebCore::Event::create):
41377         * dom/Event.idl:
41378
41379 2011-08-24  Kentaro Hara  <haraken@google.com>
41380
41381         Implement an Event constructor.
41382         https://bugs.webkit.org/show_bug.cgi?id=66756
41383
41384         Reviewed by Adam Barth.
41385
41386         The spec of the Event constructor is here:
41387         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-event-constructor.
41388         This patch added the Event constructor to EventConstructors.h using
41389         JavaScript implementation-independent macros. This patch also added the V8
41390         implementation of these macros to V8EventConstructors.cpp.
41391
41392         The bug 63878 has been implementing the Event constructors for JSC.
41393         Our plan is to first implement all the Event constructors for V8
41394         using EventConstructors.h proposed in the JSC patch, and then merge
41395         the JSC patch with these V8 patches. In any case, we are going to split
41396         the patches for V8 and those for JSC in order to avoid hard regression.
41397
41398         Test: fast/events/event-constructors.html
41399
41400         * WebCore.gypi: Added V8EventConstructors.cpp.
41401         * WebCore.pro: Added V8EventConstructors.cpp.
41402         * bindings/generic/EventConstructors.h: Added. The Event constructor. This is written using JavaScript implementation-independent macros. The V8 implementation of these macros is written in bindings/v8/custom/V8EventConstructors.cpp.
41403         * bindings/v8/OptionsObject.cpp:
41404         (WebCore::OptionsObject::getKeyDouble): Returns the value of a given key of type double.
41405         (WebCore::OptionsObject::getKey): Returns true whenever the given key is found, even if the value is null or undefined.
41406         * bindings/v8/OptionsObject.h:
41407         (WebCore::OptionsObject::getKeyValue): Returns the value of the given key. We need to overload getKeyValue() for all types required to EventConfiguration members.
41408         * bindings/v8/custom/V8EventConstructors.cpp: Added. Implemented macros used in EventConstructors.h.
41409         (WebCore::constructV8Event): The Event constructor.
41410         * dom/Event.cpp:
41411         (WebCore::EventConfiguration::EventConfiguration): A constructor of EventConfiguration.
41412         (WebCore::Event::Event): A constructor of the Event class.
41413         * dom/Event.h: Added EventConfiguration, which manages attributes of the Event class.
41414         (WebCore::Event::create): A factory method of the Event class with EventConfiguration.
41415         * dom/Event.idl: Added 'CanBeConstructed' and 'V8CustomConstructor'.
41416
41417 2011-08-24  Philippe Normand  <pnormand@igalia.com>
41418
41419         [GTK] bump GStreamer requirement to 0.10.30
41420         https://bugs.webkit.org/show_bug.cgi?id=66860
41421
41422         Reviewed by Martin Robinson.
41423
41424         Use fast element linking by default.
41425
41426         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
41427         (WebCore::GStreamerGWorld::enterFullscreen):
41428         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
41429         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
41430
41431 2011-08-24  James Robinson  <jamesr@chromium.org>
41432
41433         Some layerTreeAsText compositing tests are flaky
41434         https://bugs.webkit.org/show_bug.cgi?id=66913
41435
41436         Reviewed by Simon Fraser.
41437
41438         Remove compositingLayerUpdatePending() and unconditionally update compositing layers when
41439         RenderLayerCompositor::layerTreeAsText().  compositingLayerUpdatePending() was only used by test code and is
41440         unreliable.
41441
41442         Covered by compositing/ layerTreeAsText tests.
41443
41444         * rendering/RenderLayerCompositor.cpp:
41445         (WebCore::RenderLayerCompositor::layerTreeAsText):
41446         * rendering/RenderLayerCompositor.h:
41447
41448 2011-08-24  Kentaro Hara  <haraken@google.com>
41449
41450         Implement a keypath parser strictly following the specification
41451         https://bugs.webkit.org/show_bug.cgi?id=62288
41452
41453         Reviewed by Tony Chang.
41454
41455         Implemented a keypath parser that accepts either an empty string, a JavaScript
41456         identifier, or multiple JavaScript identifiers separated by periods.
41457         We fixed createObjectStore() and createIndex() so that they parse and check
41458         their |keypath| argument and return an appropriate exception if the |keypath|
41459         is not valid. We also added unit tests for the new keypath parser in keypath-basics.html.
41460
41461         Tests: storage/indexeddb/keypath-fetch-key.html
41462                storage/indexeddb/keypath-basics.html
41463
41464         * bindings/v8/IDBBindingUtilities.cpp:
41465         (WebCore::createIDBKeyFromSerializedValueAndKeyPath): Replaced IDBKeyPathElement with String
41466         (WebCore::injectIDBKeyIntoSerializedValue): Replaced IDBKeyPathElement with String
41467         * bindings/v8/IDBBindingUtilities.h:
41468         * bindings/v8/OptionsObject.cpp:
41469         (WebCore::OptionsObject::getKeyStringWithUndefinedOrNullCheck): Returns false when a given value is null or undefined
41470         (WebCore::OptionsObject::getKey): Removed undefined check
41471         * storage/IDBDatabase.cpp:
41472         (WebCore::IDBDatabase::createObjectStore): Checks if a |keypath| argument is valid, and returns a NON_TRANSIENT_ERR if it is not valid
41473         * storage/IDBDatabaseBackendImpl.cpp:
41474         (WebCore::IDBDatabaseBackendImpl::createObjectStore): Removed null check of a keypath
41475         * storage/IDBKeyPath.cpp:
41476         (WebCore::IDBKeyPathLexer::currentElement): Part of the keypath parser
41477         (WebCore::IDBKeyPathLexer::lex): Part of the keypath parser
41478         (WebCore::IDBKeyPathLexer::lexIdentifier): Part of the keypath parser
41479         (WebCore::IDBIsValidKeyPath): Checks if a keypath is valid
41480         (WebCore::IDBParseKeyPath): Part of the keypath parser
41481         * storage/IDBKeyPath.h: Replaced IDBKeyPathElement with String
41482         * storage/IDBObjectStore.cpp:
41483         (WebCore::IDBObjectStore::createIndex): Checks if a |keypath| argument is valid, and returns a NON_TRANSIENT_ERR if it is not valid
41484         * storage/IDBObjectStore.idl:
41485
41486 2011-08-24  Eric Uhrhane  <ericu@chromium.org>
41487
41488         Reviewed by Adam Barth.
41489
41490         [filesystem/Chromium] Filesystem paths need proper URL escaping
41491         https://bugs.webkit.org/show_bug.cgi?id=62811
41492
41493         Fix http://code.google.com/p/chromium/issues/detail?id=78860 by making
41494         KURLChromium.cpp's escaping code actually work.
41495
41496         Make encodeWithURLEscapeSequences call into googleurl to do proper
41497         escaping.  Tested in WebKit/chromium/tests/KURLTest.cpp.
41498         * platform/KURLGoogle.cpp:
41499         (WebCore::encodeWithURLEscapeSequences):
41500
41501 2011-08-24  Chris Palmer  <palmer@google.com>
41502
41503         Resolve potential integer overflow in memory allocation, and ensure
41504         that allocation succeeds.
41505
41506         Reviewed by Kenneth Russell.
41507
41508         * platform/audio/AudioArray.h:
41509         (WebCore::AudioArray::allocate): Check for integer overflow.
41510         (WebCore::AudioArray::at): Document the safety assertion.
41511         (WebCore::AudioArray::zero): Document the safety assertion.
41512         (WebCore::AudioArray::zeroRange): Document the safety assertion.
41513         (WebCore::AudioArray::copyToRange): Document the safety assertion.
41514
41515 2011-08-24  Raphael Kubo da Costa  <kubo@profusion.mobi>
41516
41517         [EFL] Fix build with ENABLE_GEOLOCATION.
41518         https://bugs.webkit.org/show_bug.cgi?id=66881
41519
41520         Use adoptPtr() to create a new GeolocationService instance, otherwise
41521         the build will fail when creating the PassOwnPtr object.
41522
41523         * platform/efl/GeolocationServiceEfl.cpp:
41524         (WebCore::GeolocationServiceEfl::create):
41525
41526 2011-08-24  Raphael Kubo da Costa  <kubo@profusion.mobi>
41527
41528         [CMake] Fix build with ENABLE_BLOB or ENABLE_FILE_SYSTEM.
41529         https://bugs.webkit.org/show_bug.cgi?id=66880
41530
41531         Generate and build some additional files required by these options.
41532
41533         No new tests, as this is a build fix for some build options.
41534
41535         * CMakeLists.txt:
41536
41537 2011-08-24  Iain Merrick  <husky@google.com>
41538
41539         [chromium] Don't call glDeleteTexture(0) in TextureManager
41540         https://bugs.webkit.org/show_bug.cgi?id=66862
41541
41542         Delete(0) is allowed in standard OpenGL, but not in Chrome.
41543         See http://code.google.com/p/chromium/issues/detail?id=85268
41544
41545         Reviewed by James Robinson.
41546
41547         * platform/graphics/chromium/TextureManager.cpp:
41548         (WebCore::TextureManager::deleteEvictedTextures):
41549
41550 2011-08-24  Adrienne Walker  <enne@google.com>
41551
41552         [chromium] Properly initialize CCTiledLayerImpl::m_skipsDraw
41553         https://bugs.webkit.org/show_bug.cgi?id=66889
41554
41555         Reviewed by James Robinson.
41556
41557         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
41558         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
41559
41560 2011-08-24  Tom Sepez  <tsepez@chromium.org>
41561
41562         chromium WebFrameImpl - don't load javascript URLs against chrome internal
41563         pages.  Adds a mechanism for registering sensitive schemes which should 
41564         not be subject to manipulation by javascript urls typed into a location bar
41565         or, more importantly, their bookmarklet equivalents.
41566         https://bugs.webkit.org/show_bug.cgi?id=66720
41567
41568         Reviewed by Adam Barth.
41569
41570         Test: Chromium WebKit API unit test in chromium specific directory.
41571         
41572         * platform/SchemeRegistry.cpp:
41573         (WebCore::notAllowingJavascriptURLsSchemes):
41574         (WebCore::SchemeRegistry::registerURLSchemeAsNotAllowingJavascriptURLs):
41575         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsNotAllowingJavascriptURLs):
41576         * platform/SchemeRegistry.h:
41577
41578 2011-08-24  Alexandru Chiculita  <achicu@adobe.com>
41579
41580         [CSSRegions] Fix Element::getBoundingClientRect and Element::getClientRects for content flow
41581         https://bugs.webkit.org/show_bug.cgi?id=66641
41582
41583         Original author of the patch is Mihnea Ovidenie <mihnea@adobe.com>.
41584
41585         Redirected the mapLocalToContainer method to the appropriate RenderRegion.
41586
41587         Note: RenderObject::absoluteQuads method needs some refactor to support multiple regions,
41588         will do that in a separate bug.
41589
41590         Reviewed by David Hyatt.
41591
41592         Tests: fast/regions/flowed-content-bounding-client-rect-horizontal-bt.html
41593                fast/regions/flowed-content-bounding-client-rect-vertical-rl.html
41594                fast/regions/flowed-content-bounding-client-rect-vertical.html
41595                fast/regions/flowed-content-bounding-client-rect.html
41596                fast/regions/flowed-content-transform-bounding-client-rect.html
41597
41598         * rendering/RenderBox.cpp:
41599         (WebCore::RenderBox::mapLocalToContainer):
41600         * rendering/RenderFlowThread.cpp:
41601         (WebCore::RenderFlowThread::renderRegionForLine):
41602         (WebCore::RenderFlowThread::mapFromFlowToRegion):
41603         * rendering/RenderFlowThread.h:
41604
41605 2011-08-24  Alok Priyadarshi  <alokp@chromium.org>
41606
41607         [chromium] Root layer is not updated when only a portion of tile is updated
41608         https://bugs.webkit.org/show_bug.cgi?id=66506
41609
41610         This only happened in the accelerated path which changes stencil state.
41611         Incorrect stencil state was used to draw the root layer.
41612
41613         Reviewed by James Robinson.
41614
41615         Test: compositing/overflow/overflow-scroll.html (existing)
41616
41617         * platform/graphics/chromium/LayerRendererChromium.cpp:
41618         (WebCore::LayerRendererChromium::drawLayersInternal):
41619         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
41620         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
41621
41622 2011-08-24  Nate Chapin  <japhet@chromium.org>
41623
41624         Fix an intermittent crash in EventSource, when a
41625         reconnect timer triggers after a navigation
41626         away from the current page begins.
41627         https://bugs.webkit.org/show_bug.cgi?id=45202
41628
41629         Reviewed by Alexey Proskuryakov.
41630
41631         Test: http/tests/eventsource/eventsource-reconnect-during-navigate-crash.html
41632
41633         * page/EventSource.cpp:
41634         (WebCore::EventSource::connect): Don't set m_requestInFlight
41635             to true if ThreadableLoader::create() failed.
41636
41637 2011-08-24  Mike Reed  <reed@google.com>
41638
41639         Change clip routine to promote the clipbounds up to (local) floats and then perform the intersection,
41640         rather than rounding the srcRect down to integers.
41641         https://bugs.webkit.org/show_bug.cgi?id=66810
41642
41643         Reviewed by Kenneth Russell.
41644
41645         No new tests. Existing tests that resize images will exercise this code path
41646
41647         * platform/graphics/skia/SkiaUtils.cpp:
41648         (WebCore::ClipRectToCanvas):
41649
41650 2011-08-24  Alexandru Chiculita  <achicu@adobe.com>
41651
41652         [CSSRegions] RenderRegion is not used if there's another renderer after it
41653         https://bugs.webkit.org/show_bug.cgi?id=66844
41654
41655         There was no call to attachRegion in RenderObjectChildList::insertChildNode, so
41656         the region was not added to the RenderFlowThread.
41657
41658         Reviewed by David Hyatt.
41659
41660         Test: fast/regions/content-flowed-into-regions-dynamically-inserted.html
41661
41662         * rendering/RenderObjectChildList.cpp:
41663         (WebCore::RenderObjectChildList::insertChildNode):
41664
41665 2011-08-24  Sam Weinig  <sam@webkit.org>
41666
41667         JSHTMLImageElement (and associated Node) is abandoned when image load is canceled
41668         <rdar://problem/9925630>
41669         https://bugs.webkit.org/show_bug.cgi?id=66864
41670
41671         Reviewed by Anders Carlsson.
41672
41673         In the JSC bindings, we use HTMLImageElement::hasPendingActivity() (which in turn calls
41674         HTMLImageLoader::haveFiredLoadEvent()) to reason about the liveness of JSHTMLImageElements.
41675         In the case that an image load is canceled, the haveFiredLoadEvent never true, so the
41676         JSHTMLImageElement is kept alive forever (and since it references the global object, it
41677         keeps the entire graph alive as well).
41678
41679         * loader/ImageLoader.cpp:
41680         (WebCore::ImageLoader::notifyFinished):
41681         Set m_firedLoad to true in the case of a canceled load, to reset the state back to
41682         its initial values.
41683
41684 2011-08-24  Tommy Widenflycht  <tommyw@google.com>
41685
41686         MediaStream API: add createObjectURL functionality
41687         https://bugs.webkit.org/show_bug.cgi?id=65925
41688
41689         This patch introduces the functionality for generating the url associated with a MediaStream,
41690         which can then be assigned to the src attribute of the <video> tag for example.
41691
41692         Reviewed by Adam Barth.
41693
41694         * CMakeLists.txt:
41695         * GNUmakefile.list.am:
41696         * WebCore.gypi:
41697         * WebCore.pro:
41698         * WebCore.vcproj/WebCore.vcproj:
41699         * WebCore.xcodeproj/project.pbxproj:
41700         * dom/ScriptExecutionContext.cpp:
41701         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
41702         (WebCore::ScriptExecutionContext::createPublicBlobURL):
41703         (WebCore::ScriptExecutionContext::revokePublicBlobURL):
41704         * dom/ScriptExecutionContext.h:
41705         * html/DOMURL.cpp:
41706         (WebCore::DOMURL::createObjectURL):
41707         * html/DOMURL.h:
41708         * html/DOMURL.idl:
41709         * platform/MediaStreamRegistry.cpp: Added.
41710         (WebCore::MediaStreamRegistry::registry):
41711         (WebCore::MediaStreamRegistry::registerMediaStreamURL):
41712         (WebCore::MediaStreamRegistry::unregisterMediaStreamURL):
41713         (WebCore::MediaStreamRegistry::mediaStream):
41714         * platform/MediaStreamRegistry.h: Copied from Source/WebCore/html/DOMURL.h.
41715
41716         Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
41717
41718 2011-08-23  David Levin  <levin@chromium.org>
41719
41720         MessageEvent.ports shouldn't ever be null.
41721         https://bugs.webkit.org/show_bug.cgi?id=66789
41722
41723         Reviewed by Darin Adler.
41724
41725         * bindings/js/JSMessageEventCustom.cpp:
41726         (WebCore::JSMessageEvent::ports): Never return null.
41727         * bindings/v8/custom/V8MessageEventCustom.cpp:
41728         (WebCore::V8MessageEvent::portsAccessorGetter): Ditto.
41729
41730 2011-08-24  Alexandru Chiculita  <achicu@adobe.com>
41731
41732         https://bugs.webkit.org/show_bug.cgi?id=66799
41733         RenderFlowThread creates a list of child elements, so that it can search
41734         the insertion point of a new element without searching the whole DOM.
41735         The issue is that it used addChild/removeChild, but that wasn't taking care of
41736         elements added in anonymous blocks created inside the RenderFlowThread.
41737
41738         Reviewed by David Hyatt.
41739
41740         Test: fast/regions/flow-anonymous-children.html
41741
41742         * rendering/RenderFlowThread.cpp:
41743         (WebCore::RenderFlowThread::nextRendererForNode):
41744         (WebCore::RenderFlowThread::previousRendererForNode):
41745         (WebCore::RenderFlowThread::addFlowChild):
41746         (WebCore::RenderFlowThread::removeFlowChild):
41747         * rendering/RenderFlowThread.h:
41748         * rendering/RenderObjectChildList.cpp:
41749         (WebCore::renderFlowThreadContainer):
41750         (WebCore::RenderObjectChildList::removeChildNode):
41751         (WebCore::RenderObjectChildList::appendChildNode):
41752         (WebCore::RenderObjectChildList::insertChildNode):
41753
41754 2011-08-24  Pavel Feldman  <pfeldman@google.com>
41755
41756         Web Inspector: Add 9 more javascript files to the compilation.
41757         https://bugs.webkit.org/show_bug.cgi?id=66847
41758
41759         Reviewed by Yury Semikhatsky.
41760
41761         * WebCore.gypi:
41762         * WebCore.vcproj/WebCore.vcproj:
41763         * inspector/compile-front-end.sh:
41764         * inspector/front-end/BreakpointManager.js:
41765         * inspector/front-end/CSSStyleModel.js:
41766         * inspector/front-end/Checkbox.js:
41767         * inspector/front-end/ConsoleMessage.js: Added.
41768         (WebInspector.ConsoleStackFrame):
41769         (WebInspector.ConsoleMessage):
41770         (WebInspector.ConsoleMessage.createTextMessage):
41771         (WebInspector.ConsoleMessage.prototype.get stackTrace):
41772         * inspector/front-end/ConsoleView.js:
41773         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
41774         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageRepeatCountUpdated):
41775         * inspector/front-end/CookieParser.js:
41776         * inspector/front-end/DOMAgent.js:
41777         * inspector/front-end/DOMStorage.js:
41778         * inspector/front-end/Database.js:
41779         * inspector/front-end/DebuggerModel.js:
41780         * inspector/front-end/DebuggerPresentationModel.js:
41781         * inspector/front-end/InspectorFrontendHostStub.js:
41782         (WebInspector.isMac):
41783         * inspector/front-end/NetworkManager.js:
41784         * inspector/front-end/RemoteObject.js:
41785         (WebInspector.RemoteObject.prototype.setPropertyValue):
41786         * inspector/front-end/Resource.js:
41787         (WebInspector.Resource):
41788         (WebInspector.Resource.Type.Document.0.Stylesheet.1.Image.2.Font.3.Script.4.XHR.5.WebSocket.7.Other.8.isTextType):
41789         (WebInspector.Resource.Type.toUIString):
41790         (WebInspector.Resource.Type.toString):
41791         (WebInspector.Resource.prototype._checkWarnings):
41792         (WebInspector.ResourceDomainModelBinding):
41793         (WebInspector.ResourceDomainModelBinding.prototype.canSetContent):
41794         (WebInspector.ResourceDomainModelBinding.prototype.setContent):
41795         * inspector/front-end/ResourceCategory.js:
41796         (WebInspector.ResourceCategory):
41797         (WebInspector.ResourceCategory.prototype.toString):
41798         (WebInspector.ResourceCategory.prototype.get title):
41799         * inspector/front-end/ResourceTreeModel.js:
41800         * inspector/front-end/ScriptFormatter.js:
41801         (WebInspector.ScriptFormatter.prototype._didFormatContent):
41802         (WebInspector.FormatterMappingPayload):
41803         * inspector/front-end/TimelineManager.js:
41804         * inspector/front-end/WebKit.qrc:
41805         * inspector/front-end/externs.js:
41806         (console.assert):
41807         (WebInspector.linkifyURLAsNode):
41808         (WebInspector.linkifyStringAsFragment):
41809         (WebInspector.UIString):
41810         (Element.prototype.scrollIntoViewIfNeeded):
41811         * inspector/front-end/inspector.html:
41812         * inspector/front-end/inspector.js:
41813         (WebInspector.UIString):
41814         * inspector/front-end/treeoutline.js:
41815         * inspector/front-end/utilities.js:
41816         * inspector/generate-protocol-externs:
41817
41818 2011-08-24  Pavel Feldman  <pfeldman@google.com>
41819
41820         Web Inspector: extract ConsoleMessage into a separate file.
41821         https://bugs.webkit.org/show_bug.cgi?id=66853
41822
41823         Reviewed by Yury Semikhatsky.
41824
41825         * WebCore.gypi:
41826         * WebCore.vcproj/WebCore.vcproj:
41827         * inspector/front-end/ConsoleMessage.js: Added.
41828         (WebInspector.ConsoleMessage):
41829         (WebInspector.ConsoleMessage.createTextMessage):
41830         (WebInspector.ConsoleMessage.prototype._formatMessage):
41831         (WebInspector.ConsoleMessage.prototype._linkifyLocation):
41832         (WebInspector.ConsoleMessage.prototype._linkifyCallFrame):
41833         (WebInspector.ConsoleMessage.prototype.isErrorOrWarning):
41834         (WebInspector.ConsoleMessage.prototype._format):
41835         (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.valueFormatter):
41836         (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.append):
41837         (WebInspector.ConsoleMessage.prototype.clearHighlight):
41838         (WebInspector.ConsoleMessage.prototype.highlightSearchResults):
41839         (WebInspector.ConsoleMessage.prototype.matchesRegex):
41840         (WebInspector.ConsoleMessage.prototype.toMessageElement):
41841         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
41842         (WebInspector.ConsoleMessage.prototype._updateRepeatCount):
41843         (WebInspector.ConsoleMessage.prototype.toString):
41844         (WebInspector.ConsoleMessage.prototype.isEqual):
41845         (WebInspector.ConsoleMessage.prototype.get stackTrace):
41846         * inspector/front-end/ConsoleView.js:
41847         * inspector/front-end/WebKit.qrc:
41848
41849 2011-08-24  Tatiana Meshkova  <tatiana.meshkova@nokia.com>
41850
41851         Paint SliderTrack and SliderThumb independently.
41852         https://bugs.webkit.org/show_bug.cgi?id=50453
41853         Also fixes https://bugs.webkit.org/show_bug.cgi?id=65456 crash.
41854
41855         Reviewed by Kenneth Rohde Christiansen.
41856
41857         RenderSlider works only with <input type=range>. Nowadays RenderTheme
41858         supports painting of SliderTrack and SliderThumb without range input.
41859         In order to be in sync with other platforms this patch gets rid of
41860         upcasting in RenderThemeQt::paintSliderTrack and allows to paint
41861         SliderTrack and SliderThumb independently.
41862
41863         Test: platform/qt/fast/forms/range/slider-crash.html
41864
41865         * platform/qt/RenderThemeQt.cpp:
41866         (WebCore::RenderThemeQt::paintSliderTrack): Draw SC_SliderGroove.
41867         Allow paintSliderThumb() to care about SC_SliderHandle. We don't need
41868         to setup value and position anymore, since handle is drawn separately.
41869         Draw focus explicitly, since QStyleOptionSlider doesn't allow to focus
41870         on CC_Slider without handle subcontrol.
41871         (WebCore::RenderThemeQt::paintSliderThumb): Draw SC_SliderHandle.
41872
41873 2011-08-23  Pavel Feldman  <pfeldman@google.com>
41874
41875         Web Inspector: annotate and prepare for compilation first 14 JavaScript files within 4 modules.
41876         https://bugs.webkit.org/show_bug.cgi?id=66776
41877
41878         Reviewed by Yury Semikhatsky.
41879
41880         * inspector/compile-front-end.sh:
41881         * inspector/front-end/ContextMenu.js:
41882         * inspector/front-end/DOMAgent.js:
41883         (WebInspector.DOMAgent.prototype._loadNodeAttributes):
41884         (WebInspector.DOMAgent.prototype._childNodeRemoved):
41885         (WebInspector.DOMAgent.prototype._inspectElementRequested):
41886         (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
41887         * inspector/front-end/DebuggerModel.js:
41888         (WebInspector.DebuggerModel.Location):
41889         * inspector/front-end/ElementsPanel.js:
41890         (WebInspector.ElementsPanel):
41891         (WebInspector.ElementsPanel.prototype._inspectElementRequested):
41892         * inspector/front-end/InspectorFrontendHostStub.js:
41893         * inspector/front-end/KeyboardShortcut.js:
41894         * inspector/front-end/Object.js:
41895         (WebInspector.Object.prototype.addEventListener):
41896         (WebInspector.Object.prototype.removeEventListener):
41897         (WebInspector.Object.prototype.hasEventListeners):
41898         * inspector/front-end/Panel.js:
41899         (WebInspector.Panel):
41900         * inspector/front-end/Placard.js:
41901         * inspector/front-end/Popover.js:
41902         (WebInspector.Popover.prototype.show):
41903         * inspector/front-end/ResourcesPanel.js:
41904         (WebInspector.ResourcesPanel):
41905         (WebInspector.StorageCategoryTreeElement):
41906         * inspector/front-end/Script.js:
41907         (WebInspector.Script.prototype.editSource):
41908         * inspector/front-end/ScriptsPanel.js:
41909         * inspector/front-end/Settings.js:
41910         (WebInspector.Settings):
41911         (WebInspector.Settings.prototype.createSetting):
41912         * inspector/front-end/SoftContextMenu.js:
41913         (.WebInspector.SoftContextMenu.prototype._menuItemMouseUp):
41914         (.WebInspector.SoftContextMenu.prototype._triggerAction):
41915         (.WebInspector.SoftContextMenu.prototype._menuKeyDown):
41916         * inspector/front-end/TabbedPane.js:
41917         * inspector/front-end/TextPrompt.js:
41918         * inspector/front-end/UserMetrics.js:
41919         * inspector/front-end/View.js:
41920         * inspector/front-end/externs.js:
41921         (JSON.parse):
41922         (JSON.stringify):
41923         * inspector/front-end/inspector.js:
41924         ():
41925         * inspector/generate-protocol-externs:
41926
41927 2011-08-24  Andreas Kling  <kling@webkit.org>
41928
41929         SelectElementData: Reorder members to reduce memory usage.
41930         https://bugs.webkit.org/show_bug.cgi?id=66787
41931
41932         Reviewed by Darin Adler.
41933
41934         Reduced the size of SelectElementData by 24 bytes on 64-bit by rearranging
41935         its data members.
41936
41937         Also added missing initialization of m_userDrivenChange.
41938
41939         * dom/SelectElement.cpp:
41940         (WebCore::SelectElementData::SelectElementData):
41941         * dom/SelectElement.h:
41942
41943 2011-08-24  Pavel Feldman  <pfeldman@google.com>
41944
41945         Web Inspector: clearPseudoState should retain Element while clearing
41946         its state.
41947         https://bugs.webkit.org/show_bug.cgi?id=66790
41948
41949         Reviewed by Yury Semikhatsky.
41950
41951         * inspector/InspectorCSSAgent.cpp:
41952         (WebCore::InspectorCSSAgent::clearPseudoState):
41953
41954 2011-08-23  Mark Hahnenberg  <mhahnenberg@apple.com>
41955
41956         Add checks to ensure allocation does not take place during initialization of GC-managed objects
41957         https://bugs.webkit.org/show_bug.cgi?id=65288
41958
41959         Reviewed by Darin Adler.
41960
41961         No new tests.
41962
41963         Adding the new validation functionality.  In its current state, it will performs checks, 
41964         but they don't fail unless you do allocation in the arguments to the parent constructor in the 
41965         initialization list of a class.  The allocateCell() method turns on the global flag disallowing any new 
41966         allocations, and the constructorBody() method in JSCell turns it off.  This way, allocation is still 
41967         allowed in constructor bodies while other refactoring efforts continue.
41968
41969         * bindings/js/JSDOMWindowShell.cpp:
41970         (WebCore::JSDOMWindowShell::operator new):
41971         * bindings/js/JSDOMWindowShell.h:
41972
41973 2011-08-23  Scott Byer  <scottbyer@chromium.org>
41974
41975         ScrollAnimatorNone coasting implementation
41976         https://bugs.webkit.org/show_bug.cgi?id=66258
41977
41978         Increase the animation time based on the velocity of the scroll, up to a
41979         maximum amount. Fix bugs found by additional unit testing.
41980
41981         Reviewed by James Robinson.
41982
41983         Additional tests in ScrollAnimatorNoneTest: CurveMathQuartic, CurveMathCoast,
41984         ScrollOnceQuartic, ScrollTwiceCubic, ScrollLotsCubic, ScrollLotsCubicSmoothed,
41985         ScrollUpToBumperCoast, ScrollDownToBumperCoast, VaryingInputsEquivalency,
41986         VaryingInputsEquivalencyCoast, VaryingInputsEquivalencyCoastLarge,
41987         VaryingInputsEquivalencyCoastSteep
41988
41989         * platform/ScrollAnimatorNone.cpp:
41990         (WebCore::ScrollAnimatorNone::Parameters::Parameters):
41991         (WebCore::ScrollAnimatorNone::PerAxisData::curveAt):
41992         (WebCore::ScrollAnimatorNone::PerAxisData::coastCurve):
41993         (WebCore::ScrollAnimatorNone::PerAxisData::curveIntegralAt):
41994         (WebCore::ScrollAnimatorNone::PerAxisData::attackArea):
41995         (WebCore::ScrollAnimatorNone::PerAxisData::releaseArea):
41996         (WebCore::ScrollAnimatorNone::PerAxisData::PerAxisData):
41997         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
41998         (WebCore::ScrollAnimatorNone::PerAxisData::updateVisibleLength):
41999         (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
42000         (WebCore::ScrollAnimatorNone::scroll):
42001         (WebCore::ScrollAnimatorNone::willEndLiveResize):
42002         (WebCore::ScrollAnimatorNone::didAddVerticalScrollbar):
42003         (WebCore::ScrollAnimatorNone::didAddHorizontalScrollbar):
42004         (WebCore::ScrollAnimatorNone::updateVisibleLengths):
42005         * platform/ScrollAnimatorNone.h:
42006
42007 2011-08-23  James Robinson  <jamesr@chromium.org>
42008
42009         [chromium] Need a way to test lost compositor context recovery
42010         https://bugs.webkit.org/show_bug.cgi?id=66820
42011
42012         Reviewed by Kenneth Russell.
42013
42014         Adds support for recreating a context as if it was lost, and fixes
42015         compositeAndReadback() to attempt context recovery.
42016
42017         Test: platform/chromium/compositing/lost-compositor-context.html
42018
42019         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
42020         (WebCore::CCLayerTreeHost::compositeAndReadback):
42021         (WebCore::CCLayerTreeHost::loseCompositorContext):
42022         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
42023
42024 2011-08-23  Nat Duca  <nduca@chromium.org>
42025
42026         [chromium] Implement CCThread in terms of WebThread
42027         https://bugs.webkit.org/show_bug.cgi?id=66610
42028
42029         Reviewed by Darin Fisher.
42030
42031         * WebCore.gypi:
42032         * platform/graphics/chromium/cc/CCCompletionEvent.h:
42033         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
42034         (WebCore::CCLayerTreeHost::client):
42035         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
42036         (WebCore::CCLayerTreeHostImplProxy::CCLayerTreeHostImplProxy):
42037         * platform/graphics/chromium/cc/CCThread.h:
42038         (WebCore::CCThread::~CCThread):
42039
42040 2011-08-23  Iain Merrick  <husky@google.com>
42041
42042         [chromium] Renderer crashes when about:gpucrash is loaded
42043         https://bugs.webkit.org/show_bug.cgi?id=66814
42044
42045         WebViewImpl::didRecreateGraphicsContext() was calling
42046         setRootLayer() on the CC layer tree, but the root layer 
42047         doesn't actually change and the code wasn't defensive        
42048         against this. This CL adds some asserts to catch tree
42049         corruption and removes the unnecessary calls.
42050
42051         Reviewed by James Robinson.
42052
42053         * platform/graphics/GraphicsLayer.cpp:
42054         (WebCore::GraphicsLayer::setParent):
42055         * platform/graphics/GraphicsLayer.h:
42056         * platform/graphics/chromium/LayerChromium.cpp:
42057         (WebCore::LayerChromium::setParent):
42058         (WebCore::LayerChromium::hasAncestor):
42059         * platform/graphics/chromium/LayerChromium.h:
42060
42061 2011-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>
42062
42063         Unreviewed, rolling out r93645.
42064         http://trac.webkit.org/changeset/93645
42065         https://bugs.webkit.org/show_bug.cgi?id=66828
42066
42067         Broke webkit_unit_tests on chromium mac (Requested by jamesr
42068         on #webkit).
42069
42070         * platform/chromium/ScrollbarThemeChromiumMac.mm:
42071         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
42072         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
42073
42074 2011-08-23  Beth Dakin  <bdakin@apple.com>
42075
42076         https://bugs.webkit.org/show_bug.cgi?id=66244
42077         Cached pages don't fully update when going back after changing the display scale 
42078         factor
42079         -and corresponding-
42080         <rdar://problem/9955656>
42081
42082         Reviewed by Darin Adler.
42083
42084         This patch adds a generalized concept of needing a full style recalc to the 
42085         BackForwardController. So when the display scale factor is changed, the 
42086         BackForwardController can be informed that all pages will need a full style recalc 
42087         when they come out of the cache. This same mechanism is also used to fix a long-
42088         standing bug with full-page/text zoom.
42089
42090         Iterate through the HistoryItems and mark all CachedPages as needing a full style 
42091         recalc.
42092         * history/BackForwardController.cpp:
42093         (WebCore::BackForwardController::markPagesForFullStyleRecalc):
42094         * history/BackForwardController.h:
42095
42096         ChachedPage has a new bool -- m_needsFullStyleRecalc -- to track whether a full 
42097         style recalc is needed when the CachedPage is restored.
42098         * history/CachedPage.cpp:
42099         (WebCore::CachedPage::CachedPage):
42100         (WebCore::CachedPage::restore):
42101         (WebCore::CachedPage::clear):
42102         * history/CachedPage.h:
42103         (WebCore::CachedPage::markForFullStyleRecalc):
42104
42105         HistoryItem actually takes care of calling into CachedPage.
42106         * history/HistoryItem.cpp:
42107         (WebCore::HistoryItem::markForFullStyleRecalc):
42108         * history/HistoryItem.h:
42109
42110         Fix style recalc issues for full-page/text zoom by calling our new function on 
42111         PageCache.
42112         * page/Frame.cpp:
42113         (WebCore::Frame::setPageAndTextZoomFactors):
42114
42115         Fix style recalc issues for display scale factor changes by calling our new 
42116         function on PageCache.
42117         * page/Page.cpp:
42118         (WebCore::Page::setDeviceScaleFactor):
42119
42120 2011-08-23  Anders Carlsson  <andersca@apple.com>
42121
42122         Fix build.
42123
42124         * inspector/InstrumentingAgents.cpp:
42125
42126 2011-08-23  Chang Shu  <cshu@webkit.org>
42127
42128         Added support for momentarily revealing last typed character in password input.
42129         Code change was partially based on Apple's iOS code and Samuel Nevala's work.
42130         https://bugs.webkit.org/show_bug.cgi?id=32509
42131
42132         Reviewed by Alexey Proskuryakov.
42133
42134         * editing/InsertIntoTextNodeCommand.cpp:
42135         (WebCore::InsertIntoTextNodeCommand::doApply):
42136         * rendering/RenderText.cpp:
42137         (WebCore::SecureTextTimer::SecureTextTimer):
42138         (WebCore::SecureTextTimer::restartWithNewText):
42139         (WebCore::SecureTextTimer::invalidate):
42140         (WebCore::SecureTextTimer::lastTypedCharacterOffset):
42141         (WebCore::SecureTextTimer::fired):
42142         (WebCore::RenderText::willBeDestroyed):
42143         (WebCore::RenderText::setTextInternal):
42144         (WebCore::RenderText::secureText):
42145         (WebCore::RenderText::momentarilyRevealLastTypedCharacter):
42146         * rendering/RenderText.h:
42147         (WebCore::RenderText::isSecure):
42148         * testing/Internals.cpp:
42149         (WebCore::Internals::setPasswordEchoEnabled): Fixed some silly coding in Internals.
42150         (WebCore::Internals::setPasswordEchoDurationInSeconds):
42151         (WebCore::Internals::reset):
42152
42153 2011-08-23  Dmitry Lomov  <Dmitry Lomov (dslomov@google.com)>
42154
42155         https://bugs.webkit.org/show_bug.cgi?id=66751 
42156         [Chromium]WebWorkerClientImpl should always invoke
42157         InspectorIntrumentation on main thread.
42158         The fix moves calls to InspectorInstrumentation from
42159         WebWorkerClientImpl to unedrlying WorkerMessagingProxy.
42160
42161         Reviewed by Pavel Feldman.
42162
42163         Covered by existing tests.
42164
42165         * inspector/InstrumentingAgents.cpp:
42166         (WebCore::instrumentationForPage):
42167         * workers/WorkerMessagingProxy.cpp:
42168         (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
42169         (WebCore::WorkerMessagingProxy::terminateWorkerContext):
42170
42171 2011-08-23  Misha Tyutyunik  <michael.tyutyunik@nokia.com>
42172
42173         [Qt] Button text is invisible when mobile theme is in use and application palette set to use light text color.
42174         https://bugs.webkit.org/show_bug.cgi?id=66635
42175
42176         When mobile theme is in use and application palette is using light 
42177         color to display text button text becomes invisible. The reason for 
42178         that is that in RenderThemeQt::systemFont() we are using application 
42179         pallete while when are painting buttons lightGrayPalette is used.
42180         Calling setPaletteFromPageClientIfExists() takes care of the issue.
42181         
42182         Reviewed by Andreas Kling.
42183
42184         Covered by existing tests.
42185
42186         * platform/qt/RenderThemeQt.cpp:
42187         (WebCore::RenderThemeQt::systemColor):
42188
42189 2011-08-23  Tony Chang  <tony@chromium.org>
42190
42191         Add handling of mix-width and max-width for flexitems
42192         https://bugs.webkit.org/show_bug.cgi?id=66723
42193
42194         Reviewed by David Hyatt.
42195
42196         If we flex past a min/max width value, we need to mark the flexitem as
42197         a fixed width and re-start the flexing algorithm.  We use a HashMap to
42198         keep track of fixed width items.
42199
42200         This patch also split out the size computation from the actual layout
42201         to avoid unnecessary layouts caused by restarting the flexing algorithm.
42202
42203         Test: css3/flexbox/003.html
42204
42205         * rendering/RenderFlexibleBox.cpp:
42206         (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
42207         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
42208         * rendering/RenderFlexibleBox.h:
42209
42210 2011-08-23  Pratik Solanki  <psolanki@apple.com>
42211
42212         ResourceRequest::setStorageSession should update NSURLRequest as well
42213         https://bugs.webkit.org/show_bug.cgi?id=66811
42214
42215         Reviewed by Darin Adler.
42216
42217         * platform/network/cf/ResourceRequestCFNet.cpp:
42218         (WebCore::ResourceRequest::setStorageSession): Update the m_nsRequest field as well since we
42219         have a new CFURLRequestRef.
42220
42221 2011-08-23  James Robinson  <jamesr@chromium.org>
42222
42223         [chromium] Remove obsolete child context list from LayerRendererChromium
42224         https://bugs.webkit.org/show_bug.cgi?id=66743
42225
42226         Reviewed by Kenneth Russell.
42227
42228         Before we had proper semantics for flush() in the command buffer, we
42229         used a scheme of latches across contexts to ensure consistent frames
42230         were presented for WebGL and canvas. We no longer have latches and
42231         flush is a proper synchronization primative, so the child context list
42232         no longer does anything. Canvas2DLayerChromium and
42233         WebGLLayerChromium's implementations of updateCompositorResources() do
42234         flushes on the appropriate context already - canvas layers via
42235         DrawingBuffer::publishToPlatformLayer(), and WebGL layers via the call
42236         to prepareTexture().
42237
42238         No new tests since the code being removed doesn't do anything.
42239
42240         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
42241         (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
42242         (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
42243         * platform/graphics/chromium/Canvas2DLayerChromium.h:
42244         * platform/graphics/chromium/LayerRendererChromium.cpp:
42245         (WebCore::LayerRendererChromium::drawLayers):
42246         * platform/graphics/chromium/LayerRendererChromium.h:
42247         * platform/graphics/chromium/WebGLLayerChromium.cpp:
42248         (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
42249         (WebCore::WebGLLayerChromium::setContext):
42250         * platform/graphics/chromium/WebGLLayerChromium.h:
42251
42252 2011-08-23  Alexei Svitkine  <asvitkine@chromium.org>
42253
42254         Chromium Mac: Use a custom pattern image for rubber banding overhang area
42255         https://bugs.webkit.org/show_bug.cgi?id=66707
42256
42257         Reviewed by Dimitri Glazkov.
42258
42259         No new tests since its just changing the Chromium-specific overhang pattern.
42260
42261         * platform/chromium/ScrollbarThemeChromiumMac.mm:
42262         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
42263         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
42264
42265 2011-08-23  Tatiana Meshkova  <tatiana.meshkova@nokia.com>
42266
42267         Prepare to paint slider thumb separately.
42268         Provide proper size values for vertical SliderThumb.
42269         https://bugs.webkit.org/show_bug.cgi?id=66732
42270
42271         Reviewed by Kenneth Rohde Christiansen.
42272
42273         * platform/qt/RenderThemeQt.cpp:
42274         (WebCore::RenderThemeQt::adjustSliderThumbSize):
42275         Swap length and thickness for sliderthumb-vertical.
42276
42277 2011-08-23  Adrienne Walker  <enne@google.com>
42278
42279         [chromium] Fix potential nullptr deref in TiledLayerChromium::pushPropertiesTo
42280         https://bugs.webkit.org/show_bug.cgi?id=66808
42281
42282         Reviewed by James Robinson.
42283
42284         * platform/graphics/chromium/TiledLayerChromium.cpp:
42285         (WebCore::TiledLayerChromium::pushPropertiesTo):
42286         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
42287         (WebCore::CCTiledLayerImpl::draw):
42288
42289 2011-08-23  Peter Kasting  <pkasting@google.com>
42290
42291         Unreviewed, rolling out r93452.
42292         http://trac.webkit.org/changeset/93452
42293         https://bugs.webkit.org/show_bug.cgi?id=66423
42294
42295         Broke Leopard, Snowleopard, and Chromium bots
42296
42297         * xml/parser/XMLDocumentParserLibxml2.cpp:
42298         (WebCore::XMLDocumentParser::XMLDocumentParser):
42299
42300 2011-08-23  Ahmad Sharif  <asharif@chromium.org>
42301
42302         Fixed warnings produced by gcc-4.6.0.
42303         https://bugs.webkit.org/show_bug.cgi?id=62168
42304
42305         Reviewed by Adam Barth.
42306
42307         * dom/Element.cpp:
42308         (WebCore::Element::recalcStyle):
42309         * platform/ScrollAnimatorNone.cpp:
42310         (WebCore::ScrollAnimatorNone::PerAxisData::curveAt):
42311         (WebCore::ScrollAnimatorNone::PerAxisData::curveDerivativeAt):
42312         * thirdparty: Copied from Source/WebCore/thirdparty.
42313
42314 2011-08-23  Alexandru Chiculita  <achicu@adobe.com>
42315
42316         Text overlaps with the floats
42317         https://bugs.webkit.org/show_bug.cgi?id=66671
42318
42319         The problem was that LineWidth::fitBelowFloats is not updating the m_left and m_right fields. 
42320         Next time LineWidth::shrinkAvailableWidthForNewFloatIfNeeded was called the width was recalculated 
42321         using the old values, making the line bigger.
42322
42323         Reviewed by David Hyatt.
42324
42325         Test: fast/block/float/fit_line_below_floats.html
42326
42327         * rendering/RenderBlockLineLayout.cpp:
42328         (WebCore::LineWidth::fitBelowFloats):
42329
42330 2011-08-23  Alexandru Chiculita  <achicu@adobe.com>
42331
42332         [CSSRegions] RenderFlowThread layout should use the attached region sizes
42333         https://bugs.webkit.org/show_bug.cgi?id=66143
42334
42335         When RenderFlowThread is doing the layout it also sets the current RenderFlowThread on
42336         the RenderView. RenderFlowThread cannot be nested inside a single RenderView, so there's no 
42337         need to put that on the LayoutState.
42338
42339         The right offset used to layout the inlines inside a RenderFlowThread
42340         is now adjusted to fit inside the current region.
42341
42342         Reviewed by David Hyatt.
42343
42344         Tests: fast/regions/webkit-flow-floats-inside-regions-bounds.html
42345                fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl.html
42346                fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical.html
42347                fast/regions/webkit-flow-inlines-inside-regions-bounds.html
42348
42349         * rendering/LayoutState.cpp:
42350         (WebCore::LayoutState::LayoutState):
42351         * rendering/RenderBlock.cpp:
42352         (WebCore::RenderBlock::layoutBlock):
42353         (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
42354         (WebCore::RenderBlock::logicalRightOffsetForLine):
42355         * rendering/RenderBlock.h:
42356         * rendering/RenderFlowThread.cpp:
42357         (WebCore::RenderFlowThread::RenderFlowThread):
42358         (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
42359         (WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
42360         (WebCore::RenderFlowThread::layout):
42361         (WebCore::RenderFlowThread::renderRegionForLine):
42362         (WebCore::RenderFlowThread::regionLogicalWidthForLine):
42363         * rendering/RenderFlowThread.h:
42364         (WebCore::RegionFittingDisabler::RegionFittingDisabler):
42365         (WebCore::RegionFittingDisabler::~RegionFittingDisabler):
42366         * rendering/RenderRegion.cpp:
42367         (WebCore::RenderRegion::layout):
42368         * rendering/RenderRegion.h:
42369         * rendering/RenderView.cpp:
42370         (WebCore::RenderView::RenderView):
42371         * rendering/RenderView.h:
42372         (WebCore::RenderView::hasRenderFlowThread):
42373         (WebCore::RenderView::currentRenderFlowThread):
42374         (WebCore::RenderView::setCurrentRenderFlowThread):
42375         (WebCore::RenderView::pushLayoutState):
42376
42377 2011-08-23  Alexandru Chiculita  <achicu@adobe.com>
42378
42379         Text-indent and floats push the text out of the container box
42380         https://bugs.webkit.org/show_bug.cgi?id=66662
42381
42382         Text indent was not propagated when a new float was pushed on the line.
42383         It was only calculated when the logicalLeft/RightOffsetForLine was called.
42384         Because of that RenderBlock::LineBreaker::nextLineBreak used a bigger width
42385         than actually available and made the line render on top of the borders.
42386
42387         Reviewed by David Hyatt.
42388
42389         Tests: fast/block/float/floats-and-text-indent-rl.html
42390                fast/block/float/floats-and-text-indent.html
42391
42392         * rendering/RenderBlock.cpp:
42393         (WebCore::RenderBlock::textIndentOffset):
42394         (WebCore::RenderBlock::logicalLeftOffsetForLine):
42395         (WebCore::RenderBlock::logicalRightOffsetForLine):
42396         * rendering/RenderBlock.h:
42397         * rendering/RenderBlockLineLayout.cpp:
42398         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
42399
42400 2011-08-23  Al Patrick  <apatrick@chromium.org>
42401
42402         Add shareResources flag to 3D graphics context attributes
42403         https://bugs.webkit.org/show_bug.cgi?id=66516
42404
42405         Reviewed by James Robinson.
42406
42407         * html/canvas/WebGLRenderingContext.cpp:
42408         (WebCore::WebGLRenderingContext::create):
42409         * platform/graphics/GraphicsContext3D.h:
42410         (WebCore::GraphicsContext3D::Attributes::Attributes):
42411         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
42412         (WebCore::SharedGraphicsContext3D::create):
42413
42414 2011-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>
42415
42416         Unreviewed, rolling out r93616.
42417         http://trac.webkit.org/changeset/93616
42418         https://bugs.webkit.org/show_bug.cgi?id=66796
42419
42420         "causes fast/css/absolute-child-with-percent-height-inside-
42421         relative-parent.html to fail" (Requested by mwenge2 on
42422         #webkit).
42423
42424         * rendering/RenderBlock.cpp:
42425         (WebCore::RenderBlock::adjustPositionedBlock):
42426         * rendering/RenderBlock.h:
42427         * rendering/RenderBlockLineLayout.cpp:
42428         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
42429         (WebCore::setStaticPositions):
42430         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
42431
42432 2011-07-25  Robert Hogan  <robert@webkit.org>
42433
42434         div align="center" rendering problem
42435         https://bugs.webkit.org/show_bug.cgi?id=4860
42436
42437         Reviewed by David Hyatt.
42438
42439         Tests: fast/inline/absolute-positioned-block-in-centred-block.html
42440                fast/inline/absolute-positioned-inline-in-centred-block.html
42441
42442         When an element with absolute position was the sole or first child of a render block with
42443         centred alignment, it wasn't obeying its parent's alignment. However it would obey the
42444         alignment if it was preceded by some text. The problem was that the element's render object
42445         was getting skipped as leading white space, so it was not included in a normal line block in
42446         a bidi run. Instead, its position was getting set by RenderBlockLineLayout::setStaticPositions()
42447         which does not pay attention to alignment. Preceding the element with some text allowed the object
42448         to get included in a Bidi run and so get a linebox which would get properly aligned.
42449
42450         The fix is to get RenderBlockLineLayout::setStaticPositions() to obey the alignment specified by
42451         the object's container. This allows WebKit to get the same result on the test as Firefox and IE.
42452         Opera has the same bug as unpatched WebKit.
42453
42454         * rendering/RenderBlock.cpp:
42455         (WebCore::RenderBlock::adjustPositionedBlock): use startAlignedOffsetForBlock
42456         * rendering/RenderBlock.h:
42457         * rendering/RenderBlockLineLayout.cpp:
42458         (WebCore::RenderBlock::updateLogicalWidthForAlignment):
42459         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Move the alignment check to updateLogicalWidthForAlignment.
42460         (WebCore::setStaticPositions): use startAlignedOffsetForLine and use startAlignedOffsetForBlock
42461         (WebCore::RenderBlock::LineBreaker::nextLineBreak): use startAlignedOffsetForLine
42462         (WebCore::RenderBlock::startAlignedOffsetForBlock): New function, find the aligned offset using updateLogicalWidthForAlignment
42463         (WebCore::RenderBlock::startAlignedOffsetForLine): ditto
42464
42465         * rendering/RenderBlock.h:
42466         * rendering/RenderBlockLineLayout.cpp:
42467         (WebCore::RenderBlock::updateLogicalWidthForAlignment):
42468         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Move the alignment check to updateLogicalWidthForAlignment.
42469         (WebCore::setStaticPositions): use startAlignedOffsetForLine.
42470         (WebCore::RenderBlock::startAlignedOffsetForLine): New function, find the aligned offset using updateLogicalWidthForAlignment
42471
42472 2011-08-23  Adrienne Walker  <enne@google.com>
42473
42474         [chromium] Remove LayerRendererChromium references from TiledLayerChromium
42475         https://bugs.webkit.org/show_bug.cgi?id=66433
42476
42477         Reviewed by James Robinson.
42478
42479         Covered by existing tests.
42480
42481         Updated TiledLayerChromium and the texture updater classes to not
42482         access LayerRendererChromium or cache GraphicsContext3D. Some settings
42483         like max texture size were moved from LayerRendererChromium to
42484         CCLayerTreeHost in order to facilitate this refactoring.
42485
42486         LayerTextureUpdaterSkPicture has been #ifdef'd to only work when the
42487         compositor is not threaded. It will need to be refactored more in
42488         order to not own graphics resources from the main thread.
42489
42490         * platform/graphics/chromium/ContentLayerChromium.cpp:
42491         (WebCore::ContentLayerChromium::paintContentsIfDirty):
42492         (WebCore::ContentLayerChromium::createTextureUpdater):
42493         * platform/graphics/chromium/ContentLayerChromium.h:
42494         * platform/graphics/chromium/ImageLayerChromium.cpp:
42495         (WebCore::ImageLayerTextureUpdater::create):
42496         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
42497         (WebCore::ImageLayerTextureUpdater::ImageLayerTextureUpdater):
42498         (WebCore::ImageLayerChromium::paintContentsIfDirty):
42499         (WebCore::ImageLayerChromium::createTextureUpdater):
42500         * platform/graphics/chromium/ImageLayerChromium.h:
42501         * platform/graphics/chromium/LayerChromium.cpp:
42502         (WebCore::LayerChromium::setLayerRenderer):
42503         (WebCore::LayerChromium::setLayerTreeHost):
42504         * platform/graphics/chromium/LayerChromium.h:
42505         * platform/graphics/chromium/LayerRendererChromium.cpp:
42506         * platform/graphics/chromium/LayerRendererChromium.h:
42507         * platform/graphics/chromium/LayerTextureUpdater.h:
42508         (WebCore::LayerTextureUpdater::LayerTextureUpdater):
42509         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
42510         (WebCore::LayerTextureUpdaterCanvas::LayerTextureUpdaterCanvas):
42511         (WebCore::LayerTextureUpdaterBitmap::create):
42512         (WebCore::LayerTextureUpdaterBitmap::LayerTextureUpdaterBitmap):
42513         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
42514         (WebCore::LayerTextureUpdaterSkPicture::create):
42515         (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
42516         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
42517         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
42518         (WebCore::LayerTextureUpdaterSkPicture::context):
42519         * platform/graphics/chromium/TiledLayerChromium.cpp:
42520         (WebCore::TiledLayerChromium::setLayerTreeHost):
42521         (WebCore::TiledLayerChromium::updateCompositorResources):
42522         (WebCore::TiledLayerChromium::invalidateRect):
42523         (WebCore::TiledLayerChromium::prepareToUpdate):
42524         * platform/graphics/chromium/TiledLayerChromium.h:
42525         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
42526         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
42527         (WebCore::CCLayerTreeHost::initialize):
42528         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
42529         (WebCore::CCLayerTreeHost::layerRenderer):
42530         (WebCore::CCLayerTreeHost::contextSupportsMapSub):
42531         (WebCore::CCLayerTreeHost::maxTextureSize):
42532         (WebCore::CCLayerTreeHost::bestTextureFormat):
42533
42534 2011-08-23  Julien Chaffraix  <jchaffraix@webkit.org>
42535
42536         Reduce the amount of RenderLayer rectangles' update when scrolling
42537         https://bugs.webkit.org/show_bug.cgi?id=66618
42538
42539         Reviewed by David Hyatt.
42540
42541         This patch avoids recomputing the RenderLayers rectangles if not needed.
42542
42543         The current code path for scrolling would update RenderLayers' repaint rectangles
42544         twice. However we do need to update only children of a fixed element as they are
42545         the only type of layers that move during a scroll.
42546
42547         We just change a call to updateLayerPositions for a call to updateLayerPositionsAfterScroll.
42548         updateLayerPositions being pessimist about the layer's state - because it is called after layout -
42549         it is missing some optimization that can be done during scrolling.
42550
42551         Tests: fast/repaint/scroll-absolute-layer-with-reflection.html
42552                fast/repaint/scroll-fixed-layer-with-reflection.html
42553                fast/repaint/scroll-fixed-layer-with-transformed-parent-layer.html
42554                fast/repaint/scroll-fixed-reflected-layer.html
42555                fast/repaint/scroll-in-clipped-layer.html
42556                fast/repaint/scroll-in-fixed-layer.html
42557                fast/repaint/scroll-in-transformed-layer.html
42558                fast/repaint/scroll-with-transformed-parent-layer.html
42559
42560         * rendering/RenderLayer.h:
42561         * page/FrameView.cpp:
42562         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
42563         Updated those 2 call sites after updateRepaintRectsAfterScroll renaming.
42564
42565         * rendering/RenderLayer.cpp:
42566         (WebCore::RenderLayer::updateLayerPositionsAfterScroll): Beefed up the method
42567         to take care of also updating the layer's position (that sounded like a bug in
42568         the previous code that is covered by the tests above). Note that we don't care
42569         if one of our ancestor has a fixed position as we are scrolling *inside* this
42570         ancestor.
42571
42572         (WebCore::RenderLayer::scrollTo): Call updateLayerPositionsAfterScroll instead of
42573         updateLayerPositions.
42574
42575 2011-08-23  Jeffrey Pfau  <jpfau@apple.com>
42576
42577         New XML parser: pretty XML tree viewer
42578         https://bugs.webkit.org/show_bug.cgi?id=66489
42579
42580         Reviewed by Adam Barth.
42581
42582         * xml/parser/NewXMLDocumentParser.cpp:
42583         (WebCore::NewXMLDocumentParser::finish):
42584
42585 2011-08-23  Jessie Berlin  <jberlin@apple.com>
42586
42587         Build fix.
42588
42589         * inspector/InspectorDOMAgent.h:
42590         HighlightData is a struct, not a class.
42591
42592 2011-08-23  Andrey Kosyakov  <caseq@chromium.org>
42593
42594         Web Inspector: [Extensions API] provide access to page resources
42595         https://bugs.webkit.org/show_bug.cgi?id=66767
42596
42597         Reviewed by Pavel Feldman.
42598
42599         Test: inspector/extensions/extensions-resources.html
42600
42601         * inspector/front-end/ExtensionAPI.js:
42602         (WebInspector.injectedExtensionAPI.EventSinkImpl.prototype.addListener):
42603         (WebInspector.injectedExtensionAPI):
42604         (WebInspector.injectedExtensionAPI.RequestImpl.prototype.getContent):
42605         (WebInspector.injectedExtensionAPI.InspectedWindow.resourceDispatch):
42606         (WebInspector.injectedExtensionAPI.InspectedWindow.resourceContentDispatch):
42607         (WebInspector.injectedExtensionAPI.InspectedWindow):
42608         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.eval):
42609         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.getResources):
42610         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.getResources.callbackWrapper):
42611         (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.get url):
42612         (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.get type):
42613         (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.getContent):
42614         (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.setContent):
42615         * inspector/front-end/ExtensionServer.js:
42616         (WebInspector.ExtensionServer):
42617         (WebInspector.ExtensionServer.prototype._notifyResourceAdded):
42618         (WebInspector.ExtensionServer.prototype.notifyResourceContentCommitted):
42619         (WebInspector.ExtensionServer.prototype._makeResource):
42620         (WebInspector.ExtensionServer.prototype._onGetPageResources):
42621         (WebInspector.ExtensionServer.prototype._getResourceContent):
42622         (WebInspector.ExtensionServer.prototype._onGetRequestContent):
42623         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
42624         (WebInspector.ExtensionServer.prototype._onSetResourceContent):
42625         (WebInspector.ExtensionServer.prototype.initExtensions):
42626         * inspector/front-end/Resource.js:
42627         (WebInspector.Resource.prototype.addRevision):
42628
42629 2011-08-23  Pavel Feldman  <pfeldman@google.com>
42630
42631         Not reviewed: fixing build. One line drive-by typo fix in the inspector shortcut (Esc -> Backspace).
42632
42633         * inspector/InspectorDOMAgent.cpp:
42634         (WebCore::InspectorDOMAgent::highlightFrame):
42635         * inspector/front-end/treeoutline.js:
42636         (TreeOutline.prototype._treeKeyDown):
42637
42638 2011-08-23  Alexander Pavlov  <apavlov@chromium.org>
42639
42640         Web Inspector: differentiate element highlight colors for margin and padding
42641         https://bugs.webkit.org/show_bug.cgi?id=37768
42642
42643         The highlighting WIP API is slightly changed: clients will specify colors for certain elements of the highlighted objects,
42644         rather than a generic "highlighting mode". This allows to:
42645         - use entirely custom colors for highlighting (and vary them over time);
42646         - display any combination of fill/outline for the highlighted area;
42647         - highlight any combinations of element parts.
42648
42649         Reviewed by Pavel Feldman.
42650
42651         * inspector/DOMNodeHighlighter.cpp:
42652         (WebCore::DOMNodeHighlighter::drawHighlight):
42653         * inspector/DOMNodeHighlighter.h:
42654         * inspector/Inspector.json:
42655         * inspector/InspectorDOMAgent.cpp:
42656         (WebCore::parseColor):
42657         (WebCore::parseConfigColor):
42658         (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
42659         (WebCore::InspectorDOMAgent::clearFrontend):
42660         (WebCore::InspectorDOMAgent::highlightedNode):
42661         (WebCore::InspectorDOMAgent::handleMousePress):
42662         (WebCore::InspectorDOMAgent::mouseDidMoveOverElement):
42663         (WebCore::InspectorDOMAgent::setSearchingForNode):
42664         (WebCore::InspectorDOMAgent::setInspectModeEnabled):
42665         (WebCore::InspectorDOMAgent::setHighlightDataFromConfig):
42666         (WebCore::InspectorDOMAgent::highlight):
42667         (WebCore::InspectorDOMAgent::highlightRect):
42668         (WebCore::InspectorDOMAgent::highlightNode):
42669         (WebCore::InspectorDOMAgent::highlightFrame):
42670         (WebCore::InspectorDOMAgent::hideHighlight):
42671         (WebCore::InspectorDOMAgent::drawHighlight):
42672         * inspector/InspectorDOMAgent.h:
42673         * inspector/front-end/Color.js:
42674         (WebInspector.Color.fromRGBA):
42675         (WebInspector.Color.prototype.toProtocolRGBA):
42676         * inspector/front-end/ElementsPanel.js:
42677         (WebInspector.ElementsPanel.prototype.setSearchingForNode):
42678         * inspector/front-end/MetricsSidebarPane.js:
42679         (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode.handleMouseOver):
42680         (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode.handleMouseOut):
42681         (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
42682         * inspector/front-end/ResourcesPanel.js:
42683         (WebInspector.FrameTreeElement.prototype.set hovered):
42684         * inspector/front-end/TimelinePanel.js:
42685         (WebInspector.TimelinePanel.prototype._highlightRect):
42686         * inspector/front-end/inspector.css:
42687         * inspector/front-end/inspector.js:
42688         (WebInspector.buildHighlightConfig):
42689         (WebInspector.highlightDOMNode):
42690
42691 2011-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>
42692
42693         Unreviewed, rolling out r93579.
42694         http://trac.webkit.org/changeset/93579
42695         https://bugs.webkit.org/show_bug.cgi?id=66774
42696
42697         "ASSERTION FAILED: m_purgePreventCount" (Requested by tonyg-cr
42698         on #webkit).
42699
42700         * platform/graphics/chromium/FontCacheLinux.cpp:
42701         (WebCore::FontCache::getFontDataForCharacters):
42702
42703 2011-08-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
42704
42705         [Qt] Fix build on Lion
42706
42707         https://bugs.webkit.org/show_bug.cgi?id=66770
42708
42709         Reviewed by Andreas Kling.
42710
42711         We were mistakenly picking up mac/WebCoreSystemInterface.h instead of
42712         the Qt one, and building on Lion revealed this when a typedef for
42713         IOSurfaceRef was wrapped in PLATFORM(MAC).
42714
42715         For now we fix this by including WebCoreSystemInterface using
42716         brackets, so that we'll pick up the right file based on the
42717         include paths. This also means exposing a few missing enums
42718         in our own version of the file, so those were added.
42719
42720         Lasty, we need to link against the right system interface library
42721         on Lion.
42722
42723         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
42724         * platform/qt/WebCoreSystemInterface.h:
42725
42726 2011-08-23  Steve Block  <steveblock@google.com>
42727
42728         Remove last occurrences of PLATFORM(ANDROID)
42729         https://bugs.webkit.org/show_bug.cgi?id=66763
42730
42731         Reviewed by Tony Gentilcore.
42732
42733         No new tests, removing dead code only.
42734
42735         * bindings/v8/V8GCController.cpp:
42736         (WebCore::V8GCController::checkMemoryUsage):
42737
42738 2011-08-23  Steve Block  <steveblock@google.com>
42739
42740         Remove Android-specific modifications to non-client-based Geolocation
42741         https://bugs.webkit.org/show_bug.cgi?id=66759
42742
42743         Reviewed by Tony Gentilcore.
42744
42745         No new tests, removing dead code only.
42746
42747         * page/Geolocation.cpp:
42748         * page/Geolocation.h:
42749         * platform/GeolocationService.h:
42750         * platform/efl/GeolocationServiceEfl.cpp:
42751         * platform/efl/GeolocationServiceEfl.h:
42752         * platform/gtk/GeolocationServiceGtk.cpp:
42753         * platform/gtk/GeolocationServiceGtk.h:
42754
42755 2011-08-19  Pavel Podivilov  <podivilov@chromium.org>
42756
42757         Web Inspector: switch to using BreakpointManager.
42758         https://bugs.webkit.org/show_bug.cgi?id=66225
42759
42760         Reviewed by Pavel Feldman.
42761
42762         * inspector/front-end/DebuggerPresentationModel.js:
42763         (WebInspector.DebuggerPresentationModel):
42764         (WebInspector.DebuggerPresentationModel.prototype._addScript.didCreateSourceMapping):
42765         (WebInspector.DebuggerPresentationModel.prototype._addScript):
42766         (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
42767         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
42768         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
42769         (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
42770         (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
42771         (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
42772         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
42773         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
42774         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
42775         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
42776         (WebInspector.PresentationBreakpoint.prototype.loadSnippet):
42777         * inspector/front-end/SourceFile.js:
42778         (WebInspector.RawSourceCode):
42779
42780 2011-08-23  Steve Block  <steveblock@google.com>
42781
42782         Remove all mention of removed Android files from build scripts
42783         https://bugs.webkit.org/show_bug.cgi?id=66755
42784
42785         Reviewed by Tony Gentilcore.
42786
42787         No new tests, removing dead code only.
42788
42789         * WebCore.gyp/WebCore.gyp:
42790         * WebCore.gypi:
42791         * gyp/WebCore.gyp:
42792
42793 2011-08-23  Mikhail Naganov  <mnaganov@chromium.org>
42794
42795         Web Inspector: [Chromium] Fix handling of aggregate names in profiler.
42796         https://bugs.webkit.org/show_bug.cgi?id=66753
42797
42798         Reviewed by Pavel Feldman.
42799
42800         * inspector/front-end/HeapSnapshot.js:
42801         (WebInspector.HeapSnapshot.prototype._buildAggregates):
42802
42803 2011-08-23  Adam Barth  <abarth@webkit.org>
42804
42805         Remove WebCore/editing/android and other Android-specific directories
42806         https://bugs.webkit.org/show_bug.cgi?id=66739
42807
42808         Reviewed by Steve Block.
42809
42810         Now that Android shares more code with Chromium, we don't need these
42811         Android-specific files.
42812
42813         * editing/android: Removed.
42814         * editing/android/EditorAndroid.cpp: Removed.
42815         * history/android: Removed.
42816         * history/android/AndroidWebHistoryBridge.h: Removed.
42817         * history/android/HistoryItemAndroid.cpp: Removed.
42818         * page/android: Removed.
42819         * page/android/DragControllerAndroid.cpp: Removed.
42820         * page/android/EventHandlerAndroid.cpp: Removed.
42821         * platform/network/android: Removed.
42822         * platform/network/android/AuthenticationChallenge.h: Removed.
42823         * platform/network/android/CookieJarAndroid.cpp: Removed.
42824         * platform/network/android/ProxyServerAndroid.cpp: Removed.
42825         * platform/network/android/ResourceError.h: Removed.
42826         * platform/network/android/ResourceHandleAndroid.cpp: Removed.
42827         * platform/network/android/ResourceLoaderAndroid.h: Removed.
42828         * platform/network/android/ResourceRequest.h: Removed.
42829         * platform/network/android/ResourceRequestAndroid.cpp: Removed.
42830         * platform/network/android/ResourceResponse.h: Removed.
42831         * platform/text/android: Removed.
42832         * platform/text/android/HyphenationAndroid.cpp: Removed.
42833         * platform/text/android/TextBreakIteratorInternalICU.cpp: Removed.
42834
42835 2011-08-23  Adam Barth  <abarth@webkit.org>
42836
42837         Remove WebCore/platform/android
42838         https://bugs.webkit.org/show_bug.cgi?id=66734
42839
42840         Reviewed by Steve Block.
42841
42842         This directory is not needed now that Android shares more code with
42843         Chromium.
42844
42845         * platform/android: Removed.
42846         * platform/android/ClipboardAndroid.cpp: Removed.
42847         * platform/android/ClipboardAndroid.h: Removed.
42848         * platform/android/CursorAndroid.cpp: Removed.
42849         * platform/android/DragDataAndroid.cpp: Removed.
42850         * platform/android/EventLoopAndroid.cpp: Removed.
42851         * platform/android/FileSystemAndroid.cpp: Removed.
42852         * platform/android/GeolocationServiceAndroid.cpp: Removed.
42853         * platform/android/GeolocationServiceAndroid.h: Removed.
42854         * platform/android/GeolocationServiceBridge.cpp: Removed.
42855         * platform/android/GeolocationServiceBridge.h: Removed.
42856         * platform/android/KeyEventAndroid.cpp: Removed.
42857         * platform/android/LanguageAndroid.cpp: Removed.
42858         * platform/android/LocalizedStringsAndroid.cpp: Removed.
42859         * platform/android/PlatformBridge.h: Removed.
42860         * platform/android/PlatformTouchEventAndroid.cpp: Removed.
42861         * platform/android/PlatformTouchPointAndroid.cpp: Removed.
42862         * platform/android/PopupMenuAndroid.cpp: Removed.
42863         * platform/android/RenderThemeAndroid.cpp: Removed.
42864         * platform/android/RenderThemeAndroid.h: Removed.
42865         * platform/android/SSLKeyGeneratorAndroid.cpp: Removed.
42866         * platform/android/ScreenAndroid.cpp: Removed.
42867         * platform/android/ScrollViewAndroid.cpp: Removed.
42868         * platform/android/SearchPopupMenuAndroid.cpp: Removed.
42869         * platform/android/SharedTimerAndroid.cpp: Removed.
42870         * platform/android/SoundAndroid.cpp: Removed.
42871         * platform/android/SystemTimeAndroid.cpp: Removed.
42872         * platform/android/TemporaryLinkStubs.cpp: Removed.
42873         * platform/android/WidgetAndroid.cpp: Removed.
42874
42875 2011-08-23  Pavel Feldman  <pfeldman@google.com>
42876
42877         Not reviewed. Adding a file that slipped from r93586.
42878
42879         * inspector/generate-protocol-externs: Added.
42880
42881 2011-08-22  Pavel Feldman  <pfeldman@google.com>
42882
42883         Web Inspector: generate protocol externs API for the front-end compilation.
42884         https://bugs.webkit.org/show_bug.cgi?id=66677
42885
42886         Reviewed by Tony Gentilcore.
42887
42888         * inspector/Inspector.json:
42889         * inspector/InspectorDOMAgent.cpp:
42890         (WebCore::InspectorDOMAgent::setAttributesText):
42891         * inspector/InspectorDOMAgent.h:
42892         * inspector/InspectorDebuggerAgent.cpp:
42893         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
42894         * inspector/InspectorDebuggerAgent.h:
42895         * inspector/compile-front-end.sh: Added.
42896         * inspector/front-end/DOMAgent.js:
42897         (WebInspector.DOMNode.prototype.setAttribute):
42898         * inspector/front-end/DebuggerModel.js:
42899         (WebInspector.DebuggerModel.prototype.setBreakpoint):
42900         * inspector/front-end/externs.js: Added.
42901         (console.warn):
42902
42903 2011-08-22  Pavel Feldman  <pfeldman@google.com>
42904
42905         Web Inspector: Prepare utilities.js for compilation.
42906         https://bugs.webkit.org/show_bug.cgi?id=66656
42907
42908         Removes "this" usage in functions, does not define getters for offsets.
42909
42910         Reviewed by Tony Gentilcore.
42911
42912         * inspector/front-end/ConsoleView.js:
42913         (WebInspector.ConsoleMessage.prototype._format):
42914         (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.valueFormatter):
42915         * inspector/front-end/DOMAgent.js:
42916         (WebInspector.DOMNode.prototype.appropriateSelectorFor):
42917         (WebInspector.DOMNode.prototype.isAncestor):
42918         (WebInspector.DOMNode.prototype.isDescendant):
42919         (WebInspector.DOMNode.prototype.isWhitespace):
42920         * inspector/front-end/DataGrid.js:
42921         (WebInspector.DataGrid.prototype._resizerDragging):
42922         (WebInspector.DataGridNode.prototype.isEventWithinDisclosureTriangle):
42923         * inspector/front-end/Drawer.js:
42924         (WebInspector.Drawer.prototype.get savedHeight):
42925         (WebInspector.Drawer.prototype.onResize):
42926         (WebInspector.Drawer.prototype._startStatusBarDragging):
42927         (WebInspector.Drawer.prototype._statusBarDragging):
42928         * inspector/front-end/ElementsPanel.js:
42929         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
42930         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
42931         (WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes.crumbsAreSmallerThanContainer):
42932         * inspector/front-end/ElementsTreeOutline.js:
42933         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
42934         (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
42935         ():
42936         * inspector/front-end/RemoteObject.js:
42937         (WebInspector.RemoteObject):
42938         * inspector/front-end/ResourceTimingView.js:
42939         (WebInspector.ResourceTimingView.createTimingTable):
42940         * inspector/front-end/ResourcesPanel.js:
42941         (WebInspector.BaseStorageTreeElement.prototype.isEventWithinDisclosureTriangle):
42942         * inspector/front-end/ScriptsPanel.js:
42943         (WebInspector.ScriptsPanel.prototype._startSidebarResizeDrag):
42944         * inspector/front-end/SoftContextMenu.js:
42945         (.WebInspector.SoftContextMenu.prototype.show):
42946         * inspector/front-end/Toolbar.js:
42947         (WebInspector.ToolbarDropdown.prototype.show):
42948         * inspector/front-end/WatchExpressionsSidebarPane.js:
42949         (WebInspector.WatchExpressionsSection.prototype._updateHoveredElement):
42950         * inspector/front-end/inspector.js:
42951         (Number.secondsToString):
42952         (Number.bytesToString):
42953         * inspector/front-end/treeoutline.js:
42954         (TreeElement.prototype.isEventWithinDisclosureTriangle):
42955         * inspector/front-end/utilities.js:
42956         (setupPrototypeUtilities.Element.prototype.totalOffsetLeft):
42957         (setupPrototypeUtilities.Element.prototype.totalOffsetTop):
42958         (setupPrototypeUtilities.Element.prototype.offsetRelativeToWindow):
42959         (setupPrototypeUtilities):
42960         (setupPrototypeUtilities.):
42961         ():
42962
42963 2011-08-22  John Bates  <jbates@google.com>
42964
42965         Implemented skia support for caching resizes of cropped images.
42966         https://bugs.webkit.org/show_bug.cgi?id=65587
42967
42968         Reviewed by Darin Fisher.
42969
42970         Previously, resizes of cropped images would not be cached. This causes various websites to have janky CSS animations in software compositing mode.
42971
42972         * platform/graphics/skia/ImageSkia.cpp:
42973         (WebCore::drawResampledBitmap): Changed to use new APIs for subset caching.
42974         (WebCore::Image::drawPattern): Added allowCaching parameter.
42975         * platform/graphics/skia/NativeImageSkia.cpp:
42976         (WebCore::NativeImageSkia::NativeImageSkia):
42977         (WebCore::NativeImageSkia::CachedImageInfo::CachedImageInfo):
42978         (WebCore::NativeImageSkia::CachedImageInfo::isEqual):
42979         (WebCore::NativeImageSkia::CachedImageInfo::set):
42980         (WebCore::NativeImageSkia::hasResizedBitmap): Changed this method so that it does not modify caching data. Added a second version used for cropped image resizes.
42981         (WebCore::NativeImageSkia::resizedBitmap): Added parameter to let caller specify whether caching is allowed.
42982         (WebCore::NativeImageSkia::shouldCacheResampling): Added a second version used for cropped image resizes.
42983         (WebCore::NativeImageSkia::shouldCacheResamplingInternal): Both shouldCacheResampling methods call down to this for the shared logic.
42984         * platform/graphics/skia/NativeImageSkia.h: Added CachedImageInfo to uniquely identify the cached or requested image resize operation.
42985
42986 2011-08-22  Tony Gentilcore  <tonyg@chromium.org>
42987
42988         [chromium] Fonts returned by FontCache::getFontDataForCharacters() are never released
42989         https://bugs.webkit.org/show_bug.cgi?id=66673
42990
42991         Reviewed by James Robinson.
42992
42993         This was fixed for other ports in http://trac.webkit.org/changeset/88260.
42994         However, it was missed in FontCacheLinux likely due to similar param in the nested call to getCachedFontPlatformData().
42995
42996         No new tests because no directly observable change in behavior.
42997
42998         * platform/graphics/chromium/FontCacheLinux.cpp:
42999         (WebCore::FontCache::getFontDataForCharacters):
43000
43001 2011-08-22  Sheriff Bot  <webkit.review.bot@gmail.com>
43002
43003         Unreviewed, rolling out r93565.
43004         http://trac.webkit.org/changeset/93565
43005         https://bugs.webkit.org/show_bug.cgi?id=66745
43006
43007         Breaks layout tests (Requested by koz2 on #webkit).
43008
43009         * accessibility/AccessibilityRenderObject.cpp:
43010         (WebCore::AccessibilityRenderObject::ariaLabeledByElements):
43011         (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
43012         (WebCore::AccessibilityRenderObject::title):
43013         (WebCore::AccessibilityRenderObject::hasTextAlternative):
43014         * accessibility/AccessibilityRenderObject.h:
43015
43016 2011-08-22  Alice Boxhall  <aboxhall@chromium.org>
43017
43018         Range::setEnd(const Position&, ExceptionCode) calls setStart() instead of setEnd()
43019         https://bugs.webkit.org/show_bug.cgi?id=66638
43020
43021         Reviewed by Ryosuke Niwa.
43022
43023         Relevant layout test coming in a future patch (see https://bugs.webkit.org/show_bug.cgi?id=65900)
43024
43025         * dom/Range.cpp:
43026         (WebCore::Range::setEnd):
43027
43028 2011-08-22  Adam Barth  <abarth@webkit.org>
43029
43030         Remove PLATFORM(ANDROID)
43031         https://bugs.webkit.org/show_bug.cgi?id=66741
43032
43033         Reviewed by Darin Adler.
43034
43035         PLATFORM(CHROMIUM) && OS(ANDROID) is the new hotness.  These special
43036         cases can be removed now that Android shares more code with Chromium.
43037
43038         * bindings/js/JSDOMWindowBase.cpp:
43039         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
43040         * bindings/v8/ScriptCachedFrameData.cpp:
43041         * bindings/v8/ScriptCachedFrameData.h:
43042         * bindings/v8/V8GCController.cpp:
43043         * bridge/jni/jsc/JavaInstanceJSC.cpp:
43044         (JavaInstance::invokeMethod):
43045         * history/HistoryItem.cpp:
43046         (WebCore::HistoryItem::~HistoryItem):
43047         (WebCore::HistoryItem::setDocumentState):
43048         (WebCore::HistoryItem::clearDocumentState):
43049         (WebCore::HistoryItem::setIsTargetItem):
43050         (WebCore::HistoryItem::addChildItem):
43051         (WebCore::HistoryItem::setFormInfoFromRequest):
43052         * history/HistoryItem.h:
43053         * loader/cache/CachedFont.cpp:
43054         * platform/DragImage.h:
43055         * platform/PlatformTouchEvent.h:
43056         * platform/PlatformTouchPoint.h:
43057         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
43058         * platform/Widget.h:
43059         * platform/network/NetworkStateNotifier.cpp:
43060         * platform/network/NetworkStateNotifier.h:
43061         * platform/network/NetworkingContext.h:
43062         * platform/network/ResourceHandle.h:
43063         * platform/network/ResourceHandleInternal.h:
43064         * platform/network/ResourceRequestBase.cpp:
43065
43066 2011-08-22  Adrienne Walker  <enne@google.com>
43067
43068         [chromium] Remove compositing assertions about creating layers when painting
43069         https://bugs.webkit.org/show_bug.cgi?id=66731
43070
43071         Reviewed by James Robinson.
43072
43073         The trigger for this assertion would cause a real rendering issue, but
43074         it is both intermittent and in the wrong place in the codebase to
43075         catch the source of the problem.
43076
43077         * platform/graphics/chromium/LayerChromium.cpp:
43078         (WebCore::LayerChromium::LayerChromium):
43079         (WebCore::LayerChromium::~LayerChromium):
43080         * platform/graphics/chromium/LayerRendererChromium.cpp:
43081         (WebCore::LayerRendererChromium::updateLayers):
43082         * platform/graphics/chromium/LayerRendererChromium.h:
43083
43084 2011-08-22  Alexey Proskuryakov  <ap@apple.com>
43085
43086         showModalDialog does not correctly return the defined returnValue in case domain relaxing is used
43087         https://bugs.webkit.org/show_bug.cgi?id=53191
43088         <rdar://problem/8629478>
43089
43090         Reviewed by Geoff Garen.
43091
43092         Cannot test domain relaxing, we only have 127.0.0.1 and localhost.
43093
43094         * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::getOwnPropertySlot):
43095         Added a FIXME about a difference with Firefox.
43096
43097         (WebCore::DialogHandler::DialogHandler):
43098         (WebCore::DialogHandler::dialogCreated):
43099         (WebCore::DialogHandler::returnValue):
43100         Changed to fetch returnValue from the global object that's in the frame when the dialog is
43101         dismissed. A dialog can navigate itself, and it also creates a new JSDOMWindow on first load
43102         if the origin doesn't match opener origin (which the case with domain relaxing).
43103         Re-added a security check for returnValue that got lost in r73829, so that we don't send the
43104         result across origins. This matches Firefox.
43105
43106         * bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::setWindow): Added an assertion
43107         against a very confusing case that should no longer occur.
43108
43109         * page/Frame.cpp: (WebCore::Frame::pageDestroyed): Don't clear the window shell, it doesn't
43110         seem necessary, but prevents DialogHandler from fetching the return value. Added a keepAlive
43111         call to avoid changing life support timer behavior in this patch.
43112
43113 2011-08-22  Alice Boxhall  <aboxhall@chromium.org>
43114
43115         Reviewed by Chris Fleizach.
43116
43117         aria-labelledby should be used in preference to aria-labeledby
43118         https://bugs.webkit.org/show_bug.cgi?id=62351
43119
43120         Test: accessibility/aria-labelledby-overrides-aria-labeledby.html
43121
43122         * accessibility/AccessibilityRenderObject.cpp:
43123         (WebCore::AccessibilityRenderObject::ariaLabelledByElements): Renamed from ariaLabeledByElements.
43124         (WebCore::AccessibilityRenderObject::ariaLabelledByAttribute): Renamed from ariaLabeledByAttribute,
43125         and re-ordered to prefer the standard spelling.
43126         (WebCore::AccessibilityRenderObject::title):
43127         (WebCore::AccessibilityRenderObject::hasTextAlternative):
43128         * accessibility/AccessibilityRenderObject.h:
43129
43130 2011-08-22  Nat Duca  <nduca@chromium.org>
43131
43132         Make GraphicsContext3D::isResourceSafe a function and, on Chromium, determine its value lazily
43133         https://bugs.webkit.org/show_bug.cgi?id=66708
43134
43135         Reviewed by Kenneth Russell.
43136
43137         * platform/graphics/GraphicsContext3D.cpp:
43138         (WebCore::GraphicsContext3D::texImage2DResourceSafe):
43139         * platform/graphics/GraphicsContext3D.h:
43140         * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
43141         (WebCore::GraphicsContext3D::GraphicsContext3D):
43142         * platform/graphics/mac/GraphicsContext3DMac.mm:
43143         (WebCore::GraphicsContext3D::GraphicsContext3D):
43144         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
43145         (WebCore::GraphicsContext3D::isResourceSafe):
43146         * platform/graphics/qt/GraphicsContext3DQt.cpp:
43147         (WebCore::GraphicsContext3D::GraphicsContext3D):
43148
43149 2011-08-22  Adam Barth  <abarth@webkit.org>
43150
43151         HTMLSourceTracker crashes when network packets break poorly
43152         https://bugs.webkit.org/show_bug.cgi?id=66728
43153
43154         Reviewed by Darin Adler.
43155
43156         If there is a network packet boundary in the middle of an attribute
43157         that begins with the letters "on", then the HTMLSourceTracker will get
43158         confused and try to extract too many characters from future input.  If
43159         the future input is small enough, that will walk off the end of the
43160         input and crash.
43161
43162         Test: http/tests/security/xssAuditor/crash-while-loading-tag-with-pause.html
43163
43164         * html/parser/HTMLSourceTracker.cpp:
43165         (WebCore::HTMLSourceTracker::sourceForToken):
43166
43167 2011-08-22  Eric Seidel  <eric@webkit.org>
43168
43169         Attempt to clean up bidiNext usage
43170         https://bugs.webkit.org/show_bug.cgi?id=66721
43171
43172         Reviewed by Ryosuke Niwa.
43173
43174         bidiNext and bidiFirst are horribly confusing.
43175         Even worse is that bidiNext takes a bunch of mutually exclusive options.
43176         It appears that there is a "return me every inline, even if its empty"
43177         mode which is only used for simplified inline layout in RenderBlock.cpp.
43178         To support that mode, there is a endOfInline pointer which keeps track
43179         of if we just returned at the end of an inline to so we don't get stuck in
43180         and empty inline (unable to distinguish the start from the finish).
43181
43182         The actual bidi/line-layout code uses bidiNext/bidiFirst in a "skip empty inlines"
43183         mode.  (Since empty inlines do not participate in the Unicode Bidi Algorithm.)
43184
43185         This change renames bidiNext to bidiNextShared (still a horrible name) and moves
43186         all callers to explicitly calling bidiNextSkippingEmptyInlines or bidiNextIncludingEmptyInlines.
43187         It becomes obvious which code uses which.
43188
43189         In reviewing this code be aware that the previous bidiNext default was to "skip empty inlines" (skipInlines = true).
43190         Thus any caller who didn't pass true/false should now be calling bidiNextSkippingEmptyInlines instead.
43191
43192         No functional change, thus no tests.
43193
43194         * rendering/InlineIterator.h:
43195         (WebCore::bidiNextShared):
43196         (WebCore::bidiNextSkippingEmptyInlines):
43197         (WebCore::bidiNextIncludingEmptyInlines):
43198         (WebCore::bidiFirstSkippingEmptyInlines):
43199         (WebCore::bidiFirstIncludingEmptyInlines):
43200         (WebCore::InlineWalker::InlineWalker):
43201         (WebCore::InlineWalker::advance):
43202         (WebCore::InlineIterator::increment):
43203         (WebCore::InlineBidiResolver::appendRun):
43204         * rendering/RenderBlockLineLayout.cpp:
43205         (WebCore::RenderBlock::determineStartPosition):
43206         (WebCore::shouldSkipWhitespaceAfterStartObject):
43207         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
43208
43209 2011-08-22  David Levin  <levin@chromium.org>
43210
43211         Fix usage of PassRefPtr in postMessage and structured clone code.
43212         https://bugs.webkit.org/show_bug.cgi?id=66725
43213
43214         Reviewed by Darin Adler.
43215
43216         No new functionality exposed so no new tests.
43217
43218         * bindings/js/JSDOMWindowCustom.cpp:
43219         (WebCore::JSDOMWindow::postMessage): Changed PassRefPtr to RefPtr and added release when handed off.
43220         * bindings/js/JSMessageEventCustom.cpp:
43221         (WebCore::JSMessageEvent::initMessageEvent): Ditto.
43222         * bindings/js/JSMessagePortCustom.h:
43223         (WebCore::handlePostMessage): Ditto.
43224         * bindings/js/SerializedScriptValue.cpp:
43225         (WebCore::SerializedScriptValue::create): Ditto.
43226         * workers/SharedWorkerContext.cpp:
43227         (WebCore::createConnectEvent): Added release() when a RefPtr is returned.
43228
43229 2011-08-22  Luke Macpherson   <macpherson@chromium.org>
43230
43231         Implement cast between CSSPrimitiveValue and EBackfaceVisibility, use in CSSStyleSelector::applyProperty.
43232         https://bugs.webkit.org/show_bug.cgi?id=66648
43233
43234         Reviewed by Dan Bernstein.
43235
43236         No new tests / no functionality changed.
43237
43238         * css/CSSPrimitiveValueMappings.h:
43239         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
43240         Support cast from EBackfaceVisibility.
43241         (WebCore::CSSPrimitiveValue::operator EBackfaceVisibility):
43242         Support cast from EBackfaceVisibility.
43243         * css/CSSStyleSelector.cpp:
43244         (WebCore::CSSStyleSelector::applyProperty):
43245         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro.
43246
43247 2011-08-22  Peter Kasting  <pkasting@google.com>
43248
43249         Unreviewed, rolling out r93538.
43250         http://trac.webkit.org/changeset/93538
43251         https://bugs.webkit.org/show_bug.cgi?id=66143
43252
43253         Broke Leopard, SnowLeopard, and Chromium Mac bots
43254
43255         * rendering/LayoutState.cpp:
43256         (WebCore::LayoutState::LayoutState):
43257         * rendering/RenderBlock.cpp:
43258         (WebCore::RenderBlock::layoutBlock):
43259         (WebCore::RenderBlock::logicalRightOffsetForLine):
43260         * rendering/RenderBlock.h:
43261         * rendering/RenderFlowThread.cpp:
43262         (WebCore::RenderFlowThread::RenderFlowThread):
43263         (WebCore::RenderFlowThread::layout):
43264         (WebCore::RenderFlowThread::repaintRectangleInRegions):
43265         * rendering/RenderFlowThread.h:
43266         * rendering/RenderRegion.cpp:
43267         * rendering/RenderRegion.h:
43268         * rendering/RenderView.cpp:
43269         (WebCore::RenderView::RenderView):
43270         * rendering/RenderView.h:
43271         (WebCore::RenderView::pushLayoutState):
43272
43273 2011-08-22  Tony Chang  <tony@chromium.org>
43274
43275         Add CSS parsing of -webkit-flex-pack
43276         https://bugs.webkit.org/show_bug.cgi?id=66701
43277
43278         Reviewed by Eric Seidel.
43279
43280         * css/CSSComputedStyleDeclaration.cpp:
43281         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
43282         * css/CSSParser.cpp:
43283         (WebCore::CSSParser::parseValue):
43284         * css/CSSPrimitiveValueMappings.h:
43285         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
43286         (WebCore::CSSPrimitiveValue::operator EFlexPack):
43287         * css/CSSPropertyNames.in:
43288         * css/CSSStyleApplyProperty.cpp:
43289         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
43290         * css/CSSStyleSelector.cpp:
43291         (WebCore::CSSStyleSelector::applyProperty):
43292         * rendering/style/RenderStyle.h:
43293         (WebCore::InheritedFlags::flexPack):
43294         (WebCore::InheritedFlags::setFlexPack):
43295         (WebCore::InheritedFlags::initialFlexPack):
43296         * rendering/style/RenderStyleConstants.h:
43297         * rendering/style/StyleFlexibleBoxData.cpp:
43298         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
43299         (WebCore::StyleFlexibleBoxData::operator==):
43300         * rendering/style/StyleFlexibleBoxData.h:
43301
43302 2011-08-22  Tony Chang  <tony@chromium.org>
43303
43304         handle child margin values when flexing
43305         https://bugs.webkit.org/show_bug.cgi?id=65887
43306
43307         Reviewed by David Hyatt.
43308
43309         Test: css3/flexbox/002.html
43310
43311         * rendering/RenderBox.cpp:
43312         (WebCore::RenderBox::computeLogicalWidth):
43313         * rendering/RenderFlexibleBox.cpp:
43314         (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
43315         (WebCore::RenderFlexibleBox::computePreferredSize): If the margin is
43316             auto, treat it as flex(1 0 0).
43317         * rendering/RenderObject.cpp:
43318         (WebCore::RenderObject::isFlexibleBoxIncludingDeprecated): Added.
43319
43320 2011-08-22  Nat Duca  <nduca@chromium.org>
43321
43322         [chromium] Make compositor context current before querying for extensions
43323         https://bugs.webkit.org/show_bug.cgi?id=66696
43324
43325         Reviewed by James Robinson.
43326
43327         * platform/graphics/chromium/LayerRendererChromium.cpp:
43328         (WebCore::LayerRendererChromium::initialize):
43329
43330 2011-08-22  Cary Clark  <caryclark@google.com>
43331
43332         Webkit Mac10.6 Builder-Tester (Skia)(deps)(dbg) has compile failures
43333         https://bugs.webkit.org/show_bug.cgi?id=66703
43334
43335         This error was detected by the debug build of the Chromium WebKit
43336         Canary.
43337
43338         Reviewed by James Robinson.
43339
43340         No new tests. This change suppresses a compile-time warning
43341         but does not affect the generated code. 
43342
43343         * platform/graphics/mac/FontCustomPlatformData.h:
43344         Replaced struct with class in a forward reference.
43345
43346 2011-08-22  Alexandru Chiculita  <achicu@adobe.com>
43347
43348         [CSSRegions] RenderFlowThread layout should use the attached region sizes
43349         https://bugs.webkit.org/show_bug.cgi?id=66143
43350
43351         When RenderFlowThread is doing the layout it also sets the current RenderFlowThread on
43352         the RenderView. RenderFlowThread cannot be nested inside a single RenderView, so there's no 
43353         need to put that on the LayoutState.
43354
43355         The right offset used to layout the inlines inside a RenderFlowThread
43356         is now adjusted to fit inside the current region.
43357
43358         Reviewed by David Hyatt.
43359
43360         Tests: fast/regions/webkit-flow-floats-inside-regions-bounds.html
43361                fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-lr.html
43362                fast/regions/webkit-flow-inlines-inside-regions-bounds.html
43363
43364         * rendering/LayoutState.cpp:
43365         (WebCore::LayoutState::LayoutState):
43366         * rendering/RenderBlock.cpp:
43367         (WebCore::RenderBlock::layoutBlock):
43368         (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
43369         (WebCore::RenderBlock::logicalRightOffsetForLine):
43370         * rendering/RenderBlock.h:
43371         * rendering/RenderFlowThread.cpp:
43372         (WebCore::RenderFlowThread::RenderFlowThread):
43373         (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
43374         (WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
43375         (WebCore::RenderFlowThread::layout):
43376         (WebCore::RenderFlowThread::renderRegionForLine):
43377         (WebCore::RenderFlowThread::regionLogicalWidthForLine):
43378         * rendering/RenderFlowThread.h:
43379         (WebCore::RegionFittingDisabler::RegionFittingDisabler):
43380         (WebCore::RegionFittingDisabler::~RegionFittingDisabler):
43381         * rendering/RenderRegion.cpp:
43382         (WebCore::RenderRegion::layout):
43383         * rendering/RenderRegion.h:
43384         * rendering/RenderView.cpp:
43385         (WebCore::RenderView::RenderView):
43386         * rendering/RenderView.h:
43387         (WebCore::RenderView::hasRenderFlowThread):
43388         (WebCore::RenderView::currentRenderFlowThread):
43389         (WebCore::RenderView::setCurrentRenderFlowThread):
43390         (WebCore::RenderView::pushLayoutState):
43391
43392 2011-08-22  Peter Kasting  <pkasting@google.com>
43393
43394         Unreviewed, rolling out r93517.
43395         http://trac.webkit.org/changeset/93517
43396         https://bugs.webkit.org/show_bug.cgi?id=63553
43397
43398         Breaks GTK Linux and Chromium Win
43399
43400         * svg/animation/SVGSMILElement.cpp:
43401         (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
43402
43403 2011-08-22  Wyatt Carss  <wcarss@chromium.org>
43404
43405         FrameSelection::setNonDirectionalSelectionIfNeeded should not have a FrameSelection passed to it
43406         https://bugs.webkit.org/show_bug.cgi?id=66636
43407
43408         Reviewed by Darin Adler.
43409
43410         setNonDirectionalSelection was moved into FrameSelection in r93134 for 
43411         bug 60529, and still took a FrameSelection as an argument, which has been removed.
43412
43413         * editing/FrameSelection.cpp:
43414         (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded):
43415
43416 2011-08-22  Tony Chang  <tony@chromium.org>
43417
43418         Add CSS parsing of -webkit-flex-order
43419         https://bugs.webkit.org/show_bug.cgi?id=65384
43420
43421         The property is an int described here:
43422         http://dev.w3.org/csswg/css3-flexbox/#flex-order
43423
43424         Doesn't do anything yet, just hooking it up.
43425
43426         Reviewed by Ojan Vafai.
43427
43428         * css/CSSComputedStyleDeclaration.cpp:
43429         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
43430         * css/CSSParser.cpp:
43431         (WebCore::CSSParser::parseValue):
43432         * css/CSSPropertyNames.in:
43433         * css/CSSStyleApplyProperty.cpp:
43434         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
43435         * css/CSSStyleSelector.cpp:
43436         (WebCore::CSSStyleSelector::applyProperty):
43437         * rendering/style/RenderStyle.h:
43438         (WebCore::InheritedFlags::flexOrder):
43439         (WebCore::InheritedFlags::setFlexOrder):
43440         (WebCore::InheritedFlags::initialFlexOrder):
43441         * rendering/style/StyleFlexibleBoxData.cpp:
43442         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
43443         (WebCore::StyleFlexibleBoxData::operator==):
43444         * rendering/style/StyleFlexibleBoxData.h:
43445
43446 2011-08-22  Adrienne Walker  <enne@google.com>
43447
43448         [chromium] Fix nullptr deref when switching composited tabs
43449         https://bugs.webkit.org/show_bug.cgi?id=66691
43450
43451         Reviewed by James Robinson.
43452
43453         * platform/graphics/chromium/TiledLayerChromium.cpp:
43454         (WebCore::TiledLayerChromium::protectTileTextures):
43455
43456 2011-08-22  James Robinson  <jamesr@chromium.org>
43457
43458         [chromium] Content and render surface textures not freed when compositor context destroyed
43459         https://bugs.webkit.org/show_bug.cgi?id=66589
43460
43461         Reviewed by Kenneth Russell.
43462
43463         Explicitly delete all managed textures when destroying the compositor
43464         context.  This regressed due to a combination of using share groups
43465         (so destroying a context no longer implicitly releases all resources
43466         in that context) and switching the TextureManager over to support
43467         deferred texture destruction.
43468
43469         We sadly don't have a way to construct automated tests for resource
43470         leaks currently.
43471
43472         * platform/graphics/chromium/LayerRendererChromium.cpp:
43473         (WebCore::LayerRendererChromium::cleanupSharedObjects):
43474
43475 2011-08-22  Nate Chapin  <japhet@chromium.org>
43476
43477         Unload events can crash us when they blank out
43478         a parent frame.
43479         https://bugs.webkit.org/show_bug.cgi?id=64741
43480
43481         Reviewed by Adam Barth.
43482
43483         Test: fast/loader/document-destruction-within-unload.html
43484
43485         * loader/FrameLoader.cpp:
43486         (WebCore::FrameLoader::stopLoading): Prevent unload events
43487             from going into infinite recursion.
43488         (WebCore::FrameLoader::setDocumentLoader): Ensure we don't
43489             let set m_documentLoader to a DocumentLoader with a null Frame*.
43490         (WebCore::FrameLoader::detachChildren): Save off a vector of
43491             children to detach, rather than doing it inline.
43492
43493 2011-08-22  Young Han Lee  <joybro@company100.net>
43494
43495         Reviewed by Dirk Schulze.
43496
43497         SVG animation fill="freeze" doesn't set baseVal to current animVal if animation stops before reaching the end
43498         https://bugs.webkit.org/show_bug.cgi?id=63553
43499
43500         calculateAnimationPercentAndRepeat() is returning 1, which means 100%, whenever
43501         elapsed >= m_intervalEnd, but this is wrong because m_intervalEnd can be in the middle
43502         of the animation duration. (e.g. begin="0s" end="2s" dur="3s")
43503
43504         This change makes the function return the animations's true progress instead of 100%
43505         when the animation ends.
43506
43507         Test: svg/animations/animate-end-attribute.html
43508
43509         * svg/animation/SVGSMILElement.cpp:
43510         (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
43511
43512 2011-08-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
43513
43514         Fix build error when inspector is disabled.
43515         https://bugs.webkit.org/show_bug.cgi?id=66644
43516
43517         Reviewed by Darin Adler.
43518
43519         * inspector/InspectorDatabaseResource.h: Add ENABLE(INSPECTOR) macro.
43520
43521 2011-08-22  Abhishek Arya  <inferno@chromium.org>
43522
43523         Crash in FocusController::advanceFocusInDocumentOrder
43524         https://bugs.webkit.org/show_bug.cgi?id=66678
43525
43526         RefPtr the focusable node to prevent getting deleted by mutation
43527         event.
43528
43529         Reviewed by Dave Hyatt.
43530
43531         Test: fast/frames/focus-controller-crash-change-event.html
43532
43533         * page/FocusController.cpp:
43534         (WebCore::FocusController::advanceFocusInDocumentOrder):
43535
43536 2011-08-22  Justin Novosad  <junov@chromium.org>
43537
43538         [Chromium] Crash when allocation of very large canvas fails
43539         https://bugs.webkit.org/show_bug.cgi?id=66563
43540         Replacing the crash with a more graceful failure: canvas
43541         will not render.
43542
43543         Reviewed by Stephen White.
43544
43545         * platform/graphics/skia/ImageBufferSkia.cpp:
43546         (WebCore::ImageBuffer::ImageBuffer):
43547         Invoking TryCreateBitmapCanvas instead of CreateBitmapCanvas
43548         This is the non-crashing version of the factory function.
43549         It returns NULL if allocation fails.  Code for handling
43550         NULL pointer was already in place.
43551
43552 2011-08-22  Ilya Tikhonovsky  <loislo@chromium.org>
43553
43554         Web Inspector: bind registerDomainDispatcher to domain names.
43555         https://bugs.webkit.org/show_bug.cgi?id=66670
43556
43557         jscompiler can't be used for validating domain events dispatchers because registerDomainDispatcher is too generic.
43558         I'd like to introduce named versions per each domain.
43559
43560         Reviewed by Pavel Feldman.
43561
43562         * inspector/CodeGeneratorInspector.pm:
43563         (GenerateInterface):
43564         (generateBackendStubJS):
43565         * inspector/front-end/ApplicationCacheItemsView.js:
43566         * inspector/front-end/ConsoleView.js:
43567         * inspector/front-end/DOMAgent.js:
43568         (WebInspector.DOMAgent):
43569         * inspector/front-end/DOMStorage.js:
43570         * inspector/front-end/Database.js:
43571         * inspector/front-end/DebuggerModel.js:
43572         (WebInspector.DebuggerModel):
43573         * inspector/front-end/NetworkManager.js:
43574         (WebInspector.NetworkDispatcher):
43575         * inspector/front-end/ProfilesPanel.js:
43576         * inspector/front-end/ResourceTreeModel.js:
43577         (WebInspector.ResourceTreeModel):
43578         * inspector/front-end/TimelineManager.js:
43579         (WebInspector.TimelineDispatcher):
43580         * inspector/front-end/WorkerManager.js:
43581         (WebInspector.WorkerManager):
43582         * inspector/front-end/inspector.js:
43583
43584 2011-08-22  Benjamin Poulain  <benjamin@webkit.org>
43585
43586         Fix generate-inspector-idl for Python3 after r93396
43587         https://bugs.webkit.org/show_bug.cgi?id=66663
43588
43589         Reviewed by Andreas Kling.
43590
43591         In Python3, print is a function instead of a language keyword. Using parentheses
43592         around the argument ensures the code works for both Python 2 and 3.
43593
43594         * inspector/generate-inspector-idl:
43595
43596 2011-08-22  Keishi Hattori  <keishi@webkit.org>
43597
43598         Chrome::setSelectedColorInColorChooser shouldn't be called when color chooser sets a new color
43599         https://bugs.webkit.org/show_bug.cgi?id=66658
43600
43601         Reviewed by Kent Tamura.
43602
43603         * html/ColorInputType.cpp:
43604         (WebCore::ColorInputType::colorSelected): Call setValueFromRenderer instead of setValue.
43605         * html/ColorInputType.h:
43606
43607 2011-08-18  Pavel Podivilov  <podivilov@chromium.org>
43608
43609         Web Inspector: extract breakpoint management code to a separate class and add tests.
43610         https://bugs.webkit.org/show_bug.cgi?id=66224
43611
43612         Reviewed by Pavel Feldman.
43613
43614         Test: inspector/debugger/breakpoint-manager.html
43615
43616         * WebCore.gypi:
43617         * WebCore.vcproj/WebCore.vcproj:
43618         * inspector/front-end/BreakpointManager.js: Added.
43619         (WebInspector.BreakpointManager):
43620         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
43621         (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
43622         (WebInspector.BreakpointManager.prototype.setBreakpoint):
43623         (WebInspector.BreakpointManager.prototype.removeBreakpoint):
43624         (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
43625         (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
43626         (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
43627         (WebInspector.BreakpointManager.prototype._deleteBreakpointFromUI):
43628         (WebInspector.BreakpointManager.prototype._moveBreakpointInUI):
43629         (WebInspector.BreakpointManager.prototype._breakpoints):
43630         (WebInspector.BreakpointManager.prototype._breakpoint):
43631         (WebInspector.BreakpointManager.prototype._forEachBreakpoint):
43632         (WebInspector.BreakpointManager.prototype._setBreakpointInDebugger):
43633         (WebInspector.BreakpointManager.prototype._removeBreakpointFromDebugger):
43634         (WebInspector.BreakpointManager.prototype._breakpointResolved):
43635         (WebInspector.BreakpointManager.prototype.serializeBreakpoints):
43636         (WebInspector.BreakpointManager.prototype.reset):
43637         (WebInspector.BreakpointManager.prototype.debuggerReset):
43638         (WebInspector.Breakpoint):
43639         (WebInspector.Breakpoint.prototype.serialize):
43640         (WebInspector.Breakpoint.deserialize):
43641         * inspector/front-end/DebuggerModel.js:
43642         (WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation):
43643         * inspector/front-end/SourceFile.js:
43644         (WebInspector.RawSourceCode.prototype.get rawSourceCode):
43645         * inspector/front-end/WebKit.qrc:
43646         * inspector/front-end/inspector.html:
43647
43648 2011-08-21  Martin Robinson  <mrobinson@igalia.com>
43649
43650         Fix 'make dist' for WebKitGTK+.
43651
43652         * GNUmakefile.am: Add a missing file to the EXTRA_DIST list.
43653         * GNUmakefile.list.am: Update the sources list to reflect reality.
43654
43655 2011-08-20  Nebojsa Ciric  <cira@chromium.org>
43656
43657         Point build system and #include headers to v8-i18n library instead of v8 library.
43658         We forked a new code.google.com/p/v8-i18n project from v8/extensions/experimental.
43659         https://bugs.webkit.org/show_bug.cgi?id=66573
43660
43661         Reviewed by Kent Tamura.
43662
43663         Covered by existing tests, and no code was changed.
43664
43665         * WebCore.gyp/WebCore.gyp:
43666         * bindings/v8/V8DOMWindowShell.cpp:
43667         (WebCore::V8DOMWindowShell::createNewContext):
43668
43669 2011-08-20  Tom Zakrajsek  <tomz@codeaurora.org>
43670
43671         instanceof HTMLSourceElement Fails
43672         https://bugs.webkit.org/show_bug.cgi?id=65013
43673
43674         Reviewed by Eric Carlson.
43675
43676         Add HTMLSourceElement to DOMWindow.idl for consistency.  Constructors for
43677         all elements should be available on DOMWindow.
43678
43679         * bindings/generic/RuntimeEnabledFeatures.cpp:
43680         (WebCore::RuntimeEnabledFeatures::htmlSourceElementEnabled):
43681         * bindings/generic/RuntimeEnabledFeatures.h:
43682         * page/DOMWindow.idl:
43683
43684 2011-08-20  Darin Adler  <darin@apple.com>
43685
43686         If Range::insertNode is passed an empty document fragment, it creates a broken DOM tree
43687         https://bugs.webkit.org/show_bug.cgi?id=65015
43688
43689         Reviewed by Alexey Proskuryakov.
43690
43691         Test: fast/dom/Range/insertNode-empty-fragment-crash.html
43692
43693         * dom/Range.cpp: (WebCore::Range::insertNode): Don't adjust the range after insertion
43694         if we didn't add anything. Otherwise the code will put a wrong "child before" value into
43695         the range end boundary point.
43696
43697 2011-08-20  Ken Buchanan  <kenrb@chromium.org>
43698
43699         OOB Read in WebCore::SVGAnimationElement
43700         https://bugs.webkit.org/show_bug.cgi?id=65858
43701
43702         Reviewed by Nikolas Zimmermann.
43703
43704         Potential crash resulting from incorrect keySpline array lengths. This fix validates the length in startedActiveInterval.
43705
43706         Test: svg/animations/animate-calcMode-spline-crash-bad-array-length.xhtml
43707
43708         * svg/SVGAnimationElement.cpp:
43709         (WebCore::SVGAnimationElement::parseMappedAttribute):
43710         (WebCore::SVGAnimationElement::calculateKeyTimesIndex):
43711
43712 2011-08-19  Sheriff Bot  <webkit.review.bot@gmail.com>
43713
43714         Unreviewed, rolling out r93415.
43715         http://trac.webkit.org/changeset/93415
43716         https://bugs.webkit.org/show_bug.cgi?id=66623
43717
43718         Introduces failing test (Requested by pfeldman on #webkit).
43719
43720         * WebCore.gypi:
43721         * WebCore.vcproj/WebCore.vcproj:
43722         * inspector/front-end/BreakpointManager.js: Removed.
43723         * inspector/front-end/DebuggerModel.js:
43724         * inspector/front-end/SourceFile.js:
43725         * inspector/front-end/WebKit.qrc:
43726         * inspector/front-end/inspector.html:
43727
43728 2011-08-19  Chris Fleizach  <cfleizach@apple.com>
43729
43730         AX WK2 Regression: WebKit outputs incorrect AX position in frames/iframes
43731         https://bugs.webkit.org/show_bug.cgi?id=61289
43732
43733         Update the code to determine the position of accessibility elements on Mac for WK2,
43734         so that elements within iframes are positioned correctly.
43735
43736         Reviewed by Darin Adler..
43737
43738         * accessibility/AccessibilityObject.cpp:
43739         (WebCore::AccessibilityObject::page):
43740         * accessibility/AccessibilityObject.h:
43741         * accessibility/mac/AccessibilityObjectWrapper.mm:
43742         (-[AccessibilityObjectWrapper position]):
43743
43744 2011-08-19  Jeffrey Pfau  <jpfau@apple.com>
43745
43746         New XML parser: text nodes outside of root element not created for document fragments
43747         https://bugs.webkit.org/show_bug.cgi?id=66604
43748
43749         When intializing a fragment parser, declare that the first element has been seen. Also, flush the text nodes when finishing parsing a document.
43750
43751         Reviewed by Darin Adler.
43752
43753         * xml/parser/NewXMLDocumentParser.cpp:
43754         (WebCore::NewXMLDocumentParser::finish):
43755         * xml/parser/XMLTreeBuilder.cpp:
43756         (WebCore::XMLTreeBuilder::XMLTreeBuilder):
43757         (WebCore::XMLTreeBuilder::processToken):
43758         (WebCore::XMLTreeBuilder::finish):
43759         * xml/parser/XMLTreeBuilder.h:
43760
43761 2011-08-19  Jeff Miller  <jeffm@apple.com>
43762
43763         MediaPlayerPrivateAVFoundationCF should use AVCFURLAssetCopyAudiovisualMIMETypes() to get list of supported MIME types
43764         https://bugs.webkit.org/show_bug.cgi?id=66612
43765
43766         Reviewed by Darin Adler.
43767
43768         No new tests, should be covered by existing media tests.
43769
43770         * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Added AVCFURLAssetCopyAudiovisualMIMETypes().
43771         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
43772         (WebCore::mimeTypeCache): Use AVCFURLAssetCopyAudiovisualMIMETypes() to build the cache of supported MIME types.
43773
43774 2011-08-19  Adrienne Walker  <enne@google.com>
43775
43776         [chromium] Regression: Fix clang errors from r93424
43777         https://bugs.webkit.org/show_bug.cgi?id=66609
43778
43779         Reviewed by James Robinson.
43780
43781         The invalidateRect function does not appear to be used anywhere
43782         because the setNeedsDisplay function is used instead. Fix the Clang
43783         error by just removing this unused vestigial base class function.
43784
43785         * platform/graphics/chromium/LayerChromium.h:
43786
43787 2011-08-19  Anders Carlsson  <andersca@apple.com>
43788
43789         Add new enums to npapi.h
43790         https://bugs.webkit.org/show_bug.cgi?id=66608
43791
43792         Reviewed by Sam Weinig.
43793
43794         * bridge/npapi.h:
43795
43796 2011-08-19  Jeffrey Pfau  <jpfau@apple.com>
43797
43798         libxml2 fragment parser loses prefix namespaces
43799         https://bugs.webkit.org/show_bug.cgi?id=66423
43800
43801         This makes the loop over the elements outside of the context actually update the element it's processing.
43802
43803         Reviewed by Darin Adler.
43804
43805         Test: fast/parser/innerhtml-with-prefixed-elements.xhtml
43806
43807         * xml/parser/XMLDocumentParserLibxml2.cpp:
43808         (WebCore::XMLDocumentParser::XMLDocumentParser):
43809
43810 2011-08-19  Beth Dakin  <bdakin@apple.com>
43811
43812         https://bugs.webkit.org/show_bug.cgi?id=66590
43813         Re-name scrollbar painter types
43814
43815         Reviewed by Sam Weinig.
43816
43817         Names changed to remove references to WebKitSystemInterface since the 
43818         implementation is now in WebCore. And the type names changed to be more Objective-
43819         Cish instead of C++ish
43820         WTF_USE_WK_SCROLLBAR_PAINTER -> WTF_USE_SCROLLBAR_PAINTER
43821         WKScrollbarPainterRef -> ScrollbarPainter
43822         WKScrollbarPainterControllerRef -> ScrollbarPainterController
43823
43824         * platform/mac/NSScrollerImpDetails.h:
43825         * platform/mac/ScrollAnimatorMac.h:
43826         * platform/mac/ScrollAnimatorMac.mm:
43827         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
43828         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
43829         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
43830         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
43831         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
43832         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
43833         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
43834         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
43835         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
43836         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
43837         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
43838         (WebCore::ScrollAnimatorMac::willStartLiveResize):
43839         (WebCore::ScrollAnimatorMac::contentsResized):
43840         (WebCore::ScrollAnimatorMac::willEndLiveResize):
43841         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
43842         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
43843         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
43844         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
43845         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
43846         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
43847         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
43848         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
43849         (WebCore::ScrollAnimatorMac::cancelAnimations):
43850         (WebCore::ScrollAnimatorMac::setIsActive):
43851         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
43852         * platform/mac/ScrollViewMac.mm:
43853         (WebCore::ScrollView::platformSetScrollbarOverlayStyle):
43854         * platform/mac/ScrollbarThemeMac.h:
43855         * platform/mac/ScrollbarThemeMac.mm:
43856         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
43857         (WebCore::updateArrowPlacement):
43858         (WebCore::ScrollbarThemeMac::registerScrollbar):
43859         (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
43860         (WebCore::ScrollbarThemeMac::painterForScrollbar):
43861         (WebCore::ScrollbarThemeMac::scrollbarThickness):
43862         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
43863         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
43864         (WebCore::ScrollbarThemeMac::hasThumb):
43865         (WebCore::ScrollbarThemeMac::minimumThumbLength):
43866         (WebCore::ScrollbarThemeMac::updateEnabledState):
43867         (WebCore::scrollbarPainterPaint):
43868         (WebCore::ScrollbarThemeMac::paint):
43869
43870 2011-08-19  Van Lam  <vanlam@google.com>
43871
43872         Rename VisiblePosition::honorEditableBoundary* to VisiblePosition::honorEditingBoundary*
43873         https://bugs.webkit.org/show_bug.cgi?id=66499
43874
43875         Reviewed by Ryosuke Niwa.
43876
43877         Renamed VisiblePosition::honorEditableBoundary* to
43878         honorEditingBoundary.
43879
43880         * editing/VisiblePosition.cpp:
43881         (WebCore::VisiblePosition::next):
43882         (WebCore::VisiblePosition::previous):
43883         (WebCore::VisiblePosition::left):
43884         (WebCore::VisiblePosition::right):
43885         (WebCore::VisiblePosition::honorEditingBoundaryAtOrBefore):
43886         (WebCore::VisiblePosition::honorEditingBoundaryAtOrAfter):
43887         * editing/VisiblePosition.h:
43888         * editing/visible_units.cpp:
43889         (WebCore::previousWordPosition):
43890         (WebCore::nextWordPosition):
43891         (WebCore::startOfLine):
43892         (WebCore::endOfLine):
43893         (WebCore::previousSentencePosition):
43894         (WebCore::nextSentencePosition):
43895         (WebCore::logicalStartOfLine):
43896         (WebCore::logicalEndOfLine):
43897         (WebCore::leftWordPosition):
43898         (WebCore::rightWordPosition):
43899
43900 2011-08-19  James Robinson  <jamesr@chromium.org>
43901
43902         REGRESSION(r91628): 3 canvas tests crash on Chromium Linux and one test fail on Chromium Mac
43903         https://bugs.webkit.org/show_bug.cgi?id=65063
43904
43905         Reviewed by Darin Fisher.
43906
43907         Fixes crashes due to a bad cast from Image to BitmapImage on skia ports
43908         that use BitmapImageSingleFrameSkia. In the skia port
43909         Image::isBitmapImage() returning true does not necessarily mean that
43910         Image is of type BitmapImage.
43911
43912         Covered by fast/canvas/canvas-as-image.html and many other canvas
43913         tests.
43914
43915         Patch originally by Tom Hudson.
43916
43917         * platform/graphics/BitmapImage.h:
43918         (WebCore::BitmapImage::currentFrameHasAlpha):
43919         (WebCore::BitmapImage::notSolidColor):
43920         * platform/graphics/Image.cpp:
43921         (WebCore::Image::drawTiled):
43922         * platform/graphics/Image.h:
43923         (WebCore::Image::currentFrameHasAlpha):
43924         (WebCore::Image::notSolidColor):
43925         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
43926         (WebCore::BitmapImageSingleFrameSkia::currentFrameHasAlpha):
43927         (WebCore::BitmapImageSingleFrameSkia::notSolidColor):
43928         * rendering/RenderImage.cpp:
43929         (WebCore::RenderImage::backgroundIsObscured):
43930
43931 2011-08-19  Emil A Eklund  <eae@chromium.org>
43932
43933         Switch clipping for svg to to new layout types
43934         https://bugs.webkit.org/show_bug.cgi?id=66586
43935
43936         Reviewed by Eric Seidel.
43937
43938         No new tests as no new functionality.
43939
43940         * rendering/svg/RenderSVGForeignObject.h:
43941         * rendering/svg/RenderSVGGradientStop.h:
43942         (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint):
43943         * rendering/svg/RenderSVGHiddenContainer.h:
43944         (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
43945         * rendering/svg/RenderSVGInline.cpp:
43946         (WebCore::RenderSVGInline::clippedOverflowRectForRepaint):
43947         (WebCore::RenderSVGInline::computeRectForRepaint):
43948         * rendering/svg/RenderSVGInline.h:
43949         * rendering/svg/RenderSVGModelObject.cpp:
43950         (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
43951         (WebCore::RenderSVGModelObject::computeRectForRepaint):
43952         * rendering/svg/RenderSVGModelObject.h:
43953         * rendering/svg/RenderSVGText.cpp:
43954         (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
43955         (WebCore::RenderSVGText::computeRectForRepaint):
43956         * rendering/svg/RenderSVGText.h:
43957         * svg/SVGSVGElement.cpp:
43958         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
43959         * svg/SVGSVGElement.h:
43960         (WebCore::SVGSVGElement::setContainerSize):
43961         (WebCore::SVGSVGElement::containerSize):
43962         * svg/graphics/SVGImage.cpp:
43963         (WebCore::SVGImageChromeClient::invalidateContentsAndWindow):
43964         (WebCore::SVGImage::setContainerSize):
43965         * svg/graphics/SVGImage.h:
43966
43967 2011-08-19  Sheriff Bot  <webkit.review.bot@gmail.com>
43968
43969         Unreviewed, rolling out r93425.
43970         http://trac.webkit.org/changeset/93425
43971         https://bugs.webkit.org/show_bug.cgi?id=66591
43972
43973         "The newly-added ASSERT is being triggered on several bots"
43974         (Requested by jchaffraix on #webkit).
43975
43976         * html/HTMLLinkElement.cpp:
43977         (WebCore::HTMLLinkElement::HTMLLinkElement):
43978         (WebCore::HTMLLinkElement::setDisabled):
43979         (WebCore::HTMLLinkElement::sheetLoaded):
43980         (WebCore::HTMLLinkElement::disabled):
43981         * html/HTMLLinkElement.h:
43982         (WebCore::HTMLLinkElement::isEnabledViaScript):
43983
43984 2011-08-18  Adrienne Walker  <enne@google.com>
43985
43986         [chromium] Refactor updateCompositorResources to take an explicit GraphicsContext3D
43987         https://bugs.webkit.org/show_bug.cgi?id=66432
43988
43989         Reviewed by James Robinson.
43990
43991         Covered by existing tests.
43992
43993         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
43994         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
43995         * platform/graphics/chromium/Canvas2DLayerChromium.h:
43996         * platform/graphics/chromium/LayerChromium.h:
43997         (WebCore::LayerChromium::updateCompositorResources):
43998         * platform/graphics/chromium/LayerRendererChromium.cpp:
43999         (WebCore::LayerRendererChromium::updateCompositorResources):
44000         * platform/graphics/chromium/TiledLayerChromium.cpp:
44001         (WebCore::TiledLayerChromium::updateCompositorResources):
44002         * platform/graphics/chromium/TiledLayerChromium.h:
44003         * platform/graphics/chromium/VideoLayerChromium.cpp:
44004         (WebCore::VideoLayerChromium::updateCompositorResources):
44005         * platform/graphics/chromium/VideoLayerChromium.h:
44006         * platform/graphics/chromium/WebGLLayerChromium.cpp:
44007         (WebCore::WebGLLayerChromium::updateCompositorResources):
44008         * platform/graphics/chromium/WebGLLayerChromium.h:
44009
44010 2011-08-19  Victoria Kirst  <vrk@chromium.org>
44011
44012         Tell media player to prepareToPlay() at end of HTMLMediaElement::load()
44013         https://bugs.webkit.org/show_bug.cgi?id=66414
44014
44015         Reviewed by Eric Carlson.
44016
44017         Test: media/video-load-preload-none.html
44018
44019         * html/HTMLMediaElement.cpp:
44020         (WebCore::HTMLMediaElement::load):
44021
44022 2011-08-19  Emil A Eklund  <eae@chromium.org>
44023
44024         Switch RenderBlock to to new layout types
44025         https://bugs.webkit.org/show_bug.cgi?id=66502
44026
44027         Reviewed by Eric Seidel.
44028
44029         Convert RenderBlock to new layout abstraction. Leave m_lineHight as a 30
44030         bit int for now to avoid unnecessarily increasing the memory usage.
44031
44032         No new tests as no new functionality.
44033
44034         * rendering/RenderBlock.cpp:
44035         * rendering/RenderBlock.h:
44036
44037 2011-08-19  Emil A Eklund  <eae@chromium.org>
44038
44039         Switch RenderBoxModelObject to to new layout types
44040         https://bugs.webkit.org/show_bug.cgi?id=66534
44041
44042         Reviewed by Eric Seidel.
44043
44044         Convert RenderBoxModelObject to new layout abstraction.
44045
44046         No new tests as no new functionality.
44047
44048         * rendering/RenderBoxModelObject.cpp:
44049         (WebCore::ImageQualityController::set):
44050         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
44051         (WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):
44052         (WebCore::backgroundRectAdjustedForBleedAvoidance):
44053         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
44054         (WebCore::RenderBoxModelObject::calculateFillTileSize):
44055         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
44056         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
44057         (WebCore::RenderBoxModelObject::paintNinePieceImage):
44058         (WebCore::borderWillArcInnerEdge):
44059         (WebCore::RenderBoxModelObject::paintOneBorderSide):
44060         (WebCore::RenderBoxModelObject::paintBorderSides):
44061         (WebCore::RenderBoxModelObject::paintBorder):
44062         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
44063         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
44064         (WebCore::areaCastingShadowInHole):
44065         (WebCore::RenderBoxModelObject::paintBoxShadow):
44066         (WebCore::RenderBoxModelObject::containingBlockLogicalWidthForContent):
44067         * rendering/RenderBoxModelObject.h:
44068
44069 2011-08-19  Mihnea Ovidenie  <mihnea@adobe.com>
44070
44071         [CSSRegions]Speed up RenderFlowThread repaint of regions
44072         https://bugs.webkit.org/show_bug.cgi?id=66566
44073
44074         Reviewed by David Hyatt.
44075
44076         When in printing or the repaint rectangle is empty, there is no need to iterate
44077         the render flow regions in order to repaint.
44078         Covered by existing tests.
44079
44080         * rendering/RenderFlowThread.cpp:
44081         (WebCore::RenderFlowThread::shouldRepaint):
44082         (WebCore::RenderFlowThread::repaintRectangleInRegions):
44083         * rendering/RenderFlowThread.h:
44084
44085 2011-08-19  Mihnea Ovidenie  <mihnea@adobe.com>
44086
44087         [CSSRegions]Parse -webkit-region-break(after, before, inside)
44088         https://bugs.webkit.org/show_bug.cgi?id=66559
44089
44090         Reviewed by David Hyatt.
44091
44092         * css/CSSComputedStyleDeclaration.cpp:
44093         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
44094         * css/CSSMutableStyleDeclaration.cpp:
44095         * css/CSSParser.cpp:
44096         (WebCore::CSSParser::parseValue):
44097         * css/CSSPropertyNames.in:
44098         * css/CSSStyleSelector.cpp:
44099         (WebCore::CSSStyleSelector::applyProperty):
44100         * rendering/style/RenderStyle.h:
44101         (WebCore::InheritedFlags::regionBreakBefore):
44102         (WebCore::InheritedFlags::regionBreakInside):
44103         (WebCore::InheritedFlags::regionBreakAfter):
44104         (WebCore::InheritedFlags::setRegionBreakBefore):
44105         (WebCore::InheritedFlags::setRegionBreakInside):
44106         (WebCore::InheritedFlags::setRegionBreakAfter):
44107         * rendering/style/StyleRareNonInheritedData.cpp:
44108         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
44109         (WebCore::StyleRareNonInheritedData::operator==):
44110         * rendering/style/StyleRareNonInheritedData.h:
44111
44112 2011-08-19  Emil A Eklund  <eae@chromium.org>
44113
44114         Switch RenderLayer to to new layout types
44115         https://bugs.webkit.org/show_bug.cgi?id=66507
44116
44117         Reviewed by Eric Seidel.
44118
44119         Convert RenderLayer to new layout abstraction.
44120
44121         No new tests as no new functionality.
44122
44123         * rendering/LayoutTypes.h:
44124         (WebCore::flooredLayoutSize):
44125         * rendering/RenderLayer.cpp:
44126         * rendering/RenderLayer.h:
44127         * rendering/RenderLayerBacking.cpp:
44128         * rendering/RenderLayerBacking.h:
44129         * rendering/RenderLayerCompositor.cpp:
44130         * rendering/RenderLayerCompositor.h:
44131
44132 2011-08-19  Mihnea Ovidenie  <mihnea@adobe.com>
44133
44134         [CSSRegions]Content displayed in regions should not be scrollable
44135         https://bugs.webkit.org/show_bug.cgi?id=66459
44136
44137         Reviewed by Darin Adler.
44138
44139         Initially, when creating the style for the RenderFlowThread, overflowX and overflowY were both set to hidden,
44140         so that RenderView did not display scrollbars when a RenderFlowThread exists. However, this allowed the possibility
44141         of scrolling the content displayed in region.
44142
44143         Now, the RenderFlowThread objects are ignored in RenderBlock::insertPositionedObject and the style of the RenderFlowThread
44144         can be set to visible, thus preventing scrolling of the content displayed in regions.
44145
44146         Test: fast/regions/content-flowed-into-regions-no-scroll.html
44147
44148         * rendering/RenderFlowThread.cpp:
44149         (WebCore::RenderFlowThread::createFlowThreadStyle):
44150
44151 2011-08-19  Julien Chaffraix  <jchaffraix@webkit.org>
44152
44153         REGRESSION (r84327-r84329): CSS stylesheets fail to load on www.flagstar.com login page
44154         https://bugs.webkit.org/show_bug.cgi?id=65140
44155         <rdar://problem/9835905>
44156
44157         Reviewed by Antti Koivisto.
44158
44159         Tests: fast/css/stylesheet-enable-first-alternate-on-load.html
44160                fast/css/stylesheet-enable-first-alternate.html
44161                fast/css/stylesheet-enable-second-alternate-on-load.html
44162                fast/css/stylesheet-enable-second-alternate.html
44163                http/tests/css/link-css-disabled-value-with-slow-loading-sheet-in-error.html
44164                http/tests/css/link-css-disabled-value-with-slow-loading-sheet.html
44165
44166         The gist of the issue is that we were ignoring calls to HTMLLinkElement::setDisabled that would enable a
44167         style sheet when we were loading a stylesheet (m_sheet was 0 and thus ignored the call per the spec).
44168
44169         FF goes against the CSS OM spec in this case and always keep an associated sheet as long as 'rel' hints
44170         at a stylesheet link and href is present. Instead of siding with FF, I continued to follow the
44171         specification and store the enabled via javascript state into m_scriptState (renamed from
44172         m_isEnabledViaScript). This information gets merged back into the style sheet disabled state when it is
44173         available.
44174
44175         While debugging the case at hand, I found some cases that were not properly handled and were fixed as
44176         part of this change.
44177
44178         * html/HTMLLinkElement.cpp:
44179         (WebCore::HTMLLinkElement::HTMLLinkElement): Updated after m_isEnabledViaScript rename.
44180         (WebCore::HTMLLinkElement::setDisabled): Always call setIsEnabledViaScript so that
44181         the information is properly stored (either for recalcStyleSelector or just to store
44182         the state during loading).
44183
44184         (WebCore::HTMLLinkElement::sheetLoaded): Merge back the state from m_scriptState to
44185         the sheet's disabled state.
44186
44187         (WebCore::HTMLLinkElement::disabled): Account for the temporary state and return the
44188         right value. It matches FF and what people would expect.
44189
44190         (WebCore::HTMLLinkElement::areDisabledAndScriptStatesConsistent): Debug only method
44191         that checks that disabled() and isEnabledViaScript() are consistent with each other
44192         (under some circumstances).
44193
44194         * html/HTMLLinkElement.h:
44195         (WebCore::HTMLLinkElement::isEnabledViaScript): Updated after m_isEnabledViaScript rename.
44196         (WebCore::HTMLLinkElement::setIsEnabledViaScript): Added setter.
44197
44198 2011-08-17  Adrienne Walker  <enne@google.com>
44199
44200         [chromium] Split tiler into main thread / compositor thread versions
44201         https://bugs.webkit.org/show_bug.cgi?id=66065
44202
44203         Reviewed by James Robinson.
44204
44205         Covered by existing tests.
44206
44207         LayerTilerChromium is renamed to be CCLayerTilingData. Invalidation
44208         and paint functionality is pushed into TiledLayerChromium and drawing
44209         with GL is pushed into CCTiledLayerImpl. During tree synchronization,
44210         the tiler properties and texture IDs are synchronized into
44211         CCTiledLayerImpl.
44212
44213         * WebCore.gypi:
44214         * platform/graphics/chromium/ContentLayerChromium.cpp:
44215         (WebCore::ContentLayerChromium::paintContentsIfDirty):
44216         (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
44217         * platform/graphics/chromium/ContentLayerChromium.h:
44218         * platform/graphics/chromium/ImageLayerChromium.cpp:
44219         (WebCore::ImageLayerChromium::paintContentsIfDirty):
44220         * platform/graphics/chromium/LayerRendererChromium.cpp:
44221         (WebCore::LayerRendererChromium::bestTextureFormat):
44222         (WebCore::LayerRendererChromium::initializeSharedObjects):
44223         (WebCore::LayerRendererChromium::tilerProgram):
44224         (WebCore::LayerRendererChromium::tilerProgramSwizzle):
44225         (WebCore::LayerRendererChromium::tilerProgramAA):
44226         (WebCore::LayerRendererChromium::tilerProgramSwizzleAA):
44227         * platform/graphics/chromium/LayerRendererChromium.h:
44228         * platform/graphics/chromium/LayerTextureUpdater.h:
44229         * platform/graphics/chromium/LayerTilerChromium.cpp: Removed.
44230         * platform/graphics/chromium/ManagedTexture.h:
44231         (WebCore::ManagedTexture::textureId):
44232         * platform/graphics/chromium/TiledLayerChromium.cpp:
44233         (WebCore::UpdatableTile::UpdatableTile):
44234         (WebCore::UpdatableTile::texture):
44235         (WebCore::UpdatableTile::dirty):
44236         (WebCore::UpdatableTile::clearDirty):
44237         (WebCore::TiledLayerChromium::TiledLayerChromium):
44238         (WebCore::TiledLayerChromium::cleanupResources):
44239         (WebCore::TiledLayerChromium::drawsContent):
44240         (WebCore::TiledLayerChromium::createTilerIfNeeded):
44241         (WebCore::TiledLayerChromium::updateCompositorResources):
44242         (WebCore::TiledLayerChromium::pushPropertiesTo):
44243         (WebCore::TiledLayerChromium::dumpLayerProperties):
44244         (WebCore::TiledLayerChromium::textureManager):
44245         (WebCore::TiledLayerChromium::tileAt):
44246         (WebCore::TiledLayerChromium::createTile):
44247         (WebCore::TiledLayerChromium::invalidateTiles):
44248         (WebCore::TiledLayerChromium::invalidateRect):
44249         (WebCore::TiledLayerChromium::protectVisibleTileTextures):
44250         (WebCore::TiledLayerChromium::protectTileTextures):
44251         (WebCore::TiledLayerChromium::prepareToUpdate):
44252         * platform/graphics/chromium/TiledLayerChromium.h:
44253         * platform/graphics/chromium/cc/CCLayerTilingData.cpp: Added.
44254         (WebCore::CCLayerTilingData::create):
44255         (WebCore::CCLayerTilingData::CCLayerTilingData):
44256         (WebCore::CCLayerTilingData::setTileSize):
44257         (WebCore::CCLayerTilingData::operator=):
44258         (WebCore::CCLayerTilingData::addTile):
44259         (WebCore::CCLayerTilingData::takeTile):
44260         (WebCore::CCLayerTilingData::tileAt):
44261         (WebCore::CCLayerTilingData::reset):
44262         (WebCore::CCLayerTilingData::contentRectToTileIndices):
44263         (WebCore::CCLayerTilingData::contentRectToLayerRect):
44264         (WebCore::CCLayerTilingData::layerRectToContentRect):
44265         (WebCore::CCLayerTilingData::tileContentRect):
44266         (WebCore::CCLayerTilingData::tileLayerRect):
44267         (WebCore::CCLayerTilingData::setLayerPosition):
44268         (WebCore::CCLayerTilingData::growLayerToContain):
44269         * platform/graphics/chromium/cc/CCLayerTilingData.h: Renamed from Source/WebCore/platform/graphics/chromium/LayerTilerChromium.h.
44270         (WebCore::CCLayerTilingData::numTiles):
44271         (WebCore::CCLayerTilingData::numTilesX):
44272         (WebCore::CCLayerTilingData::numTilesY):
44273         (WebCore::CCLayerTilingData::tileBounds):
44274         (WebCore::CCLayerTilingData::textureOffset):
44275         (WebCore::CCLayerTilingData::tileSize):
44276         (WebCore::CCLayerTilingData::hasBorderTexels):
44277         (WebCore::CCLayerTilingData::isEmpty):
44278         (WebCore::CCLayerTilingData::Tile::Tile):
44279         (WebCore::CCLayerTilingData::Tile::i):
44280         (WebCore::CCLayerTilingData::Tile::j):
44281         (WebCore::CCLayerTilingData::Tile::moveTo):
44282         (WebCore::CCLayerTilingData::TileMapKeyTraits::emptyValue):
44283         (WebCore::CCLayerTilingData::TileMapKeyTraits::constructDeletedValue):
44284         (WebCore::CCLayerTilingData::TileMapKeyTraits::isDeletedValue):
44285         (WebCore::CCLayerTilingData::tiles):
44286         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
44287         (WebCore::DrawableTile::DrawableTile):
44288         (WebCore::DrawableTile::textureId):
44289         (WebCore::DrawableTile::setTextureId):
44290         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
44291         (WebCore::CCTiledLayerImpl::bindContentsTexture):
44292         (WebCore::CCTiledLayerImpl::tileAt):
44293         (WebCore::CCTiledLayerImpl::createTile):
44294         (WebCore::CCTiledLayerImpl::draw):
44295         (WebCore::CCTiledLayerImpl::setTilingData):
44296         (WebCore::CCTiledLayerImpl::syncTextureId):
44297         (WebCore::isCCW):
44298         (WebCore::computeEdge):
44299         (WebCore::intersect):
44300         (WebCore::CCTiledLayerImpl::drawTiles):
44301         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
44302         (WebCore::CCTiledLayerImpl::setSkipsDraw):
44303         (WebCore::CCTiledLayerImpl::setTextureOrientation):
44304         (WebCore::CCTiledLayerImpl::setSampledTexelFormat):
44305         * platform/graphics/gpu/TilingData.h:
44306
44307 2011-08-19  Dan Bernstein  <mitz@apple.com>
44308
44309         Better build fix after r93384.
44310
44311         * rendering/RenderBlockLineLayout.cpp:
44312         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Use WTF::Unicode wrapper instead of ICU.
44313
44314 2011-08-19  Pavel Podivilov  <podivilov@chromium.org>
44315
44316         Web Inspector: update scope variables upon value changes via console.
44317         https://bugs.webkit.org/show_bug.cgi?id=54720
44318
44319         Reviewed by Pavel Feldman.
44320
44321         * inspector/front-end/ScriptsPanel.js:
44322         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
44323
44324 2011-08-18  Pavel Podivilov  <podivilov@chromium.org>
44325
44326         Web Inspector: extract breakpoint management code to a separate class and add tests.
44327         https://bugs.webkit.org/show_bug.cgi?id=66224
44328
44329         Reviewed by Pavel Feldman.
44330
44331         Test: inspector/debugger/breakpoint-manager.html
44332
44333         * WebCore.gypi:
44334         * WebCore.vcproj/WebCore.vcproj:
44335         * inspector/front-end/BreakpointManager.js: Added.
44336         (WebInspector.BreakpointManager):
44337         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
44338         (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
44339         (WebInspector.BreakpointManager.prototype.setBreakpoint):
44340         (WebInspector.BreakpointManager.prototype.removeBreakpoint):
44341         (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
44342         (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
44343         (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
44344         (WebInspector.BreakpointManager.prototype._deleteBreakpointFromUI):
44345         (WebInspector.BreakpointManager.prototype._moveBreakpointInUI):
44346         (WebInspector.BreakpointManager.prototype._breakpoints):
44347         (WebInspector.BreakpointManager.prototype._breakpoint):
44348         (WebInspector.BreakpointManager.prototype._forEachBreakpoint):
44349         (WebInspector.BreakpointManager.prototype._setBreakpointInDebugger):
44350         (WebInspector.BreakpointManager.prototype._removeBreakpointFromDebugger):
44351         (WebInspector.BreakpointManager.prototype._breakpointResolved):
44352         (WebInspector.BreakpointManager.prototype.serializeBreakpoints):
44353         (WebInspector.BreakpointManager.prototype.reset):
44354         (WebInspector.BreakpointManager.prototype.debuggerReset):
44355         (WebInspector.Breakpoint):
44356         (WebInspector.Breakpoint.prototype.serialize):
44357         (WebInspector.Breakpoint.deserialize):
44358         * inspector/front-end/DebuggerModel.js:
44359         (WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation):
44360         * inspector/front-end/SourceFile.js:
44361         (WebInspector.RawSourceCode.prototype.get rawSourceCode):
44362         * inspector/front-end/WebKit.qrc:
44363         * inspector/front-end/inspector.html:
44364
44365 2011-08-19  Adam Roben  <aroben@apple.com>
44366
44367         Fix typo
44368
44369         * dom/DOMAllInOne.cpp:
44370
44371 2011-08-19  Adam Roben  <aroben@apple.com>
44372
44373         Windows build fix after r93385
44374
44375         * dom/DOMAllInOne.cpp: Added EventDispatcMediator.cpp.
44376
44377 2011-08-19  Pavel Feldman  <pfeldman@google.com>
44378
44379         Web Inspector: getAttributes should work on a single node, not array.
44380         https://bugs.webkit.org/show_bug.cgi?id=66544
44381
44382         Reviewed by Adam Roben.
44383
44384         * inspector/Inspector.json:
44385         * inspector/InspectorDOMAgent.cpp:
44386         (WebCore::InspectorDOMAgent::getAttributes):
44387         * inspector/InspectorDOMAgent.h:
44388         * inspector/front-end/DOMAgent.js:
44389         (WebInspector.DOMAgent.prototype._loadNodeAttributes):
44390
44391 2011-08-19  Anton Muhin  <antonm@chromium.org>
44392
44393         [v8] CSS wrapper objects retention
44394         https://bugs.webkit.org/show_bug.cgi?id=66377
44395
44396         Reviewed by Pavel Feldman.
44397
44398         Disable object grouping for CSS object wrappers.
44399         This logic leads to hard to debug use-after-free problems.
44400
44401         * bindings/v8/V8GCController.cpp:
44402         (WebCore::GrouperVisitor::visitDOMWrapper):
44403
44404 2011-08-19  Pavel Feldman  <pfeldman@google.com>
44405
44406         Web Inspector: introduce NodeId inherited from integer in the DOM domain description.
44407         https://bugs.webkit.org/show_bug.cgi?id=66491
44408
44409         Drive-by rename of couple of DOM domain protocol methods.
44410
44411         Reviewed by Adam Roben.
44412
44413         * inspector/Inspector.json:
44414         * inspector/InspectorDOMAgent.cpp:
44415         (WebCore::InspectorDOMAgent::requestChildNodes):
44416         (WebCore::InspectorDOMAgent::getAttributes):
44417         (WebCore::InspectorDOMAgent::requestNode):
44418         (WebCore::InspectorDOMAgent::buildObjectForNode):
44419         * inspector/InspectorDOMAgent.h:
44420         * inspector/front-end/DOMAgent.js:
44421         (WebInspector.DOMNode):
44422         (WebInspector.DOMNode.prototype.getChildNodes):
44423         (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
44424         (WebInspector.DOMAgent.prototype._loadNodeAttributes):
44425         (WebInspector.DOMAgent.prototype._setDocument):
44426         (WebInspector.DOMAgent.prototype._setDetachedRoot):
44427         * inspector/generate-inspector-idl:
44428
44429 2011-08-19  Jochen Eisinger  <jochen@chromium.org>
44430
44431         IDBSQLiteBackingStore::deleteObjectStore should maintain referential integrity.
44432         https://bugs.webkit.org/show_bug.cgi?id=66470
44433
44434         Reviewed by Tony Gentilcore.
44435
44436         * storage/IDBSQLiteBackingStore.cpp:
44437         (WebCore::IDBSQLiteBackingStore::deleteObjectStore):
44438
44439 2011-08-19  Takashi Toyoshima  <toyoshim@chromium.org>
44440
44441         [WebSocket] CloseEvent's code and reason properties support.
44442         https://bugs.webkit.org/show_bug.cgi?id=66362
44443
44444         Reviewed by Kent Tamura.
44445
44446         Current WebSocket implementation miss code and reason properties
44447         in CloseEvent. This change expose incoming closing frame's code
44448         and reason to JavaScript API.
44449
44450         Tests: http/tests/websocket/tests/hybi/close-code-and-reason.html
44451                http/tests/websocket/tests/hybi/workers/close-code-and-reason.html
44452
44453         * websockets/CloseEvent.h:
44454         (WebCore::CloseEvent::initCloseEvent):
44455         (WebCore::CloseEvent::code):
44456         (WebCore::CloseEvent::reason):
44457         (WebCore::CloseEvent::CloseEvent):
44458         * websockets/CloseEvent.idl:
44459         Add code and reason properies.
44460         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
44461         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
44462         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
44463         * websockets/ThreadableWebSocketChannelClientWrapper.h:
44464         * websockets/WebSocket.cpp:
44465         (WebCore::WebSocket::didConnect):
44466         (WebCore::WebSocket::didClose):
44467         * websockets/WebSocket.h:
44468         Add implement to handle code and reason.
44469         * websockets/WebSocketChannel.cpp:
44470         (WebCore::WebSocketChannel::WebSocketChannel):
44471         (WebCore::WebSocketChannel::didCloseSocketStream):
44472         (WebCore::WebSocketChannel::processFrame):
44473         * websockets/WebSocketChannel.h:
44474         Add closing frame payload parser.
44475         * websockets/WebSocketChannelClient.h:
44476         (WebCore::WebSocketChannelClient::didClose):
44477         * websockets/WorkerThreadableWebSocketChannel.cpp:
44478         (WebCore::workerContextDidClose):
44479         (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
44480         * websockets/WorkerThreadableWebSocketChannel.h:
44481         Add implement to handle code and reason.
44482
44483 2011-08-19  MORITA Hajime  <morrita@google.com>
44484
44485         Spell-checking doesn't recognize word boundaries on contests inserted by execCommand('insertHTML')
44486         https://bugs.webkit.org/show_bug.cgi?id=65902
44487
44488         Reviewed by Ryosuke Niwa.
44489         
44490         markMisspellingsAndBadGrammar() was using markSpelling() and markBadGrammar().
44491         But these are low-level API and caller should take care of word boundary.
44492         This change replaced these call with overloaded version of markMisspellingsAndBadGrammar(),
44493         which handles word boundary correctly.
44494         
44495         Test: editing/spelling/spelling-insert-html.html
44496
44497         * WebCore.exp.in:
44498         * editing/Editor.cpp:
44499         (WebCore::Editor::markMisspellingsAndBadGrammar):
44500         * testing/Internals.cpp:
44501         (WebCore::Internals::markerCountOf): Added.
44502         (WebCore::Internals::markedRangeAt): Added.
44503         * testing/Internals.h:
44504         * testing/Internals.idl:
44505
44506 2011-08-19  Nayan Kumar K  <nayankk@motorola.com>
44507
44508         Run-time error fix in WebKit-GTK with video support disabled.
44509         https://bugs.webkit.org/show_bug.cgi?id=66541
44510
44511         Definition of the function extraFullScreenStyleSheet() in webkit-gtk
44512         lies outside ENABLE(VIDEO) guard, resulting in runtime error while
44513         trying to launch GtkLauncher with video support disabled.
44514
44515         Reviewed by Philippe Normand.
44516
44517         Run-time error fix. No test cases were added.
44518
44519         * platform/gtk/RenderThemeGtk.h:
44520
44521 2011-08-19  Shinya Kawanaka  <shinyak@google.com>
44522
44523         input[maxlength=0] should ignore text input.
44524         https://bugs.webkit.org/show_bug.cgi?id=65497
44525
44526         Reviewed by Kent Tamura.
44527
44528         Changed the valid range of maxlength.
44529
44530         * html/HTMLInputElement.cpp:
44531         (WebCore::HTMLInputElement::parseMaxLengthAttribute):
44532           Changed maxlength check condition.
44533
44534 2011-08-19  Ilya Tikhonovsky  <loislo@chromium.org>
44535
44536         Web Inspector: backend js api: an ability to skip optional arguments in the middle of the argument list is required.
44537         https://bugs.webkit.org/show_bug.cgi?id=66482
44538
44539         There are functions in the API with multiple optional arguments.
44540         When we call it we have to specify an optional argument as 'undefined' if we want to pass non default value for the next one.
44541         This can be solved with passing the arguments as an object.
44542
44543         Reviewed by Pavel Feldman.
44544
44545         * inspector/CodeGeneratorInspector.pm:
44546         * inspector/front-end/RemoteObject.js:
44547
44548 2011-08-19  Zoltan Horvath  <zoltan@webkit.org>
44549
44550         [Qt] Build fix after r93384.
44551
44552         * rendering/RenderBlockLineLayout.cpp:
44553         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
44554
44555 2011-08-18  Shawn Singh  <shawnsingh@chromium.org>
44556
44557         Computing screen-space transform for LayerChromium and CCLayerImpl
44558         https://bugs.webkit.org/show_bug.cgi?id=66114
44559
44560         Added a data member to LayerChromium and CCLayerImpl that holds
44561         the screen-space transform.   The transform is computed in
44562         calculateDrawTransformsAndVisibility(), which is used during
44563         updating (LayerChromium) and drawing (CCLayerImpl).
44564
44565         Also fixed a FIXME in LayerRendererChromium::drawLayer, which
44566         was not computing the entire hierarchy of transforms to determine
44567         back-face visibility.  Now it simply uses the world space transform.
44568
44569         Reviewed by James Robinson.
44570
44571         Test: compositing/backface-visibility-hierarchical-transform.html
44572
44573         * platform/graphics/chromium/LayerChromium.h:
44574         (WebCore::LayerChromium::screenSpaceTransform):
44575         (WebCore::LayerChromium::setScreenSpaceTransform):
44576         * platform/graphics/chromium/LayerRendererChromium.cpp:
44577         (WebCore::LayerRendererChromium::updateLayers):
44578         (WebCore::LayerRendererChromium::drawLayersInternal):
44579         (WebCore::LayerRendererChromium::drawLayer):
44580         * platform/graphics/chromium/cc/CCLayerImpl.h:
44581         (WebCore::CCLayerImpl::screenSpaceTransform):
44582         (WebCore::CCLayerImpl::setScreenSpaceTransform):
44583
44584 2011-08-18  Ben Wells  <benwells@chromium.org>
44585
44586         [skia] -webkit-transform breaks -webkit-mask
44587         https://bugs.webkit.org/show_bug.cgi?id=66442
44588
44589         The problem here is that in RenderBox::paintMaskImages, if we are in
44590         a transform with a rotation, scale or skew we set the composite mode to
44591         be DestinationIn and then create a transparency layer, then paint the
44592         mask with SourceOver and end the transparency layer. (The normal case
44593         is just to use DestinationIn to paint the mask.)
44594
44595         In skia when we create transparency layers we don't pass on the composite
44596         mode, so when we end the transparency layer it is composited back using
44597         SourceOver. The fix is to pass on the composite mode when creating
44598         transparency layers in skia.
44599
44600         Reviewed by Stephen White.
44601
44602         * platform/graphics/skia/GraphicsContextSkia.cpp:
44603         (WebCore::GraphicsContext::beginTransparencyLayer):
44604         * platform/graphics/skia/PlatformContextSkia.cpp:
44605         (WebCore::PlatformContextSkia::getXfermodeMode):
44606         * platform/graphics/skia/PlatformContextSkia.h:
44607
44608 2011-08-18  Hayato Ito  <hayato@chromium.org>
44609
44610         Isolate EventDispatchMediator into a separate file.
44611         https://bugs.webkit.org/show_bug.cgi?id=66458
44612
44613         Reviewed by Ryosuke Niwa.
44614
44615         Extracted EventDispatchMediator.h and EventDispatchMediator.cpp
44616         out of Event.h and Event.cpp Also moved FocusEventDispatchMediator
44617         and BlurEventDispatchMediator from Event.{h|cpp} to
44618         EventDispatchMediator.{h|cpp}.
44619
44620         No new tests since this is just refactoring.
44621
44622         * CMakeLists.txt:
44623         * GNUmakefile.list.am:
44624         * WebCore.gypi:
44625         * WebCore.pro:
44626         * WebCore.vcproj/WebCore.vcproj:
44627         * WebCore.xcodeproj/project.pbxproj:
44628         * dom/Event.cpp:
44629         * dom/Event.h:
44630         * dom/EventDispatchMediator.cpp: Added.
44631         (WebCore::EventDispatchMediator::create):
44632         (WebCore::EventDispatchMediator::EventDispatchMediator):
44633         (WebCore::EventDispatchMediator::dispatchEvent):
44634         (WebCore::FocusEventDispatchMediator::create):
44635         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
44636         (WebCore::FocusEventDispatchMediator::dispatchEvent):
44637         (WebCore::BlurEventDispatchMediator::create):
44638         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
44639         (WebCore::BlurEventDispatchMediator::dispatchEvent):
44640         * dom/EventDispatchMediator.h: Added.
44641         (WebCore::EventDispatchMediator::~EventDispatchMediator):
44642         (WebCore::EventDispatchMediator::event):
44643         (WebCore::EventDispatchMediator::EventDispatchMediator):
44644         (WebCore::EventDispatchMediator::setEvent):
44645         * dom/EventDispatcher.cpp:
44646         * dom/KeyboardEvent.h:
44647         * dom/MouseEvent.h:
44648         * dom/Node.cpp:
44649         * dom/ScopedEventQueue.cpp:
44650         * dom/UIEvent.h:
44651         * dom/WheelEvent.h:
44652
44653 2011-08-18  Dan Bernstein  <mitz@apple.com>
44654
44655         Mid-word break can occur between a character and a combining mark
44656         https://bugs.webkit.org/show_bug.cgi?id=66529
44657
44658         Reviewed by Simon Fraser.
44659
44660         No test added because I could not find a combining mark with a non-zero advance in
44661         any of the system fonts and tests fonts. 
44662
44663         * rendering/RenderBlockLineLayout.cpp:
44664         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Disallow a mid-word break before a
44665         combining mark.
44666
44667 2011-08-18  Kent Tamura  <tkent@chromium.org>
44668
44669         REGRESSION(r90971): Null pointer dereference with placeholder and webkit-scrollbar-corner
44670         https://bugs.webkit.org/show_bug.cgi?id=66453
44671
44672         Reviewed by Simon Fraser.
44673
44674         Test: fast/forms/placeholder-crash-with-scrollbar-corner.html
44675
44676         * rendering/RenderObjectChildList.cpp:
44677         (WebCore::RenderObjectChildList::removeChildNode): Add a NULL check for owner's layer.
44678
44679 2011-08-18  Jeffrey Pfau  <jpfau@apple.com>
44680
44681         New XML parser: scripting support
44682         https://bugs.webkit.org/show_bug.cgi?id=66406
44683
44684         Reviewed by Adam Barth.
44685
44686         * xml/parser/NewXMLDocumentParser.cpp:
44687         (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
44688         (WebCore::NewXMLDocumentParser::resumeParsing):
44689         (WebCore::NewXMLDocumentParser::processScript):
44690         (WebCore::NewXMLDocumentParser::append): Add support for pausing the parsing
44691         (WebCore::NewXMLDocumentParser::finish): Add support for pausing the parsing
44692         (WebCore::NewXMLDocumentParser::notifyFinished):
44693         * xml/parser/NewXMLDocumentParser.h:
44694         (WebCore::NewXMLDocumentParser::pauseParsing):
44695         * xml/parser/XMLTreeBuilder.cpp: Add a shared function between self-closing and end tags
44696         (WebCore::XMLTreeBuilder::closeElement): Registers scripts and pops the stack
44697         (WebCore::XMLTreeBuilder::processStartTag):
44698         (WebCore::XMLTreeBuilder::processEndTag):
44699         * xml/parser/XMLTreeBuilder.h:
44700
44701 2011-08-18  Mark Hahnenberg  <mhahnenberg@apple.com>
44702
44703         Move allocation in constructors into separate constructorBody() methods
44704         https://bugs.webkit.org/show_bug.cgi?id=66265
44705
44706         Reviewed by Oliver Hunt.
44707
44708         No new tests.
44709
44710         Refactoring to put all allocations that need to be done after the object's 
44711         initialization list has executed but before the object is ready for use 
44712         into a separate constructorBody() method.  This method is still called by the constructor, 
44713         so the patch doesn't resolve any potential issues, it's just to set up the code for further refactoring.
44714
44715         * bridge/objc/ObjCRuntimeObject.h:
44716         (JSC::Bindings::ObjCRuntimeObject::create):
44717         * bridge/objc/ObjCRuntimeObject.mm:
44718         * bridge/objc/objc_instance.mm:
44719         (ObjCRuntimeMethod::create):
44720         (ObjCRuntimeMethod::ObjCRuntimeMethod):
44721         * bridge/runtime_array.cpp:
44722         * bridge/runtime_array.h:
44723         (JSC::RuntimeArray::create):
44724
44725 2011-08-18  Beth Dakin  <bdakin@apple.com>
44726
44727         https://bugs.webkit.org/show_bug.cgi?id=66495
44728         Lion-specific scroller SPIs can use forward declaration instead of 
44729         WebKitSystemInterface
44730
44731         Reviewed by Sam Weinig.
44732
44733         * WebCore.exp.in:
44734         * WebCore.xcodeproj/project.pbxproj:
44735         * platform/mac/NSScrollerImpDetails.h: Added.
44736         * platform/mac/ScrollAnimatorMac.h:
44737         * platform/mac/ScrollAnimatorMac.mm:
44738         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
44739         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
44740         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
44741         (-[ScrollbarPartAnimation setCurrentProgress:]):
44742         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
44743         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
44744         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
44745         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
44746         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
44747         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
44748         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
44749         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
44750         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
44751         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
44752         (WebCore::ScrollAnimatorMac::willStartLiveResize):
44753         (WebCore::ScrollAnimatorMac::contentsResized):
44754         (WebCore::ScrollAnimatorMac::willEndLiveResize):
44755         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
44756         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
44757         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
44758         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
44759         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
44760         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
44761         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
44762         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
44763         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
44764         (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
44765         * platform/mac/ScrollbarThemeMac.h:
44766         * platform/mac/ScrollbarThemeMac.mm:
44767         (WebCore::ScrollbarThemeMac::registerScrollbar):
44768         (WebCore::ScrollbarThemeMac::scrollbarThickness):
44769         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
44770         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
44771         (WebCore::ScrollbarThemeMac::hasThumb):
44772         (WebCore::ScrollbarThemeMac::minimumThumbLength):
44773         (WebCore::ScrollbarThemeMac::updateEnabledState):
44774         (WebCore::scrollbarPainterPaint):
44775         (WebCore::ScrollbarThemeMac::paint):
44776         * platform/mac/WebCoreSystemInterface.h:
44777         * platform/mac/WebCoreSystemInterface.mm:
44778
44779 2011-08-18  Dan Bernstein  <mitz@apple.com>
44780
44781         <rdar://problem/9973194> Fonts that specify a positive descender value are treated as having descenders ending above the baseline
44782         https://bugs.webkit.org/show_bug.cgi?id=66515
44783
44784         Reviewed by Darin Adler.
44785
44786         No test because none of the system fonts and test fonts have an incorrectly-specified descender value.
44787
44788         * platform/graphics/mac/SimpleFontDataMac.mm:
44789         (WebCore::SimpleFontData::platformInit): If the font specifies a positive descender, assume that it meant
44790         the same amount, but negative. This is consistent with what Core Text does.
44791
44792 2011-08-18  Ryosuke Niwa  <rniwa@webkit.org>
44793
44794         positionForPoint returns wrong VisiblePosition at bidi boundaries
44795         https://bugs.webkit.org/show_bug.cgi?id=65356
44796
44797         Reviewed by David Hyatt.
44798
44799         The bug was caused by RenderText::positionForPoint's assuming that the position will always reside
44800         inside the inline box that contains the point, which is not true at the boundaries of bidi-runs.
44801
44802         For example, in aDC12BAb where AB12CD is a RTL text, the offset on the right of A is 7 even though
44803         the inline box for "BA" only contains offsets 1, 2, and 3. We must traverse the bidi-run "DC12BA"
44804         until the end to obtain the offset 7 from the inline box for "DC".
44805
44806         Fixed the bug by introducing createVisiblePositionAfterAdjustingOffsetForBiDi which traverses runs
44807         on the left or the right of the position to compute the appropriate offset following the NSTextView convention.
44808
44809         This patch also fixes a regression from r74971 that caret is placed incorrectly between inline boxes of
44810         LTR or RTL text in a RTL or LTR block respectively.
44811
44812         Test: editing/selection/caret-at-bidi-boundary.html
44813
44814         * rendering/InlineTextBox.cpp:
44815         (WebCore::InlineTextBox::offsetForPosition):
44816         * rendering/RenderText.cpp:
44817         (WebCore::lineDirectionPointFitsInBox): Takes ShouldAffinityBeDownstream instead of EAfinity.
44818         (WebCore::createVisiblePositionForBox):
44819         (WebCore::createVisiblePositionAfterAdjustingOffsetForBiDi):
44820         (WebCore::RenderText::positionForPoint):
44821
44822 2011-08-18  Xiaomei Ji  <xji@chromium.org>
44823
44824         --webkit-visual-word renaming right/leftWordPositionAcrossBoundary
44825         https://bugs.webkit.org/show_bug.cgi?id=66436
44826
44827         Reviewed by Ryosuke Niwa.
44828
44829         Rename them to right/leftWordPositionIgnoringEditingBoundary.
44830
44831         * editing/visible_units.cpp:
44832         (WebCore::leftWordPositionIgnoringEditingBoundary):
44833         (WebCore::rightWordPositionIgnoringEditingBoundary):
44834         (WebCore::leftWordPosition):
44835         (WebCore::rightWordPosition):
44836
44837 2011-08-18  Jeff Miller  <jeffm@apple.com>
44838
44839         Soft link against AVFoundationCF and CoreMedia
44840         https://bugs.webkit.org/show_bug.cgi?id=65725
44841         
44842         Add new macros to SoftLinking.h to support soft-linking to functions and variables decorated with __declspec(dllimport),
44843         and use them to soft-link to AVFoundationCF and CoreMedia. I verified that the WebProcess doesn't load these DLLs
44844         until a media element is used.
44845
44846         Reviewed by Eric Carlson.
44847
44848         No new tests as no change in functionality.
44849
44850         * WebCore.vcproj/WebCore.vcproj: Added AVFoundationCFSoftLinking.h and CoreMediaSoftLinking.h.
44851         * WebCore.vcproj/WebCoreMediaQT.vsprops: Removed DelayLoadDLLs linker option which is no longer needed.
44852         * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Added.
44853         * platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h: Added.
44854         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Stop linking against AVFoundationCF.lib and CoreMedia.lib and include AVFoundationCFSoftLinking.h and CoreMediaSoftLinking.h.
44855         * platform/win/SoftLinking.h: Added SOFT_LINK_DLL_IMPORT() and SOFT_LINK_VARIABLE_DLL_IMPORT() macros.
44856
44857 2011-08-18  Sailesh Agrawal  <sail@chromium.org>
44858
44859         Chromium Mac: Show scrollbar when doing search
44860         https://bugs.webkit.org/show_bug.cgi?id=66209
44861
44862         Reviewed by James Robinson.
44863
44864         Updated the Lion scrollbar drawing code to force the scrollbar to be visible when we have tickmarks for search results.
44865
44866         No tests because there are no Mac 10.7 chromium bots yet.
44867
44868         * platform/chromium/ScrollbarThemeChromiumMac.h:
44869         * platform/chromium/ScrollbarThemeChromiumMac.mm:
44870         (WebCore::ScrollbarThemeChromiumMac::paint):
44871         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
44872
44873 2011-08-18  James Robinson  <jamesr@chromium.org>
44874
44875         [chromium] Draw the root/"non-composited content" in compositor side
44876         https://bugs.webkit.org/show_bug.cgi?id=58834
44877
44878         Reviewed by Kenneth Russell.
44879
44880         Handle the root or non-composited content with a GraphicsLayer rather than special case logic in
44881         LayerRendererChromium. This layer's client is the NonCompositedContentHost, which routes the paint callbacks
44882         through the LayerPainterChromium interface out to the WebView.  The root layer is special in two ways:
44883         *) The root layer has a scroll offset, which changes how the visibleLayerRect maps to content space and applies a
44884             draw-time transform.
44885         *) The root layer masks the alpha channel and disable blending when drawing because of concerns about subpixel
44886             AA trashing the alpha channel.  The root layer is always opaque so this is fine.
44887         *) The root layer does not have border texels and does have subpixel AA for text.
44888
44889         Covered by compositing/
44890
44891         * WebCore.gypi:
44892         * platform/graphics/chromium/ContentLayerChromium.cpp:
44893         (WebCore::ContentLayerChromium::paintContentsIfDirty):
44894         * platform/graphics/chromium/ImageLayerChromium.cpp:
44895         (WebCore::ImageLayerChromium::paintContentsIfDirty):
44896         * platform/graphics/chromium/LayerChromium.cpp:
44897         (WebCore::LayerChromium::pushPropertiesTo):
44898         * platform/graphics/chromium/LayerChromium.h:
44899         (WebCore::LayerChromium::scrollPosition):
44900         (WebCore::LayerChromium::setScrollPosition):
44901         * platform/graphics/chromium/LayerRendererChromium.cpp:
44902         (WebCore::LayerRendererChromium::initialize):
44903         (WebCore::LayerRendererChromium::releaseTextures):
44904         (WebCore::LayerRendererChromium::viewportChanged):
44905         (WebCore::LayerRendererChromium::updateLayers):
44906         (WebCore::LayerRendererChromium::drawLayers):
44907         (WebCore::LayerRendererChromium::drawLayersInternal):
44908         (WebCore::LayerRendererChromium::getFramebufferPixels):
44909         (WebCore::LayerRendererChromium::cleanupSharedObjects):
44910         (WebCore::LayerRendererChromium::layerTreeAsText):
44911         * platform/graphics/chromium/LayerRendererChromium.h:
44912         (WebCore::LayerRendererChromium::rootLayer):
44913         (WebCore::LayerRendererChromium::viewportSize):
44914         (WebCore::LayerRendererChromium::viewportWidth):
44915         (WebCore::LayerRendererChromium::viewportHeight):
44916         * platform/graphics/chromium/NonCompositedContentHost.cpp: Added.
44917         (WebCore::NonCompositedContentHost::NonCompositedContentHost):
44918         (WebCore::NonCompositedContentHost::~NonCompositedContentHost):
44919         (WebCore::NonCompositedContentHost::invalidateRect):
44920         (WebCore::NonCompositedContentHost::invalidateEntireLayer):
44921         (WebCore::NonCompositedContentHost::setScrollPosition):
44922         (WebCore::NonCompositedContentHost::notifyAnimationStarted):
44923         (WebCore::NonCompositedContentHost::notifySyncRequired):
44924         (WebCore::NonCompositedContentHost::paintContents):
44925         (WebCore::NonCompositedContentHost::showDebugBorders):
44926         (WebCore::NonCompositedContentHost::showRepaintCounter):
44927         * platform/graphics/chromium/NonCompositedContentHost.h: Added.
44928         (WebCore::NonCompositedContentHost::create):
44929         (WebCore::NonCompositedContentHost::graphicsLayer):
44930         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
44931         (WebCore::CCHeadsUpDisplay::draw):
44932         * platform/graphics/chromium/cc/CCLayerImpl.h:
44933         (WebCore::CCLayerImpl::scrollPosition):
44934         (WebCore::CCLayerImpl::setScrollPosition):
44935         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
44936         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
44937         (WebCore::CCLayerTreeHost::initialize):
44938         (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
44939         (WebCore::CCLayerTreeHost::setRootLayer):
44940         (WebCore::CCLayerTreeHost::setViewport):
44941         (WebCore::CCLayerTreeHost::reallocateRenderer):
44942         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
44943         (WebCore::CCLayerTreeHost::rootLayer):
44944         (WebCore::CCLayerTreeHost::viewportSize):
44945
44946 2011-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
44947
44948         Unreviewed, rolling out r93354.
44949         http://trac.webkit.org/changeset/93354
44950         https://bugs.webkit.org/show_bug.cgi?id=66503
44951
44952         "consensus was not reached" (Requested by senorblanco on
44953         #webkit).
44954
44955         * html/canvas/CanvasRenderingContext2D.cpp:
44956         (WebCore::CanvasRenderingContext2D::drawImage):
44957         * platform/graphics/cg/GraphicsContextCG.cpp:
44958         (WebCore::GraphicsContext::drawNativeImage):
44959
44960 2011-08-18  Sadrul Habib Chowdhury  <sadrul@chromium.org>
44961
44962         GestureRecognizer: Update how gesture-scroll works.
44963
44964         Instead of just sending a series of 'GestureUpdate' events, send a
44965         single 'GestureBegin' event, followed by a series of 'GestureUpdate' events,
44966         and end with a 'GestureEnd' event.
44967         https://bugs.webkit.org/show_bug.cgi?id=66267
44968
44969         Reviewed by Adam Barth.
44970
44971         * page/EventHandler.cpp:
44972         (WebCore::EventHandler::handleGestureEvent):
44973         * platform/chromium/GestureRecognizerChromium.cpp:
44974         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
44975         (WebCore::InnerGestureRecognizer::appendScrollGestureBegin):
44976         (WebCore::InnerGestureRecognizer::appendScrollGestureEnd):
44977         (WebCore::InnerGestureRecognizer::appendScrollGestureUpdate):
44978         (WebCore::scrollEnd):
44979         (WebCore::isClickOrScroll):
44980         (WebCore::inScroll):
44981         * platform/chromium/GestureRecognizerChromium.h:
44982         (WebCore::InnerGestureRecognizer::firstTouchPosition):
44983
44984 2011-08-18  Sailesh Agrawal  <sail@chromium.org>
44985
44986         Chromium: Update forked ScrollbarThemeChromiumMac.mm
44987         https://bugs.webkit.org/show_bug.cgi?id=65555
44988
44989         Reviewed by James Robinson.
44990
44991         Merge recent changes to ScrollbarThemeMac.mm to ScrollbarThemeChromiumMac.mm.
44992
44993         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
44994         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
44995         (wkScrollbarPainterSetEnabled):
44996         * platform/chromium/ScrollbarThemeChromiumMac.h:
44997         (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
44998         * platform/chromium/ScrollbarThemeChromiumMac.mm:
44999         (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
45000         (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
45001         (WebCore::toScrollbarPainterKnobStyle):
45002         (WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
45003         (WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
45004         (WebCore::ScrollbarThemeChromiumMac::paint):
45005
45006 2011-08-18  Justin Novosad  <junov@chromium.org>
45007
45008         Unwarranted DOM Exception when when canvas2D drawImage is called with src
45009         rect out of bounds
45010         https://bugs.webkit.org/show_bug.cgi?id=65709
45011
45012         Reviewed by Stephen White.
45013
45014         Test: fast/canvas/drawImage-clipped-source.html
45015
45016         * html/canvas/CanvasRenderingContext2D.cpp:
45017         (WebCore::CanvasRenderingContext2D::drawImage):
45018         Removed the unnecessary dom exceptions for out of bounds source rectangles
45019         The overloads that receive video and image elements as source images
45020         now use the normalized versions of the source rectangle, which
45021         GraphicsContext (and its various platform flavors) can handle correctly.
45022         The normalized rectangle is the equivalent rectangle with width and height
45023         greater than 0.  The canvas version of this method, which had better layout 
45024         test coverage, was already correctly using the normalized rectangle. The
45025         newly added layout test verifies correct behavior with negative
45026         source rectangle dimensions.
45027         * platform/graphics/cg/GraphicsContextCG.cpp:
45028         (WebCore::GraphicsContext::drawNativeImage):
45029         Fixed algorithm that adjusts the destination rectangle to match the clipping
45030         applied to the source rect. The case of scaled filtered images with source
45031         rectangles that overlap the edge of the image was not being handled
45032         correctly. This use case was previously unsupported and used to trigger
45033         a DOM exception.
45034
45035 2011-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
45036
45037         Unreviewed, rolling out r93329.
45038         http://trac.webkit.org/changeset/93329
45039         https://bugs.webkit.org/show_bug.cgi?id=66497
45040
45041         Turned text on chromium win blue (Requested by jamesr_ on
45042         #webkit).
45043
45044         * WebCore.gypi:
45045         * platform/graphics/chromium/ContentLayerChromium.cpp:
45046         * platform/graphics/chromium/ContentLayerChromium.h:
45047         * platform/graphics/chromium/ImageLayerChromium.cpp:
45048         (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
45049         * platform/graphics/chromium/LayerChromium.cpp:
45050         (WebCore::LayerChromium::LayerChromium):
45051         (WebCore::LayerChromium::pushPropertiesTo):
45052         (WebCore::LayerChromium::dumpLayerProperties):
45053         * platform/graphics/chromium/LayerChromium.h:
45054         * platform/graphics/chromium/LayerRendererChromium.cpp:
45055         (WebCore::LayerRendererChromium::initialize):
45056         (WebCore::LayerRendererChromium::releaseTextures):
45057         (WebCore::LayerRendererChromium::updateRootLayerContents):
45058         (WebCore::LayerRendererChromium::drawRootLayer):
45059         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
45060         (WebCore::LayerRendererChromium::rootLayerChanged):
45061         (WebCore::LayerRendererChromium::viewportChanged):
45062         (WebCore::LayerRendererChromium::updateLayers):
45063         (WebCore::LayerRendererChromium::drawLayers):
45064         (WebCore::LayerRendererChromium::paintLayerContents):
45065         (WebCore::LayerRendererChromium::drawLayersInternal):
45066         (WebCore::LayerRendererChromium::getFramebufferPixels):
45067         (WebCore::LayerRendererChromium::cleanupSharedObjects):
45068         (WebCore::LayerRendererChromium::layerTreeAsText):
45069         (WebCore::LayerRendererChromium::dumpRenderSurfaces):
45070         * platform/graphics/chromium/LayerRendererChromium.h:
45071         (WebCore::LayerRendererChromium::rootLayer):
45072         * platform/graphics/chromium/NonCompositedContentHost.cpp: Removed.
45073         * platform/graphics/chromium/NonCompositedContentHost.h: Removed.
45074         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
45075         (WebCore::RenderSurfaceChromium::dumpSurface):
45076         * platform/graphics/chromium/TiledLayerChromium.cpp:
45077         (WebCore::TiledLayerChromium::createTilerIfNeeded):
45078         (WebCore::TiledLayerChromium::tilingTransform):
45079         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
45080         (WebCore::CCHeadsUpDisplay::draw):
45081         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
45082         (WebCore::CCLayerImpl::CCLayerImpl):
45083         * platform/graphics/chromium/cc/CCLayerImpl.h:
45084         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
45085         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
45086         (WebCore::CCLayerTreeHost::initialize):
45087         (WebCore::CCLayerTreeHost::createRootLayerPainter):
45088         (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
45089         (WebCore::CCLayerTreeHost::setRootLayer):
45090         (WebCore::CCLayerTreeHost::setViewport):
45091         (WebCore::CCLayerTreeHost::reallocateRenderer):
45092         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
45093         (WebCore::CCLayerTreeHost::rootLayer):
45094         (WebCore::CCLayerTreeHost::viewportContentRect):
45095         (WebCore::CCLayerTreeHost::viewportScrollPosition):
45096         (WebCore::CCLayerTreeHost::viewportVisibleRect):
45097         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
45098         (WebCore::CCTiledLayerImpl::draw):
45099
45100 2011-08-18  Ryosuke Niwa  <rniwa@webkit.org>
45101
45102         SimplifiedBackwardsTextIterator returns incorrect offset with first-letter rule
45103         https://bugs.webkit.org/show_bug.cgi?id=66086
45104
45105         Reviewed by Darin Adler.
45106
45107         The bug was caused by SimplifiedBackwardsTextIterator's not taking care of first-letter at all.
45108         Fixing the bug by detecting RenderTextFragment in handleTextNode.
45109
45110         Also added m_shouldHandleFirstLetter to SimplifiedBackwardsTextIterator to keep track of whether or not
45111         the next call to handleTextNode needs to process the first-letter part of the text fragment.
45112
45113         Test: editing/text-iterator/backward-textiterator-first-letter-crash.html
45114
45115         * editing/TextIterator.cpp:
45116         (WebCore::firstRenderTextInFirstLetter): Extracted from handleTextNodeFirstLetter.
45117         (WebCore::TextIterator::handleTextNodeFirstLetter): Calls firstRenderTextInFirstLetter.
45118         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
45119         (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
45120         (WebCore::SimplifiedBackwardsTextIterator::handleFirstLetter): Added.
45121         * editing/TextIterator.h:
45122
45123 2011-08-18  Iain Merrick  <husky@google.com>
45124
45125         [chromium] Assert that main thread and compositor thread are used safely
45126         https://bugs.webkit.org/show_bug.cgi?id=66145
45127
45128         CCLayerTreeHostImplProxy now has public static methods isMainThread()
45129         and isImplThread(), and we ASSERT these in various places. If threaded
45130         compositing is disabled, we fake isImplThread() by setting a flag for
45131         the duration of compositing, so the assert is still valid.
45132
45133         Reviewed by James Robinson.
45134
45135         Covered by existing tests.
45136
45137         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
45138         (WebCore::CCCanvasLayerImpl::draw):
45139         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
45140         (WebCore::CCLayerTreeHost::doComposite):
45141         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
45142         (WebCore::CCLayerTreeHostImplProxy::postDrawLayersTaskOnCCThread):
45143         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommitOnCCThread):
45144         (WebCore::CCLayerTreeHostImplProxy::isMainThread):
45145         (WebCore::CCLayerTreeHostImplProxy::isImplThread):
45146         (WebCore::CCLayerTreeHostImplProxy::setImplThread):
45147         (WebCore::CCLayerTreeHostImplProxy::commitOnCCThread):
45148         (WebCore::CCLayerTreeHostImplProxy::drawLayersOnCCThread):
45149         (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedrawOnCCThread):
45150         (WebCore::CCLayerTreeHostImplProxy::setNeedsRedrawOnCCThread):
45151         (WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
45152         (WebCore::CCLayerTreeHostImplProxy::layerTreeHostClosedOnCCThread):
45153         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h:
45154         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
45155         (WebCore::CCPluginLayerImpl::draw):
45156         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
45157         (WebCore::CCTiledLayerImpl::draw):
45158         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
45159         (WebCore::CCVideoLayerImpl::draw):
45160
45161 2011-08-18  Alexey Proskuryakov  <ap@apple.com>
45162
45163         Regional indicator symbols that are combined should behave as a single character when editing
45164         https://bugs.webkit.org/show_bug.cgi?id=65395
45165
45166         Reviewed by Dan Bernstein.
45167
45168         Part two: make cursor movement iterator work. This fixes the problem for strings that don't
45169         contain more than two flags in a row, as fixing it completely doesn't seem possible with ICU.
45170
45171         Test: editing/selection/regional-indicators.html
45172
45173         * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added custom
45174         rules for regional indicator symbols.
45175
45176 2011-08-18  Cary Clark  <caryclark@google.com>
45177
45178         Fix rubber band gutter drawing for Skia on Chromium Mac
45179         https://bugs.webkit.org/show_bug.cgi?id=66478
45180
45181         Reviewed by James Robinson.
45182
45183         No new tests. The Skia on Chromium Mac platform has
45184         not been enabled.
45185
45186         This break was detected at compile time; there is no
45187         behavior change.
45188
45189         * platform/chromium/ScrollbarThemeChromiumMac.mm:
45190         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
45191         Convert the CGImage into an SkBitmap if Skia is present.
45192
45193 2011-08-18  Julien Chaffraix  <jchaffraix@webkit.org>
45194
45195         Implement a faster path for painting tables with overflowing cells
45196         https://bugs.webkit.org/show_bug.cgi?id=65491
45197
45198         This change introduces a smarter way of painting if the table is big enough and we have a small amount
45199         of overflowing cells in the table. The new path does a binary search of the cells to repaint but adds
45200         the overflowing cells to the repainting cells.
45201
45202         This saves ~50% when doing programmatic scrolling throught JS on a 500x100 table with some overflowing
45203         cells. Also we cap the memory usage to a ratio of the total size of the table to avoid blowing up the
45204         memory.
45205
45206         Reviewed by David Hyatt.
45207
45208         No new tests as the behavior should be the same.
45209
45210         * rendering/RenderTableSection.cpp:
45211         (WebCore::RenderTableSection::RenderTableSection):
45212         (WebCore::RenderTableSection::layoutRows): Added some code to accumulate the overflowing cells
45213         in an internal HashSet (we don't need to keep them sorted and it makes it easier to use them during
45214         painting). If we hit the cap, flip the boolean value and clear the HashSet as the slow path does not
45215         care about the cell's information. Make sure that the "has overflowing cells" information is still
45216         properly encoded on our 2 values.
45217
45218         (WebCore::compareCellPositionsWithOverflowingCells): Added this method as we are doing a more
45219         complicated sort:
45220             * the old path would sort one (mostly sorted) array by rows only as the stable sort would
45221               take care of keeping the column ordering inside a row.
45222             * the new path basically has to sort an unsorted array (taken partly from the HashSet).
45223
45224         (WebCore::RenderTableSection::paintObject): Tweaked the logic to account for difference between
45225         m_forceSlowPaintPathWithOverflowingCell and has some overflowing cells. Also we make sure we don't
45226         repaint the same cell twice.
45227
45228         (WebCore::RenderTableSection::nodeAtPoint): Changed to hasOverflowingCell(). We don't apply our
45229         fast path optimization here.
45230
45231         * rendering/RenderTableSection.h: Transformed our original boolean into
45232         a HashSet and a boolean. The HashSet holds up the CellStruct that are overflowing
45233         until we reach the memory threshold. After this is hit, we just set the boolean
45234         to avoid using too much memory.
45235
45236         (WebCore::RenderTableSection::hasOverflowingCell): This is the new way to determine
45237         if we have any overflowing cell, used only for hit testing.
45238
45239 2011-08-18  Kentaro Hara  <haraken@google.com>
45240
45241         An EventSource constructor should throw TypeError, when the number of arguments is not enough.
45242         https://bugs.webkit.org/show_bug.cgi?id=66454
45243
45244         Reviewed by Adam Barth.
45245
45246         The spec is here: http://www.w3.org/TR/WebIDL/#es-operations.
45247
45248         Test: fast/eventsource/eventsource-constructor.html
45249
45250         * bindings/js/JSEventSourceCustom.cpp:
45251         (WebCore::JSEventSourceConstructor::constructJSEventSource): Changed SyntaxError to TypeError.
45252         * bindings/v8/custom/V8EventSourceConstructor.cpp:
45253         (WebCore::V8EventSource::constructorCallback): Changed SyntaxError to TypeError.
45254
45255 2011-08-18  Kentaro Hara  <haraken@google.com>
45256
45257         A SharedWorker constructor should throw TypeError, when the number of arguments is not enough.
45258         https://bugs.webkit.org/show_bug.cgi?id=66455
45259
45260         Reviewed by Adam Barth.
45261
45262         The spec is here: http://www.w3.org/TR/WebIDL/#es-operations.
45263
45264         Test: fast/workers/shared-worker-constructor.html
45265
45266         * bindings/js/JSSharedWorkerCustom.cpp:
45267         (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker): Changed SyntaxError to TypeError.
45268         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
45269         (WebCore::V8SharedWorker::constructorCallback): Changed SyntaxError to TypeError.
45270
45271 2011-08-17  Alejandro G. Castro  <alex@igalia.com>
45272
45273         [GTK] Fix compilation problems with deprecations in gtk+
45274         https://bugs.webkit.org/show_bug.cgi?id=66073
45275
45276         Reviewed by Martin Robinson.
45277
45278         * platform/gtk/GtkAuthenticationDialog.cpp:
45279         (WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog): Added
45280         gtk_box_new conditional compilation for gtk+-3.
45281         * platform/gtk/RenderThemeGtk3.cpp:
45282         (WebCore::RenderThemeGtk::adjustRepaintRect):
45283         (WebCore::RenderThemeGtk::paintSliderTrack):
45284         (WebCore::RenderThemeGtk::paintSliderThumb):
45285         (WebCore::RenderThemeGtk::adjustSliderThumbSize): Now we have have
45286         GTK_TYPE_SCALE in gtk+3.
45287
45288 2011-08-18  Kentaro Hara  <haraken@google.com>
45289
45290         A Worker constructor should throw TypeError, when the number of arguments is not enough
45291         https://bugs.webkit.org/show_bug.cgi?id=66456
45292
45293         Reviewed by Adam Barth.
45294
45295         Spec is here: http://www.w3.org/TR/WebIDL/#es-operations.
45296
45297         Test: fast/workers/worker-constructor.html
45298
45299         * bindings/js/JSWorkerCustom.cpp:
45300         (WebCore::JSWorkerConstructor::constructJSWorker): Changed SyntaxError to TypeError.
45301         * bindings/v8/custom/V8WorkerCustom.cpp:
45302         (WebCore::V8Worker::constructorCallback): Changed SyntaxError to TypeError.
45303
45304 2011-08-18  John Bates  <jbates@google.com>
45305
45306         Fix logic error causing reverse of desired WebGL rate limiting behavior
45307         https://bugs.webkit.org/show_bug.cgi?id=66445
45308
45309         Reviewed by Kenneth Russell.
45310
45311         * platform/graphics/chromium/WebGLLayerChromium.cpp:
45312         (WebCore::WebGLLayerChromium::setTextureUpdated):
45313
45314 2011-08-18  Levi Weintraub  <leviw@chromium.org>
45315
45316         Switch RenderTextControl* to new layout types
45317         https://bugs.webkit.org/show_bug.cgi?id=66250
45318
45319         Reviewed by Eric Seidel.
45320
45321         Convertikng the RenderTextControl* classes to use the LayoutUnit abstraction.
45322
45323         No new tests as no change in behavior.
45324
45325         * rendering/LayoutTypes.h:
45326         (WebCore::layoutMod): Added a function to perform the modulo operation on LayoutUnits.
45327         * rendering/RenderTextControl.cpp:
45328         (WebCore::RenderTextControl::hitInnerTextElement):
45329         * rendering/RenderTextControl.h:
45330         * rendering/RenderTextControlMultiLine.cpp:
45331         (WebCore::RenderTextControlMultiLine::preferredContentWidth):
45332         (WebCore::RenderTextControlMultiLine::baselinePosition):
45333         * rendering/RenderTextControlMultiLine.h:
45334         * rendering/RenderTextControlSingleLine.cpp:
45335         (WebCore::RenderTextControlSingleLine::layout):
45336         (WebCore::RenderTextControlSingleLine::controlClipRect):
45337         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
45338         (WebCore::RenderTextControlSingleLine::scrollWidth):
45339         (WebCore::RenderTextControlSingleLine::scrollHeight):
45340         (WebCore::RenderTextControlSingleLine::scrollLeft):
45341         (WebCore::RenderTextControlSingleLine::scrollTop):
45342         (WebCore::RenderTextControlSingleLine::setScrollLeft):
45343         (WebCore::RenderTextControlSingleLine::setScrollTop):
45344         * rendering/RenderTextControlSingleLine.h:
45345
45346 2011-08-18  Levi Weintraub  <leviw@chromium.org>
45347
45348         Switch Inline rendering classes to new layout types
45349         https://bugs.webkit.org/show_bug.cgi?id=66239
45350
45351         Reviewed by Eric Seidel.
45352
45353         Converting inline rendering classes to use the LayoutUnit abstraction from ints.
45354
45355         No new tests as no change in functionality.
45356
45357         * rendering/InlineBox.h:
45358         (WebCore::InlineBox::logicalFrameRect):
45359         (WebCore::InlineBox::baselinePosition):
45360         (WebCore::InlineBox::lineHeight):
45361         * rendering/InlineFlowBox.h:
45362         * rendering/InlineTextBox.cpp:
45363         (WebCore::InlineTextBox::logicalOverflowRect):
45364         (WebCore::InlineTextBox::setLogicalOverflowRect):
45365         (WebCore::InlineTextBox::baselinePosition):
45366         (WebCore::InlineTextBox::lineHeight):
45367         * rendering/InlineTextBox.h:
45368         (WebCore::InlineTextBox::logicalTopVisualOverflow):
45369         (WebCore::InlineTextBox::logicalBottomVisualOverflow):
45370         (WebCore::InlineTextBox::logicalLeftVisualOverflow):
45371         (WebCore::InlineTextBox::logicalRightVisualOverflow):
45372         * rendering/RenderInline.cpp:
45373         (WebCore::RenderInline::culledInlineAbsoluteRects):
45374         (WebCore::computeMargin):
45375         (WebCore::RenderInline::culledInlineBoundingBox):
45376         (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
45377         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
45378         (WebCore::RenderInline::clippedOverflowRectForRepaint):
45379         (WebCore::RenderInline::rectWithOutlineForRepaint):
45380         (WebCore::RenderInline::computeRectForRepaint):
45381         (WebCore::RenderInline::mapLocalToContainer):
45382         (WebCore::RenderInline::lineHeight):
45383         (WebCore::RenderInline::baselinePosition):
45384         (WebCore::RenderInline::addDashboardRegions):
45385         * rendering/RenderInline.h:
45386
45387 2011-08-18  Jeffrey Pfau  <jpfau@apple.com>
45388
45389         New XML parser: add doctype to DOM tree
45390         https://bugs.webkit.org/show_bug.cgi?id=66408
45391
45392         Reviewed by Adam Barth.
45393
45394         * xml/parser/XMLTreeBuilder.cpp:
45395         (WebCore::XMLTreeBuilder::processDOCTYPE):
45396
45397 2011-08-18  James Robinson  <jamesr@chromium.org>
45398
45399         [chromium] Draw the root/"non-composited content" in compositor side
45400         https://bugs.webkit.org/show_bug.cgi?id=58834
45401
45402         Reviewed by Darin Fisher.
45403
45404         Handle the root or non-composited content with a GraphicsLayer rather than special case logic in
45405         LayerRendererChromium. This layer's client is the NonCompositedContentHost, which routes the paint callbacks
45406         through the LayerPainterChromium interface out to the WebView.  The root layer is special in two ways:
45407         *) The root layer has a scroll offset, which changes how the visibleLayerRect maps to content space and applies a
45408             draw-time transform.
45409         *) The root layer masks the alpha channel when drawing because of concerns about subpixel AA trashing the alpha
45410             channel.  The root layer is always opaque so this is fine.
45411         *) The root layer does not have border texels and does have subpixel AA for text.
45412
45413         Covered by compositing/
45414
45415         * WebCore.gypi:
45416         * platform/graphics/chromium/ContentLayerChromium.cpp:
45417         (WebCore::ContentLayerChromium::paintContentsIfDirty):
45418         * platform/graphics/chromium/ImageLayerChromium.cpp:
45419         (WebCore::ImageLayerChromium::paintContentsIfDirty):
45420         * platform/graphics/chromium/LayerChromium.cpp:
45421         (WebCore::LayerChromium::pushPropertiesTo):
45422         * platform/graphics/chromium/LayerChromium.h:
45423         (WebCore::LayerChromium::scrollPosition):
45424         (WebCore::LayerChromium::setScrollPosition):
45425         * platform/graphics/chromium/LayerRendererChromium.cpp:
45426         (WebCore::LayerRendererChromium::initialize):
45427         (WebCore::LayerRendererChromium::releaseTextures):
45428         (WebCore::LayerRendererChromium::viewportChanged):
45429         (WebCore::LayerRendererChromium::updateLayers):
45430         (WebCore::LayerRendererChromium::drawLayers):
45431         (WebCore::LayerRendererChromium::drawLayersInternal):
45432         (WebCore::LayerRendererChromium::getFramebufferPixels):
45433         (WebCore::LayerRendererChromium::cleanupSharedObjects):
45434         (WebCore::LayerRendererChromium::layerTreeAsText):
45435         * platform/graphics/chromium/LayerRendererChromium.h:
45436         (WebCore::LayerRendererChromium::rootLayer):
45437         (WebCore::LayerRendererChromium::viewportSize):
45438         (WebCore::LayerRendererChromium::viewportWidth):
45439         (WebCore::LayerRendererChromium::viewportHeight):
45440         * platform/graphics/chromium/NonCompositedContentHost.cpp: Added.
45441         (WebCore::NonCompositedContentHost::NonCompositedContentHost):
45442         (WebCore::NonCompositedContentHost::~NonCompositedContentHost):
45443         (WebCore::NonCompositedContentHost::invalidateRect):
45444         (WebCore::NonCompositedContentHost::invalidateEntireLayer):
45445         (WebCore::NonCompositedContentHost::setScrollPosition):
45446         (WebCore::NonCompositedContentHost::notifyAnimationStarted):
45447         (WebCore::NonCompositedContentHost::notifySyncRequired):
45448         (WebCore::NonCompositedContentHost::paintContents):
45449         (WebCore::NonCompositedContentHost::showDebugBorders):
45450         (WebCore::NonCompositedContentHost::showRepaintCounter):
45451         * platform/graphics/chromium/NonCompositedContentHost.h: Added.
45452         (WebCore::NonCompositedContentHost::create):
45453         (WebCore::NonCompositedContentHost::graphicsLayer):
45454         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
45455         (WebCore::CCHeadsUpDisplay::draw):
45456         * platform/graphics/chromium/cc/CCLayerImpl.h:
45457         (WebCore::CCLayerImpl::scrollPosition):
45458         (WebCore::CCLayerImpl::setScrollPosition):
45459         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
45460         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
45461         (WebCore::CCLayerTreeHost::initialize):
45462         (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
45463         (WebCore::CCLayerTreeHost::setRootLayer):
45464         (WebCore::CCLayerTreeHost::setViewport):
45465         (WebCore::CCLayerTreeHost::reallocateRenderer):
45466         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
45467         (WebCore::CCLayerTreeHost::rootLayer):
45468         (WebCore::CCLayerTreeHost::viewportSize):
45469
45470 2011-08-18  Nico Weber  <thakis@chromium.org>
45471
45472         Fix "missing return" gcc warning in ScrollAnimatorNone
45473         https://bugs.webkit.org/show_bug.cgi?id=66480
45474
45475         Reviewed by Tony Chang.
45476
45477         * platform/ScrollAnimatorNone.cpp:
45478         (WebCore::ScrollAnimatorNone::PerAxisData::curveAt):
45479         (WebCore::ScrollAnimatorNone::PerAxisData::curveDerivativeAt):
45480
45481 2011-08-18  James Simonsen  <simonjam@chromium.org>
45482
45483         Revalidate expired resources if they're requested after the initial document load
45484         https://bugs.webkit.org/show_bug.cgi?id=52153
45485
45486         Reviewed by Antti Koivisto.
45487
45488         Test: http/tests/cache/subresource-multiple-instances.html
45489
45490         * loader/cache/CachedResourceLoader.cpp:
45491         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
45492
45493 2011-08-18  Anders Carlsson  <andersca@apple.com>
45494
45495         Fix clang libc++ C++0x build
45496         https://bugs.webkit.org/show_bug.cgi?id=66475
45497
45498         Reviewed by Adam Roben.
45499
45500         Remove calls to isnan and isfinite with integer arguments.
45501
45502         * css/CSSPrimitiveValue.cpp:
45503         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
45504         * html/canvas/WebGLRenderingContext.cpp:
45505         (WebCore::WebGLRenderingContext::viewport):
45506
45507 2011-08-18  Andrey Kosyakov  <caseq@chromium.org>
45508
45509         Web Inspector: [Extensions API] rename webInspector.resources to webInspector.network
45510         https://bugs.webkit.org/show_bug.cgi?id=66460
45511
45512         Reviewed by Pavel Feldman.
45513
45514         Tests: http/tests/inspector/extensions-network-redirect.html
45515                inspector/extensions/extensions-network.html
45516
45517         * inspector/front-end/ExtensionAPI.js:
45518         (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
45519         (WebInspector.injectedExtensionAPI.Network.requestDispatch):
45520         (WebInspector.injectedExtensionAPI):
45521         (WebInspector.injectedExtensionAPI.Network.prototype.getHAR):
45522         (WebInspector.injectedExtensionAPI.defineDeprecatedProperty.getter):
45523         (WebInspector.injectedExtensionAPI.defineDeprecatedProperty):
45524         * inspector/front-end/ExtensionServer.js:
45525         (WebInspector.ExtensionServer):
45526         (WebInspector.ExtensionServer.prototype._inspectedURLChanged):
45527         (WebInspector.ExtensionServer.prototype._notifyRequestFinished):
45528         (WebInspector.ExtensionServer.prototype._onGetHAR):
45529         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
45530         (WebInspector.ExtensionServer.prototype._requestId):
45531         (WebInspector.ExtensionServer.prototype._requestById):
45532         (WebInspector.ExtensionServer.prototype._onAddAuditCategory):
45533         (WebInspector.ExtensionServer.prototype._onAddAuditResult):
45534         (WebInspector.ExtensionServer.prototype._onStopAuditCategoryRun):
45535         (WebInspector.ExtensionServer.prototype.initExtensions):
45536         (WebInspector.ExtensionServer.prototype._onmessage):
45537
45538 2011-08-18  Pavel Podivilov  <podivilov@chromium.org>
45539
45540         Web Inspector: extract content loading functions from RawSourceCode to ContentProvider implementations.
45541         https://bugs.webkit.org/show_bug.cgi?id=66237
45542
45543         Reviewed by Pavel Feldman.
45544
45545         Test: inspector/debugger/content-providers.html
45546
45547         * inspector/front-end/SourceFile.js:
45548         (WebInspector.RawSourceCode.prototype._loadResourceContent):
45549         (WebInspector.RawSourceCode.prototype._loadScriptContent):
45550         (WebInspector.RawSourceCode.prototype._loadAndConcatenateScriptsContent):
45551         (WebInspector.ScriptContentProvider):
45552         (WebInspector.ScriptContentProvider.prototype.requestContent):
45553         (WebInspector.ConcatenatedScriptsContentProvider):
45554         (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
45555         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
45556         (WebInspector.ResourceContentProvider):
45557         (WebInspector.ResourceContentProvider.prototype.requestContent):
45558
45559 2011-08-18  Alexandru Chiculita  <achicu@adobe.com>
45560
45561         [CSSRegions] RenderRegion should not reference a parent RenderFlowThread
45562         https://bugs.webkit.org/show_bug.cgi?id=66142
45563
45564         Added code that checks the parent RenderFlowThread of a RenderRegion and creates
45565         a dependency for its referenced RenderFlowThread (from CSS style).
45566
45567         There are two cases:
45568         1. A RenderRegion tries to display the flow thread that laid it out. In this case
45569         the region will be ignored and will not participate in the flow threads regions list.
45570         2. A RenderRegion tries to display a flow thread that contains another region that
45571         tries to display the first region's flow thread. This one can be generalized with any
45572         number of intermediate flow threads. In this case the recursion is detected and only the
45573         first added region will actually be selected. The other region will be ignored. However,
45574         when the recursion is removed the invalid regions will be recovered.
45575
45576         Reviewed by David Hyatt.
45577
45578         Tests: fast/regions/flows-dependency-dynamic-remove.html
45579                fast/regions/flows-dependency-same-flow.html
45580
45581         * rendering/RenderBlock.cpp:
45582         (WebCore::RenderBlock::insertPositionedObject):
45583         * rendering/RenderFlowThread.cpp:
45584         (WebCore::RenderFlowThread::dependsOn):
45585         (WebCore::RenderFlowThread::addRegionToThread):
45586         (WebCore::RenderFlowThread::removeRegionFromThread):
45587         (WebCore::RenderFlowThread::checkInvalidRegions):
45588         (WebCore::RenderFlowThread::addDependencyOnFlowThread):
45589         (WebCore::RenderFlowThread::removeDependencyOnFlowThread):
45590         (WebCore::RenderFlowThread::pushDependencies):
45591         (WebCore::RenderFlowThread::layout):
45592         (WebCore::RenderFlowThread::computeLogicalWidth):
45593         (WebCore::RenderFlowThread::computeLogicalHeight):
45594         (WebCore::RenderFlowThread::repaintRectangleInRegions):
45595         * rendering/RenderFlowThread.h:
45596         * rendering/RenderObjectChildList.cpp:
45597         (WebCore::RenderObjectChildList::removeChildNode):
45598         (WebCore::RenderObjectChildList::appendChildNode):
45599         * rendering/RenderRegion.cpp:
45600         (WebCore::RenderRegion::RenderRegion):
45601         (WebCore::RenderRegion::~RenderRegion):
45602         (WebCore::RenderRegion::paintReplaced):
45603         (WebCore::RenderRegion::nodeAtPoint):
45604         (WebCore::RenderRegion::attachRegion):
45605         (WebCore::RenderRegion::detachRegion):
45606         * rendering/RenderRegion.h:
45607         (WebCore::RenderRegion::parentFlowThread):
45608         (WebCore::RenderRegion::isValid):
45609         (WebCore::RenderRegion::setIsValid):
45610         * rendering/RenderTreeAsText.cpp:
45611         (WebCore::writeRenderFlowThreads):
45612         (WebCore::writeLayers):
45613         * rendering/RenderView.cpp:
45614         (WebCore::RenderView::RenderView):
45615         (WebCore::RenderView::layout):
45616         (WebCore::RenderView::renderFlowThreadWithName):
45617         (WebCore::RenderView::layoutRenderFlowThreads):
45618         * rendering/RenderView.h:
45619         (WebCore::RenderView::hasRenderFlowThreads):
45620         (WebCore::RenderView::isRenderFlowThreadOrderDirty):
45621         (WebCore::RenderView::setIsRenderFlowThreadOrderDirty):
45622         (WebCore::RenderView::renderFlowThreadList):
45623
45624 2011-08-18  Pavel Podivilov  <podivilov@chromium.org>
45625
45626         Web Inspector: add UISourceCode class.
45627         https://bugs.webkit.org/show_bug.cgi?id=66233
45628
45629         This is a next step towards splitting SourceFile into RawSourceCode and UISourceCode.
45630         UISourceCode is a part of SourceFile's interface that is visible to ScriptsPanel.
45631         UISourceCode represents a single entry in scripts panel's files select.
45632
45633         Reviewed by Pavel Feldman.
45634
45635         Test: inspector/debugger/ui-source-code.html
45636
45637         * WebCore.gypi:
45638         * WebCore.vcproj/WebCore.vcproj:
45639         * inspector/front-end/UISourceCode.js: Added.
45640         (WebInspector.UISourceCode):
45641         (WebInspector.UISourceCode.prototype.get id):
45642         (WebInspector.UISourceCode.prototype.get url):
45643         (WebInspector.UISourceCode.prototype.get isContentScript):
45644         (WebInspector.UISourceCode.prototype.requestContent):
45645         (WebInspector.UISourceCode.prototype._didRequestContent):
45646         (WebInspector.ContentProvider):
45647         (WebInspector.ContentProvider.prototype.requestContent):
45648         * inspector/front-end/WebKit.qrc:
45649         * inspector/front-end/inspector.html:
45650
45651 2011-08-17  Adam Roben  <aroben@apple.com>
45652
45653         Make WebCore keep track of the current device scale factor
45654
45655         Fixes <http://webkit.org/b/66413> WebCore requires every WebKit port to keep track of the
45656         device scale factor
45657
45658         Reviewed by Darin Adler.
45659
45660         * WebCore.exp.in: Removed Frame::deviceScaleFactorChanged, added Page::setDeviceScaleFactor.
45661
45662         * css/MediaQueryEvaluator.cpp:
45663         (WebCore::device_pixel_ratioMediaFeatureEval):
45664         * html/HTMLCanvasElement.cpp:
45665         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
45666         * page/DOMWindow.cpp:
45667         (WebCore::DOMWindow::devicePixelRatio):
45668         * rendering/RenderInline.cpp:
45669         (WebCore::RenderInline::addDashboardRegions):
45670         * rendering/RenderLayerCompositor.cpp:
45671         (WebCore::RenderLayerCompositor::deviceScaleFactor):
45672         * rendering/RenderObject.cpp:
45673         (WebCore::RenderObject::addDashboardRegions):
45674         Changed to get the device scale factor from Page.
45675
45676         * loader/EmptyClients.h:
45677         * page/Chrome.cpp:
45678         * page/Chrome.h:
45679         * page/ChromeClient.h:
45680         Removed Chrome[Client]::deviceScaleFactor.
45681
45682         * page/Frame.cpp:
45683         * page/Frame.h:
45684         Removed deviceScaleFactorChanged. Made deviceOrPageScaleFactorChanged public.
45685
45686         * page/Page.cpp:
45687         (WebCore::Page::Page): Initialize m_deviceScaleFactor.
45688         (WebCore::Page::setDeviceScaleFactor): Added. Code came from
45689         Frame::deviceScaleFactorChanged.
45690
45691         * page/Page.h: Added m_deviceScaleFactor.
45692         (WebCore::Page::deviceScaleFactor): Added simple getter.
45693
45694 2011-08-18  Darin Adler  <darin@apple.com>
45695
45696         SVG and HTML editing have conflicting inline isWhitespace functions
45697         https://bugs.webkit.org/show_bug.cgi?id=65145
45698
45699         Reviewed by Nikolas Zimmermann.
45700
45701         Renamed the SVG-specific whitespace functions to call it "SVG space"
45702         rather than just "whitespace". An alternative would have been to put
45703         the functions into an SVG namespace instead of the top level WebCore
45704         namespace.
45705
45706         * svg/SVGAnimateMotionElement.cpp:
45707         (WebCore::parsePoint): Call skipOptionalSVGSpaces.
45708         * svg/SVGAnimationElement.cpp:
45709         (WebCore::parseKeySplines): Ditto.
45710         * svg/SVGFitToViewBox.cpp:
45711         (WebCore::SVGFitToViewBox::parseViewBox): Ditto.
45712         * svg/SVGLengthList.cpp:
45713         (WebCore::SVGLengthList::parse): Call isSVGSpace and
45714         skipOptionalSVGSpacesOrDelimiter.
45715         * svg/SVGParserUtilities.cpp:
45716         (WebCore::genericParseNumber): Call skipOptionalSVGSpacesOrDelimiter.
45717         (WebCore::parseArcFlag): Ditto.
45718         (WebCore::parseRect): Call skipOptionalSVGSpaces.
45719         (WebCore::pointsListFromSVGData): Ditto.
45720         (WebCore::parseGlyphName): Call skipOptionalSVGSpaces, isSVGSpace,
45721         and skipOptionalSVGSpacesOrDelimiter.
45722         (WebCore::parseDelimitedString): Call skipOptionalSVGSpaces.
45723
45724         * svg/SVGParserUtilities.h:
45725         (WebCore::isSVGSpace): Renamed from isWhitespace. This better matches
45726         the comment which specifically talks about SVG.
45727         (WebCore::skipOptionalSVGSpaces): Renamed from skipOptionalSpaces.
45728         (WebCore::skipOptionalSVGSpacesOrDelimiter): Renamed from
45729         skipOptionalSVGSpacesOrDelimiter.
45730
45731         * svg/SVGPathStringSource.cpp:
45732         (WebCore::SVGPathStringSource::moveToNextToken): Call skipOptionalSVGSpaces.
45733         * svg/SVGPreserveAspectRatio.cpp:
45734         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio): Ditto.
45735         * svg/SVGStringList.cpp:
45736         (WebCore::SVGStringList::parse): Call isSVGSpace and
45737         skipOptionalSVGSpacesOrDelimiter.
45738         * svg/SVGTransformable.cpp:
45739         (WebCore::parseTransformParamList): Call skipOptionalSVGSpaces and
45740         skipOptionalSVGSpacesOrDelimiter.
45741         (WebCore::SVGTransformable::parseTransformAttribute): Call skipOptionalSVGSpaces.
45742
45743 2011-08-18  Gavin Peters  <gavinp@chromium.org>
45744
45745         Prepare frames for history navigation.
45746
45747         Before beginning an explicit history navigation in a newly initialized
45748         frame, it's important to give a "previous" item to avoid crashes, and
45749         give a state to the state machine to avoid extra validating loads.
45750
45751         https://bugs.webkit.org/show_bug.cgi?id=66322
45752
45753         Reviewed by Darin Fisher.
45754
45755         No new tests, as history navigation is very difficult to test in
45756         DumpRenderTree.
45757
45758         * loader/FrameLoader.cpp:
45759         (WebCore::FrameLoader::prepareForHistoryNavigation):
45760         * loader/FrameLoader.h:
45761
45762 2011-08-18  Jing Zhao  <jingzhao@chromium.org>
45763
45764         When changing the size of a menulist from x (x>1) to 1, the first item should be selected.
45765         https://bugs.webkit.org/show_bug.cgi?id=66282
45766
45767         Reviewed by Kent Tamura.
45768
45769         No new tests since it only changes the behavior in Android Browser.
45770
45771         * html/HTMLSelectElement.cpp:
45772         (WebCore::HTMLSelectElement::parseMappedAttribute):
45773
45774 2011-08-18  Adam Klein  <adamk@chromium.org>
45775
45776         Handle "form" attribute updates in parseMappedAttribute() instead of attributeChanged() to better match HTMLElement practices
45777         https://bugs.webkit.org/show_bug.cgi?id=66321
45778
45779         Reviewed by Darin Adler.
45780
45781         This is simply a cleanup change: there's no need that I can see for
45782         HTMLFormControlElement and HTMLObjectElement to override
45783         Element::attributeChanged since they can properly handle form
45784         attribute changes in parseMappedAttribute, which they also override.
45785
45786         Though no change in behavior, I've added test coverage of the moved
45787         code to an existing test (fast/forms/form-attribute.html) and added
45788         a new test.
45789
45790         Test: fast/forms/radio-remove-form-attr.html
45791
45792         * html/HTMLFormControlElement.cpp:
45793         (WebCore::HTMLFormControlElement::parseMappedAttribute):
45794         * html/HTMLFormControlElement.h:
45795         * html/HTMLObjectElement.cpp:
45796         (WebCore::HTMLObjectElement::parseMappedAttribute):
45797         * html/HTMLObjectElement.h:
45798
45799 2011-08-18  Chang Shu  <cshu@webkit.org>
45800
45801         Add support of setPasswordEchoEnabled and setPasswordEchoDuration for password echo feature
45802         https://bugs.webkit.org/show_bug.cgi?id=66052
45803
45804         Reviewed by Alexey Proskuryakov.
45805
45806         Added runtime settings in WebCore.
45807         Added support in window.internals for testing.
45808
45809         Tests: editing/input/password-echo-passnode.html
45810                editing/input/password-echo-passnode2.html
45811                editing/input/password-echo-passnode3.html
45812                editing/input/password-echo-textnode.html
45813
45814         * page/Settings.cpp:
45815         (WebCore::Settings::Settings):
45816         * page/Settings.h:
45817         (WebCore::Settings::setPasswordEchoEnabled):
45818         (WebCore::Settings::passwordEchoEnabled):
45819         (WebCore::Settings::setPasswordEchoDurationInSeconds):
45820         (WebCore::Settings::passwordEchoDurationInSeconds):
45821         * testing/Internals.cpp:
45822         (WebCore::Internals::Internals):
45823         (WebCore::Internals::setPasswordEchoEnabled):
45824         (WebCore::Internals::setPasswordEchoDurationInSeconds):
45825         (WebCore::Internals::reset):
45826         * testing/Internals.h:
45827         * testing/Internals.idl:
45828
45829 2011-08-18  Wyatt Carss  <wcarss@chromium.org>
45830
45831         Selecting all and inserting text into a page with a frameset leads to a NULL ptr
45832         https://bugs.webkit.org/show_bug.cgi?id=66288
45833
45834         Reviewed by Tony Chang.
45835
45836         VisibleSelection returns a NoSelection to InsertTextCommand::doApply as
45837         a new endingSelection, which isn't a sane state to be in. The code
45838         tries to get a position on a higher node for a better selection, but
45839         cannot go above the frameset (which exists in place of the body tag),
45840         which lacks a renderer, and therefore cannot have a non-NoSelection
45841         VisibleSelection.
45842
45843         Because this is a rare corner case, it seemed more reasonable to bail
45844         out in this circumstance than to change the way VisibleSelection
45845         canonicalization works. The new behavior is to delete the content, but
45846         insert nothing. I investigated the possibility of trying to move above
45847         or below the frameset in this particular case, but there still isn't a
45848         renderer, so it didn't prevent the crash.
45849
45850         Test: editing/inserting/insert-text-into-empty-frameset-crash.html
45851
45852         * editing/InsertTextCommand.cpp:
45853         (WebCore::InsertTextCommand::doApply):
45854
45855 2011-08-18  Takashi Toyoshima  <toyoshim@chromium.org>
45856
45857         Remove arguments from CloseEvent::create().
45858         https://bugs.webkit.org/show_bug.cgi?id=66294
45859
45860         Reviewed by Kent Tamura.
45861
45862         CloseEvent objects are initialized by initCloseEvent() in all cases.
45863         Initialization in create() is redundant.
45864
45865         No new tests for no functional difference.
45866
45867         * websockets/CloseEvent.h:
45868         (WebCore::CloseEvent::create):
45869         (WebCore::CloseEvent::CloseEvent):
45870         * websockets/WebSocket.cpp:
45871         (WebCore::WebSocket::didClose):
45872
45873 2011-08-18  Fady Samuel  <fsamuel@chromium.org>
45874
45875         iframe and frameset scaling is broken
45876         https://bugs.webkit.org/show_bug.cgi?id=57785
45877
45878         Reviewed by Simon Fraser.
45879
45880         Fixed two iframe and frameset scaling bugs:
45881           #1 iframes and frameset backgrounds and scroll areas are doubly scaled when they are styled with -webkit-transform.
45882           #2 frameset does not respect -webkit-transform-origin when scaled
45883
45884         Tests: fast/frames/frame-set-scaling-3d.html
45885                fast/frames/frame-set-scaling-centered.html
45886                fast/frames/frame-set-scaling-rotate.html
45887                fast/frames/frame-set-scaling-skew.html
45888                fast/frames/frame-set-scaling.html
45889                fast/frames/iframe-scaling-with-scroll.html
45890
45891         * rendering/RenderFrameSet.cpp:
45892         (WebCore::RenderFrameSet::layout):
45893         Update the FrameSet's layer transform after we've computed size to correctly account for the transform origin.
45894         * rendering/RenderLayer.cpp:
45895         (WebCore::RenderLayer::childrenClipRect):
45896         The dirty rect should be the document's unscaled size.
45897         * rendering/RenderWidget.cpp:
45898         (WebCore::RenderWidget::setWidget):
45899         (WebCore::RenderWidget::updateWidgetPosition):
45900         Don't scale the FrameView rect here. Scaling is done within the FrameView.
45901
45902 2011-08-18  Csaba Osztrogonác  <ossy@webkit.org>
45903
45904         Unreviewed buildfix after r93268.
45905
45906         * dom/Document.cpp:
45907         (WebCore::disableRangeMutation):
45908
45909 2011-08-17  Emil A Eklund  <eae@chromium.org>
45910
45911         Switch RenderBox to to new layout types
45912         https://bugs.webkit.org/show_bug.cgi?id=66156
45913
45914         Reviewed by Eric Seidel.
45915
45916         Convert RenderBox to new layout abstraction as a part of the ongoing
45917         conversion work.
45918
45919         No new tests as no new functionality.
45920
45921         * rendering/RenderBox.cpp:
45922         (WebCore::RenderBox::scrollWidth):
45923         (WebCore::RenderBox::scrollHeight):
45924         (WebCore::RenderBox::scrollLeft):
45925         (WebCore::RenderBox::scrollTop):
45926         (WebCore::RenderBox::setScrollLeft):
45927         (WebCore::RenderBox::setScrollTop):
45928         (WebCore::RenderBox::absoluteRects):
45929         (WebCore::RenderBox::absoluteContentBox):
45930         (WebCore::RenderBox::absoluteContentQuad):
45931         (WebCore::RenderBox::outlineBoundsForRepaint):
45932         (WebCore::RenderBox::reflectionBox):
45933         (WebCore::RenderBox::reflectedRect):
45934         (WebCore::RenderBox::verticalScrollbarWidth):
45935         (WebCore::RenderBox::horizontalScrollbarHeight):
45936         (WebCore::RenderBox::computeContentBoxLogicalWidth):
45937         (WebCore::RenderBox::computeContentBoxLogicalHeight):
45938         (WebCore::RenderBox::maskClipRect):
45939         (WebCore::RenderBox::repaintLayerRectsForImage):
45940         (WebCore::RenderBox::pushContentsClip):
45941         (WebCore::RenderBox::overflowClipRect):
45942         (WebCore::RenderBox::clipRect):
45943         (WebCore::RenderBox::containingBlockLogicalWidthForContent):
45944         (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
45945         (WebCore::RenderBox::positionLineBox):
45946         (WebCore::RenderBox::clippedOverflowRectForRepaint):
45947         (WebCore::RenderBox::computeRectForRepaint):
45948         (WebCore::RenderBox::computeLogicalWidth):
45949         (WebCore::RenderBox::computeInlineDirectionMargins):
45950         (WebCore::RenderBox::computeLogicalHeight):
45951         (WebCore::RenderBox::computeLogicalHeightUsing):
45952         (WebCore::RenderBox::computePercentageLogicalHeight):
45953         (WebCore::RenderBox::computeBlockDirectionMargins):
45954         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
45955         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
45956         (WebCore::computeInlineStaticDistance):
45957         (WebCore::RenderBox::computePositionedLogicalWidth):
45958         (WebCore::computeLogicalLeftPositionedOffset):
45959         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
45960         (WebCore::computeBlockStaticDistance):
45961         (WebCore::RenderBox::computePositionedLogicalHeight):
45962         (WebCore::computeLogicalTopPositionedOffset):
45963         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
45964         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
45965         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
45966         (WebCore::RenderBox::localCaretRect):
45967         (WebCore::RenderBox::lineHeight):
45968         (WebCore::RenderBox::baselinePosition):
45969         (WebCore::RenderBox::logicalVisualOverflowRectForPropagation):
45970         (WebCore::RenderBox::visualOverflowRectForPropagation):
45971         (WebCore::RenderBox::logicalLayoutOverflowRectForPropagation):
45972         (WebCore::RenderBox::layoutOverflowRectForPropagation):
45973         (WebCore::RenderBox::locationOffsetIncludingFlipping):
45974         * rendering/RenderBox.h:
45975         (WebCore::RenderBox::borderFitAdjust):
45976         (WebCore::RenderBox::intrinsicSize):
45977         (WebCore::RenderBox::intrinsicLogicalWidth):
45978         (WebCore::RenderBox::intrinsicLogicalHeight):
45979         (WebCore::RenderBox::scrollbarLogicalHeight):
45980         (WebCore::RenderBox::controlClipRect):
45981         (WebCore::RenderBox::firstLineBoxBaseline):
45982         (WebCore::RenderBox::lastLineBoxBaseline):
45983
45984 2011-08-17  Annie Sullivan  <sullivan@chromium.org>
45985
45986         Reduce usages of String::createUninitialized
45987         https://bugs.webkit.org/show_bug.cgi?id=66399
45988
45989         Constructs Strings with StringBuilder instead of calling createUninitialized.
45990
45991         Reviewed by Adam Barth.
45992
45993         No new tests; no functional change.
45994
45995         * dom/StyleElement.cpp:
45996         (WebCore::StyleElement::process):
45997         * dom/Text.cpp:
45998         (WebCore::Text::wholeText):
45999         * html/parser/HTMLSourceTracker.cpp:
46000         (WebCore::HTMLSourceTracker::sourceForToken):
46001         * platform/graphics/Font.cpp:
46002         (WebCore::Font::normalizeSpaces):
46003         * platform/text/TextCodecUserDefined.cpp:
46004         (WebCore::TextCodecUserDefined::decode):
46005
46006 2011-08-17  Emil A Eklund  <eae@chromium.org>
46007
46008         Switch FrameView to to new layout types
46009         https://bugs.webkit.org/show_bug.cgi?id=66147
46010
46011         Reviewed by Eric Seidel.
46012
46013         Convert Frame & FrameView to new layout abstraction as a part of the
46014         ongoing conversion work.
46015
46016         No new tests, no new functionality.
46017
46018         * page/Frame.cpp:
46019         (WebCore::Frame::visiblePositionForPoint):
46020         (WebCore::Frame::documentAtPoint):
46021         (WebCore::Frame::rangeForPoint):
46022         (WebCore::Frame::setPageAndTextZoomFactors):
46023         (WebCore::Frame::scalePage):
46024         * page/Frame.h:
46025         * page/FrameView.cpp:
46026         (WebCore::FrameView::create):
46027         (WebCore::FrameView::reset):
46028         (WebCore::FrameView::init):
46029         (WebCore::FrameView::invalidateRect):
46030         (WebCore::FrameView::setFrameRect):
46031         (WebCore::FrameView::setMarginWidth):
46032         (WebCore::FrameView::setMarginHeight):
46033         (WebCore::FrameView::setContentsSize):
46034         (WebCore::FrameView::adjustViewSize):
46035         (WebCore::FrameView::scrollXForFixedPosition):
46036         (WebCore::FrameView::scrollYForFixedPosition):
46037         (WebCore::FrameView::scrollOffsetForFixedPosition):
46038         (WebCore::FrameView::currentMousePosition):
46039         (WebCore::FrameView::scrollContentsFastPath):
46040         (WebCore::FrameView::scrollContentsSlowPath):
46041         (WebCore::FrameView::setScrollPosition):
46042         (WebCore::FrameView::repaintContentRectangle):
46043         (WebCore::FrameView::scrollToAnchor):
46044         (WebCore::FrameView::performPostLayoutTasks):
46045         (WebCore::FrameView::windowClipRect):
46046         (WebCore::FrameView::windowClipRectForLayer):
46047         (WebCore::FrameView::scrollTo):
46048         (WebCore::FrameView::invalidateScrollbarRect):
46049         (WebCore::FrameView::getTickmarks):
46050         (WebCore::FrameView::windowResizerRect):
46051         (WebCore::FrameView::setVisibleScrollerThumbRect):
46052         (WebCore::FrameView::paintScrollCorner):
46053         (WebCore::FrameView::paintContents):
46054         (WebCore::FrameView::paintOverhangAreas):
46055         (WebCore::FrameView::forceLayoutForPagination):
46056         (WebCore::FrameView::convertFromRenderer):
46057         (WebCore::FrameView::convertToRenderer):
46058         (WebCore::FrameView::convertToContainingView):
46059         (WebCore::FrameView::convertFromContainingView):
46060         * page/FrameView.h:
46061         (WebCore::FrameView::marginWidth):
46062         (WebCore::FrameView::marginHeight):
46063         * page/mac/FrameMac.mm:
46064         (WebCore::Frame::snapshotDragImage):
46065         (WebCore::Frame::nodeImage):
46066
46067 2011-08-17  Emil A Eklund  <eae@chromium.org>
46068
46069         Switch html/* to to new layout types
46070         https://bugs.webkit.org/show_bug.cgi?id=66347
46071
46072         Reviewed by Eric Seidel.
46073
46074         Convert HTML* and shadow element to new layout abstraction as a part of
46075         the ongoing conversion work.
46076
46077         No new tests, no new functionality.
46078
46079         * html/HTMLAreaElement.cpp:
46080         (WebCore::HTMLAreaElement::invalidateCachedRegion):
46081         (WebCore::HTMLAreaElement::mapMouseEvent):
46082         (WebCore::HTMLAreaElement::computePath):
46083         (WebCore::HTMLAreaElement::computeRect):
46084         (WebCore::HTMLAreaElement::getRegion):
46085         * html/HTMLAreaElement.h:
46086         * html/HTMLCanvasElement.cpp:
46087         (WebCore::HTMLCanvasElement::paint):
46088         * html/HTMLCanvasElement.h:
46089         * html/HTMLMapElement.cpp:
46090         (WebCore::HTMLMapElement::mapMouseEvent):
46091         * html/HTMLMapElement.h:
46092         * html/ImageDocument.cpp:
46093         (WebCore::ImageDocumentParser::finish):
46094         (WebCore::ImageDocument::scale):
46095         (WebCore::ImageDocument::resizeImageToFit):
46096         (WebCore::ImageDocument::imageFitsInWindow):
46097         * html/ValidationMessage.cpp:
46098         (WebCore::adjustBubblePosition):
46099         * html/canvas/CanvasRenderingContext2D.cpp:
46100         (WebCore::size):
46101         (WebCore::CanvasRenderingContext2D::drawImage):
46102         * html/shadow/MediaControlElements.cpp:
46103         (WebCore::MediaControlPanelElement::startDrag):
46104         (WebCore::MediaControlPanelElement::continueDrag):
46105         (WebCore::MediaControlPanelElement::setPosition):
46106         (WebCore::MediaControlPanelElement::defaultEventHandler):
46107         * html/shadow/MediaControlElements.h:
46108         * html/shadow/SliderThumbElement.cpp:
46109         (WebCore::SliderThumbElement::dragFrom):
46110         (WebCore::SliderThumbElement::setPositionFromPoint):
46111         * html/shadow/SliderThumbElement.h:
46112         * rendering/RenderImage.cpp:
46113         (WebCore::RenderImage::nodeAtPoint):
46114
46115 2011-08-17  David Grogan  <dgrogan@chromium.org>
46116
46117         Change references to leveldb.gyp to leveldatabase.gyp as part of the
46118         leveldb refactoring going on in chromium: crbug.com/89378
46119         https://bugs.webkit.org/show_bug.cgi?id=66332
46120
46121         Reviewed by Tony Gentilcore.
46122
46123         Tests: new-run-webkit-tests --debug --chromium --no-retry-failures --build-directory=llvm storage/indexeddb
46124
46125         * WebCore.gyp/WebCore.gyp:
46126
46127 2011-08-17  Hayato Ito  <hayato@chromium.org>
46128
46129         Implement proper handling of focus/blur events in regard to shadow DOM boundaries.
46130         https://bugs.webkit.org/show_bug.cgi?id=61421
46131
46132         Reviewed by Dimitri Glazkov.
46133
46134         Introduces FocusEventDispatchMediator/BlurEventDispatchMediator so
46135         that focus/blue events are stopped at the lowest common shadow boundary.
46136
46137         * dom/Document.cpp:
46138         (WebCore::Document::setFocusedNode):
46139         * dom/Event.cpp:
46140         (WebCore::FocusEventDispatchMediator::create):
46141         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
46142         (WebCore::FocusEventDispatchMediator::dispatchEvent):
46143         (WebCore::BlurEventDispatchMediator::create):
46144         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
46145         (WebCore::BlurEventDispatchMediator::dispatchEvent):
46146         * dom/Event.h:
46147         * dom/Node.cpp:
46148         (WebCore::Node::dispatchFocusEvent):
46149         (WebCore::Node::dispatchBlurEvent):
46150         * dom/Node.h:
46151         * html/HTMLFormControlElement.cpp:
46152         (WebCore::HTMLFormControlElement::dispatchBlurEvent):
46153         * html/HTMLFormControlElement.h:
46154         * html/HTMLSelectElement.cpp:
46155         (WebCore::HTMLSelectElement::dispatchFocusEvent):
46156         (WebCore::HTMLSelectElement::dispatchBlurEvent):
46157         * html/HTMLSelectElement.h:
46158         * html/HTMLTextFormControlElement.cpp:
46159         (WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
46160         (WebCore::HTMLTextFormControlElement::dispatchBlurEvent):
46161         * html/HTMLTextFormControlElement.h:
46162         * page/FocusController.cpp:
46163         (WebCore::dispatchEventsOnWindowAndFocusedNode):
46164
46165 2011-08-17  Ben Wells  <benwells@chromium.org>
46166
46167         Canvas fill and fillRect with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
46168         https://bugs.webkit.org/show_bug.cgi?id=66036
46169
46170         These modes cannot be passed straight through to the underlying graphics context as the graphics context
46171         and the HTML5 canvas spec have different interpretations to them. In the graphics context, the compositing
46172         modes are applied just over the area being filled. In the HTML5 spec, the compositing modes are applied over
46173         the entire canvas.
46174
46175         The SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy modes all need some kind of extra action
46176         to just performing the composited fill on the canvas, as they need t he canvas to be cleared outside of the 
46177         area being filled.
46178
46179         Previous to this change the Copy mode did not do this clearing at all. The other modes did but if the
46180         transformed path being filled contained anti-aliasing at its edges artifacts were introduced.
46181
46182         With this change, Copy now does a complete erase of the canvas before performing a fill as per normal.
46183         The other modes use a temporary buffer just big enough for the transformed path (in device coordinates).
46184         The fill is first done there in SourceOver mode. Then this is drawn into the canvas context using the
46185         appropriate mode, with any areas outside the draw area being cleared.
46186
46187         Reviewed by James Robinson.
46188
46189         Test: fast/canvas/canvas-composite-transformclip.html
46190
46191         * html/HTMLCanvasElement.h:
46192         * html/canvas/CanvasRenderingContext2D.cpp:
46193         (WebCore::CanvasRenderingContext2D::fill):
46194         (WebCore::CanvasRenderingContext2D::fillRect):
46195         (WebCore::CanvasRenderingContext2D::clearCanvas):
46196         (WebCore::CanvasRenderingContext2D::transformAreaToDevice):
46197         (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
46198         * html/canvas/CanvasRenderingContext2D.h:
46199         * platform/graphics/skia/ImageBufferSkia.cpp:
46200         (WebCore::ImageBuffer::ImageBuffer):
46201
46202 2011-08-17  Emil A Eklund  <eae@chromium.org>
46203
46204         Switch inspector to to new layout types
46205         https://bugs.webkit.org/show_bug.cgi?id=66358
46206
46207         Reviewed by Eric Seidel.
46208
46209         Convert inspector code to new layout abstraction as a part of the ongoing
46210         conversion work.
46211
46212         No new tests, no new functionality.
46213
46214         * inspector/DOMNodeHighlighter.cpp:
46215         (WebCore::DOMNodeHighlighter::drawNodeHighlight):
46216         * inspector/InspectorInstrumentation.cpp:
46217         (WebCore::InspectorInstrumentation::willPaintImpl):
46218         * inspector/InspectorInstrumentation.h:
46219         (WebCore::InspectorInstrumentation::willPaint):
46220         * inspector/InspectorTimelineAgent.cpp:
46221         (WebCore::InspectorTimelineAgent::willPaint):
46222         * inspector/InspectorTimelineAgent.h:
46223         * inspector/TimelineRecordFactory.cpp:
46224         (WebCore::TimelineRecordFactory::createPaintData):
46225         * inspector/TimelineRecordFactory.h:
46226
46227 2011-08-17  Levi Weintraub  <leviw@chromium.org>
46228
46229         Switch Editing code to new layout types
46230         https://bugs.webkit.org/show_bug.cgi?id=66355
46231
46232         Reviewed by Eric Seidel.
46233
46234         Converting remaining editing code to the LayoutUnit abstraction.
46235
46236         No new tests, no change in functionality.
46237
46238         * editing/Editor.cpp:
46239         (WebCore::Editor::rangeForPoint):
46240         (WebCore::Editor::insideVisibleArea):
46241         (WebCore::Editor::countMatchesForText):
46242         * editing/Editor.h:
46243         * editing/mac/FrameSelectionMac.mm:
46244         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
46245
46246 2011-08-17  Levi Weintraub  <leviw@chromium.org>
46247
46248         Switch Accessibility code to new layout types
46249         https://bugs.webkit.org/show_bug.cgi?id=66348
46250
46251         Reviewed by Eric Seidel.
46252
46253         Converting remaining Accessibility code to the LayoutUnit abstraction.
46254
46255         No new tests, no change in functionality
46256
46257         * accessibility/AccessibilityImageMapLink.cpp:
46258         (WebCore::AccessibilityImageMapLink::elementRect):
46259         * accessibility/AccessibilityImageMapLink.h:
46260         * accessibility/AccessibilityListBox.cpp:
46261         (WebCore::AccessibilityListBox::elementAccessibilityHitTest):
46262         * accessibility/AccessibilityListBox.h:
46263         * accessibility/AccessibilityListBoxOption.cpp:
46264         (WebCore::AccessibilityListBoxOption::elementRect):
46265         * accessibility/AccessibilityListBoxOption.h:
46266         * accessibility/AccessibilityMenuListOption.cpp:
46267         (WebCore::AccessibilityMenuListOption::elementRect):
46268         * accessibility/AccessibilityMenuListOption.h:
46269         (WebCore::AccessibilityMenuListOption::size):
46270         * accessibility/AccessibilityMenuListPopup.h:
46271         (WebCore::AccessibilityMenuListPopup::elementRect):
46272         (WebCore::AccessibilityMenuListPopup::size):
46273         * accessibility/AccessibilityObject.cpp:
46274         (WebCore::AccessibilityObject::clickPoint):
46275         (WebCore::AccessibilityObject::orientation):
46276         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
46277         * accessibility/AccessibilityObject.h:
46278         (WebCore::AccessibilityObject::accessibilityHitTest):
46279         (WebCore::AccessibilityObject::boundingBoxRect):
46280         (WebCore::AccessibilityObject::size):
46281         (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
46282         (WebCore::AccessibilityObject::doAXBoundsForRange):
46283         * accessibility/AccessibilityRenderObject.cpp:
46284         (WebCore::AccessibilityRenderObject::isOffScreen):
46285         (WebCore::AccessibilityRenderObject::boundingBoxRect):
46286         (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
46287         (WebCore::AccessibilityRenderObject::elementRect):
46288         (WebCore::AccessibilityRenderObject::size):
46289         (WebCore::AccessibilityRenderObject::clickPoint):
46290         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
46291         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
46292         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
46293         (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
46294         * accessibility/AccessibilityRenderObject.h:
46295         * accessibility/AccessibilityScrollView.cpp:
46296         (WebCore::AccessibilityScrollView::accessibilityHitTest):
46297         (WebCore::AccessibilityScrollView::elementRect):
46298         * accessibility/AccessibilityScrollView.h:
46299         * accessibility/AccessibilityScrollbar.cpp:
46300         (WebCore::AccessibilityScrollbar::elementRect):
46301         * accessibility/AccessibilityScrollbar.h:
46302         * accessibility/AccessibilitySlider.cpp:
46303         (WebCore::AccessibilitySliderThumb::elementRect):
46304         (WebCore::AccessibilitySliderThumb::size):
46305         * accessibility/AccessibilitySlider.h:
46306         * accessibility/AccessibilityTableColumn.cpp:
46307         (WebCore::AccessibilityTableColumn::elementRect):
46308         (WebCore::AccessibilityTableColumn::size):
46309         * accessibility/AccessibilityTableColumn.h:
46310         * accessibility/AccessibilityTableHeaderContainer.cpp:
46311         (WebCore::AccessibilityTableHeaderContainer::elementRect):
46312         (WebCore::AccessibilityTableHeaderContainer::size):
46313         * accessibility/AccessibilityTableHeaderContainer.h:
46314         * accessibility/mac/AccessibilityObjectWrapper.mm:
46315         (-[AccessibilityObjectWrapper position]):
46316         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
46317         (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
46318
46319 2011-08-17  Emil A Eklund  <eae@chromium.org>
46320
46321         Switch focus handling to to new layout types
46322         https://bugs.webkit.org/show_bug.cgi?id=66331
46323
46324         Reviewed by Eric Seidel.
46325
46326         Convert FocusController and SpatialNavigation to new layout abstraction
46327         as a part of the ongoing conversion work.
46328
46329         No new tests, no new functionality.
46330
46331         * page/FocusController.cpp:
46332         (WebCore::updateFocusCandidateIfNeeded):
46333         (WebCore::FocusController::findFocusCandidateInContainer):
46334         (WebCore::FocusController::advanceFocusDirectionallyInContainer):
46335         (WebCore::FocusController::advanceFocusDirectionally):
46336         * page/FocusController.h:
46337         * page/SpatialNavigation.cpp:
46338         (WebCore::alignmentForRects):
46339         (WebCore::start):
46340         (WebCore::middle):
46341         (WebCore::end):
46342         (WebCore::areRectsFullyAligned):
46343         (WebCore::areRectsPartiallyAligned):
46344         (WebCore::areRectsMoreThanFullScreenApart):
46345         (WebCore::below):
46346         (WebCore::rightOf):
46347         (WebCore::isRectInDirection):
46348         (WebCore::hasOffscreenRect):
46349         (WebCore::scrollInDirection):
46350         (WebCore::deflateIfOverlapped):
46351         (WebCore::canScrollInDirection):
46352         (WebCore::rectToAbsoluteCoordinates):
46353         (WebCore::nodeRectInAbsoluteCoordinates):
46354         (WebCore::frameRectInAbsoluteCoordinates):
46355         (WebCore::entryAndExitPointsForDirection):
46356         (WebCore::distanceDataForNode):
46357         (WebCore::canBeScrolledIntoView):
46358         (WebCore::virtualRectForDirection):
46359         (WebCore::virtualRectForAreaElementAndDirection):
46360         * page/SpatialNavigation.h:
46361
46362 2011-08-17  Levi Weintraub  <leviw@chromium.org>
46363
46364         Switch Document, DocumentMarker, Clipboard, and Range to new layout types
46365         https://bugs.webkit.org/show_bug.cgi?id=66330
46366
46367         Reviewed by Eric Seidel.
46368
46369         Converting the remaining DOM classes to use the LayoutUnit abstraction.
46370
46371         No new tests, no new behavior.
46372
46373         * dom/Clipboard.h:
46374         (WebCore::Clipboard::dragLocation):
46375         * dom/Document.cpp:
46376         (WebCore::Document::nodesFromRect):
46377         (WebCore::nodeFromPoint):
46378         (WebCore::Document::caretRangeFromPoint):
46379         (WebCore::Document::prepareMouseEvent):
46380         * dom/Document.h:
46381         * dom/DocumentMarkerController.cpp:
46382         (WebCore::DocumentMarkerController::markerContainingPoint):
46383         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
46384         (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
46385         * dom/DocumentMarkerController.h:
46386         * dom/Range.cpp:
46387         (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
46388         * dom/RenderedDocumentMarker.h:
46389         (WebCore::RenderedDocumentMarker::contains):
46390         (WebCore::RenderedDocumentMarker::setRenderedRect):
46391         (WebCore::RenderedDocumentMarker::renderedRect):
46392         (WebCore::RenderedDocumentMarker::invalidMarkerRect):
46393         (WebCore::RenderedDocumentMarker::invalidate):
46394
46395 2011-08-17  Dan Bernstein  <mitz@apple.com>
46396
46397         Removed an unused setting.
46398
46399         Reviewed by Anders Carlsson.
46400
46401         * WebCore.exp.in:
46402         * page/Settings.cpp:
46403         (WebCore::Settings::Settings): Removed initializer for m_needsTigerMailQuirks.
46404         * page/Settings.h: Removed accessors.
46405
46406 2011-08-17  Oliver Hunt  <oliver@apple.com>
46407
46408         Move towards supporting user controlled prototypes on CanvasPixelArray
46409         https://bugs.webkit.org/show_bug.cgi?id=66429
46410
46411         Reviewed by Gavin Barraclough.
46412
46413         Start using a per-global object structure for canvas pixel array.
46414
46415         * bindings/js/JSImageDataCustom.cpp:
46416         (WebCore::toJS):
46417
46418 2011-08-17  Luke Macpherson   <macpherson@chromium.org>
46419
46420         Support cast from CSSPrimitiveValue to unsigned, and use in appropriate places in CSSStyleSelector::applyProperty
46421         https://bugs.webkit.org/show_bug.cgi?id=66281
46422
46423         Reviewed by Eric Seidel.
46424
46425         No new tests - refactoring only.
46426
46427         The return if type!=CSS_NUMBER case becomes an ASSERT because it is unreachable unless there is an error in the parser.
46428
46429         * css/CSSPrimitiveValueMappings.h:
46430         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
46431         Support cast from unsigned to CSSPrimitiveValue
46432         (WebCore::CSSPrimitiveValue::operator unsigned):
46433         Support cast from CSSPrimitiveValue to unsigned
46434         * css/CSSStyleSelector.cpp:
46435         (WebCore::CSSStyleSelector::applyProperty):
46436         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro for CSSPropertyWebkitBoxFlex,
46437         CSSPropertyWebkitBoxFlexGroup and CSSPropertyWebkitBoxOrdinalGroup properties.
46438
46439 2011-08-17  Scott Byer  <scottbyer@chromium.org>
46440
46441         ScrollAnimatorNone: Remove unused field
46442         https://bugs.webkit.org/show_bug.cgi?id=66312
46443
46444         Reviewed by Adam Barth.
46445
46446         No functional change; no test needed.
46447
46448         * platform/ScrollAnimatorNone.cpp:
46449         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
46450         (WebCore::ScrollAnimatorNone::scroll):
46451         * platform/ScrollAnimatorNone.h:
46452
46453 2011-08-17  Jeff Miller  <jeffm@apple.com>
46454
46455         Work-in-progress on Soft link against AVFoundationCF and CoreMedia
46456         https://bugs.webkit.org/show_bug.cgi?id=65725
46457         
46458         Don't bother with SOFT_LINK_LIBRARY(libdispatch), we're going to continue to statically link to it since
46459         the DLL will have already been loaded by other parts of AAS and is guaranteed to be available if AVFoundation
46460         is enabled.
46461
46462         Reviewed by Anders Carlsson.
46463
46464         No new tests; no functional change.
46465
46466         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Removed SOFT_LINK_DEBUG_LIBRARY(libdispatch) and SOFT_LINK_LIBRARY(libdispatch).
46467         (WebCore::MediaPlayerPrivateAVFoundationCF::isAvailable): Don't check for libdispatch.
46468
46469 2011-08-17  Brady Eidson  <beidson@apple.com>
46470
46471         https://bugs.webkit.org/show_bug.cgi?id=66354 and <rdar://problem/9965209>
46472         Regression:  On Lion, redirects lose HTTP authentication headers
46473
46474         Reviewed by Alexey Proskuryakov and Darin Adler.
46475
46476         This changes makes WebCore try to apply basic credentials after a redirect if the redirect is to the same origin,
46477         assuming the redirected URL did not contain credentials directly.
46478
46479         Tests: http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin.html
46480                http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin.html
46481                http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html
46482
46483         * platform/network/cf/ResourceHandleCFNet.cpp:
46484         (WebCore::applyBasicAuthorizationHeader): Apply the user/password from a credential to the HTTP headers for a request.
46485         (WebCore::ResourceHandle::createCFURLConnection): Use the applyBasicAuthorizationHeader helper.
46486         (WebCore::ResourceHandle::willSendRequest): If this is a redirect within the same origin, apply any stored target credentials to the new request.
46487
46488         * platform/network/mac/ResourceHandleMac.mm:
46489         (WebCore::applyBasicAuthorizationHeader): Apply the user/password from a credential to the HTTP headers for a request.
46490         (WebCore::ResourceHandle::createNSURLConnection): Use the applyBasicAuthorizationHeader helper.
46491         (WebCore::ResourceHandle::willSendRequest): If this is a redirect within the same origin, apply any stored target credentials to the new request.
46492
46493 2011-08-17  Chris Fleizach  <cfleizach@apple.com>
46494
46495         Accessibility stack exhaustion using role attribute
46496         https://bugs.webkit.org/show_bug.cgi?id=65174
46497
46498         Reviewed by Darin Adler.
46499
46500         Forgot to commit review comments.
46501
46502         * accessibility/AccessibilityRenderObject.cpp:
46503         (WebCore::AccessibilityRenderObject::remapAriaRoleDueToParent):
46504
46505 2011-08-17  Chris Fleizach  <cfleizach@apple.com>
46506
46507         Accessibility stack exhaustion using role attribute
46508         https://bugs.webkit.org/show_bug.cgi?id=65174
46509
46510         Make sure we do not call accessibilityIsIgnored() during the AccessibilityObject
46511         creation flow. That can lead to loops.
46512    
46513         Reviewed by Darin Adler.
46514
46515         Tests: accessibility/crash-determining-aria-role-when-label-present.html
46516
46517         * accessibility/AccessibilityObject.cpp:
46518         (WebCore::createARIARoleMap):
46519         * accessibility/AccessibilityRenderObject.cpp:
46520         (WebCore::AccessibilityRenderObject::remapAriaRoleDueToParent):
46521         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
46522         * accessibility/AccessibilityRenderObject.h:
46523
46524 2011-08-17  James Robinson  <jamesr@chromium.org>
46525
46526         [chromium] Crash if compositing is disabled during updateLayers()
46527         https://bugs.webkit.org/show_bug.cgi?id=66353
46528
46529         Reviewed by Kenneth Russell.
46530
46531         If compositing is turned off during LayerRendererChromium::updateLayers(), the rootLayer() will become null.
46532         Sicne CCLayerTreeHost::doComposite() calls updateLayers() and then drawLayers() without checking for this case,
46533         drawLayers() has to return without doing anything if the root layer is null.
46534
46535         Crash fixed based on crash reports.  No known reliably repro case, unfortunately.
46536
46537         * platform/graphics/chromium/LayerRendererChromium.cpp:
46538         (WebCore::LayerRendererChromium::drawLayers):
46539
46540 2011-08-17  Dan Bernstein  <mitz@apple.com>
46541
46542         <rdar://problem/9971293> Mid-word breaks can occur in the middle of a surrogate pair
46543         https://bugs.webkit.org/show_bug.cgi?id=66402
46544
46545         Reviewed by Dave Hyatt.
46546
46547         Test: fast/text/midword-break-before-surrogate-pair-2.html
46548
46549         * rendering/RenderBlockLineLayout.cpp:
46550         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Just never allow a mid-word
46551         break before a trailing surrogate.
46552
46553 2011-08-16  Chang Shu  <cshu@webkit.org>
46554
46555         Support reset in WebCore::Internals
46556         https://bugs.webkit.org/show_bug.cgi?id=66307
46557
46558         Reviewed by Dimitri Glazkov.
46559
46560         New tests will be added when function reset is implemented.
46561
46562         Added framework code in WebCoreTestSupport. The real implementation of
46563         Internals::reset() depends on the need from the settings that require a reset.
46564
46565         * testing/Internals.cpp:
46566         (WebCore::Internals::reset):
46567         * testing/Internals.h:
46568         * testing/js/WebCoreTestSupport.cpp:
46569         (WebCoreTestSupport::resetInternalsObject):
46570         * testing/js/WebCoreTestSupport.h:
46571         * testing/v8/WebCoreTestSupport.cpp:
46572         (WebCoreTestSupport::resetInternalsObject):
46573         * testing/v8/WebCoreTestSupport.h:
46574
46575 2011-08-17  Tony Chang  <tony@chromium.org>
46576
46577         Fix chromium mac compile.  MediaPlayerPrivateAVFoundationObjC.* moved
46578         and the WebCore.gypi file wasn't updated.
46579
46580         * WebCore.gypi:
46581
46582 2011-08-17  Abhishek Arya  <inferno@chromium.org>
46583
46584         Crash in Document::recalcStyleSelector
46585         https://bugs.webkit.org/show_bug.cgi?id=66335
46586
46587         Reviewed by Simon Fraser.
46588
46589         When node is getting destroyed and its removedFromDocument
46590         is not called due to entire document structure torn down(using
46591         removeAllChildren), make sure to clear out the stylesheet
46592         candidate node from document's structures in its destructor.
46593
46594         Test: svg/dom/stylesheet-candidate-node-crash-main.html
46595
46596         * dom/ProcessingInstruction.cpp:
46597         (WebCore::ProcessingInstruction::~ProcessingInstruction):
46598         * html/HTMLLinkElement.cpp:
46599         (WebCore::HTMLLinkElement::~HTMLLinkElement):
46600         * html/HTMLStyleElement.cpp:
46601         (WebCore::HTMLStyleElement::~HTMLStyleElement):
46602         * svg/SVGStyleElement.cpp:
46603         (WebCore::SVGStyleElement::~SVGStyleElement):
46604
46605 2011-08-17  Sam White  <samuel.white@rochester.edu>
46606
46607         AccessibilityObject levels are inconsistent
46608         https://bugs.webkit.org/show_bug.cgi?id=66180
46609         
46610         Updated accessibilityTable to return level values consistent with other accessibilityObjects that
46611         return level values. This means a value of 0 is now only returned when tableLevel() is called on a
46612         non-table element.
46613
46614         Reviewed by Chris Fleizach.
46615
46616         Test: platform/mac/accessibility/element-level.html
46617
46618         * accessibility/AccessibilityTable.cpp:
46619         (WebCore::AccessibilityTable::tableLevel):
46620         * accessibility/mac/AccessibilityObjectWrapper.mm:
46621         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
46622
46623 2011-08-17  Ryosuke Niwa  <rniwa@webkit.org>
46624
46625         An arrow key collapses directionless selection range in the wrong direction in BiDi
46626         https://bugs.webkit.org/show_bug.cgi?id=64626
46627
46628         Reviewed by Darin Adler.
46629
46630         The bug was caused by willBeModified's always using block direction to determine
46631         the direction to which the selection is collapsed. Fixed the bug by calling directionOfSelection
46632         in willBeModified, which will return the text direction of the surrounding context when
46633         the start and the end have the same direction. When the text directions at the start and at the end
46634         of selection do not match, it uses the block's text direction.
46635
46636         Test: editing/selection/collapse-selection-in-bidi.html
46637
46638         * editing/FrameSelection.cpp:
46639         (WebCore::FrameSelection::directionOfSelection): Added.
46640         (WebCore::FrameSelection::willBeModified): Calls directionOfSelection.
46641         (WebCore::FrameSelection::modifyMovingRight): Ditto.
46642         (WebCore::FrameSelection::modifyMovingLeft): Ditto.
46643         * editing/FrameSelection.h:
46644
46645 2011-08-17  Jeff Miller  <jeffm@apple.com>
46646
46647         Some AVFoundation source files should be in platform-specific directories
46648         https://bugs.webkit.org/show_bug.cgi?id=66352
46649         
46650         Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.* files to platform/graphics/avfoundation/cf,
46651         and moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.* files to platform/graphics/avfoundation/objc/.
46652         
46653         While I was at it, added svn:eol-style property to the MediaPlayerPrivateAVFoundationObjC.* files.
46654         
46655         Also, for some reason, Visual Studio decided to re-sort a couple files in \inspector\front-end\ in WebCore.vcproj, even though
46656         I just re-sorted the project in r93215.
46657
46658         Reviewed by Eric Carlson.
46659
46660         No new tests; no functional change.
46661
46662         * WebCore.vcproj/WebCore.vcproj: Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.* files to platform/graphics/avfoundation/cf.
46663
46664         * WebCore.vcproj/WebCoreMediaQT.vsprops: Added $(ProjectDir)..\platform\graphics\avfoundation\cf to include paths.
46665
46666         * WebCore.xcodeproj/project.pbxproj: Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.* files to platform/graphics/avfoundation/objc/.
46667
46668         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Removed.
46669         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h: Removed.
46670         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Removed.
46671         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Removed.
46672
46673         * platform/graphics/avfoundation/cf: Added.
46674         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp.
46675         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h.
46676
46677         * platform/graphics/avfoundation/objc: Added.
46678         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h.
46679         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm.
46680
46681 2011-08-17  Luke Macpherson   <macpherson@chromium.org>
46682
46683         Only set m_fontDirty if TextSizeAdjust is actually changed.
46684         https://bugs.webkit.org/show_bug.cgi?id=66022
46685
46686         Reviewed by Darin Adler.
46687
46688         No new tests. Refactoring only.
46689
46690         Reduces instances where the font information is dirtied to save recalculation where it is not necessary.
46691
46692         * css/CSSStyleSelector.cpp:
46693         (WebCore::CSSStyleSelector::applyProperty):
46694         Call new setTextSizeAdjust function.
46695         * css/CSSStyleSelector.h:
46696         (WebCore::CSSStyleSelector::setTextSizeAdjust):
46697         Add wrapper for RenderStyle::setTextSizeAdjust() that automatically updates m_fontDirty.
46698         * rendering/style/RenderStyle.h:
46699         (WebCore::RenderStyle::setTextSizeAdjust):
46700         Make setTextSizeAdjust return true if the unlderlying value was changed.
46701
46702 2011-08-17  Kenichi Ishibashi  <bashi@chromium.org>
46703
46704         [Chromium] Crash in HarfbuzzFace::~HarfbuzzFace
46705         https://bugs.webkit.org/show_bug.cgi?id=66211
46706
46707         Holds Skia's unique font ID instead of FontPlatformData to avoid accessing freed FontPlatformData.
46708
46709         Reviewed by Tony Chang.
46710
46711         No new tests; no functional change.
46712
46713         * platform/graphics/chromium/HarfbuzzSkia.cpp:
46714         (WebCore::releaseCachedHarfbuzzFace): Changed the argument.
46715         (WebCore::HarfbuzzFace::HarfbuzzFace): Changed to have Skia's font uniqueID instead of FontPlatformData.
46716         (WebCore::HarfbuzzFace::~HarfbuzzFace): Uses m_uniqueID to call releaseCachedHarfbuzzFace.
46717         * platform/graphics/chromium/HarfbuzzSkia.h:
46718
46719 2011-08-17  Jeff Miller  <jeffm@apple.com>
46720
46721         Re-sort the WebCore project with Visual Studio after recent changes that I assume were done by manually editing the XML.
46722
46723         * WebCore.vcproj/WebCore.vcproj:
46724
46725 2011-08-17  Sailesh Agrawal  <sail@chromium.org>
46726
46727         Chromium Mac: Fix implementation of wkScrollbarMinimumTotalLengthNeededForThumb to match WebKitSystemInterface
46728         https://bugs.webkit.org/show_bug.cgi?id=66311
46729
46730         Reviewed by Dimitri Glazkov.
46731
46732         Updated wkScrollbarMinimumTotalLengthNeededForThumb() based on the latest disassembly of libWebKitSystemInterfaceLion.a.
46733
46734         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
46735         (wkScrollbarMinimumTotalLengthNeededForThumb):
46736
46737 2011-08-17  Steve Block  <steveblock@google.com>
46738
46739         Unreviewed, rolling out r93186.
46740         http://trac.webkit.org/changeset/93186
46741         https://bugs.webkit.org/show_bug.cgi?id=66114
46742
46743         Breaks LayoutTests on Chromium canary bots
46744
46745         * platform/graphics/chromium/LayerChromium.h:
46746         * platform/graphics/chromium/LayerRendererChromium.cpp:
46747         (WebCore::LayerRendererChromium::updateLayers):
46748         (WebCore::LayerRendererChromium::drawLayersInternal):
46749         (WebCore::LayerRendererChromium::drawLayer):
46750         * platform/graphics/chromium/cc/CCLayerImpl.h:
46751
46752 2011-08-17  Ryosuke Niwa  <rniwa@webkit.org>
46753
46754         Get rid of calls to deprecatedNode and deprecatedEditingOffset in
46755         AccessibilityRenderObject.cpp and InsertTextCommand.cpp
46756         https://bugs.webkit.org/show_bug.cgi?id=66014
46757
46758         Reviewed by Hajime Morita.
46759
46760         Removed calls to deprecatedNode and deprecatedEditingOffsets in the following files.
46761
46762         * accessibility/AccessibilityRenderObject.cpp:
46763         (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Calls Position::rootEditableElement
46764         and Range::setEnd(const Position&, ExceptionCode) instead of manually pulling deprecatedNode
46765         and deprecatedEditingOffset.
46766         (WebCore::AccessibilityRenderObject::index): Abstracted the logic to loop through render objects
46767         from deprecatedNodes' renderer to m_renderer as renderObjectContainsPosition.
46768         * dom/Position.h:
46769         (WebCore::Position::rootEditableElement): Added.
46770         * dom/Range.cpp:
46771         (WebCore::Range::setStart): Added.
46772         (WebCore::Range::setEnd): Added.
46773         * dom/Range.h:
46774         * editing/InsertTextCommand.cpp:
46775         (WebCore::InsertTextCommand::insertTab):
46776         * editing/RenderedPosition.cpp:
46777         (WebCore::renderObjectContainsPosition): Extracted from AccessibilityRenderObject::index.
46778         * editing/RenderedPosition.h:
46779
46780 2011-08-17  Sailesh Agrawal  <sail@chromium.org>
46781
46782         Chromium Mac: Fix issue where scrollbar wouldn't be drawn until page finished loading
46783         https://bugs.webkit.org/show_bug.cgi?id=66238
46784
46785         Reviewed by Dimitri Glazkov.
46786
46787         Overlay scrollbars were not visible if the user scrolled a page while the page was loading. The sequence of events necessary to reproduce this bug were:
46788           1. -[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:] is called
46789           2. animation is delayed because shouldSuspendScrollAnimations() is true
46790           3. ScrollAnimatorChromiumMac::scroll() is called before the ScrollAnimatorChromiumMac::m_initialScrollbarPaintTimer is fired.
46791           4. At this point the scrollbar painter assumes the scrollbar is already visible (because of 1.) so the scrollbar's alpha stays at 0. Thus the scrollbar isn't visible until the page finishes loading.
46792         It turns out that the root problem was that when the initialScrollbarPainterTimer fired I wasn't flashing the scrollbar correctly. My implementation of wkScrollbarPainterForceFlashScrollers() just called flashScrollers. The Safari implementation of this function also calls hideOverlayScrollers. Calling hideOverlayScrollers causes the alpha to change to 0 which prevents step 4 from happening.
46793
46794         Also, now that wkScrollbarPainterForceFlashScrollers is working correctly I don't need the extra logic I added to the initialScrollbarPainterTimer handler. That logic restarted the timer if shouldSuspendScrollAnimations() was true. But this isn't necessary since calling wkScrollbarPainterForceFlashScrollers() causes -[ScrollbarPainterDelegate setUpAnimation:...] to be called which does the exact same thing. Removing the extra logic reverts http://trac.webkit.org/changeset/92316.
46795
46796         * platform/chromium/ScrollAnimatorChromiumMac.mm:
46797         (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
46798         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
46799         (wkScrollbarPainterForceFlashScrollers):
46800
46801 2011-08-16  Andrey Kosyakov  <caseq@chromium.org>
46802
46803         Web Inspector: maintain visible view hierarchy and dispatch common view events automatically
46804         https://bugs.webkit.org/show_bug.cgi?id=66131
46805
46806         Reviewed by Pavel Feldman.
46807
46808         Test: inspector/view-events.html
46809
46810         - added a notion of an optional parent to a View
46811         - maintain a list of View children
46812         - dispatch common view events, such as show/hide/resize automatically through the hierarchy of visible views.
46813         - promoted Panel's logic of (re)storing scroll positions to view
46814         - demoted inheritScrollPositionFromView to a couple of views that need it.
46815
46816         * inspector/front-end/ApplicationCacheItemsView.js:
46817         (WebInspector.ApplicationCacheItemsView.prototype.onResize):
46818         * inspector/front-end/ConsoleView.js:
46819         (WebInspector.ConsoleView.prototype.populateStatusBar):
46820         (WebInspector.ConsoleView.prototype.elementsToRestoreScrollPositionsFor):
46821         * inspector/front-end/CookieItemsView.js:
46822         (WebInspector.CookieItemsView.prototype.onResize):
46823         (WebInspector.SimpleCookiesTable.prototype.onResize):
46824         * inspector/front-end/DOMStorageItemsView.js:
46825         (WebInspector.DOMStorageItemsView.prototype.onResize):
46826         * inspector/front-end/DetailedHeapshotView.js:
46827         (WebInspector.DetailedHeapshotView.prototype.onResize):
46828         * inspector/front-end/Drawer.js:
46829         (WebInspector.Drawer.prototype.set visibleView):
46830         (WebInspector.Drawer.prototype.show):
46831         (WebInspector.Drawer.prototype.hide):
46832         (WebInspector.Drawer.prototype.onResize):
46833         (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
46834         (WebInspector.Drawer.prototype._animateDrawerHeight):
46835         (WebInspector.Drawer.prototype._statusBarDragging):
46836         (WebInspector.Drawer.prototype._endStatusBarDragging):
46837         * inspector/front-end/ElementsPanel.js:
46838         (WebInspector.ElementsPanel.prototype.onResize):
46839         * inspector/front-end/ExtensionPanel.js:
46840         * inspector/front-end/FontView.js:
46841         (WebInspector.FontView.prototype.onResize):
46842         * inspector/front-end/IFrameView.js:
46843         (WebInspector.IFrameView):
46844         * inspector/front-end/NetworkItemView.js:
46845         (WebInspector.NetworkItemView.prototype._installHighlightSupport):
46846         * inspector/front-end/NetworkPanel.js:
46847         (WebInspector.NetworkLogView):
46848         (WebInspector.NetworkLogView.prototype.elementsToRestoreScrollPositionsFor):
46849         (WebInspector.NetworkLogView.prototype.onResize):
46850         (WebInspector.NetworkLogView.prototype.wasShown):
46851         (WebInspector.NetworkLogView.prototype.willHide):
46852         (WebInspector.NetworkPanel):
46853         (WebInspector.NetworkPanel.prototype.show):
46854         (WebInspector.NetworkPanel.prototype._showResource):
46855         (WebInspector.NetworkPanel.prototype._closeVisibleResource):
46856         * inspector/front-end/Panel.js:
46857         (WebInspector.Panel.prototype.show):
46858         (WebInspector.Panel.prototype.hide):
46859         (WebInspector.Panel.prototype.performSearch.processChunk):
46860         (WebInspector.Panel.prototype.performSearch):
46861         (WebInspector.Panel.prototype.updateSidebarWidth):
46862         * inspector/front-end/PanelEnablerView.js:
46863         (WebInspector.PanelEnablerView.prototype.show):
46864         (WebInspector.PanelEnablerView.prototype.onResize):
46865         * inspector/front-end/ProfileView.js:
46866         (WebInspector.CPUProfileView.prototype.onResize):
46867         * inspector/front-end/ProfilesPanel.js:
46868         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
46869         * inspector/front-end/ResourceCookiesView.js:
46870         (WebInspector.ResourceCookiesView.prototype.onResize):
46871         * inspector/front-end/ResourcePreviewView.js:
46872         (WebInspector.ResourcePreviewView.prototype.contentLoaded):
46873         * inspector/front-end/ResourceResponseView.js:
46874         (WebInspector.ResourceResponseView.prototype.contentLoaded):
46875         * inspector/front-end/ResourceTimingView.js:
46876         (WebInspector.ResourceTimingView.prototype.show):
46877         * inspector/front-end/ResourcesPanel.js:
46878         (WebInspector.ResourcesPanel.prototype.show):
46879         (WebInspector.ResourcesPanel.prototype._innerShowView):
46880         (WebInspector.ResourcesPanel.prototype.closeVisibleView):
46881         (WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
46882         (WebInspector.FrameResourceTreeElement.prototype._recreateSourceView):
46883         * inspector/front-end/ScriptsPanel.js:
46884         (WebInspector.ScriptsPanel.prototype.show):
46885         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
46886         (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
46887         (WebInspector.ScriptsPanel.prototype.setSidebarWidth):
46888         * inspector/front-end/SourceFrame.js:
46889         (WebInspector.SourceFrame):
46890         (WebInspector.SourceFrame.prototype.show):
46891         (WebInspector.SourceFrame.prototype.willHide):
46892         (WebInspector.SourceFrame.prototype.clearMessages):
46893         (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
46894         (WebInspector.SourceFrame.prototype.inheritScrollPositions):
46895         * inspector/front-end/TabbedPane.js:
46896         (WebInspector.TabbedPane.prototype.appendTab):
46897         * inspector/front-end/TextViewer.js:
46898         (WebInspector.TextViewer.prototype.elementsToRestoreScrollPositionsFor):
46899         (WebInspector.TextViewer.prototype.inheritScrollPositions):
46900         (WebInspector.TextViewer.prototype.onResize):
46901         * inspector/front-end/TimelinePanel.js:
46902         (WebInspector.TimelinePanel.prototype.onResize):
46903         (WebInspector.TimelinePanel.prototype.elementsToRestoreScrollPositionsFor):
46904         (WebInspector.TimelinePanel.prototype.show):
46905         * inspector/front-end/View.js:
46906         (WebInspector.View):
46907         (WebInspector.View.prototype.wasShown):
46908         (WebInspector.View.prototype.willHide):
46909         (WebInspector.View.prototype._innerShow):
46910         (WebInspector.View.prototype.show):
46911         (WebInspector.View.prototype._innerHide):
46912         (WebInspector.View.prototype.hide):
46913         (WebInspector.View.prototype._detach):
46914         (WebInspector.View.prototype.elementsToRestoreScrollPositionsFor):
46915         (WebInspector.View.prototype.storeScrollPositions):
46916         (WebInspector.View.prototype.restoreScrollPositions):
46917         (WebInspector.View.prototype.addChildView):
46918         (WebInspector.View.prototype.removeChildView):
46919         (WebInspector.View.prototype.onResize):
46920         (WebInspector.View.prototype.doResize):
46921         (WebInspector.View.prototype.dispatchToSelfAndVisibleChildren):
46922         (WebInspector.View.prototype.dispatchToVisibleChildren):
46923         * inspector/front-end/inspector.js:
46924         (WebInspector.windowResize):
46925
46926 2011-08-16  Luke Macpherson   <macpherson@chromium.org>
46927
46928         Represent RenderStyle::textOverflow property using an enum instead of a bool.
46929         https://bugs.webkit.org/show_bug.cgi?id=66356
46930
46931         Reviewed by Dan Bernstein.
46932
46933         No new tests - no behavioral changes.
46934
46935         * css/CSSPrimitiveValueMappings.h:
46936         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
46937         Support cast from TextOverflow to CSSPrimitiveValue.
46938         (WebCore::CSSPrimitiveValue::operator TextOverflow):
46939         Support cast from CSSPrimitiveValue to TextOverflow.
46940         * css/CSSStyleSelector.cpp:
46941         (WebCore::CSSStyleSelector::applyProperty):
46942         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro for text overflow.
46943         * rendering/style/RenderStyle.h:
46944         (WebCore::InheritedFlags::textOverflow):
46945         Return TextOverflow enum.
46946         (WebCore::InheritedFlags::setTextOverflow):
46947         Accept TextOverflow enum parameter.
46948         (WebCore::InheritedFlags::initialTextOverflow):
46949         Return TextOverflowClip.
46950         * rendering/style/RenderStyleConstants.h:
46951         Define TextOverflow enum.
46952         * rendering/style/StyleRareNonInheritedData.h:
46953         Change representation of text overflow from bool to one-bit unsigned.
46954
46955 2011-08-16  Jeff Miller  <jeffm@apple.com>
46956
46957         Apple's Windows production build should fail to compile if AVFoundation is not enabled
46958         https://bugs.webkit.org/show_bug.cgi?id=66339
46959         
46960         Generate a compile-time error for Production builds if !USE(AVFOUNDATION).
46961
46962         Reviewed by Darin Adler.
46963
46964         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Generate a compile-time error for Production builds if !USE(AVFOUNDATION).
46965
46966 2011-08-16  David Levin  <levin@chromium.org>
46967
46968         REGRESSION (r89086): All worker xhr requests trigger preflight requests.
46969         https://bugs.webkit.org/show_bug.cgi?id=66340
46970
46971         Reviewed by Adam Barth.
46972
46973         Test coming in a more comprehensive patch shortly. This is just a very targetted
46974         patch to allow for easier merging.
46975
46976         * loader/CrossOriginAccessControl.cpp:
46977         (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Add referer to the list
46978         of whitelisted headers. It can't be set by xhr so it is ok to whitelist it, but it is
46979         set before calling this function. This is similar to what is done for "origin" in here.
46980
46981 2011-08-16  Shawn Singh  <shawnsingh@chromium.org>
46982
46983         Computing screen-space transform for LayerChromium and CCLayerImpl
46984         https://bugs.webkit.org/show_bug.cgi?id=66114
46985
46986         Reviewed by James Robinson.
46987
46988         Test: compositing/backface-visibility-hierarchical-transform.html
46989
46990         Added a data member to LayerChromium and CCLayerImpl that holds
46991         the screen-space transform.   The transform is computed in
46992         calculateDrawTransformsAndVisibility(), which is used during
46993         updating (LayerChromium) and drawing (CCLayerImpl).  This transform
46994         will also be used for other things, such as HUD drawing, in upcoming
46995         patches.
46996
46997         Also fixed a FIXME in LayerRendererChromium::drawLayer, which
46998         was not computing the entire hierarchy of transforms to determine
46999         back-face visibility.  Now it simply uses the screen space transform.
47000
47001         * platform/graphics/chromium/LayerChromium.h:
47002         (WebCore::LayerChromium::screenSpaceDrawTransform):
47003         (WebCore::LayerChromium::setScreenSpaceDrawTransform):
47004         * platform/graphics/chromium/LayerRendererChromium.cpp:
47005         (WebCore::LayerRendererChromium::updateLayers):
47006         (WebCore::LayerRendererChromium::drawLayersInternal):
47007         (WebCore::LayerRendererChromium::drawLayer):
47008         (WebCore::calculateDrawTransformsAndVisibility):
47009         * platform/graphics/chromium/cc/CCLayerImpl.h:
47010         (WebCore::CCLayerImpl::screenSpaceDrawTransform):
47011         (WebCore::CCLayerImpl::setScreenSpaceDrawTransform):
47012
47013 2011-08-16  Hayato Ito  <hayato@chromium.org>
47014
47015         Implement proper handling of events which happen in children of shadow hosts.
47016         https://bugs.webkit.org/show_bug.cgi?id=66285
47017
47018         Reviewed by Dimitri Glazkov.
47019
47020         Fix the issue where a shadow host stops an event propagation if an
47021         event happens at the children of shadow hosts, outside of the shadow root.
47022
47023         Test: fast/dom/shadow/shadow-contents-event.html
47024
47025         * dom/EventDispatcher.cpp:
47026         (WebCore::EventDispatcher::adjustToShadowBoundaries):
47027
47028 2011-08-16  Per-Erik Brodin  <per-erik.brodin@ericsson.com>
47029
47030         Make it possible to explicitly prevent a preflight via ThreadableLoaderOptions
47031         https://bugs.webkit.org/show_bug.cgi?id=65694
47032
47033         Reviewed by Alexey Proskuryakov.
47034
47035         No new tests since there is no change in behavior.
47036
47037         * fileapi/FileReaderLoader.cpp:
47038         (WebCore::FileReaderLoader::start):
47039         * loader/DocumentThreadableLoader.cpp:
47040         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
47041         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
47042         * loader/ThreadableLoader.h:
47043         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions):
47044         * notifications/Notification.cpp:
47045         (WebCore::Notification::startLoading):
47046         * xml/XMLHttpRequest.cpp:
47047         (WebCore::XMLHttpRequest::createRequest):
47048
47049 2011-08-16  Scott Byer  <scottbyer@chromium.org>
47050
47051         Fix spelling error.
47052         https://bugs.webkit.org/show_bug.cgi?id=66261
47053
47054         Reviewed by Adam Barth.
47055
47056         No functional change, no tests needed.
47057
47058         * platform/ScrollAnimator.cpp:
47059         (WebCore::ScrollAnimator::scroll):
47060         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
47061         (WebCore::ScrollAnimator::notifyPositionChanged):
47062         * platform/ScrollAnimator.h:
47063         * platform/ScrollAnimatorNone.cpp:
47064         (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
47065         (WebCore::ScrollAnimatorNone::animationTimerFired):
47066         * platform/ScrollAnimatorWin.cpp:
47067         (WebCore::ScrollAnimatorWin::scrollToOffsetWithoutAnimation):
47068         (WebCore::ScrollAnimatorWin::animateScroll):
47069         * platform/chromium/ScrollAnimatorChromiumMac.h:
47070         * platform/chromium/ScrollAnimatorChromiumMac.mm:
47071         (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
47072         (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaX):
47073         (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaY):
47074         (WebCore::ScrollAnimatorChromiumMac::notifyPositionChanged):
47075         * platform/mac/ScrollAnimatorMac.h:
47076         * platform/mac/ScrollAnimatorMac.mm:
47077         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
47078         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
47079         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
47080         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
47081
47082 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
47083
47084         ASSERT in fast/css/custom-font-xheight.html
47085         https://bugs.webkit.org/show_bug.cgi?id=66328
47086
47087         Reviewed by Dan Bernstein.
47088
47089         In r93140 the temporary font created for a remote CSS font face
47090         was created without being retained. We need to protect the
47091         font from being purged while we hold onto it, so add a font cache
47092         purge preventer.
47093
47094         * css/CSSFontFaceSource.cpp:
47095         (WebCore::CSSFontFaceSource::getFontData):
47096
47097 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
47098
47099         Unreviewed Chromium Windows build fix after r93140. Take 4.
47100         Namespace the now public enum as FontCache::ShouldRetain.
47101
47102         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
47103         (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
47104
47105 2011-08-15  Stephen White  <senorblanco@chromium.org>
47106
47107         Canvas resizing can be slow
47108         https://bugs.webkit.org/show_bug.cgi?id=66251
47109
47110         Canvas resizing was slow due to re-allocation of the ImageBuffer on
47111         each size change (width or height).  This was introduced inadvertently
47112         by calls to isAccelerated() during canvas reset().  Since we won't 
47113         know if we have successfully accelerated until ImageBuffer creation,
47114         move the compositor invalidation to createImageBuffer() as well.
47115         This patch also attempts to unify the Skia and CG accelerated canvas
47116         paths.  The DrawingBuffer used by the Skia path is now owned by 
47117         ImageBuffer[Skia], similar to how the IOSurface is owned by
47118         ImageBuffer[CG].  Some of the logic for when to accelerate was moved
47119         into HTMLCanvasElement and unified with the CG path.  Acceleration is
47120         also now enabled by the same "Accelerated" ImageBuffer create flag
47121         used by the CG path.  DrawingBuffer is now re-created even for a 
47122         same-size change (same as the memory buffer), but we speed it up
47123         by calling GraphicsContext3D::texImage2D() with a NULL pixels ptr
47124         instead of GraphicsContext3D::teximage2DResourceSafe() (no need to
47125         clear it, since it's done with a glClear anyway).
47126
47127         Reviewed by Kenneth Russell.
47128
47129         Covered by existing tests in fast/canvas and canvas/philip.
47130
47131         * html/HTMLCanvasElement.cpp:
47132         (WebCore::HTMLCanvasElement::reset):
47133         Don't call isAccelerated() from reset(), since we don't want to
47134         inadvertently create the ImageBuffer.  Also, since we won't know if
47135         we have successfully accelerated until createImageBuffer() is
47136         called, defer the compositor invalidation to createImageBuffer() as
47137         well.
47138         (WebCore::HTMLCanvasElement::shouldAccelerate):
47139         Unify the CG and Skia ports' logic for when to accelerate (Skia
47140         logic moved in from CanvasRenderingContext2D).
47141         (WebCore::HTMLCanvasElement::createImageBuffer):
47142         Use the unified shouldAccelerate() logic, and pass it as a flag
47143         to ImageBuffer.  Do compositor invalidation as well.
47144         * html/HTMLCanvasElement.h:
47145         (WebCore::HTMLCanvasElement::hasCreatedImageBuffer):
47146         Expose hasCreatedImageBuffer() publically, so
47147         CanvasRenderingContext2D::isAccelerated() doesn't inadvertently create
47148         it.
47149         * html/canvas/CanvasRenderingContext2D.cpp:
47150         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
47151         (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
47152         Remove all acceleration setting and resetting, since it's now done
47153         during ImageBuffer creation.
47154         (WebCore::CanvasRenderingContext2D::isAccelerated):
47155         Check if the image buffer was created, so we don't inadvertently
47156         create it here.
47157         (WebCore::CanvasRenderingContext2D::paintsIntoCanvasBuffer):
47158         Don't call GraphicsContext3D::paintsIntoCanvasBuffer(), since its
47159         WebViewImpl may be null.  Ask the render tree instead.
47160         (WebCore::CanvasRenderingContext2D::reset):
47161         Don't reset acceleration here, since we don't own it anymore.
47162         (WebCore::CanvasRenderingContext2D::platformLayer):
47163         Call into the ImageBuffer to get our PlatformLayer.
47164         * html/canvas/CanvasRenderingContext2D.h:
47165         Remove m_drawingBuffer, and all acceleration-related calls.
47166         * platform/graphics/GraphicsContext.cpp:
47167         * platform/graphics/GraphicsContext.h:
47168         Remove setGraphicsContext3D(), and paintsIntoImageBuffer().
47169         * platform/graphics/ImageBuffer.cpp:
47170         (WebCore::ImageBuffer::platformLayer):
47171         Implement a dummy platformLayer() call for non-skia ports.
47172         * platform/graphics/ImageBuffer.h:
47173         Declare a platformLayer() call (USE(ACCELERATED_COMPOSITING) only).
47174         * platform/graphics/chromium/ImageBufferDataSkia.h:
47175         Add a DrawingBuffer data member.
47176         * platform/graphics/gpu/DrawingBuffer.cpp:
47177         (WebCore::DrawingBuffer::reset):
47178         Use texImage2D() with a NULL ptr, not texImage2DResourceSafe().
47179         Since we immediately clear the framebuffer via glClear(), this whole
47180         resource safe business is overkill.
47181         * platform/graphics/skia/GraphicsContextSkia.cpp:
47182         Remove setGraphicsContext3D() and paintsIntoImageBuffer().  This
47183         functionality is handled by ImageBuffer now.
47184         * platform/graphics/skia/ImageBufferSkia.cpp:
47185         (WebCore::ImageBuffer::ImageBuffer):
47186         Give the ImageBufferData ownership of the DrawingBuffer.
47187         (WebCore::ImageBuffer::platformLayer):
47188         Implement an accessor for the DrawingBuffer's PlatformLayer.
47189         * platform/graphics/skia/PlatformContextSkia.cpp:
47190         (WebCore::PlatformContextSkia::setGraphicsContext3D):
47191         * platform/graphics/skia/PlatformContextSkia.h:
47192         Remove isPathSkiaSafe() extern (unused).
47193         Remove paintsIntoImageBuffer() (now unused).  Remove IntSize param
47194         from setGraphicsContext3D() (unused).
47195
47196 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
47197
47198         Unreviewed Chromium Windows build fix after r93140. Take 3.
47199         Include the proper includes!
47200
47201         * platform/graphics/FontCache.h:
47202
47203 2011-08-16  Mihnea Ovidenie  <mihnea@adobe.com>
47204
47205         Unmatrix algorithm implementation is wrong
47206         https://bugs.webkit.org/show_bug.cgi?id=66080
47207
47208         Reviewed by Dean Jackson.
47209
47210         Current version of the algorithm negates only the scaleX while
47211         it should negate also scaleY and scaleZ when appropriate.
47212
47213         Test: animations/animation-matrix-negative-scale-unmatrix.html
47214
47215         * platform/graphics/transforms/TransformationMatrix.cpp:
47216         (WebCore::decompose):
47217
47218 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
47219
47220         Unreviewed Chromium Windows build fix after r93140.
47221
47222         This just makes the troublesome enum public. If this
47223         fixes the build I will file a follow-up bug to clean-up
47224         these build issues and either keep the enum public and
47225         cleanup other functions or restore the enum to private.
47226         There is no harm in making the enum public right now.
47227
47228         * platform/graphics/FontCache.h:
47229
47230 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
47231
47232         Unreviewed Chromium Windows build fix after r93140.
47233
47234         * platform/graphics/FontCache.h:
47235
47236 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
47237
47238         Unreviewed Windows and Chromium Windows build fix after r93140.
47239
47240         * platform/graphics/FontCache.h:
47241         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
47242         (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
47243         (WebCore::getLastResortFallbackFontProc):
47244         (WebCore::FontCache::getLastResortFallbackFont):
47245         * platform/graphics/win/FontCacheWin.cpp:
47246         (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
47247         (WebCore::FontCache::getLastResortFallbackFont):
47248
47249 2011-08-16  Adam Roben  <aroben@apple.com>
47250
47251         Make placeholder text remain visible until a character is typed on Windows
47252
47253         Fixes <http://webkit.org/b/66319> Placeholder text in text fields disappears when the field
47254         is focused on Windows, which doesn't match Lion or Windows native text fields
47255
47256         Covered by existing tests (which are currently failing on the bots until this patch lands).
47257
47258         Reviewed by Dave Hyatt.
47259
47260         * rendering/RenderThemeSafari.h:
47261         (WebCore::RenderThemeSafari::shouldShowPlaceholderWhenFocused):
47262         * rendering/RenderThemeWin.h:
47263         (WebCore::RenderThemeWin::shouldShowPlaceholderWhenFocused):
47264         Added overrides to return true.
47265
47266 2011-08-16  David Hyatt  <hyatt@apple.com>
47267
47268         https://bugs.webkit.org/show_bug.cgi?id=66254
47269
47270         Make region invalidation and repainting work properly. We do this by making RenderFlowThreads into
47271         repaint containers and then issuing new repaints in the regions that contain the invalidated flow thread
47272         content.
47273
47274         Reviewed by Simon Fraser.
47275
47276         Added new tests in fast/repaint.
47277
47278         * rendering/RenderFlowThread.cpp:
47279         (WebCore::RenderFlowThread::repaintRectangleInRegions):
47280         * rendering/RenderFlowThread.h:
47281         * rendering/RenderObject.cpp:
47282         (WebCore::RenderObject::enclosingRenderFlowThread):
47283         (WebCore::RenderObject::containerForRepaint):
47284         (WebCore::RenderObject::repaintUsingContainer):
47285         * rendering/RenderObject.h:
47286         * rendering/RenderView.cpp:
47287         (WebCore::RenderView::RenderView):
47288         (WebCore::RenderView::renderFlowThreadWithName):
47289         * rendering/RenderView.h:
47290         (WebCore::RenderView::hasRenderFlowThreads):
47291
47292 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
47293
47294         Abandoned Memory: Temporary CSS Fonts May Never Be Purged
47295         https://bugs.webkit.org/show_bug.cgi?id=66153
47296
47297         Reviewed by Dan Bernstein.
47298
47299         While a remote CSS font face is loading we fallback to a
47300         temporary font. We don't want to retain the fallback font
47301         because noone takes ownership of the temporary font. This
47302         patch adds a way to get an uncached fallback font, which
47303         plumbs the ShouldRetain enum through the different platform
47304         implementations of getLastResortFallbackFont.
47305
47306         No new tests, no functional change.
47307
47308         * css/CSSFontFaceSource.cpp:
47309         (WebCore::CSSFontFaceSource::getFontData):
47310         * platform/graphics/FontCache.cpp:
47311         (WebCore::FontCache::getNonRetainedLastResortFallbackFont):
47312         * platform/graphics/FontCache.h:
47313         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
47314         (WebCore::fontDataFromDescriptionAndLogFont):
47315         (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
47316         (WebCore::getLastResortFallbackFontProc):
47317         (WebCore::FontCache::getLastResortFallbackFont):
47318         * platform/graphics/chromium/FontCacheLinux.cpp:
47319         (WebCore::FontCache::getLastResortFallbackFont):
47320         * platform/graphics/freetype/FontCacheFreeType.cpp:
47321         (WebCore::FontCache::getLastResortFallbackFont):
47322         * platform/graphics/haiku/FontCacheHaiku.cpp:
47323         (WebCore::FontCache::getLastResortFallbackFont):
47324         * platform/graphics/mac/FontCacheMac.mm:
47325         (WebCore::FontCache::getLastResortFallbackFont):
47326         * platform/graphics/pango/FontCachePango.cpp:
47327         (WebCore::FontCache::getLastResortFallbackFont):
47328         * platform/graphics/qt/FontCacheQt.cpp:
47329         (WebCore::FontCache::getLastResortFallbackFont):
47330         * platform/graphics/win/FontCacheWin.cpp:
47331         (WebCore::fontDataFromDescriptionAndLogFont):
47332         (WebCore::FontCache::getLastResortFallbackFont):
47333         * platform/graphics/wince/FontCacheWinCE.cpp:
47334         * platform/graphics/wx/FontCacheWx.cpp:
47335         (WebCore::FontCache::getLastResortFallbackFont):
47336
47337 2011-08-16  Alexei Svitkine  <asvitkine@chromium.org>
47338
47339         Chromium Mac: Rubber banding gutter drawing
47340         https://bugs.webkit.org/show_bug.cgi?id=66226
47341
47342         Make ScrollView::paintOverhangAreas() use the ScrollbarTheme::nativeTheme() to
47343         draw the overhang areas.
47344         Move default implementation to ScrollbarThemeComposite::paintOverhangAreas().
47345         Add a different implementation for Chromium Mac.
47346
47347         Reviewed by Dimitri Glazkov.
47348
47349         No new tests since this is just refactoring code and adding a Chromium-specific path for overhang drawing.
47350
47351         * platform/ScrollView.cpp:
47352         (WebCore::ScrollView::wheelEvent):
47353         * platform/ScrollbarTheme.h:
47354         (WebCore::ScrollbarTheme::paintOverhangAreas):
47355         * platform/ScrollbarThemeComposite.cpp:
47356         (WebCore::ScrollbarThemeComposite::paintOverhangAreas):
47357         * platform/ScrollbarThemeComposite.h:
47358         * platform/chromium/ScrollbarThemeChromiumMac.h:
47359         * platform/chromium/ScrollbarThemeChromiumMac.mm:
47360         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
47361         (WebCore::scrollbarStateToThemeState):
47362         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
47363         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
47364
47365 2011-08-12  Wyatt Carss  <wcarss@chromium.org>
47366
47367         Programmatically set selection should not have direction on Mac
47368         https://bugs.webkit.org/show_bug.cgi?id=60529
47369
47370         Reviewed by Ryosuke Niwa.
47371
47372         Modified default value of VisibleSelection->m_isDirectional from 'true'
47373         to 'false' by adding a defaulted argument to several VisibleSelection 
47374         constructors to make programmatic selection be directionless by default 
47375         on Mac. Also modified several calls to VisibleSelection's constructors
47376         to correctly preserve directionality.
47377         
47378         Near the end of FrameSelection::modify (presently FrameSelection.cpp:869)
47379         a call to setExtent triggers an editing delegate that uses the
47380         FrameSelection. The direction here should have been preserved from before,
47381         but setIsDirectional was not called until after FrameSelection.cpp:869. It
47382         has been moved up to make things behave.
47383
47384         * WebCore.exp.in:
47385         * editing/ApplyBlockElementCommand.cpp:
47386         (WebCore::ApplyBlockElementCommand::doApply):
47387         (WebCore::ApplyBlockElementCommand::formatSelection):
47388         * editing/ApplyStyleCommand.cpp:
47389         (WebCore::ApplyStyleCommand::updateStartEnd):
47390         * editing/BreakBlockquoteCommand.cpp:
47391         (WebCore::BreakBlockquoteCommand::doApply):
47392         * editing/CompositeEditCommand.cpp:
47393         (WebCore::CompositeEditCommand::moveParagraphWithClones):
47394         (WebCore::CompositeEditCommand::moveParagraphs):
47395         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
47396         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
47397         * editing/CreateLinkCommand.cpp:
47398         (WebCore::CreateLinkCommand::doApply):
47399         * editing/DeleteSelectionCommand.cpp:
47400         (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete):
47401         (WebCore::DeleteSelectionCommand::doApply):
47402         * editing/Editor.cpp:
47403         (WebCore::Editor::selectionForCommand):
47404         * editing/FrameSelection.cpp:
47405         (WebCore::shouldAlwaysUseDirectionalSelection):
47406         (WebCore::FrameSelection::FrameSelection):
47407         (WebCore::FrameSelection::moveTo):
47408         (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded):
47409         (WebCore::FrameSelection::modify):
47410         (WebCore::FrameSelection::setBase):
47411         (WebCore::FrameSelection::setExtent):
47412         * editing/FrameSelection.h:
47413         * editing/InsertLineBreakCommand.cpp:
47414         (WebCore::InsertLineBreakCommand::doApply):
47415         * editing/InsertListCommand.cpp:
47416         (WebCore::InsertListCommand::doApply):
47417         * editing/InsertParagraphSeparatorCommand.cpp:
47418         (WebCore::InsertParagraphSeparatorCommand::doApply):
47419         * editing/InsertTextCommand.cpp:
47420         (WebCore::InsertTextCommand::performTrivialReplace):
47421         (WebCore::InsertTextCommand::doApply):
47422         * editing/MoveSelectionCommand.cpp:
47423         (WebCore::MoveSelectionCommand::doApply):
47424         * editing/ReplaceSelectionCommand.cpp:
47425         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
47426         * editing/TypingCommand.cpp:
47427         (WebCore::TypingCommand::makeEditableRootEmpty):
47428         (WebCore::TypingCommand::deleteKeyPressed):
47429         (WebCore::TypingCommand::forwardDeleteKeyPressed):
47430         * editing/VisibleSelection.cpp:
47431         (WebCore::VisibleSelection::VisibleSelection):
47432         * editing/VisibleSelection.h:
47433         * page/EventHandler.cpp:
47434         (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
47435         (WebCore::EventHandler::updateSelectionForMouseDrag):
47436
47437 2011-08-16  Jeffrey Pfau  <jpfau@apple.com>
47438
47439         New XML parser: Add document fragment parser
47440         https://bugs.webkit.org/show_bug.cgi?id=66317
47441
47442         Reviewed by Adam Barth.
47443
47444         * dom/DocumentFragment.cpp:
47445         (WebCore::DocumentFragment::parseXML):
47446         * xml/parser/NewXMLDocumentParser.cpp:
47447         (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
47448         (WebCore::NewXMLDocumentParser::parseDocumentFragment):
47449         * xml/parser/NewXMLDocumentParser.h:
47450         (WebCore::NewXMLDocumentParser::create):
47451         * xml/parser/XMLTokenizer.h:
47452         * xml/parser/XMLTreeBuilder.cpp:
47453         (WebCore::XMLTreeBuilder::XMLTreeBuilder):
47454         (WebCore::XMLTreeBuilder::pushCurrentNode):
47455         * xml/parser/XMLTreeBuilder.h:
47456         (WebCore::XMLTreeBuilder::create):
47457         (WebCore::XMLTreeBuilder::NodeStackItem::node):
47458
47459 2011-08-16  Jeffrey Pfau  <jpfau@apple.com>
47460
47461         New XML parser: Replace assertions regarding character data in the prolog with proper checks
47462         https://bugs.webkit.org/show_bug.cgi?id=66269
47463
47464         Reviewed by Adam Barth.
47465
47466         This patch checks for character data in the prolog (which is illegal in XML) and discards it, instead of failing an assertion.
47467
47468         * xml/parser/XMLTreeBuilder.cpp:
47469         (WebCore::XMLTreeBuilder::processProcessingInstruction):
47470         (WebCore::XMLTreeBuilder::processXMLDeclaration):
47471         (WebCore::XMLTreeBuilder::processDOCTYPE):
47472         (WebCore::XMLTreeBuilder::enterText):
47473         (WebCore::XMLTreeBuilder::failOnText):
47474         * xml/parser/XMLTreeBuilder.h:
47475
47476 2011-08-16  Alexander Pavlov  <apavlov@chromium.org>
47477
47478         Web Inspector: word wrap long edits
47479         https://bugs.webkit.org/show_bug.cgi?id=65512
47480
47481         Reviewed by Pavel Feldman.
47482
47483         * inspector/front-end/inspector.css:
47484         (.styles-section .properties li.child-editing):
47485
47486 2011-08-16  Pavel Feldman  <pfeldman@google.com>
47487
47488         Web Inspector: convert DOM breakpoint types to strings.
47489         https://bugs.webkit.org/show_bug.cgi?id=66304
47490
47491         Reviewed by Yury Semikhatsky.
47492
47493         * inspector/Inspector.json:
47494         * inspector/InspectorDOMDebuggerAgent.cpp:
47495         (WebCore::domTypeForName):
47496         (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
47497         (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
47498         * inspector/InspectorDOMDebuggerAgent.h:
47499         * inspector/front-end/DOMBreakpointsSidebarPane.js:
47500         (WebInspector.DOMBreakpointsSidebarPane):
47501
47502 2011-08-16  Pavel Feldman  <pfeldman@google.com>
47503
47504         Web Inspector: force pseudo element state when checking it in the styles sidebar.
47505         https://bugs.webkit.org/show_bug.cgi?id=66292
47506
47507         This reverts http://trac.webkit.org/changeset/89132 and introduces InspectorInstrumentation
47508         calls from the CSSStyleSelector for pseudo state processing. These calls are very fast:
47509         they are guarded with the inline checks for the front-end count.
47510
47511         Reviewed by David Hyatt.
47512
47513         * css/CSSStyleSelector.cpp:
47514         (WebCore::CSSStyleSelector::initForStyleResolve):
47515         (WebCore::CSSStyleSelector::styleRulesForElement):
47516         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
47517         (WebCore::CSSStyleSelector::checkSelector):
47518         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
47519         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
47520         * css/CSSStyleSelector.h:
47521         * inspector/InspectorCSSAgent.cpp:
47522         (WebCore::computePseudoClassMask):
47523         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
47524         (WebCore::InspectorCSSAgent::clearFrontend):
47525         (WebCore::InspectorCSSAgent::forcePseudoState):
47526         (WebCore::InspectorCSSAgent::getStylesForNode):
47527         (WebCore::InspectorCSSAgent::didRemoveDocument):
47528         (WebCore::InspectorCSSAgent::didRemoveDOMNode):
47529         (WebCore::InspectorCSSAgent::clearPseudoState):
47530         * inspector/InspectorCSSAgent.h:
47531         * inspector/InspectorController.cpp:
47532         (WebCore::InspectorController::disconnectFrontend):
47533         * inspector/InspectorInstrumentation.cpp:
47534         (WebCore::InspectorInstrumentation::forcePseudoStateImpl):
47535         * inspector/InspectorInstrumentation.h:
47536         (WebCore::InspectorInstrumentation::forcePseudoState):
47537
47538 2011-08-16  Tony Chang  <tony@chromium.org>
47539
47540         Unreviewed, rolling out r93114.
47541         http://trac.webkit.org/changeset/93114
47542         https://bugs.webkit.org/show_bug.cgi?id=66226
47543
47544         broke the chromium mac compile
47545
47546         * platform/ScrollView.cpp:
47547         (WebCore::ScrollView::wheelEvent):
47548         * platform/ScrollbarTheme.h:
47549         * platform/ScrollbarThemeComposite.cpp:
47550         * platform/ScrollbarThemeComposite.h:
47551         * platform/chromium/ScrollbarThemeChromiumMac.h:
47552         * platform/chromium/ScrollbarThemeChromiumMac.mm:
47553         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
47554         (WebCore::scrollbarStateToThemeState):
47555         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
47556         * platform/mac/ScrollbarThemeMac.h:
47557
47558 2011-08-16  Alexei Svitkine  <asvitkine@chromium.org>
47559
47560         Chromium Mac: Rubber banding gutter drawing
47561         https://bugs.webkit.org/show_bug.cgi?id=66226
47562
47563         Make ScrollView::paintOverhangAreas() use the ScrollbarTheme::nativeTheme() to
47564         draw the overhang areas.
47565         Move default implementation to ScrollbarThemeComposite::paintOverhangAreas().
47566         Add a different implementation for Chromium Mac.
47567
47568         Reviewed by Dimitri Glazkov.
47569
47570         No new tests since this is just refactoring code and adding a Chromium-specific path for overhang drawing.
47571
47572         * platform/ScrollView.cpp:
47573         (WebCore::ScrollView::wheelEvent):
47574         * platform/ScrollbarTheme.h:
47575         (WebCore::ScrollbarTheme::paintOverhangAreas):
47576         * platform/ScrollbarThemeComposite.cpp:
47577         (WebCore::ScrollbarThemeComposite::paintOverhangAreas):
47578         * platform/ScrollbarThemeComposite.h:
47579         * platform/chromium/ScrollbarThemeChromiumMac.h:
47580         * platform/chromium/ScrollbarThemeChromiumMac.mm:
47581         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
47582         (WebCore::scrollbarStateToThemeState):
47583         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
47584         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
47585
47586 2011-08-16  Luke Macpherson   <macpherson@chromium.org>
47587
47588         Support cast between CSSPrimitiveValue and ETransformStyle3D and use in CSSStyleSelector.
47589         https://bugs.webkit.org/show_bug.cgi?id=66273
47590
47591         Reviewed by Simon Fraser.
47592
47593         No new tests - no functionality changed - refactoring only.
47594
47595         * css/CSSPrimitiveValueMappings.h:
47596         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
47597         Define cast from CSSPrimitiveValue to ETransformStyle3D.
47598         (WebCore::CSSPrimitiveValue::operator ETransformStyle3D):
47599         Define cast from ETransformStyle3D to CSSPrimitiveValue.
47600         * css/CSSStyleSelector.cpp:
47601         (WebCore::CSSStyleSelector::applyProperty):
47602         Use appropriate macro to handle CSSPropertyWebkitTransformStyle.
47603
47604 2011-08-16  Luke Macpherson   <macpherson@chromium.org>
47605
47606         Use appropriate macro to handle CSSPropertyWebkitContentOrder in CSSStyleSelector::applyProperty()
47607         https://bugs.webkit.org/show_bug.cgi?id=66279
47608
47609         Reviewed by Simon Fraser.
47610
47611         No new tests - no functionality changed - simple refactoring only.
47612
47613         * css/CSSStyleSelector.cpp:
47614         (WebCore::CSSStyleSelector::applyProperty):
47615         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro to handle CSSPropertyWebkitContentOrder.
47616         This works because PrimitiveValue now supports cast to int.
47617
47618 2011-08-16  Eric Carlson  <eric.carlson@apple.com>
47619
47620         [REGRESSION] Media controls should always be enabled when scripting is disabled
47621         https://bugs.webkit.org/show_bug.cgi?id=66303
47622
47623         Reviewed by Dimitri Glazkov.
47624
47625         Tests: media/video-controls-no-scripting-iframe.html
47626                media/video-controls-no-scripting.html
47627
47628         * html/HTMLMediaElement.cpp:
47629         (WebCore::HTMLMediaElement::attributeChanged): Move the controls enabling/disabling code
47630             to configureMediaControls.
47631         (WebCore::HTMLMediaElement::prepareForLoad): Call configureMediaControls.
47632         (WebCore::HTMLMediaElement::configureMediaControls): New, move code duplicated in 
47633             attributeChanged and preDispatchEventHandler here.
47634         (WebCore::HTMLMediaElement::preDispatchEventHandler): Move the controls enabling/disabling code
47635             to configureMediaControls.
47636         * html/HTMLMediaElement.h:
47637
47638 2011-08-16  Pavel Feldman  <pfeldman@google.com>
47639
47640         Web Inspector: hide non-conservative methods from the protocol documentation.
47641         https://bugs.webkit.org/show_bug.cgi?id=66301
47642
47643         Reviewed by Yury Semikhatsky.
47644
47645         * inspector/Inspector.json:
47646
47647 2011-08-16  Andras Becsi  <abecsi@webkit.org>
47648
47649         Web Inspector: nuke background events collection (dead feature)
47650         https://bugs.webkit.org/show_bug.cgi?id=66296
47651
47652         Fix the GTK build after r93095.
47653
47654         Unreviewed build fix.
47655
47656         No new tests neede.
47657
47658         * GNUmakefile.list.am: Remove nonexistent sources.
47659
47660 2011-08-16  Andras Becsi  <abecsi@webkit.org>
47661
47662         Reviewed by Csaba Osztrogonác.
47663
47664         Need AtomicStrings for the various font family names
47665         https://bugs.webkit.org/show_bug.cgi?id=28024
47666
47667         Unify the usage of '-webkit' prefixed font family names by using
47668         global AtomicStrings.
47669         Use a .in file to generate the needed sources through make_names.pl.
47670
47671         No new tests needed.
47672
47673         * CMakeLists.txt:
47674         * CodeGenerators.pri:
47675         * DerivedSources.make:
47676         * GNUmakefile.am:
47677         * GNUmakefile.list.am:
47678         * WebCore.gyp/WebCore.gyp:
47679         * WebCore.gyp/scripts/action_makenames.py:
47680         * WebCore.gypi:
47681         * WebCore.vcproj/WebCore.vcproj:
47682         * WebCore.xcodeproj/project.pbxproj:
47683         * css/CSSComputedStyleDeclaration.cpp:
47684         (WebCore::identifierForFamily):
47685         * css/CSSFontSelector.cpp:
47686         (WebCore::CSSFontSelector::addFontFaceRule):
47687         (WebCore::fontDataForGenericFamily):
47688         * css/CSSStyleSelector.cpp:
47689         (WebCore::CSSStyleSelector::applyProperty):
47690         * css/WebKitFontFamilyNames.in: Added.
47691         * dom/make_names.pl:
47692         * page/Frame.cpp:
47693         (WebCore::Frame::Frame):
47694         * platform/graphics/FontCache.cpp:
47695         (WebCore::FontCache::getFontData):
47696         * platform/graphics/FontDescription.h:
47697         (WebCore::FontDescription::useFixedDefaultSize):
47698
47699 2011-08-16  Pavel Feldman  <pfeldman@google.com>
47700
47701         Web Inspector: nuke background events collection (dead feature)
47702         https://bugs.webkit.org/show_bug.cgi?id=66296
47703
47704         Reviewed by Yury Semikhatsky.
47705
47706         * CMakeLists.txt:
47707         * WebCore.gypi:
47708         * WebCore.pro:
47709         * WebCore.vcproj/WebCore.vcproj:
47710         * WebCore.xcodeproj/project.pbxproj:
47711         * inspector/EventsCollector.cpp: Removed.
47712         * inspector/EventsCollector.h: Removed.
47713         * inspector/Inspector.json:
47714         * inspector/InspectorFrontendProxy.cpp: Removed.
47715         * inspector/InspectorFrontendProxy.h: Removed.
47716         * inspector/InspectorResourceAgent.cpp:
47717         (WebCore::InspectorResourceAgent::setFrontend):
47718         (WebCore::InspectorResourceAgent::clearFrontend):
47719         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
47720         * inspector/InspectorResourceAgent.h:
47721         * inspector/front-end/NetworkPanel.js:
47722         (WebInspector.NetworkLogView):
47723
47724 2011-08-16  Lindsay Mathieson   <lindsay.mathieson@gmail.com>
47725
47726         [Qt] Missing spell check support
47727         https://bugs.webkit.org/show_bug.cgi?id=44114
47728
47729         Reviewed by Benjamin Poulain.
47730
47731         Add drawErrorUnderline() from Cairo to render the line for text checking on the Qt port.
47732
47733         * platform/graphics/qt/GraphicsContextQt.cpp:
47734         (WebCore::drawErrorUnderline):
47735         (WebCore::GraphicsContext::drawLineForTextChecking):
47736
47737 2011-08-15  MORITA Hajime  <morrita@google.com>
47738
47739         REGRESSION(r70598): [Chromium] Style changes in textInput event can prevent from updating <textarea> value.
47740         https://bugs.webkit.org/show_bug.cgi?id=66216
47741
47742         Reviewed by Ryosuke Niwa.
47743
47744         Element::spellcheckAttributeState() uses Element::hasAttribute(),
47745         which calls updateStyleAttribute(), which potentially makes style
47746         dirty. But that is problematic since Editor calls spellcheckAttributeState()
47747         during the spell-checking phase and make the style dirty,
47748         which can trigger re-layout, which wipes the shadow tree of a textarea
47749         out by pre-committed "value" text.
47750
47751         This change removes the hasAttribute() call from
47752         spellcheckAttributeState().
47753
47754         Test: editing/input/style-change-during-input.html
47755
47756         * dom/Element.cpp:
47757         (WebCore::Element::spellcheckAttributeState):
47758
47759 2011-08-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
47760
47761         [CMAKE] Wrap files of websocket and worker in each macro.
47762         https://bugs.webkit.org/show_bug.cgi?id=65012
47763
47764         Move files of web socket and workers into each macro block in CMakeList.txt.
47765         And, header files related to WORKER and SHARED_WORKER are wrapped by macro in cpp files.
47766
47767         Reviewed by Daniel Bates.
47768
47769         * CMakeLists.txt:
47770         * UseJSC.cmake:
47771         * bindings/js/JSDOMWindowCustom.cpp:
47772         * bindings/js/JSWorkerContextBase.cpp:
47773         * bindings/js/ScriptState.cpp:
47774         * bindings/js/WorkerScriptController.cpp:
47775
47776 2011-08-15  Jeffrey Pfau  <jpfau@apple.com>
47777
47778         New XML parser: add xml namespace to the default map of namespaces
47779         https://bugs.webkit.org/show_bug.cgi?id=66266
47780
47781         Reviewed by Adam Barth.
47782
47783         * xml/parser/XMLTreeBuilder.cpp:
47784         (WebCore::XMLTreeBuilder::NodeStackItem::NodeStackItem):
47785
47786 2011-08-15  Hayato Ito  <hayato@chromium.org>
47787
47788         Fix crash when mouse moves from <summary> element to parent <details> element.
47789         https://bugs.webkit.org/show_bug.cgi?id=66210
47790
47791         Reviewed by Dimitri Glazkov.
47792
47793         This is a regression caused by r92922, which wrongly assumes that
47794         a shadow host always has a shadow root as an immediate child in
47795         ancestors chain. This assumption does not apply to <details>
47796         element. <details> element is implemented as a shadow host, but
47797         may have a <summary> element as an immediate child element in
47798         ancestors chain.
47799
47800         Test: fast/dom/shadow/details-summary-mouseover.html
47801
47802         * dom/EventDispatcher.cpp:
47803         (WebCore::EventDispatcher::adjustToShadowBoundaries):
47804
47805 2011-08-15  Jeffrey Pfau  <jpfau@apple.com>
47806
47807         New XML parser: Use xmlnsAtom instead of redundant xmlnsPrefix
47808         https://bugs.webkit.org/show_bug.cgi?id=66264
47809
47810         Reviewed by Adam Barth.
47811
47812         * xml/parser/XMLTreeBuilder.cpp:
47813         (WebCore::XMLTreeBuilder::processNamespaces):
47814         (WebCore::XMLTreeBuilder::processAttributes):
47815
47816 2011-08-15  Emil A Eklund  <eae@chromium.org>
47817
47818         Switch Element/Node to to new layout types
47819         https://bugs.webkit.org/show_bug.cgi?id=66260
47820
47821         Reviewed by Eric Seidel.
47822
47823         Convert Element, Node, ElementRareData and ContainerNode to new layout
47824         abstraction as a part of the ongoing conversion work.
47825
47826         No new tests, no new functionality.
47827
47828         * dom/ContainerNode.cpp:
47829         (WebCore::ContainerNode::getLowerRightCorner):
47830         (WebCore::ContainerNode::getRect):
47831         * dom/ContainerNode.h:
47832         * dom/Element.cpp:
47833         (WebCore::Element::scrollIntoView):
47834         (WebCore::Element::scrollIntoViewIfNeeded):
47835         (WebCore::adjustForLocalZoom):
47836         (WebCore::Element::boundsInWindowSpace):
47837         (WebCore::Element::getClientRects):
47838         (WebCore::Element::getBoundingClientRect):
47839         (WebCore::Element::screenRect):
47840         (WebCore::Element::minimumSizeForResizing):
47841         (WebCore::Element::setMinimumSizeForResizing):
47842         * dom/Element.h:
47843         * dom/ElementRareData.h:
47844         * dom/Node.cpp:
47845         (WebCore::Node::getRect):
47846         (WebCore::Node::renderRect):
47847         (WebCore::Node::hasNonEmptyBoundingBox):
47848         * dom/Node.h:
47849
47850 2011-08-15  Alexey Proskuryakov  <ap@apple.com>
47851
47852         Regional indicator symbols that are combined should behave as a single character when editing
47853         https://bugs.webkit.org/show_bug.cgi?id=65395
47854
47855         Reviewed by Dan Bernstein.
47856
47857         Part one: make backspace work.
47858
47859         Test: editing/deleting/regional-indicators.html
47860
47861         * rendering/RenderText.cpp:
47862         (WebCore::isRegionalIndicator):
47863         (WebCore::RenderText::previousOffsetForBackwardDeletion): Added a special case for regional
47864         indicator symbols.
47865
47866 2011-08-15  Jeffrey Pfau  <jpfau@apple.com>
47867
47868         New XML parser: Re-entering a character node should not clobber the buffered characters
47869         https://bugs.webkit.org/show_bug.cgi?id=66257
47870
47871         Reviewed by Adam Barth.
47872
47873         * xml/parser/XMLTreeBuilder.cpp:
47874         (WebCore::XMLTreeBuilder::enterText):
47875
47876 2011-08-15  Dmitry Titov  <dimich@chromium.org>
47877
47878         FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
47879         https://bugs.webkit.org/show_bug.cgi?id=66165
47880
47881         Reviewed by Darin Fisher.
47882
47883         No new tests since no change in behavior.
47884         The original issue is only reproducible on Chromium in multi-process mode
47885         and is tested there by a browsertest.
47886
47887         * loader/DocumentLoader.cpp:
47888         (WebCore::DocumentLoader::transferLoadingResourcesFromPage):
47889         Passing ResourceLoader* into the FrameLoaderClient notification.
47890         Also, fixed the bug where the same ResourceRequest was passed for all subresources.
47891         * loader/EmptyClients.h:
47892         (WebCore::EmptyFrameLoaderClient::transferLoadingResourceFromPage):
47893         * loader/FrameLoader.cpp:
47894         (WebCore::FrameLoader::dispatchTransferLoadingResourceFromPage):
47895         * loader/FrameLoader.h:
47896         * loader/FrameLoaderClient.h:
47897         * loader/ResourceLoadNotifier.cpp:
47898         (WebCore::ResourceLoadNotifier::dispatchTransferLoadingResourceFromPage):
47899         * loader/ResourceLoadNotifier.h:
47900         * loader/ResourceLoader.cpp:
47901         (WebCore::ResourceLoader::init):
47902         * loader/ResourceLoader.h:
47903         (WebCore::ResourceLoader::originalRequest): Added the originalRequest() accessor that
47904         returns the request as it existed before redirects (but after client's will SendRequest).
47905         This is to be able to pass the original request for loading subresources into
47906         FrameLoaderClient::transferLoadingResourceFromPage, since that one is used to invoke
47907         assignIdentifierToInitialRequest, which needs original request.
47908
47909 2011-08-15  Mark Hahnenberg  <mhahnenberg@apple.com>
47910
47911         Refactor JS objects to allocate in static create methods rather than constructors
47912         https://bugs.webkit.org/show_bug.cgi?id=65347
47913
47914         Reviewed by Geoffrey Garen.
47915
47916         No new tests.
47917
47918         Removed all calls to deprecatedGetDOMObject from initialization lists as part of a 
47919         larger refactoring to get rid of all allocation during initialization.
47920
47921         * bindings/js/JSDOMBinding.h:
47922         * bridge/c/CRuntimeObject.cpp:
47923         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
47924         * bridge/c/CRuntimeObject.h:
47925         (JSC::Bindings::CRuntimeObject::create):
47926         * bridge/c/c_instance.cpp:
47927         (JSC::Bindings::CRuntimeMethod::create):
47928         (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
47929         * bridge/jni/jsc/JavaInstanceJSC.cpp:
47930         (JavaRuntimeMethod::create):
47931         (JavaRuntimeMethod::JavaRuntimeMethod):
47932         * bridge/jni/jsc/JavaRuntimeObject.cpp:
47933         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
47934         * bridge/jni/jsc/JavaRuntimeObject.h:
47935         (JSC::Bindings::JavaRuntimeObject::create):
47936         * bridge/objc/objc_runtime.h:
47937         (JSC::Bindings::ObjcFallbackObjectImp::create):
47938         * bridge/objc/objc_runtime.mm:
47939         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
47940         * bridge/qt/qt_instance.cpp:
47941         (JSC::Bindings::QtRuntimeObject::create):
47942         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
47943         * bridge/qt/qt_pixmapruntime.cpp:
47944         (JSC::Bindings::QtPixmapRuntimeObject::create):
47945         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
47946         * bridge/qt/qt_runtime.cpp:
47947         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
47948         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
47949         (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
47950         * bridge/qt/qt_runtime.h:
47951         (JSC::Bindings::QtRuntimeMetaMethod::create):
47952         (JSC::Bindings::QtRuntimeConnectionMethod::create):
47953         * bridge/runtime_array.cpp:
47954         (JSC::RuntimeArray::RuntimeArray):
47955         * bridge/runtime_array.h:
47956         (JSC::RuntimeArray::create):
47957         * bridge/runtime_object.cpp:
47958
47959 2011-08-15  Adam Roben  <aroben@apple.com>
47960
47961         Update pages' style and content scale when the window's backing scale factor changes
47962
47963         Unfortunately, I couldn't think of a way to test this in an automated fashion.
47964
47965         Fixes <http://webkit.org/b/66229> <rdar://problem/9906269> WebKit doesn't react to device
47966         scale factor changes
47967
47968         Reviewed by Simon Fraser.
47969
47970         * WebCore.exp.in: Export Frame::deviceOrScaleFactorChanged.
47971
47972         * page/Frame.cpp:
47973         (WebCore::Frame::deviceScaleFactorChanged):
47974         * page/Frame.h:
47975         Added this new function. We recalc style so that, e.g., device-scale-factor-dependent media
47976         queries will be reevaluated, and we tell compositing layers about the new scale factor so
47977         they can rerender at the new resolution.
47978
47979 2011-08-15  Cary Clark  <caryclark@google.com>
47980
47981         Revise Skia on Chrome Mac to return fallback fonts.
47982         https://bugs.webkit.org/show_bug.cgi?id=62986
47983
47984         Reviewed by Darin Fisher.
47985
47986         Since Skia on Chrome Mac uses CoreText to determine
47987         text metrics, CG font architecture is used to return
47988         fallback fonts.
47989
47990         This improves many existing layout tests, including
47991         justify-ideograph-simple and t0905-c414-flt-04-c 
47992
47993         * platform/graphics/skia/FontSkia.cpp:
47994         (WebCore::Font::canReturnFallbackFontsForComplexText):
47995
47996 2011-08-15  Aaron Boodman  <aa@chromium.org>
47997
47998         Pass additional details to client in didCreateIsolatedContext
47999         https://bugs.webkit.org/show_bug.cgi?id=66037
48000
48001         Reviewed by Darin Fisher.
48002
48003         * bindings/v8/IsolatedWorld.cpp:
48004         (WebCore::IsolatedWorld::IsolatedWorld):
48005         * bindings/v8/IsolatedWorld.h:
48006         (WebCore::IsolatedWorld::create):
48007         (WebCore::IsolatedWorld::id):
48008         * bindings/v8/V8IsolatedContext.cpp:
48009         (WebCore::V8IsolatedContext::V8IsolatedContext):
48010         * bindings/v8/V8IsolatedContext.h:
48011         * bindings/v8/V8Proxy.cpp:
48012         (WebCore::V8Proxy::evaluateInIsolatedWorld):
48013         * loader/EmptyClients.h:
48014         (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
48015         * loader/FrameLoaderClient.h:
48016
48017 2011-08-15  Chris Rogers  <crogers@google.com>
48018
48019         Add shell implementation for Web Audio API's MediaElementAudioSourceNode
48020         https://bugs.webkit.org/show_bug.cgi?id=66175
48021
48022         Reviewed by Kenneth Russell.
48023
48024         Test: webaudio/mediaelementaudiosourcenode.html
48025
48026         * DerivedSources.make:
48027         * WebCore.gypi:
48028         * WebCore.xcodeproj/project.pbxproj:
48029         * html/HTMLMediaElement.idl:
48030         * webaudio/AudioContext.cpp:
48031         (WebCore::AudioContext::createMediaElementSource):
48032         * webaudio/AudioContext.h:
48033         * webaudio/AudioContext.idl:
48034         * webaudio/AudioNode.h:
48035         * webaudio/MediaElementAudioSourceNode.cpp: Added.
48036         (WebCore::MediaElementAudioSourceNode::create):
48037         (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
48038         (WebCore::MediaElementAudioSourceNode::process):
48039         (WebCore::MediaElementAudioSourceNode::reset):
48040         * webaudio/MediaElementAudioSourceNode.h: Added.
48041         (WebCore::MediaElementAudioSourceNode::mediaElement):
48042         * webaudio/MediaElementAudioSourceNode.idl: Added.
48043
48044 2011-08-15  Emil A Eklund  <eae@chromium.org>
48045
48046         Switch mouse events to to new layout types
48047         https://bugs.webkit.org/show_bug.cgi?id=66179
48048
48049         Reviewed by Eric Seidel.
48050
48051         Convert mouse events to new layout abstraction as a part of the ongoing
48052         conversion work.
48053
48054         No new tests, no new functionality.
48055
48056         * dom/MouseRelatedEvent.cpp:
48057         (WebCore::contentsScrollOffset):
48058         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
48059         (WebCore::MouseRelatedEvent::initCoordinates):
48060         (WebCore::MouseRelatedEvent::computePageLocation):
48061         (WebCore::MouseRelatedEvent::computeRelativePosition):
48062         (WebCore::MouseRelatedEvent::pageLocation):
48063         * dom/MouseRelatedEvent.h:
48064         (WebCore::MouseRelatedEvent::screenLocation):
48065         (WebCore::MouseRelatedEvent::clientLocation):
48066         (WebCore::MouseRelatedEvent::absoluteLocation):
48067         (WebCore::MouseRelatedEvent::setAbsoluteLocation):
48068         * page/EventHandler.cpp:
48069         (WebCore::EventHandler::clear):
48070         (WebCore::EventHandler::handleMousePressEventSingleClick):
48071         (WebCore::selectionExtentRespectingEditingBoundary):
48072         (WebCore::EventHandler::hitTestResultAtPoint):
48073         (WebCore::EventHandler::currentMousePosition):
48074         (WebCore::documentPointForWindowPoint):
48075         (WebCore::EventHandler::handleMousePressEvent):
48076         (WebCore::EventHandler::mouseMoved):
48077         (WebCore::EventHandler::handleWheelEvent):
48078         (WebCore::EventHandler::sendContextMenuEvent):
48079         (WebCore::EventHandler::sendContextMenuEventForKey):
48080         (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
48081         (WebCore::EventHandler::dragHysteresisExceeded):
48082         (WebCore::EventHandler::handleDrag):
48083         (WebCore::EventHandler::handleTouchEvent):
48084         * page/EventHandler.h:
48085         * platform/PlatformMouseEvent.h:
48086         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
48087         (WebCore::PlatformMouseEvent::pos):
48088         (WebCore::PlatformMouseEvent::x):
48089         (WebCore::PlatformMouseEvent::y):
48090         (WebCore::PlatformMouseEvent::globalX):
48091         (WebCore::PlatformMouseEvent::globalY):
48092         * platform/mac/PlatformMouseEventMac.mm:
48093         (WebCore::globalPoint):
48094         (WebCore::pointForEvent):
48095         (WebCore::globalPointForEvent):
48096
48097 2011-08-15  Ryosuke Niwa  <rniwa@webkit.org>
48098
48099         webkit-indent-blockquote is unnecessary
48100         https://bugs.webkit.org/show_bug.cgi?id=66195
48101
48102         Reviewed by Tony Chang.
48103
48104         Stop adding class="webkit-indent-blockquote" on blockquotes created by execCommand('Indent') and
48105         execCommand('Outdent'). Also removed the code to add the class attribute in ApplyBlockElementCommand
48106         since no other class inherited from ApplyBlockElementCommand uses this feature.
48107
48108         * editing/ApplyBlockElementCommand.cpp:
48109         (WebCore::ApplyBlockElementCommand::ApplyBlockElementCommand):
48110         (WebCore::ApplyBlockElementCommand::createBlockElement):
48111         * editing/ApplyBlockElementCommand.h:
48112         * editing/IndentOutdentCommand.cpp:
48113         (WebCore::IndentOutdentCommand::IndentOutdentCommand):
48114
48115 2011-08-15  Levi Weintraub  <leviw@chromium.org>
48116
48117         Switch remaining SVG Rendering methods to LayoutUnits
48118         https://bugs.webkit.org/show_bug.cgi?id=66169
48119
48120         Reviewed by Eric Seidel.
48121
48122         Changing remaining integer SVG methods to use the LayoutUnits abstraction.
48123
48124         No tests as no change in functionality.
48125
48126         * rendering/svg/RenderSVGBlock.cpp:
48127         (WebCore::RenderSVGBlock::visualOverflowRect):
48128         * rendering/svg/RenderSVGBlock.h:
48129         * rendering/svg/RenderSVGContainer.cpp:
48130         (WebCore::RenderSVGContainer::paint):
48131         * rendering/svg/RenderSVGForeignObject.cpp:
48132         (WebCore::RenderSVGForeignObject::paint):
48133         (WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint):
48134         (WebCore::RenderSVGForeignObject::computeRectForRepaint):
48135         * rendering/svg/RenderSVGHiddenContainer.cpp:
48136         (WebCore::RenderSVGHiddenContainer::paint):
48137         * rendering/svg/RenderSVGImage.cpp:
48138         (WebCore::RenderSVGImage::paint):
48139         * rendering/svg/RenderSVGInlineText.cpp:
48140         (WebCore::RenderSVGInlineText::linesBoundingBox):
48141         * rendering/svg/RenderSVGInlineText.h:
48142         * rendering/svg/RenderSVGModelObject.cpp:
48143         (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
48144         * rendering/svg/RenderSVGPath.cpp:
48145         (WebCore::RenderSVGPath::paint):
48146         * rendering/svg/RenderSVGRoot.cpp:
48147         (WebCore::RenderSVGRoot::localToBorderBoxTransform):
48148         (WebCore::RenderSVGRoot::parentOriginToBorderBox):
48149         (WebCore::RenderSVGRoot::borderOriginToContentBox):
48150         (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
48151         (WebCore::RenderSVGRoot::localToParentTransform):
48152         (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
48153         (WebCore::RenderSVGRoot::computeRectForRepaint):
48154         * rendering/svg/RenderSVGRoot.h:
48155         * rendering/svg/RenderSVGText.cpp:
48156         (WebCore::RenderSVGText::paint):
48157         * rendering/svg/SVGInlineFlowBox.cpp:
48158         (WebCore::SVGInlineFlowBox::paint):
48159         * rendering/svg/SVGInlineTextBox.cpp:
48160         (WebCore::SVGInlineTextBox::paint):
48161         * rendering/svg/SVGRenderSupport.cpp:
48162         (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
48163         (WebCore::SVGRenderSupport::computeRectForRepaint):
48164         * rendering/svg/SVGRenderSupport.h:
48165         * rendering/svg/SVGRootInlineBox.cpp:
48166         (WebCore::SVGRootInlineBox::paint):
48167         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
48168         (WebCore::SVGRootInlineBox::layoutChildBoxes):
48169         (WebCore::SVGRootInlineBox::layoutRootBox):
48170         (WebCore::SVGRootInlineBox::closestLeafChildForPosition):
48171         * rendering/svg/SVGRootInlineBox.h:
48172
48173 2011-08-12  Jeff Miller  <jeffm@apple.com>
48174
48175         MediaPlayerPrivateAVFoundationCF::playerItemStatus() should return MediaPlayerAVPlayerItemStatusDoesNotExist if there is no AVPlayerItem
48176         https://bugs.webkit.org/show_bug.cgi?id=66171
48177         
48178         MediaPlayerPrivateAVFoundationCF::playerItemStatus() should return MediaPlayerAVPlayerItemStatusDoesNotExist if there is no AVPlayerItem
48179         to match the Mac implementation in MediaPlayerPrivateAVFoundationObjC.  I also added better logging to notificationCallback().
48180
48181         Reviewed by Jon Honeycutt.
48182
48183         No new tests, uses existing media tests.
48184
48185         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp:
48186         (WebCore::MediaPlayerPrivateAVFoundationCF::playerItemStatus): Return MediaPlayerAVPlayerItemStatusDoesNotExist if no AVPlayerItem.
48187         (WebCore::AVFWrapper::notificationCallback): Log the name of the received notification.
48188
48189 2011-08-15  Adam Roben  <aroben@apple.com>
48190
48191         Rename an instance of pageScaleFactorChanged I missed in r93040
48192
48193         I tried to make a test for this but failed. It would probably have been easier if we dumped
48194         layers' content scales in layerTreeAsText output.
48195
48196         Followup to <http://webkit.org/b/55787> WebKit uses multiple conflicting names to refer to
48197         the device scale factor
48198
48199         * platform/graphics/ca/GraphicsLayerCA.cpp:
48200         (WebCore::GraphicsLayerCA::deviceOrPageScaleFactorChanged):
48201         * platform/graphics/ca/GraphicsLayerCA.h:
48202         Renamed from pageScaleFactorChanged to match the base class.
48203
48204 2011-08-15  Pavel Feldman  <pfeldman@google.com>
48205
48206         Web Inspector: [V8] crash upon stepIn while not on pause.
48207         https://bugs.webkit.org/show_bug.cgi?id=66221
48208
48209         Reviewed by Yury Semikhatsky.
48210
48211         * inspector/InspectorDebuggerAgent.cpp:
48212         (WebCore::InspectorDebuggerAgent::resume):
48213         (WebCore::InspectorDebuggerAgent::stepOver):
48214         (WebCore::InspectorDebuggerAgent::stepInto):
48215         (WebCore::InspectorDebuggerAgent::stepOut):
48216         (WebCore::InspectorDebuggerAgent::assertPaused):
48217         * inspector/InspectorDebuggerAgent.h:
48218         * inspector/front-end/ScriptsPanel.js:
48219         (WebInspector.ScriptsPanel.prototype._stepOverClicked):
48220         (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
48221         (WebInspector.ScriptsPanel.prototype._stepOutClicked):
48222
48223 2011-08-15  Vsevolod Vlasov  <vsevik@chromium.org>
48224
48225         Web Inspector: Network panel: display the current search match index in the toolbar.
48226         https://bugs.webkit.org/show_bug.cgi?id=66051
48227
48228         Reviewed by Pavel Feldman.
48229
48230         * inspector/front-end/NetworkPanel.js:
48231         (WebInspector.NetworkLogView.prototype._highlightNthMatchedResource):
48232         (WebInspector.NetworkLogView.prototype.performSearch):
48233         (WebInspector.NetworkPanel):
48234         (WebInspector.NetworkPanel.prototype._onSearchCountUpdated):
48235         (WebInspector.NetworkPanel.prototype._onSearchIndexUpdated):
48236
48237 2011-08-10  Adam Roben  <aroben@apple.com>
48238
48239         Clear up scale factor terminology
48240
48241         WebKit by and large deals with two scale factors: one intrinsic to the device on which the
48242         software is running, and one that is per-Page and can be controlled via API calls. This
48243         patch names the former "deviceScaleFactor" and the latter "pageScaleFactor", and makes the
48244         code use those names. It should introduce no behavior changes.
48245
48246         Fixes <http://webkit.org/b/55787> WebKit uses multiple conflicting names to refer to the
48247         device scale factor
48248
48249         Reviewed by Simon Fraser.
48250
48251         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
48252         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
48253         Removed an unused member. This is unrelated to this patch.
48254
48255         * css/MediaQueryEvaluator.cpp:
48256         * html/HTMLCanvasElement.cpp:
48257         * html/HTMLCanvasElement.h:
48258         * loader/EmptyClients.h:
48259         * page/Chrome.cpp:
48260         * page/Chrome.h:
48261         * page/ChromeClient.h:
48262         * page/DOMWindow.cpp:
48263         * page/Frame.cpp:
48264         * page/Frame.h:
48265         * platform/graphics/GraphicsLayer.cpp:
48266         * platform/graphics/GraphicsLayer.h:
48267         * platform/graphics/GraphicsLayerClient.h:
48268         * platform/graphics/ca/GraphicsLayerCA.cpp:
48269         * rendering/RenderInline.cpp:
48270         * rendering/RenderLayerBacking.cpp:
48271         * rendering/RenderLayerBacking.h:
48272         * rendering/RenderLayerCompositor.cpp:
48273         * rendering/RenderLayerCompositor.h:
48274         * rendering/RenderObject.cpp:
48275
48276 2011-08-15  Oliver Varga  <Varga.Oliver@stud.u-szeged.hu>
48277
48278         Reviewed by Nikolas Zimmermann.
48279
48280         Speed up SVGSMILElement::findInstanceTime.
48281         https://bugs.webkit.org/show_bug.cgi?id=61025
48282
48283         Replace the linear search to binary search on ordered list because
48284         the previous searches from the beginning was not efficient.
48285         Out of index error fixed by Renata Hodovan.
48286
48287         No new tests this is only a performance tweak.
48288
48289         * svg/animation/SVGSMILElement.cpp:
48290         (WebCore::extractTimeFromVector):
48291         (WebCore::SVGSMILElement::findInstanceTime):
48292
48293 2011-08-15  Hayato Ito  <hayato@chromium.org>
48294
48295         Implement proper handling of focusin/focusout events in regard to shadow DOM boundaries.
48296         https://bugs.webkit.org/show_bug.cgi?id=64249
48297
48298         Reviewed by Dimitri Glazkov.
48299
48300         Introduces FocusInEventDispatchMediator/FocusOutEventDispatchMediator so
48301         that we can shrink ancestors of event target node considering shadow
48302         DOM boundaries before dispatching focusin/focusout events.
48303
48304         Test: fast/dom/shadow/shadow-boundary-events.html
48305
48306         * dom/Document.cpp:
48307         (WebCore::Document::setFocusedNode):
48308         * dom/Node.cpp:
48309         (WebCore::Node::dispatchFocusInEvent):
48310         (WebCore::Node::dispatchFocusOutEvent):
48311         (WebCore::Node::dispatchDOMActivateEvent):
48312         (WebCore::Node::defaultEventHandler):
48313         * dom/Node.h:
48314         * dom/UIEvent.cpp:
48315         (WebCore::FocusInEventDispatchMediator::create):
48316         (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
48317         (WebCore::FocusInEventDispatchMediator::dispatchEvent):
48318         (WebCore::FocusOutEventDispatchMediator::create):
48319         (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
48320         (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
48321         * dom/UIEvent.h:
48322
48323 2011-08-15  Pavel Feldman  <pfeldman@google.com>
48324
48325         Web Inspector: not all of the properties have valid descriptors on all platforms.
48326         Includes PropertyDescriptor protocol documentation fixes.
48327         https://bugs.webkit.org/show_bug.cgi?id=66215
48328
48329         Activations, LocalStorage and some other properties potentially don't have
48330         valid property descriptors. InjectedScript should use conservative getter in order to
48331         mitigate this.
48332
48333         Reviewed by Yury Semikhatsky.
48334
48335         * inspector/InjectedScriptSource.js:
48336         * inspector/Inspector.json:
48337
48338 2011-08-15  Pavel Feldman  <pfeldman@google.com>
48339
48340         Web Inspector: context menu on the link in the console does not have standard link options.
48341         https://bugs.webkit.org/show_bug.cgi?id=66214
48342
48343         Reviewed by Yury Semikhatsky.
48344
48345         * English.lproj/localizedStrings.js:
48346         * inspector/front-end/ConsoleView.js:
48347         * inspector/front-end/ElementsPanel.js:
48348         * inspector/front-end/ElementsTreeOutline.js:
48349         (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
48350         * inspector/front-end/NetworkPanel.js:
48351         (WebInspector.NetworkLogView.prototype._contextMenu):
48352         * inspector/front-end/StylesSidebarPane.js:
48353         (WebInspector.StylesSidebarPane.prototype._contextMenuEventFired):
48354         * inspector/front-end/inspector.js:
48355         (WebInspector.openLinkExternallyLabel):
48356         (WebInspector.copyLinkAddressLabel):
48357         (WebInspector.populateHrefContextMenu):
48358
48359 2011-08-14  Pavel Feldman  <pfeldman@chromium.org>
48360
48361         Web Inspector: showContextMenu missing in Remote DevTools
48362         https://bugs.webkit.org/show_bug.cgi?id=63725
48363
48364         Reviewed by Yury Semikhatsky.
48365
48366         * WebCore.gypi:
48367         * WebCore.vcproj/WebCore.vcproj:
48368         * inspector/front-end/ConsoleView.js:
48369         * inspector/front-end/SoftContextMenu.js: Added.
48370         (.WebInspector.SoftContextMenu):
48371         (.WebInspector.SoftContextMenu.prototype.show):
48372         (.WebInspector.SoftContextMenu.prototype._createMenuItem):
48373         (.WebInspector.SoftContextMenu.prototype._createSeparator):
48374         (.WebInspector.SoftContextMenu.prototype._menuItemMouseDown):
48375         (.WebInspector.SoftContextMenu.prototype._menuItemMouseUp):
48376         (.WebInspector.SoftContextMenu.prototype._triggerAction):
48377         (.WebInspector.SoftContextMenu.prototype._menuItemMouseOver):
48378         (.WebInspector.SoftContextMenu.prototype._menuItemMouseOut):
48379         (.WebInspector.SoftContextMenu.prototype._highlightMenuItem):
48380         (.WebInspector.SoftContextMenu.prototype._highlightPrevious):
48381         (.WebInspector.SoftContextMenu.prototype._highlightNext):
48382         (.WebInspector.SoftContextMenu.prototype._menuKeyDown):
48383         (.WebInspector.SoftContextMenu.prototype._glassPaneMouseUp):
48384         (.WebInspector.SoftContextMenu.prototype._discardMenu):
48385         (.InspectorFrontendHost.showContextMenu):
48386         * inspector/front-end/WebKit.qrc:
48387         * inspector/front-end/inspector.css:
48388         (.soft-context-menu-glass-pane):
48389         (.soft-context-menu):
48390         (.soft-context-menu-item):
48391         (.soft-context-menu-separator):
48392         (.soft-context-menu-item-mouse-over):
48393         * inspector/front-end/inspector.html:
48394
48395 2011-08-13  Abhishek Arya  <inferno@chromium.org>
48396
48397         Crash in HTMLTreeBuilder::processAnyOtherEndTagForInBody
48398         https://bugs.webkit.org/show_bug.cgi?id=66187
48399
48400         Reviewed by Adam Barth.
48401
48402         RefPtr a few ContainerNodes to prevent premature deletion.
48403
48404         Test: fast/html/process-end-tag-for-inbody-crash.html
48405
48406         * html/parser/HTMLTreeBuilder.cpp:
48407         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
48408         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
48409         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
48410
48411 2011-08-14  Kalev Lember  <kalevlember@gmail.com>
48412
48413         Fix GTK Windows build after r92308.
48414         https://bugs.webkit.org/show_bug.cgi?id=66140
48415
48416         Reviewed by Xan Lopez.
48417
48418         * config.h: Don't try to include WebCoreHeaderDetection.h for GTK.
48419
48420 2011-08-13  Sam Weinig  <sam@webkit.org>
48421
48422         Remove forward declaration of -[WebUndefined dealloc] to appease the bot gods.
48423
48424         * bindings/objc/WebScriptObject.mm:
48425
48426 2011-08-13  Sam Weinig  <sam@webkit.org>
48427
48428         Remove assertion from -[WebUndefined dealloc] to try to mollify the bots.
48429
48430         * bindings/objc/WebScriptObject.mm:
48431         (-[WebUndefined dealloc]):
48432
48433 2011-08-13  Sam Weinig  <sam@webkit.org>
48434
48435         Remove unused variables from WebVideoFullscreenController.h
48436         https://bugs.webkit.org/show_bug.cgi?id=66192
48437
48438         Reviewed by Dan Bernstein.
48439
48440         * platform/mac/WebVideoFullscreenController.h:
48441         Remove _isWindowLoaded, _savedUIMode and _savedUIOptions which were not used.
48442
48443 2011-08-13  Sam Weinig  <sam@webkit.org>
48444
48445         Fix incorrect objective-c initialize in WebCore
48446         https://bugs.webkit.org/show_bug.cgi?id=66191
48447
48448         Reviewed by David Kilzer.
48449
48450         * accessibility/mac/AccessibilityObjectWrapper.mm:
48451         (-[AccessibilityObjectWrapper initWithAccessibilityObject:]):
48452         * rendering/RenderThemeMac.mm:
48453         (-[WebCoreRenderThemeNotificationObserver initWithTheme:WebCore::]):
48454         Correctly initialize by assigning to self and nil checking the result.
48455
48456 2011-08-13  Adam Barth  <abarth@webkit.org>
48457
48458         Fix clang build.
48459
48460         * platform/chromium/PopupMenuChromium.h:
48461
48462 2011-08-13  David Kilzer  <ddkilzer@apple.com>
48463
48464         <http://webkit.org/b/66188> WebCore.xcodeproj has duplicate entries again
48465
48466         Reviewed by Dan Bernstein.
48467
48468         * WebCore.xcodeproj/project.pbxproj: Remove duplicate entries
48469         by using uniq.  Originally noticed by Xcode 4.
48470
48471 2011-08-12  Dan Bernstein  <mitz@apple.com>
48472
48473         <rdar://problem/7337717> Add an option to automatically show tooltips (with the full text) over truncated text
48474         https://bugs.webkit.org/show_bug.cgi?id=66178
48475
48476         Reviewed by Simon Fraser.
48477
48478         * WebCore.exp.in: Export setShowsToolTipOverTruncatedText().
48479         * page/Chrome.cpp:
48480         (WebCore::Chrome::setToolTip): If no title is found, and the page is set to show tooltips over
48481         truncated text, try to set the tooltip to the full text of the truncated text, if any.
48482         * page/Settings.cpp:
48483         (WebCore::Settings::Settings): Initialize new member variable.
48484         (WebCore::Settings::setShowsToolTipOverTruncatedText): Added this setter.
48485         * page/Settings.h:
48486         (WebCore::Settings::showsToolTipOverTruncatedText): Added this getter.
48487         * rendering/HitTestResult.cpp:
48488         (WebCore::HitTestResult::innerTextIfTruncated): Added. If the inner node or its nearest enclosing
48489         block has text-overflow: ellipsis and has truncated lines, return the node’s (full) inner text.
48490         * rendering/HitTestResult.h:
48491         * rendering/RootInlineBox.h:
48492         (WebCore::RootInlineBox::hasEllipsisBox): Made this public.
48493
48494 2011-08-12  Stephen White  <senorblanco@chromium.org>
48495
48496         Ownership of canvas's GraphicsContext3D should be moved to PlatformContextSkia
48497         https://bugs.webkit.org/show_bug.cgi?id=66154
48498
48499         Reviewed by Kenneth Russell.
48500
48501         Covered by existing tests in fast/canvas and canvas/philip.
48502
48503         * html/canvas/CanvasRenderingContext2D.cpp:
48504         (WebCore::CanvasRenderingContext2D::isAccelerated):
48505         Plumb this call through GraphicsContext::isAcceleratedContext().
48506         (WebCore::CanvasRenderingContext2D::paintsIntoCanvasBuffer):
48507         For the ACCELERATED_2D_CANVAS path, plumb this call through
48508         (the new) GraphicsContext::paintsIntoCanvasBuffer().
48509         (WebCore::CanvasRenderingContext2D::clearAcceleration):
48510         (WebCore::CanvasRenderingContext2D::resetAcceleration):
48511         Remove the use of the m_context3D member; use a temporary instead.
48512         * html/canvas/CanvasRenderingContext2D.h:
48513         Remove the m_context3D member.
48514         * platform/graphics/GraphicsContext.cpp:
48515         (WebCore::GraphicsContext::isAcceleratedContext):
48516         (WebCore::GraphicsContext::paintsIntoImageBuffer):
48517         Implement stub versions of these functions for other platforms.
48518         * platform/graphics/GraphicsContext.h:
48519         Expose isAcceleratedContext() to all platforms.  Add
48520         paintsIntoImageBuffer() member function.
48521         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
48522         (WebCore::SharedGraphicsContext3D::create):
48523         * platform/graphics/gpu/SharedGraphicsContext3D.h:
48524         * platform/graphics/skia/GraphicsContextSkia.cpp:
48525         (WebCore::GraphicsContext::setGraphicsContext3D):
48526         (WebCore::GraphicsContext::isAcceleratedContext):
48527         (WebCore::GraphicsContext::paintsIntoImageBuffer):
48528         Basically gut this class leaving only a static creation function.
48529         * platform/graphics/skia/ImageSkia.cpp:
48530         (WebCore::paintSkBitmap):
48531         (WebCore::Image::drawPattern):
48532         Use isAccelerated() in place of useSkiaGpu().
48533         * platform/graphics/skia/PlatformContextSkia.cpp:
48534         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
48535         (WebCore::PlatformContextSkia::paintsIntoImageBuffer):
48536         * platform/graphics/skia/PlatformContextSkia.h:
48537         (WebCore::PlatformContextSkia::isAccelerated):
48538         Rename useSkiaGpu() to isAccelerated().  Plumb through 
48539         paintsIntoImageBuffer() to GraphicsContext3D.
48540
48541 2011-08-12  Sam Weinig  <sam@webkit.org>
48542
48543         Use __builtin_trap() for CRASH when building with clang
48544         https://bugs.webkit.org/show_bug.cgi?id=66152
48545
48546         Reviewed by Anders Carlsson.
48547
48548         * bindings/js/SerializedScriptValue.cpp:
48549         (WebCore::CloneBase::fail):
48550         * bindings/objc/WebScriptObject.mm:
48551         * platform/mac/BlockExceptions.h:
48552         * platform/text/cf/StringImplCF.cpp:
48553         Add NO_RETURN_DUE_TO_ASSERT.
48554
48555         * bridge/IdentifierRep.h:
48556         Don't define the destructor since it is never called,
48557
48558 2011-08-12  Joseph Pecoraro  <joepeck@webkit.org>
48559
48560         Abandoned Memory: Temporary CSS Fonts May Never Be Purged
48561         https://bugs.webkit.org/show_bug.cgi?id=66153
48562
48563         Reviewed by Dan Bernstein.
48564
48565         No new tests, this is not a functional change.
48566
48567         * css/CSSFontFaceSource.cpp:
48568         (WebCore::CSSFontFaceSource::getFontData):
48569         If the CSS font-face is loading from a URL then immediately
48570         fallback to a system font matching the description, since we
48571         cannot determine a reasonable family name from the m_string
48572         URL. The URL could be a dataURI.
48573
48574 2011-08-12  Fady Samuel  <fsamuel@chromium.org>
48575
48576         Refactoring of PopupMenuChromium For Readability and Maintainability
48577         https://bugs.webkit.org/show_bug.cgi?id=66009
48578
48579         Reviewed by Darin Fisher.
48580
48581         Split PopupMenuChromium into three sets of files: PopupMenuChromium.{h|cpp}, PopupContainer.{h|cpp},
48582         and PopupLisBox.{h|cpp}  for readability and maintainability.
48583
48584         No new tests as there's no change in functionality.
48585
48586         * WebCore.gypi:
48587         * platform/chromium/PopupContainer.cpp: Added.
48588         (WebCore::constructRelativeMouseEvent):
48589         (WebCore::constructRelativeWheelEvent):
48590         (WebCore::PopupContainer::create):
48591         (WebCore::PopupContainer::PopupContainer):
48592         (WebCore::PopupContainer::~PopupContainer):
48593         (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
48594         (WebCore::PopupContainer::showPopup):
48595         (WebCore::PopupContainer::hidePopup):
48596         (WebCore::PopupContainer::notifyPopupHidden):
48597         (WebCore::PopupContainer::layoutAndGetRTLOffset):
48598         (WebCore::PopupContainer::handleMouseDownEvent):
48599         (WebCore::PopupContainer::handleMouseMoveEvent):
48600         (WebCore::PopupContainer::handleMouseReleaseEvent):
48601         (WebCore::PopupContainer::handleWheelEvent):
48602         (WebCore::PopupContainer::handleTouchEvent):
48603         (WebCore::PopupContainer::handleGestureEvent):
48604         (WebCore::PopupContainer::handleKeyEvent):
48605         (WebCore::PopupContainer::hide):
48606         (WebCore::PopupContainer::paint):
48607         (WebCore::PopupContainer::paintBorder):
48608         (WebCore::PopupContainer::isInterestedInEventForKey):
48609         (WebCore::PopupContainer::chromeClientChromium):
48610         (WebCore::PopupContainer::showInRect):
48611         (WebCore::PopupContainer::refresh):
48612         (WebCore::PopupContainer::isRTL):
48613         (WebCore::PopupContainer::selectedIndex):
48614         (WebCore::PopupContainer::menuItemHeight):
48615         (WebCore::PopupContainer::menuItemFontSize):
48616         (WebCore::PopupContainer::menuStyle):
48617         (WebCore::popupData):
48618         (WebCore::PopupContainer::getSelectedItemToolTip):
48619         * platform/chromium/PopupContainer.h: Added.
48620         (WebCore::PopupContainer::listBox):
48621         (WebCore::PopupContainer::popupType):
48622         * platform/chromium/PopupListBox.cpp: Added.
48623         (WebCore::PopupListBox::PopupListBox):
48624         (WebCore::PopupListBox::handleMouseDownEvent):
48625         (WebCore::PopupListBox::handleMouseMoveEvent):
48626         (WebCore::PopupListBox::handleMouseReleaseEvent):
48627         (WebCore::PopupListBox::handleWheelEvent):
48628         (WebCore::PopupListBox::isInterestedInEventForKey):
48629         (WebCore::PopupListBox::handleTouchEvent):
48630         (WebCore::PopupListBox::handleGestureEvent):
48631         (WebCore::isCharacterTypeEvent):
48632         (WebCore::PopupListBox::handleKeyEvent):
48633         (WebCore::PopupListBox::hostWindow):
48634         (WebCore::stripLeadingWhiteSpace):
48635         (WebCore::PopupListBox::typeAheadFind):
48636         (WebCore::PopupListBox::paint):
48637         (WebCore::PopupListBox::paintRow):
48638         (WebCore::PopupListBox::getRowFont):
48639         (WebCore::PopupListBox::abandon):
48640         (WebCore::PopupListBox::pointToRowIndex):
48641         (WebCore::PopupListBox::acceptIndex):
48642         (WebCore::PopupListBox::selectIndex):
48643         (WebCore::PopupListBox::setOriginalIndex):
48644         (WebCore::PopupListBox::getRowHeight):
48645         (WebCore::PopupListBox::getRowBounds):
48646         (WebCore::PopupListBox::invalidateRow):
48647         (WebCore::PopupListBox::scrollToRevealRow):
48648         (WebCore::PopupListBox::isSelectableItem):
48649         (WebCore::PopupListBox::clearSelection):
48650         (WebCore::PopupListBox::selectNextRow):
48651         (WebCore::PopupListBox::selectPreviousRow):
48652         (WebCore::PopupListBox::adjustSelectedIndex):
48653         (WebCore::PopupListBox::hidePopup):
48654         (WebCore::PopupListBox::updateFromElement):
48655         (WebCore::PopupListBox::setMaxWidthAndLayout):
48656         (WebCore::PopupListBox::layout):
48657         (WebCore::PopupListBox::clear):
48658         (WebCore::PopupListBox::isPointInBounds):
48659         * platform/chromium/PopupListBox.h: Added.
48660         (WebCore::PopupItem::PopupItem):
48661         (WebCore::PopupListBox::create):
48662         (WebCore::PopupListBox::selectedIndex):
48663         (WebCore::PopupListBox::numItems):
48664         (WebCore::PopupListBox::setBaseWidth):
48665         (WebCore::PopupListBox::setMaxHeight):
48666         (WebCore::PopupListBox::setMaxWidth):
48667         (WebCore::PopupListBox::disconnectClient):
48668         (WebCore::PopupListBox::items):
48669         (WebCore::PopupListBox::~PopupListBox):
48670         (WebCore::PopupListBox::scrollToRevealSelection):
48671         * platform/chromium/PopupMenuChromium.cpp:
48672         * platform/chromium/PopupMenuChromium.h:
48673
48674 2011-08-12  Mark Rowe  <mrowe@apple.com>
48675
48676         Be more forward-looking in the choice of compiler.
48677
48678         Rubber-stamped by Jon Honeycutt.
48679
48680         * Configurations/CompilerVersion.xcconfig:
48681
48682 2011-08-12  Nat Duca  <nduca@chromium.org>
48683
48684         [chromium] Fix comile warning on CCLayerTreeHost
48685
48686         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
48687         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
48688
48689 2011-08-12  Ryosuke Niwa  <rniwa@webkit.org>
48690
48691         Apple-style-span class seems unnecessary
48692         https://bugs.webkit.org/show_bug.cgi?id=12248
48693
48694         Reviewed by Justin Garcia.
48695
48696         Stop generating span or font elements with class="Apple-style-span" given WebKit's editing component
48697         no longer depends on Apple-style-span since r92823 removed the dependency of copy and paste code on
48698         style spans. WebKit continues to recognize Apple style spans to remove them.
48699
48700         Also renamed isSpanWithoutAttributesOrUnstyleStyleSpan to isSpanWithoutAttributesOrUnstyle*d*StyleSpan.
48701
48702         * editing/ApplyStyleCommand.cpp:
48703         (WebCore::isLegacyAppleStyleSpan): Renamed from isStyleSpan.
48704         (WebCore::isSpanWithoutAttributesOrUnstyledStyleSpan): Renamed from isSpanWithoutAttributesOr*Unstyle*StyleSpan.
48705         (WebCore::createFontElement): No longer adds class="Apple-style-span".
48706         (WebCore::createStyleSpanElement): Ditto.
48707         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Calls isSpanWithoutAttributesOrUnstyleStyleSpan
48708         instead of isUnstyledStyleSpan since there won't be any Apple style spans.
48709         (WebCore::dummySpanAncestorForNode):
48710         (WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans): Ditto.
48711         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Ditto.
48712         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
48713         (WebCore::ApplyStyleCommand::removeCSSStyle):
48714         * editing/ApplyStyleCommand.h:
48715         * editing/EditingStyle.cpp:
48716         (WebCore::EditingStyle::removeStyleFromRulesAndContext): Ditto.
48717         * editing/ReplaceSelectionCommand.cpp:
48718         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): Calls isLegacyAppleStyleSpan instead
48719         of isStyleSpan.
48720         (WebCore::handleStyleSpansBeforeInsertion): Ditto.
48721         (WebCore::ReplaceSelectionCommand::handleStyleSpans): Ditto.
48722         (WebCore::ReplaceSelectionCommand::doApply): Ditto.
48723         * editing/markup.cpp:
48724         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag): No longer adds class="Apple-style-span".
48725
48726 2011-08-12  Nat Duca  <nduca@chromium.org>
48727
48728         [chromium] Fix compositor breakage due to duplicate context creation AND by context-lost
48729         https://bugs.webkit.org/show_bug.cgi?id=66168
48730
48731         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
48732         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
48733         (WebCore::CCLayerTreeHost::initialize):
48734
48735 2011-08-12  Levi Weintraub  <leviw@chromium.org>
48736
48737         Switch RenderMenuList, RenderListBox, and RenderFieldSet to new layout units
48738         https://bugs.webkit.org/show_bug.cgi?id=66149
48739
48740         Reviewed by Eric Seidel.
48741
48742         Changing RenderMenuList, RenderListBox, and RenderFieldSet to the LayoutUnit
48743         abstraction from ints.
48744
48745         No tests as no change in functionality.
48746
48747         * rendering/RenderFieldset.cpp:
48748         (WebCore::RenderFieldset::layoutSpecialExcludedChild):
48749         * rendering/RenderListBox.cpp:
48750         (WebCore::RenderListBox::numVisibleItems):
48751         (WebCore::RenderListBox::listHeight):
48752         (WebCore::RenderListBox::baselinePosition):
48753         (WebCore::RenderListBox::itemBoundingBoxRect):
48754         (WebCore::itemOffsetForAlignment):
48755         (WebCore::RenderListBox::panScroll):
48756         (WebCore::RenderListBox::scrollToward):
48757         (WebCore::RenderListBox::autoscroll):
48758         (WebCore::RenderListBox::scrollSize):
48759         (WebCore::RenderListBox::scrollPosition):
48760         (WebCore::RenderListBox::setScrollOffset):
48761         (WebCore::RenderListBox::itemHeight):
48762         (WebCore::RenderListBox::verticalScrollbarWidth):
48763         (WebCore::RenderListBox::scrollWidth):
48764         (WebCore::RenderListBox::scrollHeight):
48765         (WebCore::RenderListBox::scrollLeft):
48766         (WebCore::RenderListBox::setScrollLeft):
48767         (WebCore::RenderListBox::scrollTop):
48768         (WebCore::RenderListBox::setScrollTop):
48769         (WebCore::RenderListBox::controlClipRect):
48770         (WebCore::RenderListBox::invalidateScrollbarRect):
48771         (WebCore::RenderListBox::convertFromScrollbarToContainingView):
48772         (WebCore::RenderListBox::convertFromContainingViewToScrollbar):
48773         (WebCore::RenderListBox::contentsSize):
48774         (WebCore::RenderListBox::currentMousePosition):
48775         * rendering/RenderListBox.h:
48776         (WebCore::RenderListBox::scrollCornerRect):
48777         (WebCore::RenderListBox::invalidateScrollCornerRect):
48778         * rendering/RenderMenuList.cpp:
48779         (WebCore::RenderMenuList::controlClipRect):
48780         (WebCore::RenderMenuList::showPopup):
48781         * rendering/RenderMenuList.h:
48782
48783 2011-08-12  David Hyatt  <hyatt@apple.com>
48784
48785         https://bugs.webkit.org/show_bug.cgi?id=66133
48786         
48787         Make hit testing work on RenderRegions. Pass off the hit testing to the RenderFlowThread
48788         layer tree (just as we did with painting).
48789
48790         Reviewed by Sam Weinig.
48791
48792         Added hit-test-float.html to demonstrate basic hit testing of content flowed into regions.
48793
48794         * rendering/HitTestRequest.h:
48795         (WebCore::HitTestRequest::type):
48796         * rendering/RenderFlowThread.cpp:
48797         (WebCore::RenderFlowThread::hitTestRegion):
48798         * rendering/RenderFlowThread.h:
48799         * rendering/RenderRegion.cpp:
48800         (WebCore::RenderRegion::paintReplaced):
48801         (WebCore::RenderRegion::nodeAtPoint):
48802         * rendering/RenderRegion.h:
48803
48804 2011-08-12  Levi Weintraub  <leviw@chromium.org>
48805
48806         Switch RenderTable* to new layout types
48807         https://bugs.webkit.org/show_bug.cgi?id=66146
48808
48809         Reviewed by Eric Seidel.
48810
48811         Converting RenderTable* classes to new LayoutUnits from ints.
48812
48813         No new tests as no new functionality.
48814
48815         * rendering/RenderTable.cpp:
48816         (WebCore::RenderTable::firstLineBoxBaseline):
48817         (WebCore::RenderTable::overflowClipRect):
48818         * rendering/RenderTable.h:
48819         (WebCore::RenderTable::columnPositions):
48820         * rendering/RenderTableCol.cpp:
48821         (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
48822         * rendering/RenderTableRow.cpp:
48823         (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
48824         * rendering/RenderTableSection.cpp:
48825         (WebCore::RenderTableSection::setCellLogicalWidths):
48826         (WebCore::RenderTableSection::calcRowLogicalHeight):
48827         (WebCore::RenderTableSection::layoutRows):
48828         (WebCore::RenderTableSection::calcOuterBorderBefore):
48829         (WebCore::RenderTableSection::calcOuterBorderAfter):
48830         (WebCore::RenderTableSection::calcOuterBorderStart):
48831         (WebCore::RenderTableSection::calcOuterBorderEnd):
48832         (WebCore::RenderTableSection::firstLineBoxBaseline):
48833         (WebCore::RenderTableSection::paintObject):
48834         (WebCore::RenderTableSection::nodeAtPoint):
48835         * rendering/RenderTableSection.h:
48836         (WebCore::RenderTableSection::outerBorderBefore):
48837         (WebCore::RenderTableSection::outerBorderAfter):
48838         (WebCore::RenderTableSection::outerBorderStart):
48839         (WebCore::RenderTableSection::outerBorderEnd):
48840         (WebCore::RenderTableSection::getBaseline):
48841
48842 2011-08-12  Adam Bergkvist  <adam.bergkvist@ericsson.com>
48843
48844         Reviewed by Alexey Proskuryakov.
48845
48846         EventSource loader should not buffer data
48847         https://bugs.webkit.org/show_bug.cgi?id=61863
48848
48849         Disabled buffering in the EventSource loader.
48850
48851         Added a manual test.
48852
48853         * manual-tests/eventsource/eventsource-loader-buffering.html: Added.
48854         * manual-tests/eventsource/eventsource-loader-buffering.php: Added.
48855         * page/EventSource.cpp:
48856         (WebCore::EventSource::connect):
48857
48858 2011-08-11  Pratik Solanki  <psolanki@apple.com>
48859
48860         ResourceLoader::didReceiveDataArray() does not handle m_shouldBufferData correctly
48861         https://bugs.webkit.org/show_bug.cgi?id=65926
48862
48863         Reviewed by Alexey Proskuryakov.
48864
48865         * loader/mac/ResourceLoaderMac.mm:
48866         (WebCore::ResourceLoader::didReceiveDataArray): Make sure we call the client callbacks when
48867         m_shouldBufferData is set to false.
48868
48869 2011-08-12  Sheriff Bot  <webkit.review.bot@gmail.com>
48870
48871         Unreviewed, rolling out r92976.
48872         http://trac.webkit.org/changeset/92976
48873         https://bugs.webkit.org/show_bug.cgi?id=66159
48874
48875         Does not compile on chromium-win (Requested by abarth|gardener
48876         on #webkit).
48877
48878         * WebCore.gypi:
48879         * platform/chromium/PopupContainer.cpp: Removed.
48880         * platform/chromium/PopupContainer.h: Removed.
48881         * platform/chromium/PopupListBox.cpp: Removed.
48882         * platform/chromium/PopupListBox.h: Removed.
48883         * platform/chromium/PopupMenuChromium.cpp:
48884         (WebCore::PopupListBox::create):
48885         (WebCore::PopupListBox::selectedIndex):
48886         (WebCore::PopupListBox::numItems):
48887         (WebCore::PopupListBox::setBaseWidth):
48888         (WebCore::PopupListBox::setMaxHeight):
48889         (WebCore::PopupListBox::setMaxWidth):
48890         (WebCore::PopupListBox::disconnectClient):
48891         (WebCore::PopupListBox::items):
48892         (WebCore::PopupListBox::PopupListBox):
48893         (WebCore::PopupListBox::~PopupListBox):
48894         (WebCore::PopupListBox::scrollToRevealSelection):
48895         (WebCore::constructRelativeMouseEvent):
48896         (WebCore::constructRelativeWheelEvent):
48897         (WebCore::PopupContainer::create):
48898         (WebCore::PopupContainer::PopupContainer):
48899         (WebCore::PopupContainer::~PopupContainer):
48900         (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
48901         (WebCore::PopupContainer::showPopup):
48902         (WebCore::PopupContainer::hidePopup):
48903         (WebCore::PopupContainer::notifyPopupHidden):
48904         (WebCore::PopupContainer::layoutAndGetRTLOffset):
48905         (WebCore::PopupContainer::handleMouseDownEvent):
48906         (WebCore::PopupContainer::handleMouseMoveEvent):
48907         (WebCore::PopupContainer::handleMouseReleaseEvent):
48908         (WebCore::PopupContainer::handleWheelEvent):
48909         (WebCore::PopupContainer::handleTouchEvent):
48910         (WebCore::PopupContainer::handleGestureEvent):
48911         (WebCore::PopupContainer::handleKeyEvent):
48912         (WebCore::PopupContainer::hide):
48913         (WebCore::PopupContainer::paint):
48914         (WebCore::PopupContainer::paintBorder):
48915         (WebCore::PopupContainer::isInterestedInEventForKey):
48916         (WebCore::PopupContainer::chromeClientChromium):
48917         (WebCore::PopupContainer::showInRect):
48918         (WebCore::PopupContainer::refresh):
48919         (WebCore::PopupContainer::isRTL):
48920         (WebCore::PopupContainer::selectedIndex):
48921         (WebCore::PopupContainer::menuItemHeight):
48922         (WebCore::PopupContainer::menuItemFontSize):
48923         (WebCore::PopupContainer::menuStyle):
48924         (WebCore::popupData):
48925         (WebCore::PopupContainer::getSelectedItemToolTip):
48926         (WebCore::PopupListBox::handleMouseDownEvent):
48927         (WebCore::PopupListBox::handleMouseMoveEvent):
48928         (WebCore::PopupListBox::handleMouseReleaseEvent):
48929         (WebCore::PopupListBox::handleWheelEvent):
48930         (WebCore::PopupListBox::isInterestedInEventForKey):
48931         (WebCore::PopupListBox::handleTouchEvent):
48932         (WebCore::PopupListBox::handleGestureEvent):
48933         (WebCore::isCharacterTypeEvent):
48934         (WebCore::PopupListBox::handleKeyEvent):
48935         (WebCore::PopupListBox::hostWindow):
48936         (WebCore::stripLeadingWhiteSpace):
48937         (WebCore::PopupListBox::typeAheadFind):
48938         (WebCore::PopupListBox::paint):
48939         (WebCore::PopupListBox::paintRow):
48940         (WebCore::PopupListBox::getRowFont):
48941         (WebCore::PopupListBox::abandon):
48942         (WebCore::PopupListBox::pointToRowIndex):
48943         (WebCore::PopupListBox::acceptIndex):
48944         (WebCore::PopupListBox::selectIndex):
48945         (WebCore::PopupListBox::setOriginalIndex):
48946         (WebCore::PopupListBox::getRowHeight):
48947         (WebCore::PopupListBox::getRowBounds):
48948         (WebCore::PopupListBox::invalidateRow):
48949         (WebCore::PopupListBox::scrollToRevealRow):
48950         (WebCore::PopupListBox::isSelectableItem):
48951         (WebCore::PopupListBox::clearSelection):
48952         (WebCore::PopupListBox::selectNextRow):
48953         (WebCore::PopupListBox::selectPreviousRow):
48954         (WebCore::PopupListBox::adjustSelectedIndex):
48955         (WebCore::PopupListBox::hidePopup):
48956         (WebCore::PopupListBox::updateFromElement):
48957         (WebCore::PopupListBox::setMaxWidthAndLayout):
48958         (WebCore::PopupListBox::layout):
48959         (WebCore::PopupListBox::clear):
48960         (WebCore::PopupListBox::isPointInBounds):
48961         * platform/chromium/PopupMenuChromium.h:
48962         (WebCore::PopupItem::PopupItem):
48963         (WebCore::PopupContainer::listBox):
48964         (WebCore::PopupContainer::popupType):
48965
48966 2011-08-12  Andy Estes  <aestes@apple.com>
48967
48968         Cancel in onbeforeunload dialog sometime causes a button to stop working.
48969         https://bugs.webkit.org/show_bug.cgi?id=26211
48970
48971         Reviewed by Alexey Proskuryakov.
48972
48973         Test: fast/loader/form-submission-after-beforeunload-cancel.html
48974
48975         If an onbeforeunload handler cancels a navigation that was triggered by
48976         a form submission, WebCore's multiple form submission protection
48977         prevents the form from being submitted a second time even though no
48978         first submission actually took place. Fix this by clearing
48979         m_submittedFormURL if the onbeforeunload handler cancels the load. This
48980         allows the submission to be retried.
48981
48982         * loader/FrameLoader.cpp:
48983         (WebCore::FrameLoader::shouldClose): Set m_submittedFormURL to KURL()
48984         if shouldClose() will return false.
48985
48986 2011-08-12  David Hyatt  <hyatt@apple.com>
48987
48988         https://bugs.webkit.org/show_bug.cgi?id=66130
48989         
48990         RenderRegions need to paint the entire RenderFlowThread layer tree. Instead of just calling
48991         paintBlock, make sure RenderRegions paint the flow thread's layer tree instead with the appropriate
48992         offset.
48993         
48994         Fix RenderRegions to derive from RenderReplaced instead of RenderBox, since it simplifies the code.
48995         They no longer have to subclass their own layout method or worry about all of the painting logic
48996         for anything other than the content area.
48997
48998         Reviewed by Anders Carlsson.
48999
49000         Existing tests have a layer tree example, and so those results are updated to show the tree now.
49001
49002         * rendering/RenderFlowThread.cpp:
49003         (WebCore::RenderFlowThread::createFlowThreadStyle):
49004         (WebCore::RenderFlowThread::paintIntoRegion):
49005         * rendering/RenderLayer.cpp:
49006         (WebCore::RenderLayer::collectLayers):
49007         * rendering/RenderRegion.cpp:
49008         (WebCore::RenderRegion::RenderRegion):
49009         (WebCore::RenderRegion::paintReplaced):
49010         (WebCore::RenderRegion::styleDidChange):
49011         * rendering/RenderRegion.h:
49012
49013 2011-08-12  Chris Rogers  <crogers@google.com>
49014
49015         Fix mac build when web audio is enabled
49016         https://bugs.webkit.org/show_bug.cgi?id=66150
49017
49018         Unreviewed build fix.
49019
49020         * platform/audio/mac/AudioFileReaderMac.cpp:
49021         (WebCore::AudioFileReader::createBus):
49022
49023 2011-08-12  Jeff Miller  <jeffm@apple.com>
49024
49025         Need to handle kCACFContextNeedsFlushNotification notifications that arrive after the AVFWrapper has been disposed
49026         https://bugs.webkit.org/show_bug.cgi?id=65724
49027
49028         Instead of using a pointer to the AVFWrapper object as the context for various callbacks, assign each object an
49029         ID and use that instead. Keep track of the mapping between object IDs and AVFWrapper objects in a HashMap, and manage
49030         access to this map using a Mutex since it can be accessed from multiple threads. This allows us to actually delete
49031         AVFWrapper objects instead of leaking them (which we were doing before to prevent crashes).
49032
49033         Reviewed by Eric Carlson.
49034
49035         No new tests, uses existing media tests.
49036
49037         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp:
49038         (WebCore::AVFWrapper::callbackContext): Added.
49039         (WebCore::AVFWrapper::AVFWrapper): Initialize m_objectID and add it to the HashMap.
49040         (WebCore::AVFWrapper::~AVFWrapper): Log object ID and remove obsolete assert.
49041         (WebCore::AVFWrapper::mapLock): Added.
49042         (WebCore::AVFWrapper::map): Added.
49043         (WebCore::AVFWrapper::addToMap): Added.
49044         (WebCore::AVFWrapper::removeFromMap): Added.
49045         (WebCore::AVFWrapper::avfWrapperForCallbackContext): Added.
49046         (WebCore::AVFWrapper::scheduleDisconnectAndDelete): Remove AVFWrapper from HashMap instead of zeroing m_owner.
49047         (WebCore::AVFWrapper::disconnectAndDeleteAVFWrapper): Use callbackContext(), delete the AVFWrapper here.
49048         (WebCore::AVFWrapper::createPlayer): Use callbackContext().
49049         (WebCore::AVFWrapper::createPlayerItem): Use callbackContext().
49050         (WebCore::AVFWrapper::periodicTimeObserverCallback): Retrieve AVFWrapper using the HashMap.
49051         (WebCore::AVFWrapper::notificationCallback): Retrieve AVFWrapper using the HashMap.
49052         (WebCore::AVFWrapper::loadPlayableCompletionCallback): Retrieve AVFWrapper using the HashMap.
49053         (WebCore::AVFWrapper::checkPlayability): Use callbackContext().
49054         (WebCore::AVFWrapper::loadMetadataCompletionCallback): Retrieve AVFWrapper using the HashMap.
49055         (WebCore::AVFWrapper::beginLoadingMetadata): Use callbackContext().
49056         (WebCore::AVFWrapper::seekCompletedCallback): Retrieve AVFWrapper using the HashMap.
49057         (WebCore::AVFWrapper::seekToTime): Use callbackContext().
49058         (WebCore::AVFWrapper::platformLayer): Remove overly noisy LOG().
49059
49060 2011-08-12  Fady Samuel  <fsamuel@chromium.org>
49061
49062         Refactoring of PopupMenuChromium
49063         https://bugs.webkit.org/show_bug.cgi?id=66009
49064
49065         Reviewed by Darin Fisher.
49066
49067         Split PopupMenuChromium into three sets of files: PopupMenuChromium.{h|cpp}, PopupContainer.{h|cpp}, and PopupLisBox.{h|cpp}
49068         for readability and maintainability.
49069
49070         No new tests as no functionality has changed.
49071
49072         * WebCore.gypi:
49073         * platform/chromium/PopupContainer.cpp: Added.
49074         (WebCore::constructRelativeMouseEvent):
49075         (WebCore::constructRelativeWheelEvent):
49076         (WebCore::PopupContainer::create):
49077         (WebCore::PopupContainer::PopupContainer):
49078         (WebCore::PopupContainer::~PopupContainer):
49079         (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
49080         (WebCore::PopupContainer::showPopup):
49081         (WebCore::PopupContainer::hidePopup):
49082         (WebCore::PopupContainer::notifyPopupHidden):
49083         (WebCore::PopupContainer::layoutAndGetRTLOffset):
49084         (WebCore::PopupContainer::handleMouseDownEvent):
49085         (WebCore::PopupContainer::handleMouseMoveEvent):
49086         (WebCore::PopupContainer::handleMouseReleaseEvent):
49087         (WebCore::PopupContainer::handleWheelEvent):
49088         (WebCore::PopupContainer::handleTouchEvent):
49089         (WebCore::PopupContainer::handleGestureEvent):
49090         (WebCore::PopupContainer::handleKeyEvent):
49091         (WebCore::PopupContainer::hide):
49092         (WebCore::PopupContainer::paint):
49093         (WebCore::PopupContainer::paintBorder):
49094         (WebCore::PopupContainer::isInterestedInEventForKey):
49095         (WebCore::PopupContainer::chromeClientChromium):
49096         (WebCore::PopupContainer::showInRect):
49097         (WebCore::PopupContainer::refresh):
49098         (WebCore::PopupContainer::isRTL):
49099         (WebCore::PopupContainer::selectedIndex):
49100         (WebCore::PopupContainer::menuItemHeight):
49101         (WebCore::PopupContainer::menuItemFontSize):
49102         (WebCore::PopupContainer::menuStyle):
49103         (WebCore::popupData):
49104         (WebCore::PopupContainer::getSelectedItemToolTip):
49105         * platform/chromium/PopupContainer.h: Added.
49106         (WebCore::PopupContainer::listBox):
49107         (WebCore::PopupContainer::popupType):
49108         * platform/chromium/PopupListBox.cpp: Added.
49109         (WebCore::PopupListBox::PopupListBox):
49110         (WebCore::PopupListBox::handleMouseDownEvent):
49111         (WebCore::PopupListBox::handleMouseMoveEvent):
49112         (WebCore::PopupListBox::handleMouseReleaseEvent):
49113         (WebCore::PopupListBox::handleWheelEvent):
49114         (WebCore::PopupListBox::isInterestedInEventForKey):
49115         (WebCore::PopupListBox::handleTouchEvent):
49116         (WebCore::PopupListBox::handleGestureEvent):
49117         (WebCore::isCharacterTypeEvent):
49118         (WebCore::PopupListBox::handleKeyEvent):
49119         (WebCore::PopupListBox::hostWindow):
49120         (WebCore::stripLeadingWhiteSpace):
49121         (WebCore::PopupListBox::typeAheadFind):
49122         (WebCore::PopupListBox::paint):
49123         (WebCore::PopupListBox::paintRow):
49124         (WebCore::PopupListBox::getRowFont):
49125         (WebCore::PopupListBox::abandon):
49126         (WebCore::PopupListBox::pointToRowIndex):
49127         (WebCore::PopupListBox::acceptIndex):
49128         (WebCore::PopupListBox::selectIndex):
49129         (WebCore::PopupListBox::setOriginalIndex):
49130         (WebCore::PopupListBox::getRowHeight):
49131         (WebCore::PopupListBox::getRowBounds):
49132         (WebCore::PopupListBox::invalidateRow):
49133         (WebCore::PopupListBox::scrollToRevealRow):
49134         (WebCore::PopupListBox::isSelectableItem):
49135         (WebCore::PopupListBox::clearSelection):
49136         (WebCore::PopupListBox::selectNextRow):
49137         (WebCore::PopupListBox::selectPreviousRow):
49138         (WebCore::PopupListBox::adjustSelectedIndex):
49139         (WebCore::PopupListBox::hidePopup):
49140         (WebCore::PopupListBox::updateFromElement):
49141         (WebCore::PopupListBox::setMaxWidthAndLayout):
49142         (WebCore::PopupListBox::layout):
49143         (WebCore::PopupListBox::clear):
49144         (WebCore::PopupListBox::isPointInBounds):
49145         * platform/chromium/PopupListBox.h: Added.
49146         (WebCore::PopupItem::PopupItem):
49147         (WebCore::PopupListBox::create):
49148         (WebCore::PopupListBox::selectedIndex):
49149         (WebCore::PopupListBox::numItems):
49150         (WebCore::PopupListBox::setBaseWidth):
49151         (WebCore::PopupListBox::setMaxHeight):
49152         (WebCore::PopupListBox::setMaxWidth):
49153         (WebCore::PopupListBox::disconnectClient):
49154         (WebCore::PopupListBox::items):
49155         (WebCore::PopupListBox::~PopupListBox):
49156         (WebCore::PopupListBox::scrollToRevealSelection):
49157         * platform/chromium/PopupMenuChromium.cpp:
49158         * platform/chromium/PopupMenuChromium.h:
49159
49160 2011-08-12  Sam Weinig  <sam@webkit.org>
49161
49162         Move compiler specific macros to their own header
49163         https://bugs.webkit.org/show_bug.cgi?id=66119
49164
49165         Reviewed by Anders Carlsson.
49166
49167         * ForwardingHeaders/wtf/Compiler.h: Added.
49168
49169 2011-08-12  No'am Rosenthal  <noam.rosenthal@nokia.com>
49170
49171         [Qt][REGRESSION] composited content doesn't render since r92651
49172         https://bugs.webkit.org/show_bug.cgi?id=66108
49173
49174         Reviewed by Benjamin Poulain.
49175
49176         Changed the signature for GraphicsLayerTextureMapper::syncCompositingState to match
49177         the new signature in GraphicsLayer.h.
49178
49179         No new tests. This is a regression that's covered by existing pixel tests.
49180
49181         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
49182         (WebCore::GraphicsLayerTextureMapper::syncCompositingState):
49183         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
49184
49185 2011-08-12  Alexandru Chiculita  <achicu@adobe.com>
49186
49187         Original patch by Mihnea Ovidenie <mihnea@adobe.com>.
49188         Also contains some improvements done by Dave Hyatt <hyatt@apple.com>.
49189
49190         [CSSRegions]RenderFlowThread should display its content using RenderRegion
49191         https://bugs.webkit.org/show_bug.cgi?id=65627
49192
49193         RenderFlowThread collects RenderObjects from a flow. These objects are displayed by means
49194         of RenderRegion objects that get the content from the same flow.
49195
49196         Reviewed by David Hyatt.
49197
49198         Tests: fast/regions/content-flowed-into-regions-dynamically-added.html
49199                fast/regions/content-flowed-into-regions-dynamically-removed.html
49200                fast/regions/content-flowed-into-regions-with-dyn-index.html
49201                fast/regions/content-flowed-into-regions-with-index-dom.html
49202                fast/regions/content-flowed-into-regions-with-index.html
49203                fast/regions/content-flowed-into-regions.html
49204                fast/regions/flow-content-basic-vertical-rl.html
49205                fast/regions/flow-content-basic-vertical.html
49206
49207         * dom/Node.cpp:
49208         (WebCore::Node::diff):
49209         * rendering/RenderFlowThread.cpp:
49210         (WebCore::RenderFlowThread::RenderFlowThread):
49211         (WebCore::RenderFlowThread::createFlowThreadStyle):
49212         (WebCore::RenderFlowThread::styleDidChange):
49213         (WebCore::compareRenderRegions):
49214         (WebCore::RenderFlowThread::addRegionToThread):
49215         (WebCore::RenderFlowThread::removeRegionFromThread):
49216         (WebCore::RenderFlowThread::layout):
49217         (WebCore::RenderFlowThread::computeLogicalWidth):
49218         (WebCore::RenderFlowThread::computeLogicalHeight):
49219         (WebCore::RenderFlowThread::paintIntoRegion):
49220         * rendering/RenderFlowThread.h:
49221         * rendering/RenderObject.cpp:
49222         (WebCore::RenderObject::createObject):
49223         * rendering/RenderRegion.cpp:
49224         (WebCore::RenderRegion::RenderRegion):
49225         (WebCore::RenderRegion::~RenderRegion):
49226         (WebCore::RenderRegion::paint):
49227         (WebCore::RenderRegion::styleDidChange):
49228         * rendering/RenderRegion.h:
49229         (WebCore::RenderRegion::setRegionRect):
49230         (WebCore::RenderRegion::regionRect):
49231         * rendering/RenderTreeAsText.cpp:
49232         (WebCore::writeLayers):
49233         * rendering/RenderView.cpp:
49234         (WebCore::RenderView::styleDidChange):
49235         (WebCore::RenderView::renderFlowThreadWithName):
49236         * rendering/RenderView.h:
49237
49238 2011-08-12  Abhishek Arya  <inferno@chromium.org>
49239
49240         Crash in WebCore::editingIgnoresContent
49241         https://bugs.webkit.org/show_bug.cgi?id=66125
49242
49243         Reviewed by Ryosuke Niwa.
49244
49245         RefPtr a few nodes in case they get blown away in
49246         dispatchEvent calls.
49247
49248         Test: editing/selection/select-start-remove-root-crash.html
49249
49250         * editing/FrameSelection.cpp:
49251         (WebCore::FrameSelection::selectAll):
49252         * editing/ReplaceSelectionCommand.cpp:
49253         (WebCore::ReplacementFragment::ReplacementFragment):
49254
49255 2011-08-11  Pavel Podivilov  <podivilov@chromium.org>
49256
49257         Web Inspector: properly update console message count in source frames and resources panel.
49258         https://bugs.webkit.org/show_bug.cgi?id=57009
49259
49260         Reviewed by Yury Semikhatsky.
49261
49262         * inspector/front-end/ConsoleView.js:
49263         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageRepeatCountUpdated):
49264         * inspector/front-end/SourceFrame.js:
49265         (WebInspector.SourceFrame.prototype.show):
49266         (WebInspector.SourceFrame.prototype.addMessageToSource):
49267         (WebInspector.SourceFrame.prototype._updateMessageRepeatCount):
49268
49269 2011-08-12  Pavel Feldman  <pfeldman@google.com>
49270
49271         Not reviewed: follow up to inspector test breakage.
49272
49273         * inspector/front-end/ScriptsPanel.js:
49274         (WebInspector.ScriptsPanel.prototype._showScriptFoldersSettingChanged):
49275
49276 2011-08-12  Yury Semikhatsky  <yurys@chromium.org>
49277
49278         Web Inspector: expand exception properties when wrapping it as object.
49279         https://bugs.webkit.org/show_bug.cgi?id=66035
49280
49281         Use toString() value as a description for value thrown during eval.
49282
49283         Reviewed by Pavel Feldman.
49284
49285         * inspector/InjectedScriptSource.js:
49286         (.):
49287
49288 2011-08-12  Pavel Feldman  <pfeldman@google.com>
49289
49290         Web Inspector: make folders optional in the Scripts' panel file selector.
49291         https://bugs.webkit.org/show_bug.cgi?id=66100
49292
49293         Reviewed by Yury Semikhatsky.
49294
49295         * English.lproj/localizedStrings.js:
49296         * inspector/front-end/ScriptsPanel.js:
49297         (WebInspector.ScriptsPanel.prototype._showScriptFoldersSettingChanged):
49298         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered.optionCompare):
49299         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered):
49300         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
49301         (WebInspector.ScriptsPanel.prototype.reset):
49302         (WebInspector.ScriptsPanel.prototype._resetFilesSelect):
49303         * inspector/front-end/Settings.js:
49304         (WebInspector.Settings):
49305         * inspector/front-end/SettingsScreen.js:
49306         (WebInspector.SettingsScreen):
49307
49308 2011-08-12  Pavel Podivilov  <podivilov@chromium.org>
49309
49310         Web Inspector: add space between error info and error message in source frame message bubble.
49311         https://bugs.webkit.org/show_bug.cgi?id=65069
49312
49313         Reviewed by Pavel Feldman.
49314
49315         * inspector/front-end/ConsoleView.js:
49316         (WebInspector.ConsoleMessage.prototype._formatMessage):
49317
49318 2011-08-12  Pavel Feldman  <pfeldman@google.com>
49319
49320         Web Inspector: console loses focus upon reloading the page from the inspector.
49321         https://bugs.webkit.org/show_bug.cgi?id=66068
49322
49323         Reviewed by Yury Semikhatsky.
49324
49325         * inspector/front-end/AuditsPanel.js:
49326         (WebInspector.AuditsPanel.prototype._auditFinishedCallback):
49327         (WebInspector.AuditsPanel.prototype._clearButtonClicked):
49328         * inspector/front-end/DataGrid.js:
49329         (WebInspector.DataGrid.prototype.revealAndSelect):
49330         (WebInspector.DataGridNode.prototype.revealAndSelect):
49331         * inspector/front-end/DetailedHeapshotView.js:
49332         (WebInspector.DetailedHeapshotView.prototype._jumpToSearchResult):
49333         * inspector/front-end/ElementsPanel.js:
49334         (WebInspector.ElementsPanel.this.treeOutline.selectedNodeChanged):
49335         (WebInspector.ElementsPanel.get this):
49336         (WebInspector.ElementsPanel):
49337         (WebInspector.ElementsPanel.prototype._reset):
49338         (WebInspector.ElementsPanel.prototype._setDocument.selectNode):
49339         (WebInspector.ElementsPanel.prototype._setDocument.selectLastSelectedNode):
49340         (WebInspector.ElementsPanel.prototype._setDocument):
49341         (WebInspector.ElementsPanel.prototype._domWordWrapSettingChanged):
49342         (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
49343         (WebInspector.ElementsPanel.prototype.switchToAndFocus):
49344         (WebInspector.ElementsPanel.prototype.selectedDOMNode):
49345         (WebInspector.ElementsPanel.prototype.selectDOMNode):
49346         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
49347         (WebInspector.ElementsPanel.prototype.updateBreadcrumb.selectCrumbFunction):
49348         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
49349         (WebInspector.ElementsPanel.prototype.updateStyles):
49350         (WebInspector.ElementsPanel.prototype.updateMetrics):
49351         (WebInspector.ElementsPanel.prototype.updateProperties):
49352         (WebInspector.ElementsPanel.prototype.updateEventListeners):
49353         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
49354         (WebInspector.ElementsPanel.prototype.updateFocusedNode):
49355         * inspector/front-end/ElementsTreeOutline.js:
49356         (WebInspector.ElementsTreeOutline):
49357         (WebInspector.ElementsTreeOutline.prototype.selectedDOMNode):
49358         (WebInspector.ElementsTreeOutline.prototype.selectDOMNode):
49359         (WebInspector.ElementsTreeOutline.prototype.update):
49360         (WebInspector.ElementsTreeOutline.prototype._revealAndSelectNode):
49361         (WebInspector.ElementsTreeOutline.prototype._ondrop.callback):
49362         (WebInspector.ElementsTreeOutline.prototype._ondrop):
49363         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
49364         (WebInspector.ElementsTreeElement.prototype._updateChildren):
49365         (WebInspector.ElementsTreeElement.prototype.onselect):
49366         (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
49367         (WebInspector.ElementsTreeElement.prototype._startEditingTarget):
49368         (WebInspector.ElementsTreeElement.prototype._startEditing):
49369         * inspector/front-end/Panel.js:
49370         (WebInspector.Panel.prototype.reset):
49371         * inspector/front-end/ProfileView.js:
49372         (WebInspector.CPUProfileView.prototype._jumpToSearchResult):
49373         * inspector/front-end/ProfilesPanel.js:
49374         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
49375         (WebInspector.ProfilesPanel.prototype.showProfile):
49376         (WebInspector.ProfileSidebarTreeElement.prototype.onselect):
49377         * inspector/front-end/ResourcesPanel.js:
49378         (WebInspector.ResourcesPanel.prototype._initDefaultSelection.get if):
49379         (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
49380         (WebInspector.ResourcesPanel.prototype.reset):
49381         (WebInspector.ResourcesPanel.prototype.showResource):
49382         * inspector/front-end/StylesSidebarPane.js:
49383         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
49384         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
49385         * inspector/front-end/TimelinePanel.js:
49386         (WebInspector.TimelinePanel.prototype._createTopPane):
49387         * inspector/front-end/inspector.js:
49388         * inspector/front-end/inspectorCommon.css:
49389         (body):
49390         * inspector/front-end/treeoutline.js:
49391         (TreeOutline.prototype.revealAndSelect):
49392         (TreeElement.prototype.selectOnMouseDown):
49393         (TreeElement.prototype.revealAndSelect):
49394         (TreeElement.prototype.select):
49395
49396 2011-08-12  Yury Semikhatsky  <yurys@chromium.org>
49397
49398         Unreviewed. Inspector clean-up: remove unused method declaration from InspectorAgent.h
49399
49400         * inspector/InspectorAgent.h:
49401
49402 2011-08-12  Vsevolod Vlasov  <vsevik@chromium.org>
49403
49404         Web Inspector: Network resource identifier should have RequestId type and requestId name in protocol.
49405         https://bugs.webkit.org/show_bug.cgi?id=66061
49406
49407         Reviewed by Pavel Feldman.
49408
49409         * inspector/ConsoleMessage.cpp:
49410         (WebCore::ConsoleMessage::ConsoleMessage):
49411         (WebCore::ConsoleMessage::addToFrontend):
49412         * inspector/ConsoleMessage.h:
49413         * inspector/IdentifiersFactory.cpp:
49414         (WebCore::IdentifiersFactory::requestId):
49415         * inspector/IdentifiersFactory.h:
49416         * inspector/Inspector.json:
49417         * inspector/InspectorConsoleAgent.cpp:
49418         (WebCore::InspectorConsoleAgent::didReceiveResponse):
49419         (WebCore::InspectorConsoleAgent::didFailLoading):
49420         * inspector/InspectorResourceAgent.cpp:
49421         (WebCore::InspectorResourceAgent::willSendRequest):
49422         (WebCore::InspectorResourceAgent::markResourceAsCached):
49423         (WebCore::InspectorResourceAgent::didReceiveResponse):
49424         (WebCore::InspectorResourceAgent::didReceiveData):
49425         (WebCore::InspectorResourceAgent::didFinishLoading):
49426         (WebCore::InspectorResourceAgent::didFailLoading):
49427         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
49428         (WebCore::InspectorResourceAgent::setInitialScriptContent):
49429         (WebCore::InspectorResourceAgent::didReceiveScriptResponse):
49430         (WebCore::InspectorResourceAgent::setInitialXHRContent):
49431         (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
49432         (WebCore::InspectorResourceAgent::didCreateWebSocket):
49433         (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
49434         (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
49435         (WebCore::InspectorResourceAgent::didCloseWebSocket):
49436         (WebCore::InspectorResourceAgent::getResourceContent):
49437         * inspector/InspectorResourceAgent.h:
49438         * inspector/InspectorTimelineAgent.cpp:
49439         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
49440         (WebCore::InspectorTimelineAgent::willReceiveResourceData):
49441         (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
49442         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
49443         * inspector/NetworkResourcesData.cpp:
49444         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
49445         (WebCore::NetworkResourcesData::resourceCreated):
49446         (WebCore::NetworkResourcesData::responseReceived):
49447         (WebCore::NetworkResourcesData::setResourceType):
49448         (WebCore::NetworkResourcesData::resourceType):
49449         (WebCore::NetworkResourcesData::setResourceContent):
49450         (WebCore::NetworkResourcesData::maybeAddResourceData):
49451         (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
49452         (WebCore::NetworkResourcesData::addCachedResource):
49453         (WebCore::NetworkResourcesData::addResourceSharedBuffer):
49454         (WebCore::NetworkResourcesData::data):
49455         (WebCore::NetworkResourcesData::clear):
49456         (WebCore::NetworkResourcesData::ensureNoDataForRequestId):
49457         (WebCore::NetworkResourcesData::ensureFreeSpace):
49458         * inspector/NetworkResourcesData.h:
49459         (WebCore::NetworkResourcesData::ResourceData::requestId):
49460         * inspector/TimelineRecordFactory.cpp:
49461         (WebCore::TimelineRecordFactory::createResourceSendRequestData):
49462         (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
49463         (WebCore::TimelineRecordFactory::createResourceFinishData):
49464         (WebCore::TimelineRecordFactory::createReceiveResourceData):
49465         * inspector/TimelineRecordFactory.h:
49466         * inspector/front-end/ConsoleView.js:
49467         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
49468         * inspector/front-end/ExtensionAPI.js:
49469         (WebInspector.injectedExtensionAPI.Resources.prototype.getHAR):
49470         * inspector/front-end/ExtensionServer.js:
49471         (WebInspector.ExtensionServer):
49472         (WebInspector.ExtensionServer.prototype._notifyResourceFinished):
49473         (WebInspector.ExtensionServer.prototype._onGetHAR):
49474         (WebInspector.ExtensionServer.prototype._requestId):
49475         * inspector/front-end/NetworkManager.js:
49476         (WebInspector.NetworkManager.prototype.requestContent):
49477         (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
49478         (WebInspector.NetworkDispatcher.prototype.resourceMarkedAsCached):
49479         (WebInspector.NetworkDispatcher.prototype.responseReceived):
49480         (WebInspector.NetworkDispatcher.prototype.dataReceived):
49481         (WebInspector.NetworkDispatcher.prototype.loadingFinished):
49482         (WebInspector.NetworkDispatcher.prototype.loadingFailed):
49483         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
49484         (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
49485         (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest):
49486         (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived):
49487         (WebInspector.NetworkDispatcher.prototype.webSocketClosed):
49488         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
49489         (WebInspector.NetworkDispatcher.prototype._startResource):
49490         (WebInspector.NetworkDispatcher.prototype._finishResource):
49491         (WebInspector.NetworkDispatcher.prototype._createResource):
49492         * inspector/front-end/NetworkPanel.js:
49493         (WebInspector.NetworkLogView.prototype._appendResource):
49494         (WebInspector.NetworkLogView.prototype._matchResource):
49495         (WebInspector.NetworkLogView.prototype._updateSearchMatchedListAfterRequestIdChanged):
49496         (WebInspector.NetworkLogView.prototype.performSearch):
49497         * inspector/front-end/Resource.js:
49498         (WebInspector.Resource):
49499         * inspector/front-end/TimelinePanel.js:
49500         (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
49501         (WebInspector.TimelinePanel.prototype._findParentRecord):
49502         (WebInspector.TimelinePanel.FormattedRecord):
49503
49504 2011-08-11  Hans Wennborg  <hans@chromium.org>
49505
49506         IndexedDB: Object store records don't need to have keys in all indexes
49507         https://bugs.webkit.org/show_bug.cgi?id=66049
49508
49509         Reviewed by Tony Chang.
49510
49511         Allow inserting records in an object store even though they don't
49512         yield keys in some index. The spec has changed in this regard.
49513
49514         * storage/IDBObjectStoreBackendImpl.cpp:
49515         (WebCore::IDBObjectStoreBackendImpl::putInternal):
49516
49517 2011-08-10  Hans Wennborg  <hans@chromium.org>
49518
49519         IndexedDB: Overwriting key in unique index should be possible
49520         https://bugs.webkit.org/show_bug.cgi?id=65993
49521
49522         Reviewed by Tony Chang.
49523
49524         It should be possible to overwrite an object store record even if
49525         there is a derived key for that record in an index with the unique flag set.
49526
49527         * storage/IDBBackingStore.h:
49528         * storage/IDBIndexBackendImpl.cpp:
49529         (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
49530         * storage/IDBIndexBackendImpl.h:
49531         * storage/IDBLevelDBBackingStore.cpp:
49532         (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
49533         * storage/IDBLevelDBBackingStore.h:
49534         * storage/IDBObjectStoreBackendImpl.cpp:
49535         (WebCore::IDBObjectStoreBackendImpl::putInternal):
49536         * storage/IDBSQLiteBackingStore.cpp:
49537         (WebCore::IDBSQLiteBackingStore::keyExistsInIndex):
49538         * storage/IDBSQLiteBackingStore.h:
49539
49540 2011-08-11  Yuta Kitamura  <yutak@chromium.org>
49541
49542         WebSocket: Implement "protocol" attribute
49543         https://bugs.webkit.org/show_bug.cgi?id=65248
49544
49545         Reviewed by Kent Tamura.
49546
49547         Tests: http/tests/websocket/tests/hybi/no-subprotocol.html (added)
49548                http/tests/websocket/tests/hybi/set-protocol.html (added)
49549                http/tests/websocket/tests/hybi/workers/no-subprotocol.html (added)
49550                http/tests/websocket/tests/hixie76/undefined-attributes.html (updated)
49551                http/tests/websocket/tests/hybi/multiple-subprotocols.html (updated)
49552                http/tests/websocket/tests/hybi/workers/multiple-subprotocols.html (updated)
49553
49554         * websockets/ThreadableWebSocketChannel.h:
49555         Added subprotocol() function. This function is named differently from the counterpart of
49556         WebSocket class, because the name "protocol" can be confused with the WebSocket protocol.
49557         Added m_useHixie76Protocol and m_subprotocol, because these value may be used after
49558         m_channel has been released. Using bool should be fine, because boolean literals do not
49559         appear in ambiguous context.
49560         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
49561         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
49562         (WebCore::ThreadableWebSocketChannelClientWrapper::subprotocol):
49563         (WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol):
49564         * websockets/ThreadableWebSocketChannelClientWrapper.h:
49565         * websockets/WebSocket.cpp:
49566         (WebCore::WebSocket::WebSocket):
49567         (WebCore::WebSocket::connect):
49568         (WebCore::WebSocket::protocol):
49569         The "protocol" attribute is available only when the hybi-10 protocol is chosen.
49570         (WebCore::WebSocket::binaryType):
49571         (WebCore::WebSocket::setBinaryType):
49572         (WebCore::WebSocket::didConnect):
49573         * websockets/WebSocket.h:
49574         * websockets/WebSocket.idl:
49575         * websockets/WebSocketChannel.cpp:
49576         (WebCore::WebSocketChannel::subprotocol):
49577         * websockets/WebSocketChannel.h:
49578         * websockets/WorkerThreadableWebSocketChannel.cpp:
49579         (WebCore::WorkerThreadableWebSocketChannel::subprotocol):
49580         (WebCore::workerContextDidConnect):
49581         Subprotocol value is saved in the client wrapper object after the WebSocket connection is
49582         established.
49583         (WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
49584         * websockets/WorkerThreadableWebSocketChannel.h:
49585
49586 2011-08-11  Hayato Ito  <hayato@chromium.org>
49587
49588         Implement proper handling of events with a related target in regard to shadow DOM boundaries.
49589         https://bugs.webkit.org/show_bug.cgi?id=65899
49590
49591         Reviewed by Dimitri Glazkov.
49592
49593         Fixes issues in the following corner cases:
49594         1. When both a target node and a relatedTarget node are immediate children of
49595         the same shadow root, an event is not dispatched.
49596         2. If a target node is an ancestor of a relatedTarget node, crossing
49597         shadow boundaries, or vice verse, an event is not dispatched or wrongly
49598         dispatched.
49599
49600         Test: fast/dom/shadow/shadow-boundary-events.html
49601
49602         * dom/EventDispatcher.cpp:
49603         (WebCore::EventDispatcher::adjustToShadowBoundaries):
49604
49605 2011-08-11  John Bauman  <jbauman@chromium.org>
49606
49607         Readback composited webgl results for printing
49608         https://bugs.webkit.org/show_bug.cgi?id=65658
49609
49610         Reviewed by James Robinson.
49611
49612         The real composited results may be locked inside the compositor
49613         context's version of a texture because the drawing buffer was
49614         automatically cleared, so read from there to get the actual presented
49615         version to draw.
49616
49617         * html/canvas/WebGLRenderingContext.cpp:
49618         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
49619         * platform/graphics/GraphicsContext3D.h:
49620         * platform/graphics/chromium/Extensions3DChromium.h:
49621         * platform/graphics/chromium/WebGLLayerChromium.cpp:
49622         (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
49623         * platform/graphics/chromium/WebGLLayerChromium.h:
49624         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
49625         (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas):
49626
49627 2011-08-11  Andrew Wason  <rectalogic@rectalogic.com>
49628
49629         REGRESSION: Qt JavaScript bridge signal connection fails
49630         https://bugs.webkit.org/show_bug.cgi?id=66097
49631
49632         Reviewed by Gavin Barraclough.
49633
49634         Tests in WebKit/qt/tests/qwebframe
49635
49636         Call toThisObject() on exec->lexicalGlobalObject() so the correct
49637         object is passed to the JS signal handler.
49638
49639         * bridge/qt/qt_runtime.cpp:
49640         (JSC::Bindings::QtRuntimeConnectionMethod::call):
49641
49642 2011-08-11  Nico Weber  <thakis@chromium.org>
49643
49644         Remove incorrect comment about m_wheelEventHandlerCount
49645         https://bugs.webkit.org/show_bug.cgi?id=66117
49646
49647         Reviewed by Simon Fraser.
49648
49649         From what I can tell, this number is changed only in
49650         Frame::notifyChromeClientWheelEventHandlerCountChanged(),
49651         and there it just reads the number modified in
49652         Document::didAdd/RemoveWheelEventHandler(). So this is just the number
49653         of event handlers (and not related to horizontal scrollbars), and the
49654         variable name expresses that already.
49655
49656         * dom/Document.h:
49657
49658 2011-08-11  James Robinson  <jamesr@chromium.org>
49659
49660         [chromium] Defer managed texture creation and destruction until updateCompositorResources
49661         https://bugs.webkit.org/show_bug.cgi?id=64772
49662
49663         Reviewed by Kenneth Russell.
49664
49665         This adds support for deferring GraphicsContext3D calls for texture creation and destruction for managed
49666         textures and defers these calls until updateCompositorResources() for contents textures.  The primary benefit of
49667         this change is that it decouples managing the texture budget for the next frame (which has to happen before
49668         painting layer contents) from the actual GL calls that create/destroy textures.  That way, in the threaded
49669         compositing world we can continue to use textures from the previous frame while software painting contents for
49670         the next frame into software buffers or SkPictures.
49671
49672         Also renames LayerTexture to ManagedTexture to better reflect what it is.  Not all ManagedTextures we create are
49673         necessarily associated with layers, but they are all managed by a TextureManager.
49674
49675         Covered by compositing/ layout tests.
49676
49677         * WebCore.gypi:
49678         * platform/graphics/chromium/ContentLayerChromium.h:
49679         * platform/graphics/chromium/ImageLayerChromium.cpp:
49680         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
49681         * platform/graphics/chromium/LayerRendererChromium.cpp:
49682         (WebCore::LayerRendererChromium::releaseTextures):
49683         (WebCore::LayerRendererChromium::drawLayers):
49684         (WebCore::LayerRendererChromium::updateLayers):
49685         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
49686         (WebCore::LayerRendererChromium::useRenderSurface):
49687         (WebCore::LayerRendererChromium::initializeSharedObjects):
49688         * platform/graphics/chromium/LayerRendererChromium.h:
49689         * platform/graphics/chromium/LayerTextureUpdater.h:
49690         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
49691         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
49692         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
49693         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
49694         * platform/graphics/chromium/LayerTilerChromium.cpp:
49695         (WebCore::LayerTilerChromium::getSingleTexture):
49696         (WebCore::LayerTilerChromium::createTile):
49697         (WebCore::LayerTilerChromium::updateRect):
49698         (WebCore::LayerTilerChromium::drawTiles):
49699         * platform/graphics/chromium/LayerTilerChromium.h:
49700         (WebCore::LayerTilerChromium::Tile::Tile):
49701         (WebCore::LayerTilerChromium::Tile::texture):
49702         * platform/graphics/chromium/ManagedTexture.cpp: Renamed from Source/WebCore/platform/graphics/chromium/LayerTexture.cpp.
49703         (WebCore::ManagedTexture::ManagedTexture):
49704         (WebCore::ManagedTexture::~ManagedTexture):
49705         (WebCore::ManagedTexture::isValid):
49706         (WebCore::ManagedTexture::reserve):
49707         (WebCore::ManagedTexture::unreserve):
49708         (WebCore::ManagedTexture::bindTexture):
49709         (WebCore::ManagedTexture::framebufferTexture2D):
49710         * platform/graphics/chromium/ManagedTexture.h: Renamed from Source/WebCore/platform/graphics/chromium/LayerTexture.h.
49711         (WebCore::ManagedTexture::create):
49712         (WebCore::ManagedTexture::format):
49713         (WebCore::ManagedTexture::isReserved):
49714         * platform/graphics/chromium/RenderSurfaceChromium.h:
49715         * platform/graphics/chromium/TextureManager.cpp:
49716         (WebCore::TextureManager::TextureManager):
49717         (WebCore::TextureManager::deleteEvictedTextures):
49718         (WebCore::TextureManager::removeTexture):
49719         (WebCore::TextureManager::allocateTexture):
49720         (WebCore::TextureManager::requestTexture):
49721         * platform/graphics/chromium/TextureManager.h:
49722         (WebCore::TextureManager::create):
49723         (WebCore::TextureManager::setAssociatedContextDebugOnly):
49724         (WebCore::TextureManager::associatedContextDebugOnly):
49725         * platform/graphics/chromium/TiledLayerChromium.h:
49726         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
49727         (WebCore::CCHeadsUpDisplay::draw):
49728         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
49729         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
49730         (WebCore::CCRenderSurface::prepareContentsTexture):
49731         (WebCore::CCRenderSurface::drawSurface):
49732         * platform/graphics/chromium/cc/CCRenderSurface.h:
49733         (WebCore::CCRenderSurface::contentsTexture):
49734         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
49735         (WebCore::CCTiledLayerImpl::bindContentsTexture):
49736
49737 2011-08-11  David Kilzer  <ddkilzer@apple.com>
49738
49739         <http://webkit.org/b/66113> [CFNetwork] willCacheResponse() leaks CFCachedURLResponseRef if delegate changes CacheStoragePolicy
49740
49741         Reviewed by Joseph Pecoraro.
49742
49743         This first appeared in ToT WebKit r23462 (Windows merge).
49744
49745         * platform/network/cf/ResourceHandleCFNet.cpp:
49746         (WebCore::willCacheResponse): Only retain cachedResponse if we
49747         are returning the same object passed into the method, otherwise
49748         we end up double-retaining the new object created.
49749
49750 2011-08-05  Nat Duca  <nduca@chromium.org>
49751
49752         [chromium] Make WebViewImpl point at CCLayerTreeHost and related separation
49753         https://bugs.webkit.org/show_bug.cgi?id=65791
49754
49755         With this patch, LayerRendererChromium becomes increasingly responsible
49756         for rendering, while render scheduling and tree hosting moves into the
49757         CCLayerTreeHost.
49758
49759         Reviewed by James Robinson.
49760
49761         * platform/graphics/chromium/ContentLayerChromium.cpp:
49762         (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
49763         * platform/graphics/chromium/LayerChromium.h:
49764         * platform/graphics/chromium/LayerRendererChromium.cpp:
49765         (WebCore::LayerRendererChromium::create):
49766         (WebCore::LayerRendererChromium::LayerRendererChromium):
49767         (WebCore::LayerRendererChromium::initialize):
49768         (WebCore::LayerRendererChromium::releaseTextures):
49769         (WebCore::LayerRendererChromium::updateRootLayerContents):
49770         (WebCore::LayerRendererChromium::drawRootLayer):
49771         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
49772         (WebCore::LayerRendererChromium::rootLayerChanged):
49773         (WebCore::LayerRendererChromium::viewportChanged):
49774         (WebCore::LayerRendererChromium::updateLayers):
49775         (WebCore::LayerRendererChromium::drawLayers):
49776         (WebCore::LayerRendererChromium::drawLayersInternal):
49777         (WebCore::LayerRendererChromium::getFramebufferPixels):
49778         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
49779         (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
49780         (WebCore::LayerRendererChromium::useRenderSurface):
49781         (WebCore::LayerRendererChromium::setScissorToRect):
49782         (WebCore::LayerRendererChromium::layerTreeAsText):
49783         (WebCore::LayerRendererChromium::dumpRenderSurfaces):
49784         * platform/graphics/chromium/LayerRendererChromium.h:
49785         (WebCore::LayerRendererChromium::settings):
49786         (WebCore::LayerRendererChromium::owner):
49787         (WebCore::LayerRendererChromium::rootLayer):
49788         (WebCore::LayerRendererChromium::skiaContext):
49789         * platform/graphics/chromium/WebGLLayerChromium.cpp:
49790         (WebCore::WebGLLayerChromium::setTextureUpdated):
49791         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
49792         (WebCore::CCHeadsUpDisplay::draw):
49793         (WebCore::CCHeadsUpDisplay::enabled):
49794         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
49795         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
49796         (WebCore::CCLayerTreeHost::create):
49797         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
49798         (WebCore::CCLayerTreeHost::initialize):
49799         (WebCore::CCLayerTreeHost::animateAndLayout):
49800         (WebCore::CCLayerTreeHost::createLayerTreeHostCommitter):
49801         (WebCore::CCLayerTreeHost::createLayerTreeHostImpl):
49802         (WebCore::CCLayerTreeHost::context):
49803         (WebCore::CCLayerTreeHost::compositeAndReadback):
49804         (WebCore::CCLayerTreeHost::createRootLayerPainter):
49805         (WebCore::CCLayerTreeHost::finishAllRendering):
49806         (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
49807         (WebCore::CCLayerTreeHost::setNeedsCommitAndRedraw):
49808         (WebCore::CCLayerTreeHost::setNeedsRedraw):
49809         (WebCore::CCLayerTreeHost::setRootLayer):
49810         (WebCore::CCLayerTreeHost::setViewport):
49811         (WebCore::CCLayerTreeHost::setVisible):
49812         (WebCore::CCLayerTreeHost::doComposite):
49813         (WebCore::CCLayerTreeHost::composite):
49814         (WebCore::CCLayerTreeHost::reallocateRenderer):
49815         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
49816         (WebCore::CCLayerTreeHost::animating):
49817         (WebCore::CCLayerTreeHost::setAnimating):
49818         (WebCore::CCLayerTreeHost::rootLayer):
49819         (WebCore::CCLayerTreeHost::settings):
49820         (WebCore::CCLayerTreeHost::viewportContentRect):
49821         (WebCore::CCLayerTreeHost::viewportScrollPosition):
49822         (WebCore::CCLayerTreeHost::viewportVisibleRect):
49823         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
49824         (WebCore::CCLayerTreeHostImpl::create):
49825         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
49826         (WebCore::CCLayerTreeHostImpl::drawLayers):
49827         (WebCore::CCLayerTreeHostImpl::drawLayersOnMainThread):
49828         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
49829         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
49830         (WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
49831
49832 2011-08-11  Jeff Miller  <jeffm@apple.com>
49833
49834         WebCore::AVFWrapper fails to remove observer for kCACFContextNeedsFlushNotification
49835         https://bugs.webkit.org/show_bug.cgi?id=66116
49836
49837         We need to pass 0 as the object parameter to CFNotificationCenterRemoveObserver() when removing
49838         kCACFContextNeedsFlushNotification to match what we do when we registered for the same
49839         notification with CFNotificationCenterAddObserver().
49840
49841         Reviewed by John Sullivan.
49842
49843         No new tests, uses existing media tests.
49844
49845         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp:
49846         (WebCore::AVFWrapper::disconnectAndDeleteAVFWrapper): Pass 0 as the object parameter to CFNotificationCenterRemoveObserver().
49847         (WebCore::AVFWrapper::notificationCallback): Remove obsolete FIXME comment.
49848
49849 2011-08-11  Ryosuke Niwa  <rniwa@webkit.org>
49850
49851         Share code between isStyleSpanOrSpanWithOnlyStyleAttribute, isUnstyledStyleSpan,
49852         isSpanWithoutAttributesOrUnstyleStyleSpan and replaceWithSpanOrRemoveIfWithoutAttributes
49853         https://bugs.webkit.org/show_bug.cgi?id=66091
49854
49855         Reviewed by Tony Chang.
49856
49857         Extracted common code as hasNoAttributeOrOnlyStyleAttribute. The only behavioral difference is that
49858         replaceWithSpanOrRemoveIfWithoutAttributes will now remove elements with class="Apple-style-span",
49859         for which I'm adding a test.
49860
49861         Test: editing/style/remove-styled-element-with-style-span.html
49862
49863         * editing/ApplyStyleCommand.cpp:
49864         (WebCore::hasNoAttributeOrOnlyStyleAttribute):
49865         (WebCore::isStyleSpanOrSpanWithOnlyStyleAttribute):
49866         (WebCore::isUnstyledStyleSpan):
49867         (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan):
49868         (WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes):
49869
49870 2011-08-11  Tom Zakrajsek  <tomz@codeaurora.org>
49871
49872         Add HTMLUnknownElement interface as defined in
49873         http://www.w3.org/TR/html5/elements.html#elements-in-the-dom.
49874         https://bugs.webkit.org/show_bug.cgi?id=41841
49875
49876         Reviewed by Adam Barth.
49877
49878         Test: fast/html/unknown-tag.html
49879
49880         * CMakeLists.txt:
49881         * CodeGenerators.pri:
49882         * DerivedSources.cpp:
49883         * DerivedSources.make:
49884         * GNUmakefile.list.am:
49885         * WebCore.gypi:
49886         * WebCore.vcproj/WebCore.vcproj:
49887         * WebCore.xcodeproj/project.pbxproj:
49888         * bindings/scripts/CodeGeneratorV8.pm:
49889         (IsDOMNodeType):
49890         * dom/make_names.pl:
49891         (defaultParametersHash):
49892         (buildConstructorMap):
49893         (printJSElementIncludes):
49894         (printElementIncludes):
49895         (printWrapperFunctions):
49896         (printWrapperFactoryCppFile):
49897         * html/HTMLTagNames.in:
49898         * html/HTMLUnknownElement.h: Added.
49899         (WebCore::HTMLUnknownElement::create):
49900         (WebCore::HTMLUnknownElement::HTMLUnknownElement):
49901         * html/HTMLUnknownElement.idl: Added.
49902         * mathml/mathtags.in:
49903         * page/DOMWindow.idl:
49904         * svg/svgtags.in:
49905
49906 2011-08-11  Levi Weintraub  <leviw@chromium.org>
49907
49908         Remove dead code: borderInnerRect
49909         https://bugs.webkit.org/show_bug.cgi?id=66087
49910
49911         Reviewed by Adam Barth.
49912
49913         Removing an old and currently unused function: RenderObject::borderInnerRect.
49914
49915         No new tests since I'm just pruning dead code.
49916
49917         * rendering/RenderObject.cpp:
49918         * rendering/RenderObject.h:
49919
49920 2011-08-11  Simon Fraser  <simon.fraser@apple.com>
49921
49922         Avoid adding the visible wash layer twice
49923         https://bugs.webkit.org/show_bug.cgi?id=66098
49924
49925         Reviewed by Chris Marrin.
49926
49927         Fix two issues; only create a m_visibleTileWashLayer if we don't have one
49928         already, and avoid adding multiple m_visibleTileWashLayers to the sublayers
49929         array when flipping between tiled and non-tiled.
49930
49931         * platform/graphics/ca/GraphicsLayerCA.cpp:
49932         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
49933
49934 2011-08-11  Benjamin Poulain  <benjamin@webkit.org>
49935
49936         The PageSerializer should always use absolute URL
49937         https://bugs.webkit.org/show_bug.cgi?id=66006
49938
49939         Reviewed by Adam Barth.
49940
49941         Page serializer resolves every URL for storing the resources.
49942         The MarkupAccumulator used there should use the same rules in order to
49943         create a valid file.
49944
49945         No new tests because the test infrastructure for this
49946         does not exist with layout tests and the Chromium unit test for
49947         the serializer are disabled.
49948
49949         * page/PageSerializer.cpp:
49950         (WebCore::SerializerMarkupAccumulator::SerializerMarkupAccumulator):
49951
49952 2011-08-01  Adrienne Walker  <enne@google.com>
49953
49954         Enable fast path scrolling for composited iframes
49955         https://bugs.webkit.org/show_bug.cgi?id=65056
49956
49957         Reviewed by James Robinson.
49958
49959         iframes with composited layers for content should be able to do fast
49960         path scrolling because they draw into their own backing. To enable
49961         this, useSlowRepaints is modified to return true only for the cases
49962         that apply to composited layers. The fast path scrolling function is
49963         modified to send the invalidation to the backing itself rather than to
49964         the window.
49965
49966         Renamed a number of "slow repaint" functions to be the more accurate
49967         "cannot blit to window" as it will not always force slow path
49968         scrolling.
49969
49970         * page/FrameView.cpp:
49971         (WebCore::FrameView::reset):
49972         (WebCore::FrameView::useSlowRepaints):
49973         (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
49974         (WebCore::FrameView::contentsInCompositedLayer):
49975         (WebCore::FrameView::setCannotBlitToWindow):
49976         (WebCore::FrameView::scrollContentsFastPath):
49977         (WebCore::FrameView::scrollContentsSlowPath):
49978         * page/FrameView.h:
49979         * rendering/RenderLayer.cpp:
49980         (WebCore::RenderLayer::cannotBlitToWindow):
49981         * rendering/RenderLayer.h:
49982         * rendering/RenderView.cpp:
49983         (WebCore::RenderView::paintBoxDecorations):
49984
49985 2011-08-10  Adrienne Walker  <enne@google.com>
49986
49987         Support creating compositing layers for scrollable frames and iframes
49988         https://bugs.webkit.org/show_bug.cgi?id=55257
49989
49990         Reviewed by James Robinson.
49991
49992         When force compositing mode is turned on, iframes with overflow will
49993         become composited (in order to enable faster scrolling).
49994
49995         This patch was originally by Daniel Sievers <sievers@chromium.org>.
49996
49997         Tests: platform/chromium/compositing/force-compositing-mode/no-overflow-iframe-layer.html
49998                platform/chromium/compositing/force-compositing-mode/overflow-hidden-iframe-layer.html
49999                platform/chromium/compositing/force-compositing-mode/overflow-iframe-enter-compositing.html
50000                platform/chromium/compositing/force-compositing-mode/overflow-iframe-layer.html
50001                platform/chromium/compositing/force-compositing-mode/overflow-iframe-leave-compositing.html
50002
50003         * rendering/RenderLayerCompositor.cpp:
50004         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
50005         (WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame):
50006         * rendering/RenderLayerCompositor.h:
50007
50008 2011-08-11  Yong Li  <yoli@rim.com>
50009
50010         https://bugs.webkit.org/show_bug.cgi?id=65944
50011         Replace QuotesData::operator==() with QuotesData::equal(const QuotesData*
50012         , const QuotesData*) because QuotesData::operator==() were using non-standard
50013         C++ code that is not supported by all compilers.
50014
50015         Reviewed by Alexey Proskuryakov.
50016
50017         No new tests because some existing test cases can show the issue,
50018         for example, fast/css/content/content-quotes-01.html.
50019
50020         * rendering/RenderQuote.cpp:
50021         (WebCore::RenderQuote::styleDidChange):
50022         * rendering/style/QuotesData.cpp:
50023         (WebCore::QuotesData::equal):
50024         * rendering/style/QuotesData.h:
50025         * rendering/style/RenderStyle.cpp:
50026         (WebCore::RenderStyle::setQuotes):
50027         * rendering/style/StyleRareInheritedData.cpp:
50028         (WebCore::StyleRareInheritedData::operator==):
50029
50030 2011-08-11  David Hyatt  <hyatt@apple.com>
50031
50032         https://bugs.webkit.org/show_bug.cgi?id=66075
50033
50034         Turn on regions and exclusions by default. Fix one stray ifdef that I missed.
50035
50036         Reviewed by James Robinson.
50037
50038         * css/CSSComputedStyleDeclaration.cpp:
50039         (WebCore::contentToCSSValue):
50040
50041 2011-08-11  David Reveman  <reveman@chromium.org>
50042
50043         [Chromium] Temporarily disable layer anti-aliasing on ChromeOS.
50044         https://bugs.webkit.org/show_bug.cgi?id=65922
50045
50046         Reviewed by James Robinson.
50047
50048         No new tests.
50049
50050         * platform/graphics/chromium/LayerTilerChromium.cpp:
50051         (WebCore::LayerTilerChromium::draw):
50052
50053 2011-08-11  Benjamin Poulain  <benjamin@webkit.org>
50054
50055         [Qt] PageSerializer is specific to MHTML, we should not compile it
50056         https://bugs.webkit.org/show_bug.cgi?id=66054
50057
50058         Reviewed by Noam Rosenthal.
50059
50060         PageSerializer is specific to MHTML. Do not build PageSerializer unless MHTML is enabled.
50061
50062         * WebCore.pro:
50063
50064 2011-08-11  Andrey Kosyakov  <caseq@chromium.org>
50065
50066         Web Inspector: [refactoring] make tabbed pane a view
50067         https://bugs.webkit.org/show_bug.cgi?id=66060
50068
50069         Reviewed by Pavel Feldman.
50070
50071         * inspector/front-end/NetworkItemView.js:
50072         (WebInspector.NetworkItemView):
50073         (WebInspector.NetworkItemView.prototype.show):
50074         (WebInspector.NetworkItemView.prototype._selectTab.get if):
50075         (WebInspector.NetworkItemView.prototype._selectTab):
50076         * inspector/front-end/TabbedPane.js:
50077         (WebInspector.TabbedPane):
50078         * inspector/front-end/inspector.html:
50079
50080 2011-08-11  Andrey Kosyakov  <caseq@chromium.org>
50081
50082         Web Inspector: source frame popover simetimes pops up after user switches from Scripts panel
50083         https://bugs.webkit.org/show_bug.cgi?id=66057
50084
50085         Reviewed by Pavel Feldman.
50086
50087         * inspector/front-end/SourceFrame.js: remove popover timer when removing popover.
50088         (WebInspector.SourceFrame.prototype._mouseDown):
50089         (WebInspector.SourceFrame.prototype._hidePopup):
50090
50091 2011-08-11  Vsevolod Vlasov  <vsevik@chromium.org>
50092
50093         Web Inspector: Scripts panel: display the current search match index in the toolbar.
50094         https://bugs.webkit.org/show_bug.cgi?id=66048
50095
50096         Reviewed by Pavel Feldman.
50097
50098         * English.lproj/localizedStrings.js:
50099         * inspector/front-end/ScriptsPanel.js:
50100         (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
50101         (WebInspector.ScriptsPanel.prototype.performSearch):
50102         (WebInspector.ScriptsPanel.prototype.jumpToNextSearchResult):
50103         (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
50104         * inspector/front-end/SearchController.js:
50105         (WebInspector.SearchController.prototype.updateSearchMatchesCount):
50106         (WebInspector.SearchController.prototype.updateCurrentMatchIndex):
50107         (WebInspector.SearchController.prototype.activePanelChanged.performPanelSearch):
50108         (WebInspector.SearchController.prototype.activePanelChanged):
50109         (WebInspector.SearchController.prototype._updateSearchMatchesCountAndCurrentMatchIndex):
50110         (WebInspector.SearchController.prototype._performSearch):
50111         * inspector/front-end/SourceFrame.js:
50112         (WebInspector.SourceFrame.prototype.get currentSearchResultIndex):
50113
50114 2011-08-11  Xan Lopez  <xlopez@igalia.com>
50115
50116         [GTK] Add another missing file to GNUmakefile
50117
50118         Reviewed by Gustavo Noronha.
50119
50120         * GNUmakefile.list.am:
50121
50122 2011-08-11  Xan Lopez  <xlopez@igalia.com>
50123
50124         [GTK] Add missing files to GNUMakefile
50125
50126         Reviewed by Gustavo Noronha.
50127
50128         * GNUmakefile.am:
50129         * GNUmakefile.list.am:
50130
50131 2011-08-11  Yuta Kitamura  <yutak@chromium.org>
50132
50133         WebSocket: Use PassRefPtr<> in function arguments in WorkerThreadableWebSocketChannel.cpp
50134         https://bugs.webkit.org/show_bug.cgi?id=66047
50135
50136         Reviewed by Kent Tamura.
50137
50138         It's safe to use PassRefPtr<> in these functions because:
50139         - CrossThreadTask knows how to pass a RefPtr<> across threads, and
50140         - Call sites do not pass the pointers to anywhere else.
50141
50142         No change in functionality, thus no new tests.
50143
50144         * websockets/WorkerThreadableWebSocketChannel.cpp:
50145         (WebCore::workerContextDidSend):
50146         (WebCore::workerContextDidGetBufferedAmount):
50147         (WebCore::workerContextDidConnect):
50148         (WebCore::workerContextDidReceiveMessage):
50149         (WebCore::workerContextDidStartClosingHandshake):
50150         (WebCore::workerContextDidClose):
50151
50152 2011-08-11  Pavel Feldman  <pfeldman@google.com>
50153
50154         Web Inspector: [Mac] search as you type does not work with the new indent in the script selector.
50155         https://bugs.webkit.org/show_bug.cgi?id=66039
50156
50157         Reviewed by Yury Semikhatsky.
50158
50159         * inspector/front-end/ScriptsPanel.js:
50160         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
50161         * inspector/front-end/inspector.css:
50162         (select.status-bar-item):
50163
50164 2011-08-11  Alexis Menard  <alexis.menard@openbossa.org>
50165
50166         Unreviewed build fix for Qt.
50167
50168         Make sure we build when Qt is namespaced.
50169
50170         * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
50171
50172 2011-08-11  Pavel Podivilov  <podivilov@chromium.org>
50173
50174         Web Inspector: use source-file-replaced instead of source-file-changed event.
50175         https://bugs.webkit.org/show_bug.cgi?id=65551
50176
50177         Reviewed by Pavel Feldman.
50178
50179         Test: inspector/debugger/source-frame-count.html
50180
50181         * inspector/front-end/DebuggerPresentationModel.js:
50182         (WebInspector.DebuggerPresentationModel.prototype._addScript):
50183         (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeReplaced):
50184         * inspector/front-end/ScriptsPanel.js:
50185         (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
50186         (WebInspector.ScriptsPanel.prototype._sourceFileReplaced):
50187         * inspector/front-end/SourceFile.js:
50188         (WebInspector.RawSourceCode):
50189         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
50190         (WebInspector.RawSourceCode.prototype.reload):
50191         * inspector/front-end/inspector.js:
50192         (WebInspector._createPanels):
50193
50194 2011-08-11  Vsevolod Vlasov  <vsevik@chromium.org>
50195
50196         Web Inspector: [REGRESSION] Resources panel search fails when search result is found in a resource used in several frames.
50197         https://bugs.webkit.org/show_bug.cgi?id=66007
50198
50199         Reviewed by Pavel Feldman.
50200
50201         * inspector/front-end/ResourcesPanel.js:
50202         (WebInspector.ResourcesPanel.prototype.performSearch.callback):
50203         (WebInspector.ResourcesPanel.prototype.performSearch):
50204         (WebInspector.FrameTreeElement.prototype.resourceByURL):
50205
50206 2011-08-11  Andras Becsi  <abecsi@webkit.org>
50207
50208         [GTK] Fix the build after r92792.
50209
50210         Rubber-stamped by Csaba Osztrogonác.
50211
50212         No new tests needed.
50213
50214         * GNUmakefile.list.am: add missing
50215            RenderFlowThread.{cpp|h}
50216            RenderRegion.{cpp|h}
50217
50218 2011-08-11  Renata Hodovan  <reni@webkit.org>
50219
50220         [Qt] Fix WebGL on Windows after r92805 
50221         https://bugs.webkit.org/show_bug.cgi?id=66042
50222
50223         WEBGL is temporarly disabled, because it broked the bots.
50224
50225         * features.pri:
50226
50227 2011-08-11  Pavel Feldman  <pfeldman@google.com>
50228
50229         Web Inspector: do not evaluate watch expressions on load.
50230         https://bugs.webkit.org/show_bug.cgi?id=66002
50231
50232         Reviewed by Yury Semikhatsky.
50233
50234         * inspector/front-end/ScriptsPanel.js:
50235         (WebInspector.ScriptsPanel.prototype.show):
50236         (WebInspector.ScriptsPanel.prototype.hide):
50237         (WebInspector.ScriptsPanel.prototype.reset):
50238         * inspector/front-end/WatchExpressionsSidebarPane.js:
50239         (WebInspector.WatchExpressionsSidebarPane):
50240         (WebInspector.WatchExpressionsSidebarPane.prototype.hide):
50241         (WebInspector.WatchExpressionsSidebarPane.prototype.reset):
50242         (WebInspector.WatchExpressionsSidebarPane.prototype.refreshExpressions):
50243         (WebInspector.WatchExpressionsSidebarPane.prototype._refreshExpressionsIfNeeded):
50244         (WebInspector.WatchExpressionsSidebarPane.prototype._refreshButtonClicked):
50245
50246 2011-08-10  Ryosuke Niwa  <rniwa@webkit.org>
50247
50248         Copying can result in span around block elements on the clipboard
50249         https://bugs.webkit.org/show_bug.cgi?id=34564
50250
50251         Reviewed by Tony Chang.
50252
50253         Completely overhauled the way WebKit preserves style in copy and paste. Instead of wrapping the entire
50254         serialized contents by a Apple style span, WebKit now adds inline style to the top level elements,
50255         wrap top level text nodes by a style span.
50256
50257         * editing/EditingStyle.cpp:
50258         (WebCore::EditingStyle::collapseTextDecorationProperties): Remove text-decoration property when the value
50259         of -webkit-text-decorations-in-effect is none.
50260         (WebCore::EditingStyle::removeStyleFromRulesAndContext): Since display: inline and float: none are now
50261         added on copy, remove these properties on paste.
50262         (WebCore::EditingStyle::removePropertiesInElementDefaultStyle): Takes Element* instead of StyledElement*.
50263         (WebCore::EditingStyle::forceInline): Added.
50264         (WebCore::getPropertiesNotIn): Remove properties only when the base style has them.
50265         * editing/EditingStyle.h:
50266         * editing/markup.cpp:
50267         (WebCore::StyledMarkupAccumulator::shouldApplyWrappingStyle): Added.
50268         (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): Takes highestNodeToBeSerialized.
50269         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Calls appendStyleNodeOpenTag and styleNodeCloseTag.
50270         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag): Extracted from wrapWithStyleNode.
50271         (WebCore::StyledMarkupAccumulator::styleNodeCloseTag): Ditto.
50272         (WebCore::StyledMarkupAccumulator::appendText): Wraps text node with a style span if needed.
50273         Set display: inline and float: none so that it won't be converted to a block on paste side.
50274         (WebCore::StyledMarkupAccumulator::appendElement): Add wrapping style if appropriate; Remove any properties
50275         that are overridden by default style and any style that may conflict with the computed style of node to
50276         avoid modifying the appearance of the serialized nodes.
50277         (WebCore::StyledMarkupAccumulator::serializeNodes): Compute wrapping style; copies of this style are
50278         modified as needed when serializing top-level elements or text nodes. We call traverseNodesForSerialization
50279         with NodeTraversalMode set to DoNotEmitString first to compute the highest node to be serialized. The second
50280         call to the function actually serialize the nodes.
50281         (WebCore::StyledMarkupAccumulator::traverseNodesForSerialization): Extracted from serializeNodes.
50282         Outputs string only if NodeTraversalMode is set to EmitString.
50283         (WebCore::createMarkup): No longer adds wrapping spans.
50284
50285 2011-08-10  Adam Barth  <abarth@webkit.org>
50286
50287         Add tests of optional arguments for Geolocation
50288         https://bugs.webkit.org/show_bug.cgi?id=65810
50289
50290         Reviewed by Sam Weinig.
50291
50292         Geolocation's treatment of not-enough-arguments almost matches the
50293         spec.  getCurrentPosition and watchPosition work properly, but, because
50294         they are custom, we should use the prettier form of the [Optional]
50295         attribute.
50296
50297         Before this series of patches, clearWatch argument was optional, but
50298         that doesn't match the spec or other browsers.  Calling this function
50299         with zero arguments is pretty non-sensical, so there shouldn't be much
50300         compat risk to tightening up our behavior here.  Matching other
50301         browsers and the spec seems like the bigger win.  If we run into compat
50302         problems, we can re-evaluate this decision.
50303
50304         Test: fast/dom/Geolocation/not-enough-arguments.html
50305
50306         * page/Geolocation.idl:
50307
50308 2011-08-10  Tim Horton  <timothy_horton@apple.com>
50309
50310         SVGAElement check for internal non-view anchors is inside ENABLE(SVG_ANIMATION)
50311         https://bugs.webkit.org/show_bug.cgi?id=66026
50312
50313         Reviewed by Rob Buis.
50314         
50315         Move only the SMIL-related code inside the ENABLE(SVG_ANIMATION) block.
50316
50317         No new tests, as it depends on the enabled features.
50318
50319         * svg/SVGAElement.cpp:
50320         (WebCore::SVGAElement::defaultEventHandler):
50321
50322 2011-08-10  Tim Horton  <timothy_horton@apple.com>
50323
50324         Crash when clicking an SVG <a> link to the local document
50325         https://bugs.webkit.org/show_bug.cgi?id=66019
50326         <rdar://problem/9933311>
50327
50328         Reviewed by Rob Buis.
50329
50330         Check if the target element of an internal link is valid before
50331         making use of it.
50332
50333         Test: svg/custom/click-internal-anchor-with-use-crash.xhtml
50334
50335         * svg/SVGAElement.cpp:
50336         (WebCore::SVGAElement::defaultEventHandler):
50337
50338 2011-08-10  No'am Rosenthal  <noam.rosenthal@nokia.com>
50339
50340         [Qt] Enable WebGL by default for QtWebKit
50341         https://bugs.webkit.org/show_bug.cgi?id=65998
50342
50343         Reviewed by Benjamin Poulain.
50344
50345         Make ENABLE_WEBGL true by default when Qt is configured with OpenGL.
50346
50347         No new tests. Build change only.
50348
50349         * features.pri:
50350
50351 2011-08-10  Abhishek Arya  <inferno@chromium.org>
50352
50353         Check that we do not need layout before trying to dirty
50354         m_originatingLine for our floats.
50355         https://bugs.webkit.org/show_bug.cgi?id=65938
50356
50357         Reviewed by Dave Hyatt.
50358
50359         Test: fast/block/float/float-originating-line-deleted-crash.html
50360
50361         * rendering/RenderBlock.cpp:
50362         (WebCore::RenderBlock::removeFloatingObject):
50363         (WebCore::RenderBlock::clearFloats):
50364
50365 2011-08-10  David Hyatt  <hyatt@apple.com>
50366
50367         Add missing regions/exclusions-related files to EFL.
50368
50369         * CMakeLists.txt:
50370
50371 2011-08-10  David Hyatt  <hyatt@apple.com>
50372
50373         Add missing regions/exclusions-related files to Chromium.
50374
50375         * WebCore.gypi:
50376
50377 2011-08-10  David Hyatt  <hyatt@apple.com>
50378
50379         Fix Qt build bustage. Add missing regions/exclusions-related files to their project.
50380
50381         * WebCore.pro:
50382
50383 2011-08-10  David Hyatt  <hyatt@apple.com>
50384
50385         https://bugs.webkit.org/show_bug.cgi?id=66004
50386
50387         Remove ifdefs for CSS Exclusions (since the feature doesn't exist any longer and has morphed into positioned
50388         floats instead). Go ahead and yank the ifdefs for CSS Regions also and just turn them on.
50389
50390         Reviewed by Adam Roben.
50391
50392         * Configurations/FeatureDefines.xcconfig:
50393         * css/CSSComputedStyleDeclaration.cpp:
50394         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
50395         * css/CSSParser.cpp:
50396         (WebCore::CSSParser::parseValue):
50397         (WebCore::CSSParser::parseContent):
50398         (WebCore::CSSParser::parseWrapShape):
50399         (WebCore::CSSParser::parseFromFlowContent):
50400         * css/CSSParser.h:
50401         * css/CSSPrimitiveValue.cpp:
50402         (WebCore::CSSPrimitiveValue::init):
50403         (WebCore::CSSPrimitiveValue::cleanup):
50404         (WebCore::CSSPrimitiveValue::getStringValue):
50405         (WebCore::CSSPrimitiveValue::cssText):
50406         * css/CSSPrimitiveValue.h:
50407         (WebCore::CSSPrimitiveValue::getShapeValue):
50408         * css/CSSPrimitiveValueMappings.h:
50409         (WebCore::CSSPrimitiveValue::operator RegionOverflow):
50410         * css/CSSPropertyNames.in:
50411         * css/CSSStyleSelector.cpp:
50412         (WebCore::CSSStyleSelector::applyProperty):
50413         * css/CSSValueKeywords.in:
50414         * css/CSSWrapShapes.cpp:
50415         * css/CSSWrapShapes.h:
50416         * css/SVGCSSValueKeywords.in:
50417         * dom/Node.cpp:
50418         (WebCore::Node::diff):
50419         * dom/NodeRenderingContext.cpp:
50420         (WebCore::NodeRenderingContext::NodeRenderingContext):
50421         (WebCore::NodeRenderingContext::setStyle):
50422         (WebCore::NodeRenderingContext::nextRenderer):
50423         (WebCore::NodeRenderingContext::previousRenderer):
50424         (WebCore::NodeRenderingContext::parentRenderer):
50425         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
50426         (WebCore::NodeRendererFactory::createRendererIfNeeded):
50427         * dom/NodeRenderingContext.h:
50428         * rendering/RenderFlowThread.cpp:
50429         * rendering/RenderFlowThread.h:
50430         * rendering/RenderLayer.cpp:
50431         (WebCore::RenderLayer::collectLayers):
50432         * rendering/RenderObject.cpp:
50433         (WebCore::RenderObject::createObject):
50434         * rendering/RenderObject.h:
50435         (WebCore::RenderObject::isRenderRegion):
50436         (WebCore::RenderObject::isRenderFlowThread):
50437         * rendering/RenderRegion.cpp:
50438         * rendering/RenderRegion.h:
50439         * rendering/RenderTreeAsText.cpp:
50440         (WebCore::writeLayers):
50441         * rendering/RenderView.cpp:
50442         (WebCore::RenderView::renderFlowThreadWithName):
50443         * rendering/RenderView.h:
50444         * rendering/style/RenderStyle.cpp:
50445         (WebCore::RenderStyle::diff):
50446         * rendering/style/RenderStyle.h:
50447         (WebCore::InheritedFlags::regionOverflow):
50448         (WebCore::InheritedFlags::setRegionOverflow):
50449         (WebCore::InheritedFlags::initialWrapShape):
50450         (WebCore::InheritedFlags::initialRegionOverflow):
50451         * rendering/style/RenderStyleConstants.h:
50452         * rendering/style/StyleRareNonInheritedData.cpp:
50453         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
50454         (WebCore::StyleRareNonInheritedData::operator==):
50455         * rendering/style/StyleRareNonInheritedData.h:
50456
50457 2011-08-10  Abhishek Arya  <inferno@chromium.org>
50458
50459         Don't create html renderer for SVG <glyphRef>
50460         https://bugs.webkit.org/show_bug.cgi?id=66000
50461
50462         Reviewed by David Hyatt.
50463
50464         Test: svg/text/glyphref-renderer-create-crash.html
50465
50466         * svg/SVGGlyphRefElement.h:
50467
50468 2011-08-10  Scott Graham  <scottmg@google.com>
50469
50470         OpenTypeSanitizer in chromium gyp files is linked twice
50471         https://bugs.webkit.org/show_bug.cgi?id=65927
50472
50473         Reviewed by Adam Barth.
50474
50475         No new tests, should just build and link properly on all platforms.
50476
50477         * WebCore.gyp/WebCore.gyp:
50478
50479 2011-08-10  Oliver Hunt  <oliver@apple.com>
50480
50481         Make GC checks more aggressive in release builds
50482         https://bugs.webkit.org/show_bug.cgi?id=66001
50483
50484         Reviewed by Gavin Barraclough.
50485
50486         Fix GC bugs found while testing increased validation logic
50487
50488         * bindings/js/JSDOMWindowShell.cpp:
50489         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
50490         * bindings/js/JSDOMWindowShell.h:
50491         * bindings/js/ScriptController.cpp:
50492         (WebCore::ScriptController::createWindowShell):
50493         * bridge/objc/ObjCRuntimeObject.h:
50494         (JSC::Bindings::ObjCRuntimeObject::create):
50495         * bridge/objc/ObjCRuntimeObject.mm:
50496         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
50497         * bridge/objc/objc_instance.mm:
50498
50499 2011-08-10  Ben Wells  <benwells@chromium.org>
50500
50501         [skia] Move calls to makeGrContextCurrent into clipPathAntiAliased from callers
50502         https://bugs.webkit.org/show_bug.cgi?id=65733
50503         
50504         This protects against callers of clipPathAntiAliased forgetting to call makeGrContextCurrent.
50505
50506         Reviewed by James Robinson.
50507
50508         No change in functionality, no new tests.
50509
50510         * platform/graphics/skia/GraphicsContextSkia.cpp:
50511         (WebCore::GraphicsContext::addInnerRoundedRectClip):
50512         (WebCore::GraphicsContext::clip):
50513         * platform/graphics/skia/PlatformContextSkia.cpp:
50514         (WebCore::PlatformContextSkia::clipPathAntiAliased):
50515
50516 2011-08-10  Benjamin Poulain  <ikipou@gmail.com>
50517
50518         MarkupAccumulator: make resolution of URLs implicit to appendQuotedURLAttributeValue()
50519         https://bugs.webkit.org/show_bug.cgi?id=65990
50520
50521         Reviewed by Ryosuke Niwa.
50522
50523         Instead of resolving the URLs in the call site of appendQuotedURLAttributeValue(),
50524         the URL is now resolved if necessary in appendQuotedURLAttributeValue().
50525
50526         * editing/MarkupAccumulator.cpp:
50527         (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
50528         (WebCore::MarkupAccumulator::appendAttribute):
50529         * editing/MarkupAccumulator.h:
50530
50531 2011-08-10  Kenichi Ishibashi  <bashi@chromium.org>
50532
50533         [Chromium] Implement text shaping with font-feature-settings on Linux
50534         https://bugs.webkit.org/show_bug.cgi?id=65903
50535
50536         - Modifies Font::codePath() to return Complex when there is font feature settings CSS property.
50537         - Implements OpenType advanced typography feature using Harfbuzz on Chromium Linux port.
50538
50539         Reviewed by Adam Barth.
50540
50541         Test: css3/font-feature-settings-rendering.html
50542
50543         * platform/graphics/Font.cpp:
50544         (WebCore::Font::codePath): Returns Complex when fontFeatureSettings exists.
50545         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
50546         (WebCore::setupFontFeatures): Added.
50547         (WebCore::ComplexTextController::setupFontForScriptRun): Calls setupFontFeatures().
50548
50549 2011-08-10  Tony Gentilcore  <tonyg@chromium.org>
50550
50551         [chromium] Notify MemoryCache of decoded data access
50552         https://bugs.webkit.org/show_bug.cgi?id=65859
50553
50554         Reviewed by James Robinson.
50555
50556         This causes us to call CachedImage::didDraw() which calls CachedResource::didAccessDecodedData()
50557         which updates the LRU for decoded image data and potentially prunes the cache. This is already done
50558         by almost all of the other ports.
50559
50560         The decoded bitmaps obviously use quite a bit of memory, so pruning them when necessary is important.
50561         In my tests, this saves several MB on many popular web pages.
50562
50563         No new tests because no observable difference in functionality.
50564
50565         * platform/graphics/skia/ImageSkia.cpp:
50566         (WebCore::BitmapImage::draw):
50567         (WebCore::BitmapImageSingleFrameSkia::draw):
50568
50569 2011-08-10  Vsevolod Vlasov  <vsevik@chromium.org>
50570
50571         Web Inspector: Remove Network.initialContentSet from protocol, store workers content on backend.
50572         https://bugs.webkit.org/show_bug.cgi?id=65929
50573
50574         Reviewed by Pavel Feldman.
50575
50576         Tests: http/tests/inspector/network/network-shared-worker.html
50577                http/tests/inspector/network/network-worker.html
50578
50579         * inspector/Inspector.json:
50580         * inspector/InspectorInstrumentation.cpp:
50581         (WebCore::InspectorInstrumentation::didReceiveScriptResponseImpl):
50582         * inspector/InspectorInstrumentation.h:
50583         (WebCore::InspectorInstrumentation::didReceiveScriptResponse):
50584         * inspector/InspectorResourceAgent.cpp:
50585         (WebCore::InspectorResourceAgent::didReceiveResponse):
50586         (WebCore::InspectorResourceAgent::setInitialScriptContent):
50587         (WebCore::InspectorResourceAgent::didReceiveScriptResponse):
50588         * inspector/InspectorResourceAgent.h:
50589         * inspector/front-end/NetworkManager.js:
50590         * inspector/front-end/Resource.js:
50591         * workers/DefaultSharedWorkerRepository.cpp:
50592         (WebCore::SharedWorkerScriptLoader::didReceiveResponse):
50593         * workers/Worker.cpp:
50594         (WebCore::Worker::didReceiveResponse):
50595         * workers/Worker.h:
50596         * workers/WorkerScriptLoader.cpp:
50597         (WebCore::WorkerScriptLoader::didReceiveResponse):
50598         * workers/WorkerScriptLoaderClient.h:
50599         (WebCore::WorkerScriptLoaderClient::didReceiveResponse):
50600
50601 2011-08-10  Vsevolod Vlasov  <vsevik@chromium.org>
50602
50603         Web Inspector: [Network] Filtering by stylesheet does not update the # reqs, filesizes.
50604         https://bugs.webkit.org/show_bug.cgi?id=65515
50605
50606         Reviewed by Pavel Feldman.
50607
50608         * English.lproj/localizedStrings.js:
50609         * inspector/front-end/NetworkPanel.js:
50610         (WebInspector.NetworkLogView.prototype._updateSummaryBar):
50611         (WebInspector.NetworkLogView.prototype._updateFilter):
50612
50613 2011-08-10  Vsevolod Vlasov  <vsevik@chromium.org>
50614
50615         Web Inspector: console messages markers are lost in Resources panel after page reload
50616         https://bugs.webkit.org/show_bug.cgi?id=60701
50617
50618         Reviewed by Pavel Feldman.
50619
50620         Test: http/tests/inspector/resource-tree/resource-tree-errors-reload.html
50621
50622         * inspector/front-end/ResourceTreeModel.js:
50623         (WebInspector.ResourceTreeModel):
50624         (WebInspector.ResourceTreeModel.prototype._consoleMessageAdded):
50625         (WebInspector.ResourceTreeModel.prototype._addPendingConsoleMessage):
50626         (WebInspector.ResourceTreeModel.prototype._addPendingConsoleMessagesToResource):
50627         (WebInspector.ResourceTreeModel.prototype._addConsoleMessageToResource):
50628         (WebInspector.ResourceTreeModel.prototype._consoleCleared):
50629         (WebInspector.ResourceTreeModel.prototype._bindResourceURL):
50630
50631 2011-08-10  Lars Knudsen  <lars.knudsen@nokia.com>
50632
50633         Add device specific settings to support viewport computing
50634         https://bugs.webkit.org/show_bug.cgi?id=65984
50635
50636         Reviewed by Kenneth Rohde Christiansen.
50637
50638         Based on patch by Zalan Bujtas.
50639
50640         Added settings for device size, dpi and layout fallback width
50641         to support viewport computing.
50642
50643         * page/Settings.cpp:
50644         (WebCore::Settings::Settings):
50645         * page/Settings.h:
50646         (WebCore::Settings::setLayoutFallbackWidth):
50647         (WebCore::Settings::layoutFallbackWidth):
50648         (WebCore::Settings::setDeviceWidth):
50649         (WebCore::Settings::deviceWidth):
50650         (WebCore::Settings::setDeviceHeight):
50651         (WebCore::Settings::deviceHeight):
50652         (WebCore::Settings::setDeviceDPI):
50653         (WebCore::Settings::deviceDPI):
50654
50655 2011-08-10  Benjamin Poulain  <benjamin@webkit.org>
50656
50657         Unify the way we generate HTML for an image in the Clipboard
50658         https://bugs.webkit.org/show_bug.cgi?id=58043
50659
50660         Reviewed by Ryosuke Niwa.
50661
50662         Unify the way we generate the markup when dragging and image.
50663
50664         Previously, the code was using the special function imageToMarkup() that was
50665         spread from the Chromium port.
50666         That function ignores some edge cases so this patch replace it by the
50667         more generic MarkupAccumulator (which is also used by the other pasteboard
50668         actions).
50669
50670         The MarkupAccumulator was modified because following r61178, the local filepath
50671         are treated differently (the enum was changed to  make this behavior
50672         explicit).
50673
50674         Tests: fast/drag-and-drop/drag-and-drop-image-contenteditable.html
50675                fast/drag-and-drop/drag-and-drop-inputimage-contenteditable.html
50676                fast/drag-and-drop/drag-and-drop-objectimage-contenteditable.html
50677
50678         * editing/MarkupAccumulator.cpp:
50679         (WebCore::MarkupAccumulator::MarkupAccumulator):
50680         (WebCore::MarkupAccumulator::resolveURLIfNeeded):
50681         (WebCore::MarkupAccumulator::appendAttribute):
50682         * editing/MarkupAccumulator.h:
50683         * editing/markup.cpp:
50684         * editing/markup.h:
50685         * page/PageSerializer.cpp:
50686         (WebCore::SerializerMarkupAccumulator::SerializerMarkupAccumulator):
50687         * platform/chromium/ClipboardChromium.cpp:
50688         (WebCore::ClipboardChromium::declareAndWriteDragImage):
50689         (WebCore::ClipboardChromium::writeRange):
50690         * platform/chromium/PasteboardChromium.cpp:
50691         (WebCore::Pasteboard::writeSelection):
50692         * platform/gtk/ClipboardGtk.cpp:
50693         (WebCore::ClipboardGtk::declareAndWriteDragImage):
50694         (WebCore::ClipboardGtk::writeRange):
50695         * platform/gtk/DataObjectGtk.cpp:
50696         (WebCore::DataObjectGtk::markup):
50697         * platform/gtk/PasteboardGtk.cpp:
50698         (WebCore::Pasteboard::writeSelection):
50699         (WebCore::Pasteboard::writeImage):
50700         * platform/haiku/PasteboardHaiku.cpp:
50701         (WebCore::Pasteboard::writeSelection):
50702         * platform/qt/ClipboardQt.cpp:
50703         (WebCore::ClipboardQt::declareAndWriteDragImage):
50704         (WebCore::ClipboardQt::writeRange):
50705         * platform/qt/PasteboardQt.cpp:
50706         (WebCore::Pasteboard::writeSelection):
50707         * platform/win/ClipboardWin.cpp:
50708         (WebCore::ClipboardWin::declareAndWriteDragImage):
50709
50710 2011-08-10  Pavel Feldman  <pfeldman@google.com>
50711
50712         Web Inspector: auto-completion for string literals doesn't work
50713         https://bugs.webkit.org/show_bug.cgi?id=65701
50714
50715         Reviewed by Yury Semikhatsky.
50716
50717         * inspector/InjectedScript.cpp:
50718         (WebCore::InjectedScript::evaluateOnCallFrame):
50719         * inspector/InjectedScript.h:
50720         * inspector/InjectedScriptSource.js:
50721         (.):
50722         ():
50723         * inspector/Inspector.json:
50724         * inspector/InspectorDebuggerAgent.cpp:
50725         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
50726         * inspector/InspectorDebuggerAgent.h:
50727         * inspector/front-end/ConsoleView.js:
50728         (WebInspector.ConsoleView.prototype._completions.evaluated.getCompletions):
50729         (WebInspector.ConsoleView.prototype._completions.evaluated):
50730         (WebInspector.ConsoleView.prototype._completions.receivedPropertyNamesFromEval):
50731         (WebInspector.ConsoleView.prototype._completions.receivedPropertyNames):
50732         (WebInspector.ConsoleView.prototype._completions):
50733         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
50734         * inspector/front-end/DebuggerPresentationModel.js:
50735         (WebInspector.PresenationCallFrame.prototype.evaluate):
50736         * inspector/front-end/RemoteObject.js:
50737         (WebInspector.RemoteObject):
50738         * inspector/front-end/ScriptsPanel.js:
50739         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
50740         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame):
50741
50742 2011-08-10  Pavel Feldman  <pfeldman@google.com>
50743
50744         Web Inspector: CSS editing file containing tabs leads to the whole file change in revision history.
50745         https://bugs.webkit.org/show_bug.cgi?id=65959
50746
50747         Reviewed by Yury Semikhatsky.
50748
50749         * inspector/front-end/SourceFrame.js:
50750         (WebInspector.SourceFrame):
50751         * inspector/front-end/TextEditorModel.js:
50752         (WebInspector.TextEditorModel.prototype._innerSetText):
50753
50754 2011-08-10  Pavel Feldman  <pfeldman@chromium.org>
50755
50756         Web Inspector: there should be a way to tell what properties are non-enumerable when expanding objects.
50757         https://bugs.webkit.org/show_bug.cgi?id=65518
50758
50759         Reviewed by Yury Semikhatsky.
50760
50761         * inspector/InjectedScript.cpp:
50762         (WebCore::InjectedScript::getProperties):
50763         * inspector/InjectedScript.h:
50764         * inspector/InjectedScriptSource.js:
50765         (.):
50766         * inspector/Inspector.json:
50767         * inspector/InspectorRuntimeAgent.cpp:
50768         (WebCore::InspectorRuntimeAgent::getProperties):
50769         * inspector/InspectorRuntimeAgent.h:
50770         * inspector/front-end/ObjectPropertiesSection.js:
50771         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
50772         (WebInspector.ObjectPropertyTreeElement.prototype.update):
50773         * inspector/front-end/RemoteObject.js:
50774         (WebInspector.RemoteObject.prototype.getOwnProperties):
50775         (WebInspector.RemoteObject.prototype.getAllProperties):
50776         (WebInspector.RemoteObjectProperty):
50777         * inspector/front-end/inspector.css:
50778         (.section .properties .dimmed):
50779
50780 2011-08-10  Alexander Pavlov  <apavlov@chromium.org>
50781
50782         Web Inspector: [REGRESSION] Editor lost after committing a CSS property value for inline style
50783         https://bugs.webkit.org/show_bug.cgi?id=65918
50784
50785         Reviewed by Pavel Feldman.
50786
50787         * inspector/front-end/StylesSidebarPane.js:
50788         (WebInspector.StylesSidebarPane.prototype._innerUpdate.stylesCallback):
50789         (WebInspector.StylesSidebarPane.prototype._innerUpdate.computedStyleCallback):
50790         (WebInspector.StylesSidebarPane.prototype._innerUpdate):
50791         (WebInspector.StylePropertyTreeElement.prototype):
50792         (WebInspector.StylePropertyTreeElement.prototype.event):
50793         (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert.parentPane):
50794         (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert):
50795
50796 2011-08-10  Yuta Kitamura  <yutak@chromium.org>
50797
50798         WebSocket: Add binaryType attribute
50799         https://bugs.webkit.org/show_bug.cgi?id=65967
50800
50801         Reviewed by Kent Tamura.
50802
50803         Add a new attribute "binaryType" to WebSocket. It controls the data type of MessageEvent
50804         for WebSocket's binary frames.
50805
50806         Tests: http/tests/websocket/tests/hixie76/undefined-attributes.html
50807                http/tests/websocket/tests/hybi/binary-type.html
50808
50809         * websockets/WebSocket.cpp:
50810         (WebCore::WebSocket::WebSocket):
50811         (WebCore::WebSocket::binaryType):
50812         (WebCore::WebSocket::setBinaryType):
50813         * websockets/WebSocket.h:
50814         * websockets/WebSocket.idl:
50815
50816 2011-08-10  Yuta Kitamura  <yutak@chromium.org>
50817
50818         WebSocket: Accept multiple subprotocols
50819         https://bugs.webkit.org/show_bug.cgi?id=65247
50820
50821         Reviewed by Kent Tamura.
50822
50823         WebSocket constructor should accept an array of subprotocols if hybi-10 protocol is chosen.
50824
50825         Tests: http/tests/websocket/tests/hybi/invalid-subprotocol-characters.html
50826                http/tests/websocket/tests/hybi/invalid-subprotocols.html
50827                http/tests/websocket/tests/hybi/multiple-subprotocols.html
50828                http/tests/websocket/tests/hybi/workers/multiple-subprotocols.html
50829
50830         * bindings/js/JSWebSocketCustom.cpp:
50831         (WebCore::JSWebSocketConstructor::constructJSWebSocket):
50832         If the second argument of WebSocket constructor is an array, build a Vector<String> and
50833         pass it to WebSocket::connect().
50834         * bindings/v8/custom/V8WebSocketCustom.cpp:
50835         (WebCore::V8WebSocket::constructorCallback):
50836         Ditto.
50837         * websockets/WebSocket.cpp:
50838         (WebCore::isValidProtocolCharacter): Added.
50839         (WebCore::isValidProtocolString): Added.
50840         (WebCore::isValidProtocolStringHixie76): Renamed from isValidProtocolString.
50841         (WebCore::joinStrings):
50842         (WebCore::WebSocket::connect):
50843         If an array is provided as a subprotocol, and if hixie-76 is used for this connection, it
50844         must be converted to a string in the same manner as JavaScript's Array.toString() in order
50845         to keep compatibility.
50846         * websockets/WebSocket.h:
50847         Removed m_protocol because it was not used at all.
50848         * websockets/WebSocketChannel.cpp:
50849         (WebCore::WebSocketChannel::disconnect):
50850         WebSocketChannel may be released before connect() is called, thus m_handshake may be null.
50851
50852 2011-08-10  Andrey Kosyakov  <caseq@chromium.org>
50853
50854         Web Inspector: Network panel always displays file:// resources as "(pending)"
50855         https://bugs.webkit.org/show_bug.cgi?id=65784
50856
50857         Reviewed by Pavel Feldman.
50858
50859         Test: inspector/network-status-non-http.html
50860
50861         * English.lproj/localizedStrings.js:
50862         * inspector/front-end/NetworkPanel.js:
50863         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
50864         * inspector/front-end/Resource.js:
50865         (WebInspector.Resource.prototype.isHttpFamily):
50866
50867 2011-08-09  Luke Macpherson   <macpherson@chromium.org>
50868
50869         Use setFontDescription helper to set m_fontDirty.
50870         https://bugs.webkit.org/show_bug.cgi?id=65956
50871
50872         Reviewed by Dan Bernstein.
50873
50874         No new tests / trivial cleanup.
50875
50876         * css/CSSStyleSelector.cpp:
50877         (WebCore::CSSStyleSelector::applyProperty):
50878
50879 2011-08-09  Dominic Cooney  <dominicc@chromium.org>
50880
50881         [V8] The prototype property of DOM constructors should be read-only.
50882         https://bugs.webkit.org/show_bug.cgi?id=39655
50883
50884         Reviewed by Dimitri Glazkov.
50885
50886         Test: fast/dom/prototype-property.html
50887
50888         * bindings/scripts/CodeGeneratorV8.pm: Make prototypes read-only.
50889         * bindings/scripts/test/V8/V8TestInterface.cpp: Update expectations.
50890         (WebCore::ConfigureV8TestInterfaceTemplate):
50891         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
50892         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
50893         * bindings/scripts/test/V8/V8TestObj.cpp:
50894         (WebCore::ConfigureV8TestObjTemplate):
50895         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
50896         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
50897
50898 2011-08-09  Abhishek Arya  <inferno@chromium.org>
50899
50900         Style change not propagating for before, after content
50901         for table parts.
50902         https://bugs.webkit.org/show_bug.cgi?id=51862
50903
50904         Fix by Chris Evans (cevans@chromium.org).
50905         In the table case, make sure to return the before /
50906         after parent rather then the before / after node
50907         itself.
50908
50909         Reviewed by Simon Fraser.
50910
50911         * rendering/RenderObjectChildList.cpp:
50912         (WebCore::findBeforeAfterParent):
50913
50914 2011-08-09  Luke Macpherson   <macpherson@chromium.org>
50915
50916         Implement string based properties in CSSStyleApplyProperty.
50917         https://bugs.webkit.org/show_bug.cgi?id=65662
50918
50919         Reviewed by Darin Adler.
50920
50921         No new tests / refactoring only.
50922
50923         * css/CSSStyleApplyProperty.cpp:
50924         (WebCore::ApplyPropertyString::ApplyPropertyString):
50925         Added class to handle string based properties.
50926         (WebCore::ApplyPropertyString::applyValue):
50927         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
50928         Add initializers for CSSPropertyWebkitHighlight and CSSPropertyWebkitHyphenateCharacter.
50929         * css/CSSStyleSelector.cpp:
50930         (WebCore::CSSStyleSelector::applyProperty):
50931         Remove existing implementations for CSSPropertyWebkitHighlight and CSSPropertyWebkitHyphenateCharacter.
50932
50933 2011-08-09  Emil A Eklund  <eae@chromium.org>
50934
50935         Switch RenderBlock to to new layout types
50936         https://bugs.webkit.org/show_bug.cgi?id=65396
50937
50938         Reviewed by Eric Seidel.
50939
50940         No new tests, no new functionality.
50941
50942         * rendering/RenderBlock.cpp:
50943         (WebCore::RenderBlock::MarginInfo::MarginInfo):
50944         (WebCore::RenderBlock::layoutBlock):
50945         (WebCore::RenderBlock::addOverflowFromChildren):
50946         (WebCore::RenderBlock::computeOverflow):
50947         (WebCore::RenderBlock::adjustPositionedBlock):
50948         (WebCore::RenderBlock::adjustFloatingBlock):
50949         (WebCore::RenderBlock::collapseMargins):
50950         (WebCore::RenderBlock::clearFloatsIfNeeded):
50951         (WebCore::RenderBlock::estimateLogicalTopPosition):
50952         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
50953         (WebCore::RenderBlock::setLogicalLeftForChild):
50954         (WebCore::RenderBlock::setLogicalTopForChild):
50955         (WebCore::RenderBlock::layoutBlockChildren):
50956         (WebCore::RenderBlock::layoutBlockChild):
50957         (WebCore::RenderBlock::flipFloatForWritingMode):
50958         (WebCore::RenderBlock::isPointInOverflowControl):
50959         (WebCore::RenderBlock::hitTestFloats):
50960         * rendering/RenderBlock.h:
50961         (WebCore::RenderBlock::logicalTopForFloat):
50962         (WebCore::RenderBlock::logicalBottomForFloat):
50963         (WebCore::RenderBlock::logicalLeftForFloat):
50964         (WebCore::RenderBlock::logicalRightForFloat):
50965         (WebCore::RenderBlock::logicalWidthForFloat):
50966         (WebCore::RenderBlock::setLogicalTopForFloat):
50967         (WebCore::RenderBlock::setLogicalLeftForFloat):
50968         (WebCore::RenderBlock::setLogicalHeightForFloat):
50969         (WebCore::RenderBlock::setLogicalWidthForFloat):
50970
50971 2011-08-09  Jeffrey Pfau  <jpfau@apple.com>
50972
50973         Initial pass at a new XML tree builder
50974         https://bugs.webkit.org/show_bug.cgi?id=65803
50975
50976         Reviewed by Adam Barth.
50977
50978         * GNUmakefile.list.am:
50979         * WebCore.gypi:
50980         * WebCore.pro:
50981         * WebCore.vcproj/WebCore.vcproj:
50982         * WebCore.xcodeproj/project.pbxproj:
50983         * xml/parser/NewXMLDocumentParser.cpp:
50984         (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
50985         (WebCore::NewXMLDocumentParser::~NewXMLDocumentParser):
50986         (WebCore::NewXMLDocumentParser::append):
50987         (WebCore::NewXMLDocumentParser::finish):
50988         (WebCore::NewXMLDocumentParser::finishWasCalled):
50989         * xml/parser/NewXMLDocumentParser.h:
50990         * xml/parser/XMLTreeBuilder.cpp: Added.
50991         (WebCore::XMLTreeBuilder::XMLTreeBuilder):
50992         (WebCore::XMLTreeBuilder::processToken):
50993         (WebCore::XMLTreeBuilder::pushCurrentNode):
50994         (WebCore::XMLTreeBuilder::popCurrentNode):
50995         (WebCore::XMLTreeBuilder::processProcessingInstruction):
50996         (WebCore::XMLTreeBuilder::processXMLDeclaration):
50997         (WebCore::XMLTreeBuilder::processDOCTYPE):
50998         (WebCore::XMLTreeBuilder::processStartTag):
50999         (WebCore::XMLTreeBuilder::processEndTag):
51000         (WebCore::XMLTreeBuilder::processCharacter):
51001         (WebCore::XMLTreeBuilder::processCDATA):
51002         (WebCore::XMLTreeBuilder::processComment):
51003         (WebCore::XMLTreeBuilder::processEntity):
51004         (WebCore::XMLTreeBuilder::processNamespaces):
51005         (WebCore::XMLTreeBuilder::processAttributes):
51006         (WebCore::XMLTreeBuilder::processXMLEntity):
51007         (WebCore::XMLTreeBuilder::processHTMLEntity):
51008         (WebCore::XMLTreeBuilder::add):
51009         (WebCore::XMLTreeBuilder::appendToText):
51010         (WebCore::XMLTreeBuilder::enterText):
51011         (WebCore::XMLTreeBuilder::exitText):
51012         (WebCore::XMLTreeBuilder::NodeStackItem::NodeStackItem):
51013         (WebCore::XMLTreeBuilder::NodeStackItem::hasNamespaceURI):
51014         (WebCore::XMLTreeBuilder::NodeStackItem::namespaceURI):
51015         (WebCore::XMLTreeBuilder::NodeStackItem::setNamespaceURI):
51016         (WebCore::XMLTreeBuilder::NodeStackItem::namespaceForPrefix):
51017         * xml/parser/XMLTreeBuilder.h: Added.
51018         (WebCore::XMLTreeBuilder::create):
51019         (WebCore::XMLTreeBuilder::NodeStackItem::namespaceURI):
51020         (WebCore::XMLTreeBuilder::NodeStackItem::setNamespaceURI):
51021         (WebCore::XMLTreeBuilder::NodeStackItem::node):
51022         (WebCore::XMLTreeBuilder::NodeStackItem::setNode):
51023
51024 2011-08-09  Mark Hahnenberg  <mhahnenberg@apple.com>
51025
51026         Add ParentClass typedef in all JSC classes
51027         https://bugs.webkit.org/show_bug.cgi?id=65731
51028
51029         Reviewed by Oliver Hunt.
51030
51031         No new tests.
51032
51033         Just added the Base typedefs in all the classes that are a subclass of JSCell 
51034         to point at their parent classes.  This is a change to support future changes to the way
51035         constructors and destructors are implemented in JS objects, among other things.
51036
51037         * bindings/js/JSAudioConstructor.h:
51038         * bindings/js/JSImageConstructor.h:
51039         * bindings/js/JSOptionConstructor.h:
51040         * bindings/scripts/CodeGeneratorJS.pm:
51041         (GenerateHeader):
51042         (GenerateConstructorDeclaration):
51043         * bindings/scripts/test/JS/JSTestInterface.cpp:
51044         * bindings/scripts/test/JS/JSTestInterface.h:
51045         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
51046         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
51047         * bindings/scripts/test/JS/JSTestObj.cpp:
51048         * bindings/scripts/test/JS/JSTestObj.h:
51049         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
51050         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
51051         * bridge/c/CRuntimeObject.h:
51052         * bridge/c/c_instance.cpp:
51053         * bridge/jni/jsc/JavaInstanceJSC.cpp:
51054         * bridge/jni/jsc/JavaRuntimeObject.h:
51055         * bridge/objc/ObjCRuntimeObject.h:
51056         * bridge/objc/objc_runtime.h:
51057         * bridge/qt/qt_instance.cpp:
51058         * bridge/qt/qt_pixmapruntime.cpp:
51059         * bridge/qt/qt_runtime.h:
51060         * bridge/runtime_array.h:
51061         * bridge/runtime_method.h:
51062         * bridge/runtime_object.h:
51063         * bridge/testqtbindings.cpp:
51064         (Global::className):
51065
51066 2011-08-09  Alexei Svitkine  <asvitkine@chromium.org>
51067
51068         [Chromium] Enable rubber banding when scrolling.
51069
51070         https://bugs.webkit.org/show_bug.cgi?id=65707
51071
51072         Reviewed by Dimitri Glazkov.
51073
51074         No new tests since this is just syncing changes to chromium platform.
51075
51076         * platform/PlatformWheelEvent.h:
51077         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
51078         * platform/chromium/ScrollAnimatorChromiumMac.mm:
51079         (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
51080
51081 2011-08-09  Vsevolod Vlasov  <vsevik@chromium.org>
51082
51083         Web Inspector: XHRs end up in the resources panel.
51084         https://bugs.webkit.org/show_bug.cgi?id=60321
51085
51086         Reviewed by Pavel Feldman.
51087
51088         Test: http/tests/inspector/resource-tree/resource-tree-no-xhrs.html
51089
51090         * inspector/front-end/ResourceTreeModel.js:
51091         (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
51092         * inspector/front-end/ResourcesPanel.js:
51093         (WebInspector.ResourcesPanel):
51094
51095 2011-08-08  Adrienne Walker  <enne@google.com>
51096
51097         Add testing for --force-compositing-mode to windows.internal
51098         https://bugs.webkit.org/show_bug.cgi?id=65777
51099
51100         Reviewed by Adam Barth.
51101
51102         Test: platform/chromium/compositing/force-compositing-mode/force-composite-empty.html
51103
51104         Move initial initialization to settings caching function so that RLC
51105         picks up changes to the force compositing mode flag.
51106
51107         * WebCore.exp.in:
51108         * rendering/RenderLayerCompositor.cpp:
51109         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
51110         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
51111         (WebCore::RenderLayerCompositor::updateCompositingLayers):
51112         * testing/Internals.cpp:
51113         (WebCore::Internals::setForceCompositingMode):
51114         * testing/Internals.h:
51115         * testing/Internals.idl:
51116
51117 2011-08-09  Alexandru Chiculita  <achicu@adobe.com>
51118
51119         Fixing 65868 REGRESSION(r92610) caused by 65668 - Optimize floating elements lookup
51120         https://bugs.webkit.org/show_bug.cgi?id=65871
51121
51122         Added an interval tree in the FloatingObjects structure. Also added new mechanisms to make
51123         sure the tree is updated correctly when a float is repositioned.
51124
51125         Changed the PODIntervalTree to support giving a search adapter that can be implemented by the
51126         client. I'm not adding a different bug for that because PODIntervalTree is not used anywhere else
51127         and would be hard to test that the change is not breaking anything.
51128
51129         Reviewed by Dave Hyatt.
51130
51131         No new tests, just a refactor on the floating objects data structure.
51132
51133         * WebCore.xcodeproj/project.pbxproj:
51134         * platform/PODIntervalTree.h:
51135         (WebCore::PODIntervalSearchAdapter::PODIntervalSearchAdapter):
51136         (WebCore::PODIntervalSearchAdapter::lowValue):
51137         (WebCore::PODIntervalSearchAdapter::highValue):
51138         (WebCore::PODIntervalSearchAdapter::collectIfNeeded):
51139         (WebCore::PODIntervalTree::PODIntervalTree):
51140         (WebCore::PODIntervalTree::allOverlaps):
51141         (WebCore::PODIntervalTree::allOverlapsWithAdapter):
51142         (WebCore::PODIntervalTree::searchForOverlapsFrom):
51143         * platform/PODRedBlackTree.h:
51144         (WebCore::PODRedBlackTree::PODRedBlackTree):
51145         (WebCore::PODRedBlackTree::clear):
51146         (WebCore::PODRedBlackTree::isInitialized):
51147         (WebCore::PODRedBlackTree::initIfNeeded):
51148         (WebCore::PODRedBlackTree::add):
51149         (WebCore::PODRedBlackTree::remove):
51150         (WebCore::PODRedBlackTree::contains):
51151         (WebCore::PODRedBlackTree::visitInorder):
51152         (WebCore::PODRedBlackTree::size):
51153         (WebCore::PODRedBlackTree::checkInvariants):
51154         (WebCore::PODRedBlackTree::dump):
51155         * rendering/RenderBlock.cpp:
51156         (WebCore::RenderBlock::styleDidChange):
51157         (WebCore::RenderBlock::addOverflowFromFloats):
51158         (WebCore::RenderBlock::repaintOverhangingFloats):
51159         (WebCore::RenderBlock::paintFloats):
51160         (WebCore::RenderBlock::selectionGaps):
51161         (WebCore::RenderBlock::insertFloatingObject):
51162         (WebCore::RenderBlock::removeFloatingObject):
51163         (WebCore::RenderBlock::removeFloatingObjectsBelow):
51164         (WebCore::RenderBlock::positionNewFloats):
51165         (WebCore::::collectIfNeeded):
51166         (WebCore::RenderBlock::logicalLeftOffsetForLine):
51167         (WebCore::RenderBlock::logicalRightOffsetForLine):
51168         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
51169         (WebCore::RenderBlock::lowestFloatLogicalBottom):
51170         (WebCore::RenderBlock::addPositionedFloats):
51171         (WebCore::RenderBlock::clearFloats):
51172         (WebCore::RenderBlock::addOverhangingFloats):
51173         (WebCore::RenderBlock::hasOverhangingFloat):
51174         (WebCore::RenderBlock::addIntrudingFloats):
51175         (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
51176         (WebCore::RenderBlock::hitTestFloats):
51177         (WebCore::RenderBlock::adjustForBorderFit):
51178         (WebCore::RenderBlock::FloatingObjects::clear):
51179         (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject):
51180         (WebCore::RenderBlock::FloatingObjects::addPlacedObject):
51181         (WebCore::RenderBlock::FloatingObjects::removePlacedObject):
51182         (WebCore::RenderBlock::FloatingObjects::add):
51183         (WebCore::RenderBlock::FloatingObjects::remove):
51184         (WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTree):
51185         (WebCore::::string):
51186         * rendering/RenderBlock.h:
51187         (WebCore::RenderBlock::FloatingObject::FloatingObject):
51188         (WebCore::RenderBlock::FloatingObject::setX):
51189         (WebCore::RenderBlock::FloatingObject::setY):
51190         (WebCore::RenderBlock::FloatingObject::setWidth):
51191         (WebCore::RenderBlock::FloatingObject::setHeight):
51192         (WebCore::RenderBlock::FloatingObject::setFrameRect):
51193         (WebCore::RenderBlock::FloatingObject::isInPlacedTree):
51194         (WebCore::RenderBlock::FloatingObject::setIsInPlacedTree):
51195         (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
51196         (WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
51197         (WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
51198         (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
51199         (WebCore::RenderBlock::FloatingObjects::setHorizontalWritingMode):
51200         (WebCore::RenderBlock::FloatingObjects::set):
51201         (WebCore::RenderBlock::FloatingObjects::placedFloatsTree):
51202         (WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTreeIfNeeded):
51203         * rendering/RenderBlockLineLayout.cpp:
51204         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
51205         (WebCore::RenderBlock::linkToEndLineIfNeeded):
51206         (WebCore::RenderBlock::matchedEndLine):
51207         (WebCore::RenderBlock::positionNewFloatOnLine):
51208
51209 2011-08-08  Ryosuke Niwa  <rniwa@webkit.org>
51210
51211         Repeated copy and paste result in nested font elements
51212         https://bugs.webkit.org/show_bug.cgi?id=65824
51213
51214         Reviewed by Tony Chang.
51215
51216         Modified isInlineNodeWithStyle to match font element. Also made the function match strictly with those nodes that
51217         ApplyStyleCommand may add to avoid removing non-styling elements. And fixed a regression from r81887 that
51218         ReplaceSelectionCommand may remove non-editing styles such as border in the attempt to avoid nesting styling elements.
51219
51220         This patch paves the way to fix the bug 34564.
51221
51222         Tests: editing/pasteboard/paste-text-with-style-2.html
51223                editing/pasteboard/paste-text-with-style-3.html
51224                editing/pasteboard/paste-text-with-style-4.html
51225
51226         * editing/EditingStyle.cpp:
51227         (WebCore::HTMLElementEquivalent::matches): Takes const Element* instead of Element*.
51228         (WebCore::HTMLAttributeEquivalent::matches): Ditto.
51229         (WebCore::htmlElementEquivalents): Extracted from conflictsWithImplicitStyleOfElement.
51230         (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement): Calls htmlElementEquivalents.
51231         (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent): Added; determines whether an element is style span
51232         or a styling element (e.g. b, i, font) possibly with editing style.
51233         * editing/EditingStyle.h:
51234         * editing/ReplaceSelectionCommand.cpp:
51235         (WebCore::isInlineNodeWithStyle): Calls EditingStyle::elementIsStyledSpanOrHTMLEquivalent.
51236         (WebCore::ReplaceSelectionCommand::doApply): More aggressively avoid nesting styling elements.
51237         * editing/htmlediting.cpp:
51238         (WebCore::highestEnclosingNodeOfType):
51239         * editing/htmlediting.h:
51240
51241 2011-08-09  Dmitry Lomov  <dslomov@google.com>
51242
51243         https://bugs.webkit.org/show_bug.cgi?id=65778
51244         [WebWorkers][chromium] Make statics thread-safe and make sure V8 API accesses correct isolates.
51245
51246         Reviewed by Dmitry Titov.
51247
51248         Covered by existing tests.
51249
51250         * bindings/v8/V8Binding.cpp:
51251         (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
51252         * bindings/v8/V8Binding.h:
51253         (WebCore::V8BindingPerIsolateData::lazyEventListenerToStringTemplate):
51254         (WebCore::V8BindingPerIsolateData::hiddenPropertyName):
51255         (WebCore::V8BindingPerIsolateData::globalHandleMap):
51256         (WebCore::AllowAllocation::AllowAllocation):Moving to V8Binding.h from V8Utilities.h to resolve header dependency.
51257         (WebCore::AllowAllocation::~AllowAllocation):
51258         (WebCore::AllowAllocation::current):
51259         (WebCore::SafeAllocation::newInstance):
51260         * bindings/v8/V8GCController.cpp:
51261         (WebCore::currentGlobalHandleMap):
51262         (WebCore::enumerateGlobalHandles):
51263         (WebCore::V8GCController::registerGlobalHandle):
51264         (WebCore::V8GCController::unregisterGlobalHandle):
51265         * bindings/v8/V8HiddenPropertyName.cpp:
51266         (WebCore::V8HiddenPropertyName::createString):
51267         * bindings/v8/V8HiddenPropertyName.h:
51268         (WebCore::V8HiddenPropertyName::V8HiddenPropertyName):
51269         * bindings/v8/V8LazyEventListener.cpp:
51270         (WebCore::V8LazyEventListener::prepareListenerObject):
51271         * bindings/v8/V8NPObject.cpp:
51272         * bindings/v8/V8Proxy.cpp:
51273         (WebCore::V8Proxy::checkNewLegal):
51274         * bindings/v8/V8Utilities.h:
51275         * bindings/v8/WorkerContextExecutionProxy.cpp:
51276         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
51277         (WebCore::WorkerContextExecutionProxy::initIsolate):
51278         * bindings/v8/WorkerContextExecutionProxy.h:
51279         * bindings/v8/WorkerScriptController.cpp:
51280         (WebCore::WorkerScriptController::scheduleExecutionTermination):
51281
51282 2011-08-09  Steve Block  <steveblock@google.com>
51283
51284         JavaString is not needed by V8
51285         https://bugs.webkit.org/show_bug.cgi?id=65909
51286
51287         Removes the JavaString wrapper class, moves the JSC implementation
51288         to JavaStringJSC.h and removes the V8 implementation.
51289
51290         Reviewed by Alexey Proskuryakov.
51291
51292         No new tests, refactoring only.
51293
51294         * GNUmakefile.list.am:
51295         * WebCore.gypi:
51296         * WebCore.xcodeproj/project.pbxproj:
51297         * bridge/jni/JavaString.h: Removed.
51298         * bridge/jni/jni_jsobject.mm:
51299         * bridge/jni/jsc/JavaFieldJSC.h:
51300         * bridge/jni/jsc/JavaInstanceJSC.cpp:
51301         * bridge/jni/jsc/JavaMethodJSC.h:
51302         * bridge/jni/jsc/JavaStringJSC.h:
51303         (JSC::Bindings::JavaString::JavaString):
51304         (JSC::Bindings::JavaString::~JavaString):
51305         (JSC::Bindings::JavaString::init):
51306         * bridge/jni/v8/JavaStringV8.h: Removed.
51307
51308 2011-08-09  Abhishek Arya  <inferno@chromium.org>
51309
51310         Regression(83075): Fix updateAlwaysCreateLineBoxes on information 
51311         about full layout which is needed when dirtying lineboxes.
51312         https://bugs.webkit.org/show_bug.cgi?id=65924
51313
51314         Reviewed by Dave Hyatt.
51315
51316         Test: fast/inline/update-always-create-line-boxes-full-layout-crash.html
51317
51318         * rendering/RenderBlockLineLayout.cpp:
51319         (WebCore::RenderBlock::layoutInlineChildren):
51320         * rendering/RenderInline.cpp:
51321         (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
51322         * rendering/RenderInline.h:
51323
51324 2011-08-09  Nate Chapin  <japhet@chromium.org>
51325
51326         Remove receivedCancellation() from SubresourceLoaderClient.
51327
51328         http://bugs.webkit.org/show_bug.cgi?id=65330
51329
51330         Reviewed by Alexey Proskuryakov.
51331
51332         No new tests, no change in functionality intended.
51333
51334         * loader/DocumentThreadableLoader.cpp:
51335         * loader/DocumentThreadableLoader.h:
51336         * loader/SubresourceLoader.cpp:
51337         * loader/SubresourceLoader.h:
51338         * loader/SubresourceLoaderClient.h:
51339         * loader/ThreadableLoaderClient.h:
51340         * loader/WorkerThreadableLoader.cpp:
51341         * loader/WorkerThreadableLoader.h:
51342         * notifications/Notification.cpp:
51343         * notifications/Notification.h:  Remove receivedCancellation() since it's
51344            identical to didFail(), which is always called immediately after.
51345         * workers/WorkerScriptLoader.cpp:
51346         * workers/WorkerScriptLoader.h: Remove receivedCancellation() since it's
51347            identical to didFail(), which is always called immediately after.
51348         * xml/XMLHttpRequest.cpp:
51349         * xml/XMLHttpRequest.h: Remove receivedCancellation().  All it does is
51350            set m_response, which is cleared in didFail() before it can be used.
51351
51352 2011-08-09  Steve Block  <steveblock@google.com>
51353
51354         Java Bridge leaks local references
51355         https://bugs.webkit.org/show_bug.cgi?id=64320
51356
51357         Reviewed by Alexey Proskuryakov.
51358
51359         No new tests as this is just an optimization.
51360
51361         * bridge/jni/jsc/JavaFieldJSC.cpp:
51362         (JavaField::JavaField):
51363         * bridge/jni/jsc/JavaMethodJSC.cpp:
51364         (JavaMethod::JavaMethod):
51365
51366 2011-08-09  Pavel Feldman  <pfeldman@google.com>
51367
51368         Web Inspector: files from different domains are mixed in the file selector in Scripts panel
51369         https://bugs.webkit.org/show_bug.cgi?id=65601
51370
51371         Reviewed by Yury Semikhatsky.
51372
51373         * inspector/front-end/ScriptsPanel.js:
51374         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
51375         (WebInspector.ScriptsPanel.prototype._folderAndDisplayNameForScriptURL):
51376         (WebInspector.ScriptsPanel.prototype.reset):
51377         * inspector/front-end/inspector.css:
51378         (select.status-bar-item):
51379
51380 2011-08-09  Pavel Feldman  <pfeldman@google.com>
51381
51382         Web Inspector: provide a way to hide user agent styles
51383         https://bugs.webkit.org/show_bug.cgi?id=37766
51384
51385         Reviewed by Yury Semikhatsky.
51386
51387         Test: inspector/styles/show-user-agent-styles.html
51388
51389         * English.lproj/localizedStrings.js:
51390         * inspector/front-end/Settings.js:
51391         (WebInspector.Settings):
51392         * inspector/front-end/SettingsScreen.js:
51393         (WebInspector.SettingsScreen):
51394         * inspector/front-end/StylesSidebarPane.js:
51395         (WebInspector.StylesSidebarPane):
51396         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules.get continue):
51397         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
51398         (WebInspector.StylesSidebarPane.prototype._createElementStatePane):
51399         (WebInspector.StylesSidebarPane.prototype._showUserAgentStylesSettingChanged):
51400
51401 2011-08-09  Steve Block  <steveblock@google.com>
51402
51403         JavaMethodJobject is no longer needed by V8
51404         https://bugs.webkit.org/show_bug.cgi?id=65910
51405
51406         Reviewed by Tony Gentilcore.
51407
51408         Removes the JavaMethod interface and moves the JavaMethodJobject
51409         implementation to bridge/jni/jsc/JavaMethodJSC.[cpp|h].
51410
51411         No new tests, refactoring only.
51412
51413         * GNUmakefile.list.am:
51414         * WebCore.gypi:
51415         * WebCore.xcodeproj/project.pbxproj:
51416         * bridge/jni/JavaMethod.h: Removed.
51417         * bridge/jni/jsc/JavaClassJSC.cpp:
51418         (JavaClass::JavaClass):
51419         * bridge/jni/jsc/JavaFieldJSC.h:
51420         * bridge/jni/jsc/JavaInstanceJSC.cpp:
51421         * bridge/jni/jsc/JavaMethodJSC.cpp: Renamed from Source/WebCore/bridge/jni/JavaMethodJobject.cpp.
51422         (JavaMethod::JavaMethod):
51423         (JavaMethod::~JavaMethod):
51424         (appendClassName):
51425         (JavaMethod::signature):
51426         * bridge/jni/jsc/JavaMethodJSC.h: Renamed from Source/WebCore/bridge/jni/JavaMethodJobject.h.
51427         (JSC::Bindings::JavaMethod::name):
51428         (JSC::Bindings::JavaMethod::returnTypeClassName):
51429         (JSC::Bindings::JavaMethod::parameterAt):
51430         (JSC::Bindings::JavaMethod::returnType):
51431         (JSC::Bindings::JavaMethod::isStatic):
51432         (JSC::Bindings::JavaMethod::numParameters):
51433         * bridge/jni/v8/JavaNPObjectV8.cpp:
51434
51435 2011-08-09  Andrey Kosyakov  <caseq@chromium.org>
51436
51437         Web Inspector: assertion failure in InspectorDOMStorageResource::bind when opening inspector
51438         https://bugs.webkit.org/show_bug.cgi?id=65912
51439
51440         Reviewed by Pavel Feldman.
51441
51442         * inspector/InspectorDOMStorageAgent.cpp:
51443         (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
51444
51445 2011-08-09  Yury Semikhatsky  <yurys@chromium.org>
51446
51447         Web Inspector: get rid of InspectorInstrumentation::inspectorAgents() map
51448         https://bugs.webkit.org/show_bug.cgi?id=54678
51449
51450         Added two functions for retrieving InstrumentingAgents from Page and WorkerContext.
51451
51452         Reviewed by Pavel Feldman.
51453
51454         * CMakeLists.txt:
51455         * GNUmakefile.list.am:
51456         * WebCore.gypi:
51457         * WebCore.pro:
51458         * WebCore.vcproj/WebCore.vcproj:
51459         * WebCore.xcodeproj/project.pbxproj:
51460         * inspector/InspectorController.cpp:
51461         (WebCore::InspectorController::InspectorController):
51462         (WebCore::InspectorController::inspectedPageDestroyed):
51463         * inspector/InspectorController.h:
51464         * inspector/InspectorInstrumentation.cpp:
51465         (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
51466         * inspector/InspectorInstrumentation.h:
51467         * inspector/InstrumentingAgents.cpp: Copied from Source/WebCore/inspector/WorkerInspectorController.h.
51468         (WebCore::instrumentationForPage):
51469         (WebCore::instrumentationForWorkerContext):
51470         * inspector/InstrumentingAgents.h:
51471         * inspector/WorkerInspectorController.h:
51472
51473 2011-08-09  Vsevolod Vlasov  <vsevik@chromium.org>
51474
51475         Web Inspector: Add "Refresh" to context menu of resources panel cookies view.
51476         https://bugs.webkit.org/show_bug.cgi?id=65854
51477
51478         Reviewed by Pavel Feldman.
51479
51480         * inspector/front-end/CookieItemsView.js:
51481         (WebInspector.CookieItemsView):
51482         (WebInspector.CookieItemsView.prototype._updateWithCookies):
51483         (WebInspector.CookieItemsView.prototype._refreshButtonClicked):
51484         (WebInspector.CookieItemsView.prototype._contextMenu):
51485         * inspector/front-end/CookiesTable.js:
51486         (WebInspector.CookiesTable):
51487         * inspector/front-end/DataGrid.js:
51488         (WebInspector.DataGrid.prototype.get refreshCallback):
51489         (WebInspector.DataGrid.prototype.set refreshCallback):
51490         (WebInspector.DataGrid.prototype._contextMenuInDataTable):
51491         * inspector/front-end/ResourceCookiesView.js:
51492         (WebInspector.ResourceCookiesView.prototype._buildCookiesTable):
51493
51494 2011-08-09  Vsevolod Vlasov  <vsevik@chromium.org>
51495
51496         Web Inspector: Resources panel does not show main resource cookies.
51497         https://bugs.webkit.org/show_bug.cgi?id=65770
51498
51499         Reviewed by Pavel Feldman.
51500
51501         Test: http/tests/inspector/resource-main-cookies.php
51502
51503         * inspector/InspectorPageAgent.cpp:
51504         (WebCore::allResourcesURLsForFrame):
51505         (WebCore::InspectorPageAgent::getCookies):
51506         (WebCore::InspectorPageAgent::deleteCookie):
51507
51508 2011-08-09  Sheriff Bot  <webkit.review.bot@gmail.com>
51509
51510         Unreviewed, rolling out r92670.
51511         http://trac.webkit.org/changeset/92670
51512         https://bugs.webkit.org/show_bug.cgi?id=65905
51513
51514         It broke 3 inspector tests (Requested by Ossy on #webkit).
51515
51516         * inspector/InjectedScript.cpp:
51517         (WebCore::InjectedScript::getProperties):
51518         * inspector/InjectedScript.h:
51519         * inspector/InjectedScriptSource.js:
51520         (.):
51521         * inspector/Inspector.json:
51522         * inspector/InspectorRuntimeAgent.cpp:
51523         (WebCore::InspectorRuntimeAgent::getProperties):
51524         * inspector/InspectorRuntimeAgent.h:
51525         * inspector/front-end/ObjectPropertiesSection.js:
51526         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
51527         (WebInspector.ObjectPropertyTreeElement.prototype.update):
51528         * inspector/front-end/RemoteObject.js:
51529         (WebInspector.RemoteObject.prototype.getOwnProperties):
51530         (WebInspector.RemoteObject.prototype.getAllProperties):
51531         (WebInspector.RemoteObject.prototype._getProperties.remoteObjectBinder):
51532         (WebInspector.RemoteObject.prototype._getProperties):
51533         (WebInspector.RemoteObjectProperty):
51534         * inspector/front-end/inspector.css:
51535         (.section .properties .value.dimmed):
51536
51537 2011-08-09  Pavel Feldman  <pfeldman@google.com>
51538
51539         Web Inspector: there should be a way to tell what properties are non-enumerable when expanding objects.
51540         https://bugs.webkit.org/show_bug.cgi?id=65518
51541
51542         Reviewed by Yury Semikhatsky.
51543
51544         * inspector/InjectedScript.cpp:
51545         (WebCore::InjectedScript::getProperties):
51546         * inspector/InjectedScript.h:
51547         * inspector/InjectedScriptSource.js:
51548         (.):
51549         * inspector/Inspector.json:
51550         * inspector/InspectorRuntimeAgent.cpp:
51551         (WebCore::InspectorRuntimeAgent::getProperties):
51552         * inspector/InspectorRuntimeAgent.h:
51553         * inspector/front-end/ObjectPropertiesSection.js:
51554         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
51555         (WebInspector.ObjectPropertyTreeElement.prototype.update):
51556         * inspector/front-end/RemoteObject.js:
51557         (WebInspector.RemoteObject.prototype.getOwnProperties):
51558         (WebInspector.RemoteObject.prototype.getAllProperties):
51559         (WebInspector.RemoteObjectProperty):
51560         * inspector/front-end/inspector.css:
51561         (.section .properties .dimmed):
51562
51563 2011-08-08  Steve Block  <steveblock@google.com>
51564
51565         Removes V8's JavaInstanceJobject, JavaClassJobject and JavaFieldJobject.
51566         https://bugs.webkit.org/show_bug.cgi?id=57859
51567
51568         Reviewed by Alexey Proskuryakov.
51569
51570         This effectively reverts the changes made in Bugs 55383, 57533 and
51571         55766. These classes were only used by Android. In the future, Android
51572         will use the Chromium WebKit API to implement the Java bridge.
51573
51574         Towards this goal, this patch ...
51575         - Simplfies the JavaInstance, JavaClass and JavaField interfaces for V8.
51576           These interfaces will be implemented in Chromium's WebKit layer.
51577         - Adds a JavaMethod interface for V8
51578         - Removes the jvalue <-> JavaValue conversion functions for V8, which are
51579           now superfluous
51580         - Removes the calls to JavaInstance::begin()/end() for V8, which are now
51581           superfluous
51582
51583         Will be covered by existing tests once the Chromium WebKit layer is complete.
51584
51585         * WebCore.gypi:
51586         * bridge/jni/v8/JNIUtilityPrivate.cpp:
51587         * bridge/jni/v8/JNIUtilityPrivate.h:
51588         * bridge/jni/v8/JavaClassJobjectV8.cpp: Removed.
51589         * bridge/jni/v8/JavaFieldJobjectV8.cpp: Removed.
51590         * bridge/jni/v8/JavaFieldJobjectV8.h: Removed.
51591         * bridge/jni/v8/JavaFieldV8.h:
51592         * bridge/jni/v8/JavaInstanceJobjectV8.cpp: Removed.
51593         * bridge/jni/v8/JavaInstanceJobjectV8.h: Removed.
51594         * bridge/jni/v8/JavaInstanceV8.h:
51595         * bridge/jni/v8/JavaMethodV8.h:
51596         (JSC::Bindings::JavaMethod::~JavaMethod):
51597         * bridge/jni/v8/JavaNPObjectV8.cpp:
51598         (JSC::Bindings::JavaNPObjectHasMethod):
51599         (JSC::Bindings::JavaNPObjectInvoke):
51600         (JSC::Bindings::JavaNPObjectHasProperty):
51601         (JSC::Bindings::JavaNPObjectGetProperty):
51602
51603 2011-08-08  Chris Rogers  <crogers@google.com>
51604
51605         Fix thread-safety of AudioNode deletion
51606         https://bugs.webkit.org/show_bug.cgi?id=65888
51607
51608         Reviewed by Kenneth Russell
51609
51610         No new tests - JavaScript API is not affected.
51611
51612         * webaudio/AudioContext.cpp:
51613         (WebCore::AudioContext::AudioContext):
51614         (WebCore::AudioContext::constructCommon):
51615         (WebCore::AudioContext::~AudioContext):
51616         (WebCore::AudioContext::uninitialize):
51617         (WebCore::AudioContext::handlePostRenderTasks):
51618         (WebCore::AudioContext::scheduleNodeDeletion):
51619         (WebCore::AudioContext::deleteMarkedNodesDispatch):
51620         (WebCore::AudioContext::deleteMarkedNodes):
51621         * webaudio/AudioContext.h:
51622
51623 2011-08-08  Chris Marrin  <cmarrin@apple.com>
51624
51625         Fix build breakage caused by http://trac.webkit.org/changeset/92651
51626
51627         Unreviewed.
51628
51629         * WebCore.exp.in:
51630
51631 2011-08-08  Chris Marrin  <cmarrin@apple.com>
51632
51633         Logic to compute visible display rect in GraphicsLayerCA::syncCompositingState
51634         https://bugs.webkit.org/show_bug.cgi?id=65708
51635
51636         Add logic to syncCompositingState to compute the visible rect for each
51637         layer. This can be used to synchronously render the visible tiles of a
51638         TiledLayer and avoid the flashing that often occurs when tiles are rendered
51639         asynchronously. A new synchronouslyDisplayTilesInRect is also added to do
51640         the actual rendering, but the call is not currently being made.
51641
51642         Reviewed by Simon Fraser.
51643
51644         * page/FrameView.cpp:
51645         (WebCore::FrameView::syncCompositingStateForThisFrame):
51646         * platform/graphics/GraphicsLayer.h:
51647         (WebCore::GraphicsLayer::syncCompositingState):
51648         * platform/graphics/ca/GraphicsLayerCA.cpp:
51649         (WebCore::GraphicsLayerCA::syncCompositingState):
51650         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
51651         (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
51652         (WebCore::GraphicsLayerCA::updateSublayerList):
51653         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
51654         * platform/graphics/ca/GraphicsLayerCA.h:
51655         * platform/graphics/ca/PlatformCALayer.h:
51656         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
51657         (PlatformCALayer::synchronouslyDisplayTilesInRect):
51658         * platform/graphics/transforms/TransformState.cpp:
51659         (WebCore::TransformState::operator=):
51660         * platform/graphics/transforms/TransformState.h:
51661         (WebCore::TransformState::TransformState):
51662         * rendering/RenderLayerCompositor.cpp:
51663         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
51664
51665 2011-08-08  Sheriff Bot  <webkit.review.bot@gmail.com>
51666
51667         Unreviewed, rolling out r92619.
51668         http://trac.webkit.org/changeset/92619
51669         https://bugs.webkit.org/show_bug.cgi?id=65881
51670
51671         This patch breaks chromium canary (Requested by jianli on
51672         #webkit).
51673
51674         * bindings/v8/V8Binding.h:
51675         * bindings/v8/V8GCController.cpp:
51676         (WebCore::globalHandleMap):
51677         (WebCore::enumerateGlobalHandles):
51678         (WebCore::V8GCController::registerGlobalHandle):
51679         (WebCore::V8GCController::unregisterGlobalHandle):
51680         * bindings/v8/V8HiddenPropertyName.cpp:
51681         (WebCore::V8HiddenPropertyName::createString):
51682         * bindings/v8/V8HiddenPropertyName.h:
51683         * bindings/v8/V8LazyEventListener.cpp:
51684         (WebCore::V8LazyEventListener::prepareListenerObject):
51685         * bindings/v8/V8NPObject.cpp:
51686         * bindings/v8/V8Proxy.cpp:
51687         (WebCore::V8Proxy::checkNewLegal):
51688         * bindings/v8/V8Utilities.h:
51689         (WebCore::AllowAllocation::AllowAllocation):
51690         (WebCore::AllowAllocation::~AllowAllocation):
51691         (WebCore::SafeAllocation::newInstance):
51692         * bindings/v8/WorkerContextExecutionProxy.cpp:
51693         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
51694         (WebCore::WorkerContextExecutionProxy::initV8):
51695         * bindings/v8/WorkerContextExecutionProxy.h:
51696         * bindings/v8/WorkerScriptController.cpp:
51697         (WebCore::WorkerScriptController::scheduleExecutionTermination):
51698
51699 2011-08-08  Scott Byer  <scottbyer@chromium.org>
51700
51701         Scroll animator changes to nail the framerate
51702         https://bugs.webkit.org/show_bug.cgi?id=65645
51703
51704         Reviewed by James Robinson.
51705
51706         Partial test in ScrollAnimatorNoneTest::Enabled.
51707
51708         * platform/ScrollAnimatorNone.cpp:
51709         (WebCore::ScrollAnimatorNone::PerAxisData::PerAxisData):
51710         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
51711         (WebCore::ScrollAnimatorNone::PerAxisData::animateScroll):
51712         (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
51713         (WebCore::ScrollAnimatorNone::~ScrollAnimatorNone):
51714         (WebCore::ScrollAnimatorNone::scroll):
51715         (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
51716         (WebCore::ScrollAnimatorNone::animationTimerFired):
51717         (WebCore::ScrollAnimatorNone::stopAnimationTimerIfNeeded):
51718         * platform/ScrollAnimatorNone.h:
51719
51720 2011-08-08  Emil A Eklund  <eae@chromium.org>
51721
51722         Switch legacy flexbox to to new layout types
51723         https://bugs.webkit.org/show_bug.cgi?id=65340
51724
51725         Reviewed by Eric Seidel.
51726
51727         No new tests, no new functionality.
51728
51729         * rendering/RenderDeprecatedFlexibleBox.cpp:
51730         (WebCore::RenderDeprecatedFlexibleBox::calcHorizontalPrefWidths):
51731         (WebCore::RenderDeprecatedFlexibleBox::calcVerticalPrefWidths):
51732         (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
51733         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
51734         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
51735         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
51736         (WebCore::RenderDeprecatedFlexibleBox::placeChild):
51737         (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
51738         * rendering/RenderDeprecatedFlexibleBox.h:
51739
51740 2011-08-08  Emil A Eklund  <eae@chromium.org>
51741
51742         Switch RenderStyle to to new layout types
51743         https://bugs.webkit.org/show_bug.cgi?id=65208
51744
51745         Reviewed by Eric Seidel.
51746
51747         No new tests, no new functionality.
51748
51749         * rendering/RenderBox.cpp:
51750         (WebCore::RenderBox::addShadowOverflow):
51751         * rendering/style/RenderStyle.cpp:
51752         (WebCore::RenderStyle::applyTransform):
51753         (WebCore::calcRadiiFor):
51754         (WebCore::RenderStyle::getRoundedBorderFor):
51755         (WebCore::RenderStyle::getRoundedInnerBorderFor):
51756         * rendering/style/RenderStyle.h:
51757         * rendering/style/ShadowData.cpp:
51758         (WebCore::ShadowData::adjustRectForShadow):
51759
51760 2011-08-08  Cris Neckar  <cdn@chromium.org>
51761
51762         Remove counter nodes from the tree and fix-up children when they are removed from the counter map.
51763         https://bugs.webkit.org/show_bug.cgi?id=65346
51764
51765         Reviewed by Adam Barth.
51766
51767         Covered by existing CSS counter tests.
51768
51769         * rendering/CounterNode.cpp:
51770         (WebCore::CounterNode::~CounterNode):
51771
51772 2011-08-08  Tony Chang  <tony@chromium.org>
51773
51774         implement basic horizontal flexing
51775         https://bugs.webkit.org/show_bug.cgi?id=65045
51776
51777         Reviewed by David Hyatt.
51778
51779         Test: css3/flexbox/001.html
51780
51781         * css/CSSPrimitiveValueMappings.h:
51782         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
51783         * rendering/RenderBox.cpp:
51784         (WebCore::RenderBox::computeLogicalWidth):
51785         * rendering/RenderFlexibleBox.cpp:
51786         (WebCore::RenderFlexibleBox::FlexibleBoxIterator::FlexibleBoxIterator): flexitem iterator
51787         (WebCore::RenderFlexibleBox::FlexibleBoxIterator::first):
51788         (WebCore::RenderFlexibleBox::FlexibleBoxIterator::next):
51789         (WebCore::RenderFlexibleBox::FlexibleBoxIterator::reset):
51790         (WebCore::RenderFlexibleBox::layoutBlock):
51791         (WebCore::preferredFlexItemContentWidth): Returns the intrinsic size of a flex item's content.
51792         (WebCore::RenderFlexibleBox::layoutHorizontalBlock): Runs the flex algorithm
51793         (WebCore::preferredSizeForMarginsAndPadding):
51794         (WebCore::RenderFlexibleBox::computePreferredSize): Calculate the preferred size of the
51795             flex items.
51796         * rendering/RenderFlexibleBox.h:
51797         * rendering/RenderObject.cpp:
51798         (WebCore::RenderObject::createObject):
51799         * rendering/style/RenderStyleConstants.h:
51800
51801 2011-08-08  David Grogan  <dgrogan@chromium.org>
51802
51803         Add detail to ASSERT message in IDBTransaction::enqueueEvent
51804         https://bugs.webkit.org/show_bug.cgi?id=65735
51805
51806         I've hit this a few times but haven't been able to pin it down.  The
51807         extra detail could be helpful.
51808
51809         Reviewed by Nate Chapin.
51810
51811         No new tests, just an error message.
51812
51813         * storage/IDBTransaction.cpp:
51814         (WebCore::IDBTransaction::enqueueEvent):
51815
51816 2011-08-08  Sheriff Bot  <webkit.review.bot@gmail.com>
51817
51818         Unreviewed, rolling out r92610.
51819         http://trac.webkit.org/changeset/92610
51820         https://bugs.webkit.org/show_bug.cgi?id=65868
51821
51822         Caused assertion failures when running fast/multicol tests
51823         (Requested by andersca on #webkit).
51824
51825         * WebCore.xcodeproj/project.pbxproj:
51826         * platform/PODIntervalTree.h:
51827         (WebCore::PODIntervalTree::allOverlaps):
51828         (WebCore::PODIntervalTree::searchForOverlapsFrom):
51829         * platform/PODRedBlackTree.h:
51830         (WebCore::PODRedBlackTree::add):
51831         (WebCore::PODRedBlackTree::remove):
51832         (WebCore::PODRedBlackTree::contains):
51833         (WebCore::PODRedBlackTree::visitInorder):
51834         (WebCore::PODRedBlackTree::size):
51835         (WebCore::PODRedBlackTree::checkInvariants):
51836         (WebCore::PODRedBlackTree::dump):
51837         * rendering/RenderBlock.cpp:
51838         (WebCore::RenderBlock::styleDidChange):
51839         (WebCore::RenderBlock::addOverflowFromFloats):
51840         (WebCore::RenderBlock::repaintOverhangingFloats):
51841         (WebCore::RenderBlock::paintFloats):
51842         (WebCore::RenderBlock::selectionGaps):
51843         (WebCore::RenderBlock::insertFloatingObject):
51844         (WebCore::RenderBlock::removeFloatingObject):
51845         (WebCore::RenderBlock::removeFloatingObjectsBelow):
51846         (WebCore::RenderBlock::positionNewFloats):
51847         (WebCore::RenderBlock::logicalLeftOffsetForLine):
51848         (WebCore::RenderBlock::logicalRightOffsetForLine):
51849         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
51850         (WebCore::RenderBlock::lowestFloatLogicalBottom):
51851         (WebCore::RenderBlock::addPositionedFloats):
51852         (WebCore::RenderBlock::clearFloats):
51853         (WebCore::RenderBlock::addOverhangingFloats):
51854         (WebCore::RenderBlock::hasOverhangingFloat):
51855         (WebCore::RenderBlock::addIntrudingFloats):
51856         (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
51857         (WebCore::RenderBlock::hitTestFloats):
51858         (WebCore::RenderBlock::adjustForBorderFit):
51859         (WebCore::RenderBlock::FloatingObjects::clear):
51860         * rendering/RenderBlock.h:
51861         (WebCore::RenderBlock::FloatingObject::FloatingObject):
51862         (WebCore::RenderBlock::FloatingObject::setX):
51863         (WebCore::RenderBlock::FloatingObject::setY):
51864         (WebCore::RenderBlock::FloatingObject::setWidth):
51865         (WebCore::RenderBlock::FloatingObject::setHeight):
51866         (WebCore::RenderBlock::FloatingObject::setFrameRect):
51867         (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
51868         (WebCore::RenderBlock::FloatingObjects::set):
51869         * rendering/RenderBlockLineLayout.cpp:
51870         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
51871         (WebCore::RenderBlock::linkToEndLineIfNeeded):
51872         (WebCore::RenderBlock::matchedEndLine):
51873         (WebCore::RenderBlock::positionNewFloatOnLine):
51874
51875 2011-08-08  Emil A Eklund  <eae@chromium.org>
51876
51877         Rename absoluteQuadsForRange and InlineTextBox::selectionRect to local*
51878         https://bugs.webkit.org/show_bug.cgi?id=65722
51879
51880         Reviewed by Simon Fraser.
51881
51882         No new tests, no new functionality.
51883
51884         * rendering/InlineTextBox.cpp:
51885         (WebCore::InlineTextBox::localSelectionRect):
51886         Rename InlineTextBox::selectionRect to localSelectionRect to reflect that
51887         it, unlike RenderObject::selectionRect returns a rect in the local
51888         coordinate space.
51889
51890         * rendering/InlineTextBox.h:
51891         * rendering/RenderText.cpp:
51892         (WebCore::localQuadForTextBox):
51893         (WebCore::RenderText::absoluteRectsForRange):
51894         (WebCore::RenderText::absoluteQuadsForRange):
51895         (WebCore::RenderText::selectionRectForRepaint):
51896         Rename absoluteQuadForTextBox to localQuadForTextBox to reflect that it
51897         returns a quad in the local coordinate space.
51898         
51899         * rendering/svg/RenderSVGInlineText.cpp:
51900         (WebCore::RenderSVGInlineText::localCaretRect):
51901         * rendering/svg/SVGInlineTextBox.cpp:
51902         (WebCore::SVGInlineTextBox::localSelectionRect):
51903         * rendering/svg/SVGInlineTextBox.h:
51904
51905 2011-08-08  Jochen Eisinger  <jochen@chromium.org>
51906
51907         Use a raw pointer to the security origin in the ctor of FrameLoadRequest
51908         https://bugs.webkit.org/show_bug.cgi?id=65852
51909
51910         Reviewed by Alexey Proskuryakov.
51911
51912         * loader/FrameLoadRequest.h:
51913         (WebCore::FrameLoadRequest::FrameLoadRequest):
51914         * loader/FrameLoader.cpp:
51915         (WebCore::FrameLoader::changeLocation):
51916         * loader/FrameLoader.h:
51917         * loader/NavigationScheduler.cpp:
51918         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
51919         (WebCore::ScheduledURLNavigation::fire):
51920         (WebCore::ScheduledRedirect::ScheduledRedirect):
51921         (WebCore::ScheduledLocationChange::ScheduledLocationChange):
51922         (WebCore::ScheduledRefresh::ScheduledRefresh):
51923         (WebCore::NavigationScheduler::scheduleLocationChange):
51924         * loader/NavigationScheduler.h:
51925
51926 2011-08-08  Ryosuke Niwa  <rniwa@webkit.org>
51927
51928         Remove redundant inline styles from the pasted contents more aggressively
51929         https://bugs.webkit.org/show_bug.cgi?id=65833
51930
51931         Reviewed by Tony Chang.
51932
51933         Make removeRedundantStylesAndKeepStyleSpanInline more aggressively remove redundant styles by realizing that
51934         when an editing inheritable property in an inline style declaration of an element can be safely removed
51935         if it is present either in style rules or in its ancestor and not overridden by style rules or default style
51936         of the element.
51937
51938         Test: editing/pasteboard/paste-with-redundant-style.html
51939
51940         * css/CSSStyleSelector.cpp:
51941         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Do not match author style sheets if AuthorCSSRules
51942         is not included in the rules to include. This is used in EditingStyle::removePropertiesInElementDefaultStyle.
51943         * editing/ApplyStyleCommand.cpp:
51944         (WebCore::isStyleSpanOrSpanWithOnlyStyleAttribute): Added; returns true if the element is a style span or
51945         span possibly with a style attribute.
51946         * editing/ApplyStyleCommand.h:
51947         * editing/EditingStyle.cpp:
51948         (WebCore::styleFromMatchedRulesForElement): Takes rulesToInclude.
51949         (WebCore::EditingStyle::mergeStyleFromRules): Calls styleFromMatchedRulesForElement with AuthorCSSRules
51950         | CrossOriginCSSRules to keep the original behavior.
51951         (WebCore::EditingStyle::removeStyleFromRulesAndContext): Renamed from removeStyleFromRules; removes styles that
51952         are present in context and not overridden by matched rules.
51953         (WebCore::EditingStyle::removePropertiesInElementDefaultStyle): Added.
51954         * editing/EditingStyle.h:
51955         * editing/ReplaceSelectionCommand.cpp:
51956         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): See the description above.
51957
51958 2011-08-08  Dmitry Lomov  <dslomov@google.com>
51959
51960         https://bugs.webkit.org/show_bug.cgi?id=65778
51961         [WebWorkers][chromium] Make statics thread-safe and make sure V8 API accesses correct isolates.
51962
51963         Reviewed by David Levin.
51964
51965         Covered by existing tests.
51966
51967         * bindings/v8/V8Binding.h:
51968         (WebCore::V8BindingPerIsolateData::lazyEventListenerToStringTemplate):
51969         (WebCore::V8BindingPerIsolateData::hiddenPropertyName):
51970         (WebCore::V8BindingPerIsolateData::globalHandleMap):
51971         (WebCore::AllowAllocation::AllowAllocation): Moving to V8Binding.h from V8Utilities.h to resolve header dependency.
51972         (WebCore::AllowAllocation::~AllowAllocation):
51973         (WebCore::AllowAllocation::current):
51974         (WebCore::SafeAllocation::newInstance):
51975         * bindings/v8/V8GCController.cpp:
51976         (WebCore::currentGlobalHandleMap):
51977         (WebCore::enumerateGlobalHandles):
51978         (WebCore::V8GCController::registerGlobalHandle):
51979         (WebCore::V8GCController::unregisterGlobalHandle):
51980         * bindings/v8/V8HiddenPropertyName.cpp:
51981         (WebCore::V8HiddenPropertyName::createString):
51982         * bindings/v8/V8HiddenPropertyName.h:
51983         * bindings/v8/V8LazyEventListener.cpp:
51984         (WebCore::V8LazyEventListener::prepareListenerObject):
51985         * bindings/v8/V8NPObject.cpp:
51986         * bindings/v8/V8Proxy.cpp:
51987         (WebCore::V8Proxy::checkNewLegal):
51988         * bindings/v8/V8Utilities.h:
51989         * bindings/v8/WorkerContextExecutionProxy.cpp:
51990         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
51991         (WebCore::WorkerContextExecutionProxy::initIsolate):
51992         * bindings/v8/WorkerContextExecutionProxy.h:
51993         * bindings/v8/WorkerScriptController.cpp:
51994         (WebCore::WorkerScriptController::scheduleExecutionTermination):
51995
51996 2011-08-08  Sheriff Bot  <webkit.review.bot@gmail.com>
51997
51998         Unreviewed, rolling out r92607.
51999         http://trac.webkit.org/changeset/92607
52000         https://bugs.webkit.org/show_bug.cgi?id=65865
52001
52002         This patch breaks Chromium Mac Canary (Requested by jianli on
52003         #webkit).
52004
52005         * platform/PlatformWheelEvent.h:
52006         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
52007         * platform/chromium/ScrollAnimatorChromiumMac.mm:
52008         (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
52009
52010 2011-08-08  Andrew Wason  <rectalogic@rectalogic.com>
52011
52012         [Qt] Implement WebGL antialiasing (part 3)
52013         https://bugs.webkit.org/show_bug.cgi?id=64879
52014
52015         Reviewed by Noam Rosenthal.
52016
52017         Existing WebGL layout tests cover this.
52018
52019         Implement WebGL antialiasing for Qt desktop.
52020         Existing code in GraphicsContext3DOpenGL.cpp manages the
52021         multisample FBO. GraphicsContext3DQt.cpp creates it and blits
52022         it to the regular FBO when painting.
52023         Requires adoption of Extensions3DOpenGL to be fully functional.
52024
52025         * platform/graphics/qt/GraphicsContext3DQt.cpp:
52026         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
52027         (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
52028         (WebCore::GraphicsContext3DInternal::paint):
52029         (WebCore::GraphicsContext3DInternal::multisampleResolve):
52030         (WebCore::GraphicsContext3D::GraphicsContext3D):
52031         (WebCore::GraphicsContext3D::~GraphicsContext3D):
52032
52033 2011-08-08  Anders Carlsson  <andersca@apple.com>
52034
52035         Fix build.
52036
52037         * platform/PODRedBlackTree.h:
52038         (WebCore::PODRedBlackTree::Counter::visit):
52039
52040 2011-08-08  Alexandru Chiculita  <achicu@adobe.com>
52041
52042         Optimize floating elements lookup
52043         https://bugs.webkit.org/show_bug.cgi?id=65668
52044
52045         Added an interval tree in the FloatingObjects structure. Also added new mechanisms to make
52046         sure the tree is updated correctly when a float is repositioned.
52047
52048         Changed the PODIntervalTree to support giving a search adapter that can be implemented by the
52049         client. I'm not adding a different bug for that because PODIntervalTree is not used anywhere else
52050         and would be hard to test that the change is not breaking anything.
52051
52052         Reviewed by David Hyatt.
52053
52054         No new tests, just a refactor on the floating objects data structure.
52055
52056         * WebCore.xcodeproj/project.pbxproj:
52057         * platform/PODIntervalTree.h:
52058         (WebCore::PODIntervalSearchAdapter::PODIntervalSearchAdapter):
52059         (WebCore::PODIntervalSearchAdapter::lowValue):
52060         (WebCore::PODIntervalSearchAdapter::highValue):
52061         (WebCore::PODIntervalSearchAdapter::collectIfNeeded):
52062         (WebCore::PODIntervalTree::PODIntervalTree):
52063         (WebCore::PODIntervalTree::allOverlaps):
52064         (WebCore::PODIntervalTree::allOverlapsWithAdapter):
52065         (WebCore::PODIntervalTree::searchForOverlapsFrom):
52066         * platform/PODRedBlackTree.h:
52067         (WebCore::PODRedBlackTree::PODRedBlackTree):
52068         (WebCore::PODRedBlackTree::clear):
52069         (WebCore::PODRedBlackTree::isInitialized):
52070         (WebCore::PODRedBlackTree::initIfNeeded):
52071         (WebCore::PODRedBlackTree::add):
52072         (WebCore::PODRedBlackTree::remove):
52073         (WebCore::PODRedBlackTree::contains):
52074         (WebCore::PODRedBlackTree::visitInorder):
52075         (WebCore::PODRedBlackTree::size):
52076         (WebCore::PODRedBlackTree::checkInvariants):
52077         (WebCore::PODRedBlackTree::dump):
52078         * rendering/RenderBlock.cpp:
52079         (WebCore::RenderBlock::styleDidChange):
52080         (WebCore::RenderBlock::addOverflowFromFloats):
52081         (WebCore::RenderBlock::repaintOverhangingFloats):
52082         (WebCore::RenderBlock::paintFloats):
52083         (WebCore::RenderBlock::selectionGaps):
52084         (WebCore::RenderBlock::insertFloatingObject):
52085         (WebCore::RenderBlock::removeFloatingObject):
52086         (WebCore::RenderBlock::removeFloatingObjectsBelow):
52087         (WebCore::RenderBlock::positionNewFloats):
52088         (WebCore::::collectIfNeeded):
52089         (WebCore::RenderBlock::logicalLeftOffsetForLine):
52090         (WebCore::RenderBlock::logicalRightOffsetForLine):
52091         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
52092         (WebCore::RenderBlock::lowestFloatLogicalBottom):
52093         (WebCore::RenderBlock::addPositionedFloats):
52094         (WebCore::RenderBlock::clearFloats):
52095         (WebCore::RenderBlock::addOverhangingFloats):
52096         (WebCore::RenderBlock::hasOverhangingFloat):
52097         (WebCore::RenderBlock::addIntrudingFloats):
52098         (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
52099         (WebCore::RenderBlock::hitTestFloats):
52100         (WebCore::RenderBlock::adjustForBorderFit):
52101         (WebCore::RenderBlock::FloatingObjects::clear):
52102         (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject):
52103         (WebCore::RenderBlock::FloatingObjects::addPlacedObject):
52104         (WebCore::RenderBlock::FloatingObjects::removePlacedObject):
52105         (WebCore::RenderBlock::FloatingObjects::add):
52106         (WebCore::RenderBlock::FloatingObjects::remove):
52107         (WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTree):
52108         (WebCore::::string):
52109         * rendering/RenderBlock.h:
52110         (WebCore::RenderBlock::FloatingObject::FloatingObject):
52111         (WebCore::RenderBlock::FloatingObject::setX):
52112         (WebCore::RenderBlock::FloatingObject::setY):
52113         (WebCore::RenderBlock::FloatingObject::setWidth):
52114         (WebCore::RenderBlock::FloatingObject::setHeight):
52115         (WebCore::RenderBlock::FloatingObject::setFrameRect):
52116         (WebCore::RenderBlock::FloatingObject::isInPlacedTree):
52117         (WebCore::RenderBlock::FloatingObject::setIsInPlacedTree):
52118         (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
52119         (WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
52120         (WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
52121         (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
52122         (WebCore::RenderBlock::FloatingObjects::setHorizontalWritingMode):
52123         (WebCore::RenderBlock::FloatingObjects::set):
52124         (WebCore::RenderBlock::FloatingObjects::placedFloatsTree):
52125         (WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTreeIfNeeded):
52126         * rendering/RenderBlockLineLayout.cpp:
52127         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
52128         (WebCore::RenderBlock::linkToEndLineIfNeeded):
52129         (WebCore::RenderBlock::matchedEndLine):
52130         (WebCore::RenderBlock::positionNewFloatOnLine):
52131
52132 2011-08-08  Alexei Svitkine  <asvitkine@chromium.org>
52133
52134         [Chromium] Enable rubber banding when scrolling.
52135
52136         https://bugs.webkit.org/show_bug.cgi?id=65707
52137
52138         Reviewed by Dimitri Glazkov.
52139
52140         No new tests since this is just syncing changes to chromium platform.
52141
52142         * platform/PlatformWheelEvent.h:
52143         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
52144         * platform/chromium/ScrollAnimatorChromiumMac.mm:
52145         (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
52146
52147 2011-08-08  Dan Bernstein  <mitz@apple.com>
52148
52149         Build fix.
52150
52151         * html/NumberInputType.cpp:
52152         (WebCore::NumberInputType::sizeShouldIncludeDecoration): Fixed an obvious typo.
52153
52154 2011-08-08  Andras Becsi  <abecsi@webkit.org>
52155
52156         [Qt] Clean up project file after r92492.
52157
52158         Unreviewed gardening.
52159
52160         No new tests needed.
52161
52162         * WebCore.pro: remove nonexistent PluginHalterClient.h, PluginHalter.h, HaltablePlugin.h.
52163
52164 2011-08-08  Pavel Podivilov  <podivilov@chromium.org>
52165
52166         Web Inspector: refactor links creation.
52167         https://bugs.webkit.org/show_bug.cgi?id=65612
52168
52169         Reviewed by Pavel Feldman.
52170
52171         No new tests - it is refactoring, modified code covered by script-formatter.html test.
52172
52173         * inspector/front-end/ConsoleView.js:
52174         (WebInspector.ConsoleMessage.prototype._formatMessage):
52175         (WebInspector.ConsoleMessage.prototype._linkifyLocation):
52176         (WebInspector.ConsoleMessage.prototype._linkifyCallFrame):
52177         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
52178         * inspector/front-end/DebuggerPresentationModel.js:
52179         (WebInspector.DebuggerPresentationModel):
52180         (WebInspector.DebuggerPresentationModel.prototype.addSourceMappingListener):
52181         (WebInspector.DebuggerPresentationModel.prototype.removeSourceMappingListener):
52182         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor.didGetLocation):
52183         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
52184         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
52185         (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
52186         (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
52187         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
52188         * inspector/front-end/EventListenersSidebarPane.js:
52189         * inspector/front-end/NetworkPanel.js:
52190         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
52191         * inspector/front-end/Panel.js:
52192         * inspector/front-end/ProfileDataGridTree.js:
52193         (WebInspector.ProfileDataGridNode.prototype.createCell):
52194         * inspector/front-end/ScriptsPanel.js:
52195         (WebInspector.ScriptsPanel.prototype._folderAndDisplayNameForScriptURL):
52196         * inspector/front-end/StylesSidebarPane.js:
52197         (WebInspector.StylePropertiesSection.linkifyUncopyable):
52198         (WebInspector.StylePropertiesSection):
52199         * inspector/front-end/TimelinePanel.js:
52200         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
52201         (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyLocation):
52202         (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyCallFrame):
52203         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
52204         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
52205         * inspector/front-end/inspector.js:
52206         (WebInspector._showSettingsScreen):
52207         (WebInspector.formatLinkText):
52208         (WebInspector.linkifyResourceAsNode):
52209
52210 2011-08-08  Andrew Wason  <rectalogic@rectalogic.com>
52211
52212         [Qt] Implement WebGL antialiasing (part 3)
52213         https://bugs.webkit.org/show_bug.cgi?id=64879
52214
52215         Reviewed by Noam Rosenthal.
52216
52217         Existing WebGL layout tests.
52218
52219         Adopt Extensions3DOpenGL for Qt desktop as a prerequisite
52220         for implementing WebGL antialiasing.
52221         Extensions3DQt is still used for ES2.
52222
52223         * WebCore.pri:
52224         * WebCore.pro:
52225         * platform/graphics/GraphicsContext3D.h:
52226         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
52227         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
52228         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
52229         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
52230         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
52231         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
52232         (WebCore::GraphicsContext3D::getExtensions):
52233         * platform/graphics/qt/GraphicsContext3DQt.cpp:
52234         (WebCore::GraphicsContext3D::layerComposited):
52235
52236 2011-08-08  Benjamin Poulain  <benjamin@webkit.org>
52237
52238         Build fix after r92589, defaultSize is not used.
52239         
52240         Reviewed by Andreas Kling.
52241
52242         * html/InputType.cpp:
52243         (WebCore::InputType::sizeShouldIncludeDecoration):
52244
52245 2011-08-08  Keishi Hattori  <keishi@webkit.org>
52246
52247         Implement <input type=color> UI behavior WebCore part
52248         https://bugs.webkit.org/show_bug.cgi?id=62619
52249
52250         Reviewed by Kent Tamura.
52251
52252         * WebCore.exp.in: Added __ZN7WebCore12ColorChooser7chooserEv and
52253         __ZNK7WebCore12ColorChooser13colorSelectedERKNS_5ColorE
52254         * WebCore.xcodeproj/project.pbxproj: Added ColorChooser.{h,cpp}
52255         * html/ColorInputType.cpp:
52256         (WebCore::ColorInputType::~ColorInputType): Added. Close color chooser. ex. when type attribute changes.
52257         (WebCore::ColorInputType::valueAsColor): Added.
52258         (WebCore::ColorInputType::setValueAsColor): Added.
52259         (WebCore::ColorInputType::valueChanged): Update selected color in color chooser too.
52260         (WebCore::ColorInputType::handleClickEvent): Opens color chooser.
52261         (WebCore::ColorInputType::handleDOMActivateEvent): Called when element.click(). Open color chooser only
52262         when it was initiated by a user interaction.
52263         (WebCore::ColorInputType::detach): Close color chooser. Called when input element or its ancestors have "display:none"
52264         or is removed from DOM.
52265         (WebCore::ColorInputType::colorSelected): Callback from color chooser.
52266         (WebCore::ColorInputType::isColorInputType): Returns true.
52267         (WebCore::ColorInputType::closeColorChooserIfCurrentClient): Close color chooser if this input type is the current client of ColorChooser.
52268         * html/ColorInputType.h:
52269         * html/FileInputType.cpp:
52270         * html/FileInputType.h:
52271         * html/HTMLInputElement.cpp:
52272         (WebCore::HTMLInputElement::detach): Calls InputType::detach
52273         * html/InputType.cpp:
52274         (WebCore::InputType::chrome): Added. Used in FileInputType and ColorInputType.
52275         (WebCore::InputType::detach): ColorInputType overrides this.
52276         * html/InputType.h:
52277         * loader/EmptyClients.h:
52278         (WebCore::EmptyChromeClient::openColorChooser):
52279         (WebCore::EmptyChromeClient::closeColorChooser):
52280         (WebCore::EmptyChromeClient::setSelectedColorInColorChooser):
52281         * loader/FrameLoader.cpp:
52282         (WebCore::FrameLoader::transitionToCommitted): Close color chooser when navigating away from the page. We do this here
52283         because ColorInputType::detach() is called seconds after the page transition so it is too slow.
52284         * page/Chrome.cpp:
52285         (WebCore::Chrome::openColorChooser): Added.
52286         (WebCore::Chrome::closeColorChooser): Added.
52287         (WebCore::Chrome::setSelectedColorInColorChooser): Added.
52288         * page/Chrome.h:
52289         * page/ChromeClient.h:
52290         * platform/ColorChooser.cpp: Added.
52291         (WebCore::ColorChooserClient::~ColorChooserClient): Disconnects itself from the ColorChooser.
52292         (WebCore::ColorChooser::chooser): Get shared instance of ColorChooser.
52293         (WebCore::ColorChooser::connectClient): Connects a ColorChooserClient that receives the colorSelected callbacks.
52294         (WebCore::ColorChooser::disconnectClient): Disconnects the connectClient.
52295         (WebCore::ColorChooser::colorSelected): Called from color chooser listener.
52296         * platform/ColorChooser.h: Added.
52297         (WebCore::ColorChooserClient::isColorInputType): Added.
52298         (WebCore::ColorChooser::client): Added. Returns the current connected client.
52299         (WebCore::ColorChooser::ColorChooser): Added.
52300
52301 2011-08-08  Shinya Kawanaka  <shinyak@google.com>
52302
52303         The input[type=number] element should be as wide as necessary to show the widest possible value.
52304         https://bugs.webkit.org/show_bug.cgi?id=60673
52305
52306         Reviewed by Kent Tamura.
52307
52308         The size of input[type=number] is calculated from min/max/step attributes to show the widest possible value.
52309         If min or max attribute is absent, the default size is used.
52310         Also, if its css width is not auto, the width is used with priority.
52311
52312         If min/max/attribute is set dynamically, the size of the input[type=number] will be recalculated.
52313
52314         Test: fast/forms/input-number-size.html
52315
52316         * html/HTMLInputElement.cpp:
52317         (WebCore::HTMLInputElement::parseMappedAttribute):
52318            Added stepAttributeChanged handler.
52319         (WebCore::HTMLInputElement::sizeShouldIncludeDecoration):
52320            Returns true if a renderer should include decoration (e.g. inner spinbox).
52321            Also returns the preferred size of the input.
52322         * html/HTMLInputElement.h:
52323         * html/InputType.cpp:
52324         (WebCore::InputType::sizeShouldIncludeDecoration):
52325            Same as WebCore::HTMLInputElement::sizeShouldIncludeDecoration.
52326         (WebCore::InputType::stepAttributeChanged):
52327            Will be called When step attribute is changed.
52328            Sets a flag to recalculate layout.
52329         * html/InputType.h:
52330         * html/NumberInputType.cpp:
52331         (WebCore::lengthBeforeDecimalPoint):
52332            Calculates the width before the decimal point.
52333         (WebCore::NumberInputType::sizeShouldIncludeDecoration):
52334            Same as WebCore::HTMLInputElement::sizeShouldIncludeDecoration.
52335            However, this will calculate the preferred size from min/max/step attribute.
52336         (WebCore::NumberInputType::minOrMaxAttributeChanged):
52337            Sets a flag to recalculate layout.
52338         (WebCore::NumberInputType::stepAttributeChanged): ditto.
52339         * html/NumberInputType.h:
52340         * rendering/RenderTextControlSingleLine.cpp:
52341         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
52342            Uses preferredSize instead of size.
52343            Also, adds innerSpinButtonElement size to width if sizeShouldIncludeDecoration returns true.
52344
52345 2011-08-08  Kenichi Ishibashi  <bashi@chromium.org>
52346
52347         Should not use C-style cast in CSSParser.cpp
52348         https://bugs.webkit.org/show_bug.cgi?id=65807
52349
52350         Remove C-style cast.
52351
52352         Reviewed by Kent Tamura.
52353
52354         No new tests because no behavior change.
52355
52356         * css/CSSParser.cpp:
52357         (WebCore::CSSParser::parseAnimationTimingFunction): Replaced a cast with clampToInteger().
52358         (WebCore::CSSParser::parseFontFeatureTag): Ditto.
52359         (WebCore::CSSParser::createKeyframeRule): Replaced a cast with C++-style cast.
52360
52361 2011-08-05  Pavel Feldman  <pfeldman@chromium.org>
52362
52363         Web Inspector: implement dock/undock in WebKit2 without getting into WebCore.
52364         https://bugs.webkit.org/show_bug.cgi?id=65763
52365
52366         InspectorFrontendClient.h can't have synchronous canAttachWindow() returning value
52367         since in the multiprocess environment, you can't immediately get back to it from the host.
52368
52369         r92384 introduced an unhealthy WebKit -> WebCore -> WebKit canAttach query where embedder
52370         was asking itself a question. This loop was fixed.
52371
52372         Reviewed by Yury Semikhatsky.
52373
52374         * WebCore.exp.in:
52375         * inspector/InspectorController.cpp:
52376         * inspector/InspectorController.h:
52377         * inspector/InspectorFrontendClient.h:
52378         * inspector/InspectorFrontendClientLocal.h:
52379         * inspector/front-end/inspector.js:
52380         (windowLoaded):
52381
52382 2011-07-28  Kent Tamura  <tkent@chromium.org>
52383
52384         [Chromium] Make form validation bubble fit with Chrome UI style
52385         https://bugs.webkit.org/show_bug.cgi?id=65359
52386
52387         Reviewed by Hajime Morita.
52388
52389         Change the appearance of validation message bubble for
52390         Chromium. Basically it doesn't change for other ports.
52391
52392         - Introduce a new element to put an icon, and enclose it and the
52393         message text by a flexible box.
52394         - Repesent the message text by two elements. One for the heading,
52395         another for the remaining.
52396
52397         - Introduce themeChromium.css
52398
52399         * WebCore.gyp/WebCore.gyp: Add themeChromium.css.
52400         * css/html.css:
52401         (::-webkit-validation-bubble-message): Make this a flexible box container.
52402         (::-webkit-validation-bubble-text-block): Takes flexibility.
52403         (::-webkit-validation-bubble-heading):
52404         Make the content bold because we removed <b></b>.
52405         * css/themeChromium.css: Added.
52406         (::-webkit-validation-bubble):
52407         (::-webkit-validation-bubble-message):
52408         (::-webkit-validation-bubble-arrow):
52409         (::-webkit-validation-bubble-arrow-clipper):
52410         (::-webkit-validation-bubble-icon):
52411         (::-webkit-validation-bubble-heading):
52412         (::-webkit-validation-bubble-body):
52413         * html/ValidationMessage.cpp:
52414         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
52415         Sets the text into m_messageHeading and m_messageBody, instead of m_bubbleMessage.
52416         Use ASSERT_NO_EXCEPTION.
52417         (WebCore::ValidationMessage::buildBubbleTree):
52418         Build the new structure, and use ASSERT_NO_EXCEPTION.
52419         (WebCore::ValidationMessage::deleteBubbleTree):
52420         Clear m_messageHeading and m_messageBody.
52421         * html/ValidationMessage.h:
52422         * rendering/RenderThemeChromiumMac.h: Add extraDefaultStyleSheet().
52423         * rendering/RenderThemeChromiumMac.mm:
52424         (WebCore::RenderThemeChromiumMac::extraDefaultStyleSheet): Append themeChromium.css.
52425         * rendering/RenderThemeChromiumSkia.cpp:
52426         (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet): Append themeChromium.css.
52427
52428 2011-08-07  Keishi Hattori  <keishi@webkit.org>
52429
52430         Sort WebCore.xcodeproj
52431         Accomplished using sort-Xcode-project-file.
52432
52433         * WebCore.xcodeproj/project.pbxproj:
52434
52435 2011-08-07  James Kozianski  <koz@chromium.org>
52436
52437         Make the fullscreen JS API enabled at runtime.
52438         https://bugs.webkit.org/show_bug.cgi?id=65501
52439
52440         Reviewed by Adam Barth.
52441
52442         * bindings/generic/RuntimeEnabledFeatures.cpp:
52443         * bindings/generic/RuntimeEnabledFeatures.h:
52444         (WebCore::RuntimeEnabledFeatures::webkitFullScreenAPIEnabled):
52445         (WebCore::RuntimeEnabledFeatures::setWebkitFullScreenAPIEnabled):
52446         (WebCore::RuntimeEnabledFeatures::webkitRequestFullScreenEnabled):
52447         (WebCore::RuntimeEnabledFeatures::webkitIsFullScreenEnabled):
52448         (WebCore::RuntimeEnabledFeatures::webkitFullScreenKeyboardInputAllowedEnabled):
52449         (WebCore::RuntimeEnabledFeatures::webkitCurrentFullScreenElementEnabled):
52450         (WebCore::RuntimeEnabledFeatures::webkitCancelFullScreenEnabled):
52451         * dom/Document.idl:
52452         * dom/Element.idl:
52453
52454 2011-08-07  Martin Robinson  <mrobinson@igalia.com>
52455
52456         Distribution fix for GTK+.
52457
52458         * GNUmakefile.am: Add some files to the distribution list.
52459         * GNUmakefile.list.am: Strip removed files from the source list.
52460
52461 2011-08-07  Jochen Eisinger  <jochen@chromium.org>
52462
52463         Move FrameLoadRequest to loader/
52464         https://bugs.webkit.org/show_bug.cgi?id=65817
52465
52466         Reviewed by Alexey Proskuryakov.
52467
52468         * GNUmakefile.list.am:
52469         * WebCore.gypi:
52470         * WebCore.vcproj/WebCore.vcproj:
52471         * WebCore.xcodeproj/project.pbxproj:
52472         * loader/FrameLoadRequest.h:
52473         (WebCore::FrameLoadRequest::FrameLoadRequest):
52474         (WebCore::FrameLoadRequest::isEmpty):
52475         (WebCore::FrameLoadRequest::requester):
52476         (WebCore::FrameLoadRequest::resourceRequest):
52477         (WebCore::FrameLoadRequest::frameName):
52478         (WebCore::FrameLoadRequest::setFrameName):
52479
52480 2011-08-07  Sam White  <samuel.white@rochester.edu>
52481
52482         Add the ability to search the AccessibilityObject cache
52483         https://bugs.webkit.org/show_bug.cgi?id=64994
52484         
52485         New AccessibilityObject cache search functionality and API for the mac
52486         platform to expose it. At this point the AccessibilityObject cache can
52487         be searched using one of the supported search keys that have been defined
52488         in AccessibilityObject.h, or by passing search text.
52489
52490         Reviewed by Chris Fleizach.
52491
52492         Test: platform/mac/accessibility/search-predicate.html
52493
52494         * accessibility/AccessibilityObject.cpp:
52495         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
52496         (WebCore::AccessibilityObject::isAccessibilityTextSearchMatch):
52497         (WebCore::AccessibilityObject::accessibilityObjectContainsText):
52498         (WebCore::AccessibilityObject::accessibleObjectsWithAccessibilitySearchPredicate):
52499         * accessibility/AccessibilityObject.h:
52500         * accessibility/mac/AccessibilityObjectWrapper.mm:
52501         (createAccessibilitySearchKeyMap):
52502         (accessibilitySearchKeyForString):
52503         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
52504         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
52505
52506 2011-08-06  Mark Rowe  <mrowe@apple.com>
52507
52508         Fix a memory leak found via code inspection.
52509
52510         Rubber-stamped by Dan Bernstein.
52511
52512         * platform/mac/PasteboardMac.mm:
52513         (WebCore::Pasteboard::writeSelection): Adopt the newly-allocated WebHTMLConverter
52514         instance so that it does not leak.
52515
52516 2011-08-05  Darin Adler  <darin@apple.com>
52517
52518         Fix Timer heap implementation to work with more libraries (other versions of STL)
52519         https://bugs.webkit.org/show_bug.cgi?id=65782
52520
52521         Reviewed by Anders Carlsson.
52522
52523         No behavior change, so no tests needed. Existing tests pass.
52524
52525         * platform/Timer.cpp: Added TimerHeapPointer and TimerHeapReference class
52526         alongside the TimerHeapIterator class. Also added a swap function. Also
52527         added a TimerHeapLessThanFunction class.
52528         (WebCore::TimerBase::heapDecreaseKey): Pass pointers in to the TimerHeapIterator
52529         since that's how the class works now. Pass a TimerHeapLessThanFunction object
52530         instead of letting the library use the < operator directly.
52531         (WebCore::TimerBase::heapPopMin): Ditto.
52532
52533         * platform/Timer.h: Updated for above changes.
52534
52535 2011-08-06  Aron Rosenberg  <arosenberg@logitech.com>
52536
52537         Reviewed by Benjamin Poulain.
52538
52539         [Qt] Fix build with Intel compiler on Windows
52540         https://bugs.webkit.org/show_bug.cgi?id=65088
52541
52542         Intel compiler needs .lib suffixes instead of .a
52543
52544         * WebCore.pri:
52545
52546 2011-08-06  Dan Bernstein  <mitz@apple.com>
52547
52548         Move the shared LineBreakIteratorPool from ThreadGlobalData into its own ThreadSpecific
52549         https://bugs.webkit.org/show_bug.cgi?id=65809
52550
52551         Reviewed by Darin Adler and Sam Weinig.
52552
52553         * platform/ThreadGlobalData.cpp:
52554         (WebCore::ThreadGlobalData::destroy): Removed code to clear the m_lineBreakIteratorPool member
52555         variable, which was removed.
52556         * platform/ThreadGlobalData.h: Removed lineBreakIteratorPool() and associated member variable.
52557         * platform/text/LineBreakIteratorPoolICU.h:
52558         (WebCore::LineBreakIteratorPool::sharedPool): Changed to return a thread-specific pool.
52559
52560 2011-08-06  Joseph Pecoraro  <joepeck@webkit.org>
52561
52562         Potential Leaks - RetainPtr<> over retaining Create'd objects
52563         https://bugs.webkit.org/show_bug.cgi?id=65806
52564
52565         Reviewed by Darin Adler.
52566
52567         Fix a possible leak by adopting an allocation instead of retaining it.
52568
52569         * platform/network/mac/NetworkStateNotifierMac.cpp:
52570         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
52571         * plugins/mac/PluginPackageMac.cpp:
52572         (WebCore::stringListFromResourceId):
52573         (WebCore::PluginPackage::fetchInfo):
52574
52575 2011-08-06  Rafael Brandao  <rafael.lobo@openbossa.org>
52576
52577         REGRESSION (r91540): Favicons are not loaded
52578         https://bugs.webkit.org/show_bug.cgi?id=65692
52579
52580         Reviewed by Darin Adler.
52581
52582         The policy that evaluates whether a page can have icon or not should not
52583         need to be reimplemented each time a new IconDatabaseBase is derived,
52584         so it was moved to WebCore's scope.
52585
52586         * loader/icon/IconController.cpp:
52587         (WebCore::IconController::startLoader):
52588         * loader/icon/IconDatabase.cpp:
52589         * loader/icon/IconDatabase.h:
52590         * loader/icon/IconDatabaseBase.cpp:
52591         (WebCore::documentCanHaveIcon):
52592         * loader/icon/IconDatabaseBase.h:
52593
52594 2011-08-06  Kenichi Ishibashi  <bashi@chromium.org>
52595
52596         Should use C++-style cast in CSSParser.cpp
52597         https://bugs.webkit.org/show_bug.cgi?id=65807
52598
52599         Replaces C-style cast with C++style cast.
52600
52601         Reviewed by Shinichiro Hamaji.
52602
52603         No new tests because no behavior change.
52604
52605         * css/CSSParser.cpp:
52606         (WebCore::CSSParser::parseAnimationTimingFunction):
52607         (WebCore::CSSParser::parseFont):
52608         (WebCore::CSSParser::parseColorFromValue):
52609         (WebCore::CSSParser::parseFontFeatureTag):
52610
52611 2011-08-06  Nikolas Zimmermann  <nzimmermann@rim.com>
52612
52613         REGRESSION(87526): ASSERT(!needsLayout()) followed by graphical glitches on google charts (svg loaded in iframe)
52614         https://bugs.webkit.org/show_bug.cgi?id=64974
52615
52616         svg/zoom/page/zoom-svg-through-object-with-*.xhtml are flaky
52617         https://bugs.webkit.org/show_bug.cgi?id=63186
52618
52619         Reviewed by Zoltan Herczeg.
52620
52621         Fix host <-> embedded document size negotiation race. The currently implemented solution relied on a specific
52622         order of paint/layout calls, which is broken. Consider rendering a document containing an object/iframe/embed
52623         referencing an external SVG file. When FrameView::layout() is called (associated with the outermost RenderView
52624         of the host document), it lays out the whole document, and afterwards performPostLayoutTasks() is called.
52625         This method then asks the Frames contentRenderer to update its widget positions. This triggers a call
52626         of the embedded documents FrameView::layout() method, which now lays out the embedded SVG documents tree
52627         through RenderSVGRoot::layout.
52628
52629         And here's the bug: The size of the object/iframe replaced element, which hosts the embedded document
52630         may depend on the intrinsic size of the SVG. We tried to mark the embedded documents _ownerRenderer_ (the RenderPart)
52631         as "needs layout and pref width recalc" right from RenderSVGRoot::layout() and hoped that this would cause the whole
52632         document to be laid out again, now that the size of the embedded SVG document is known.
52633
52634         As soon as the SVG document is laid out, the host document will be painted (flush deferred repaints) and an assertion
52635         ASSERTS(!needsLayout()) will be fired, as we modified the setNeedsLayout() state after the host document layout finished,
52636         right before painting.
52637
52638         A proper fix is to only keep track in RenderSVGRoot whether it needs to negotiate the size with the host document, but
52639         not modify the layout state of the host document in any way. Let FrameView handle the size negotiation right in
52640         FrameView::layout().
52641
52642         Consider following document:
52643         <body><iframe src="some.svg"></body>
52644         
52645         After initial loading & parsing of the document, a FrameView exists for the main frame, and a sub-FrameView
52646         for the <iframe>. The external SVG document, may not be loaded yet at this point. That means when RenderIFrame::layout()
52647         tries to figure out its size (computeLogicalWidth/Height) - the RenderSVGRoot renderer of the external document hasn't
52648         been created yet (as the external document hasn't received data yet) - so it falls back to eg. 300x150 CSS default size
52649         (in the simplest case, where width/height are both auto).
52650
52651         Suppose the external document now finished loading, the RenderSVGRoot is created and a global relayout is triggered
52652         starting from the main FrameView. As we already laid out the document once, needsLayout() is false for the main FrameView,
52653         so _only_ the child frame view that contains the RenderSVGRoot is now laid out, for the first time.
52654
52655         After layout is done, the SVG document is fully laid out, though the RenderPart which embedded the SVG does NOT notice
52656         the SVG has been laid out, so it still carries the default 300x150 size (and needsLayout=false!).
52657
52658         The fix is to retrigger layout of the parent frame view by marking the owner renderer of the frame view as "needs layout
52659         and pref widths recalc" and immediatiely performing a synchronous update of the layout. It's important to do it sync,
52660         as scripts depend on the result of the size negotiation (covered extensively with the new tests in svg/as-object).
52661
52662         Reenable svg/zoom/page/zoom-svg-through-object* tests to see whether the flakiness is gone.
52663
52664         Tests: svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-1.html
52665                svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-2.html
52666                svg/as-object/embedded-svg-immediate-offsetWidth-query.html
52667                svg/as-object/embedded-svg-size-changes-no-layout-triggers.html
52668                svg/as-object/embedded-svg-size-changes.html
52669                svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-1.html
52670                svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-2.html
52671                svg/as-object/nested-embedded-svg-size-changes.html
52672                svg/zoom/page/zoom-svg-through-object-with-absolute-size-2.xhtml
52673                svg/zoom/page/zoom-svg-through-object-with-absolute-size.xhtml
52674                svg/zoom/page/zoom-svg-through-object-with-auto-size.html
52675                svg/zoom/page/zoom-svg-through-object-with-huge-size.xhtml
52676                svg/zoom/page/zoom-svg-through-object-with-override-size.html
52677                svg/zoom/page/zoom-svg-through-object-with-percentage-size.xhtml
52678
52679         * page/FrameView.cpp:
52680         (WebCore::FrameView::layout): Call forceLayoutParentViewIfNeeded() after layout finished.
52681         (WebCore::FrameView::forceLayoutParentViewIfNeeded): Added helper method.
52682         (WebCore::FrameView::embeddedContentBox): Moved from RenderPart to a more central place.
52683         * page/FrameView.h:
52684         * rendering/RenderPart.cpp:
52685         (WebCore::RenderPart::embeddedContentBox): Moved to FrameView.
52686         * rendering/svg/RenderSVGRoot.cpp: Rename m_didNegotiateSize to m_needsSizeNegotiationWithHostDocument.
52687         (WebCore::RenderSVGRoot::RenderSVGRoot):
52688         (WebCore::RenderSVGRoot::layout): Only figure out if we need neggotiation, don't actually do anything, let FrameView handle this.
52689         * rendering/svg/RenderSVGRoot.h: Remove incorrect negotiateSizeWithHostDocumentIfNeeded() logic.
52690         (WebCore::RenderSVGRoot::needsSizeNegotiationWithHostDocument): Added getter for m_needsSizeNegotiationWithHostDocument.
52691         (WebCore::RenderSVGRoot::scheduledSizeNegotiationWithHostDocument): Added safe way to clear m_needsSizeNegotiationWithHostDocument (asserts if it was false before).
52692
52693 2011-08-05  Noel Gordon  <noel.gordon@gmail.com>
52694
52695         [Chromium] Remove HaltablePlugin references from gyp project files
52696         https://bugs.webkit.org/show_bug.cgi?id=65808
52697
52698         HaltablePlugin and related classes were removed in r92492.  Remove any
52699         reference to the deleted files from the gyp project files.
52700
52701         Reviewed by Adam Barth.
52702
52703         * WebCore.gypi: remove HaltablePlugin.h reference.
52704
52705 2011-08-05  Mark Rowe  <mrowe@apple.com>
52706
52707         Attempt to fix the build after r92538.
52708
52709         Like all of the recent "track"-related work the new files in r92538 appear to have
52710         been added to completely random places in the Xcode project. However, this time
52711         the file paths were marked as being relative to their containing group resulting in
52712         Xcode being unable to find the files on disk.
52713
52714         I've attempted to clean up all of the "track"-related mess in the Xcode project.
52715         The location of the files in the project now reflect their locations on disk, and
52716         are all correctly marked as being relative to their containing group as is our
52717         convention.
52718
52719         * WebCore.xcodeproj/project.pbxproj:
52720
52721 2011-08-05  Tom Hudson  <tomhudson@google.com>
52722
52723         https://bugs.webkit.org/show_bug.cgi?id=64613
52724         Use supported framebuffer renderbuffer mode; chromium command buffer
52725         allows DEPTH and STENCIL but not DEPTH_STENCIL.
52726
52727         Reviewed by James Robinson.
52728
52729         No new tests because was caught by extant tests, albeit only when
52730         accelerated drawing and forced compositing were both turned on.
52731
52732         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
52733         (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
52734
52735 2011-08-05  Anna Cavender  <annacc@chromium.org>
52736
52737         Adding a WebVTTParser for <track>.
52738         https://bugs.webkit.org/show_bug.cgi?id=62882
52739
52740         Reviewed by Eric Carlson.
52741
52742         Feature is hidden behind VIDEO_TRACK feature define, which is turned off, but
52743         new tests have been added in media/track/ (and are skipped).
52744
52745         * CMakeLists.txt:
52746         * GNUmakefile.list.am:
52747         * WebCore.gypi:
52748         * WebCore.pro:
52749         * WebCore.xcodeproj/project.pbxproj:
52750         * html/TextTrackCue.cpp:
52751         * html/TextTrackCue.h:
52752         * platform/track/CueParser.cpp:
52753         * platform/track/CueParser.h:
52754         * platform/track/CueParserPrivate.h:
52755         * platform/track/WebVTTParser.cpp: Added.
52756         * platform/track/WebVTTParser.h: Added.
52757
52758 2011-08-05  Sheriff Bot  <webkit.review.bot@gmail.com>
52759
52760         Unreviewed, rolling out r92330.
52761         http://trac.webkit.org/changeset/92330
52762         https://bugs.webkit.org/show_bug.cgi?id=65804
52763
52764         caused various regressions in paste (Requested by rniwa on
52765         #webkit).
52766
52767         * editing/ReplaceSelectionCommand.cpp:
52768         (WebCore::isInlineNodeWithStyle):
52769         (WebCore::ReplaceSelectionCommand::doApply):
52770         * editing/markup.cpp:
52771         (WebCore::ancestorToRetainStructureAndAppearance):
52772         * editing/markup.h:
52773
52774 2011-08-05  Kent Tamura  <tkent@chromium.org>
52775
52776         Unreviewed, rolling out r92477.
52777         http://trac.webkit.org/changeset/92477
52778         https://bugs.webkit.org/show_bug.cgi?id=62619
52779
52780         Layering violation. We should not use WebCore/dom/ in
52781         WebCore/platform/.
52782
52783         * WebCore.exp.in:
52784         * WebCore.xcodeproj/project.pbxproj:
52785         * html/ColorInputType.cpp:
52786         (WebCore::ColorInputType::valueChanged):
52787         * html/ColorInputType.h:
52788         * html/FileInputType.cpp:
52789         (WebCore::FileInputType::chrome):
52790         * html/FileInputType.h:
52791         * html/HTMLInputElement.cpp:
52792         (WebCore::HTMLInputElement::detach):
52793         * html/InputType.cpp:
52794         * html/InputType.h:
52795         * loader/EmptyClients.h:
52796         * loader/FrameLoader.cpp:
52797         (WebCore::FrameLoader::transitionToCommitted):
52798         * page/Chrome.cpp:
52799         * page/Chrome.h:
52800         * page/ChromeClient.h:
52801         * platform/ColorChooser.cpp: Removed.
52802         * platform/ColorChooser.h: Removed.
52803
52804 2011-08-05  Darin Adler  <darin@apple.com>
52805
52806         Try to fix Qt Mac build.
52807
52808         * plugins/mac/PluginViewMac.mm: Removed PluginHalter functions.
52809
52810 2011-08-05  Joseph Pecoraro  <joepeck@webkit.org>
52811
52812         Leak in CFNetwork Loader RetainPtr<> should Adopt a Copy allocation
52813         https://bugs.webkit.org/show_bug.cgi?id=65789
52814
52815         Reviewed by David Kilzer.
52816
52817         Fix a leak by adopting an allocation instead of retaining it.
52818
52819         * platform/network/cf/FormDataStreamCFNet.cpp:
52820         (WebCore::httpBodyFromRequest):
52821
52822 2011-08-05  Ben Wells  <benwells@chromium.org>
52823
52824         Introduced fast path for border rendering when all visible sides are solid, same rgba color but not all visible
52825         https://bugs.webkit.org/show_bug.cgi?id=65762
52826
52827         Reviewed by Simon Fraser.
52828
52829         No intended change in behaviour, no new tests.
52830
52831         * rendering/RenderBoxModelObject.cpp:
52832         (WebCore::calculateSideRect):
52833         (WebCore::RenderBoxModelObject::paintBorderSides):
52834         (WebCore::RenderBoxModelObject::paintBorder):
52835
52836 2011-08-05  Kenichi Ishibashi  <bashi@chromium.org>
52837
52838         Unreviewed build fix on 32-bit Mac.
52839
52840         * css/CSSParser.cpp:
52841         (WebCore::CSSParser::parseFontFeatureTag): Added a cast to int.
52842
52843 2011-08-05  Ryosuke Niwa  <rniwa@webkit.org>
52844
52845         Upwards cursor movement incorrect when previous block ends with <br>
52846         https://bugs.webkit.org/show_bug.cgi?id=33247
52847
52848         Reviewed by Tony Chang.
52849
52850         The bug was caused by previousLinePosition's trying to obtain the root line box at the position
52851         after the previous line's br. This obviously fails because the the position after br is considered
52852         as a part of the next line.
52853
52854         Fixed the bug by obtaining root inline boxes using position at the minimum caret offset as supposed
52855         to maximum caret offset. The code was initially introduced by r32508 to fix arrow key movement in RTL text
52856         but the test added by the revision continues to pass after this change. Furthermore, this change makes
52857         new code consistent with nextLinePosition.
52858
52859         Also reverted the change added by r55613 because it is no longer needed.
52860
52861         Tests: editing/execCommand/move-selection-back-line-rtl.html
52862                editing/execCommand/move-selection-back-line-strict.html
52863
52864         * editing/visible_units.cpp:
52865         (WebCore::previousLinePosition):
52866
52867 2011-08-05  James Robinson  <jamesr@chromium.org>
52868
52869         [chromium] Accelerated canvas breaks when moving canvases or resources between Pages
52870         https://bugs.webkit.org/show_bug.cgi?id=65402
52871
52872         Reviewed by Stephen White.
52873
52874         Use one shared GraphicsContext3D for the whole process instead of one per Page as canvases can move between
52875         pages and directly draw into contexts in different pages.  Also switches DrawingBufferChromium over to use a
52876         directly shared the color attachment instead of copying it to a separate texture and removes the now-unnecessary
52877         DrawingBuffer::didReset() call and WillPublishCallback mechanism.
52878
52879         * page/Page.cpp:
52880         (WebCore::Page::sharedGraphicsContext3D):
52881         * page/Page.h:
52882         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
52883         (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
52884         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
52885         (WebCore::Canvas2DLayerChromium::textureId):
52886         (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
52887         * platform/graphics/chromium/CanvasLayerChromium.cpp:
52888         (WebCore::CanvasLayerChromium::CanvasLayerChromium):
52889         * platform/graphics/chromium/CanvasLayerChromium.h:
52890         * platform/graphics/chromium/DrawingBufferChromium.cpp:
52891         (WebCore::DrawingBuffer::DrawingBuffer):
52892         (WebCore::DrawingBuffer::publishToPlatformLayer):
52893         * platform/graphics/chromium/Extensions3DChromium.h:
52894         * platform/graphics/chromium/WebGLLayerChromium.cpp:
52895         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
52896         * platform/graphics/chromium/WebGLLayerChromium.h:
52897
52898 2011-08-05  Anders Carlsson  <andersca@apple.com>
52899
52900         Fix Chromium build.
52901
52902         * WebCore.gypi:
52903
52904 2011-08-05  Anders Carlsson  <andersca@apple.com>
52905
52906         Remove PluginHalter
52907         https://bugs.webkit.org/show_bug.cgi?id=65729
52908
52909         Reviewed by Darin Adler.
52910
52911         Remove plug-in halter and associated classes.
52912
52913         * CMakeLists.txt:
52914         * GNUmakefile.list.am:
52915         * WebCore.exp.in:
52916         * WebCore.pro:
52917         * WebCore.vcproj/WebCore.vcproj:
52918         * WebCore.xcodeproj/project.pbxproj:
52919         * loader/EmptyClients.h:
52920         * page/HaltablePlugin.h: Removed.
52921         * page/Page.cpp:
52922         (WebCore::Page::Page):
52923         * page/Page.h:
52924         * page/PluginHalter.cpp: Removed.
52925         * page/PluginHalter.h: Removed.
52926         * page/PluginHalterClient.h: Removed.
52927         * page/Settings.cpp:
52928         (WebCore::Settings::Settings):
52929         * page/Settings.h:
52930         * plugins/PluginView.cpp:
52931         (WebCore::PluginView::start):
52932         (WebCore::PluginView::stop):
52933         (WebCore::PluginView::PluginView):
52934         * plugins/PluginView.h:
52935         * plugins/PluginViewNone.cpp:
52936         * plugins/gtk/PluginViewGtk.cpp:
52937         * plugins/qt/PluginViewQt.cpp:
52938         * plugins/win/PluginViewWin.cpp:
52939         * rendering/RenderWidget.cpp:
52940         (WebCore::RenderWidget::paint):
52941         * rendering/RenderWidget.h:
52942
52943 2011-08-05  Jochen Eisinger  <jochen@chromium.org>
52944
52945         Introduce a new ResourceRequest::TargetType for XHRs
52946         https://bugs.webkit.org/show_bug.cgi?id=65544
52947
52948         Reviewed by Darin Fisher.
52949
52950         * platform/network/chromium/ResourceRequest.h:
52951         * xml/XMLHttpRequest.cpp:
52952         (WebCore::XMLHttpRequest::createRequest):
52953
52954 2011-08-05  Yael Aharon  <yael.aharon@nokia.com>
52955
52956         dir=auto needs to work on value of input and textarea elements
52957         https://bugs.webkit.org/show_bug.cgi?id=65428
52958
52959         Reviewed by Darin Adler.
52960
52961         Changed the directionality algorithm to evaluate the value of input elements and textarea elements when
52962         they have the attribute dir-auto Set.
52963         Also skip these elements when evaluating the directionality of their ancestors.
52964
52965         HTMLTextAreaElement::childrenChanged is not called when a user types into the textarea, so call
52966         calculateAndAdjustDirectionality() explicitly from HTMLTextAreaElement::subtreeHasChanged().
52967
52968         HTMLInputElement::childrenChanged is not called when a user types into the textarea, so call
52969         calculateAndAdjustDirectionality() explicitly from HTMLTextAreaElement::subtreeHasChanged().
52970
52971         Tests: fast/dom/HTMLElement/attr-dir-auto-changed-text-form-control.html
52972                fast/dom/HTMLElement/attr-dir-auto-text-form-control-child.html
52973                fast/dom/HTMLElement/attr-dir-auto-text-form-control.html
52974
52975         * html/HTMLElement.cpp:
52976         (WebCore::HTMLElement::directionality):
52977         * html/HTMLElement.h:
52978         * html/HTMLTextAreaElement.cpp:
52979         (WebCore::HTMLTextAreaElement::subtreeHasChanged):
52980
52981 2011-08-05  Keishi Hattori  <keishi@webkit.org>
52982
52983         Implement <input type=color> UI behavior WebCore part
52984         https://bugs.webkit.org/show_bug.cgi?id=62619
52985
52986         Reviewed by Kent Tamura.
52987
52988         * WebCore.exp.in: Added __ZN7WebCore12ColorChooser7chooserEv and
52989         __ZNK7WebCore12ColorChooser13colorSelectedERKNS_5ColorE
52990         * WebCore.xcodeproj/project.pbxproj: Added ColorChooser.{h,cpp}
52991         * html/ColorInputType.cpp:
52992         (WebCore::ColorInputType::~ColorInputType): Added. Close color chooser. ex. when type attribute changes.
52993         (WebCore::ColorInputType::valueAsColor): Added.
52994         (WebCore::ColorInputType::setValueAsColor): Added.
52995         (WebCore::ColorInputType::valueChanged): Update selected color in color chooser too.
52996         (WebCore::ColorInputType::handleClickEvent): Opens color chooser.
52997         (WebCore::ColorInputType::handleDOMActivateEvent): Called when element.click(). Open color chooser only
52998         when it was initiated by a user interaction.
52999         (WebCore::ColorInputType::detach): Close color chooser. Called when input element or its ancestors have "display:none"
53000         or is removed from DOM.
53001         (WebCore::ColorInputType::colorSelected): Callback from color chooser.
53002         (WebCore::ColorInputType::closeColorChooserIfClientIsInDocument): Close color chooser if element is in
53003         document. Called when the page navigates away.
53004         (WebCore::ColorInputType::closeColorChooserIfCurrentClient): Close color chooser if this input type is the current client of ColorChooser.
53005         * html/ColorInputType.h:
53006         * html/FileInputType.cpp:
53007         * html/FileInputType.h:
53008         * html/HTMLInputElement.cpp:
53009         (WebCore::HTMLInputElement::detach): Calls InputType::detach
53010         * html/InputType.cpp:
53011         (WebCore::InputType::chrome): Added. Used in FileInputType and ColorInputType.
53012         (WebCore::InputType::detach): ColorInputType overrides this.
53013         * html/InputType.h:
53014         * loader/EmptyClients.h:
53015         (WebCore::EmptyChromeClient::openColorChooser): Added.
53016         (WebCore::EmptyChromeClient::closeColorChooser): Added.
53017         (WebCore::EmptyChromeClient::setSelectedColorInColorChooser): Added.
53018         * loader/FrameLoader.cpp:
53019         (WebCore::FrameLoader::transitionToCommitted): Close color chooser when
53020         navigating away from the page.
53021         * page/Chrome.cpp:
53022         (WebCore::Chrome::openColorChooser): Added. Opens the color chooser.
53023         (WebCore::Chrome::closeColorChooser): Added. Tries to close the color chooser. Might not close if the
53024         listener of the color chooser is another part of the browser or another render process.
53025         (WebCore::Chrome::setSelectedColorInColorChooser): Added. Sets the selected color in the color chooser.
53026         Again, might not be executed if the listener of the color chooser is another part of the browser or another render process.
53027         * page/Chrome.h:
53028         * page/ChromeClient.h:
53029         * platform/ColorChooser.cpp: Added.
53030         (WebCore::ColorChooserClient::~ColorChooserClient): Disconnects itself from the ColorChooser.
53031         (WebCore::ColorChooser::chooser): Get shared instance of ColorChooser.
53032         (WebCore::ColorChooser::chooser): Get shared instance of ColorChooser.
53033         (WebCore::ColorChooser::connectClient): Connects a ColorChooserClient that receives the colorSelected callbacks.
53034         (WebCore::ColorChooser::disconnectClient): Disconnects the connectClient.
53035         (WebCore::ColorChooser::closeColorChooserIfClientIsInDocument): Close the color chooser if the client is
53036         inside the document.
53037         (WebCore::ColorChooser::colorSelected): Called from color chooser listener.
53038         * platform/ColorChooser.h: Added.
53039         (WebCore::ColorChooser::client): Added. Returns the current connected client.
53040         (WebCore::ColorChooser::ColorChooser): Added.
53041
53042 2011-08-05  Yury Semikhatsky  <yurys@chromium.org>
53043
53044         Web Inspector: check that detaching frame has been attached before removing it from the console selector
53045         https://bugs.webkit.org/show_bug.cgi?id=65686
53046
53047         Reviewed by Pavel Feldman.
53048
53049         * inspector/front-end/JavaScriptContextManager.js:
53050         (WebInspector.JavaScriptContextManager.prototype._frameDetached):
53051
53052 2011-08-05  Keishi Hattori  <keishi@webkit.org>
53053
53054         Sort WebCore.xcodeproj
53055         Accomplished using sort-Xcode-project-file.
53056
53057         * WebCore.xcodeproj/project.pbxproj:
53058
53059 2011-08-05  Yury Semikhatsky  <yurys@chromium.org>
53060
53061         Web Inspector: constrain maximum depth for returnByValue objects
53062         https://bugs.webkit.org/show_bug.cgi?id=65761
53063
53064         Set maximum depth to 20 for objects returned by value as a result of evaluations.
53065
53066         Reviewed by Pavel Feldman.
53067
53068         * bindings/js/ScriptValue.cpp:
53069         (WebCore::jsToInspectorValue):
53070         (WebCore::ScriptValue::toInspectorValue):
53071         * bindings/v8/ScriptValue.cpp:
53072         (WebCore::v8ToInspectorValue):
53073         (WebCore::ScriptValue::toInspectorValue):
53074         * inspector/InjectedScript.cpp:
53075         (WebCore::InjectedScript::makeCall):
53076         * inspector/InspectorValues.h:
53077
53078 2011-08-05  Mark Pilgrim  <pilgrim@chromium.org>
53079
53080         Remove LegacyDefaultOptionalArguments flag from appcache IDL files
53081         https://bugs.webkit.org/show_bug.cgi?id=65752
53082
53083         Reviewed by Adam Barth.
53084
53085         No new tests, all existing tests pass.
53086
53087         * loader/appcache/DOMApplicationCache.idl:
53088
53089 2011-08-04  Hans Wennborg  <hans@chromium.org>
53090
53091         IndexedDB: Stop using free-lists for database/object store/index ids.
53092         https://bugs.webkit.org/show_bug.cgi?id=65678
53093
53094         Reviewed by Tony Chang.
53095
53096         Don't use free-lists for database/object store/index ids,
53097         just assign increasing numbers.
53098
53099         It turns out that deleting an object store and creating a new one with
53100         the same id would cause the delete markers from the old object store to
53101         slow down lookups into the new one. Therefore we should generate
53102         a new id every time. Running out of ids (64 bits for databases and
53103         object stores, 32 bits for indices) is not realistic.
53104
53105         Also make functions that generate new ids report errors, and make the
53106         callers of those functions check the return values.
53107
53108         We must still delete free-lists when deleting an object store, and we
53109         must keep the code for encoding/decoding/comparison of free-list keys
53110         since users might have them in their databases.
53111
53112         This is just a performance optimization, so no new tests.
53113
53114         * storage/IDBLevelDBBackingStore.cpp:
53115         (WebCore::getNewDatabaseId):
53116         (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
53117         (WebCore::getNewObjectStoreId):
53118         (WebCore::IDBLevelDBBackingStore::createObjectStore):
53119         (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
53120         (WebCore::getNewIndexId):
53121         (WebCore::IDBLevelDBBackingStore::createIndex):
53122         (WebCore::IDBLevelDBBackingStore::deleteIndex):
53123
53124 2011-08-05  Roland Steiner  <rolandsteiner@chromium.org>
53125
53126         Unreviewed: change an instance of isImportRule() that was overlooked in commit 92448.
53127
53128         No new tests. (No functional change)
53129
53130         * xml/XSLImportRule.h:
53131         (WebCore::XSLImportRule::isImportRule):
53132
53133 2011-08-05  Mark Pilgrim  <pilgrim@chromium.org>
53134
53135         Remove LegacyDefaultOptionalArguments flag from remaining SVG IDL files
53136         https://bugs.webkit.org/show_bug.cgi?id=65751
53137
53138         Reviewed by Adam Barth.
53139
53140         No new tests, all existing tests pass.
53141
53142         * svg/SVGElementInstance.idl:
53143
53144 2011-08-05  Pavel Feldman  <pfeldman@google.com>
53145
53146         Web Inspector: do not delay scroll event handling - scroll is already async.
53147         https://bugs.webkit.org/show_bug.cgi?id=65693
53148
53149         Reviewed by Yury Semikhatsky.
53150
53151         * inspector/front-end/TextViewer.js:
53152         (WebInspector.TextViewer.prototype._syncScroll):
53153
53154 2011-08-05  Mark Pilgrim  <pilgrim@chromium.org>
53155
53156         Remove LegacyDefaultOptionalArguments flag from web audio API
53157         https://bugs.webkit.org/show_bug.cgi?id=65750
53158
53159         Reviewed by Adam Barth.
53160
53161         No new tests, all existing tests pass.
53162
53163         * webaudio/AudioBufferSourceNode.idl:
53164
53165 2011-08-05  Mark Pilgrim  <pilgrim@chromium.org>
53166
53167         Remove LegacyDefaultOptionalArguments flag from Web Workers
53168         https://bugs.webkit.org/show_bug.cgi?id=65746
53169
53170         Reviewed by Adam Barth.
53171
53172         No new tests, all existing tests pass.
53173
53174         * workers/AbstractWorker.idl:
53175         * workers/DedicatedWorkerContext.idl:
53176         * workers/Worker.idl:
53177         * workers/WorkerContext.idl:
53178
53179 2011-08-05  Kenichi Ishibashi  <bashi@chromium.org>
53180
53181         Parsing CSS3 font-feature-settings property
53182         https://bugs.webkit.org/show_bug.cgi?id=63618
53183
53184         Introduces CSS3 font-feature-settings property as -webkit-font-feature-settings.  This change only contains parsing part.  Parsed information are stored in FontDescription class.
53185
53186         Reviewed by Shinichiro Hamaji.
53187
53188         Test: css3/font-feature-settings-parsing.html
53189
53190         * CMakeLists.txt: Added FontFeatureValue.{h,cpp} and FontFeatureSettings.{h,cpp}.
53191         * GNUmakefile.list.am: Ditto.
53192         * WebCore.gypi: Ditto.
53193         * WebCore.pro: Ditto.
53194         * WebCore.vcproj/WebCore.vcproj: Ditto.
53195         * WebCore.xcodeproj/project.pbxproj: Ditto.
53196         * css/CSSComputedStyleDeclaration.cpp:
53197         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added CSSPropertyWebkitFontFeatureSettings.
53198         * css/CSSParser.cpp:
53199         (WebCore::CSSParser::parseValue): Added parsing code for -webkit-font-feature-settings.
53200         (WebCore::CSSParser::parseFontFeatureTag): Added.
53201         (WebCore::CSSParser::parseFontFeatureSettings): Added.
53202         * css/CSSParser.h: Added parseFontFeatureSettings().
53203         * css/CSSPropertyNames.in: Added -webkit-font-feature-settings.
53204         * css/CSSStyleSelector.cpp:
53205         (WebCore::CSSStyleSelector::applyDeclarations): Modified a compile assert to follow adding -webkit-font-feature-settings.
53206         (WebCore::CSSStyleSelector::applyProperty): Added a case clause for CSSPropertyWebkitFontFeatureSettings.
53207         * css/CSSValue.h:
53208         (WebCore::CSSValue::isFontFeatureValue): Added.
53209         * css/CSSValueKeywords.in: Added 'on' and 'off' keywords.
53210         * css/FontFeatureValue.cpp: Added.
53211         (WebCore::FontFeatureValue::FontFeatureValue):
53212         (WebCore::FontFeatureValue::value):
53213         (WebCore::FontFeatureValue::cssText):
53214         * css/FontFeatureValue.h: Added.
53215         (WebCore::FontFeatureValue::create):
53216         (WebCore::FontFeatureValue::tag):
53217         (WebCore::FontFeatureValue::isFontFeatureValue):
53218         * platform/graphics/FontDescription.cpp:
53219         (WebCore::FontDescription::makeNormalFeatureSettings): Added.
53220         * platform/graphics/FontDescription.h:
53221         (WebCore::FontDescription::FontDescription): Added m_featureSettings member variable.
53222         (WebCore::FontDescription::featureSettings): Added.
53223         (WebCore::FontDescription::setFeatureSettings): Added.
53224         (WebCore::FontDescription::operator==): Modified to take into account m_featureSettings
53225         * platform/graphics/FontFeatureSettings.cpp: Added.
53226         (WebCore::FontFeature::FontFeature):
53227         (WebCore::FontFeature::operator=):
53228         (WebCore::FontFeature::operator==):
53229         (WebCore::FontFeatureSettings::FontFeatureSettings):
53230         * platform/graphics/FontFeatureSettings.h: Added.
53231         (WebCore::FontFeature::tag):
53232         (WebCore::FontFeature::value):
53233         (WebCore::FontFeatureSettings::create):
53234         (WebCore::FontFeatureSettings::append):
53235         (WebCore::FontFeatureSettings::size):
53236         (WebCore::FontFeatureSettings::operator[]):
53237         (WebCore::FontFeatureSettings::at):
53238
53239 2011-08-05  Mark Pilgrim  <pilgrim@chromium.org>
53240
53241         Remove LegacyDefaultOptionalArguments flag from websockets
53242         https://bugs.webkit.org/show_bug.cgi?id=65749
53243
53244         Reviewed by Adam Barth.
53245
53246         No new tests, all existing tests pass.
53247
53248         * websockets/WebSocket.idl:
53249
53250 2011-08-05  Adam Barth  <abarth@webkit.org>
53251
53252         Attempt to heal media/video-can-play-type.html and media/video-src-change.html.
53253
53254         * html/HTMLMediaElement.idl:
53255
53256 2011-08-05  Mark Pilgrim  <pilgrim@chromium.org>
53257
53258         Remove LegacyDefaultOptionalArguments flag from notifications IDL files
53259         https://bugs.webkit.org/show_bug.cgi?id=65747
53260
53261         Reviewed by Adam Barth.
53262
53263         No new tests, all existing tests pass.
53264
53265         * notifications/Notification.idl:
53266         * notifications/NotificationCenter.idl:
53267
53268 2011-08-05  Sheriff Bot  <webkit.review.bot@gmail.com>
53269
53270         Unreviewed, rolling out r92439.
53271         http://trac.webkit.org/changeset/92439
53272         https://bugs.webkit.org/show_bug.cgi?id=65753
53273
53274         Caused 9 tests to fail on Qt (Requested by abarth on #webkit).
53275
53276         * dom/Document.cpp:
53277         (WebCore::Document::implicitOpen):
53278         * loader/FrameLoader.cpp:
53279         (WebCore::FrameLoader::transitionToCommitted):
53280         (WebCore::FrameLoader::detachChildren):
53281
53282 2011-08-04  Ryosuke Niwa  <rniwa@webkit.org>
53283
53284         Use RenderedPosition instead of getInlineBoxAndOffset in Editor and AccessibilityObject
53285         https://bugs.webkit.org/show_bug.cgi?id=65647
53286
53287         Reviewed by Hajime Morita.
53288
53289         Encapsulated the use of getInlineBoxAndOffset in Editor.cpp and AccessibilityObject.cpp by RenderedPosition.
53290
53291         Also added rendererFromPosition that returns the renderer of deprecatedNode but using a proper Position interface.
53292
53293         * accessibility/AccessibilityObject.cpp:
53294         (WebCore::updateAXLineStartForVisiblePosition):
53295         * editing/Editor.cpp:
53296         (WebCore::Editor::firstRectForRange):
53297         * editing/RenderedPosition.cpp:
53298         (WebCore::rendererFromPosition):
53299         (WebCore::RenderedPosition::RenderedPosition):
53300         (WebCore::RenderedPosition::absoluteRect):
53301         * editing/RenderedPosition.h:
53302         (WebCore::RenderedPosition::absoluteRect):
53303
53304 2011-08-04  Hayato Ito  <hayato@chromium.org>
53305
53306         Make ScopedEventQueue enqueue an EventDispatchMediator, instead of an Event.
53307         https://bugs.webkit.org/show_bug.cgi?id=65613
53308
53309         Reviewed by Dimitri Glazkov.
53310
53311         No changes to functionality so no new tests.
53312
53313         * dom/Event.h:
53314         * dom/EventDispatcher.cpp:
53315         (WebCore::EventDispatcher::dispatchScopedEvent):
53316         * dom/EventDispatcher.h:
53317         * dom/Node.cpp:
53318         (WebCore::Node::dispatchScopedEvent):
53319         (WebCore::Node::dispatchScopedEventDispatchMediator):
53320         * dom/Node.h:
53321         * dom/ScopedEventQueue.cpp:
53322         (WebCore::ScopedEventQueue::~ScopedEventQueue):
53323         (WebCore::ScopedEventQueue::enqueueEventDispatchMediator):
53324         (WebCore::ScopedEventQueue::dispatchAllEvents):
53325         (WebCore::ScopedEventQueue::dispatchEvent):
53326         * dom/ScopedEventQueue.h:
53327
53328 2011-08-04  James Robinson  <jamesr@chromium.org>
53329
53330         Unreviewed build fix.  gcc 4.5 can't figure out that the 'data' variables are always initialized in these functions.
53331
53332         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
53333         (WebCore::jsArrayToFloatArray):
53334         (WebCore::jsArrayToIntArray):
53335
53336 2011-08-05  Roland Steiner  <rolandsteiner@chromium.org>
53337
53338         Improve const-correctness in CSS code: type information methods
53339         https://bugs.webkit.org/show_bug.cgi?id=65506
53340
53341         Reviewed by Simon Fraser.
53342
53343         Make "is...()" functions (e.g., "isStyleRule()") const.
53344         Also, change CSSRule's type() function to return CSSRuleType.
53345
53346         No new tests. (no change in semantics)
53347
53348         * css/CSSCharsetRule.h:
53349         (WebCore::CSSCharsetRule::isCharsetRule):
53350         (WebCore::CSSCharsetRule::type):
53351         * css/CSSFontFaceRule.h:
53352         (WebCore::CSSFontFaceRule::isFontFaceRule):
53353         (WebCore::CSSFontFaceRule::type):
53354         * css/CSSImportRule.h:
53355         (WebCore::CSSImportRule::isImportRule):
53356         (WebCore::CSSImportRule::type):
53357         * css/CSSMediaRule.h:
53358         (WebCore::CSSMediaRule::isMediaRule):
53359         (WebCore::CSSMediaRule::type):
53360         * css/CSSPageRule.h:
53361         (WebCore::CSSPageRule::isPageRule):
53362         (WebCore::CSSPageRule::type):
53363         * css/CSSRule.h:
53364         (WebCore::CSSRule::isRule):
53365         * css/CSSStyleRule.h:
53366         (WebCore::CSSStyleRule::isStyleRule):
53367         (WebCore::CSSStyleRule::type):
53368         * css/CSSUnknownRule.h:
53369         (WebCore::CSSUnknownRule::type):
53370         * css/StyleBase.h:
53371         (WebCore::StyleBase::isCharsetRule):
53372         (WebCore::StyleBase::isFontFaceRule):
53373         (WebCore::StyleBase::isImportRule):
53374         (WebCore::StyleBase::isKeyframeRule):
53375         (WebCore::StyleBase::isKeyframesRule):
53376         (WebCore::StyleBase::isMediaRule):
53377         (WebCore::StyleBase::isPageRule):
53378         (WebCore::StyleBase::isRule):
53379         (WebCore::StyleBase::isStyleRule):
53380         * css/WebKitCSSKeyframeRule.h:
53381         (WebCore::WebKitCSSKeyframeRule::isKeyframeRule):
53382         (WebCore::WebKitCSSKeyframeRule::type):
53383         * css/WebKitCSSKeyframesRule.h:
53384         (WebCore::WebKitCSSKeyframesRule::isKeyframesRule):
53385         (WebCore::WebKitCSSKeyframesRule::type):
53386
53387 2011-08-04  Mark Pilgrim  <pilgrim@chromium.org>
53388
53389         Remove LegacyDefaultOptionalArguments flag from plugin IDL files
53390         https://bugs.webkit.org/show_bug.cgi?id=65745
53391
53392         Reviewed by Adam Barth.
53393
53394         No new tests, all existing tests pass.
53395
53396         * plugins/DOMMimeTypeArray.idl:
53397         * plugins/DOMPlugin.idl:
53398         * plugins/DOMPluginArray.idl:
53399
53400 2011-08-04  Mark Pilgrim  <pilgrim@chromium.org>
53401
53402         Remove LegacyDefaultOptionalArguments flag from XML/XSL IDL files
53403         https://bugs.webkit.org/show_bug.cgi?id=65740
53404
53405         Reviewed by Adam Barth.
53406
53407         No new tests, all existing tests pass.
53408
53409         * xml/DOMParser.idl:
53410         * xml/XMLSerializer.idl:
53411         * xml/XPathEvaluator.idl:
53412         * xml/XPathExpression.idl:
53413         * xml/XPathNSResolver.idl:
53414         * xml/XPathResult.idl:
53415         * xml/XSLTProcessor.idl:
53416
53417 2011-08-04  Mark Pilgrim  <pilgrim@chromium.org>
53418
53419         Remove LegacyDefaultOptionalArguments flag from canvas IDL files
53420         https://bugs.webkit.org/show_bug.cgi?id=65737
53421
53422         Reviewed by Adam Barth.
53423
53424         No new tests, all existing tests pass.
53425
53426         * html/canvas/CanvasGradient.idl:
53427         * html/canvas/Float32Array.idl:
53428         * html/canvas/Float64Array.idl:
53429         * html/canvas/Int16Array.idl:
53430         * html/canvas/Int32Array.idl:
53431         * html/canvas/Int8Array.idl:
53432         * html/canvas/OESVertexArrayObject.idl:
53433         * html/canvas/Uint16Array.idl:
53434         * html/canvas/Uint32Array.idl:
53435         * html/canvas/Uint8Array.idl:
53436
53437 2011-08-04  MORITA Hajime  <morrita@google.com>
53438
53439         Reviewed by Ryosuke Niwa.
53440
53441         DocumentMarker: Type specific details should be separately held by other object.
53442         https://bugs.webkit.org/show_bug.cgi?id=59855
53443
53444         - Introduced DocumentMarkerDetails abstract class and two its subclasses
53445           DocumentMarkerDescription and DocumentMarkerActiveMatch,
53446         
53447         - Replacing DocumentMarker::m_description and
53448           DocumentMarker::m_activeMatch with these new details classes.
53449         
53450         No new tests. No behavior change.
53451
53452         * CMakeLists.txt:
53453         * GNUmakefile.list.am:
53454         * WebCore.gypi:
53455         * WebCore.pro:
53456         * WebCore.vcproj/WebCore.vcproj:
53457         * WebCore.xcodeproj/project.pbxproj:
53458         * dom/DOMAllInOne.cpp:
53459         * dom/DocumentMarker.cpp: Added.
53460         (WebCore::emptyDescription):
53461         (WebCore::DocumentMarkerDetails::DocumentMarkerDetails):
53462         (WebCore::DocumentMarkerDetails::~DocumentMarkerDetails):
53463         (WebCore::DocumentMarkerDescription::description):
53464         (WebCore::DocumentMarkerDescription::isDescription):        
53465         (WebCore::DocumentMarkerDescription::DocumentMarkerDescription):
53466         (WebCore::DocumentMarkerDescription::createUnlessEmpty):
53467         (WebCore::DocumentMarkerDescription::compatibleTypes):
53468         (WebCore::DocumentMarkerTextMatch::activeMatch):    
53469         (WebCore::DocumentMarkerTextMatch::isTextMatch):
53470         (WebCore::DocumentMarkerTextMatch::DocumentMarkerTextMatch):
53471         (WebCore::DocumentMarkerTextMatch::instanceFor):
53472         (WebCore::DocumentMarkerTextMatch::compatibleTypes):
53473         (WebCore::DocumentMarker::DocumentMarker):
53474         (WebCore::DocumentMarker::shiftOffsets):
53475         (WebCore::DocumentMarker::setActiveMatch):
53476         (WebCore::DocumentMarker::description):
53477         (WebCore::DocumentMarker::activeMatch):
53478         * dom/DocumentMarker.h:
53479         (WebCore::DocumentMarker::details):
53480         (WebCore::DocumentMarker::clearDetails):
53481         (WebCore::DocumentMarkerDetails::isDescription):
53482         (WebCore::DocumentMarkerDetails::isTextMatch):
53483         (WebCore::DocumentMarkerDetails::isAllowedFor):
53484         * dom/DocumentMarkerController.cpp:
53485         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
53486         * editing/CompositeEditCommand.cpp:
53487         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
53488
53489 2011-08-04  Scott Graham  <scottmg@chromium.org>
53490
53491         Bad interaction between document destruction and unload events
53492         https://bugs.webkit.org/show_bug.cgi?id=64741
53493
53494         Reviewed by Adam Barth.
53495
53496         Three different errors triggered by this test case. The case to
53497         consider is a subdocument with an onunload on an element, that
53498         destroys the parent document during the onunload. One fix was a
53499         lifetime issue fixed by a protecting RefPtr, and another was an
53500         additional cancel of event triggers. The main fix was that during the
53501         transition to commited state, the documentLoader is being replaced by
53502         the provisionalDocumentLoader. But, because during firing events in
53503         the subdocument the parent is destroyed, that subevent caused the
53504         provisionalDocumentLoader to be detached from its frame. By marking
53505         the page as being in committed state before the parent documentLoader
53506         is set, this is avoided.
53507
53508         Test: loader/document-destruction-within-unload.html
53509
53510         * dom/Document.cpp:
53511         (WebCore::Document::implicitOpen):
53512         * loader/FrameLoader.cpp:
53513         (WebCore::FrameLoader::transitionToCommitted):
53514         (WebCore::FrameLoader::detachChildren):
53515
53516 2011-08-04  Simon Fraser  <simon.fraser@apple.com>
53517
53518         Add code to determine whether a Range in inside fixed position content
53519         https://bugs.webkit.org/show_bug.cgi?id=65720
53520
53521         Reviewed by Sam Weinig.
53522
53523         Propagate the 'wasFixed' flag out from various methods that
53524         are used when computing the collection of rects or quads
53525         for a range. Use the flag in Range to computer whether
53526         the Range is entirely within, partially within, or outside
53527         of fixed-position content.
53528
53529         * WebCore.exp.in:
53530         * accessibility/AccessibilityRenderObject.cpp:
53531         (WebCore::AccessibilityRenderObject::boundingBoxRect):
53532         * dom/Range.cpp:
53533         (WebCore::Range::textRects):
53534         (WebCore::Range::textQuads):
53535         * dom/Range.h:
53536         * rendering/RenderBlock.cpp:
53537         (WebCore::RenderBlock::absoluteQuads):
53538         * rendering/RenderBlock.h:
53539         * rendering/RenderBox.cpp:
53540         (WebCore::RenderBox::absoluteQuads):
53541         * rendering/RenderBox.h:
53542         * rendering/RenderInline.cpp:
53543         (WebCore::RenderInline::absoluteQuads):
53544         * rendering/RenderInline.h:
53545         * rendering/RenderObject.h:
53546         (WebCore::RenderObject::absoluteQuads):
53547         * rendering/RenderText.cpp:
53548         (WebCore::RenderText::absoluteRectsForRange):
53549         (WebCore::RenderText::absoluteQuads):
53550         (WebCore::RenderText::absoluteQuadsForRange):
53551         * rendering/RenderText.h:
53552         * rendering/RenderView.cpp:
53553         (WebCore::RenderView::absoluteQuads):
53554         * rendering/RenderView.h:
53555         * rendering/svg/RenderSVGHiddenContainer.cpp:
53556         (WebCore::RenderSVGHiddenContainer::absoluteQuads):
53557         * rendering/svg/RenderSVGHiddenContainer.h:
53558         * rendering/svg/RenderSVGInline.cpp:
53559         (WebCore::RenderSVGInline::absoluteQuads):
53560         * rendering/svg/RenderSVGInline.h:
53561         * rendering/svg/RenderSVGModelObject.cpp:
53562         (WebCore::RenderSVGModelObject::absoluteQuads):
53563         * rendering/svg/RenderSVGModelObject.h:
53564         * rendering/svg/RenderSVGText.cpp:
53565         (WebCore::RenderSVGText::absoluteQuads):
53566         * rendering/svg/RenderSVGText.h:
53567
53568 2011-08-04  Mark Pilgrim  <pilgrim@chromium.org>
53569
53570         Remove LegacyDefaultOptionalArguments flag from Document.idl
53571         https://bugs.webkit.org/show_bug.cgi?id=65717
53572
53573         Reviewed by Adam Barth.
53574
53575         No new tests, all existing tests pass.
53576
53577         * dom/Document.idl:
53578
53579 2011-08-04  Simon Fraser  <simon.fraser@apple.com>
53580
53581         Fix release build failure with last commit.
53582
53583         * rendering/RenderView.cpp:
53584         (WebCore::RenderView::mapLocalToContainer):
53585
53586 2011-08-04  Simon Fraser  <simon.fraser@apple.com>
53587
53588         Add code to determine whether a Range in inside fixed position content
53589         https://bugs.webkit.org/show_bug.cgi?id=65720
53590
53591         Reviewed by Dan Bernstein.
53592
53593         Add an out param for various coordinate mapping functions
53594         that tells us whether the point or rectangle being
53595         mapped is inside fixed-position content.
53596         
53597         This brings back some of the changes from r89754.
53598         
53599         No behavior changes, so no tests.
53600
53601         * rendering/RenderBox.cpp:
53602         (WebCore::RenderBox::mapLocalToContainer):
53603         * rendering/RenderBox.h:
53604         * rendering/RenderInline.cpp:
53605         (WebCore::RenderInline::mapLocalToContainer):
53606         * rendering/RenderInline.h:
53607         * rendering/RenderObject.cpp:
53608         (WebCore::RenderObject::mapLocalToContainer):
53609         (WebCore::RenderObject::localToContainerQuad):
53610         * rendering/RenderObject.h:
53611         (WebCore::RenderObject::localToAbsoluteQuad):
53612         * rendering/RenderView.cpp:
53613         (WebCore::RenderView::mapLocalToContainer):
53614         * rendering/RenderView.h:
53615         * rendering/svg/RenderSVGForeignObject.cpp:
53616         (WebCore::RenderSVGForeignObject::mapLocalToContainer):
53617         * rendering/svg/RenderSVGForeignObject.h:
53618         * rendering/svg/RenderSVGInline.cpp:
53619         (WebCore::RenderSVGInline::mapLocalToContainer):
53620         * rendering/svg/RenderSVGInline.h:
53621         * rendering/svg/RenderSVGModelObject.cpp:
53622         (WebCore::RenderSVGModelObject::mapLocalToContainer):
53623         * rendering/svg/RenderSVGModelObject.h:
53624         * rendering/svg/RenderSVGRoot.cpp:
53625         (WebCore::RenderSVGRoot::mapLocalToContainer):
53626         * rendering/svg/RenderSVGRoot.h:
53627         * rendering/svg/RenderSVGText.cpp:
53628         (WebCore::RenderSVGText::mapLocalToContainer):
53629         * rendering/svg/RenderSVGText.h:
53630         * rendering/svg/SVGRenderSupport.cpp:
53631         (WebCore::SVGRenderSupport::mapLocalToContainer):
53632         * rendering/svg/SVGRenderSupport.h:
53633
53634 2011-08-04  Mark Pilgrim  <pilgrim@chromium.org>
53635
53636         Remove LegacyDefaultOptionalArguments flag from DOM-related files except Document.idl
53637         https://bugs.webkit.org/show_bug.cgi?id=65715
53638
53639         Reviewed by Adam Barth.
53640
53641         No new tests, all existing tests pass.
53642
53643         * dom/CharacterData.idl:
53644         * dom/ClientRectList.idl:
53645         * dom/Clipboard.idl:
53646         * dom/DOMImplementation.idl:
53647         * dom/DOMStringList.idl:
53648         * dom/DataTransferItem.idl:
53649         * dom/DataTransferItems.idl:
53650         * dom/DocumentFragment.idl:
53651         * dom/Element.idl:
53652         * dom/EventListener.idl:
53653         * dom/EventTarget.idl:
53654         * dom/MediaStream.idl:
53655         * dom/MediaStreamList.idl:
53656         * dom/MediaStreamTrackList.idl:
53657         * dom/MessagePort.idl:
53658         * dom/NamedNodeMap.idl:
53659         * dom/Node.idl:
53660         * dom/NodeFilter.idl:
53661         * dom/NodeList.idl:
53662         * dom/Range.idl:
53663         * dom/RequestAnimationFrameCallback.idl:
53664         * dom/StringCallback.idl:
53665         * dom/Text.idl:
53666         * dom/TouchList.idl:
53667
53668 2011-08-04  Mark Rowe  <mrowe@apple.com>
53669
53670         Future-proof Xcode configuration settings.
53671
53672         * Configurations/Base.xcconfig:
53673         * Configurations/DebugRelease.xcconfig:
53674         * Configurations/Version.xcconfig:
53675         * Configurations/WebCore.xcconfig:
53676
53677 2011-08-04  Van Lam  <vanlam@google.com>
53678
53679         A few purely stylistic modifications to visible_units.cpp
53680         https://bugs.webkit.org/show_bug.cgi?id=65723
53681
53682         Reviewed by Ryosuke Niwa.
53683
53684         Renamed greatestValueUnder to greatestOffsetUnder, positionIsInsideBox
53685         to positionIsInBoxButNotOnBoundary (to avoid confusion with
53686         positionIsInBox, which is just a getInlineBoxAndOffset check).
53687         Removed use of invalidOffset as an error value in greatestOffsetUnder
53688         and smallestOffsetAbove since semantically it should only be used to
53689         check if it makes sense to compare offsets in a single box.
53690
53691         * editing/visible_units.cpp:
53692         (WebCore::greatestOffsetUnder):
53693         (WebCore::smallestOffsetAbove):
53694         (WebCore::positionIsInBoxButNotOnBoundary):
53695         (WebCore::leftWordPositionAcrossBoundary):
53696         (WebCore::rightWordPositionAcrossBoundary):
53697
53698 2011-08-04  James Robinson  <jamesr@chromium.org>
53699
53700         [chromium] Implement a global resource limit for DrawingBuffer to limit the amount of GPU memory used by 2d canvas backing stores
53701         https://bugs.webkit.org/show_bug.cgi?id=65655
53702
53703         Reviewed by Kenneth Russell.
53704
53705         * platform/graphics/gpu/DrawingBuffer.cpp:
53706         (WebCore::DrawingBuffer::setResourceLimit):
53707         (WebCore::DrawingBuffer::clear):
53708         (WebCore::DrawingBuffer::reset):
53709         * platform/graphics/gpu/DrawingBuffer.h:
53710
53711 2011-08-04  Kenichi Ishibashi  <bashi@chromium.org>
53712
53713         [Chromium] Reduce memory consumption of HarfbuzzFace
53714         https://bugs.webkit.org/show_bug.cgi?id=65688
53715
53716         Adds a cache for HB_FaceRec to eliminate multiple allocation for the same font.
53717
53718         Reviewed by Tony Chang.
53719
53720         No new tests since there is no behavior change.
53721
53722         * platform/graphics/chromium/HarfbuzzSkia.cpp:
53723         (WebCore::getCachedHarfbuzzFace): Added.
53724         (WebCore::releaseCachedHarfbuzzFace): Ditto.
53725         (WebCore::HarfbuzzFace::HarfbuzzFace): Calls getCachedHarfbuzzFace() instead of allocating HB_FaceRec.
53726         (WebCore::HarfbuzzFace::~HarfbuzzFace): Calls releaseCachedHarfbuzzFace() to release the onership of the cache.
53727         * platform/graphics/chromium/HarfbuzzSkia.h:
53728
53729 2011-08-04  Sheriff Bot  <webkit.review.bot@gmail.com>
53730
53731         Unreviewed, rolling out r92415.
53732         http://trac.webkit.org/changeset/92415
53733         https://bugs.webkit.org/show_bug.cgi?id=65728
53734
53735         Causes many DEBUG crashes (Requested by abarth on #webkit).
53736
53737         * platform/network/chromium/ResourceRequest.h:
53738         * xml/XMLHttpRequest.cpp:
53739         (WebCore::XMLHttpRequest::createRequest):
53740
53741 2011-08-04  Tim Horton  <timothy_horton@apple.com>
53742
53743         Reviewed by Nikolas Zimmerman.
53744
53745         Errors encountered within SVG documents should be reported to the console
53746         https://bugs.webkit.org/show_bug.cgi?id=62599
53747         <rdar://problem/9727074>
53748
53749         Make use of SVGLength::construct when parsing Length attributes; we will
53750         now propagate errors which occur while parsing SVGLength attributes to the
53751         Web Inspector console.
53752
53753         * svg/SVGCircleElement.cpp:
53754         (WebCore::SVGCircleElement::parseMappedAttribute):
53755         * svg/SVGCursorElement.cpp:
53756         (WebCore::SVGCursorElement::parseMappedAttribute):
53757         * svg/SVGEllipseElement.cpp:
53758         (WebCore::SVGEllipseElement::parseMappedAttribute):
53759         * svg/SVGFilterElement.cpp:
53760         (WebCore::SVGFilterElement::parseMappedAttribute):
53761         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
53762         (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
53763         * svg/SVGForeignObjectElement.cpp:
53764         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
53765         * svg/SVGImageElement.cpp:
53766         (WebCore::SVGImageElement::parseMappedAttribute):
53767         * svg/SVGLineElement.cpp:
53768         (WebCore::SVGLineElement::parseMappedAttribute):
53769         * svg/SVGLinearGradientElement.cpp:
53770         (WebCore::SVGLinearGradientElement::parseMappedAttribute):
53771         * svg/SVGMarkerElement.cpp:
53772         (WebCore::SVGMarkerElement::parseMappedAttribute):
53773         * svg/SVGMaskElement.cpp:
53774         (WebCore::SVGMaskElement::parseMappedAttribute):
53775         * svg/SVGPatternElement.cpp:
53776         (WebCore::SVGPatternElement::parseMappedAttribute):
53777         * svg/SVGRadialGradientElement.cpp:
53778         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
53779         * svg/SVGRectElement.cpp:
53780         (WebCore::SVGRectElement::parseMappedAttribute):
53781         * svg/SVGSVGElement.cpp:
53782         (WebCore::SVGSVGElement::parseMappedAttribute):
53783         * svg/SVGTextContentElement.cpp:
53784         (WebCore::SVGTextContentElement::parseMappedAttribute):
53785         * svg/SVGTextPathElement.cpp:
53786         (WebCore::SVGTextPathElement::parseMappedAttribute):
53787         * svg/SVGUseElement.cpp:
53788         (WebCore::SVGUseElement::parseMappedAttribute):
53789
53790 2011-08-04  Sheriff Bot  <webkit.review.bot@gmail.com>
53791
53792         Unreviewed, rolling out r92419.
53793         http://trac.webkit.org/changeset/92419
53794         https://bugs.webkit.org/show_bug.cgi?id=65726
53795
53796         "committed partially to branch" (Requested by thorton on
53797         #webkit).
53798
53799         * svg/SVGCircleElement.cpp:
53800         (WebCore::SVGCircleElement::parseMappedAttribute):
53801         * svg/SVGCursorElement.cpp:
53802         (WebCore::SVGCursorElement::parseMappedAttribute):
53803         * svg/SVGEllipseElement.cpp:
53804         (WebCore::SVGEllipseElement::parseMappedAttribute):
53805         * svg/SVGFilterElement.cpp:
53806         (WebCore::SVGFilterElement::parseMappedAttribute):
53807         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
53808         (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
53809         * svg/SVGForeignObjectElement.cpp:
53810         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
53811         * svg/SVGImageElement.cpp:
53812         (WebCore::SVGImageElement::parseMappedAttribute):
53813         * svg/SVGLineElement.cpp:
53814         (WebCore::SVGLineElement::parseMappedAttribute):
53815         * svg/SVGLinearGradientElement.cpp:
53816         (WebCore::SVGLinearGradientElement::parseMappedAttribute):
53817         * svg/SVGMarkerElement.cpp:
53818         (WebCore::SVGMarkerElement::parseMappedAttribute):
53819         * svg/SVGMaskElement.cpp:
53820         (WebCore::SVGMaskElement::parseMappedAttribute):
53821         * svg/SVGPatternElement.cpp:
53822         (WebCore::SVGPatternElement::parseMappedAttribute):
53823         * svg/SVGRadialGradientElement.cpp:
53824         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
53825         * svg/SVGRectElement.cpp:
53826         (WebCore::SVGRectElement::parseMappedAttribute):
53827         * svg/SVGSVGElement.cpp:
53828         (WebCore::SVGSVGElement::parseMappedAttribute):
53829         * svg/SVGTextContentElement.cpp:
53830         (WebCore::SVGTextContentElement::parseMappedAttribute):
53831         * svg/SVGTextPathElement.cpp:
53832         (WebCore::SVGTextPathElement::parseMappedAttribute):
53833         * svg/SVGUseElement.cpp:
53834         (WebCore::SVGUseElement::parseMappedAttribute):
53835
53836 2011-08-04  Fady Samuel  <fsamuel@chromium.org>
53837
53838         Background Does Not Scale Correctly with Page
53839         https://bugs.webkit.org/show_bug.cgi?id=65690
53840
53841         Reviewed by Simon Fraser.
53842
53843         Test: fast/repaint/background-scaling.html
53844
53845         * rendering/RenderBox.cpp:
53846         (WebCore::RenderBox::paintRootBoxFillLayers):
53847         * rendering/RenderView.cpp:
53848         (WebCore::RenderView::unscaledDocumentRect):
53849         (WebCore::RenderView::documentRect):
53850         * rendering/RenderView.h:
53851
53852 2011-08-04  Jochen Eisinger  <jochen@chromium.org>
53853
53854         Introduce a new ResourceRequest::TargetType for XHRs
53855         https://bugs.webkit.org/show_bug.cgi?id=65544
53856
53857         Reviewed by Darin Fisher.
53858
53859         * platform/network/chromium/ResourceRequest.h:
53860         * xml/XMLHttpRequest.cpp:
53861         (WebCore::XMLHttpRequest::createRequest):
53862
53863 2011-08-04  Sergey Glazunov  <serg.glazunov@gmail.com>
53864
53865         Fix integer overflow in custom bindings for WebGLRenderingContext
53866         https://bugs.webkit.org/show_bug.cgi?id=65646
53867
53868         Reviewed by Kenneth Russell.
53869
53870         Test: fast/canvas/webgl/uniform-array-length-overflow.html
53871
53872         * bindings/js/JSWebGLRenderingContextCustom.cpp:
53873         (WebCore::toVector): Don't crash if allocation fails.
53874         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
53875         (WebCore::jsArrayToFloatArray):
53876         (WebCore::jsArrayToIntArray):
53877
53878 2011-08-04  Pratik Solanki  <psolanki@apple.com>
53879
53880         Implement CERTIFICATE_CREDENTIALS_SUPPORTED for CFNetwork
53881         https://bugs.webkit.org/show_bug.cgi?id=65704
53882         <rdar://problem/9877734>
53883
53884         Reviewed by Oliver Hunt.
53885
53886         Implement support for client side certificate authentication in the CFNetwork based loader.
53887
53888         * platform/network/cf/AuthenticationCF.cpp:
53889         (WebCore::createCF):
53890         (WebCore::core): Also fix leak of password string.
53891
53892 2011-08-04  Chris Rogers  <crogers@google.com>
53893
53894         Make sure that AudioArray is 16-byte aligned
53895         https://bugs.webkit.org/show_bug.cgi?id=65651
53896
53897         Reviewed by Kenneth Russell.
53898
53899         No new tests - this does not change JavaScript API.
53900
53901         * platform/audio/AudioArray.h:
53902         (WebCore::AudioArray::AudioArray):
53903         (WebCore::AudioArray::~AudioArray):
53904         (WebCore::AudioArray::allocate):
53905         (WebCore::AudioArray::data):
53906         (WebCore::AudioArray::size):
53907         (WebCore::AudioArray::at):
53908         (WebCore::AudioArray::operator[]):
53909         (WebCore::AudioArray::alignedAddress):
53910         * platform/audio/Biquad.cpp:
53911         (WebCore::Biquad::Biquad):
53912         * platform/audio/ReverbConvolverStage.cpp:
53913         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
53914         * webaudio/DelayDSPKernel.cpp:
53915         (WebCore::DelayDSPKernel::DelayDSPKernel):
53916         * webaudio/RealtimeAnalyser.cpp:
53917         (WebCore::RealtimeAnalyser::setFftSize):
53918
53919 2011-08-04  Brady Eidson  <beidson@apple.com>
53920
53921         <rdar://problem/9882581>, <rdar://problem/9868015>, and https://bugs.webkit.org/show_bug.cgi?id=65712
53922         REGRESSION (91931) - Two LocalStorage threads started, thread unsafe operations can cause crash or other problems later.
53923
53924         Reviewed by Darin Adler.
53925
53926         * storage/StorageTracker.cpp:
53927         (WebCore::StorageTracker::internalInitialize): Set the "needs initialization" flag before doing a 
53928           whole bunch of stuff that might need to check it.
53929
53930 2011-08-04  Jeff Miller  <jeffm@apple.com>
53931
53932         Adopt AVCF media back end on Windows
53933         https://bugs.webkit.org/show_bug.cgi?id=65400
53934         <rdar://problem/9894105>
53935         
53936         First cut at implementation in MediaPlayerPrivateAVFoundationCF.cpp/.h, based on
53937         work by Eric Carlson. Note that use of AVFoundation is determined at runtime, and
53938         defaults to off.
53939
53940         Reviewed by Darin Adler.
53941
53942         No new tests, uses existing media tests.
53943
53944         * config.h: Turn on WTF_USE_AVFOUNDATION on Windows if AVFoundationCF is available.
53945         
53946         * platform/graphics/MediaPlayer.cpp:
53947         (WebCore::installedMediaEngines): Register MediaPlayerPrivateAVFoundationCF on Windows.
53948         * platform/graphics/MediaPlayer.h: Add support for an AVCFPlayer.
53949         
53950         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
53951         (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Workaround an AVCF limitation that prevents an AVCFPlayer from being created without an AVCFItem.
53952         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Added support for ContentsNeedsDisplay notification.
53953         
53954         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
53955         (WebCore::MediaPlayerPrivateAVFoundation::contentsNeedsDisplay): Added support for ContentsNeedsDisplay notification.
53956         
53957         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Added implementation.
53958         (WebCore::AVFWrapper::caVideoLayer):
53959         (WebCore::AVFWrapper::videoLayerWrapper):
53960         (WebCore::AVFWrapper::videoLayer):
53961         (WebCore::AVFWrapper::avPlayer):
53962         (WebCore::AVFWrapper::avAsset):
53963         (WebCore::AVFWrapper::avPlayerItem):
53964         (WebCore::AVFWrapper::timeObserver):
53965         (WebCore::AVFWrapper::imageGenerator):
53966         (WebCore::AVFWrapper::dispatchQueue):
53967         (WebCore::LayerClient::LayerClient):
53968         (WebCore::LayerClient::~LayerClient):
53969         (WebCore::LayerClient::platformCALayerRespondsToLayoutChanges):
53970         (WebCore::LayerClient::platformCALayerAnimationStarted):
53971         (WebCore::LayerClient::platformCALayerContentsOrientation):
53972         (WebCore::LayerClient::platformCALayerPaintContents):
53973         (WebCore::LayerClient::platformCALayerShowDebugBorders):
53974         (WebCore::LayerClient::platformCALayerShowRepaintCounter):
53975         (WebCore::LayerClient::platformCALayerIncrementRepaintCount):
53976         (WebCore::LayerClient::platformCALayerContentsOpaque):
53977         (WebCore::LayerClient::platformCALayerDrawsContent):
53978         (WebCore::LayerClient::platformCALayerLayerDidDisplay):
53979         (WebCore::boolString):
53980         (WebCore::metadataKeyNames):
53981         (WebCore::CMTimeRangeStartKey):
53982         (WebCore::CMTimeRangeDurationKey):
53983         (WebCore::CACFContextNeedsFlushNotification):
53984         (WebCore::videoLayer):
53985         (WebCore::avPlayer):
53986         (WebCore::avAsset):
53987         (WebCore::avPlayerItem):
53988         (WebCore::imageGenerator):
53989         (WebCore::MediaPlayerPrivateAVFoundationCF::create):
53990         (WebCore::MediaPlayerPrivateAVFoundationCF::registerMediaEngine):
53991         (WebCore::MediaPlayerPrivateAVFoundationCF::MediaPlayerPrivateAVFoundationCF):
53992         (WebCore::MediaPlayerPrivateAVFoundationCF::~MediaPlayerPrivateAVFoundationCF):
53993         (WebCore::MediaPlayerPrivateAVFoundationCF::cancelLoad):
53994         (WebCore::MediaPlayerPrivateAVFoundationCF::hasLayerRenderer):
53995         (WebCore::MediaPlayerPrivateAVFoundationCF::hasContextRenderer):
53996         (WebCore::MediaPlayerPrivateAVFoundationCF::createContextVideoRenderer):
53997         (WebCore::MediaPlayerPrivateAVFoundationCF::destroyContextVideoRenderer):
53998         (WebCore::MediaPlayerPrivateAVFoundationCF::createVideoLayer):
53999         (WebCore::MediaPlayerPrivateAVFoundationCF::destroyVideoLayer):
54000         (WebCore::MediaPlayerPrivateAVFoundationCF::hasAvailableVideoFrame):
54001         (WebCore::MediaPlayerPrivateAVFoundationCF::createAVPlayer):
54002         (WebCore::MediaPlayerPrivateAVFoundationCF::createAVPlayerItem):
54003         (WebCore::MediaPlayerPrivateAVFoundationCF::createAVAssetForURL):
54004         (WebCore::MediaPlayerPrivateAVFoundationCF::checkPlayability):
54005         (WebCore::MediaPlayerPrivateAVFoundationCF::beginLoadingMetadata):
54006         (WebCore::MediaPlayerPrivateAVFoundationCF::playerItemStatus):
54007         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMedia):
54008         (WebCore::MediaPlayerPrivateAVFoundationCF::platformLayer):
54009         (WebCore::MediaPlayerPrivateAVFoundationCF::platformSetVisible):
54010         (WebCore::MediaPlayerPrivateAVFoundationCF::platformPlay):
54011         (WebCore::MediaPlayerPrivateAVFoundationCF::platformPause):
54012         (WebCore::MediaPlayerPrivateAVFoundationCF::updateRate):
54013         (WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration):
54014         (WebCore::MediaPlayerPrivateAVFoundationCF::currentTime):
54015         (WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
54016         (WebCore::MediaPlayerPrivateAVFoundationCF::setVolume):
54017         (WebCore::MediaPlayerPrivateAVFoundationCF::setClosedCaptionsVisible):
54018         (WebCore::MediaPlayerPrivateAVFoundationCF::rate):
54019         (WebCore::timeRangeIsValidAndNotEmpty):
54020         (WebCore::MediaPlayerPrivateAVFoundationCF::platformBufferedTimeRanges):
54021         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
54022         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded):
54023         (WebCore::MediaPlayerPrivateAVFoundationCF::totalBytes):
54024         (WebCore::MediaPlayerPrivateAVFoundationCF::assetStatus):
54025         (WebCore::MediaPlayerPrivateAVFoundationCF::paintCurrentFrameInContext):
54026         (WebCore::MediaPlayerPrivateAVFoundationCF::paint):
54027         (WebCore::mimeTypeCache):
54028         (WebCore::MediaPlayerPrivateAVFoundationCF::getSupportedTypes):
54029         (WebCore::MediaPlayerPrivateAVFoundationCF::supportsType):
54030         (WebCore::MediaPlayerPrivateAVFoundationCF::isAvailable):
54031         (WebCore::MediaPlayerPrivateAVFoundationCF::mediaTimeForTimeValue):
54032         (WebCore::MediaPlayerPrivateAVFoundationCF::tracksChanged):
54033         (WebCore::MediaPlayerPrivateAVFoundationCF::sizeChanged):
54034         (WebCore::MediaPlayerPrivateAVFoundationCF::contentsNeedsDisplay):
54035         (WebCore::AVFWrapper::AVFWrapper):
54036         (WebCore::AVFWrapper::~AVFWrapper):
54037         (WebCore::AVFWrapper::scheduleDisconnectAndDelete):
54038         (WebCore::AVFWrapper::disconnectAndDeleteAVFWrapper):
54039         (WebCore::AVFWrapper::deleteAVFWrapper):
54040         (WebCore::AVFWrapper::createAssetForURL):
54041         (WebCore::AVFWrapper::createPlayer):
54042         (WebCore::AVFWrapper::createPlayerItem):
54043         (WebCore::AVFWrapper::periodicTimeObserverCallback):
54044         (WebCore::AVFWrapper::notificationCallback):
54045         (WebCore::AVFWrapper::loadPlayableCompletionCallback):
54046         (WebCore::AVFWrapper::checkPlayability):
54047         (WebCore::AVFWrapper::loadMetadataCompletionCallback):
54048         (WebCore::AVFWrapper::beginLoadingMetadata):
54049         (WebCore::AVFWrapper::seekCompletedCallback):
54050         (WebCore::AVFWrapper::seekToTime):
54051         (WebCore::AVFWrapper::setAsset):
54052         (WebCore::AVFWrapper::platformLayer):
54053         (WebCore::AVFWrapper::createAVCFVideoLayer):
54054         (WebCore::AVFWrapper::destroyVideoLayer):
54055         (WebCore::AVFWrapper::setVideoLayerNeedsCommit):
54056         (WebCore::AVFWrapper::setVideoLayerHidden):
54057         (WebCore::AVFWrapper::createImageGenerator):
54058         (WebCore::AVFWrapper::destroyImageGenerator):
54059         (WebCore::AVFWrapper::createImageForTimeInRect):
54060         (WebCore::LayerClient::platformCALayerLayoutSublayersOfLayer):
54061
54062         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h: Added implementation.
54063
54064 2011-08-04  Jochen Eisinger  <jochen@chromium.org>
54065
54066         Get rid of ResourceRequestBase::m_targetType. Move it to chromium's ResourceRequest.
54067         https://bugs.webkit.org/show_bug.cgi?id=48483
54068
54069         Reviewed by Alexey Proskuryakov.
54070
54071         * loader/PingLoader.cpp:
54072         (WebCore::PingLoader::loadImage):
54073         (WebCore::PingLoader::sendPing):
54074         (WebCore::PingLoader::reportContentSecurityPolicyViolation):
54075         * loader/cache/CachedResourceRequest.cpp:
54076         (WebCore::CachedResourceRequest::load):
54077         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
54078         (webKitWebSrcStart):
54079         * platform/network/ResourceRequestBase.cpp:
54080         (WebCore::ResourceRequestBase::adopt):
54081         (WebCore::ResourceRequestBase::copyData):
54082         * platform/network/ResourceRequestBase.h:
54083         (WebCore::ResourceRequestBase::ResourceRequestBase):
54084         * platform/network/chromium/ResourceRequest.cpp:
54085         (WebCore::ResourceRequest::doPlatformCopyData):
54086         (WebCore::ResourceRequest::doPlatformAdopt):
54087         * platform/network/chromium/ResourceRequest.h:
54088         (WebCore::ResourceRequest::ResourceRequest):
54089         (WebCore::ResourceRequest::targetType):
54090         (WebCore::ResourceRequest::setTargetType):
54091         * workers/DefaultSharedWorkerRepository.cpp:
54092         (WebCore::SharedWorkerScriptLoader::load):
54093         * workers/Worker.cpp:
54094         (WebCore::Worker::create):
54095         * workers/WorkerContext.cpp:
54096         (WebCore::WorkerContext::importScripts):
54097         * workers/WorkerScriptLoader.cpp:
54098         (WebCore::WorkerScriptLoader::WorkerScriptLoader):
54099         (WebCore::WorkerScriptLoader::createResourceRequest):
54100         * workers/WorkerScriptLoader.h:
54101         (WebCore::WorkerScriptLoader::create):
54102         (WebCore::WorkerScriptLoader::setTargetType):
54103
54104 2011-08-04  Jeff Miller  <jeffm@apple.com>
54105
54106         Fix WinCE build after r92308.
54107
54108         * config.h: Don't try to include WebCoreHeaderDetection.h for WinCE.
54109
54110 2011-08-04  Darin Fisher  <darin@chromium.org>
54111
54112         webkitRequestAnimationFrame's element argument needs to be marked optional
54113         https://bugs.webkit.org/show_bug.cgi?id=65698
54114
54115         Reviewed by James Robinson.
54116
54117         * page/DOMWindow.idl:
54118
54119 2011-08-04  Adam Roben  <aroben@apple.com>
54120
54121         Delete some unused code from platform/graphics/win
54122
54123         MediaPlayerPrivateQuickTimeWin has been unused since r72117, and the GraphicsLayer-related
54124         classes have been unused since r75262.
54125
54126         Fixes <http://webkit.org/b/65689> platform/graphics/win has a bunch of unused code
54127
54128         Reviewed by Eric Carlson.
54129
54130         * WebCore.gypi:
54131         * WebCore.vcproj/WebCore.vcproj:
54132         Removed now-deleted files.
54133
54134         * platform/graphics/win/GraphicsLayerCACF.cpp: Removed.
54135         * platform/graphics/win/GraphicsLayerCACF.h: Removed.
54136         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: Removed.
54137         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: Removed.
54138         * platform/graphics/win/WebLayer.cpp: Removed.
54139         * platform/graphics/win/WebLayer.h: Removed.
54140         * platform/graphics/win/WebTiledLayer.cpp: Removed.
54141         * platform/graphics/win/WebTiledLayer.h: Removed.
54142
54143 2011-08-03  Adam Roben  <aroben@apple.com>
54144
54145         Detect and handle overflow in PlatformCALayerWinInternal::constrainedSize
54146
54147         Google Maps sometimes requests very large (i.e., 2^50 pixels or greater) layers when
54148         zooming. PlatformCALayerWinInternal has code to limit tiled layers to 2^27 pixels, but it
54149         was not correctly handling overflow. In some cases, this would lead to creating a tiled
54150         layer with 0 tiles, which was the cause of this crash.
54151
54152         Fixes <http://webkit.org/b/65637> <rdar://problem/9784849> Crash beneath
54153         PlatformCALayerWinInternal::updateTiles when zooming on Google Maps
54154
54155         Reviewed by Sam Weinig.
54156
54157         Test: compositing/tiling/crash-huge-layer.html
54158
54159         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
54160         (PlatformCALayerWinInternal::constrainedSize): Check for overflow before seeing if the
54161         number of required tiles is larger than the maximum number of allowed tiles.
54162         (PlatformCALayerWinInternal::updateTiles): Added an assertion to catch cases where we have a
54163         non-empty tiled layer that contains 0 tiles, which would cause the crash in this bug report.
54164
54165 2011-08-04  Stephen White  <senorblanco@chromium.org>
54166
54167         Set graphics context current before canvas.toDataURL().
54168         https://bugs.webkit.org/show_bug.cgi?id=65700
54169
54170         Reviewed by James Robinson.
54171
54172         No new tests, unfortunately.  The test infrastucture doesn't seem
54173         to be conducive to writing multiple-context tests.
54174
54175         * platform/graphics/skia/ImageBufferSkia.cpp:
54176         (WebCore::ImageBuffer::toDataURL):
54177
54178 2011-08-01  Brian Weinstein  <bweinstein@apple.com>
54179
54180         WebKit2: Web Inspector always starts in undocked mode
54181         https://bugs.webkit.org/show_bug.cgi?id=65493
54182         <rdar://problem/9353114>
54183         
54184         Reviewed by Adam Roben.
54185         
54186         Expose some methods on InspectorFrontendClient through the InspectorController so WebKit2
54187         can request the inspector be docked, or ask whether or not it can be docked.
54188
54189         * WebCore.exp.in: Export needed methods.
54190         * inspector/InspectorController.cpp:
54191         (WebCore::InspectorController::requestAttachWindow): Call through to InspectorFrontendClient.
54192         (WebCore::InspectorController::canAttachWindow): Ditto.
54193         * inspector/InspectorController.h:
54194         * inspector/InspectorFrontendClient.h:
54195         * inspector/InspectorFrontendClientLocal.h:
54196
54197 2011-08-04  Luke Macpherson   <macpherson@chromium.org>
54198
54199         Support cast between CSSPrimitiveValue and EborderFit, use in CSSStyleSelector.
54200         https://bugs.webkit.org/show_bug.cgi?id=65665
54201
54202         Reviewed by Simon Fraser.
54203
54204         No new tests / refactoring only.
54205
54206         * css/CSSPrimitiveValueMappings.h:
54207         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
54208         Support cast from EBorderFit.
54209         (WebCore::CSSPrimitiveValue::operator EBorderFit):
54210         Support cast to EBorderFit.
54211         * css/CSSStyleSelector.cpp:
54212         (WebCore::CSSStyleSelector::applyProperty):
54213         Use new cast to allow use of appropriate macro.
54214
54215 2011-08-04  Pavel Feldman  <pfeldman@google.com>
54216
54217         Web Inspector: rename sendResultByValue to returnByValue in Runtime agent.
54218         https://bugs.webkit.org/show_bug.cgi?id=65687
54219
54220         Reviewed by Yury Semikhatsky.
54221
54222         * inspector/InjectedScript.cpp:
54223         (WebCore::InjectedScript::evaluate):
54224         (WebCore::InjectedScript::callFunctionOn):
54225         * inspector/InjectedScript.h:
54226         * inspector/InjectedScriptSource.js:
54227         * inspector/Inspector.json:
54228         * inspector/InspectorRuntimeAgent.cpp:
54229         (WebCore::InspectorRuntimeAgent::evaluate):
54230         (WebCore::InspectorRuntimeAgent::callFunctionOn):
54231         * inspector/InspectorRuntimeAgent.h:
54232
54233 2011-08-04  Matt Falkenhagen  <falken@chromium.org>
54234
54235         Use -webkit-locale for font selection.
54236         https://bugs.webkit.org/show_bug.cgi?id=10874
54237
54238         Reviewed by Dan Bernstein.
54239
54240         Infer a script from -webkit-locale to use to choose a font for generic
54241         font families and the default unstyled font.  The font is retrieved
54242         from per-script font settings (see bug 20797).  Since these settings
54243         have not changed there should be no visible effect yet.
54244
54245         * CMakeLists.txt:
54246         * GNUmakefile.list.am:
54247         * WebCore.gyp/WebCore.gyp:
54248         * WebCore.gypi:
54249         * WebCore.pro:
54250         * WebCore.vcproj/WebCore.vcproj:
54251         * WebCore.xcodeproj/project.pbxproj:
54252         * css/CSSFontSelector.cpp: Use script when getting font from Settings
54253         (WebCore::fontDataForGenericFamily):
54254         (WebCore::CSSFontSelector::getFontData):
54255         * css/CSSPropertyNames.in: Increase priority of -webkit-locale since it affects font
54256         * css/CSSStyleSelector.cpp:
54257         (WebCore::CSSStyleSelector::styleForDocument):
54258         (WebCore::CSSStyleSelector::applyDeclarations):
54259         (WebCore::CSSStyleSelector::applyProperty): Set script in font based on -webkit-locale
54260         * page/Settings.cpp:
54261         (WebCore::getGenericFontFamilyForScript): Fallback to USCRIPT_COMMON
54262         * platform/graphics/FontDescription.h: Add m_script
54263         (WebCore::FontDescription::FontDescription):
54264         (WebCore::FontDescription::script):
54265         (WebCore::FontDescription::setScript):
54266         (WebCore::FontDescription::operator==):
54267         * platform/text/LocaleToScriptMapping.h: Added.
54268         * platform/text/LocaleToScriptMappingDefault.cpp: Added.
54269         (WebCore::localeToScriptCodeForFontSelection):
54270         (WebCore::LocaleScript::if):
54271         (WebCore::LocaleScript::while):
54272         * platform/text/LocaleToScriptMappingICU.cpp: Added.
54273         (WebCore::scriptCodeForFontSelection):
54274         (WebCore::localeToScriptCodeForFontSelection):
54275
54276 2011-08-04  Vsevolod Vlasov  <vsevik@chromium.org>
54277
54278         Web Inspector: Pretty print JSONP in network panel preview tab.
54279         https://bugs.webkit.org/show_bug.cgi?id=65559
54280
54281         Reviewed by Pavel Feldman.
54282
54283         Test: http/tests/inspector/network/network-preview-json.html
54284
54285         * inspector/front-end/ResourceJSONView.js:
54286         (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.parseJSONP):
54287         (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype._initialize):
54288         (WebInspector.ResourceJSONView.parseJSON.WebInspector.ParsedJSON):
54289         * inspector/front-end/ResourcePreviewView.js:
54290         (WebInspector.ResourcePreviewView.prototype._createPreviewView):
54291
54292 2011-08-04  Pavel Feldman  <pfeldman@google.com>
54293
54294         Web Inspector: replace isRegex with urlRegex in setBreakpointByUrl
54295         https://bugs.webkit.org/show_bug.cgi?id=65684
54296
54297         Reviewed by Yury Semikhatsky.
54298
54299         * inspector/Inspector.json:
54300         * inspector/InspectorDebuggerAgent.cpp:
54301         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
54302         * inspector/InspectorDebuggerAgent.h:
54303         * inspector/front-end/DebuggerModel.js:
54304         (WebInspector.DebuggerModel.prototype.setBreakpoint):
54305
54306 2011-08-03  Philippe Normand  <pnormand@igalia.com>
54307
54308         [GTK] fullscreen/video-controls-override.html fails
54309         https://bugs.webkit.org/show_bug.cgi?id=65618
54310
54311         Reviewed by Martin Robinson.
54312
54313         Implement extraFullScreenStyleSheet() and provide the QuickTime
54314         stylesheet for now, later we might want our own stylesheet.
54315
54316         * GNUmakefile.am:
54317         * platform/gtk/RenderThemeGtk.cpp:
54318         (WebCore::RenderThemeGtk::extraFullScreenStyleSheet):
54319         * platform/gtk/RenderThemeGtk.h:
54320
54321 2011-08-04  Pavel Feldman  <pfeldman@google.com>
54322
54323         Web Inspector: Rename sourceId -> scriptId in the protocol and the source code.
54324         https://bugs.webkit.org/show_bug.cgi?id=65682
54325
54326         Reviewed by Yury Semikhatsky.
54327
54328         * inspector/InjectedScriptSource.js:
54329         ():
54330         * inspector/Inspector.json:
54331         * inspector/InspectorConsoleAgent.cpp:
54332         (WebCore::InspectorConsoleAgent::addMessageToConsole):
54333         * inspector/InspectorConsoleAgent.h:
54334         * inspector/InspectorConsoleInstrumentation.h:
54335         (WebCore::InspectorInstrumentation::addMessageToConsole):
54336         * inspector/InspectorDOMAgent.cpp:
54337         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
54338         * inspector/InspectorDebuggerAgent.cpp:
54339         (WebCore::parseLocation):
54340         (WebCore::InspectorDebuggerAgent::setBreakpoint):
54341         (WebCore::InspectorDebuggerAgent::continueToLocation):
54342         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
54343         (WebCore::InspectorDebuggerAgent::setScriptSource):
54344         (WebCore::InspectorDebuggerAgent::getScriptSource):
54345         (WebCore::InspectorDebuggerAgent::didParseSource):
54346         * inspector/InspectorDebuggerAgent.h:
54347         * inspector/InspectorInstrumentation.cpp:
54348         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
54349         * inspector/InspectorInstrumentation.h:
54350         * inspector/ScriptDebugListener.h:
54351         * inspector/front-end/DebuggerModel.js:
54352         (WebInspector.DebuggerModel.prototype.scriptForSourceID):
54353         (WebInspector.DebuggerModel.prototype.queryScripts):
54354         (WebInspector.DebuggerModel.prototype.setScriptSource):
54355         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
54356         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
54357         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
54358         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
54359         * inspector/front-end/DebuggerPresentationModel.js:
54360         (WebInspector.DebuggerPresentationModel.prototype.registerAnchor):
54361         (WebInspector.DebuggerPresentationModel.prototype._updateAnchor):
54362         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didReceiveSource):
54363         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
54364         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didGetScriptLocation):
54365         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
54366         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
54367         (WebInspector.DebuggerPresentationModel.prototype.set _debuggerPaused):
54368         (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
54369         (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
54370         (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
54371         (WebInspector.PresenationCallFrame):
54372         (WebInspector.PresenationCallFrame.prototype.sourceLine):
54373         * inspector/front-end/EventListenersSidebarPane.js:
54374         (.):
54375         ():
54376         * inspector/front-end/Script.js:
54377         (WebInspector.Script):
54378         (WebInspector.Script.prototype.requestSource):
54379         (WebInspector.Script.prototype.editSource):
54380         * inspector/front-end/SourceFile.js:
54381         (WebInspector.RawSourceCode.prototype.uiLocationToRawLocation):
54382         (WebInspector.RawSourceCode.prototype.forceLoadContent):
54383         (WebInspector.RawSourceCode.prototype._concatenateScriptsContent):
54384
54385 2011-08-04  Tommy Widenflycht  <tommyw@google.com>
54386
54387         MediaStream API: Rename StreamEvent to MediaStreamEvent
54388         https://bugs.webkit.org/show_bug.cgi?id=65669
54389
54390         Reviewed by Tony Gentilcore.
54391
54392         * CMakeLists.txt:
54393         * CodeGenerators.pri:
54394         * DerivedSources.cpp:
54395         * DerivedSources.make:
54396         * GNUmakefile.list.am:
54397         * WebCore.gypi:
54398         * WebCore.pro:
54399         * WebCore.vcproj/WebCore.vcproj:
54400         * WebCore.xcodeproj/project.pbxproj:
54401         * bindings/js/JSEventCustom.cpp:
54402         (WebCore::toJS):
54403         * bindings/v8/custom/V8EventCustom.cpp:
54404         (WebCore::toV8):
54405         * dom/DOMAllInOne.cpp:
54406         * dom/Event.cpp:
54407         (WebCore::Event::isMediaStreamEvent):
54408         * dom/Event.h:
54409         * p2p/MediaStreamEvent.cpp: Renamed from Source/WebCore/dom/StreamEvent.cpp.
54410         (WebCore::MediaStreamEvent::create):
54411         (WebCore::MediaStreamEvent::MediaStreamEvent):
54412         (WebCore::MediaStreamEvent::~MediaStreamEvent):
54413         (WebCore::MediaStreamEvent::initMediaStreamEvent):
54414         (WebCore::MediaStreamEvent::stream):
54415         * p2p/MediaStreamEvent.h: Renamed from Source/WebCore/dom/StreamEvent.h.
54416         (WebCore::MediaStreamEvent::isMediaStreamEvent):
54417         * p2p/MediaStreamEvent.idl: Renamed from Source/WebCore/dom/StreamEvent.idl.
54418         * p2p/PeerConnection.cpp:
54419         (WebCore::PeerConnection::dispatchStreamEvent):
54420
54421 2011-08-02  Hans Wennborg  <hans@chromium.org>
54422
54423         IndexedDB: Fix index data invalidation bugs.
54424         https://bugs.webkit.org/show_bug.cgi?id=65547
54425
54426         Reviewed by Tony Chang.
54427
54428         The function that checks whether a key exists in an index failed
54429         to check whether that key was still valid or not.
54430
54431         Deleting a record from an object store must also delete its exists
54432         entry, thus invalidating index keys pointing to that record.
54433
54434         Test: storage/indexeddb/index-unique.html
54435
54436         * storage/IDBLevelDBBackingStore.cpp:
54437         (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
54438         (WebCore::findKeyInIndex):
54439         (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
54440         (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
54441         (WebCore::CursorOptions::IndexKeyCursorImpl::loadCurrentRow):
54442
54443 2011-08-04  Alexandru Chiculita  <achicu@adobe.com>
54444
54445         Move PODIntervalTree to Source/WebCore/platform
54446         https://bugs.webkit.org/show_bug.cgi?id=65667
54447
54448         It seems the files were not part of any project, so no project files were modified.
54449
54450         Reviewed by Adam Barth.
54451
54452         No new tests, just moving files from one folder to the other.
54453
54454         * platform/PODArena.h: Renamed from Source/WebCore/platform/graphics/gpu/PODArena.h.
54455         (WebCore::PODArena::Allocator::~Allocator):
54456         (WebCore::PODArena::FastMallocAllocator::create):
54457         (WebCore::PODArena::FastMallocAllocator::allocate):
54458         (WebCore::PODArena::FastMallocAllocator::free):
54459         (WebCore::PODArena::FastMallocAllocator::FastMallocAllocator):
54460         (WebCore::PODArena::create):
54461         (WebCore::PODArena::allocateObject):
54462         (WebCore::PODArena::~PODArena):
54463         (WebCore::PODArena::PODArena):
54464         (WebCore::PODArena::minAlignment):
54465         (WebCore::PODArena::allocateBase):
54466         (WebCore::PODArena::roundUp):
54467         (WebCore::PODArena::Chunk::Chunk):
54468         (WebCore::PODArena::Chunk::~Chunk):
54469         (WebCore::PODArena::Chunk::allocate):
54470         * platform/PODInterval.h: Renamed from Source/WebCore/platform/graphics/gpu/PODInterval.h.
54471         (WebCore::PODInterval::PODInterval):
54472         (WebCore::PODInterval::low):
54473         (WebCore::PODInterval::high):
54474         (WebCore::PODInterval::data):
54475         (WebCore::PODInterval::overlaps):
54476         (WebCore::PODInterval::operator<):
54477         (WebCore::PODInterval::operator==):
54478         (WebCore::PODInterval::maxHigh):
54479         (WebCore::PODInterval::setMaxHigh):
54480         (WebCore::PODInterval::toString):
54481         * platform/PODIntervalTree.h: Renamed from Source/WebCore/platform/graphics/gpu/PODIntervalTree.h.
54482         (WebCore::PODIntervalTree::PODIntervalTree):
54483         (WebCore::PODIntervalTree::allOverlaps):
54484         (WebCore::PODIntervalTree::createInterval):
54485         (WebCore::PODIntervalTree::checkInvariants):
54486         (WebCore::PODIntervalTree::init):
54487         (WebCore::PODIntervalTree::searchForOverlapsFrom):
54488         (WebCore::PODIntervalTree::updateNode):
54489         (WebCore::PODIntervalTree::checkInvariantsFromNode):
54490         * platform/PODRedBlackTree.h: Renamed from Source/WebCore/platform/graphics/gpu/PODRedBlackTree.h.
54491         (WebCore::PODRedBlackTree::Visitor::~Visitor):
54492         (WebCore::PODRedBlackTree::PODRedBlackTree):
54493         (WebCore::PODRedBlackTree::~PODRedBlackTree):
54494         (WebCore::PODRedBlackTree::add):
54495         (WebCore::PODRedBlackTree::remove):
54496         (WebCore::PODRedBlackTree::contains):
54497         (WebCore::PODRedBlackTree::visitInorder):
54498         (WebCore::PODRedBlackTree::size):
54499         (WebCore::PODRedBlackTree::setNeedsFullOrderingComparisons):
54500         (WebCore::PODRedBlackTree::checkInvariants):
54501         (WebCore::PODRedBlackTree::dump):
54502         (WebCore::PODRedBlackTree::setVerboseDebugging):
54503         (WebCore::PODRedBlackTree::Node::Node):
54504         (WebCore::PODRedBlackTree::Node::~Node):
54505         (WebCore::PODRedBlackTree::Node::color):
54506         (WebCore::PODRedBlackTree::Node::setColor):
54507         (WebCore::PODRedBlackTree::Node::data):
54508         (WebCore::PODRedBlackTree::Node::copyFrom):
54509         (WebCore::PODRedBlackTree::Node::left):
54510         (WebCore::PODRedBlackTree::Node::setLeft):
54511         (WebCore::PODRedBlackTree::Node::right):
54512         (WebCore::PODRedBlackTree::Node::setRight):
54513         (WebCore::PODRedBlackTree::Node::parent):
54514         (WebCore::PODRedBlackTree::Node::setParent):
54515         (WebCore::PODRedBlackTree::root):
54516         (WebCore::PODRedBlackTree::updateNode):
54517         (WebCore::PODRedBlackTree::treeSearch):
54518         (WebCore::PODRedBlackTree::treeSearchNormal):
54519         (WebCore::PODRedBlackTree::treeSearchFullComparisons):
54520         (WebCore::PODRedBlackTree::treeInsert):
54521         (WebCore::PODRedBlackTree::treeSuccessor):
54522         (WebCore::PODRedBlackTree::treeMinimum):
54523         (WebCore::PODRedBlackTree::propagateUpdates):
54524         (WebCore::PODRedBlackTree::leftRotate):
54525         (WebCore::PODRedBlackTree::rightRotate):
54526         (WebCore::PODRedBlackTree::insertNode):
54527         (WebCore::PODRedBlackTree::deleteFixup):
54528         (WebCore::PODRedBlackTree::deleteNode):
54529         (WebCore::PODRedBlackTree::visitInorderImpl):
54530         (WebCore::PODRedBlackTree::Counter::Counter):
54531         (WebCore::PODRedBlackTree::Counter::visit):
54532         (WebCore::PODRedBlackTree::Counter::count):
54533         (WebCore::PODRedBlackTree::checkInvariantsFromNode):
54534         (WebCore::PODRedBlackTree::logIfVerbose):
54535         (WebCore::PODRedBlackTree::dumpFromNode):
54536
54537 2011-08-03  Alice Boxhall  <aboxhall@chromium.org>
54538
54539         An element with role=textbox should have settable AXValue unless read-only
54540         https://bugs.webkit.org/show_bug.cgi?id=65664
54541
54542         Reviewed by Chris Fleizach.
54543
54544         * accessibility/AccessibilityRenderObject.cpp:
54545         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
54546         Return true for non-native text field with aria-readonly not set.
54547
54548 2011-08-03  Luke Macpherson   <macpherson@chromium.org>
54549
54550         Clean up value clamping in CSSStyleSelector.
54551         https://bugs.webkit.org/show_bug.cgi?id=65588
54552
54553         Reviewed by Darin Adler.
54554
54555         No new tests / trivial code cleanup only.
54556
54557         * css/CSSStyleSelector.cpp:
54558         (WebCore::CSSStyleSelector::applyProperty):
54559         Replace (unsigned int)primitiveValue->getDoubleValue() with primtiveValue->getValue<unsigned>() for correct clamping.
54560         Replace clampToInteger(primitiveValue->getDoubleValue()) with primitiveValue->getIntValue().
54561
54562 2011-08-03  Kent Tamura  <tkent@chromium.org>
54563
54564         Fix incorrect checks for HTMLMediaElement
54565         https://bugs.webkit.org/show_bug.cgi?id=65590
54566
54567         Reviewed by Dimitri Glazkov.
54568
54569         <video> and <audio> can be an HTMLElement instance instead of
54570         HTMLMediaElement if MediaPlayer::isAvailable() returns false or
54571         the media feature is disabled at runtime.
54572
54573         * html/HTMLSourceElement.cpp:
54574         (WebCore::HTMLSourceElement::insertedIntoTree):
54575         (WebCore::HTMLSourceElement::willRemove):
54576         * html/HTMLTrackElement.cpp:
54577         (WebCore::HTMLTrackElement::insertedIntoTree):
54578         (WebCore::HTMLTrackElement::willRemove):
54579         * html/shadow/MediaControlElements.cpp:
54580         (WebCore::toParentMediaElement):
54581         * page/FrameView.cpp:
54582         (WebCore::FrameView::updateWidget):
54583         * platform/efl/RenderThemeEfl.cpp:
54584         (WebCore::RenderThemeEfl::paintMediaMuteButton):
54585         * platform/gtk/RenderThemeGtk.cpp:
54586         (WebCore::getMediaElementFromRenderObject):
54587         * rendering/RenderThemeMac.mm:
54588         (WebCore::RenderThemeMac::paintMediaSliderTrack):
54589         * rendering/RenderThemeWinCE.cpp:
54590         (WebCore::mediaElementParent):
54591
54592 2011-08-03  Sailesh Agrawal  <sail@chromium.org>
54593
54594         Chromium Mac: Make ScrollbarOverlayUtilitiesChromiumMac.h c++ compatible
54595         https://bugs.webkit.org/show_bug.cgi?id=65659
54596
54597         Reviewed by James Robinson.
54598
54599         ScrollbarOverlayUtilitiesChromiumMac.h couldn't be included from pure c++ code because it used NSInteger. I fixed this by checking for __OBJC__ before using NSInteger.
54600
54601         Currently no pure c++ files are including ScrollbarOverlayUtilitiesChromiumMac.h but this will change in future patches from jam@chromium.org.
54602
54603         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
54604         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
54605         (wkScrollbarPainterControllerStyle):
54606         (wkSetScrollbarPainterControllerStyle):
54607
54608 2011-08-03  Luke Macpherson   <macpherson@chromium.org>
54609
54610         Support cast between CSSPrimitiveValue and EBoxSizing, use in CSSStyleSelector.
54611         https://bugs.webkit.org/show_bug.cgi?id=65657
54612
54613         Reviewed by Simon Fraser.
54614
54615         No new tests / refactoring only.
54616
54617         * css/CSSPrimitiveValueMappings.h:
54618         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
54619         Implement cast from EBoxSizing.
54620         (WebCore::CSSPrimitiveValue::operator EBoxSizing):
54621         Implement cast to EBoxSizing.
54622         * css/CSSStyleSelector.cpp:
54623         (WebCore::CSSStyleSelector::applyProperty):
54624         Use appropriate macro to simplify code using cast.
54625
54626 2011-08-03  Ian Henderson  <ianh@apple.com>
54627
54628         Draw rectangular box shadow for elements with border-radius if no corners are visible
54629         https://bugs.webkit.org/show_bug.cgi?id=65006
54630
54631         Reviewed by Simon Fraser.
54632
54633         Change "unroundClippedCorners" to "allCornersClippedOut" and use it to
54634         determine when the corners' influence affects the blurred shadow in
54635         the current drawing region.
54636
54637         Test: fast/box-shadow/box-shadow-clipped-slices.html
54638
54639         * rendering/InlineFlowBox.cpp:
54640         (WebCore::InlineFlowBox::paintBoxShadow): Pass PaintInfo through to
54641         RenderBoxModelObject::paintBoxShadow.
54642         (WebCore::InlineFlowBox::paintBoxDecorations): Ditto.
54643         * rendering/InlineFlowBox.h:
54644         * rendering/RenderBox.cpp:
54645         (WebCore::RenderBox::paintBoxDecorations): Ditto.
54646         * rendering/RenderBoxModelObject.cpp:
54647         (WebCore::allCornersClippedOut): Determines whether the bounding rects
54648         for any of the given rounded rect's corners intersects the clip rect.
54649         (WebCore::RenderBoxModelObject::paintBorder): Instead of "unrounding"
54650         any corner outside the clip rect, unround all corners at once, and
54651         only if they are all outside the clip rect.
54652         (WebCore::RenderBoxModelObject::paintBoxShadow): Determine whether any
54653         corner will influence shadow drawing using allCornersClippedOut on the
54654         influenceRect, whose corners extend past the fillRect's corners by the
54655         blur radius and inside the fillRect's corners by the blur radius.
54656         * rendering/RenderBoxModelObject.h:
54657         * rendering/RenderFieldset.cpp:
54658         (WebCore::RenderFieldset::paintBoxDecorations): Pass PaintInfo into
54659         RenderBoxModelObject::paintBoxShadow.
54660         * rendering/RenderTable.cpp:
54661         (WebCore::RenderTable::paintBoxDecorations): Ditto.
54662         * rendering/RenderTableCell.cpp:
54663         (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
54664
54665 2011-08-03  No'am Rosenthal  <noam.rosenthal@nokia.com>
54666
54667         [Qt][Texmap][REGRESSION] http://webkit.org/blog-files/transform-style.html doesn't show composited content
54668         https://bugs.webkit.org/show_bug.cgi?id=65629
54669
54670         Reviewed by Benjamin Poulain.
54671
54672         Some non-ES2 initialization was wrongfully #ifdefed in CPU(X86) and thus compiled-out.
54673         When put it in the correct #ifdef, composited layers which require an intermediate buffer
54674         work again.
54675
54676         No new tests. Existing opacity tests in LayoutTests/compositing test this.
54677
54678         * platform/graphics/opengl/TextureMapperGL.cpp:
54679         (WebCore::BitmapTextureGL::bind):
54680
54681 2011-08-03  Mark Rowe  <mrowe@apple.com>
54682
54683         Bring some order to FeatureDefines.xcconfig to make it easier to follow.
54684
54685         Reviewed by Sam Weinig.
54686
54687         * Configurations/FeatureDefines.xcconfig:
54688
54689 2011-08-03  Mark Rowe  <mrowe@apple.com>
54690
54691         Clean up FeatureDefines.xcconfig to remove some unnecessary conditional settings
54692
54693         Reviewed by Dave Kilzer.
54694
54695         * Configurations/FeatureDefines.xcconfig:
54696
54697 2011-08-02  Adrienne Walker  <enne@google.com>
54698
54699         [chromium] Fix issue where switching composited tabs evicts root textures
54700         https://bugs.webkit.org/show_bug.cgi?id=65562
54701
54702         Reviewed by James Robinson.
54703
54704         LayerTilerChromium::protectTileTextures was hard-coding texture sizes
54705         and texture formats. Because this didn't always match textures' actual
54706         sizes and formats, they weren't getting protected during eviction.
54707
54708         * platform/graphics/chromium/LayerTilerChromium.cpp:
54709         (WebCore::LayerTilerChromium::protectTileTextures):
54710
54711 2011-08-03  Ryosuke Niwa  <rniwa@webkit.org>
54712
54713         select-all, copy, paste of specialAncestorElements (e.g. pre, h1, etc) nests the element inside itself
54714         https://bugs.webkit.org/show_bug.cgi?id=26483
54715
54716         Reviewed by Enrica Casucci.
54717
54718         The bug was caused by WebKit serializing pre, h1, etc... to retain structure and appearance when copying
54719         rich content and pasting did not remove such nodes wrapping the copied contents.
54720
54721         Fixed the bug by extending r81887 and r83322 to remove those elements from where WebKit pastes into.
54722
54723         Test: editing/pasteboard/copy-paste-text-in-h1.html
54724
54725         * editing/ReplaceSelectionCommand.cpp:
54726         (WebCore::nodeHasAttributesToPreserve): Extracted from isInlineNodeWithStyle.
54727         (WebCore::isInlineNodeWithStyle): Calls nodeHasAttributesToPreserve.
54728         (WebCore::ReplaceSelectionCommand::doApply): Calls ancestorToRetainStructureAndAppearance.
54729         Remove nodes copied by ancestorToRetainStructureAndAppearance at insertionPos before pasting the fragment.
54730         * editing/markup.cpp:
54731         (WebCore::ancestorToRetainStructureAndAppearance): Takes ShouldIncludeParagraphSeparators.
54732         * editing/markup.h:
54733
54734 2011-08-03  Mark Pilgrim  <pilgrim@chromium.org>
54735
54736         Remove LegacyDefaultOptionalArguments flag from Console.idl
54737         https://bugs.webkit.org/show_bug.cgi?id=65569
54738
54739         Reviewed by Adam Barth.
54740
54741         No new tests, all existing tests pass.
54742
54743         * page/Console.idl:
54744
54745 2011-08-03  Mark Pilgrim  <pilgrim@chromium.org>
54746
54747         Remove LegacyDefaultOptionalArguments flag from HTML DOM IDL files
54748         https://bugs.webkit.org/show_bug.cgi?id=65338
54749
54750         Reviewed by Adam Barth.
54751
54752         * html/DOMFormData.idl:
54753         * html/DOMTokenList.idl:
54754         * html/DOMURL.idl:
54755         * html/HTMLAllCollection.idl:
54756         * html/HTMLAnchorElement.idl:
54757         * html/HTMLAudioElement.idl:
54758         * html/HTMLButtonElement.idl:
54759         * html/HTMLCanvasElement.idl:
54760         * html/HTMLCollection.idl:
54761         * html/HTMLDivElement.idl:
54762         * html/HTMLDocument.idl:
54763         * html/HTMLElement.idl:
54764         * html/HTMLFieldSetElement.idl:
54765         * html/HTMLInputElement.idl:
54766         * html/HTMLKeygenElement.idl:
54767         * html/HTMLMediaElement.idl:
54768         * html/HTMLObjectElement.idl:
54769         * html/HTMLOptionsCollection.idl:
54770         * html/HTMLOutputElement.idl:
54771         * html/HTMLSelectElement.idl:
54772         * html/HTMLTableElement.idl:
54773         * html/HTMLTableRowElement.idl:
54774         * html/HTMLTableSectionElement.idl:
54775         * html/HTMLTextAreaElement.idl:
54776         * html/HTMLVideoElement.idl:
54777         * html/TimeRanges.idl:
54778
54779 2011-08-03  Jeffrey Pfau  <jpfau@apple.com>
54780
54781         Make atomic XML token
54782         https://bugs.webkit.org/show_bug.cgi?id=65639
54783
54784         Reviewed by Adam Barth.
54785
54786         Create a shared AtomicMarkupTokenBase that is shared by AtomicHTMLToken and the new AtomicXMLToken
54787
54788         * html/parser/HTMLToken.h:
54789         (WebCore::HTMLToken::setForceQuirks):
54790         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
54791         (WebCore::AtomicHTMLToken::forceQuirks):
54792         * html/parser/HTMLTokenizer.cpp:
54793         (WebCore::::nameForAttribute):
54794         (WebCore::::usesName):
54795         (WebCore::::usesAttributes):
54796         * xml/parser/MarkupTokenBase.h:
54797         (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
54798         (WebCore::AtomicMarkupTokenBase::type):
54799         (WebCore::AtomicMarkupTokenBase::name):
54800         (WebCore::AtomicMarkupTokenBase::setName):
54801         (WebCore::AtomicMarkupTokenBase::selfClosing):
54802         (WebCore::AtomicMarkupTokenBase::getAttributeItem):
54803         (WebCore::AtomicMarkupTokenBase::attributes):
54804         (WebCore::AtomicMarkupTokenBase::takeAtributes):
54805         (WebCore::AtomicMarkupTokenBase::characters):
54806         (WebCore::AtomicMarkupTokenBase::comment):
54807         (WebCore::AtomicMarkupTokenBase::publicIdentifier):
54808         (WebCore::AtomicMarkupTokenBase::systemIdentifier):
54809         (WebCore::::initializeAttributes):
54810         * xml/parser/XMLToken.h:
54811         (WebCore::AtomicXMLToken::AtomicXMLToken):
54812         (WebCore::AtomicXMLToken::prefix):
54813         (WebCore::AtomicXMLToken::target):
54814         (WebCore::AtomicXMLToken::data):
54815         (WebCore::AtomicXMLToken::xmlVersion):
54816         (WebCore::AtomicXMLToken::xmlStandalone):
54817         * xml/parser/XMLTokenizer.cpp:
54818         (WebCore::::nameForAttribute):
54819         (WebCore::::usesName):
54820         (WebCore::::usesAttributes):
54821
54822 2011-08-03  Mark Pilgrim  <pilgrim@chromium.org>
54823
54824         Remove LegacyDefaultOptionalArguments flag from geolocation IDL files
54825         https://bugs.webkit.org/show_bug.cgi?id=65355
54826
54827         Reviewed by Adam Barth.
54828
54829         No new tests, all existing tests pass.
54830
54831         * page/Geolocation.idl:
54832         * page/PositionCallback.idl:
54833         * page/PositionErrorCallback.idl:
54834
54835 2011-08-03  Mark Pilgrim  <pilgrim@chromium.org>
54836
54837         Remove LegacyDefaultOptionalArguments flag from DOMSelection.idl
54838         https://bugs.webkit.org/show_bug.cgi?id=65566
54839
54840         Reviewed by Adam Barth.
54841
54842         No new tests, all existing tests pass.
54843
54844         * page/DOMSelection.idl:
54845
54846 2011-08-03  Mark Pilgrim  <pilgrim@chromium.org>
54847
54848         Remove LegacyDefaultOptionalArguments flag from Location.idl
54849         https://bugs.webkit.org/show_bug.cgi?id=65565
54850
54851         Reviewed by Darin Adler.
54852
54853         No new tests, all existing tests pass.
54854
54855         * page/Location.idl:
54856
54857 2011-08-03  Sailesh Agrawal  <sail@chromium.org>
54858
54859         Chromium Mac: Fix position of search tickmarks
54860         https://bugs.webkit.org/show_bug.cgi?id=65575
54861
54862         This change adjusts the position of search tickmarks so that they are correctly centered.
54863
54864         Also, insetting the tickmark rect by 5 pixels caused tickmarks on the overlay scrollbar to look very small. I changed this to inset by 4 pixels instead. The tickmark is the same width as the overlay scrollbar which looks much better.
54865
54866         Reviewed by James Robinson.
54867
54868         * platform/chromium/ScrollbarThemeChromiumMac.mm:
54869         (WebCore::ScrollbarThemeChromiumMac::paint):
54870
54871 2011-08-03  Sailesh Agrawal  <sail@chromium.org>
54872
54873         Chromium Mac: Make sure scrollbars flash when web page loads
54874         https://bugs.webkit.org/show_bug.cgi?id=65586
54875
54876         On slow web pages scrollbars wouldn't flash when the page was done loading. The problem was that we were flashing the scrollbar 0.1 second after the load operation had started. If the page was slow to load then we might not have scrollbars to flash. To work around this I added an extra check to make sure that we had indeed finished loading the page before flashing the scrollbars.
54877
54878         Reviewed by James Robinson.
54879
54880         * platform/chromium/ScrollAnimatorChromiumMac.mm:
54881         (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
54882
54883 2011-08-03  Mark Pilgrim  <pilgrim@chromium.org>
54884
54885         Remove LegacyDefaultOptionalArguments flag from navigator IDL files
54886         https://bugs.webkit.org/show_bug.cgi?id=65370
54887
54888         Reviewed by Adam Barth.
54889
54890         * page/Navigator.idl:
54891         * page/NavigatorUserMediaErrorCallback.idl:
54892         * page/NavigatorUserMediaSuccessCallback.idl:
54893
54894 2011-08-03  Anders Carlsson  <andersca@apple.com>
54895
54896         webarchive/loading/missing-data.html is failing on Mac
54897         https://bugs.webkit.org/show_bug.cgi?id=63507
54898
54899         Reviewed by Adam Barth.
54900
54901         When loading a main resource from a web archive, make sure that the working URL is actually
54902         the URL of the resource, and not the URL of the web archive itself.
54903
54904         * loader/FrameLoader.cpp:
54905         (WebCore::FrameLoader::receivedFirstData):
54906
54907 2011-08-03  Mark Pilgrim  <pilgrim@chromium.org>
54908
54909         Remove LegacyDefaultOptionalArguments flag from DOMWindow.idl
54910         https://bugs.webkit.org/show_bug.cgi?id=65353
54911
54912         Reviewed by Adam Barth.
54913
54914         No new tests, all existing tests pass.
54915
54916         * bindings/scripts/CodeGeneratorJS.pm:
54917         (GenerateImplementation):
54918         * bindings/scripts/CodeGeneratorV8.pm:
54919         (GenerateFunctionCallback):
54920         * page/DOMWindow.idl:
54921
54922 2011-08-03  Jeff Miller  <jeffm@apple.com>
54923
54924         Fix Chromimum and Qt builds after r92308.
54925
54926         * config.h: Don't try to include WebCoreHeaderDetection.h for Chromimum and Qt.
54927
54928 2011-08-03  Jeff Miller  <jeffm@apple.com>
54929
54930         Generate WebCoreHeaderDetection.h on Windows to define HAVE_AVCF
54931         https://bugs.webkit.org/show_bug.cgi?id=65634
54932         
54933         AVFoundation support on Windows will (eventually) be predicated on the
54934         availability of AVFoundationCF headers and libraries in the WebKit Support
54935         Libraries, so we test for the existence of one of the header files (AVCFBase.h)
54936         to determine whether to AVCF is available.
54937         
54938         For now, even if AVFoundationCF is available, leave WTF_USE_AVFOUNDATION off, since
54939         it's not ready to be turned on yet (which is covered by http://webkit.org/b/65400).
54940         
54941         Ideally, we would generate WebCoreHeaderDetection.h on all platforms so we could
54942         include it unconditionally in WebCore's config.h, but unfortunately the Mac-only file
54943         ExportFileGenerator.cpp depends on WTF_USE_AVFOUNDATION being set correctly, and since this
54944         .cpp file is also generated it doesn't have access to WebCoreHeaderDetection.h.
54945
54946         Reviewed by Adam Roben.
54947
54948         No change in functionality, so new tests.
54949
54950         * DerivedSources.make: Add rule to generate WebCoreHeaderDetection.h to set HAVE_AVCF on Windows.
54951         * config.h: Include WebCoreHeaderDetection.h on Windows, check for HAVE(AVCF) but always leave WTF_USE_AVFOUNDATION off on Windows for now.
54952
54953 2011-08-03  Tommy Widenflycht  <tommyw@google.com>
54954
54955         MediaStream API: Implement PeerConnection and SignalingCallback
54956         https://bugs.webkit.org/show_bug.cgi?id=65101
54957
54958         Reviewed by Adam Barth.
54959
54960         LayoutTests will be provided by a follow-up CL, see <https://bugs.webkit.org/show_bug.cgi?id=56587>.
54961
54962         * CMakeLists.txt:
54963         * CodeGenerators.pri:
54964         * DerivedSources.cpp:
54965         * DerivedSources.make:
54966         * GNUmakefile.am:
54967         * GNUmakefile.list.am:
54968         * UseJSC.cmake:
54969         * WebCore.gyp/WebCore.gyp:
54970         * WebCore.gypi:
54971         * WebCore.pro:
54972         * WebCore.vcproj/WebCore.vcproj:
54973         * WebCore.xcodeproj/project.pbxproj:
54974         * bindings/generic/RuntimeEnabledFeatures.h:
54975         (WebCore::RuntimeEnabledFeatures::peerConnectionEnabled):
54976         * bindings/js/JSBindingsAllInOne.cpp:
54977         * bindings/js/JSPeerConnectionCustom.cpp: Copied from Source/WebCore/page/MediaStreamClient.h.
54978         (WebCore::JSPeerConnectionConstructor::constructJSPeerConnection):
54979         * bindings/v8/V8DOMWrapper.cpp:
54980         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
54981         * bindings/v8/custom/V8PeerConnectionCustom.cpp: Added.
54982         (WebCore::V8PeerConnection::constructorCallback):
54983         * dom/DispatchTask.h: Added.
54984         (WebCore::SimpleDispatchTask::create):
54985         (WebCore::SimpleDispatchTask::performTask):
54986         (WebCore::SimpleDispatchTask::SimpleDispatchTask):
54987         (WebCore::DispatchTask::create):
54988         (WebCore::DispatchTask::performTask):
54989         (WebCore::DispatchTask::DispatchTask):
54990         * dom/EventNames.h:
54991         * dom/EventTarget.cpp:
54992         (WebCore::EventTarget::toPeerConnection):
54993         * dom/EventTarget.h:
54994         * p2p/PeerConnection.cpp: Added.
54995         (WebCore::PeerConnection::create):
54996         (WebCore::PeerConnection::PeerConnection):
54997         (WebCore::PeerConnection::init):
54998         (WebCore::PeerConnection::~PeerConnection):
54999         (WebCore::PeerConnection::localStreams):
55000         (WebCore::PeerConnection::remoteStreams):
55001         (WebCore::PeerConnection::processSignalingMessage):
55002         (WebCore::PeerConnection::send):
55003         (WebCore::PeerConnection::addStream):
55004         (WebCore::PeerConnection::removeStream):
55005         (WebCore::PeerConnection::close):
55006         (WebCore::PeerConnection::onNegotiationStarted):
55007         (WebCore::PeerConnection::onNegotiationDone):
55008         (WebCore::PeerConnection::streamAdded):
55009         (WebCore::PeerConnection::streamRemoved):
55010         (WebCore::PeerConnection::onMessage):
55011         (WebCore::PeerConnection::onSignalingMessage):
55012         (WebCore::PeerConnection::toPeerConnection):
55013         (WebCore::PeerConnection::scriptExecutionContext):
55014         (WebCore::PeerConnection::eventTargetData):
55015         (WebCore::PeerConnection::ensureEventTargetData):
55016         (WebCore::PeerConnection::postMessageEvent):
55017         (WebCore::PeerConnection::postSignalingEvent):
55018         (WebCore::PeerConnection::postStreamAddedEvent):
55019         (WebCore::PeerConnection::postStreamRemovedEvent):
55020         (WebCore::PeerConnection::postSimpleEvent):
55021         (WebCore::PeerConnection::postStartNegotiationTask):
55022         (WebCore::PeerConnection::dispatchMessageEvent):
55023         (WebCore::PeerConnection::dispatchSignalingEvent):
55024         (WebCore::PeerConnection::dispatchStreamEvent):
55025         (WebCore::PeerConnection::dispatchSimpleEvent):
55026         (WebCore::PeerConnection::dispatchStartNegotiationTask):
55027         * p2p/PeerConnection.h: Added.
55028         (WebCore::PeerConnection::readyState):
55029         (WebCore::PeerConnection::refEventTarget):
55030         (WebCore::PeerConnection::derefEventTarget):
55031         * p2p/PeerConnection.idl: Added.
55032         * p2p/SignalingCallback.h: Copied from Source/WebCore/page/MediaStreamClient.h.
55033         (WebCore::SignalingCallback::~SignalingCallback):
55034         * p2p/SignalingCallback.idl: Added.
55035         * page/DOMWindow.idl:
55036         * page/MediaStreamClient.h:
55037         * page/MediaStreamController.cpp:
55038         (WebCore::MediaStreamController::MediaStreamController):
55039         (WebCore::MediaStreamController::unregisterFrameController):
55040         (WebCore::MediaStreamController::onSignalingMessage):
55041         (WebCore::MediaStreamController::frameToPagePeerConnectionId):
55042         (WebCore::MediaStreamController::processSignalingMessage):
55043         (WebCore::MediaStreamController::message):
55044         (WebCore::MediaStreamController::onMessage):
55045         (WebCore::MediaStreamController::addStream):
55046         (WebCore::MediaStreamController::onAddStream):
55047         (WebCore::MediaStreamController::removeStream):
55048         (WebCore::MediaStreamController::onRemoveStream):
55049         (WebCore::MediaStreamController::newPeerConnection):
55050         (WebCore::MediaStreamController::closePeerConnection):
55051         (WebCore::MediaStreamController::startNegotiation):
55052         (WebCore::MediaStreamController::onNegotiationStarted):
55053         (WebCore::MediaStreamController::onNegotiationDone):
55054         * page/MediaStreamController.h:
55055         * page/MediaStreamFrameController.cpp:
55056         (WebCore::MediaStreamFrameController::Request::isSignalingRequest):
55057         (WebCore::MediaStreamFrameController::createPeerConnection):
55058         (WebCore::MediaStreamFrameController::newPeerConnection):
55059         (WebCore::MediaStreamFrameController::closePeerConnection):
55060         (WebCore::MediaStreamFrameController::startNegotiation):
55061         (WebCore::MediaStreamFrameController::processSignalingMessage):
55062         (WebCore::MediaStreamFrameController::message):
55063         (WebCore::MediaStreamFrameController::addStream):
55064         (WebCore::MediaStreamFrameController::removeStream):
55065         (WebCore::MediaStreamFrameController::onMessage):
55066         (WebCore::MediaStreamFrameController::onAddStream):
55067         (WebCore::MediaStreamFrameController::onRemoveStream):
55068         (WebCore::MediaStreamFrameController::onSignalingMessage):
55069         (WebCore::MediaStreamFrameController::onNegotiationStarted):
55070         (WebCore::MediaStreamFrameController::onNegotiationDone):
55071         * page/MediaStreamFrameController.h:
55072         (WebCore::MediaStreamFrameController::ClientBase::isPeerConnection):
55073         (WebCore::MediaStreamFrameController::PeerConnectionClient::PeerConnectionClient):
55074         (WebCore::MediaStreamFrameController::PeerConnectionClient::~PeerConnectionClient):
55075         (WebCore::MediaStreamFrameController::PeerConnectionClient::isPeerConnection):
55076
55077 2011-08-03  Joseph Pecoraro  <joepeck@webkit.org>
55078
55079         Web Inspector: Remove InspectorFrontendHost load/saveSessionSetting
55080         https://bugs.webkit.org/show_bug.cgi?id=65582
55081
55082         Reviewed by Pavel Feldman.
55083
55084         Remove stale code. WebInspector.settings uses localStorage and
55085         handles the "debuggerEnabled" state. So remove the only remaining
55086         usage of load/saveSessionSetting.
55087
55088         * inspector/InspectorFrontendClient.h:
55089         * inspector/InspectorFrontendHost.cpp:
55090         * inspector/InspectorFrontendHost.h:
55091         * inspector/InspectorFrontendHost.idl:
55092         * inspector/front-end/InspectorFrontendHostStub.js:
55093         * inspector/front-end/ScriptsPanel.js:
55094         (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
55095
55096 2011-08-03  Adam Barth  <abarth@webkit.org>
55097
55098         Crash in DocumentWriter::endIfNotLoadingMainResource
55099         https://bugs.webkit.org/show_bug.cgi?id=65581
55100
55101         Reviewed by Nate Chapin.
55102
55103         This function is poorly designed because isLoadingMainResource is a
55104         poor proxy for determing whether to flush/finish the parser.  Really,
55105         we should change how loads complete to match the model in HTML5, but
55106         that's pretty tricky.  In the meantime, this null check fixes the
55107         crash.
55108
55109         I'm sure there's another bug on file about this crash, but we've never
55110         been able to reproduce it.  Thanks to Berend-Jan Wever for the test
55111         case!
55112
55113         Test: fast/loader/reload-zero-byte-plugin.html
55114
55115         * loader/DocumentWriter.cpp:
55116         (WebCore::DocumentWriter::endIfNotLoadingMainResource):
55117
55118 2011-08-03  Anders Carlsson  <andersca@apple.com>
55119
55120         WebCore images backing CG patterns should be released on the main thread
55121         https://bugs.webkit.org/show_bug.cgi?id=65630
55122
55123         Reviewed by Sam Weinig.
55124
55125         * platform/graphics/cg/PatternCG.cpp:
55126         (WebCore::patternReleaseOnMainThreadCallback):
55127         Deref the image.
55128
55129         (WebCore::patternReleaseCallback):
55130         Call callOnMainThread.
55131
55132 2011-08-03  Luke Macpherson   <macpherson@chromium.org>
55133
55134         Use appropriate macro for CSSPropertyImageRendering.
55135         https://bugs.webkit.org/show_bug.cgi?id=65594
55136
55137         Reviewed by Simon Fraser.
55138
55139         No new tests / trivial code cleanup only.
55140
55141         * css/CSSStyleSelector.cpp:
55142         (WebCore::CSSStyleSelector::applyProperty):
55143         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro.
55144
55145 2011-08-03  Dan Bernstein  <mitz@apple.com>
55146
55147         FontCache::getFontData() does not set the familyIndex to cAllFamiliesScanned if the last font is a custom font
55148         https://bugs.webkit.org/show_bug.cgi?id=65597
55149
55150         Reviewed by Simon Fraser.
55151
55152         No test added because behavior is unchanged, but this saves a call to getFontData().
55153
55154         * platform/graphics/FontCache.cpp:
55155         (WebCore::FontCache::getFontData): Eliminated early return inside the loop, allowing execution
55156         to continue and familyIndex to be set.
55157
55158 2011-08-03  Ryosuke Niwa  <rniwa@webkit.org>
55159
55160         Add RenderedPosition
55161         https://bugs.webkit.org/show_bug.cgi?id=65221
55162
55163         Reviewed by Hajime Morita.
55164
55165         Add the skeleton for RenderedPosition and use it in rootBoxForLine.
55166
55167         * CMakeLists.txt:
55168         * GNUmakefile.list.am:
55169         * WebCore.gypi:
55170         * WebCore.pro:
55171         * WebCore.vcproj/WebCore.vcproj:
55172         * WebCore.xcodeproj/project.pbxproj:
55173         * editing/EditingAllInOne.cpp:
55174         * editing/RenderedPosition.cpp: Added.
55175         (WebCore::RenderedPosition::RenderedPosition):
55176         * editing/RenderedPosition.h: Added.
55177         (WebCore::RenderedPosition::isNull):
55178         (WebCore::RenderedPosition::rootBox):
55179         (WebCore::RenderedPosition::RenderedPosition):
55180         * editing/visible_units.cpp:
55181         (WebCore::startPositionForLine):
55182         (WebCore::endPositionForLine):
55183         (WebCore::logicalStartPositionForLine):
55184         (WebCore::logicalEndPositionForLine):
55185
55186 2011-08-03  Roland Steiner  <rolandsteiner@chromium.org>
55187
55188         [V8] V8CSSRuleCustom.cpp: not all enum values are listed in switch statement
55189         https://bugs.webkit.org/show_bug.cgi?id=65598
55190
55191         Reviewed by Dimitri Glazkov.
55192
55193         Added UNKNOWN_RULE to the switch statement.
55194
55195         No new tests. (No semantic change)
55196
55197         * bindings/v8/custom/V8CSSRuleCustom.cpp:
55198         (WebCore::toV8):
55199
55200 2011-08-03  Pavel Feldman  <pfeldman@google.com>
55201
55202         Web Inspector: [Timeline] Hover on paint events and see rect outline around that area.
55203         https://bugs.webkit.org/show_bug.cgi?id=65510
55204
55205         Reviewed by Yury Semikhatsky.
55206
55207         * WebCore.exp.in:
55208         * WebCore.order:
55209         * inspector/DOMNodeHighlighter.cpp:
55210         (WebCore::DOMNodeHighlighter::drawRectHighlight):
55211         * inspector/DOMNodeHighlighter.h:
55212         * inspector/Inspector.json:
55213         * inspector/InspectorController.cpp:
55214         (WebCore::InspectorController::drawHighlight):
55215         * inspector/InspectorController.h:
55216         * inspector/InspectorDOMAgent.cpp:
55217         (WebCore::InspectorDOMAgent::highlightRect):
55218         (WebCore::InspectorDOMAgent::hideHighlight):
55219         (WebCore::InspectorDOMAgent::drawHighlight):
55220         * inspector/InspectorDOMAgent.h:
55221         * inspector/front-end/ResourcesPanel.js:
55222         (WebInspector.FrameTreeElement.prototype.onselect):
55223         (WebInspector.FrameTreeElement.prototype.set hovered):
55224         * inspector/front-end/TimelinePanel.js:
55225         (WebInspector.TimelinePanel):
55226         (WebInspector.TimelinePanel.prototype._mouseOut):
55227         (WebInspector.TimelinePanel.prototype._mouseMove):
55228         (WebInspector.TimelinePanel.prototype._highlightRect):
55229         (WebInspector.TimelinePanel.prototype._hideRectHighlight):
55230         * inspector/front-end/inspector.js:
55231         (WebInspector.highlightDOMNode):
55232
55233 2011-08-03  Pavel Feldman  <pfeldman@google.com>
55234
55235         Web Inspector: make text in popover selectable + make popover re-appear faster.
55236         https://bugs.webkit.org/show_bug.cgi?id=65603
55237
55238         Reviewed by Yury Semikhatsky.
55239
55240         * inspector/front-end/Popover.js:
55241         (WebInspector.PopoverHelper.prototype.setTimeout):
55242         (WebInspector.PopoverHelper.prototype._mouseMove):
55243         (WebInspector.PopoverHelper.prototype._handleMouseAction):
55244         * inspector/front-end/popover.css:
55245         (.popover .content):
55246
55247 2011-08-03  Vsevolod Vlasov  <vsevik@chromium.org>
55248
55249         Web Inspector: Console scroll position should be saved when switching panels.
55250         https://bugs.webkit.org/show_bug.cgi?id=65607
55251
55252         Reviewed by Pavel Feldman.
55253
55254         * inspector/front-end/ConsoleView.js:
55255         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
55256         (WebInspector.ConsoleView.prototype.get scrollLeft):
55257         (WebInspector.ConsoleView.prototype.set scrollLeft):
55258         (WebInspector.ConsoleView.prototype.get scrollTop):
55259         (WebInspector.ConsoleView.prototype.set scrollTop):
55260         * inspector/front-end/Drawer.js:
55261         (WebInspector.Drawer.prototype.show):
55262         (WebInspector.Drawer.prototype._endStatusBarDragging):
55263         (WebInspector.Drawer.prototype.get scrollLeft):
55264         (WebInspector.Drawer.prototype.set scrollLeft):
55265         (WebInspector.Drawer.prototype.get scrollTop):
55266         (WebInspector.Drawer.prototype.set scrollTop):
55267
55268 2011-08-03  Philippe Normand  <pnormand@igalia.com>
55269
55270         libsoup-CRITICAL **: soup_message_io_pause: assertion `io != NULL' failed
55271         https://bugs.webkit.org/show_bug.cgi?id=64263
55272
55273         Reviewed by Martin Robinson.
55274
55275         Avoid any operation on not yet started messages and completed messages.
55276
55277         * platform/network/ResourceHandleInternal.h:
55278         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
55279         * platform/network/soup/ResourceHandleSoup.cpp:
55280         (WebCore::finishedCallback):
55281         (WebCore::startHTTPRequest):
55282         (WebCore::ResourceHandle::platformSetDefersLoading):
55283
55284 2011-08-03  Jeremy Moskovich  <jeremy@chromium.org>
55285
55286         [Chromium] Fix OOP font loading to work on 10.6.6 and above.
55287         https://bugs.webkit.org/show_bug.cgi?id=65543
55288
55289         In 10.6.6 the function used to get the unique ID for an NSFont in the 
55290         renderer was changed so it fails in the sandbox (it now tries to access
55291         the on-disk font file). In order to work around this, we get the font
55292         ID from the browser process.
55293
55294         To speed things up, we introduce 2 levels of caching in WebKit. A font
55295         name cache where we can perform a quick lookup without the need for the
55296         font id and a font id cache which we can only lookup in after getting
55297         the unique ID from the browser process.
55298
55299         Reviewed by Kenneth Russell.
55300
55301         No new tests since this is not readily testable.
55302
55303         * platform/chromium/PlatformBridge.h:
55304         * platform/graphics/chromium/CrossProcessFontLoading.h:
55305         * platform/graphics/chromium/CrossProcessFontLoading.mm:
55306         (WebCore::MemoryActivatedFont::create):
55307         (WebCore::MemoryActivatedFont::MemoryActivatedFont):
55308         (WebCore::MemoryActivatedFont::~MemoryActivatedFont):
55309
55310 2011-08-03  Hayato Ito  <hayato@chromium.org>
55311
55312         Make EventDispatchMediator RefCounted.
55313         https://bugs.webkit.org/show_bug.cgi?id=65529
55314
55315         Reviewed by Hajime Morita.
55316
55317         Make EventDispatchMediator RefCounted so that it can be enqueued into a
55318         ScopedEventQueue and called later.
55319         A necessary change for ScopedEventQueue should be addressed in another patch.
55320
55321         This is a minor update of r92256, which failed on chromium win builds.
55322
55323         No changes to functionality so no new tests.
55324
55325         * dom/Event.cpp:
55326         (WebCore::EventDispatchMediator::create):
55327         * dom/Event.h:
55328         * dom/EventDispatcher.cpp:
55329         (WebCore::EventDispatcher::dispatchEvent):
55330         * dom/EventDispatcher.h:
55331         * dom/KeyboardEvent.cpp:
55332         (WebCore::KeyboardEventDispatchMediator::create):
55333         * dom/KeyboardEvent.h:
55334         * dom/MouseEvent.cpp:
55335         (WebCore::MouseEventDispatchMediator::create):
55336         * dom/MouseEvent.h:
55337         * dom/Node.cpp:
55338         (WebCore::Node::dispatchEvent):
55339         (WebCore::Node::dispatchKeyEvent):
55340         (WebCore::Node::dispatchMouseEvent):
55341         (WebCore::Node::dispatchWheelEvent):
55342         * dom/WheelEvent.cpp:
55343         (WebCore::WheelEventDispatchMediator::create):
55344         * dom/WheelEvent.h:
55345
55346 2011-08-03  Pavel Feldman  <pfeldman@chromium.org>
55347
55348         Web Inspector: remove Node parameter from the InspectorClient::highlight
55349         https://bugs.webkit.org/show_bug.cgi?id=65549
55350
55351         Reviewed by Yury Semikhatsky.
55352
55353         * inspector/InspectorClient.h:
55354         * inspector/InspectorDOMAgent.cpp:
55355         (WebCore::InspectorDOMAgent::highlight):
55356         * loader/EmptyClients.h:
55357         (WebCore::EmptyInspectorClient::highlight):
55358
55359 2011-08-03  Antti Koivisto  <antti@apple.com>
55360
55361         https://bugs.webkit.org/show_bug.cgi?id=65599
55362         Image loads should trigger didFirstVisuallyNonEmptyLayout more easily
55363
55364         Reviewed by Dan Bernstein.
55365
55366         Tweak the heuristic pixel count so logo-sized images trigger didFirstVisuallyNonEmptyLayout.
55367
55368         * page/FrameView.h:
55369         (WebCore::FrameView::incrementVisuallyNonEmptyPixelCount):
55370
55371 2011-08-03  Takashi Toyoshima  <toyoshim@chromium.org>
55372
55373         WebSocket: Could not handle zero length text frame.
55374         https://bugs.webkit.org/show_bug.cgi?id=65592
55375
55376         Reviewed by Kent Tamura.
55377
55378         Test: http/tests/websocket/tests/hybi/zero-length-text.html
55379
55380         * websockets/WebSocketChannel.cpp:
55381         (WebCore::WebSocketChannel::processFrame):
55382
55383 2011-08-02  Pratik Solanki  <psolanki@apple.com>
55384
55385         Crash in ResourceResponse::platformCompare() with USE(CFNETWORK)
55386         https://bugs.webkit.org/show_bug.cgi?id=65584
55387
55388         Reviewed by David Kilzer.
55389
55390         * platform/network/cf/ResourceResponseCFNet.cpp:
55391         (WebCore::ResourceResponse::platformCompare): Don't call CFEqual with 0 as an argument.
55392
55393 2011-08-02  Takashi Toyoshima  <toyoshim@chromium.org>
55394
55395         WebSocket: Should be closed by receiving invalid continuation frame.
55396
55397         https://bugs.webkit.org/show_bug.cgi?id=65527
55398
55399         Reviewed by Kent Tamura.
55400
55401         Test: http/tests/websocket/tests/hybi/invalid-continuation.html
55402
55403         * websockets/WebSocketChannel.cpp:
55404         (WebCore::WebSocketChannel::processFrame):
55405
55406 2011-08-02  Sheriff Bot  <webkit.review.bot@gmail.com>
55407
55408         Unreviewed, rolling out r92256.
55409         http://trac.webkit.org/changeset/92256
55410         https://bugs.webkit.org/show_bug.cgi?id=65593
55411
55412         Causing tons of crashes on the chromium win bots (Requested by
55413         jamesr on #webkit).
55414
55415         * dom/Event.cpp:
55416         * dom/Event.h:
55417         * dom/EventDispatcher.cpp:
55418         (WebCore::EventDispatcher::dispatchEvent):
55419         * dom/EventDispatcher.h:
55420         * dom/KeyboardEvent.cpp:
55421         * dom/KeyboardEvent.h:
55422         * dom/MouseEvent.cpp:
55423         * dom/MouseEvent.h:
55424         * dom/Node.cpp:
55425         (WebCore::Node::dispatchEvent):
55426         (WebCore::Node::dispatchKeyEvent):
55427         (WebCore::Node::dispatchMouseEvent):
55428         (WebCore::Node::dispatchWheelEvent):
55429         * dom/WheelEvent.cpp:
55430         * dom/WheelEvent.h:
55431
55432 2011-08-02  Hayato Ito  <hayato@chromium.org>
55433
55434         Make EventDispatchMediator RefCounted.
55435         https://bugs.webkit.org/show_bug.cgi?id=65529
55436
55437         Reviewed by Dimitri Glazkov.
55438
55439         Make EventDispatchMediator RefCounted so that it can be enqueued into a
55440         ScopedEventQueue and called later.
55441         A necessary change for ScopedEventQueue should be addressed in another patch.
55442
55443         No changes to functionality so no new tests.
55444
55445         * dom/Event.cpp:
55446         (WebCore::EventDispatchMediator::create):
55447         * dom/Event.h:
55448         * dom/EventDispatcher.cpp:
55449         (WebCore::EventDispatcher::dispatchEvent):
55450         * dom/EventDispatcher.h:
55451         * dom/KeyboardEvent.cpp:
55452         (WebCore::KeyboardEventDispatchMediator::create):
55453         * dom/KeyboardEvent.h:
55454         * dom/MouseEvent.cpp:
55455         (WebCore::MouseEventDispatchMediator::create):
55456         * dom/MouseEvent.h:
55457         * dom/Node.cpp:
55458         (WebCore::Node::dispatchEvent):
55459         (WebCore::Node::dispatchKeyEvent):
55460         (WebCore::Node::dispatchMouseEvent):
55461         (WebCore::Node::dispatchWheelEvent):
55462         * dom/WheelEvent.cpp:
55463         (WebCore::WheelEventDispatchMediator::create):
55464         * dom/WheelEvent.h:
55465
55466 2011-08-02  David Reveman  <reveman@chromium.org>
55467
55468         [Chromium] Use edge-distance method for layer anti-aliasing.
55469         https://bugs.webkit.org/show_bug.cgi?id=64942
55470
55471         Reviewed by James Robinson.
55472
55473         Use an edge distance based method instead of the current linear
55474         filtering method for producing anti-aliased edges on 3D transformed
55475         layers. This removes the outer border handling from TilingData as
55476         it's no longer needed for anti-aliasing.
55477
55478         Tests: platform/chromium/compositing/tiny-layer-rotated.html (existing)
55479                platform/chromium/compositing/huge-layer-rotated.html (existing)
55480                compositing/images/content-image-change.html (existing)
55481                TilingDataTest in webkit_unit_tests
55482
55483         * platform/graphics/chromium/LayerRendererChromium.cpp:
55484         (WebCore::screenMatrix):
55485         (WebCore::LayerRendererChromium::drawLayers):
55486         (WebCore::LayerRendererChromium::setDrawViewportRect):
55487         (WebCore::LayerRendererChromium::tilerProgramAA):
55488         (WebCore::LayerRendererChromium::tilerProgramSwizzleAA):
55489         * platform/graphics/chromium/LayerRendererChromium.h:
55490         (WebCore::LayerRendererChromium::windowMatrix):
55491         * platform/graphics/chromium/LayerTilerChromium.cpp:
55492         (WebCore::LayerTilerChromium::setTileSize):
55493         (WebCore::LayerTilerChromium::tileLayerRect):
55494         (WebCore::LayerTilerChromium::invalidateRect):
55495         (WebCore::LayerTilerChromium::prepareToUpdate):
55496         (WebCore::LayerTilerChromium::updateRect):
55497         (WebCore::LayerTilerChromium::draw):
55498         (WebCore::LayerTilerChromium::growLayerToContain):
55499         (WebCore::LayerTilerChromium::drawTiles):
55500         * platform/graphics/chromium/LayerTilerChromium.h:
55501         * platform/graphics/chromium/ShaderChromium.cpp:
55502         (WebCore::VertexShaderTile::VertexShaderTile):
55503         (WebCore::VertexShaderTile::init):
55504         (WebCore::VertexShaderTile::getShaderString):
55505         (WebCore::FragmentTexAlphaAABinding::FragmentTexAlphaAABinding):
55506         (WebCore::FragmentTexAlphaAABinding::init):
55507         (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
55508         (WebCore::FragmentShaderRGBATexSwizzleAlphaAA::getShaderString):
55509         * platform/graphics/chromium/ShaderChromium.h:
55510         (WebCore::VertexShaderTile::vertexTexTransformLocation):
55511         (WebCore::FragmentTexAlphaAABinding::alphaLocation):
55512         (WebCore::FragmentTexAlphaAABinding::samplerLocation):
55513         (WebCore::FragmentTexAlphaAABinding::fragmentTexTransformLocation):
55514         (WebCore::FragmentTexAlphaAABinding::edgeLocation):
55515         * platform/graphics/chromium/TiledLayerChromium.cpp:
55516         (WebCore::TiledLayerChromium::TiledLayerChromium):
55517         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
55518         (WebCore::TiledLayerChromium::createTilerIfNeeded):
55519         (WebCore::TiledLayerChromium::setIsMask):
55520         * platform/graphics/chromium/TiledLayerChromium.h:
55521         * platform/graphics/gpu/TilingData.cpp:
55522         (WebCore::computeNumTiles):
55523         (WebCore::TilingData::tileXIndexFromSrcCoord):
55524         (WebCore::TilingData::tileYIndexFromSrcCoord):
55525         (WebCore::TilingData::tileSizeX):
55526         (WebCore::TilingData::tileSizeY):
55527         (WebCore::TilingData::intersectDrawQuad):
55528         (WebCore::TilingData::textureOffset):
55529         * platform/graphics/gpu/TilingData.h:
55530
55531 2011-08-01  David Levin  <levin@chromium.org>
55532
55533         Add asserts to RefCounted to make sure ref/deref happens on the right thread.
55534         https://bugs.webkit.org/show_bug.cgi?id=31639
55535
55536         Reviewed by Dmitry Titov.
55537
55538         No new functionality exposed so no new tests. (The change is basically adding
55539         more testing.)
55540
55541         * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Added.
55542         * loader/icon/IconDatabase.cpp:
55543         (WebCore::IconDatabase::defaultIcon): Set the mutex which does the guarding of the variable.
55544         (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
55545         (WebCore::IconDatabase::getOrCreateIconRecord): Ditto.
55546         (WebCore::IconDatabase::readFromDatabase): Ditto.
55547
55548 2011-08-02  Luke Macpherson   <macpherson@chromium.org>
55549
55550         Clean up value clampling in CSSStyleSelector and CSSPrimitiveValue.
55551         https://bugs.webkit.org/show_bug.cgi?id=65441
55552
55553         Reviewed by Simon Fraser.
55554
55555         No new tests / refactoring only.
55556
55557         * css/CSSPrimitiveValue.h:
55558         (WebCore::CSSPrimitiveValue::getFloatValue):
55559         Implement in terms of the new templated getValue().
55560         (WebCore::CSSPrimitiveValue::getIntValue):
55561         Implement in terms of the new templated getValue().
55562         (WebCore::CSSPrimitiveValue::getValue):
55563         Templated getValue that works for all numeric types.
55564
55565         * css/CSSStyleSelector.cpp:
55566         (WebCore::CSSStyleSelector::applyProperty):
55567         Use getValue<short> instead of rolling-your-own clamp to short.
55568
55569 2011-08-02  Julien Chaffraix  <jchaffraix@webkit.org>
55570
55571         RenderObject::computeRectForRepaint and clippedOverflowRectForRepaint should be const
55572         https://bugs.webkit.org/show_bug.cgi?id=65494
55573
55574         Reviewed by Darin Adler.
55575
55576         No new tests, const-ness change only.
55577
55578         * rendering/RenderObject.h:
55579         (WebCore::RenderObject::absoluteClippedOverflowRect):
55580         (WebCore::RenderObject::computeAbsoluteRepaintRect):
55581         Made those 2 const as they call a const method now.
55582
55583         * rendering/RenderInline.cpp:
55584         (WebCore::RenderInline::clippedOverflowRectForRepaint): Use a const RenderObject* for iterating as
55585         this is const.
55586
55587         * rendering/RenderBlock.cpp:
55588         (WebCore::RenderBlock::rectWithOutlineForRepaint):
55589         * rendering/RenderBlock.h:
55590         * rendering/RenderBox.cpp:
55591         (WebCore::RenderBox::clippedOverflowRectForRepaint):
55592         (WebCore::RenderBox::computeRectForRepaint):
55593         * rendering/RenderBox.h:
55594         * rendering/RenderInline.cpp:
55595         (WebCore::RenderInline::clippedOverflowRectForRepaint):
55596         (WebCore::RenderInline::rectWithOutlineForRepaint):
55597         (WebCore::RenderInline::computeRectForRepaint):
55598         * rendering/RenderInline.h:
55599         * rendering/RenderObject.cpp:
55600         (WebCore::RenderObject::rectWithOutlineForRepaint):
55601         (WebCore::RenderObject::clippedOverflowRectForRepaint):
55602         (WebCore::RenderObject::computeRectForRepaint):
55603         * rendering/RenderReplaced.cpp:
55604         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
55605         * rendering/RenderReplaced.h:
55606         * rendering/RenderTableCell.cpp:
55607         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
55608         (WebCore::RenderTableCell::computeRectForRepaint):
55609         * rendering/RenderTableCell.h:
55610         * rendering/RenderTableCol.cpp:
55611         (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
55612         * rendering/RenderTableCol.h:
55613         * rendering/RenderTableRow.cpp:
55614         (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
55615         * rendering/RenderTableRow.h:
55616         * rendering/RenderText.cpp:
55617         (WebCore::RenderText::clippedOverflowRectForRepaint):
55618         * rendering/RenderText.h:
55619         * rendering/RenderView.cpp:
55620         (WebCore::RenderView::computeRectForRepaint):
55621         * rendering/RenderView.h:
55622         * rendering/svg/RenderSVGForeignObject.cpp:
55623         (WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint):
55624         (WebCore::RenderSVGForeignObject::computeRectForRepaint):
55625         * rendering/svg/RenderSVGForeignObject.h:
55626         * rendering/svg/RenderSVGGradientStop.h:
55627         (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint):
55628         * rendering/svg/RenderSVGHiddenContainer.h:
55629         (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
55630         * rendering/svg/RenderSVGInline.cpp:
55631         (WebCore::RenderSVGInline::clippedOverflowRectForRepaint):
55632         (WebCore::RenderSVGInline::computeRectForRepaint):
55633         * rendering/svg/RenderSVGInline.h:
55634         * rendering/svg/RenderSVGModelObject.cpp:
55635         (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
55636         (WebCore::RenderSVGModelObject::computeRectForRepaint):
55637         * rendering/svg/RenderSVGModelObject.h:
55638         * rendering/svg/RenderSVGRoot.cpp:
55639         (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
55640         (WebCore::RenderSVGRoot::computeRectForRepaint):
55641         * rendering/svg/RenderSVGRoot.h:
55642         * rendering/svg/RenderSVGText.cpp:
55643         (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
55644         (WebCore::RenderSVGText::computeRectForRepaint):
55645         * rendering/svg/RenderSVGText.h:
55646         * rendering/svg/SVGRenderSupport.cpp:
55647         (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
55648         (WebCore::SVGRenderSupport::computeRectForRepaint):
55649         * rendering/svg/SVGRenderSupport.h:
55650         Updated the following method's signature to use a const object.
55651
55652 2011-08-02  Jeffrey Pfau  <jpfau@apple.com>
55653
55654         Add namespace prefix support in XML tokenizer
55655         https://bugs.webkit.org/show_bug.cgi?id=65578
55656
55657         Reviewed by Adam Barth.
55658
55659         This also changes markup debug printing to print to stderr instead of stdout
55660
55661         * xml/parser/MarkupTokenBase.h:
55662         (WebCore::MarkupTokenBase::printString):
55663         * xml/parser/XMLToken.h:
55664         (WebCore::XMLToken::XMLDeclarationData::XMLDeclarationData):
55665         (WebCore::XMLToken::clear):
55666         (WebCore::XMLToken::appendToName):
55667         (WebCore::XMLToken::name):
55668         (WebCore::XMLToken::target):
55669         (WebCore::XMLToken::data):
55670         (WebCore::XMLToken::prefix):
55671         (WebCore::XMLToken::xmlDeclarationData):
55672         (WebCore::XMLToken::endPrefix):
55673         (WebCore::XMLToken::hasPrefix):
55674         (WebCore::XMLToken::endAttributePrefix):
55675         (WebCore::XMLToken::attributeHasPrefix):
55676         (WebCore::XMLToken::printAttrs):
55677         (WebCore::XMLToken::print):
55678         * xml/parser/XMLTokenizer.cpp:
55679         (WebCore::XMLTokenizer::nextToken):
55680
55681 2011-08-02  Zhenyao Mo  <zmo@google.com>
55682
55683         Unreviewed, rolling out r92238.
55684         http://trac.webkit.org/changeset/92238
55685         https://bugs.webkit.org/show_bug.cgi?id=65555
55686
55687         fail fast/events/scrollbar-double-click.html on Mac
55688
55689         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
55690         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
55691         * platform/chromium/ScrollbarThemeChromiumMac.h:
55692         * platform/chromium/ScrollbarThemeChromiumMac.mm:
55693         (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
55694         (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
55695         (WebCore::toScrollbarPainterKnobStyle):
55696         (WebCore::ScrollbarThemeChromiumMac::paint):
55697
55698 2011-08-02  Mark Pilgrim  <pilgrim@chromium.org>
55699
55700         Remove LegacyDefaultOptionalArguments flag from History.idl
55701         https://bugs.webkit.org/show_bug.cgi?id=65572
55702
55703         Reviewed by Adam Barth.
55704
55705         No new tests, all existing tests pass.
55706
55707         * page/History.idl:
55708
55709 2011-08-02  Mark Pilgrim  <pilgrim@chromium.org>
55710
55711         Remove LegacyDefaultOptionalArguments flag from WebKitAnimationList.idl
55712         https://bugs.webkit.org/show_bug.cgi?id=65571
55713
55714         Reviewed by Adam Barth.
55715
55716         No new tests, all existing tests pass.
55717
55718         * page/WebKitAnimationList.idl:
55719
55720 2011-08-02  James Robinson  <jamesr@chromium.org>
55721
55722         [chromium] Decouple layer visibility calculations from render surfaces / computed draw transforms
55723         https://bugs.webkit.org/show_bug.cgi?id=58840
55724
55725         Reviewed by Kenneth Russell.
55726
55727         This decouples the layer visibility related calculations from the LayerChromium and CCLayerImpl trees.  This is
55728         done by making LayerRendererChromium's "calculate the world" function (renamed
55729         calculateDrawTransformsAndVisibility()) a templated, free function that can operate on either LayerChromium +
55730         RenderSurfaceChromium pairs or on CCLayerImpl + CCRenderSurface pairs and invoking it twice, once before
55731         painting and once before drawing.  Before painting, these calculations are used to determine which layers are
55732         potentially visible and should be painted, which depends on the calculated opacity, render surface bounds, and
55733         draw transforms.  Before drawing, these calculations are used to figure out everything needed to draw.
55734
55735         RenderSurfaceChromium is now used just for visibility calculations when painting.  CCRenderSurfaceChromium is
55736         responsible for actually drawing the render surfaces.
55737
55738         This does mean that in the current implementation the second calculations are redundant, but in the future this
55739         won't be the case since the pre-draw time calculations might be influenced by animations or gestures.  I've
55740         added some traces to try to monitor if this math is a significant amount of the per-frame computation.  Note
55741         that layer sorting only happens on the CCLayerImpl tree and the layer sort algorithm is the most expensive part
55742         of the calculations currently.
55743
55744         This removes all of the weak back/forward pointers between LayerChromium and CCLayerImpls, the trees are now
55745         truly decoupled.
55746
55747         Covered by compositing/ tests.
55748
55749         * WebCore.gypi:
55750         * platform/graphics/chromium/CanvasLayerChromium.cpp:
55751         (WebCore::CanvasLayerChromium::createCCLayerImpl):
55752         * platform/graphics/chromium/LayerChromium.cpp:
55753         (WebCore::LayerChromium::LayerChromium):
55754         (WebCore::LayerChromium::~LayerChromium):
55755         (WebCore::LayerChromium::createCCLayerImpl):
55756         (WebCore::LayerChromium::createRenderSurface):
55757         (WebCore::LayerChromium::descendantsDrawsContent):
55758         * platform/graphics/chromium/LayerChromium.h:
55759         (WebCore::LayerChromium::setUsesLayerScissor):
55760         (WebCore::LayerChromium::usesLayerScissor):
55761         (WebCore::LayerChromium::clearRenderSurface):
55762         (WebCore::LayerChromium::renderSurface):
55763         (WebCore::LayerChromium::drawOpacity):
55764         (WebCore::LayerChromium::setDrawOpacity):
55765         (WebCore::LayerChromium::scissorRect):
55766         (WebCore::LayerChromium::setScissorRect):
55767         (WebCore::LayerChromium::targetRenderSurface):
55768         (WebCore::LayerChromium::setTargetRenderSurface):
55769         (WebCore::LayerChromium::drawTransform):
55770         (WebCore::LayerChromium::setDrawTransform):
55771         (WebCore::LayerChromium::drawableContentRect):
55772         (WebCore::LayerChromium::setDrawableContentRect):
55773         * platform/graphics/chromium/LayerRendererChromium.cpp:
55774         (WebCore::LayerRendererChromium::updateLayers):
55775         (WebCore::LayerRendererChromium::drawLayers):
55776         (WebCore::LayerRendererChromium::paintLayerContents):
55777         (WebCore::LayerRendererChromium::drawLayersInternal):
55778         (WebCore::LayerRendererChromium::updateCompositorResources):
55779         (WebCore::LayerRendererChromium::setCompositeOffscreen):
55780         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
55781         (WebCore::LayerRendererChromium::useRenderSurface):
55782         (WebCore::LayerRendererChromium::drawLayer):
55783         (WebCore::LayerRendererChromium::initializeSharedObjects):
55784         (WebCore::LayerRendererChromium::renderSurfaceProgram):
55785         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
55786         (WebCore::LayerRendererChromium::dumpRenderSurfaces):
55787         * platform/graphics/chromium/LayerRendererChromium.h:
55788         * platform/graphics/chromium/PluginLayerChromium.cpp:
55789         (WebCore::PluginLayerChromium::createCCLayerImpl):
55790         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
55791         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
55792         (WebCore::RenderSurfaceChromium::~RenderSurfaceChromium):
55793         * platform/graphics/chromium/RenderSurfaceChromium.h:
55794         (WebCore::RenderSurfaceChromium::clearLayerList):
55795         (WebCore::RenderSurfaceChromium::layerList):
55796         (WebCore::RenderSurfaceChromium::setMaskLayer):
55797         * platform/graphics/chromium/TiledLayerChromium.cpp:
55798         (WebCore::TiledLayerChromium::createCCLayerImpl):
55799         (WebCore::TiledLayerChromium::tilingTransform):
55800         * platform/graphics/chromium/TreeSynchronizer.cpp:
55801         (WebCore::TreeSynchronizer::synchronizeTreeRecursive):
55802         * platform/graphics/chromium/VideoLayerChromium.cpp:
55803         (WebCore::VideoLayerChromium::createCCLayerImpl):
55804         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
55805         (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl):
55806         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
55807         (WebCore::CCCanvasLayerImpl::create):
55808         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
55809         (WebCore::CCLayerImpl::CCLayerImpl):
55810         (WebCore::CCLayerImpl::~CCLayerImpl):
55811         (WebCore::CCLayerImpl::createRenderSurface):
55812         (WebCore::CCLayerImpl::bindContentsTexture):
55813         * platform/graphics/chromium/cc/CCLayerImpl.h:
55814         (WebCore::CCLayerImpl::create):
55815         (WebCore::CCLayerImpl::renderSurface):
55816         (WebCore::CCLayerImpl::targetRenderSurface):
55817         (WebCore::CCLayerImpl::setTargetRenderSurface):
55818         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
55819         (WebCore::CCLayerSorter::createGraphNodes):
55820         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
55821         (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
55822         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
55823         (WebCore::CCPluginLayerImpl::create):
55824         * platform/graphics/chromium/cc/CCRenderSurface.cpp: Copied from Source/WebCore/platform/graphics/chromium/RenderSurfaceChromium.cpp.
55825         (WebCore::CCRenderSurface::CCRenderSurface):
55826         (WebCore::CCRenderSurface::~CCRenderSurface):
55827         (WebCore::CCRenderSurface::cleanupResources):
55828         (WebCore::CCRenderSurface::layerRenderer):
55829         (WebCore::CCRenderSurface::drawableContentRect):
55830         (WebCore::CCRenderSurface::prepareContentsTexture):
55831         (WebCore::CCRenderSurface::releaseContentsTexture):
55832         (WebCore::CCRenderSurface::drawSurface):
55833         (WebCore::CCRenderSurface::draw):
55834         (WebCore::CCRenderSurface::name):
55835         (WebCore::writeIndent):
55836         (WebCore::CCRenderSurface::dumpSurface):
55837         (WebCore::CCRenderSurface::owningLayerId):
55838         * platform/graphics/chromium/cc/CCRenderSurface.h: Copied from Source/WebCore/platform/graphics/chromium/RenderSurfaceChromium.h.
55839         (WebCore::CCRenderSurface::contentRectCenter):
55840         (WebCore::CCRenderSurface::drawOpacity):
55841         (WebCore::CCRenderSurface::setDrawOpacity):
55842         (WebCore::CCRenderSurface::setDrawTransform):
55843         (WebCore::CCRenderSurface::drawTransform):
55844         (WebCore::CCRenderSurface::setReplicaDrawTransform):
55845         (WebCore::CCRenderSurface::replicaDrawTransform):
55846         (WebCore::CCRenderSurface::setOriginTransform):
55847         (WebCore::CCRenderSurface::originTransform):
55848         (WebCore::CCRenderSurface::setScissorRect):
55849         (WebCore::CCRenderSurface::scissorRect):
55850         (WebCore::CCRenderSurface::setContentRect):
55851         (WebCore::CCRenderSurface::contentRect):
55852         (WebCore::CCRenderSurface::setSkipsDraw):
55853         (WebCore::CCRenderSurface::skipsDraw):
55854         (WebCore::CCRenderSurface::clearLayerList):
55855         (WebCore::CCRenderSurface::layerList):
55856         (WebCore::CCRenderSurface::setMaskLayer):
55857         (WebCore::CCRenderSurface::contentsTexture):
55858         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
55859         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
55860         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
55861         (WebCore::CCTiledLayerImpl::create):
55862         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
55863         (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
55864         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
55865         (WebCore::CCVideoLayerImpl::create):
55866
55867 2011-08-02  Luke Macpherson   <macpherson@chromium.org>
55868
55869         Implement CSSPropertyWebkitTextCombine, CSSPropertyWebkitTextEmphasisPosition and CSSPropertyWebkitTextEmphasisStyle in CSSStyleApplyProperty.
55870         https://bugs.webkit.org/show_bug.cgi?id=65517
55871
55872         Reviewed by Dimitri Glazkov.
55873
55874         No new tests. Just refactoring and moving code around.
55875
55876         * css/CSSStyleApplyProperty.cpp:
55877         Added class ApplyPropertyTextEmphasisStyle to handle the special TextEmphasisStyle logic.
55878         (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
55879         (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
55880         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
55881         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
55882         Added initializations for CSSPropertyWebkitTextCombine, CSSPropertyWebkitTextEmphasisPosition, CSSPropertyWebkitTextEmphasisStyle.
55883         * css/CSSStyleSelector.cpp:
55884         (WebCore::CSSStyleSelector::applyProperty):
55885         Remove existing implementations.
55886
55887 2011-08-02  Mark Pilgrim  <pilgrim@chromium.org>
55888
55889         Remove LegacyDefaultOptionalArguments flag from SpeechInputResultList.idl
55890         https://bugs.webkit.org/show_bug.cgi?id=65570
55891
55892         Reviewed by Adam Barth.
55893
55894         No new tests, all existing tests pass
55895
55896         * page/SpeechInputResultList.idl:
55897
55898 2011-08-02  Mark Pilgrim  <pilgrim@chromium.org>
55899
55900         Remove LegacyDefaultOptionalArguments flag from EventSource.idl
55901         https://bugs.webkit.org/show_bug.cgi?id=65568
55902
55903         Reviewed by Adam Barth.
55904
55905         No new tests, all existing tests pass.
55906
55907         * page/EventSource.idl:
55908
55909 2011-08-02  Gavin Peters  <gavinp@chromium.org>
55910
55911         fail earlier to track down null CachedScript execution
55912         https://bugs.webkit.org/show_bug.cgi?id=65563
55913
55914         Over in http://code.google.com/p/chromium/issues/detail?id=75604 I can't reproduce the problem.  Careful reading of the code hasn't led me
55915         to an obvious cause either.  This patch should cause failure earlier, and lead to better stacks.  I'll watch Chrome Canary's crash
55916         uploads carefully, and remove this CRASH() (and fix the underlying problem) once I understand it.
55917
55918         Reviewed by Alexey Proskuryakov.
55919
55920         No new tests, as my goal here is to get telemetry on a bug that I cannot reproduce.
55921
55922         * dom/ScriptRunner.cpp:
55923         (WebCore::ScriptRunner::queueScriptForExecution):
55924
55925 2011-08-02  Sailesh Agrawal  <sail@chromium.org>
55926
55927         Chromium: Update forked ScrollbarThemeChromiumMac.mm
55928         https://bugs.webkit.org/show_bug.cgi?id=65555
55929
55930         Merge recent changes to ScrollbarThemeMac.mm to ScrollbarThemeChromiumMac.mm.
55931
55932         Reviewed by James Robinson.
55933
55934         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
55935         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
55936         (wkScrollbarPainterSetEnabled):
55937         * platform/chromium/ScrollbarThemeChromiumMac.h:
55938         (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
55939         * platform/chromium/ScrollbarThemeChromiumMac.mm:
55940         (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
55941         (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
55942         (WebCore::toScrollbarPainterKnobStyle):
55943         (WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
55944         (WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
55945         (WebCore::ScrollbarThemeChromiumMac::paint):
55946
55947 2011-08-02  Mark Pilgrim  <pilgrim@chromium.org>
55948
55949         Remove LegacyDefaultOptionalArguments flag from SVG IDL files
55950         https://bugs.webkit.org/show_bug.cgi?id=65337
55951
55952         Reviewed by Nikolas Zimmermann.
55953
55954         No new tests, all existing tests pass.
55955
55956         * svg/ElementTimeControl.idl:
55957         * svg/SVGAnimationElement.idl:
55958         * svg/SVGDocument.idl:
55959         * svg/SVGElementInstance.idl:
55960         * svg/SVGElementInstanceList.idl:
55961         * svg/SVGException.idl:
55962         * svg/SVGFEDropShadowElement.idl:
55963         * svg/SVGFEGaussianBlurElement.idl:
55964         * svg/SVGFEMorphologyElement.idl:
55965         * svg/SVGFilterElement.idl:
55966         * svg/SVGLocatable.idl:
55967         * svg/SVGMarkerElement.idl:
55968         * svg/SVGPathElement.idl:
55969         * svg/SVGSVGElement.idl:
55970         * svg/SVGStylable.idl:
55971         * svg/SVGStyleElement.idl:
55972         * svg/SVGTests.idl:
55973         * svg/SVGTextContentElement.idl:
55974
55975 2011-08-02  Mark Pilgrim  <pilgrim@chromium.org>
55976
55977         Remove LegacyDefaultOptionalArguments flag from CSS IDL files
55978         https://bugs.webkit.org/show_bug.cgi?id=65341
55979
55980         Reviewed by Adam Barth.
55981
55982         No new tests. All existing tests pass.
55983
55984         * css/CSSMediaRule.idl:
55985         * css/CSSPrimitiveValue.idl:
55986         * css/CSSRuleList.idl:
55987         * css/CSSStyleDeclaration.idl:
55988         * css/CSSStyleSheet.idl:
55989         * css/CSSValueList.idl:
55990         * css/MediaList.idl:
55991         * css/MediaQueryList.idl:
55992         * css/MediaQueryListListener.idl:
55993         * css/StyleMedia.idl:
55994         * css/StyleSheetList.idl:
55995         * css/WebKitCSSKeyframesRule.idl:
55996         * css/WebKitCSSMatrix.idl:
55997
55998 2011-08-02  Robert Kroeger  <rjkroege@chromium.org>
55999
56000         [chromium] Layering violations in gesture recognizer
56001         https://bugs.webkit.org/show_bug.cgi?id=65044
56002
56003         Reviewed by Adam Barth.
56004
56005         Divided the gesture recognizer up to correct a layering
56006         violation by moving gesture implementation from it to
56007         EventHandler::handleGestureEvent so that the gesture recognizer
56008         could simply be an engine for generating gesture events from
56009         touch events.
56010
56011         * dom/WheelEvent.cpp:
56012         (WebCore::WheelEvent::WheelEvent):
56013         (WebCore::WheelEvent::initWheelEvent):
56014         * dom/WheelEvent.h:
56015         Added symbolic contstant for tick multiplier.
56016         * page/EventHandler.cpp:
56017         (WebCore::EventHandler::EventHandler):
56018         Removed construction of gesture recognizer.
56019         (WebCore::EventHandler::handleGestureEvent):
56020         Extended for new gesture events added in this patch.
56021         (WebCore::EventHandler::handleTouchEvent):
56022         Removed call into gesture recognizer.
56023         * page/EventHandler.h:
56024         * page/FrameView.cpp:
56025         (WebCore::FrameView::reset):
56026         Removed code to reset gesture recognizer.
56027         * platform/PlatformGestureEvent.h:
56028         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
56029         (WebCore::PlatformGestureEvent::deltaX):
56030         (WebCore::PlatformGestureEvent::deltaY):
56031         (WebCore::PlatformGestureEvent::shiftKey):
56032         (WebCore::PlatformGestureEvent::ctrlKey):
56033         (WebCore::PlatformGestureEvent::altKey):
56034         (WebCore::PlatformGestureEvent::metaKey):
56035         Added additional gesture types and parameters.
56036         * platform/PlatformGestureRecognizer.h:
56037         * platform/chromium/FramelessScrollView.h:
56038         Added support for displatching gesture and touch events.
56039         * platform/chromium/GestureRecognizerChromium.cpp:
56040         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
56041         (WebCore::InnerGestureRecognizer::reset):
56042         (WebCore::InnerGestureRecognizer::constructClickGestureEvent):
56043         (WebCore::InnerGestureRecognizer::processTouchEventForGestures):
56044         Removed all depedencies on EventHandler. Instead, create gesture
56045         events from touch event stream.
56046         (WebCore::InnerGestureRecognizer::constructScrollGesture):
56047         (WebCore::touchDown):
56048         (WebCore::noGesture):
56049         (WebCore::click):
56050         (WebCore::isClickOrScroll):
56051         (WebCore::inScroll):
56052         (WebCore::GestureRecognizerChromium::processTouchEventForGestures):
56053         (WebCore::GestureRecognizerChromium::reset):
56054         * platform/chromium/GestureRecognizerChromium.h:
56055         * platform/chromium/PopupMenuChromium.cpp:
56056         Added support to handle touch events and gesture events.
56057         (WebCore::PopupContainer::handleTouchEvent):
56058         (WebCore::PopupContainer::handleGestureEvent):
56059         (WebCore::PopupListBox::handleTouchEvent):
56060         (WebCore::PopupListBox::handleGestureEvent):
56061         * platform/chromium/PopupMenuChromium.h:
56062         * platform/mac/ScrollAnimatorMac.mm:
56063         (WebCore::ScrollAnimatorMac::handleGestureEvent):
56064         Ignores the newly added gesture event types.
56065
56066 2011-08-01  Michael Saboff  <msaboff@apple.com>
56067
56068         Virtual copying of FastMalloc allocated memory causes madvise MADV_FREE_REUSABLE errors
56069         https://bugs.webkit.org/show_bug.cgi?id=65502
56070
56071         Reviewed by Anders Carlsson.
56072
56073         Change the vm_copy in PurgeableBuffer::create to be a memcpy.  The
56074         vm_copy causes the process to have additional references to the same
56075         memory region.  These additional reference caused madvise(MADV_FREE_REUSABLE)
56076         to fail when it encountered such pages.
56077
56078         No tests added this is a resource defect and not a functional issue.
56079
56080         * platform/mac/PurgeableBufferMac.cpp:
56081         (WebCore::PurgeableBuffer::create):
56082
56083 2011-08-02  Stephen White  <senorblanco@chromium.org>
56084
56085         [Chromium] Remove an unnecessary readback during accelerated 
56086         canvas-to-canvas draws.
56087         https://bugs.webkit.org/show_bug.cgi?id=65560
56088
56089         Reviewed by James Robinson.
56090
56091         No new tests.  (Printing has few tests, sadly.)
56092
56093         * platform/graphics/skia/ImageBufferSkia.cpp:
56094         (WebCore::ImageBuffer::draw):
56095         Revert most of the changes to this file from
56096         http://trac.webkit.org/changeset/91870, except for the call which makes
56097         the source context current, so that the readPixels() still works.
56098
56099
56100 2011-08-02  Filip Pizlo  <fpizlo@apple.com>
56101
56102         JSC GC is far too conservative about growing the heap size, particularly
56103         on desktop platforms
56104         https://bugs.webkit.org/show_bug.cgi?id=65438
56105
56106         Reviewed by Oliver Hunt.
56107
56108         No change in behavior, thus no new tests.
56109         
56110         Pass the LargeHeap hint to JSGlobalData when creating the JSC runtime
56111         instance corresponding to non-worker JS code.
56112
56113         * bindings/js/JSDOMWindowBase.cpp:
56114         (WebCore::JSDOMWindowBase::commonJSGlobalData):
56115
56116 2011-08-02  Van Lam  <vanlam@google.com>
56117
56118         --webkit-visual-word: ctrl-arrow is not able to reach the boundary of line
56119         https://bugs.webkit.org/show_bug.cgi?id=61346
56120
56121         Reviewed by Ryosuke Niwa.
56122
56123         When collecintg word boundaries in a box, explicitly check if the box
56124         is at the end of line (so it should contain the end-of-line position)
56125         and collect the end-of-line position.
56126
56127         * editing/visible_units.cpp:
56128         (WebCore::isBoxVisuallyLastInLine):
56129         (WebCore::appendPositionAtLogicalEndOfLine):
56130         (WebCore::collectWordBreaksInBoxInsideBlockWithSameDirectionality):
56131         (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
56132
56133 2011-08-02  Vsevolod Vlasov  <vsevik@chromium.org>
56134
56135         Web Inspector: Should save scroll positions for network panel Response and Preview tabs.
56136         https://bugs.webkit.org/show_bug.cgi?id=65557
56137
56138         Reviewed by Pavel Feldman.
56139
56140         * inspector/front-end/NetworkItemView.js:
56141         (WebInspector.ResourceContentView.prototype.get innerView):
56142         (WebInspector.ResourceContentView.prototype.set innerView):
56143         (WebInspector.ResourceContentView.prototype.hide):
56144         * inspector/front-end/ResourcePreviewView.js:
56145         (WebInspector.ResourcePreviewView.prototype.contentLoaded):
56146         * inspector/front-end/ResourceResponseView.js:
56147         (WebInspector.ResourceResponseView.prototype.contentLoaded):
56148
56149 2011-08-02  Vsevolod Vlasov  <vsevik@chromium.org>
56150
56151         Web Inspector: Remove initator column for JSC, fix network resource initiator tests.
56152         https://bugs.webkit.org/show_bug.cgi?id=65534
56153
56154         Reviewed by Pavel Feldman.
56155
56156         * inspector/front-end/NetworkPanel.js:
56157         (WebInspector.NetworkLogView.prototype._createTable):
56158         (WebInspector.NetworkLogView.prototype.switchToDetailedView):
56159         (WebInspector.NetworkLogView.prototype.switchToBriefView):
56160         (WebInspector.NetworkLogView.prototype._toggleGridMode):
56161         (WebInspector.NetworkLogView.prototype._toggleViewingResourceMode):
56162         (WebInspector.NetworkDataGridNode.prototype.createCells):
56163         (WebInspector.NetworkDataGridNode.prototype.refreshResource):
56164         * inspector/front-end/Settings.js:
56165
56166 2011-08-02  Vsevolod Vlasov  <vsevik@chromium.org>
56167
56168         Web Inspector: SourceFrame should store saved scroll positions in View.
56169         https://bugs.webkit.org/show_bug.cgi?id=65472
56170
56171         Reviewed by Pavel Feldman.
56172
56173         * inspector/front-end/ResourcesPanel.js:
56174         (WebInspector.FrameResourceTreeElement.prototype._recreateSourceView):
56175         * inspector/front-end/ScriptsPanel.js:
56176         (WebInspector.ScriptsPanel.prototype._sourceFileChanged):
56177         * inspector/front-end/SourceFrame.js:
56178         (WebInspector.SourceFrame.prototype.show):
56179         (WebInspector.SourceFrame.prototype.hide):
56180         (WebInspector.SourceFrame.prototype.get scrollLeft):
56181         (WebInspector.SourceFrame.prototype.set scrollLeft):
56182         (WebInspector.SourceFrame.prototype.get scrollTop):
56183         (WebInspector.SourceFrame.prototype.set scrollTop):
56184         * inspector/front-end/View.js:
56185         (WebInspector.View.prototype._innerShow):
56186         (WebInspector.View.prototype._innerHide):
56187         (WebInspector.View.prototype.detach):
56188         (WebInspector.View.prototype.storeScrollPositions):
56189         (WebInspector.View.prototype.inheritScrollPositionsFromView):
56190         (WebInspector.View.prototype.restoreScrollPositions):
56191
56192 2011-08-02  Jeff Miller  <jeffm@apple.com>
56193
56194         Move WTF_USE_AVFOUNDATION from JavaScriptCore/wtf/platform.h to WebCore/config.h
56195         https://bugs.webkit.org/show_bug.cgi?id=65552
56196         
56197         Since this is a WebCore feature, there's no need to define it in JavaScriptCore/wtf/platform.h.
56198
56199         Reviewed by Adam Roben.
56200
56201         No change in functionality, so new tests.
56202
56203         * config.h: Added WTF_USE_AVFOUNDATION.
56204
56205 2011-08-02  Alexandru Chiculita  <achicu@adobe.com>
56206
56207         Split RenderBlock::layoutRunsAndFloats into multiple methods
56208         https://bugs.webkit.org/show_bug.cgi?id=65376
56209
56210         Extracted layoutRunsAndFloatsInRange, linkToEndLineIfNeeded and repaintDirtyFloats methods and moved
56211         most of the locals to LineLayoutState.
56212
56213         Reviewed by David Hyatt.
56214
56215         No new tests needed because it is just refactoring existing code.
56216
56217         * rendering/RenderBlock.h:
56218         * rendering/RenderBlockLineLayout.cpp:
56219         (WebCore::LineLayoutState::LineLayoutState):
56220         (WebCore::LineLayoutState::endLineMatched):
56221         (WebCore::LineLayoutState::setEndLineMatched):
56222         (WebCore::LineLayoutState::checkForFloatsFromLastLine):
56223         (WebCore::LineLayoutState::setCheckForFloatsFromLastLine):
56224         (WebCore::LineLayoutState::lineInfo):
56225         (WebCore::LineLayoutState::endLineLogicalTop):
56226         (WebCore::LineLayoutState::setEndLineLogicalTop):
56227         (WebCore::LineLayoutState::endLine):
56228         (WebCore::LineLayoutState::setEndLine):
56229         (WebCore::LineLayoutState::lastFloat):
56230         (WebCore::LineLayoutState::setLastFloat):
56231         (WebCore::LineLayoutState::floats):
56232         (WebCore::LineLayoutState::floatIndex):
56233         (WebCore::LineLayoutState::setFloatIndex):
56234         (WebCore::RenderBlock::layoutRunsAndFloats):
56235         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
56236         (WebCore::RenderBlock::linkToEndLineIfNeeded):
56237         (WebCore::RenderBlock::repaintDirtyFloats):
56238         (WebCore::RenderBlock::layoutInlineChildren):
56239         (WebCore::RenderBlock::determineStartPosition):
56240         (WebCore::RenderBlock::determineEndPosition):
56241         (WebCore::RenderBlock::matchedEndLine):
56242
56243 2011-08-02  Nat Duca  <nduca@chromium.org>
56244
56245         [chromium] Remove resizeOnscreenContent from LRC. It can be derived.
56246         https://bugs.webkit.org/show_bug.cgi?id=65519
56247
56248         Reviewed by James Robinson.
56249
56250         * platform/graphics/chromium/LayerRendererChromium.cpp:
56251         (WebCore::LayerRendererChromium::setViewport):
56252         * platform/graphics/chromium/LayerRendererChromium.h:
56253
56254 2011-08-02  Nico Weber  <thakis@chromium.org>
56255
56256         [chromium] Fix unresolved symbols error when linking to libwebkit.dylib
56257         https://bugs.webkit.org/show_bug.cgi?id=65498
56258
56259         Reviewed by Dimitri Glazkov.
56260
56261         * WebCore.gyp/mac/adjust_visibility.sh:
56262
56263 2011-08-02  Mihnea Ovidenie  <mihnea@adobe.com>
56264
56265         hover then un-hover makes state change
56266         https://bugs.webkit.org/show_bug.cgi?id=56401
56267
56268         Reviewed by David Hyatt.
56269
56270         When a 'before' pseudo-element is re-added, we should check whether the insertion point is an anonymous
56271         block with inline children. If it is, then we should change the insertion point to the first child of the
56272         anonymous block, otherwise the 'before' pseudo-element ends up in a different block. We choose the insertion
56273         point to be the first child only if the anonymous block has children, otherwise the before element ends up
56274         in a wrong block.
56275
56276         Tests: fast/dynamic/hover-before-position-after-style-change.html
56277                fast/dynamic/hover-before-position-after-style-change2.html
56278
56279         * rendering/RenderObjectChildList.cpp:
56280         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
56281
56282 2011-08-02  Andreas Kling  <kling@webkit.org>
56283
56284         [Qt] Simplify Path::translate() implementation.
56285         https://bugs.webkit.org/show_bug.cgi?id=65540
56286
56287         Reviewed by Benjamin Poulain.
56288
56289         * platform/graphics/qt/PathQt.cpp:
56290         (WebCore::Path::translate):
56291
56292 2011-07-30  Pavel Podivilov  <podivilov@chromium.org>
56293
56294         Web Inspector: merge FormattedSourceFile into SourceFile.
56295         https://bugs.webkit.org/show_bug.cgi?id=65411
56296
56297         Reviewed by Pavel Feldman.
56298
56299         Prepare for splitting SourceFile into RawSourceCode and UISourceCode:
56300          * merge FormattedSourceFile into SourceFile
56301          * rename SourceFile to RawSourceCode
56302          * hide formatter worker lazy creation in ScriptFormatter
56303
56304         * inspector/front-end/DebuggerPresentationModel.js:
56305         (WebInspector.DebuggerPresentationModel):
56306         (WebInspector.DebuggerPresentationModel.prototype._scriptLocationToUILocation):
56307         (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation):
56308         (WebInspector.DebuggerPresentationModel.prototype._addScript):
56309         * inspector/front-end/ScriptFormatter.js:
56310         (WebInspector.ScriptFormatter):
56311         (WebInspector.ScriptFormatter.prototype._didFormatContent):
56312         (WebInspector.ScriptFormatter.prototype.get _worker):
56313         * inspector/front-end/SourceFile.js:
56314         (WebInspector.RawSourceCode):
56315         (WebInspector.RawSourceCode.prototype.setFormatted):
56316         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.didRequestContent):
56317         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
56318         (WebInspector.RawSourceCode.prototype._didRequestContent.didFormatContent):
56319         (WebInspector.RawSourceCode.prototype._didRequestContent):
56320         (WebInspector.RawSourceCode.prototype._invokeRequestContentCallbacks):
56321
56322 2011-08-02  Mihnea Ovidenie  <mihnea@adobe.com>
56323
56324         [CSSRegions]Fix build after changeset 92106
56325         https://bugs.webkit.org/show_bug.cgi?id=65539
56326
56327         Reviewed by Adam Roben.
56328
56329         No new tests since it is just a build fix.
56330
56331         * css/CSSStyleSelector.cpp:
56332         (WebCore::CSSStyleSelector::applyProperty):
56333
56334 2011-08-01  Vsevolod Vlasov  <vsevik@chromium.org>
56335
56336         Web Inspector: [REGRESSION] Console evaluations leading to resource loading cause errors.
56337         https://bugs.webkit.org/show_bug.cgi?id=65466
56338
56339         Reviewed by Pavel Feldman.
56340
56341         Test: http/tests/inspector/network/network-initiator-from-console.html
56342
56343         * inspector/front-end/NetworkPanel.js:
56344         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
56345
56346 2011-08-02  Alexander Pavlov  <apavlov@chromium.org>
56347
56348         Web Inspector: img[width=90] or align attributes shouldnt be shown above element.style block (as they have lower specificity)
56349         https://bugs.webkit.org/show_bug.cgi?id=65514
56350
56351         Reviewed by Pavel Feldman.
56352
56353         * inspector/front-end/StylesSidebarPane.js:
56354
56355 2011-08-02  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
56356
56357         [EFL] Add fullscreen button to media control UI.
56358         https://bugs.webkit.org/show_bug.cgi?id=64428
56359
56360         Implement paintMediaFullscreenButton and emit fullscreen signal.
56361
56362         Reviewed by Antonio Gomes.
56363
56364         * platform/efl/RenderThemeEfl.cpp:
56365         (WebCore::RenderThemeEfl::edjeGroupFromFormType):
56366         (WebCore::RenderThemeEfl::emitMediaButtonSignal):
56367         (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
56368         * platform/efl/RenderThemeEfl.h:
56369
56370 2011-08-01  Andrey Kosyakov  <caseq@chromium.org>
56371
56372         Web Inspector: [Extensions API] webInspector.inspectedPage.reload() is broken
56373         https://bugs.webkit.org/show_bug.cgi?id=65476
56374
56375         - fixed webInspector.inspectedWindow.reload(), brought tests back.
56376         - removed redundant setting of user agent in FrameLoader::loadResourceSynchronously()
56377
56378         Reviewed by Yury Semikhatsky.
56379
56380         Test: http/tests/inspector/extensions-useragent.html
56381
56382         * inspector/front-end/ExtensionServer.js:
56383         (WebInspector.ExtensionServer.prototype._onReload):
56384         * loader/FrameLoader.cpp:
56385         (WebCore::FrameLoader::loadResourceSynchronously):
56386
56387 2011-08-02  Pavel Feldman  <pfeldman@chromium.org>
56388
56389         Not reviewed: fixing inspector tests.
56390
56391         * inspector/front-end/ScriptsPanel.js:
56392         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
56393
56394 2011-08-02  Pavel Feldman  <pfeldman@google.com>
56395
56396         Not reviewed: one line inspector style change.
56397
56398         * inspector/front-end/networkLogView.css:
56399         (.network-error-row, .network-error-row .network-cell-subtitle):
56400
56401 2011-08-02  Amruth Raj  <amruthraj@motorola.com>
56402
56403         Custom cursors cause the WebProcess to crash
56404         https://bugs.webkit.org/show_bug.cgi?id=64802
56405
56406         Reviewed by Martin Robinson.
56407
56408         * WebCore.exp.in:
56409
56410 2011-08-02  Pavel Feldman  <pfeldman@google.com>
56411
56412         Web Inspector: _normalizeEventTypes (via console's monitorEvents) doesnt handle all events like 'search' and other atypical ones.
56413         https://bugs.webkit.org/show_bug.cgi?id=65468
56414
56415         Reviewed by Yury Semikhatsky.
56416
56417         * inspector/InjectedScriptSource.js:
56418
56419 2011-08-02  Pavel Feldman  <pfeldman@google.com>
56420
56421         Web Inspector: 404/errors should get a RED visual treatment so easier to identify.
56422         https://bugs.webkit.org/show_bug.cgi?id=65471
56423
56424         Reviewed by Yury Semikhatsky.
56425
56426         * inspector/front-end/NetworkPanel.js:
56427         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
56428         * inspector/front-end/networkLogView.css:
56429         (.network-error-cell):
56430
56431 2011-08-02  Pavel Feldman  <pfeldman@google.com>
56432
56433         Web Inspector: arrow is a pain to click in console. Drive-by selection reset fix.
56434         https://bugs.webkit.org/show_bug.cgi?id=65467
56435
56436         Reviewed by Yury Semikhatsky.
56437
56438         * inspector/front-end/ConsoleView.js:
56439         (WebInspector.ConsoleView.prototype._messagesClicked):
56440         * inspector/front-end/ObjectPropertiesSection.js:
56441         (WebInspector.ObjectPropertyTreeElement):
56442         * inspector/front-end/inspector.css:
56443         (.properties-tree li):
56444         (.properties-tree li.parent::before):
56445         * inspector/front-end/treeoutline.js:
56446         (TreeElement.treeElementToggled):
56447
56448 2011-08-01  Pavel Feldman  <pfeldman@google.com>
56449
56450         Web Inspector: button + "New style rule"
56451         https://bugs.webkit.org/show_bug.cgi?id=65409
56452
56453         Reviewed by Yury Semikhatsky.
56454
56455         Test: inspector/styles/styles-add-new-rule.html
56456
56457         * inspector/front-end/StylesSidebarPane.js:
56458         (WebInspector.StylesSidebarPane):
56459         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
56460
56461 2011-08-01  Luke Macpherson   <macpherson@chromium.org>
56462
56463         Don't set m_fontDirty when setting zoom unless zoom has actually changed
56464         https://bugs.webkit.org/show_bug.cgi?id=65092
56465
56466         Reviewed by Darin Adler.
56467
56468         No new tests as no functionality changed - this is an optimization that
56469         should be logically equivalent to the current code.
56470
56471         The intent here is to avoid setting m_fontDirty unless the fornt information is actually dirty.
56472
56473         * css/CSSStyleSelector.cpp:
56474         (WebCore::CSSStyleSelector::styleForDocument):
56475         (WebCore::CSSStyleSelector::applyProperty):
56476         Use setZoom and setEffectiveZoom wrapper functions.
56477         * css/CSSStyleSelector.h:
56478         (WebCore::CSSStyleSelector::setZoom):
56479         Wrapper for m_style->setZoom() that automatically updates m_fontDirty.
56480         (WebCore::CSSStyleSelector::setEffectiveZoom):
56481         Wrapper for m_style->setEffectiveZoom that automatically updates m_fontDirty.
56482         * page/animation/AnimationBase.cpp:
56483         (WebCore::AnimationBase::ensurePropertyMap):
56484         Use 
56485         * rendering/style/RenderStyle.h:
56486         (WebCore::InheritedFlags::setZoom):
56487         Return true only if underlying values change.
56488         (WebCore::InheritedFlags::setZoomWithoutReturnValue):
56489         Return void to match function pointer type where required.
56490         (WebCore::InheritedFlags::setEffectiveZoom):
56491         Return true only if underlying values change.
56492
56493 2011-08-01  Jean-luc Brouillet  <jeanluc@chromium.org>
56494
56495         Removing old source files in gyp files that slow build
56496         https://bugs.webkit.org/show_bug.cgi?id=65503
56497
56498         Reviewed by Adam Barth.
56499
56500         A number of stale files are listed in the gyp files. These slow the
56501         build on Visual Studio 2010. Removing them.
56502
56503         * WebCore.gypi:
56504
56505 2011-08-01  Bradley Nelson  <bradnelson@chromium.org>
56506
56507         Shard webcore_remaining for msvs official builds
56508
56509         https://bugs.webkit.org/show_bug.cgi?id=65475
56510
56511         Reviewed by Darin Fisher.
56512
56513         webcore_remaining has consistently exceeded Visual Studio 2008's
56514         capacity to link when link time code generation is turned on (full
56515         release builds).  This has been dealt with the past by carving off
56516         larger and larger pieces of webcore_remaining (ie webcore_html,
56517         webcore_renderer etc).
56518         A new option has been added to gyp to automate this sharding:
56519         'msvs_shard': SHARD_COUNT,
56520         Targets marked in this way will be built in several pieces
56521         (target_0, target_1...).
56522         Since the resulting project is less comprehensible in the IDE (and
56523         since the linking limitation only afflicts official builds), this
56524         option is only needed for those builds.
56525         This patch shards webcore_remaining into 10 parts for official builds.
56526
56527         * WebCore.gyp/WebCore.gyp:
56528
56529 2011-08-01  Alice Boxhall  <aboxhall@chromium.org>
56530
56531         WAI-ARIA textbox role should be AXTextArea for aria-multiline=true, AXTextField for aria-multiline=false
56532         https://bugs.webkit.org/show_bug.cgi?id=65451
56533
56534         Reviewed by Chris Fleizach.
56535
56536         * accessibility/AccessibilityRenderObject.cpp:
56537         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
56538
56539 2011-08-01  srikumar bonda  <srikumar.b@gmail.com>
56540
56541         Use threadsafeCopy() API when using Database Directory path variable 
56542         https://bugs.webkit.org/show_bug.cgi?id=65436
56543
56544         Reviewed by David Levin.
56545
56546         Use threadsafeCopy() API while using m_databaseDirectoryPath string variable
56547         when the databaseGuard lock hasn't been taken in DatabaseTracker class. 
56548         This is just a safety fix.
56549
56550         No changes to functionality so no new tests.
56551
56552         * storage/DatabaseTracker.cpp:
56553         (WebCore::DatabaseTracker::trackerDatabasePath):
56554         (WebCore::DatabaseTracker::deleteOrigin):
56555
56556 2011-08-01  Michael Nordman  <michaeln@google.com>
56557
56558         [Chromium] WebSQLDatabase version handling is broken in multi-process browsers.
56559         https://bugs.webkit.org/show_bug.cgi?id=65486
56560
56561         The WebCore::AbstractDatabase class maintains a global in-memory map of
56562         the version numbers associated with open database files, but that map is
56563         not reliable in a multi-process system like Chrome. So instead of relying
56564         on the cached values in that map, we read the value from the database (and
56565         update the cached value) where possible. There are two edge cases where that's
56566         not possible because the scriptable interface requires synchronous access
56567         to the version: the .version attribute getter and the .openDatabase() method.
56568         In those cases, we have no choice but to use the potentially stale cached value.
56569
56570         Reviewed by Darin Fisher.
56571
56572         No new tests. Existing layout tests cover the version handling functionality.
56573
56574         * storage/AbstractDatabase.cpp:
56575         (WebCore::AbstractDatabase::version):
56576         (WebCore::AbstractDatabase::performOpenAndVerify):
56577         (WebCore::AbstractDatabase::getVersionFromDatabase):
56578         (WebCore::AbstractDatabase::setVersionInDatabase):
56579         (WebCore::AbstractDatabase::setExpectedVersion):
56580         (WebCore::AbstractDatabase::getCachedVersion):
56581         (WebCore::AbstractDatabase::setCachedVersion):
56582         (WebCore::AbstractDatabase::getActualVersionForTransaction):
56583         * storage/AbstractDatabase.h:
56584         (WebCore::AbstractDatabase::expectedVersion):
56585         * storage/ChangeVersionWrapper.cpp:
56586         (WebCore::ChangeVersionWrapper::handleCommitFailedAfterPostflight):
56587         * storage/ChangeVersionWrapper.h:
56588         * storage/Database.cpp:
56589         (WebCore::Database::openDatabase):
56590         * storage/DatabaseSync.cpp:
56591         (WebCore::DatabaseSync::openDatabaseSync):
56592         (WebCore::DatabaseSync::changeVersion):
56593         * storage/SQLTransaction.cpp:
56594         (WebCore::SQLTransaction::SQLTransaction):
56595         (WebCore::SQLTransaction::executeSQL):
56596         (WebCore::SQLTransaction::openTransactionAndPreflight):
56597         (WebCore::SQLTransaction::runCurrentStatement):
56598         (WebCore::SQLTransaction::postflightAndCommit):
56599         * storage/SQLTransaction.h:
56600         * storage/SQLTransactionSync.cpp:
56601         (WebCore::SQLTransactionSync::SQLTransactionSync):
56602         (WebCore::SQLTransactionSync::executeSQL):
56603         (WebCore::SQLTransactionSync::begin):
56604         * storage/SQLTransactionSync.h:
56605
56606 2011-08-01  Tim Horton  <timothy_horton@apple.com>
56607
56608         Severe shadow repaint issues with SVGText elements
56609         https://bugs.webkit.org/show_bug.cgi?id=63648
56610         <rdar://problem/7632269>
56611
56612         Reviewed by Darin Adler.
56613
56614         Make SVG elements which inherit from RenderSVGBlock take text-shadow
56615         overflow into account when determining whether or not they should draw
56616
56617         Test: svg/custom/repaint-shadow.svg
56618
56619         * rendering/RenderBox.h:
56620         (WebCore::RenderBox::visualOverflowRect):
56621         * rendering/svg/RenderSVGBlock.cpp:
56622         (WebCore::RenderSVGBlock::visualOverflowRect):
56623         * rendering/svg/RenderSVGBlock.h:
56624
56625 2011-08-01  Zhenyao Mo  <zmo@google.com>
56626
56627         Unreviewed, rolling out r92022.
56628         http://trac.webkit.org/changeset/92022
56629         https://bugs.webkit.org/show_bug.cgi?id=65203
56630
56631         try to see if this is causing a bunch of browser tests failues
56632         on win bots - will recommit if not
56633
56634         * platform/graphics/chromium/FontChromiumWin.cpp:
56635         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
56636         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
56637         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
56638         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
56639         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
56640         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
56641         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
56642         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
56643         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
56644         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
56645         (WebCore::drawGlyphsWin):
56646         (WebCore::Font::drawComplexText):
56647         * platform/graphics/chromium/UniscribeHelper.cpp:
56648         (WebCore::UniscribeHelper::draw):
56649         * platform/graphics/skia/PlatformContextSkia.cpp:
56650         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
56651         * platform/graphics/skia/PlatformContextSkia.h:
56652         * platform/graphics/skia/SkiaFontWin.cpp:
56653         (WebCore::windowsCanHandleDrawTextShadow):
56654         (WebCore::windowsCanHandleTextDrawing):
56655         (WebCore::windowsCanHandleTextDrawingWithoutShadow):
56656         * platform/graphics/skia/SkiaFontWin.h:
56657
56658 2011-08-01  Scott Graham  <scottmg@chromium.org>
56659
56660         REGRESSION (r39725?): Resources removed from document can not be freed
56661         until the document is deleted
56662         https://bugs.webkit.org/show_bug.cgi?id=61006
56663
56664         Reviewed by Antti Koivisto.
56665
56666         Upon completing a load start a Timer to iterate through
56667         CachedResourceLoader's m_documentResources map to check for any items
56668         that have only one reference (thus being the reference in the map
56669         itself). The map should really be weak, but because the
56670         CachedResourceHandle achieves bookkeeping work in addition to
56671         reference counting, this is a simpler and more localized way to free
56672         the used memory while maintaining the other behaviour (when
56673         CachedResource is used as proxy).
56674
56675         With this patch the testcase at
56676         https://bugs.webkit.org/attachment.cgi?id=93850 should no longer
56677         consume 400MB of ram on load. Test added for crash discovered in
56678         previous revision, but no tests for memory usage.
56679
56680         Test: http/tests/inspector/network/disabled-cache-crash.html
56681
56682         * WebCore.exp.in:
56683         * loader/cache/CachedResource.h:
56684         (WebCore::CachedResource::hasOneHandle):
56685         * loader/cache/CachedResourceLoader.cpp:
56686         (WebCore::CachedResourceLoader::CachedResourceLoader):
56687         (WebCore::CachedResourceLoader::loadDone):
56688         (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
56689         * loader/cache/CachedResourceLoader.h:
56690         * testing/Internals.cpp:
56691         (WebCore::Internals::disableMemoryCache):
56692         * testing/Internals.h:
56693         * testing/Internals.idl:
56694
56695 2011-08-01  Jochen Eisinger  <jochen@chromium.org>
56696
56697         Never override the policy URL on form submissions.
56698         https://bugs.webkit.org/show_bug.cgi?id=61809
56699
56700         Reviewed by Adam Barth.
56701
56702         Tests: http/tests/security/cookies/third-party-cookie-blocking-main-frame.html
56703                http/tests/security/cookies/third-party-cookie-blocking-user-action.html
56704                http/tests/security/cookies/third-party-cookie-blocking.html
56705
56706         * loader/FrameLoader.cpp:
56707         (WebCore::FrameLoader::loadURL):
56708         (WebCore::FrameLoader::addExtraFieldsToSubresourceRequest):
56709         (WebCore::FrameLoader::addExtraFieldsToMainResourceRequest):
56710         (WebCore::FrameLoader::addExtraFieldsToRequest):
56711         (WebCore::FrameLoader::loadPostRequest):
56712         (WebCore::FrameLoader::loadDifferentDocumentItem):
56713         * loader/FrameLoader.h:
56714
56715
56716 2011-08-01  Ryosuke Niwa  <rniwa@webkit.org>
56717
56718         Update comment added in r92139 per Darin's suggestion.
56719
56720         * css/CSSStyleSelector.cpp:
56721         (WebCore::CSSStyleSelector::styleForElement):
56722
56723 2011-08-01  Ryosuke Niwa  <rniwa@webkit.org>
56724
56725         Search field in designMode causes a crash
56726         https://bugs.webkit.org/show_bug.cgi?id=65362
56727
56728         Reviewed by Dimitri Glazkov.
56729
56730         The crashed was caused by editing code inadvertently deleting search and cancel buttons in the design mode.
56731         Fixed the bug by avoid inheriting user-modify property from the shadow host.
56732
56733         Test: editing/input/search-field-crash-in-designmode.html
56734
56735         * css/CSSStyleSelector.cpp:
56736         (WebCore::isAtShadowBoundary): Moved.
56737         (WebCore::CSSStyleSelector::styleForElement): Overrides -webkit-user-modify by the initial value after m_style
56738         inherited the values from m_parentStyle but before applying matched rules.
56739         * dom/Node.cpp:
56740         (WebCore::Node::rendererIsEditable): Ignore page's editability inside a shadow DOM.
56741
56742 2011-08-01  Marco Peereboom  <marco@peereboom.us>
56743
56744         [Soup] Set default max-conns to a more sane default value and fix comment 
56745         https://bugs.webkit.org/show_bug.cgi?id=65335
56746
56747         Reviewed by Martin Robinson.
56748
56749         Rigged the xxxterm web browser and validated that the default values were set properly.
56750
56751         * platform/network/soup/ResourceHandleSoup.cpp:
56752         (WebCore::ResourceHandle::defaultSession):
56753
56754 2011-07-28  Abhishek Arya  <inferno@chromium.org>
56755
56756         Regression(82144): Crash in TrailingObjects::updateMidpointsForTrailingBoxes
56757         https://bugs.webkit.org/show_bug.cgi?id=65137
56758
56759         Fix the looping condition to prevent trailingSpaceMidpoint from becoming negative.
56760
56761         Reviewed by Dave Hyatt.
56762
56763         Test: fast/block/update-midpoints-for-trailing-boxes-crash.html
56764
56765         * rendering/RenderBlockLineLayout.cpp:
56766         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
56767
56768 2011-08-01  Benjamin Poulain  <benjamin@webkit.org>
56769
56770         [Qt] OpenGLShims does not build on ARM
56771         https://bugs.webkit.org/show_bug.cgi?id=65465
56772
56773         Reviewed by Noam Rosenthal.
56774
56775         Fix the build with OpenGL ES 2:
56776         -lookupOpenGLFunctionAddress() was defined but not used for OpenGL ES.
56777         -glBlitFramebuffer() and glRenderbufferStorageMultisample() are not part of the specification.
56778         When those are available as platform extension, the extension has been added.
56779         -GLchar is not defined on some platform. The patch adds the same typedef as the official definition
56780         to avoid conflicts.
56781
56782         * platform/graphics/cairo/OpenGLShims.cpp:
56783         (lookupOpenGLFunctionAddress):
56784         (WebCore::initializeOpenGLShims):
56785         * platform/graphics/cairo/OpenGLShims.h:
56786
56787 2011-08-01  Yury Semikhatsky  <yurys@chromium.org>
56788
56789         Unreviewed. Trivial fix for inspector/debugger/debugger-completions-on-call-frame.html after r92122.
56790
56791         * inspector/front-end/ConsoleView.js:
56792
56793 2011-08-01  Hayato Ito  <hayato@chromium.org>
56794
56795         Add support for getting an element in shadow root by its id into a window.internals object.
56796         https://bugs.webkit.org/show_bug.cgi?id=64587
56797
56798         Reviewed by Hajime Morita.
56799
56800         Test: fast/dom/shadow/get-element-by-id-in-shadow-root.html
56801
56802         * WebCore.exp.in:
56803         * testing/Internals.cpp:
56804         (WebCore::Internals::getElementByIdInShadowRoot):
56805         * testing/Internals.h:
56806         * testing/Internals.idl:
56807
56808 2011-07-15  Hayato Ito  <hayato@chromium.org>
56809
56810         Add support for retrieving an element in TreeScope by id to window.internals object.
56811         https://bugs.webkit.org/show_bug.cgi?id=64587
56812
56813         Reviewed by Hajime Morita.
56814
56815         Test: fast/dom/shadow/get-element-by-id-in-shadow.html
56816
56817         * WebCore.exp.in:
56818         * testing/Internals.cpp:
56819         (WebCore::Internals::getElementByIdInTreeScope):
56820         * testing/Internals.h:
56821         * testing/Internals.idl:
56822
56823 2011-08-01  Yury Semikhatsky  <yurys@chromium.org>
56824
56825         Web Inspector: typing an expression in an iframe leads to multiple "Unsafe JavaScript attempt to access frame..." errors
56826         https://bugs.webkit.org/show_bug.cgi?id=65457
56827
56828         Console completions are now done using evaluation which returns a JSON object with all property names rather than a remote
56829         object. Also Runtime.evaluate and Runtime.callFunctionOn commands were extended with an optional parameter that allows to
56830         get result as JSON value.
56831
56832         Reviewed by Pavel Feldman.
56833
56834         Test: http/tests/inspector/console-cd-completions.html
56835
56836         * inspector/InjectedScript.cpp:
56837         (WebCore::InjectedScript::evaluate):
56838         (WebCore::InjectedScript::callFunctionOn):
56839         * inspector/InjectedScript.h:
56840         * inspector/InjectedScriptSource.js:
56841         (.):
56842         ():
56843         * inspector/Inspector.json:
56844         * inspector/InspectorRuntimeAgent.cpp:
56845         (WebCore::asBool):
56846         (WebCore::InspectorRuntimeAgent::evaluate):
56847         (WebCore::InspectorRuntimeAgent::callFunctionOn):
56848         * inspector/InspectorRuntimeAgent.h:
56849         * inspector/front-end/ConsoleView.js:
56850         (WebInspector.ConsoleView.prototype._completions.evaluated.getCompletions):
56851         (WebInspector.ConsoleView.prototype._completions.evaluated):
56852         (WebInspector.ConsoleView.prototype._completions.receivedPropertySet):
56853         (WebInspector.ConsoleView.prototype._completions):
56854         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
56855         * inspector/front-end/RemoteObject.js:
56856         (WebInspector.RemoteObject):
56857         (WebInspector.RemoteObject.prototype.callFunction):
56858         (WebInspector.RemoteObject.prototype.callFunctionJSON):
56859         * inspector/front-end/WatchExpressionsSidebarPane.js:
56860         (WebInspector.WatchExpressionsSection.prototype.update):
56861
56862 2011-08-01  Mihnea Ovidenie  <mihnea@adobe.com>
56863
56864         BORDER attribute with the object tag, using percentage values not working.
56865         https://bugs.webkit.org/show_bug.cgi?id=65176
56866
56867         Reviewed by Hajime Morita.
56868
56869         When border presentational attribute for object element has % in it, it should be parsed using HTML parser rules.
56870
56871         Test: fast/borders/border-width-percent.html
56872
56873         * html/HTMLElement.cpp:
56874         (WebCore::HTMLElement::parseBorderWidthAttribute):
56875         * html/HTMLElement.h:
56876         * html/HTMLImageElement.cpp:
56877         * html/HTMLObjectElement.cpp:
56878         (WebCore::HTMLObjectElement::parseMappedAttribute):
56879
56880 2011-08-01  Yuta Kitamura  <yutak@chromium.org>
56881
56882         WebSocket: Receive URL and subprotocol in WebSocketChannel::connect()
56883         https://bugs.webkit.org/show_bug.cgi?id=65367
56884
56885         Reviewed by Kent Tamura.
56886
56887         To implement multiple subprotocols support (bug 65247), WebSocket::connect() will need to validate
56888         the value of subprotocols after constructing WebSocketChannel, because the result depends on which
56889         WebSocket protocol is used, which is obtained from WebSocketChannel::useHixie76Protocol(). This
56890         means the subprotocol value will not be available at the time of WebSocketChannel construction.
56891
56892         This change moves URL and subprotocol arguments in WebSocketChannel constructor to
56893         WebSocketChannel::connect(), which allows WebSocket::connect() function to check the subprotocol
56894         value before the actual connection is established.
56895
56896         Relocating URL argument is technically not necessary, but seemed legitimate in terms of functional
56897         correspondence between WebSocket and WebSocketChannel (constructor versus connect()).
56898
56899         No change in behavior, thus no new tests.
56900
56901         * websockets/ThreadableWebSocketChannel.cpp:
56902         Remove "url" and "protocol" arguments from constructor and add them in connect().
56903         (WebCore::ThreadableWebSocketChannel::create):
56904         * websockets/ThreadableWebSocketChannel.h:
56905         * websockets/WebSocket.cpp:
56906         (WebCore::WebSocket::connect):
56907         * websockets/WebSocketChannel.cpp: Same as ThreadableWebSocketChannel.
56908         (WebCore::WebSocketChannel::WebSocketChannel):
56909         (WebCore::WebSocketChannel::connect):
56910         InspectorInstrumentation::didCreateWebSocket() call was moved to connect() because it needs URL.
56911         This does not change behavior, because connect() is guaranteed to be called immediately after
56912         WebSocketChannel is constructed.
56913         * websockets/WebSocketChannel.h:
56914         (WebCore::WebSocketChannel::create):
56915         * websockets/WorkerThreadableWebSocketChannel.cpp: Same as ThreadableWebSocketChannel.
56916         (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
56917         (WebCore::WorkerThreadableWebSocketChannel::connect):
56918         (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
56919         (WebCore::WorkerThreadableWebSocketChannel::Peer::connect):
56920         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
56921         (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
56922         (WebCore::WorkerThreadableWebSocketChannel::mainThreadConnect):
56923         (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
56924         * websockets/WorkerThreadableWebSocketChannel.h:
56925         (WebCore::WorkerThreadableWebSocketChannel::create):
56926         (WebCore::WorkerThreadableWebSocketChannel::Peer::create):
56927         (WebCore::WorkerThreadableWebSocketChannel::Bridge::create):
56928
56929 2011-08-01  Luke Macpherson   <macpherson@chromium.org>
56930
56931         Add iterator to CSSValueList
56932         https://bugs.webkit.org/show_bug.cgi?id=65297
56933
56934         Reviewed by Darin Adler.
56935
56936         No new tests / refactoring only.
56937
56938         * css/CSSPrimitiveValue.h:
56939         (WebCore::CSSPrimitiveValue::isLength):
56940         Add shorthand to determine if this primitive value is a length.
56941         * css/CSSStyleSelector.cpp:
56942         Use CSSValueListIterator throughout.
56943         (WebCore::CSSStyleSelector::applyProperty):
56944         (WebCore::CSSStyleSelector::applyPageSizeProperty):
56945         (WebCore::CSSStyleSelector::createTransformOperations):
56946         * css/CSSValueList.cpp:
56947         (WebCore::CSSValueList::copy):
56948         Use itemWithoutBoundsCheck() instead of item().
56949         * css/CSSValueList.h:
56950         Add CSSValueListIterator and CSSValueListInspector class definitions.
56951         (WebCore::CSSValueList::item)
56952         Provide inline definition of item.
56953         (WebCore::CSSValueListIterator::CSSValueListIterator):
56954         (WebCore::CSSValueListIterator::hasMore):
56955         Return true if there are more values to consume, including the current value.
56956         (WebCore::CSSValueListIterator::value):
56957         Return the value at the current position.
56958         (WebCore::CSSValueListIterator::next):
56959         Move the iterator forward to the next item.
56960         (WebCore::CSSValueListIterator::index):
56961         Return the current position in the list.
56962         (WebCore::CSSValueListInspector::item):
56963         Return the item at a given index.
56964         (WebCore::CSSValueListInspector::first):
56965         Return the first item in the list.
56966         (WebCore::CSSValueListInspector::second):
56967         Return the second item in the list.
56968         (WebCore::CSSValueListInspector::length):
56969         Return the size of the underlying list.
56970
56971 2011-08-01  Pavel Feldman  <pfeldman@google.com>
56972
56973         Web Inspector: group scripts by folder in the scripts selector.
56974         https://bugs.webkit.org/show_bug.cgi?id=65321
56975
56976         Reviewed by Yury Semikhatsky.
56977
56978         Test: inspector/debugger/scripts-sorting.html
56979
56980         * inspector/front-end/ScriptsPanel.js:
56981         (WebInspector.ScriptsPanel.prototype._sourceFileAdded.get if):
56982         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered.optionCompare):
56983         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered):
56984         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
56985         (WebInspector.ScriptsPanel.prototype._folderAndDisplayNameForScriptURL):
56986         (WebInspector.ScriptsPanel.prototype.reset):
56987         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
56988
56989 2011-07-28  Pavel Feldman  <pfeldman@google.com>
56990
56991         Web Inspector: [protocol] methods where all parameters are optional should not require empty params object.
56992         https://bugs.webkit.org/show_bug.cgi?id=65331
56993
56994         Reviewed by Yury Semikhatsky.
56995
56996         * inspector/CodeGeneratorInspector.pm:
56997         (generateBackendFunction):
56998         (generateArgumentGetters):
56999
57000 2011-08-01  Adam Barth  <abarth@webkit.org>
57001
57002         application/json MIME type shouldn't cause warnings in <script> tags
57003         https://bugs.webkit.org/show_bug.cgi?id=65448
57004
57005         Reviewed by Pavel Feldman.
57006
57007         This patch stops the web inspector from logging a ton of spam warnings
57008         when a web page uses a JSONP service (which points script tags at
57009         application/json resources).
57010
57011         * inspector/front-end/inspector.js:
57012         (WebInspector.reset):
57013
57014 2011-08-01  Yuta Kitamura  <yutak@chromium.org>
57015
57016         WebSocket: Rename SocketStreamHandleClient member functions
57017         https://bugs.webkit.org/show_bug.cgi?id=65374
57018
57019         Reviewed by Kent Tamura.
57020
57021         Rename SocketStreamHandleClient member functions to avoid conflict of the names of
57022         FileReaderLoaderClient functions.
57023
57024         No change in behavior, thus no new tests are added.
57025
57026         * platform/network/SocketStreamHandleClient.h:
57027         (WebCore::SocketStreamHandleClient::didOpenSocketStream):
57028         (WebCore::SocketStreamHandleClient::didCloseSocketStream):
57029         (WebCore::SocketStreamHandleClient::didReceiveSocketStreamData):
57030         (WebCore::SocketStreamHandleClient::didFailSocketStream):
57031         * platform/network/brew/SocketStreamHandleBrew.cpp:
57032         (WebCore::SocketStreamHandlePrivate::socketConnected):
57033         (WebCore::SocketStreamHandlePrivate::socketReadyRead):
57034         (WebCore::SocketStreamHandlePrivate::socketClosed):
57035         (WebCore::SocketStreamHandlePrivate::socketError):
57036         * platform/network/cf/SocketStreamHandleCFNet.cpp:
57037         (WebCore::SocketStreamHandle::addCONNECTCredentials):
57038         (WebCore::SocketStreamHandle::readStreamCallback):
57039         (WebCore::SocketStreamHandle::writeStreamCallback):
57040         (WebCore::SocketStreamHandle::reportErrorToClient):
57041         (WebCore::SocketStreamHandle::platformClose):
57042         * platform/network/qt/SocketStreamHandleQt.cpp:
57043         (WebCore::SocketStreamHandlePrivate::socketConnected):
57044         (WebCore::SocketStreamHandlePrivate::socketReadyRead):
57045         (WebCore::SocketStreamHandlePrivate::socketClosedCallback):
57046         (WebCore::SocketStreamHandlePrivate::socketErrorCallback):
57047         * platform/network/soup/SocketStreamHandleSoup.cpp:
57048         (WebCore::SocketStreamHandle::connected):
57049         (WebCore::SocketStreamHandle::readBytes):
57050         (WebCore::SocketStreamHandle::platformSend):
57051         (WebCore::SocketStreamHandle::platformClose):
57052         * websockets/WebSocketChannel.cpp:
57053         (WebCore::WebSocketChannel::didOpenSocketStream):
57054         (WebCore::WebSocketChannel::didCloseSocketStream):
57055         (WebCore::WebSocketChannel::didReceiveSocketStreamData):
57056         (WebCore::WebSocketChannel::didFailSocketStream):
57057         (WebCore::WebSocketChannel::resumeTimerFired):
57058         * websockets/WebSocketChannel.h:
57059
57060 2011-07-31  Sheriff Bot  <webkit.review.bot@gmail.com>
57061
57062         Unreviewed, rolling out r92094.
57063         http://trac.webkit.org/changeset/92094
57064         https://bugs.webkit.org/show_bug.cgi?id=65443
57065
57066         Triggered many asserts (Requested by abarth on #webkit).
57067
57068         * dom/EventDispatcher.cpp:
57069         (WebCore::EventDispatcher::dispatchEvent):
57070
57071 2011-07-31  Dominic Cooney  <dominicc@chromium.org>
57072
57073         Event target set to null post event dispatch
57074         https://bugs.webkit.org/show_bug.cgi?id=63934
57075
57076         Reviewed by Dimitri Glazkov.
57077
57078         Test: fast/events/event-target-reset.html
57079
57080         * dom/EventDispatcher.cpp:
57081         (WebCore::EventDispatcher::dispatchEvent): Reset target to outermost
57082         shadow host.
57083
57084 2011-07-31  Sam Weinig  <sam@webkit.org>
57085
57086         REGRESSION: getBoundingClientRect() method of Range incorrectly returns null for collapsed Range
57087         https://bugs.webkit.org/show_bug.cgi?id=65324
57088
57089         Reviewed by Ryosuke Niwa.
57090
57091         Update to more closely match the spec.
57092
57093         * dom/Range.cpp:
57094         (WebCore::Range::getClientRects):
57095         Return an empty ClientRectList instead of null when the range is empty.
57096
57097         (WebCore::Range::getBoundingClientRect):
57098         Always return a ClientRect, even for an empty bounding rect.
57099
57100 2011-07-29  Ryosuke Niwa  <rniwa@webkit.org>
57101
57102         [HTML5] Implement the selectionDirection property on input and textarea
57103         https://bugs.webkit.org/show_bug.cgi?id=60403
57104
57105         Reviewed by Darin Adler.
57106
57107         Implements selectionDirection property as specified in HTML5 section 4.10.20:
57108         http://www.whatwg.org/specs/web-apps/current-work/#textFieldSelection
57109
57110         selectionDirection is a property on input and textarea elements, which, on getting returns either "none",
57111         "forward", or "backward" corresponding to the current selection direction, and on setting, modifies
57112         the direction of the current selection. When selection doesn't exist or direction is unknown, "none"
57113         is returned on getting. Setting the property value to neither of above values will result in setting "none".
57114
57115         This patch also adds the optional third argument, direction, to setSelectionRange.
57116
57117         Test: fast/forms/selection-direction.html
57118               fast/forms/selection-wrongtype.html
57119
57120         * bindings/js/JSHTMLInputElementCustom.cpp:
57121         (WebCore::JSHTMLInputElement::selectionDirection): Added.
57122         (WebCore::JSHTMLInputElement::setSelectionDirection): Added.
57123         (WebCore::JSHTMLInputElement::setSelectionRange): Processes the third argument.
57124         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
57125         (WebCore::V8HTMLInputElement::selectionDirectionAccessorGetter): Added.
57126         (WebCore::V8HTMLInputElement::selectionDirectionAccessorSetter): Added.
57127         (WebCore::V8HTMLInputElement::setSelectionRangeCallback): Processes the third argument.
57128         * html/HTMLTextAreaElement.cpp:
57129         (WebCore::HTMLTextAreaElement::updateFocusAppearance): Calls hasCachedSelection.
57130         * html/HTMLInputElement.cpp:
57131         (WebCore::HTMLInputElement::updateFocusAppearance): Ditto.
57132         (WebCore::HTMLInputElement::setValue): Calls cacheSelection with SelectionHasNoDirection.
57133         * html/HTMLTextAreaElement.idl: Added selectionDirection and the third argument to setSelectionRange.
57134         * html/HTMLInputElement.idl: Ditto.
57135         * html/HTMLTextFormControlElement.cpp:
57136         (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement): Initializes
57137         m_cachedSelectionDirection.
57138         (WebCore::HTMLTextFormControlElement::setSelectionStart): Calls setSelectionRange.
57139         (WebCore::HTMLTextFormControlElement::setSelectionEnd): Ditto.
57140         (WebCore::HTMLTextFormControlElement::setSelectionDirection): Added.
57141         (WebCore::HTMLTextFormControlElement::select): Calls setSelectionRange with SelectionHasNoDirection.
57142         (WebCore::HTMLTextFormControlElement::setSelectionRange): Added the version that takes direction
57143         string as the third argument, which calls the version that takes two ints and TextFieldSelectionDirection.
57144         (WebCore::HTMLTextFormControlElement::selectionStart): Calls hasCachedSelection.
57145         (WebCore::HTMLTextFormControlElement::selectionEnd): Ditto.
57146         (WebCore::directionString): Added.
57147         (WebCore::HTMLTextFormControlElement::selectionDirection): Added.
57148         (WebCore::HTMLTextFormControlElement::computeSelectionDirection): Added.
57149         (WebCore::HTMLTextFormControlElement::selection): Calls hasCachedSelection.
57150         (WebCore::HTMLTextFormControlElement::restoreCachedSelection): Calls setSelectionRange.
57151         (WebCore::HTMLTextFormControlElement::selectionChanged): Calls cacheSelection.
57152         * html/HTMLTextFormControlElement.h:
57153         (WebCore::HTMLTextFormControlElement::cacheSelection): Takes TextFieldSelectionDirection.
57154         (WebCore::HTMLTextFormControlElement::hasCachedSelection): Extracted from hasCachedSelectionStart;
57155         cacheSelection is the only function that modifies m_cacheSelectionStart and m_cacheSelectionEnd
57156         and none of its callers ever set one of them be -1 so they are always both -1 or both non-negative.
57157         Thus, having two separate functions for m_cacheSelectionStart and m_cacheSelectionEnd was redundant.
57158
57159 2011-07-31  Daniel Bates  <dbates@webkit.org>
57160
57161         [GTK] Remove unused variable coreChild in WebCore::getChildForTable()
57162         https://bugs.webkit.org/show_bug.cgi?id=65427
57163
57164         This variable was unused when it was initially added in <http://trac.webkit.org/changeset/89660> (bug #62718)
57165         and it is unused today. We should remove it. This will also resolve a compiler warning.
57166
57167         Reviewed by Xan Lopez.
57168
57169         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
57170         (getChildForTable):
57171
57172 2011-07-30  Daniel Bates  <dbates@webkit.org>
57173
57174         Fix the WinCairo Debug build after <http://trac.webkit.org/changeset/91914>
57175         (https://bugs.webkit.org/show_bug.cgi?id=64744)
57176
57177         * WebCore.vcproj/WebCore.vcproj: Remove ContextShadowCairo.cpp from the build since this
57178           file was deleted in <http://trac.webkit.org/changeset/91914>.
57179
57180 2011-07-30  Daniel Bates  <dbates@webkit.org>
57181
57182         Fix the Chromium Linux Release Flexbot build after <http://trac.webkit.org/changeset/92004>
57183         (https://bugs.webkit.org/show_bug.cgi?id=65342)
57184
57185         * rendering/RenderFlexibleBox.cpp:
57186         (WebCore::RenderFlexibleBox::layoutBlock): Update the definition of RenderFlexibleBox::layoutBlock()
57187         to be consistent with its declaration in RenderFlexibleBox.h; Add argument layoutPass of type BlockLayoutPass.
57188
57189 2011-07-30  Adam Barth  <abarth@webkit.org>
57190
57191         Update run-bindings-tests results after
57192         http://trac.webkit.org/changeset/92068
57193
57194         * bindings/scripts/test/JS/JSTestCallback.cpp:
57195
57196 2011-07-30  Patrick Gansterer  <paroga@webkit.org>
57197
57198         Remove inclusion of MainThread.h from Threading.h
57199         https://bugs.webkit.org/show_bug.cgi?id=65081
57200
57201         Reviewed by Darin Adler.
57202
57203         Add missing include statements for MainThread.
57204
57205         * bindings/js/DOMWrapperWorld.cpp:
57206         * bindings/js/JSDOMWindowBase.cpp:
57207         * bindings/scripts/CodeGeneratorJS.pm:
57208         (GenerateCallbackImplementation):
57209         * bindings/v8/DOMDataStore.cpp:
57210         * bindings/v8/DOMWrapperWorld.cpp:
57211         * bindings/v8/V8Binding.cpp:
57212         * bindings/v8/V8DOMMap.cpp:
57213         * bindings/v8/V8DOMWrapper.h:
57214         * dom/EventTarget.cpp:
57215         * fileapi/LocalFileSystem.cpp:
57216         * loader/CrossOriginPreflightResultCache.cpp:
57217         * loader/ResourceLoadScheduler.cpp:
57218         * loader/WorkerThreadableLoader.cpp:
57219         * loader/appcache/ApplicationCacheGroup.cpp:
57220         * page/DOMWindow.cpp:
57221         * page/History.cpp:
57222         * page/SecurityOrigin.cpp:
57223         * page/mac/EventHandlerMac.mm:
57224         * platform/MIMETypeRegistry.cpp:
57225         * platform/ThreadGlobalData.cpp:
57226         * platform/ThreadTimers.cpp:
57227         * platform/TreeShared.h:
57228         * platform/audio/HRTFDatabaseLoader.cpp:
57229         * platform/graphics/Font.cpp:
57230         * platform/graphics/FontFallbackList.h:
57231         * platform/graphics/FontFastPath.cpp:
57232         * platform/graphics/Image.cpp:
57233         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
57234         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
57235         * platform/graphics/cg/ImageBufferCG.cpp:
57236         * platform/graphics/chromium/LayerRendererChromium.cpp:
57237         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
57238         * platform/mac/LocalizedStringsMac.mm:
57239         * platform/mac/SharedBufferMac.mm:
57240         * platform/network/BlobResourceHandle.cpp:
57241         * platform/network/cf/DNSCFNet.cpp:
57242         * platform/network/cf/LoaderRunLoopCF.cpp:
57243         * platform/text/LocalizedNumberICU.cpp:
57244         * platform/text/TextEncodingRegistry.cpp:
57245         * platform/text/mac/LocalizedNumberMac.mm:
57246         * platform/win/LocalizedStringsWin.cpp:
57247         * storage/LocalStorageThread.cpp:
57248         * storage/StorageAreaImpl.cpp:
57249         * storage/StorageAreaSync.cpp:
57250         * storage/StorageNamespaceImpl.cpp:
57251         * storage/StorageSyncManager.cpp:
57252         * webaudio/AsyncAudioDecoder.cpp:
57253         * webaudio/AudioBufferSourceNode.cpp:
57254         * webaudio/AudioContext.h
57255         * webaudio/AudioContext.cpp:
57256         * webaudio/AudioNode.cpp:
57257         * webaudio/ConvolverNode.cpp:
57258         * webaudio/OfflineAudioDestinationNode.cpp:
57259         * webaudio/RealtimeAnalyser.cpp:
57260         * webaudio/WaveShaperNode.cpp:
57261         * websockets/WorkerThreadableWebSocketChannel.cpp:
57262         * workers/WorkerMessagingProxy.cpp:
57263
57264 2011-07-30  Enrica Casucci  <enrica@apple.com>
57265
57266         REGRESSION: culledInlineAbsoluteRects needs to translate a 0,0 point to absolute
57267         coordinates so that the top left position is accurate.
57268         https://bugs.webkit.org/show_bug.cgi?id=65419
57269         <rdar://problem/9408862>
57270
57271         This patch fixes a regression introduced in r83075.
57272         Make sure that culledInlineAbsoluteRects still does
57273         a translation of a 0,0 point to absolute coordinates so that the top left position is
57274         accurate.
57275         This code path could not be tested via JavaScript. The patch
57276         extends the Internals object to be able to test this case.
57277
57278         Reviewed by Dan Bernstein.
57279
57280         Test: fast/inline/skipped-whitespace-boundingBox.html
57281
57282         * WebCore.exp.in: Added some exports.
57283         * rendering/RenderInline.cpp:
57284         (WebCore::RenderInline::culledInlineAbsoluteRects):
57285         * testing/Internals.cpp:
57286         (WebCore::Internals::boundingBox):
57287         * testing/Internals.h:
57288         * testing/Internals.idl:
57289
57290 2011-07-26  Pavel Podivilov  <podivilov@chromium.org>
57291
57292         Web Inspector: move location conversion functions to SourceFile.
57293         https://bugs.webkit.org/show_bug.cgi?id=65185
57294
57295         Reviewed by Pavel Feldman.
57296
57297         Test: inspector/debugger/source-file.html
57298
57299         * inspector/front-end/DebuggerPresentationModel.js:
57300         (WebInspector.DebuggerPresentationModel.prototype._scriptLocationToUILocation.didCreateSourceMapping):
57301         (WebInspector.DebuggerPresentationModel.prototype._scriptLocationToUILocation):
57302         (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation.didCreateSourceMapping):
57303         (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation):
57304         * inspector/front-end/SourceFile.js:
57305         (WebInspector.SourceFile.prototype.rawLocationToUILocation):
57306         (WebInspector.SourceFile.prototype.uiLocationToRawLocation):
57307         (WebInspector.SourceFile.prototype._scriptForRawLocation):
57308         (WebInspector.SourceFile.prototype.createSourceMappingIfNeeded):
57309         (WebInspector.FormattedSourceFile.prototype.createSourceMappingIfNeeded):
57310         (WebInspector.FormattedSourceFile.prototype._didRequestContent):
57311
57312 2011-07-29  Rob Buis  <rbuis@rim.com>
57313
57314         URL references are completely broken in SVG
57315         https://bugs.webkit.org/show_bug.cgi?id=63283
57316
57317         Reviewed by Nikolas Zimmermann.
57318
57319         Change SVGURIElement::getTarget to be more strict about iri resolving and make it serve as a central
57320         place to resolve a iri to a SVGElement. The iri can be same-document or external, for now we only handle
57321         the former, the latter will be handled in bug 65344.
57322         Accept as same-document if the iri combined with the base uri equals the document url (ignoring
57323         the fragment identifier). For convenience a method is added to lookup the element, if found.
57324
57325         Tests: svg/custom/external-paintserver-reference.svg
57326                svg/custom/linking-base-external-reference.xhtml
57327                svg/custom/uri-reference-handling.svg
57328
57329         * css/CSSCursorImageValue.cpp:
57330         (WebCore::resourceReferencedByCursorElement):
57331         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
57332         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
57333         * css/CSSFontFaceSource.cpp:
57334         (WebCore::CSSFontFaceSource::getFontData):
57335         * css/CSSFontSelector.h:
57336         (WebCore::CSSFontSelector::document):
57337         * css/SVGCSSStyleSelector.cpp:
57338         (WebCore::CSSStyleSelector::applySVGProperty):
57339         * rendering/svg/RenderSVGTextPath.cpp:
57340         (WebCore::RenderSVGTextPath::layoutPath):
57341         * rendering/svg/SVGResources.cpp:
57342         (WebCore::targetReferenceFromResource):
57343         (WebCore::paintingResourceFromSVGPaint):
57344         * svg/SVGAltGlyphElement.cpp:
57345         (WebCore::SVGAltGlyphElement::hasValidGlyphElements):
57346         * svg/SVGFEImageElement.cpp:
57347         (WebCore::SVGFEImageElement::requestImageResource):
57348         (WebCore::SVGFEImageElement::build):
57349         * svg/SVGGlyphRefElement.cpp:
57350         (WebCore::SVGGlyphRefElement::hasValidGlyphElement):
57351         * svg/SVGLinearGradientElement.cpp:
57352         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
57353         * svg/SVGMPathElement.cpp:
57354         (WebCore::SVGMPathElement::pathElement):
57355         * svg/SVGPaint.cpp:
57356         (WebCore::SVGPaint::matchesTargetURI):
57357         * svg/SVGPatternElement.cpp:
57358         (WebCore::SVGPatternElement::collectPatternAttributes):
57359         * svg/SVGRadialGradientElement.cpp:
57360         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
57361         * svg/SVGTRefElement.cpp:
57362         (WebCore::SVGTRefElement::updateReferencedText):
57363         (WebCore::SVGTRefElement::svgAttributeChanged):
57364         (WebCore::SVGTRefElement::buildPendingResource):
57365         * svg/SVGTextPathElement.cpp:
57366         (WebCore::SVGTextPathElement::insertedIntoDocument):
57367         * svg/SVGURIReference.cpp:
57368         (WebCore::SVGURIReference::fragmentIdentifierFromIRIString):
57369         (WebCore::SVGURIReference::targetElementFromIRIString):
57370         * svg/SVGURIReference.h:
57371         * svg/SVGUseElement.cpp:
57372         (WebCore::SVGUseElement::buildPendingResource):
57373         (WebCore::SVGUseElement::hasCycleUseReferencing):
57374         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
57375         * svg/animation/SVGSMILElement.cpp:
57376         (WebCore::SVGSMILElement::targetElement):
57377
57378 2011-07-29  James Simonsen  <simonjam@chromium.org>
57379
57380         Remove zipcar.com site specific hack added in r87361
57381         https://bugs.webkit.org/show_bug.cgi?id=65405
57382
57383         Reviewed by Adam Barth.
57384
57385         * html/HTMLScriptElement.cpp:
57386         (WebCore::HTMLScriptElement::insertedIntoDocument):
57387
57388 2011-07-29  James Robinson  <jamesr@chromium.org>
57389
57390         [chromium] Reorder functions in LayerRendererChromium.cpp to make bug 58840 easier to review
57391         https://bugs.webkit.org/show_bug.cgi?id=65354
57392
57393         Reviewed by Kenneth Russell.
57394
57395         This moves a few function definitions in LayerRendererChromium around to make the patch on bug 58840 easier to
57396         review.  In that patch, updatePropertiesAndRenderSurfaces() becomes a templated free function instead of a
57397         member function, so it has to be near the top of the .cpp.
57398
57399         * platform/graphics/chromium/LayerRendererChromium.cpp:
57400         (WebCore::calculateVisibleRect):
57401         (WebCore::isScaleOrTranslation):
57402         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
57403         (WebCore::LayerRendererChromium::updateLayers):
57404
57405 2011-07-29  Jeff Miller  <jeffm@apple.com>
57406
57407         Work-in-progress on Adopt AVCF media back end on Windows
57408         https://bugs.webkit.org/show_bug.cgi?id=65400
57409         <rdar://problem/9083559>
57410         
57411         Prepare WebCore.vcproj to support AVCF media back end on Windows.
57412
57413         Reviewed by Darin Adler.
57414
57415         No changes to functionality so no new tests.
57416
57417         * WebCore.vcproj/WebCore.vcproj: Added MediaPlayerPrivateAVFoundation and MediaPlayerPrivateAVFoundationCF sources.
57418         * WebCore.vcproj/WebCoreMediaQT.vsprops: Added additional include directories and dleay load DLLs for AVCF.
57419         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Added, just a stub for now.
57420         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h: Added, just a stub for now.
57421
57422 2011-07-29  Jeff Miller  <jeffm@apple.com>
57423
57424         Work-in-progress on Adopt AVCF media back end on Windows
57425         https://bugs.webkit.org/show_bug.cgi?id=65400
57426         <rdar://problem/9083559>
57427         
57428         Make MediaPlayerPrivateAVFoundation::setDelayCallbacks() const and make the ivars
57429         it references mutable so other const member functions can call it.
57430
57431         Reviewed by Darin Adler.
57432
57433         No changes to functionality so no new tests.
57434
57435         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
57436         (WebCore::MediaPlayerPrivateAVFoundation::setDelayCallbacks):
57437         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
57438
57439 2011-07-29  Zhenyao Mo  <zmo@google.com>
57440
57441         Unreviewed, rolling out r92011.
57442         http://trac.webkit.org/changeset/92011
57443         https://bugs.webkit.org/show_bug.cgi?id=65044
57444
57445         break chromium win build
57446
57447         * dom/WheelEvent.cpp:
57448         (WebCore::WheelEvent::WheelEvent):
57449         (WebCore::WheelEvent::initWheelEvent):
57450         * dom/WheelEvent.h:
57451         * page/EventHandler.cpp:
57452         (WebCore::EventHandler::EventHandler):
57453         (WebCore::EventHandler::handleGestureEvent):
57454         (WebCore::EventHandler::handleTouchEvent):
57455         (WebCore::EventHandler::resetGestureRecognizer):
57456         * page/EventHandler.h:
57457         * page/FrameView.cpp:
57458         (WebCore::FrameView::reset):
57459         * platform/PlatformGestureEvent.h:
57460         * platform/PlatformGestureRecognizer.h:
57461         * platform/ScrollAnimatorWin.cpp:
57462         * platform/chromium/FramelessScrollView.h:
57463         * platform/chromium/GestureRecognizerChromium.cpp:
57464         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
57465         (WebCore::InnerGestureRecognizer::reset):
57466         (WebCore::InnerGestureRecognizer::dispatchSyntheticClick):
57467         (WebCore::InnerGestureRecognizer::processTouchEventForGesture):
57468         (WebCore::InnerGestureRecognizer::scrollViaTouchMotion):
57469         (WebCore::touchDown):
57470         (WebCore::noGesture):
57471         (WebCore::click):
57472         (WebCore::isClickOrScroll):
57473         (WebCore::inScroll):
57474         * platform/chromium/GestureRecognizerChromium.h:
57475         (WebCore::GestureRecognizerChromium::reset):
57476         (WebCore::GestureRecognizerChromium::processTouchEventForGesture):
57477         * platform/chromium/PopupMenuChromium.cpp:
57478         * platform/chromium/PopupMenuChromium.h:
57479         * platform/mac/ScrollAnimatorMac.mm:
57480         (WebCore::ScrollAnimatorMac::handleGestureEvent):
57481
57482 2011-07-29  Adrienne Walker  <enne@google.com>
57483
57484         [chromium] Only force slow scrolling for iframes under --force-compositing-mode
57485         https://bugs.webkit.org/show_bug.cgi?id=65394
57486
57487         Reviewed by James Robinson.
57488
57489         The previous code introduced by r91591 made composited frames as well
57490         as non-composited subframes go down the slow scrolling path.  Adjust
57491         the check to use ownerElement to test for subframe and use
57492         hasCompositedContent() which is a more correct test for compositing
57493         than isEnclosedInCompositingLayer.
57494
57495         * page/FrameView.cpp:
57496         (WebCore::FrameView::useSlowRepaints):
57497
57498 2011-07-29  Emil A Eklund  <eae@chromium.org>
57499
57500         -webkit-marquee with anonymous node causes segmentation fault in Node::document
57501         https://bugs.webkit.org/show_bug.cgi?id=64693
57502
57503         Reviewed by Simon Fraser.
57504
57505         Test: fast/css/webkit-marquee-anonymous-node-crash.html
57506
57507         * rendering/RenderLayer.cpp:
57508         (WebCore::RenderLayer::scrollTo):
57509         Add null check as renderer()->node() is null for anonymous nodes.
57510
57511 2011-07-29  Mike Reed  <reed@google.com>
57512
57513         [skia] never draw with GDI, so that all text can be gpu-accelerated
57514         https://bugs.webkit.org/show_bug.cgi?id=65203
57515
57516         Reviewed by Kenneth Russell.
57517
57518         * platform/graphics/chromium/FontChromiumWin.cpp:
57519         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
57520         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
57521         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
57522         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
57523         (WebCore::drawGlyphsWin):
57524         (WebCore::Font::drawComplexText):
57525         * platform/graphics/chromium/UniscribeHelper.cpp:
57526         (WebCore::UniscribeHelper::draw):
57527         * platform/graphics/skia/PlatformContextSkia.cpp:
57528         * platform/graphics/skia/PlatformContextSkia.h:
57529         * platform/graphics/skia/SkiaFontWin.cpp:
57530         * platform/graphics/skia/SkiaFontWin.h:
57531
57532 2011-07-29  Sam Weinig  <sam@webkit.org>
57533
57534         Move Region code from WebKit2 to WebCore
57535         https://bugs.webkit.org/show_bug.cgi?id=65392
57536
57537         Reviewed by David Hyatt.
57538
57539         * CMakeLists.txt:
57540         * GNUmakefile.list.am:
57541         * WebCore.gypi:
57542         * WebCore.pro:
57543         * WebCore.vcproj/WebCore.vcproj:
57544         * WebCore.xcodeproj/project.pbxproj:
57545         Update project files.
57546
57547         * WebCore.exp.in:
57548         Update exports.
57549
57550         * platform/graphics/Region.cpp: Copied from Source/WebKit2/Platform/Region.cpp.
57551         * platform/graphics/Region.h: Copied from Source/WebKit2/Platform/Region.h.
57552         Add files.
57553
57554 2011-07-29  Robert Kroeger  <rjkroege@chromium.org>
57555
57556         [chromium] Layering violations in gesture recognizer
57557         https://bugs.webkit.org/show_bug.cgi?id=65044
57558
57559         Reviewed by Adam Barth.
57560
57561         Divided the gesture recognizer up to correct a layering
57562         violation by moving gesture implementation from it to
57563         EventHandler::handleGestureEvent so that the gesture recognizer
57564         could simply be an engine for generating gesture events from
57565         touch events.
57566
57567         * dom/WheelEvent.cpp:
57568         (WebCore::WheelEvent::WheelEvent):
57569         (WebCore::WheelEvent::initWheelEvent):
57570         * dom/WheelEvent.h:
57571         Added symbolic contstant for tick multiplier.
57572         * page/EventHandler.cpp:
57573         (WebCore::EventHandler::EventHandler):
57574         Removed construction of gesture recognizer.
57575         (WebCore::EventHandler::handleGestureEvent):
57576         Extended for new gesture events added in this patch.
57577         (WebCore::EventHandler::handleTouchEvent):
57578         Removed call into gesture recognizer.
57579         * page/EventHandler.h:
57580         * page/FrameView.cpp:
57581         (WebCore::FrameView::reset):
57582         Removed code to reset gesture recognizer.
57583         * platform/PlatformGestureEvent.h:
57584         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
57585         (WebCore::PlatformGestureEvent::deltaX):
57586         (WebCore::PlatformGestureEvent::deltaY):
57587         (WebCore::PlatformGestureEvent::shiftKey):
57588         (WebCore::PlatformGestureEvent::ctrlKey):
57589         (WebCore::PlatformGestureEvent::altKey):
57590         (WebCore::PlatformGestureEvent::metaKey):
57591         Added additional gesture types and parameters.
57592         * platform/PlatformGestureRecognizer.h:
57593         * platform/ScrollAnimatorWin.cpp:
57594         (WebCore::ScrollAnimatorWin::handleGestureEvent):
57595         Added missing method needed to fix the build on windows.
57596         * platform/chromium/FramelessScrollView.h:
57597         Added support for displatching gesture and touch events.
57598         * platform/chromium/GestureRecognizerChromium.cpp:
57599         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
57600         (WebCore::InnerGestureRecognizer::reset):
57601         (WebCore::InnerGestureRecognizer::constructClickGestureEvent):
57602         (WebCore::InnerGestureRecognizer::processTouchEventForGestures):
57603         Removed all depedencies on EventHandler. Instead, create gesture
57604         events from touch event stream.
57605         (WebCore::InnerGestureRecognizer::constructScrollGesture):
57606         (WebCore::touchDown):
57607         (WebCore::noGesture):
57608         (WebCore::click):
57609         (WebCore::isClickOrScroll):
57610         (WebCore::inScroll):
57611         (WebCore::GestureRecognizerChromium::processTouchEventForGestures):
57612         (WebCore::GestureRecognizerChromium::reset):
57613         * platform/chromium/GestureRecognizerChromium.h:
57614         * platform/chromium/PopupMenuChromium.cpp:
57615         Added support to handle touch events and gesture events.
57616         (WebCore::PopupContainer::handleTouchEvent):
57617         (WebCore::PopupContainer::handleGestureEvent):
57618         (WebCore::PopupListBox::handleTouchEvent):
57619         (WebCore::PopupListBox::handleGestureEvent):
57620         * platform/chromium/PopupMenuChromium.h:
57621         * platform/mac/ScrollAnimatorMac.mm:
57622         (WebCore::ScrollAnimatorMac::handleGestureEvent):
57623         Ignores the newly added gesture event types.
57624
57625 2011-07-29  Eric Carlson  <eric.carlson@apple.com>
57626
57627         Load delegate not consulted before loading some poster images
57628         https://bugs.webkit.org/show_bug.cgi?id=65270
57629
57630         Reviewed by Joseph Pecoraro.
57631
57632         * html/HTMLVideoElement.cpp:
57633         (WebCore::HTMLVideoElement::setDisplayMode): Don't ask a load delegate if it is OK to 
57634             load an empty poster url.
57635
57636 2011-07-29  Jeff Miller  <jeffm@apple.com>
57637
57638         Re-sort one more file in the WebCore project with Visual Studio.
57639
57640         * WebCore.vcproj/WebCore.vcproj:
57641
57642 2011-07-29  Jeff Miller  <jeffm@apple.com>
57643
57644         Re-sort the WebCore project with Visual Studio after recent changes that I assume were done by manually editing the XML.
57645
57646         * WebCore.vcproj/WebCore.vcproj:
57647
57648 2011-07-29  Dan Bernstein  <mitz@apple.com>
57649
57650         Added the regional indicator symbols to the set of codepoints that force use of the complex text code path.
57651
57652         Fixes <rdar://problem/9864578> Regional indicator symbols do not combine into national flags
57653         https://bugs.webkit.org/show_bug.cgi?id=65380
57654
57655         Reviewed by Anders Carlsson.
57656
57657         Test: fast/text/regional-indicator-symobls.html
57658
57659         * platform/graphics/Font.cpp:
57660         (WebCore::Font::codePath): Added handling of surrogate pairs, which returns Complex for characters in
57661         the range U+1F1E6..U+1F1FF.
57662
57663 2011-07-28  David Hyatt  <hyatt@apple.com>
57664
57665         https://bugs.webkit.org/show_bug.cgi?id=65342
57666
57667         Add support for positioned floats being placed into a RenderBlock's FloatingObject list and for
57668         correct propagation of those floating objects into descendants.
57669
57670         Reviewed by Sam Weinig.
57671
57672         * rendering/RenderBlock.cpp:
57673         (WebCore::RenderBlock::layoutBlock):
57674         The positioned float layout algorithm is 2-pass. You lay out without the positioned objects, and then
57675         once they have been placed, you lay out again and use that placement to determine the float positions.
57676         layoutBlock now has an extra parameter to indicate which layout pass you are in.
57677         
57678         (WebCore::RenderBlock::addOverflowFromFloats):
57679         Don't add overflow from positioned floats ever, since the positioning overflow function takes care of that
57680         already.
57681
57682         (WebCore::RenderBlock::layoutBlockChild):
57683         Include positioned floats in the lowestFloatLogicalBottom we look at so that overhang is computed properly.
57684
57685         (WebCore::RenderBlock::simplifiedLayout):
57686         If layoutPositionedObjects indicates that a positioned float moved, then we can't do simplified layout. Bail
57687         instead and do a full layout.
57688
57689         (WebCore::RenderBlock::positionedFloatsNeedRelayout):
57690         Helper for layoutBlock in order to bypass the 2-pass model if we can detect that none of the positioned objects
57691         will actually need to lay out again. This allows incremental layout to not always fault back to 2-pass as normal
57692         flow content streams in.
57693
57694         (WebCore::RenderBlock::layoutPositionedObjects):
57695         Modified to return a boolean indicating whether a positioned float got a layout. If so, we will lay out again
57696         once our positioned objects are placed.
57697
57698         (WebCore::RenderBlock::insertFloatingObject):
57699         insertFloatingObject can now handle positioned objects being inserted.
57700
57701         (WebCore::RenderBlock::positionNewFloats):
57702         positionNewFloats doesn't attempt to position this new type of float. It only handles left/right floats.
57703
57704         (WebCore::RenderBlock::addPositionedFloats):
57705         Helper to add in the floating objects for positioned floats. This is used instead of positionNewFloats and
57706         just walks the positioned objects instead.
57707
57708         (WebCore::RenderBlock::clearFloats):
57709         clearFloats now handles adding in positioned floats if the layout pass says they should be included.
57710
57711         (WebCore::RenderBlock::marginLogicalLeftForChild):
57712         (WebCore::RenderBlock::marginLogicalRightForChild):
57713         New helpers used by addPositionedFloats.
57714     
57715         (WebCore::RenderBlock::FloatingObjects::clear):
57716         (WebCore::RenderBlock::FloatingObjects::increaseObjectsCount):
57717         (WebCore::RenderBlock::FloatingObjects::decreaseObjectsCount):
57718         Make sure the object count tracking handles positioned floats as well as left/right floats.
57719     
57720         * rendering/RenderBlock.h:
57721         (WebCore::RenderBlock::logicalLeftForChild):
57722         New helper used by addPositionedFloats.
57723
57724         (WebCore::RenderBlock::FloatingObject::FloatingObject):
57725         Change the constructor to take the RenderStyle enum. This makes the construction simpler.
57726
57727         (WebCore::RenderBlock::hasPositionedFloats):
57728         A bit tracks whether or not a block has positioned floats in its positioned objects list.
57729
57730         (WebCore::RenderBlock::hasOverhangingFloats):
57731         Modified to include positioned floats.
57732
57733         (WebCore::RenderBlock::lowestFloatLogicalBottom):
57734         This function excludes positioned floats by default, so that places that - for example - expand to
57735         encompass their lowestFloatLogicalBottom won't accidentally expand to encompass positioned objects.
57736
57737         (WebCore::RenderBlock::lowestFloatLogicalBottomIncludingPositionedFloats):
57738         A new function that includes positioned floats for callers that care.
57739
57740         (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
57741         (WebCore::RenderBlock::FloatingObjects::hasPositionedObjects):
57742         The object count tracking for positioned floats within a block's FloatingObjects list.
57743
57744         * rendering/RenderBox.cpp:
57745         (WebCore::RenderBox::updateBoxModelInfoFromStyle):
57746         Make sure isFloating is set even if isPositioned is also set for the positioned float case.
57747
57748         * rendering/RenderDeprecatedFlexibleBox.cpp:
57749         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
57750         Modified to do the extra layout pass if needed.
57751
57752 2011-07-29  Scott Byer  <scottbyer@chromium.org>
57753
57754         Scroll animation refinements.
57755         https://bugs.webkit.org/show_bug.cgi?id=65154
57756
57757         Reviewed by Adam Barth.
57758
57759         Fix scroll animation bugs when scrolling to the ends of a document. Smooth over slow event repeat rates
57760         better. Fix tests to allow for unit testing of scrolling up and not just down.
57761
57762         Additional unit tests added to ScrollAnimatorNoneTest:
57763         ScrollQuadraticSmoothed, ScrollLotsQuadraticSmoothed, ScrollDownToBumper, ScrollUpToBumper
57764
57765         * platform/ScrollAnimatorNone.cpp:
57766         (WebCore::ScrollAnimatorNone::Parameters::Parameters):
57767         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
57768         (WebCore::ScrollAnimatorNone::scroll):
57769         * platform/ScrollAnimatorNone.h:
57770
57771 2011-07-29  Samuel White  <samuel_white@apple.com>
57772
57773         Add the ability to search the AccessibilityObject cache
57774         https://bugs.webkit.org/show_bug.cgi?id=64994
57775         
57776         To support searching the AccessibilityObject cache, we first need to
57777         implement a minimal set of functions that will allow AccessibilityObjects
57778         to be identified when searching using common search criteria. The additional
57779         functions below complement the existing identification functionality already
57780         available and together provide a basic working set to build search on top of.
57781         Additionally, the blockquoteLevel function has been moved into the AccessibilityObject
57782         class to make it available to all platforms.
57783
57784         Reviewed by Chris Fleizach.
57785
57786         New tests will be included in the following patch that will also implement
57787         basic search functionality.
57788
57789         * accessibility/AccessibilityObject.cpp:
57790         (WebCore::AccessibilityObject::isBlockquote):
57791         (WebCore::AccessibilityObject::isLandmark):
57792         (WebCore::AccessibilityObject::hasMisspelling):
57793         (WebCore::AccessibilityObject::blockquoteLevel):
57794         * accessibility/AccessibilityObject.h:
57795         (WebCore::AccessibilityObject::isUnvisited):
57796         (WebCore::AccessibilityObject::hasBoldFont):
57797         (WebCore::AccessibilityObject::hasItalicFont):
57798         (WebCore::AccessibilityObject::hasPlainText):
57799         (WebCore::AccessibilityObject::hasSameFont):
57800         (WebCore::AccessibilityObject::hasSameFontColor):
57801         (WebCore::AccessibilityObject::hasSameStyle):
57802         (WebCore::AccessibilityObject::hasStaticText):
57803         (WebCore::AccessibilityObject::hasUnderline):
57804         (WebCore::AccessibilityObject::tableLevel):
57805         * accessibility/AccessibilityRenderObject.cpp:
57806         (WebCore::AccessibilityRenderObject::isUnvisited):
57807         (WebCore::AccessibilityRenderObject::hasBoldFont):
57808         (WebCore::AccessibilityRenderObject::hasItalicFont):
57809         (WebCore::AccessibilityRenderObject::hasPlainText):
57810         (WebCore::AccessibilityRenderObject::hasSameFont):
57811         (WebCore::AccessibilityRenderObject::hasSameFontColor):
57812         (WebCore::AccessibilityRenderObject::hasSameStyle):
57813         (WebCore::AccessibilityRenderObject::hasUnderline):
57814         * accessibility/AccessibilityRenderObject.h:
57815         * accessibility/AccessibilityTable.cpp:
57816         (WebCore::AccessibilityTable::tableLevel):
57817         * accessibility/AccessibilityTable.h:
57818         * accessibility/mac/AccessibilityObjectWrapper.mm:
57819         (AXAttributeStringSetBlockquoteLevel):
57820         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
57821
57822 2011-07-29  Zeng Huiqing  <huiqing.zeng@intel.com>
57823
57824         Avoid calling animation timer updates while the page is loading
57825         https://bugs.webkit.org/show_bug.cgi?id=64851
57826
57827         Reviewed by Simon Fraser.
57828
57829         There is no need to update the animation timer for a RenderObject that has not yet been inserted into the render tree, or that doesn't have animations. Our tests show that this improves page loading by up to 3x on pages with a large number of transitionable objects.
57830
57831         * page/animation/AnimationController.cpp:
57832         (WebCore::AnimationController::updateAnimations):
57833
57834 2011-07-29  Anders Carlsson  <andersca@apple.com>
57835
57836         Pass the HTTP referrer header for URLs loaded by plug-ins
57837         https://bugs.webkit.org/show_bug.cgi?id=65379
57838         <rdar://problem/9822116>
57839
57840         Reviewed by Sam Weinig.
57841
57842         Export a symbol needed by WebKit2.
57843
57844         * WebCore.exp.in:
57845
57846 2011-07-28  Leandro Gracia Gil  <leandrogracia@chromium.org>
57847
57848         Fix speech input icon rect on RTL directions.
57849         https://bugs.webkit.org/show_bug.cgi?id=65333
57850
57851         Reviewed by Tony Gentilcore.
57852
57853         No new tests. This is used by platforms, not WebCore, and
57854         the base functionality is not changed but only the failing cases.
57855
57856         * html/shadow/TextControlInnerElements.cpp:
57857         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
57858
57859 2011-07-29  Kent Tamura  <tkent@chromium.org>
57860
57861         Make the ExceptionCode argument of Element::setShadowPseudoId() ASSERT_NO_EXCEPTION by default
57862         https://bugs.webkit.org/show_bug.cgi?id=65363
57863
57864         Reviewed by Hajime Morita.
57865
57866         No new tests. Cleanup-only.
57867
57868         * dom/Element.h: Make the ExceptionCode argument ASSERT_NO_EXCEPTION by default.
57869         * html/ColorInputType.cpp:
57870         (WebCore::ColorInputType::createShadowSubtree): Remove the ExceptionCode argument and ASSERT(!ec).
57871         * html/HTMLTextAreaElement.cpp:
57872         (WebCore::HTMLTextAreaElement::updatePlaceholderText): ditto.
57873         * html/RangeInputType.cpp:
57874         (WebCore::RangeInputType::createShadowSubtree): ditto.
57875         * html/TextFieldInputType.cpp:
57876         (WebCore::TextFieldInputType::createShadowSubtree): ditto.
57877         (WebCore::TextFieldInputType::updatePlaceholderText): ditto.
57878         * html/ValidationMessage.cpp:
57879         (WebCore::ValidationMessage::buildBubbleTree): ditto.
57880
57881 2011-07-28  Luke Macpherson   <macpherson@chromium.org>
57882
57883         Remove remaining uses of CSSPrimitiveValue::computeLengthIntForLength()
57884         https://bugs.webkit.org/show_bug.cgi?id=64919
57885
57886         Reviewed by Darin Adler.
57887
57888         No new tests / cleanup only.
57889
57890         * css/CSSPrimitiveValue.cpp:
57891         (WebCore::CSSPrimitiveValue::computeLength):
57892         Remove implementation of computeLengthIntForLength()
57893         * css/CSSPrimitiveValue.h:
57894         Remove definition of computeLengthIntForLength()
57895         * css/CSSStyleApplyProperty.cpp:
57896         (WebCore::ApplyPropertyLength::applyValue):
57897         Remove use of computeLengthIntForLength()
57898         * css/CSSStyleSelector.cpp:
57899         (WebCore::CSSStyleSelector::applyProperty):
57900         Remove use of computeLengthIntForLength()
57901         * platform/Length.h:
57902         (WebCore::Length::setQuirk):
57903         Adds the ability to set the m_quirk member variable after construction.
57904
57905 2011-07-28  Anders Carlsson  <andersca@apple.com>
57906
57907         Unreviewed, rolling out r88601. (Requested by Sam Weinig).
57908         http://trac.webkit.org/changeset/88601
57909         https://bugs.webkit.org/show_bug.cgi?id=62230
57910
57911         Caused a regression, see https://bugs.webkit.org/show_bug.cgi?id=64378
57912
57913         * dom/StyledElement.cpp:
57914         * dom/StyledElement.h:
57915         * html/HTMLBodyElement.cpp:
57916         (WebCore::HTMLBodyElement::parseMappedAttribute):
57917         (WebCore::HTMLBodyElement::insertedIntoDocument):
57918         (WebCore::HTMLBodyElement::didMoveToNewOwnerDocument):
57919         * html/HTMLBodyElement.h:
57920
57921 2011-07-28  Justin Schuh  <jschuh@chromium.org>
57922
57923         Simplify createCanonicalUUIDString implementation.
57924         https://bugs.webkit.org/show_bug.cgi?id=65157
57925
57926         All ports support OS_RANDOMNESS, so better to have one implementation.
57927
57928         Reviewed by Adam Barth.
57929
57930         Change covered by existing tests.
57931
57932         * platform/UUID.cpp:
57933         (WebCore::createCanonicalUUIDString):
57934
57935 2011-07-28  Devdatta Deshpande  <pwjd73@motorola.com>
57936
57937         Fixed gif animation dependency on system time
57938         https://bugs.webkit.org/show_bug.cgi?id=64996
57939
57940         Reviewed by James Robinson.
57941
57942         Test: Load WebCore/manual-tests/animated-gif-looping.html
57943         Change system time to a time in past
57944
57945         * platform/graphics/BitmapImage.cpp:
57946         (WebCore::BitmapImage::startAnimation): Bitmap animation is now based
57947         on monotonicallyIncreasingTime instead of currentTime
57948
57949 2011-07-28  Luke Zarko  <lukezarko@gmail.com>
57950
57951         V8 should correctly serialize Boolean, Number and String objects.
57952
57953         https://bugs.webkit.org/show_bug.cgi?id=65286
57954
57955         Reviewed by David Levin.
57956         
57957         New APIs were exposed to allow V8 to correctly serialize Boolean, Number and String objects, as well as detect certain native errors as required by the HTML5 Structured Clone algorithm (http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#safe-passing-of-structured-data). SerializedScriptValue should make use of these APIs.
57958
57959         - Checks for and serializes Boolean, Number and String objects.
57960         - Checks for native errors and aborts should a script attempt to serialize them.
57961         - Small name change to clear up the code: m_objectReferenceStack => m_openCompositeReferenceStack
57962
57963         Tests: fast/dom/Window/window-postmessage-clone.html
57964                fast/loader/stateobjects/pushstate-object-types.html
57965
57966         * bindings/v8/SerializedScriptValue.cpp:
57967         (WebCore::V8ObjectMap::Writer::writeBooleanObject):
57968         (WebCore::V8ObjectMap::Writer::writeStringObject):
57969         (WebCore::V8ObjectMap::Writer::writeNumberObject):
57970         (WebCore::V8ObjectMap::Serializer::writeStringObject):
57971         (WebCore::V8ObjectMap::Serializer::writeNumberObject):
57972         (WebCore::V8ObjectMap::Serializer::writeBooleanObject):
57973         (WebCore::V8ObjectMap::Serializer::doSerialize):
57974         (WebCore::V8ObjectMap::Reader::read):
57975         (WebCore::V8ObjectMap::Reader::readStringObject):
57976         (WebCore::V8ObjectMap::Reader::readNumberObject):
57977         (WebCore::V8ObjectMap::Deserializer::deserialize):
57978         (WebCore::V8ObjectMap::Deserializer::openComposite):
57979         (WebCore::V8ObjectMap::Deserializer::closeComposite):
57980
57981 2011-07-28  Adam Barth  <abarth@webkit.org>
57982
57983         Old code about empty security origins could use a bath
57984         https://bugs.webkit.org/show_bug.cgi?id=64735
57985
57986         Reviewed by Dimitri Glazkov.
57987
57988         This patch cleans up some old code related to empty security origins.
57989         It also removes some dodgy code that seems wrong.
57990
57991         Test: http/tests/security/inactive-document-with-empty-security-origin.html
57992
57993         * bindings/generic/BindingSecurityBase.cpp:
57994         (WebCore::BindingSecurityBase::canAccess):
57995         * page/SecurityOrigin.cpp:
57996         (WebCore::SecurityOrigin::isEmpty):
57997         (WebCore::SecurityOrigin::isSecureTransitionTo):
57998         (WebCore::SecurityOrigin::toString):
57999
58000 2011-07-28  Vsevolod Vlasov  <vsevik@chromium.org>
58001
58002         Web Inspector: [REGRESSION] Inspected tab crashes if navigated with inspector open and there are watch expressions added.
58003         https://bugs.webkit.org/show_bug.cgi?id=65322
58004
58005         Reviewed by Pavel Feldman.
58006
58007         * inspector/InspectorController.cpp:
58008         * inspector/InspectorRuntimeAgent.cpp:
58009         (WebCore::InspectorRuntimeAgent::evaluate):
58010         * inspector/InspectorRuntimeAgent.h:
58011         * inspector/WorkerInspectorController.cpp:
58012
58013 2011-07-28  Mihnea Ovidenie  <mihnea@adobe.com>
58014
58015         [CSSRegions]Add basic RenderRegion support
58016         https://bugs.webkit.org/show_bug.cgi?id=64689
58017
58018         Reviewed by David Hyatt.
58019
58020         This patch introduces the RenderRegion object.
58021         A RenderObject that takes its content from a "named" flow will become a RenderRegion, an element that is used to display the content from a RenderFlowThread.
58022         A RenderRegion that is marked to take its content from a non existing flow, will have its content disconnected from the normal flow.
58023
58024         Tests: fast/regions/region-element-display-restriction.html
58025                fast/regions/region-element-dynamic-attach-flow.html
58026                fast/regions/region-element-dynamic-detach-flow.html
58027                fast/regions/render-region-renderer.html
58028
58029         * WebCore.vcproj/WebCore.vcproj:
58030         * WebCore.xcodeproj/project.pbxproj:
58031         * dom/Node.cpp:
58032         (WebCore::Node::diff):
58033         * rendering/RenderObject.cpp:
58034         (WebCore::RenderObject::createObject):
58035         * rendering/RenderObject.h:
58036         (WebCore::RenderObject::isRenderRegion):
58037         * rendering/RenderRegion.cpp: Added.
58038         (WebCore::RenderRegion::RenderRegion):
58039         (WebCore::RenderRegion::~RenderRegion):
58040         (WebCore::RenderRegion::layout):
58041         (WebCore::RenderRegion::paint):
58042         * rendering/RenderRegion.h: Added.
58043         (WebCore::RenderRegion::isRenderRegion):
58044         (WebCore::RenderRegion::renderName):
58045         (WebCore::toRenderRegion):
58046         * rendering/style/RenderStyle.cpp:
58047         (WebCore::RenderStyle::diff):
58048
58049 2011-07-28  Marco Peereboom  <marco@peereboom.us>
58050
58051         [Soup] Cannot override default max-conns and max-conns-per-host Soup Session settings
58052         https://bugs.webkit.org/show_bug.cgi?id=64355
58053         Default max-conns and max-conns-per-host are set at "first contact" with
58054         a site instead of at creation time.  This results in values being
58055         overwritten if they are set prior to said "first contact"; which is the
58056         most likely (or only) scenario.
58057
58058         Reviewed by Martin Robinson.
58059
58060         No new tests.  Rigged libsoup and xxxterm web browser to diagnose the
58061         issue and validate the patch.
58062
58063         * platform/network/soup/ResourceHandleSoup.cpp:
58064         (WebCore::ensureSessionIsInitialized): No longer ininitalize connection limits.
58065         (WebCore::ResourceHandle::defaultSession): Initialize connection limits here instead.
58066
58067 2011-07-28  Brady Eidson  <beidson@apple.com>
58068
58069         https://bugs.webkit.org/show_bug.cgi?id=65323
58070         r91931 causes NOTREACHED to be hit via StorageTracker
58071
58072         Change the meaning of the "has been initialized" flag to "needs initialization", and only set it to true
58073         if the ::initializeTracker() method has been called.
58074
58075         Reviewed by Sam Weinig.
58076
58077         * storage/StorageTracker.cpp:
58078         (WebCore::StorageTracker::initializeTracker): Set m_needsInitialization to true since the calling WebKit port expects full
58079           initialization instead of a dummy tracker.
58080         (WebCore::StorageTracker::internalInitialize):
58081         (WebCore::StorageTracker::tracker): Only initialize the tracker if it was created in the above initializeTracker().
58082         (WebCore::StorageTracker::StorageTracker):
58083         * storage/StorageTracker.h:
58084
58085 2011-07-28  David Kilzer  <ddkilzer@apple.com>
58086
58087         <http://webkit.org/b/65289> Remove GeolocationPositionCache
58088
58089         Reviewed by Adam Barth.
58090
58091         * CMakeLists.txt: Remove references to GeolocationPositionCache.
58092         * GNUmakefile.list.am: Ditto.
58093         * WebCore.gypi: Ditto.
58094         * WebCore.order: Ditto.
58095         * WebCore.pro: Ditto.
58096         * WebCore.vcproj/WebCore.vcproj: Ditto.
58097         * WebCore.xcodeproj/project.pbxproj: Ditto.
58098
58099         * page/Geolocation.cpp: Switch from using m_positionCache to
58100         m_cachedPosition.
58101         (WebCore::Geolocation::makeCachedPositionCallbacks):
58102         (WebCore::Geolocation::haveSuitableCachedPosition):
58103         (WebCore::Geolocation::positionChangedInternal):
58104         * page/Geolocation.h: Remove PositionCacheWrapper and replace
58105         with RefPtr<Geoposition>.
58106         * page/GeolocationPositionCache.cpp: Removed.
58107         * page/GeolocationPositionCache.h: Removed.
58108
58109 2011-07-28  Dan Bernstein  <mitz@apple.com>
58110
58111         <rdar://problem/9589433> Displaying Japanese dictionary contents in vertical orientation takes a couple of seconds
58112
58113         Reviewed by Darin Adler.
58114
58115         * WebCore.exp.in: Exported wkGetVerticalGlyphsForCharacters.
58116         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
58117         (WebCore::GlyphPage::fill): Use wkGetVerticalGlyphsForCharacters. If it returns false, proceed
58118         with the existing, slower method of getting vertical glyphs.
58119         * platform/mac/WebCoreSystemInterface.h:
58120         * platform/mac/WebCoreSystemInterface.mm:
58121
58122 2011-07-28  Brady Eidson  <beidson@apple.com>
58123
58124         <rdar://problem/9714337> and https://bugs.webkit.org/show_bug.cgi?id=65306
58125         WebKitInitializeStorageIfNecessary() can take awhile performing i/o, isn't necessary for every WebView
58126
58127         Move the heavy lifting done in StorageTracker::initializeTracker() until when the global tracker is actually
58128         accessed, therefore deferring it until a web page actually uses LocalStorage or the app uses the API.
58129
58130         Reviewed by Maciej Stachowiak.
58131
58132         No new tests. (Not possible to test this API implementation detail)
58133
58134         * WebCore.exp.in:
58135
58136         * storage/StorageAreaImpl.cpp:
58137         (WebCore::StorageAreaImpl::StorageAreaImpl): Access the global StorageTracker to indicate that a web page
58138           is actually using the storage APIs.
58139
58140         * storage/StorageTracker.cpp:
58141         (WebCore::StorageTracker::initializeTracker): Moved the potentially hefty work from here...
58142         (WebCore::StorageTracker::internalInitialize): ...to here.
58143         (WebCore::StorageTracker::tracker): If the global tracker hasn't had internalInitialize() called, do so.
58144         (WebCore::StorageTracker::StorageTracker):
58145         * storage/StorageTracker.h:
58146
58147 2011-07-28  Carlos Garcia Campos  <cgarcia@igalia.com>
58148
58149         [GTK] Copy and paste is broken in WebKit2
58150         https://bugs.webkit.org/show_bug.cgi?id=65252
58151
58152         Reviewed by Martin Robinson.
58153
58154         Use gtk_clipboard_get_for_display() instead of
58155         gtk_widget_get_clipboard(), using the the default display when
58156         there's no page client widget, which is the case of WebKit2.
58157
58158         * platform/gtk/PasteboardHelper.cpp:
58159         (WebCore::displayFromFrame): Return the display of the current
58160         frame widget or the default display if there's no widget.
58161         (WebCore::PasteboardHelper::getClipboard):
58162         (WebCore::PasteboardHelper::getPrimarySelectionClipboard):
58163
58164 2011-07-28  Vsevolod Vlasov  <vsevik@chromium.org>
58165
58166         Web Inspector: Add resource initiator column to network panel.
58167         https://bugs.webkit.org/show_bug.cgi?id=65105
58168
58169         Reviewed by Pavel Feldman.
58170
58171         Test: http/tests/inspector/network/network-initiator.html
58172
58173         * English.lproj/localizedStrings.js:
58174         * dom/Document.cpp:
58175         (WebCore::Document::scheduleStyleRecalc):
58176         * inspector/Inspector.json:
58177         * inspector/InspectorInstrumentation.cpp:
58178         (WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
58179         (WebCore::InspectorInstrumentation::didRecalculateStyleImpl):
58180         (WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl):
58181         * inspector/InspectorInstrumentation.h:
58182         (WebCore::InspectorInstrumentation::didScheduleStyleRecalculation):
58183         * inspector/InspectorResourceAgent.cpp:
58184         (WebCore::InspectorResourceAgent::willSendRequest):
58185         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
58186         (WebCore::InspectorResourceAgent::willRecalculateStyle):
58187         (WebCore::InspectorResourceAgent::didRecalculateStyle):
58188         (WebCore::InspectorResourceAgent::didScheduleStyleRecalculation):
58189         (WebCore::InspectorResourceAgent::buildInitiatorObject):
58190         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
58191         * inspector/InspectorResourceAgent.h:
58192         * inspector/front-end/NetworkManager.js:
58193         (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
58194         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
58195         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
58196         (WebInspector.NetworkDispatcher.prototype._createResource):
58197         * inspector/front-end/NetworkPanel.js:
58198         (WebInspector.NetworkLogView.prototype._createTable):
58199         (WebInspector.NetworkLogView.prototype._createSortingFunctions):
58200         (WebInspector.NetworkLogView.prototype.switchToDetailedView):
58201         (WebInspector.NetworkLogView.prototype.switchToBriefView):
58202         (WebInspector.NetworkLogView.prototype._toggleGridMode):
58203         (WebInspector.NetworkLogView.prototype._toggleViewingResourceMode):
58204         (WebInspector.NetworkDataGridNode.prototype.createCells):
58205         (WebInspector.NetworkDataGridNode.prototype.refreshResource):
58206         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
58207         (WebInspector.NetworkDataGridNode.InitiatorComparator):
58208         * inspector/front-end/networkLogView.css:
58209         (.initiator-column a):
58210
58211 2011-07-28  Rob Buis  <rbuis@rim.com>
58212
58213         Use styling test from ietestcenter fails
58214         https://bugs.webkit.org/show_bug.cgi?id=62147 
58215
58216         Reviewed by Nikolas Zimmermann.
58217
58218         Make sure CSS selectors are applied to the DOM tree referenced by <use>, not the internal shadow tree. In order to quickly
58219         find the corresponding DOM tree element store this info in SVGElementRareData. 
58220
58221         Test: svg/W3C-SVG-1.1-SE/struct-use-11-f.svg
58222
58223         * rendering/svg/SVGShadowTreeElements.cpp:
58224         (WebCore::SVGShadowTreeContainerElement::styleForRenderer):
58225         * rendering/svg/SVGShadowTreeElements.h:
58226         * svg/SVGElement.cpp:
58227         (WebCore::SVGElement::correspondingElement):
58228         (WebCore::SVGElement::setCorrespondingElement):
58229         (WebCore::SVGElement::styleForRenderer):
58230         * svg/SVGElement.h:
58231         * svg/SVGElementInstance.cpp:
58232         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
58233         * svg/SVGElementRareData.h:
58234         (WebCore::SVGElementRareData::SVGElementRareData):
58235         (WebCore::SVGElementRareData::correspondingElement):
58236         (WebCore::SVGElementRareData::setCorrespondingElement):
58237         * svg/SVGStyledElement.cpp:
58238         (WebCore::SVGStyledElement::removedFromDocument):
58239         * svg/SVGUseElement.cpp:
58240         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
58241         * svg/SVGUseElement.h:
58242
58243 2011-07-28  Denis Oliver Kropp  <dok@directfb.org>
58244
58245         This fixes build without video enabled.
58246         https://bugs.webkit.org/show_bug.cgi?id=65084
58247
58248         Reviewed by Philippe Normand.
58249
58250         Test with --disable-video.
58251
58252         * dom/EventDispatcher.cpp:
58253         (WebCore::EventDispatcher::determineDispatchBehavior):
58254
58255 2011-07-28  Yuta Kitamura  <yutak@chromium.org>
58256
58257         WebSocket: Pass the value of useHixie76Protocol flag to WebSocket object
58258         https://bugs.webkit.org/show_bug.cgi?id=65250
58259
58260         Reviewed by Alexey Proskuryakov.
58261
58262         Add useHixie76Protocol() method to WebSocketChannel and its family. To implement hybi-specific
58263         attributes in WebSocket object, WebSocket class needs to be able to get the value of
58264         useHixie76Protocol flag of WebSocketChannel.
58265
58266         If the WebSocket object is created in a worker thread, the flag value must be obtained from
58267         WebSocketChannel which resides in the loader thread (through WorkerThreadableWebSocketChannel).
58268         Since the value does not change after creation of WebSocketChannel, it can be cached in
58269         the worker thread.
58270
58271         There is no change in behavior, thus no new tests.
58272
58273         * websockets/ThreadableWebSocketChannel.h:
58274         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
58275         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
58276         (WebCore::ThreadableWebSocketChannelClientWrapper::useHixie76Protocol):
58277         (WebCore::ThreadableWebSocketChannelClientWrapper::setUseHixie76Protocol):
58278         * websockets/ThreadableWebSocketChannelClientWrapper.h:
58279         * websockets/WebSocketChannel.cpp:
58280         (WebCore::WebSocketChannel::useHixie76Protocol):
58281         * websockets/WebSocketChannel.h:
58282         * websockets/WorkerThreadableWebSocketChannel.cpp:
58283         (WebCore::WorkerThreadableWebSocketChannel::useHixie76Protocol):
58284         (WebCore::WorkerThreadableWebSocketChannel::Peer::useHixie76Protocol):
58285         (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
58286         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
58287         * websockets/WorkerThreadableWebSocketChannel.h:
58288
58289 2011-07-28  Rob Buis  <rbuis@rim.com>
58290
58291         REGRESSION (r91125): Google Drawings is broken
58292         https://bugs.webkit.org/show_bug.cgi?id=65257
58293
58294         Reviewed by Darin Adler.
58295
58296         Only consider zero-length path rendering code path when a stroke is defined.
58297
58298         Test: svg/custom/zero-path-square-cap-rendering2.svg
58299
58300         * rendering/svg/RenderSVGPath.cpp:
58301         (WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath):
58302
58303 2011-07-22  Martin Robinson  <mrobinson@igalia.com>
58304
58305         [Cairo] Switch from ContextShadow to ShadowBlur
58306         https://bugs.webkit.org/show_bug.cgi?id=64744
58307
58308         Use ShadowBlur in the Cairo backend instead of ContextShadow. This allows us
58309         to share shadowing code with Qt and Mac ports and to correct some broken
58310         shadow rendering.
58311
58312         Reviewed by Dirk Schulze.
58313
58314         * CMakeLists.txt: Remove ContextShadow from the build.
58315         * CMakeListsEfl.txt: Ditto.
58316         * GNUmakefile.list.am: Add ShadowBlur source files and remove ContextShadow
58317         source files.
58318         * platform/graphics/GraphicsContext.cpp:Add #ifdefs to support ShadowBlur for Cairo.
58319         * platform/graphics/GraphicsContext.h: Remove Cairo ContextShadow code.
58320         * platform/graphics/ShadowBlur.cpp:
58321         (WebCore::ShadowBlur::drawInsetShadowWithTiling): Since the ShadowBlur is a property
58322         of the GraphicsContext, we cannot clear the GraphicsContext shadow until we have
58323         finished using properties like m_offset. If we clear the GrahpicsContext shadow
58324         before using these properties, they will be zero when we try to use them.
58325         (WebCore::ShadowBlur::drawRectShadowWithTiling):Ditto.
58326         (WebCore::ShadowBlur::drawLayerPieces): Ditto.
58327         (WebCore::ShadowBlur::beginShadowLayer):Cairo is the first port to keep ShadowBlur
58328         as a persistent property of GraphicsContext and use drawRectShadow and drawInsetShadow.
58329         Thus, we must manually clear the cached tiling values so that ShadowBlur does not
58330         try to reuse the scratch buffer for rectangular shadows after using beginShadowLayer
58331         and endShadowLayer.
58332         (WebCore::ShadowBlur::mustUseShadowBlur): Moved this method from the Qt port to
58333         this cross-platform location.
58334         * platform/graphics/ShadowBlur.h: Added new method declaration.
58335         * platform/graphics/cairo/ContextShadowCairo.cpp: Removed.
58336         * platform/graphics/cairo/FontCairo.cpp: Switched to using ShadowBlur.
58337         (WebCore::drawGlyphsShadow):Ditto.
58338         * platform/graphics/cairo/GraphicsContextCairo.cpp: Switch to using ShadowBlur.
58339         (WebCore::drawPathShadow): ShadowBlur has slightly different semantics than
58340         ContextShadow. When filling the shadow layer, we do not need to use the fill
58341         alpha. We also need to restore the Cairo path to the target context after
58342         endShadowLayer as it destroys the current path.
58343         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Switch to using ShadowBlur.
58344         * platform/graphics/cairo/ImageCairo.cpp: Ditto.
58345         * platform/graphics/cairo/PlatformContextCairo.cpp:
58346         (WebCore::PlatformContextCairo::drawSurfaceToContext):Ditto.
58347         (WebCore::PlatformContextCairo::prepareForStroking): Add a mode ignoring alpha.
58348         * platform/graphics/cairo/PlatformContextCairo.h: Ditto.
58349         (WebCore::PlatformContextCairo::shadowBlur):Added.
58350         * platform/graphics/gtk/FontGtk.cpp: Update to use ShadowBlur.
58351         * platform/graphics/qt/GraphicsContextQt.cpp: Switch to using the new version of mustUseShadowBlur.
58352
58353 2011-07-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
58354
58355         [EFL] Add dummy NotificationPresenterClientEfl
58356         https://bugs.webkit.org/show_bug.cgi?id=64064
58357
58358         Add two files to CMakeLists.txt for HTML5 Notification.
58359
58360         Reviewed by Antonio Gomes.
58361
58362         * CMakeLists.txt:
58363
58364 2011-07-27  Ryosuke Niwa  <rniwa@webkit.org>
58365
58366         Calling window.find immediately after mutating the document crashes WebKit.
58367         https://bugs.webkit.org/show_bug.cgi?id=65296
58368
58369         Reviewed by Darin Adler.
58370
58371         Don't forget to layout first.
58372
58373         Test: editing/text-iterator/find-after-mutation.html
58374
58375         * editing/TextIterator.cpp:
58376         (WebCore::findPlainText):
58377
58378 2011-07-27  Ben Wells  <benwells@chromium.org>
58379
58380         Remove skia special case for outline rendering code
58381         https://bugs.webkit.org/show_bug.cgi?id=65295
58382
58383         Reviewed by James Robinson.
58384
58385         The fix for bug 58999 (outlines with alpha channels showed artifacts in the corners) was
58386         excluded from skia builds until bug 61369 (skia drawConvexPoly didn't pay attention to
58387         shouldAntialias) was fixed. That bug is fixed so now the #if's can be removed.
58388
58389         * rendering/RenderInline.cpp:
58390         (WebCore::RenderInline::paintOutline):
58391         * rendering/RenderObject.cpp:
58392         (WebCore::RenderObject::paintOutline):
58393
58394 2011-07-27  Adam Barth  <abarth@webkit.org>
58395
58396         Crypto.idl doesn't need legacy optional arguments
58397         https://bugs.webkit.org/show_bug.cgi?id=65298
58398
58399         Reviewed by Darin Adler.
58400
58401         This API is relatively new and useless to call without its only argument.
58402
58403         * page/Crypto.idl:
58404
58405 2011-07-27  Mark Hahnenberg  <mhahnenberg@apple.com>
58406
58407         Remove operator new from JSCell
58408         https://bugs.webkit.org/show_bug.cgi?id=64999
58409
58410         Reviewed by Oliver Hunt.
58411
58412         No new tests.
58413
58414         Removed the implementation of operator new in JSCell, so any further uses
58415         will not successfully link.  Also removed any remaining uses of operator new.
58416
58417         * bridge/c/CRuntimeObject.h:
58418         (JSC::Bindings::CRuntimeObject::create):
58419         * bridge/c/c_instance.cpp:
58420         (JSC::Bindings::CInstance::newRuntimeObject):
58421         (JSC::Bindings::CRuntimeMethod::create):
58422         (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
58423         (JSC::Bindings::CInstance::getMethod):
58424         * bridge/jni/jsc/JavaInstanceJSC.cpp:
58425         (JavaInstance::newRuntimeObject):
58426         (JavaRuntimeMethod::create):
58427         (JavaRuntimeMethod::JavaRuntimeMethod):
58428         (JavaInstance::getMethod):
58429         * bridge/jni/jsc/JavaRuntimeObject.h:
58430         (JSC::Bindings::JavaRuntimeObject::create):
58431         * bridge/objc/ObjCRuntimeObject.h:
58432         (JSC::Bindings::ObjCRuntimeObject::create):
58433         * bridge/objc/objc_class.mm:
58434         (JSC::Bindings::ObjcClass::fallbackObject):
58435         * bridge/objc/objc_instance.mm:
58436         (ObjcInstance::newRuntimeObject):
58437         (ObjCRuntimeMethod::create):
58438         (ObjCRuntimeMethod::ObjCRuntimeMethod):
58439         (ObjcInstance::getMethod):
58440         * bridge/objc/objc_runtime.h:
58441         (JSC::Bindings::ObjcFallbackObjectImp::create):
58442
58443 2011-07-27  Vsevolod Vlasov  <vsevik@chromium.org>
58444
58445         Web Inspector: Network panel sidebar should have width saved in preferences when resource is selected.
58446         https://bugs.webkit.org/show_bug.cgi?id=65256
58447
58448         Reviewed by Pavel Feldman.
58449
58450         * inspector/front-end/NetworkPanel.js:
58451         (WebInspector.NetworkLogView.prototype._toggleViewingResourceMode):
58452         (WebInspector.NetworkPanel.prototype.restoreSidebarWidth):
58453         (WebInspector.NetworkPanel.prototype._showResource):
58454         (WebInspector.NetworkPanel.prototype._closeVisibleResource):
58455         (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
58456         * inspector/front-end/Panel.js:
58457         (WebInspector.Panel.prototype.show):
58458         (WebInspector.Panel.prototype.preferredSidebarWidth):
58459         (WebInspector.Panel.prototype.get restoreSidebarWidth):
58460
58461 2011-07-27  Vsevolod Vlasov  <vsevik@chromium.org>
58462
58463         Web Inspector: [REGRESSION] [Chromium] Opening link in new tab does not work properly.
58464         https://bugs.webkit.org/show_bug.cgi?id=65279
58465
58466         Reviewed by Pavel Feldman.
58467
58468         * inspector/InspectorPageAgent.cpp:
58469         (WebCore::InspectorPageAgent::open):
58470
58471 2011-07-27  Adam Klein  <adamk@chromium.org>
58472
58473         [V8] Remove unused m_isWeak member of V8AbstractEventListener
58474         https://bugs.webkit.org/show_bug.cgi?id=65273
58475
58476         Reviewed by Adam Barth.
58477
58478         m_isWeak is set to true in the constructor and never changed,
58479         so the one if statement that tests it always executes; the
58480         code has been updated to make this clear.
58481
58482         No behavior change, thus no tests.
58483
58484         * bindings/v8/V8AbstractEventListener.cpp:
58485         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
58486         (WebCore::V8AbstractEventListener::setListenerObject):
58487         * bindings/v8/V8AbstractEventListener.h:
58488
58489 2011-07-27  Fady Samuel  <fsamuel@chromium.org>
58490
58491         Popups on Chromium now check the minimum row height set through the Chromium WebKit API when
58492         computing the height of a row in a popup listbox.
58493         https://bugs.webkit.org/show_bug.cgi?id=64897
58494
58495         Reviewed by Darin Fisher.
58496
58497         No new tests.
58498
58499         * platform/chromium/PopupMenuChromium.cpp:
58500         (WebCore::PopupListBox::getRowHeight):
58501         * platform/chromium/PopupMenuChromium.h:
58502         (WebCore::PopupMenuChromium::minimumRowHeight):
58503         (WebCore::PopupMenuChromium::setMinimumRowHeight):
58504
58505 2011-07-27  MORITA Hajime  <morrita@google.com>
58506
58507         Inconsistent state of TreeScope reference.
58508         https://bugs.webkit.org/show_bug.cgi?id=65235
58509         
58510         The tree scope pointers on shadow tree nodes didn't cleared.
58511         even when the tree scope (shadow root) is destroyed.
58512         This change clear these poitners before detaching the shadow root.
58513
58514         Reviewed by Dimitri Glazkov.
58515
58516         Test: fast/dom/shadow/tree-scope-crash.html
58517
58518         * dom/Element.cpp:
58519         (WebCore::Element::removeShadowRoot):
58520
58521 2011-07-27  Rachel Blum  <groby@chromium.org>
58522
58523         Implement sizes attribute for link tag from HTML5
58524         https://bugs.webkit.org/show_bug.cgi?id=37674
58525
58526         Reviewed by Dimitri Glazkov.
58527
58528         Test: fast/dom/icon-size-property.html
58529
58530         * WebCore.gypi:
58531         * WebCore.pro:
58532         * bindings/js/JSHTMLLinkElementCustom.cpp:
58533         (WebCore::JSHTMLLinkElement::sizes):
58534         (WebCore::JSHTMLLinkElement::setSizes):
58535         * bindings/v8/custom/V8HTMLLinkElementCustom.cpp: Added.
58536         (WebCore::V8HTMLLinkElement::sizesAccessorGetter):
58537         (WebCore::V8HTMLLinkElement::sizesAccessorSetter):
58538         * html/HTMLAttributeNames.in:
58539         * html/HTMLLinkElement.cpp:
58540         (WebCore::HTMLLinkElement::HTMLLinkElement):
58541         (WebCore::HTMLLinkElement::parseMappedAttribute):
58542         (WebCore::HTMLLinkElement::sizes):
58543         (WebCore::HTMLLinkElement::setSizes):
58544         * html/HTMLLinkElement.h:
58545         * html/HTMLLinkElement.idl:
58546
58547 2011-07-27  Pratik Solanki  <psolanki@apple.com>
58548
58549         Incorrect arguments passed to LOG statement
58550         https://bugs.webkit.org/show_bug.cgi?id=65293
58551
58552         Reviewed by Oliver Hunt.
58553
58554         * platform/network/mac/ResourceHandleMac.mm:
58555         (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]):
58556
58557 2011-07-27  Levi Weintraub  <leviw@chromium.org>
58558
58559         Switch transform operations to FloatSize
58560         https://bugs.webkit.org/show_bug.cgi?id=64301
58561
58562         Reviewed by Simon Fraser.
58563
58564         Changing TransformOperation and its progeny to operate on FloatSizes instead of IntSizes.
58565
58566         * platform/graphics/transforms/IdentityTransformOperation.h:
58567         (WebCore::IdentityTransformOperation::apply):
58568         * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
58569         (WebCore::Matrix3DTransformOperation::blend):
58570         * platform/graphics/transforms/Matrix3DTransformOperation.h:
58571         (WebCore::Matrix3DTransformOperation::apply):
58572         * platform/graphics/transforms/MatrixTransformOperation.cpp:
58573         (WebCore::MatrixTransformOperation::blend):
58574         * platform/graphics/transforms/MatrixTransformOperation.h:
58575         (WebCore::MatrixTransformOperation::apply):
58576         * platform/graphics/transforms/PerspectiveTransformOperation.h:
58577         (WebCore::PerspectiveTransformOperation::apply):
58578         * platform/graphics/transforms/RotateTransformOperation.h:
58579         (WebCore::RotateTransformOperation::apply):
58580         * platform/graphics/transforms/ScaleTransformOperation.h:
58581         (WebCore::ScaleTransformOperation::apply):
58582         * platform/graphics/transforms/SkewTransformOperation.h:
58583         (WebCore::SkewTransformOperation::apply):
58584         * platform/graphics/transforms/TransformOperation.h:
58585         * platform/graphics/transforms/TransformOperations.h:
58586         (WebCore::TransformOperations::apply):
58587         * platform/graphics/transforms/TranslateTransformOperation.h:
58588         (WebCore::TranslateTransformOperation::x):
58589         (WebCore::TranslateTransformOperation::y):
58590         (WebCore::TranslateTransformOperation::z):
58591         (WebCore::TranslateTransformOperation::apply):
58592
58593 2011-07-27  Levi Weintraub  <leviw@chromium.org>
58594
58595         unicode-bidi:-webkit-plaintext does not work on <textarea>
58596         https://bugs.webkit.org/show_bug.cgi?id=65074
58597
58598         Reviewed by Ryosuke Niwa.
58599
58600         Fixing unicode-bidi style propagation into text control shadow trees.
58601
58602         Test: fast/text/international/unicode-bidi-plaintext-in-textarea.html
58603
58604         * rendering/RenderTextControl.cpp:
58605         (WebCore::RenderTextControl::adjustInnerTextStyle):
58606
58607 2011-07-27  Eric Carlson  <eric.carlson@apple.com>
58608
58609         Load delegate not consulted before loading some poster images
58610         https://bugs.webkit.org/show_bug.cgi?id=65270
58611
58612         Reviewed by Darin Adler.
58613
58614         Test: media/video-poster-blocked-by-willsendrequest.html
58615
58616         * html/HTMLVideoElement.cpp:
58617         (WebCore::HTMLVideoElement::setDisplayMode): Don't ask media engine to set poster if
58618             willLoadMediaElementURL returns false.
58619
58620 2011-07-27  Stephen White  <senorblanco@chromium.org>
58621
58622         Fix for printing with accelerated <canvas>
58623         https://bugs.webkit.org/show_bug.cgi?id=62406
58624
58625         Reviewed by James Robinson.
58626
58627         The platform-independent side of this should be covered by existing
58628         tests.  Printing itself in Chrome has few tests, sadly.  :(
58629
58630         * html/HTMLCanvasElement.cpp:
58631         (WebCore::HTMLCanvasElement::paint):
58632         * platform/graphics/skia/ImageBufferSkia.cpp:
58633         (WebCore::ImageBuffer::draw):
58634
58635 2011-07-25  Mihai Parparita  <mihaip@chromium.org>
58636
58637         [Chromium] Add better WebKit API for chrome.tabs.insertCSS extension API
58638         https://bugs.webkit.org/show_bug.cgi?id=65158
58639
58640         Reviewed by David Hyatt.
58641
58642         Add per-Document instance user stylesheets (as opposed to the page 
58643         group user styles and the global page stylesheet).
58644
58645         * css/CSSStyleSelector.cpp:
58646         (WebCore::CSSStyleSelector::CSSStyleSelector):
58647         * css/CSSStyleSelector.h:
58648         * dom/Document.cpp:
58649         (WebCore::Document::~Document):
58650         (WebCore::Document::createStyleSelector):
58651         (WebCore::Document::addUserSheet):
58652         * dom/Document.h:
58653
58654 2011-07-27  Vsevolod Vlasov  <vsevik@chromium.org>
58655
58656         Web Inspector: Disable cache option should only clear memory cache, not disable it.
58657         https://bugs.webkit.org/show_bug.cgi?id=65184
58658
58659         Reviewed by Pavel Feldman.
58660
58661         * inspector/InspectorClient.h:
58662         * inspector/InspectorResourceAgent.cpp:
58663         (WebCore::InspectorResourceAgent::enable):
58664         (WebCore::InspectorResourceAgent::disable):
58665         (WebCore::InspectorResourceAgent::setCacheDisabled):
58666         (WebCore::InspectorResourceAgent::mainFrameNavigated):
58667
58668 2011-07-27  Rob Buis  <rbuis@rim.com>
58669
58670         Implement getIntersectionList(), getEnclosureList(), checkIntersection() and checkEnclosure() in SVGSVGElement
58671         https://bugs.webkit.org/show_bug.cgi?id=11274
58672
58673         Reviewed by Nikolas Zimmermann.
58674
58675         Implement checkIntersection/checkEnclosure and use it to implement getIntersectionList and getEnclosureList as well.
58676         The referenceElement is used to provide a DOM subtree to find matches in. Also we do not allow elements that specify
58677         pointer-events=none in the list.
58678
58679         Tests: svg/W3C-SVG-1.1-SE/struct-dom-11-f.svg
58680                svg/custom/intersection-list-clipping.svg
58681                svg/custom/intersection-list-nested-svg.svg
58682
58683         * rendering/svg/RenderSVGModelObject.cpp:
58684         (WebCore::getElementCTM):
58685         (WebCore::intersectsAllowingEmpty):
58686         (WebCore::isGraphicsElement):
58687         (WebCore::RenderSVGModelObject::checkIntersection):
58688         (WebCore::RenderSVGModelObject::checkEnclosure):
58689         * rendering/svg/RenderSVGModelObject.h:
58690         * svg/SVGSVGElement.cpp:
58691         (WebCore::SVGSVGElement::checkIntersection):
58692         (WebCore::SVGSVGElement::checkEnclosure):
58693
58694 2011-07-27  Becsi Andras  <abecsi@webkit.org>
58695
58696         [Qt][V8] Fix the build.
58697
58698         Unreviewed build fix.
58699
58700         No new tests needed.
58701
58702         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Add missing CString.h include.
58703
58704 2011-07-27  Alexis Menard  <alexis.menard@openbossa.org>
58705
58706         [Qt] Unreviewed build fix for mac.
58707
58708         QtKit is now our default media player, the define is WTF_USE_QTKIT and it's not part
58709         of the options passed to build-webkit, therefore DerivedSources should now generate the
58710         includes when it's mac.
58711
58712         * DerivedSources.pro:
58713         * WebCore.pro:
58714
58715 2011-07-27  Yury Semikhatsky  <yurys@chromium.org>
58716
58717         Inspector should support cd(window) in the command line
58718         https://bugs.webkit.org/show_bug.cgi?id=19872
58719
58720         Added dropdown list with all iframes to allow selecting current evaluation context for console expressions.
58721
58722         Reviewed by Pavel Feldman.
58723
58724         Test: http/tests/inspector/console-cd.html
58725
58726         * WebCore.gypi:
58727         * inspector/Inspector.json:
58728         * inspector/InspectorController.cpp:
58729         (WebCore::InspectorController::InspectorController):
58730         * inspector/InspectorRuntimeAgent.cpp:
58731         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
58732         (WebCore::InspectorRuntimeAgent::evaluate):
58733         * inspector/InspectorRuntimeAgent.h:
58734         * inspector/WorkerInspectorController.cpp:
58735         * inspector/front-end/ConsoleView.js:
58736         (WebInspector.ConsoleView.prototype.addContext):
58737         (WebInspector.ConsoleView.prototype.removeContext):
58738         (WebInspector.ConsoleView.prototype._contextUpdated):
58739         (WebInspector.ConsoleView.prototype.get _currentEvaluationContextId):
58740         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
58741         * inspector/front-end/ContextManager.js: Added.
58742         (WebInspector.ContextManager):
58743         (WebInspector.ContextManager.prototype._frameAdded):
58744         (WebInspector.ContextManager.prototype._frameNavigated):
58745         (WebInspector.ContextManager.prototype._frameDetached):
58746         (WebInspector.FrameEvaluationContext):
58747         (WebInspector.FrameEvaluationContext.prototype._frameNavigated):
58748         (WebInspector.FrameEvaluationContext.prototype.get id):
58749         (WebInspector.FrameEvaluationContext.prototype.get url):
58750         (WebInspector.FrameEvaluationContext.prototype.get displayName):
58751         * inspector/front-end/ResourceTreeModel.js:
58752         (WebInspector.ResourceTreeModel.prototype._cleanupFramesAfterNavigation):
58753         (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
58754         * inspector/front-end/WebKit.qrc:
58755         * inspector/front-end/inspector.html:
58756         * inspector/front-end/inspector.js:
58757
58758 2011-07-27  Shinya Kawanaka  <shinyak@google.com>
58759
58760         Uses isHTMLSpace to normalize white spaces.
58761         https://bugs.webkit.org/show_bug.cgi?id=57746
58762
58763         Reviewed by Kent Tamura.
58764
58765         Test: fast/forms/option-strip-unicode-spaces.html
58766
58767         * dom/OptionElement.cpp:
58768         (WebCore::OptionElement::normalizeText):
58769           Uses isHTMLSpace to trim and replace white spaces.
58770
58771 2011-05-15  Holger Hans Peter Freyther  <holger@moiji-mobile.com>
58772
58773         [chromium] Remove include of skia/ext/platform_canvas.h
58774         https://bugs.webkit.org/show_bug.cgi?id=60852
58775
58776         Reviewed by Hajime Morita.
58777
58778         In https://bugs.webkit.org/show_bug.cgi?id=57563 the usage of the
58779         skia::PlatformCanvas was eliminated in favor of directly using
58780         SkCanvas directly. The include of platform_canvas.h was not removed
58781         leaving the dependency on Chromium in the header files. Remove
58782         that dependency now.
58783
58784         * platform/graphics/skia/PlatformContextSkia.h: Remove platform_canvas.h
58785
58786 2011-07-27  Mikhail Naganov  <mnaganov@chromium.org>
58787
58788         Web Inspector: [Chromium] REGRESSION: Uncaught TypeError: Cannot read property 'isTracingToWindowObjects' of undefined
58789         https://bugs.webkit.org/show_bug.cgi?id=65213
58790
58791         Reviewed by Pavel Feldman.
58792
58793         * inspector/front-end/DetailedHeapshotView.js:
58794         (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh):
58795
58796 2011-07-27  Shinya Kawanaka  <shinyak@google.com>
58797
58798         Knob of a disabled or readonly range control should not be draggable.
58799         https://bugs.webkit.org/show_bug.cgi?id=54820
58800
58801         Reviewed by Kent Tamura.
58802
58803         Made disabled or readonly range control undraggable.
58804
58805         Test: fast/forms/range-drag.html
58806
58807         * html/RangeInputType.cpp:
58808         (WebCore::RangeInputType::handleMouseDownEvent):
58809           Added check that the element is readonly or disabled.
58810         * html/shadow/SliderThumbElement.cpp:
58811         (WebCore::SliderThumbElement::defaultEventHandler): ditto.
58812
58813 2011-07-27  Yuta Kitamura  <yutak@chromium.org>
58814
58815         WebSocket: CloseEvent attribute is not available on WebWorkers in JSC
58816         https://bugs.webkit.org/show_bug.cgi?id=65232
58817
58818         Reviewed by Kent Tamura.
58819
58820         Add [NoStaticTables] attribute to CloseEvent interface definition. This attribute
58821         makes the code generator obtain the attributes table used for building ClassInfo
58822         through JSGlobalData, instead of directly using a statically-allocated table.
58823
58824         Generally speaking, NoStaticTables needs to be specified in interfaces which
58825         may be accessed from workers.
58826
58827         Tests: http/tests/websocket/tests/hybi/workers/shared-worker-simple.html (updated)
58828                http/tests/websocket/tests/hybi/workers/worker-simple.html (updated)
58829
58830         * websockets/CloseEvent.idl: Fixed the formatting, too.
58831
58832 2011-07-26  James Robinson  <jamesr@chromium.org>
58833
58834         [chromium] REGRESSION(90963): Content layers are not redrawn after losing the compositor context
58835         https://bugs.webkit.org/show_bug.cgi?id=65224
58836
58837         Reviewed by Kenneth Russell.
58838
58839         There's no automated way to test lost compositor contexts (yet), but to test manually open up the poster circle
58840         page and kill the GPU process.
58841
58842         * platform/graphics/chromium/ContentLayerChromium.cpp:
58843         (WebCore::ContentLayerChromium::cleanupResources):
58844         * platform/graphics/chromium/ContentLayerChromium.h:
58845
58846 2011-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>
58847
58848         Unreviewed, rolling out r91805.
58849         http://trac.webkit.org/changeset/91805
58850         https://bugs.webkit.org/show_bug.cgi?id=65226
58851
58852         Breaks @ symbols and changes other font rendering on Windows
58853         (Requested by enne on #webkit).
58854
58855         * platform/graphics/chromium/FontChromiumWin.cpp:
58856         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
58857         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
58858         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
58859         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
58860         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
58861         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
58862         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
58863         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
58864         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
58865         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
58866         (WebCore::drawGlyphsWin):
58867         (WebCore::Font::drawComplexText):
58868         * platform/graphics/chromium/UniscribeHelper.cpp:
58869         (WebCore::UniscribeHelper::draw):
58870         * platform/graphics/skia/PlatformContextSkia.cpp:
58871         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
58872         * platform/graphics/skia/PlatformContextSkia.h:
58873         * platform/graphics/skia/SkiaFontWin.cpp:
58874         (WebCore::windowsCanHandleDrawTextShadow):
58875         (WebCore::windowsCanHandleTextDrawing):
58876         (WebCore::windowsCanHandleTextDrawingWithoutShadow):
58877         * platform/graphics/skia/SkiaFontWin.h:
58878
58879 2011-07-26  Adrienne Walker  <enne@google.com>
58880
58881         Unreviewed, rolling out r91812.
58882         http://trac.webkit.org/changeset/91812
58883         https://bugs.webkit.org/show_bug.cgi?id=65210
58884
58885         Breaks OSX GPU tests.
58886
58887         * platform/graphics/chromium/LayerRendererChromium.cpp:
58888         (WebCore::LayerRendererChromium::drawLayers):
58889
58890 2011-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>
58891
58892         Unreviewed, rolling out r91809.
58893         http://trac.webkit.org/changeset/91809
58894         https://bugs.webkit.org/show_bug.cgi?id=65225
58895
58896         Does not build on Chromium Windows (Requested by abarth on
58897         #webkit).
58898
58899         * dom/WheelEvent.cpp:
58900         (WebCore::WheelEvent::WheelEvent):
58901         (WebCore::WheelEvent::initWheelEvent):
58902         * dom/WheelEvent.h:
58903         * page/EventHandler.cpp:
58904         (WebCore::EventHandler::EventHandler):
58905         (WebCore::EventHandler::handleGestureEvent):
58906         (WebCore::EventHandler::handleTouchEvent):
58907         (WebCore::EventHandler::resetGestureRecognizer):
58908         * page/EventHandler.h:
58909         * page/FrameView.cpp:
58910         (WebCore::FrameView::reset):
58911         * platform/PlatformGestureEvent.h:
58912         * platform/PlatformGestureRecognizer.h:
58913         * platform/chromium/FramelessScrollView.h:
58914         * platform/chromium/GestureRecognizerChromium.cpp:
58915         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
58916         (WebCore::InnerGestureRecognizer::reset):
58917         (WebCore::InnerGestureRecognizer::dispatchSyntheticClick):
58918         (WebCore::InnerGestureRecognizer::processTouchEventForGesture):
58919         (WebCore::InnerGestureRecognizer::scrollViaTouchMotion):
58920         (WebCore::touchDown):
58921         (WebCore::noGesture):
58922         (WebCore::click):
58923         (WebCore::isClickOrScroll):
58924         (WebCore::inScroll):
58925         * platform/chromium/GestureRecognizerChromium.h:
58926         (WebCore::GestureRecognizerChromium::reset):
58927         (WebCore::GestureRecognizerChromium::processTouchEventForGesture):
58928         * platform/chromium/PopupMenuChromium.cpp:
58929         * platform/chromium/PopupMenuChromium.h:
58930         * platform/mac/ScrollAnimatorMac.mm:
58931         (WebCore::ScrollAnimatorMac::handleGestureEvent):
58932
58933 2011-07-26  Dmitry Lomov  <dslomov@google.com>
58934
58935         [V8][Chromium] Run workers in a separate v8::Isolate 
58936         https://bugs.webkit.org/show_bug.cgi?id=65004
58937         This patch allocates a new v8::Isolate for every worker and enters it on worker thread.
58938
58939         Reviewed by David Levin.
58940
58941         Covered by existing chromium tests.
58942
58943         * bindings/v8/DOMDataStore.cpp:
58944         (WebCore::DOMDataStore::DOMDataStore):
58945         (WebCore::DOMDataStore::~DOMDataStore):
58946         * bindings/v8/StaticDOMDataStore.cpp:
58947         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
58948         (WebCore::StaticDOMDataStore::~StaticDOMDataStore):
58949         * bindings/v8/StaticDOMDataStore.h:
58950         * bindings/v8/V8Binding.h:
58951         (WebCore::V8BindingPerIsolateData::registerDOMDataStore):
58952         (WebCore::V8BindingPerIsolateData::unregisterDOMDataStore):
58953         * bindings/v8/V8DOMMap.cpp:
58954         (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
58955         (WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):
58956         * bindings/v8/WorkerContextExecutionProxy.cpp:
58957         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
58958         (WebCore::WorkerContextExecutionProxy::initV8):
58959         * bindings/v8/WorkerContextExecutionProxy.h:
58960         * bindings/v8/WorkerScriptController.cpp:
58961         (WebCore::WorkerScriptController::WorkerScriptController):
58962         (WebCore::WorkerScriptController::~WorkerScriptController):
58963         * bindings/v8/WorkerScriptController.h:
58964
58965 2011-07-26  James Robinson  <jamesr@chromium.org>
58966
58967         [chromium] Avoid clearing the framebuffer when compositing in release builds
58968         https://bugs.webkit.org/show_bug.cgi?id=65210
58969
58970         Reviewed by Kenneth Russell.
58971
58972         We clear the default framebuffer to blue when compositing so it's
58973         easier to spot regions we miss. This is useful for debugging, but eats
58974         bandwidth unnecessarily in release builds.
58975
58976         * platform/graphics/chromium/LayerRendererChromium.cpp:
58977         (WebCore::LayerRendererChromium::drawLayers):
58978
58979 2011-07-26  Jeffrey Pfau  <jpfau@apple.com>
58980
58981         New XML tokenizer
58982         https://bugs.webkit.org/show_bug.cgi?id=64566
58983
58984         Reviewed by Adam Barth.
58985
58986         Add tokenizer for XML and tests in NewXMLDocumentParser for printing results of tokenization.
58987
58988         * GNUmakefile.list.am:
58989         * WebCore.gypi:
58990         * WebCore.pro:
58991         * WebCore.vcproj/WebCore.vcproj:
58992         * WebCore.xcodeproj/project.pbxproj:
58993         * xml/parser/NewXMLDocumentParser.cpp:
58994         (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
58995         (WebCore::NewXMLDocumentParser::append):
58996         * xml/parser/NewXMLDocumentParser.h:
58997         * xml/parser/XMLToken.h:
58998         * xml/parser/XMLTokenizer.cpp: Added.
58999         (WebCore::XMLTokenizer::XMLTokenizer):
59000         (WebCore::::shouldSkipNullCharacters):
59001         (WebCore::XMLTokenizer::nextToken):
59002         (WebCore::XMLTokenizer::bufferCharacter):
59003         (WebCore::XMLTokenizer::parseError):
59004         * xml/parser/XMLTokenizer.h: Added.
59005         (WebCore::XMLTokenizer::create):
59006         (WebCore::XMLTokenizer::gotError):
59007         (WebCore::XMLTokenizer::shouldSkipNullCharacters):
59008
59009 2011-07-26  Robert Kroeger  <rjkroege@chromium.org>
59010
59011         [chromium] Layering violations in gesture recognizer
59012         https://bugs.webkit.org/show_bug.cgi?id=65044
59013
59014         Reviewed by Adam Barth.
59015
59016         Divided the gesture recognizer up to correct a layering
59017         violation by moving gesture implementation from it to
59018         EventHandler::handleGestureEvent so that the gesture recognizer
59019         could simply be an engine for generating gesture events from
59020         touch events.
59021
59022         * page/EventHandler.cpp:
59023         (WebCore::EventHandler::EventHandler):
59024         Removed construction of gesture recognizer.
59025         (WebCore::EventHandler::handleGestureEvent):
59026         Extended for new gesture events added in this patch.
59027         (WebCore::EventHandler::handleTouchEvent):
59028         Removed call into gesture recognizer.
59029         * page/EventHandler.h:
59030         * page/FrameView.cpp:
59031         (WebCore::FrameView::reset):
59032         Removed code to reset gesture recognizer.
59033         * platform/PlatformGestureEvent.h:
59034         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
59035         (WebCore::PlatformGestureEvent::deltaX):
59036         (WebCore::PlatformGestureEvent::deltaY):
59037         (WebCore::PlatformGestureEvent::shiftKey):
59038         (WebCore::PlatformGestureEvent::ctrlKey):
59039         (WebCore::PlatformGestureEvent::altKey):
59040         (WebCore::PlatformGestureEvent::metaKey):
59041         Added additional gesture types and parameters.
59042         * platform/PlatformGestureRecognizer.h:
59043         * platform/chromium/FramelessScrollView.h:
59044         Added support for displatching gesture and touch events.
59045         * platform/chromium/GestureRecognizerChromium.cpp:
59046         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
59047         (WebCore::InnerGestureRecognizer::reset):
59048         (WebCore::InnerGestureRecognizer::constructClickGestureEvent):
59049         (WebCore::InnerGestureRecognizer::processTouchEventForGestures):
59050         Removed all depedencies on EventHandler. Instead, create gesture
59051         events from touch event stream.
59052         (WebCore::InnerGestureRecognizer::constructScrollGesture):
59053         (WebCore::touchDown):
59054         (WebCore::noGesture):
59055         (WebCore::click):
59056         (WebCore::isClickOrScroll):
59057         (WebCore::inScroll):
59058         (WebCore::GestureRecognizerChromium::processTouchEventForGestures):
59059         (WebCore::GestureRecognizerChromium::reset):
59060         * platform/chromium/GestureRecognizerChromium.h:
59061         * platform/chromium/PopupMenuChromium.cpp:
59062         Added support to handle touch events and gesture events.
59063         (WebCore::PopupContainer::handleTouchEvent):
59064         (WebCore::PopupContainer::handleGestureEvent):
59065         (WebCore::PopupListBox::handleTouchEvent):
59066         (WebCore::PopupListBox::handleGestureEvent):
59067         * platform/chromium/PopupMenuChromium.h:
59068         * platform/mac/ScrollAnimatorMac.mm:
59069         (WebCore::ScrollAnimatorMac::handleGestureEvent):
59070         Ignores the newly added gesture event types.
59071
59072 2011-07-26  Joseph Pecoraro  <joepeck@webkit.org>
59073
59074         Restore Composited Layers Faster from PageCache
59075         https://bugs.webkit.org/show_bug.cgi?id=65216
59076
59077         Reviewed by Simon Fraser.
59078
59079         Restore the layer tree hierarchy a little sooner, when
59080         restoring from the page cache. This more closely matches
59081         original restore behavior.
59082
59083         Existing test showed no change.
59084
59085         * page/FrameView.cpp:
59086         (WebCore::FrameView::restoreBackingStores):
59087
59088 2011-07-26  Mike Reed  <reed@google.com>
59089
59090         [skia] never draw with GDI, so that all text can be gpu-accelerated
59091         https://bugs.webkit.org/show_bug.cgi?id=65203
59092
59093         Reviewed by Kenneth Russell.
59094
59095         No new tests. existing tests apply to the new drawing path
59096
59097         * platform/graphics/chromium/FontChromiumWin.cpp:
59098         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
59099         * platform/graphics/skia/SkiaFontWin.cpp:
59100         (WebCore::windowsCanHandleDrawTextShadow):
59101         (WebCore::windowsCanHandleTextDrawing):
59102         (WebCore::windowsCanHandleTextDrawingWithoutShadow):
59103
59104 2011-07-26  Kenneth Russell  <kbr@google.com>
59105
59106         Float32Array(ArrayBuffer, index, length) constructor working incorrectly.
59107         https://bugs.webkit.org/show_bug.cgi?id=57042
59108
59109         Reviewed by James Robinson.
59110
59111         * bindings/js/JSArrayBufferViewHelper.h:
59112         (WebCore::constructArrayBufferViewWithArrayBufferArgument):
59113         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
59114         (WebCore::constructWebGLArrayWithArrayBufferArgument):
59115
59116 2011-07-26  Chris Rogers  <crogers@google.com>
59117
59118         V8 custom bindings for AudioNode must do proper object checking and throw exception in case of error
59119         https://bugs.webkit.org/show_bug.cgi?id=65222
59120
59121         Reviewed by James Robinson.
59122
59123         No new tests - this fixes upcoming audionode.html layout test
59124
59125         * bindings/v8/custom/V8AudioNodeCustom.cpp:
59126         (WebCore::V8AudioNode::connectCallback):
59127
59128 2011-07-26  Chris Rogers  <crogers@google.com>
59129
59130         AudioContext is not correctly accounting for hardware resources
59131         https://bugs.webkit.org/show_bug.cgi?id=65217
59132
59133         Reviewed by Kenneth Russell.
59134
59135         No new tests since audio API is not yet implemented.
59136
59137         * webaudio/AudioContext.cpp:
59138         (WebCore::AudioContext::create):
59139         (WebCore::AudioContext::AudioContext):
59140         (WebCore::AudioContext::lazyInitialize):
59141
59142 2011-07-26  Luke Macpherson   <macpherson@chromium.org>
59143
59144         Handle CSS Properties that can be either auto or a primitive value in CSSStyleApplyProperty
59145         https://bugs.webkit.org/show_bug.cgi?id=65164
59146
59147         Reviewed by Dimitri Glazkov.
59148
59149         No new tests / refactoring only.
59150
59151         * css/CSSPrimitiveValueMappings.h:
59152         Add casts to/from various numeric types.
59153         (WebCore::CSSPrimitiveValue::operator short):
59154         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
59155         (WebCore::CSSPrimitiveValue::operator unsigned short):
59156         (WebCore::CSSPrimitiveValue::operator int):
59157         (WebCore::CSSPrimitiveValue::operator float):
59158         * css/CSSStyleApplyProperty.cpp:
59159         Add class to handle properties that set an "auto" boolean on RenderStyle.
59160         (WebCore::ApplyPropertyAuto::ApplyPropertyAuto):
59161         (WebCore::ApplyPropertyAuto::applyInheritValue):
59162         (WebCore::ApplyPropertyAuto::applyInitialValue):
59163         (WebCore::ApplyPropertyAuto::applyValue):
59164         (WebCore::ApplyPropertyAuto::hasAuto):
59165         (WebCore::ApplyPropertyAuto::setAuto):
59166         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
59167         * css/CSSStyleSelector.cpp:
59168         Remove existing implementations.
59169         (WebCore::CSSStyleSelector::applyProperty):
59170
59171 2011-07-26  Pratik Solanki  <psolanki@apple.com>
59172
59173         Add protection space authentication callback code to CFNetwork loader on Mac
59174         https://bugs.webkit.org/show_bug.cgi?id=65190
59175         <rdar://problem/9842424>
59176
59177         Reviewed by Oliver Hunt.
59178
59179         Port over protection space authentication callback code from ResourceHandleMac.mm to
59180         ResourceHandleCFNet.cpp.
59181
59182         * platform/network/ResourceHandle.h:
59183         * platform/network/cf/ResourceHandleCFNet.cpp:
59184         (WebCore::canRespondToProtectionSpace):
59185         (WebCore::ResourceHandle::createCFURLConnection):
59186         (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
59187         (WebCore::WebCoreSynchronousLoaderClient::canAuthenticateAgainstProtectionSpace):
59188         * platform/network/mac/ResourceHandleMac.mm:
59189         (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]): Add logging.
59190
59191 2011-07-26  Sadrul Habib Chowdhury  <sadrul@chromium.org>
59192
59193         Add support for download='filename' attribute in anchors.
59194         https://bugs.webkit.org/show_bug.cgi?id=64580
59195
59196         Reviewed by Adam Barth.
59197
59198         The download attribute allows the author of the hyperlink to cause the
59199         browser to download the linked URL.  The author can also supply a
59200         suggested file name in the attribute value.  This feature is a recent
59201         addition to HTML to better support offline applications that use blob
59202         URLs.  Traditionally, web sites use the HTTP Content-Disposition header
59203         to trigger downloads, but that option isn't available when working
59204         offline.
59205
59206         There is some question about whether we should initiate a download when
59207         we receive a DOM-created click event.  This patch does initiate the
59208         download, but we might revise that decision in the future as part of a
59209         larger change in how WebKit treats the interaction between default
59210         event handlers and DOM-created events.
59211
59212         Tests: fast/dom/HTMLAnchorElement/anchor-download.html
59213                fast/dom/HTMLAnchorElement/anchor-nodownload.html
59214                fast/dom/HTMLAnchorElement/anchor-download-unset.html
59215                fast/dom/HTMLAnchorElement/anchor-nodownload-set.html
59216
59217         * html/HTMLAnchorElement.cpp:
59218         (WebCore::HTMLAnchorElement::defaultEventHandler):
59219         (WebCore::HTMLAnchorElement::handleClick):
59220         * html/HTMLAnchorElement.h:
59221         * html/HTMLAnchorElement.idl:
59222         * html/HTMLAttributeNames.in:
59223         * loader/EmptyClients.h:
59224         (WebCore::EmptyFrameLoaderClient::startDownload):
59225         * loader/FrameLoaderClient.h:
59226
59227 2011-07-26  Mark Hahnenberg  <mhahnenberg@apple.com>
59228
59229         Refactor automatically generated JS DOM bindings to replace operator new with static create methods
59230         https://bugs.webkit.org/show_bug.cgi?id=64732
59231
59232         Reviewed by Oliver Hunt.
59233
59234         No new tests.
59235
59236         Replacing the public constructors in the automatically generated JS DOM bindings in CodeGeneratorJS.pm
59237         with static create methods.  This is part of a larger refactoring effort to use static create methods
59238         in the headers of the generated files (so as to be inline-able) in favor of public constructors throughout JSC.
59239
59240         * bindings/js/JSAudioConstructor.h:
59241         (WebCore::JSAudioConstructor::create):
59242         * bindings/js/JSDOMBinding.h:
59243         (WebCore::createWrapper):
59244         * bindings/js/JSDOMGlobalObject.h:
59245         (WebCore::getDOMConstructor):
59246         * bindings/js/JSDOMWindowCustom.cpp:
59247         (WebCore::JSDOMWindow::history):
59248         (WebCore::JSDOMWindow::location):
59249         * bindings/js/JSDOMWindowShell.cpp:
59250         (WebCore::JSDOMWindowShell::setWindow):
59251         * bindings/js/JSDocumentCustom.cpp:
59252         (WebCore::JSDocument::location):
59253         * bindings/js/JSImageConstructor.h:
59254         (WebCore::JSImageConstructor::create):
59255         * bindings/js/JSImageDataCustom.cpp:
59256         (WebCore::toJS):
59257         * bindings/js/JSOptionConstructor.h:
59258         (WebCore::JSOptionConstructor::create):
59259         * bindings/js/WorkerScriptController.cpp:
59260         (WebCore::WorkerScriptController::initScript):
59261         * bindings/scripts/CodeGeneratorJS.pm:
59262         (AddIncludesForTypeInImpl):
59263         (AddIncludesForTypeInHeader):
59264         (AddIncludesForType):
59265         (GenerateHeader):
59266         (GenerateImplementation):
59267         (GenerateCallbackImplementation):
59268         (GenerateConstructorDeclaration):
59269         * bindings/scripts/test/JS/JSTestInterface.cpp:
59270         (WebCore::JSTestInterfaceConstructor::create):
59271         (WebCore::JSTestInterface::createPrototype):
59272         * bindings/scripts/test/JS/JSTestInterface.h:
59273         (WebCore::JSTestInterface::create):
59274         (WebCore::JSTestInterfacePrototype::create):
59275         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
59276         (WebCore::JSTestMediaQueryListListenerConstructor::create):
59277         (WebCore::JSTestMediaQueryListListener::createPrototype):
59278         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
59279         (WebCore::JSTestMediaQueryListListener::create):
59280         (WebCore::JSTestMediaQueryListListenerPrototype::create):
59281         * bindings/scripts/test/JS/JSTestObj.cpp:
59282         (WebCore::JSTestObjConstructor::create):
59283         (WebCore::JSTestObj::createPrototype):
59284         * bindings/scripts/test/JS/JSTestObj.h:
59285         (WebCore::JSTestObj::create):
59286         (WebCore::JSTestObjPrototype::create):
59287         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
59288         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
59289         (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
59290         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
59291         (WebCore::JSTestSerializedScriptValueInterface::create):
59292         (WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
59293         * bridge/jni/jsc/JavaArrayJSC.cpp:
59294         (JavaArray::convertJObjectToArray):
59295         * bridge/jsc/BridgeJSC.cpp:
59296         (JSC::Bindings::Instance::newRuntimeObject):
59297         * bridge/objc/objc_utility.mm:
59298         (JSC::Bindings::convertObjcValueToValue):
59299         * bridge/qt/qt_runtime.cpp:
59300         (JSC::Bindings::convertQVariantToValue):
59301         * bridge/runtime_array.h:
59302         (JSC::RuntimeArray::create):
59303         * bridge/runtime_object.h:
59304         (JSC::Bindings::RuntimeObject::create):
59305
59306 2011-07-26  Xiaomei Ji  <xji@chromium.org>
59307
59308         --webkit-visual-word does not work in multi-line
59309         https://bugs.webkit.org/show_bug.cgi?id=61344
59310
59311         Reviewed by Ryosuke Niwa.
59312
59313         Replace Position(node, offset, PositionIsOffsetInAnchor) with 
59314         createPositionAvoidingIgnoredNode(node, offset) which takes care of creating position 
59315         before/after <br/> etc. editingIgnoresContent node. 
59316
59317         When iterate InlineBox, replace prevLeafChild and nextLeafChild (which only returns 
59318         InlineBox within the same line) with leftInlineBox and rightInlineBox (which returns 
59319         InlineBox across multiple lines).
59320
59321         * editing/htmlediting.cpp:
59322         (WebCore::createPositionAvoidingIgnoredNode):
59323         * editing/htmlediting.h:
59324         * editing/visible_units.cpp:
59325         (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality): Replace Position() with
59326         createPositionAvoidingIgnoredNode().
59327         (WebCore::leftmostPositionInRTLBoxInLTRBlock): Ditto.
59328         (WebCore::rightmostPositionInLTRBoxInRTLBlock): Ditto.
59329         (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality): Ditto.
59330         (WebCore::blockWithPreviousLineBox): Added.
59331         (WebCore::previousRootInlineBox): Added.
59332         (WebCore::blockWithNextLineBox): Added.
59333         (WebCore::nextRootInlineBox): Added.
59334         (WebCore::leftInlineBox): Added.
59335         (WebCore::rightInlineBox): Added.
59336         (WebCore::leftWordBoundary): Replace prevLeafChild/nextLeafChild with leftInlineBox()
59337         and rightInlineBox().
59338         (WebCore::rightWordBoundary): Ditto.
59339         (WebCore::leftWordPositionAcrossBoundary): Ditto.
59340         (WebCore::rightWordPositionAcrossBoundary): Ditto.
59341
59342 2011-07-26  David Hyatt  <hyatt@apple.com>
59343
59344         https://bugs.webkit.org/show_bug.cgi?id=60778
59345
59346         Use after free because of line box culling optimization regression.
59347
59348         In the case of a child with no line box being removed (typically
59349         a <br> in quirks mode), if there is no previous sibling with a line
59350         box, then we have a potential problem with the culling optimization.
59351
59352         The culled inline may still have other leaf line box children, but
59353         they may follow the removed <br>. In this case we can't rely on
59354         them, since we need a line box that comes before the <br>.
59355
59356         The fix is to simply recur up to the parent if we are a culled inline
59357         and could not find a previous line box.
59358
59359         Reviewed by Dan Bernstein.
59360
59361         Added editing/execCommand/crash-line-break-after-outdent.html
59362
59363         * rendering/RenderLineBoxList.cpp:
59364         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
59365
59366 2011-07-26  Dan Bernstein  <mitz@apple.com>
59367
59368         <rdar://problem/9842889> Add a generic pictograph font family
59369         https://bugs.webkit.org/show_bug.cgi?id=65197
59370
59371         Reviewed by Anders Carlsson.
59372
59373         Test: fast/css/font-family-pictograph.html
59374
59375         * WebCore.exp.in: Export Settings::setPictographFontFamily().
59376         * css/CSSComputedStyleDeclaration.cpp:
59377         (WebCore::identifierForFamily): Added -webkit-pictograph.
59378         * css/CSSFontSelector.cpp:
59379         (WebCore::CSSFontSelector::addFontFaceRule): Ditto.
59380         (WebCore::fontDataForGenericFamily): Ditto.
59381         * css/CSSStyleSelector.cpp:
59382         (WebCore::CSSStyleSelector::applyProperty): Ditto.
59383         * css/CSSValueKeywords.in:
59384         * inspector/front-end/CSSKeywordCompletions.js: Ditto.
59385         * inspector/front-end/SourceCSSTokenizer.js: Ditto.
59386         (WebInspector.SourceCSSTokenizer):
59387         * inspector/front-end/SourceCSSTokenizer.re2js: Ditto.
59388         * page/Settings.cpp:
59389         (WebCore::Settings::pictographFontFamily): Added this getter.
59390         (WebCore::Settings::setPictographFontFamily): Added this setter.
59391         * page/Settings.h:
59392         * platform/graphics/FontDescription.h: Added PictographFamily to the GenericFamilyType enum.
59393
59394 2011-07-26  Viet-Trung Luu  <viettrungluu@chromium.org>
59395
59396         Improve (i.e., speed up) .gyp(i) files for Chromium
59397         https://bugs.webkit.org/show_bug.cgi?id=65032
59398
59399         Reviewed by Adam Barth.
59400
59401         This re-applies r91595 with the source exclusion fixed.
59402
59403         Test by building (in all supported configurations).
59404
59405         * WebCore.gyp/WebCore.gyp:
59406         * WebCore.gypi:
59407
59408 2011-07-26  Alexis Menard  <alexis.menard@openbossa.org>
59409
59410         [Qt] Disable video support on linux if the dependencies are not found.
59411
59412         If we can't find the necessary dependencies to build the GStreamer media player
59413         we disable the video support. This is related to http://trac.webkit.org/changeset/91752.
59414
59415         Reviewed by Holger Freyther.
59416
59417         No new tests, it's a build fix.
59418
59419         * features.pri:
59420
59421 2011-07-26  Evan Martin  <evan@chromium.org>
59422
59423         regression: generating CSSValueKeywords should not print by default
59424         https://bugs.webkit.org/show_bug.cgi?id=65195
59425
59426         Reviewed by Tony Chang.
59427
59428         Some refactoring made some callers no longer pass the final 'beQuiet'
59429         parameter to applyPreprocessor.  This flag was only used to print the
59430         input filename anyway, so remove the flag and just make the caller
59431         print the filename if it wants this.
59432
59433         * bindings/scripts/IDLParser.pm:
59434         (Parse): print before calling applyPreprocessor, if necessary.
59435         * bindings/scripts/preprocessor.pm:
59436         (applyPreprocessor): remove the beQuiet flag; just always be quiet.
59437
59438 2011-07-26  Raphael Kubo da Costa  <kubo@profusion.mobi>
59439
59440         [EFL] Do not crash on the isSlider() assert.
59441         https://bugs.webkit.org/show_bug.cgi?id=65191
59442
59443         Reviewed by Antonio Gomes.
59444
59445         RenderThemeEfl's paintSliderThumb() just forwarded the call to
59446         paintSliderTrack(), which, on its turn, called code that assumed that
59447         object->isSlider() was true. That does not seem to be the case for
59448         slidethumbs, so any page with an <input type="range"> tag would crash
59449         WebKit.
59450
59451         We now do what RenderThemeQt does, and assume everything was properly
59452         done in the call to paintSliderTrack().
59453
59454         No new tests, as this has been uncovered by an existing test.
59455
59456         * platform/efl/RenderThemeEfl.cpp:
59457         (WebCore::RenderThemeEfl::paintSliderThumb):
59458
59459 2011-07-26  Brian Salomon  <bsalomon@google.com>
59460
59461         [SKIA] Make the skia GL context current when drawing text to gpu backed platform context.
59462         https://bugs.webkit.org/show_bug.cgi?id=65182
59463
59464         Reviewed by Stephen White.
59465
59466         No new tests. Not sure how to test wrong-ctx bugs in layout tests.
59467
59468         * platform/graphics/skia/SkiaFontWin.cpp:
59469         (WebCore::paintSkiaText):
59470
59471 2011-07-26  Emil A Eklund  <eae@chromium.org>
59472
59473         RenderText::absoluteRectsForRange() and absoluteQuadsForRange() have nearly duplicate code
59474         https://bugs.webkit.org/show_bug.cgi?id=62478
59475
59476         Reviewed by Simon Fraser.
59477
59478         Test: fast/dom/Range/getClientRects.html
59479
59480         * platform/graphics/FloatRect.h:
59481         (WebCore::FloatRect::isZero):
59482         Add izZero method, unlike isEmpty this checks if both the width and the
59483         height are zero.
59484
59485         * rendering/RenderText.cpp:
59486         (WebCore::absoluteQuadForTextBox):
59487         (WebCore::RenderText::absoluteRectsForRange):
59488         (WebCore::RenderText::absoluteQuadsForRange):
59489         Break duplicate code out of absoluteRectsForRange and
59490         absoluteQuadsForRange into shared static function.
59491         
59492         Fix what I presume to be a bug in the absoluteQuadsForRange where the
59493         logicalHeight was always used to set the size in absoluteQuadForTextBox
59494         as oppsued to the absoluteRectsForRange implementation that uses the
59495         logicalWidth or the logicalHeight depending on whether it's horizontal or
59496         vertical.
59497
59498 2011-07-26  Alexandru Chiculita  <achicu@adobe.com>
59499
59500         [CSSRegions] Collect flowed elements in different render element
59501         https://bugs.webkit.org/show_bug.cgi?id=64516
59502
59503         All the RenderObjects that have a specified "flow" name are moved out of the
59504         normal flow. A RenderFlowThread will collect all such RenderObjects. There is
59505         a RenderFlowThread for each flow name. The new RenderFlowThread is an anonymous
59506         RenderBlock that is positioned absolute and will not render directly. In a
59507         different bug/patch we will add RenderRegion that will take care of rendering the
59508         RenderFlowThread on screen.
59509
59510         Reviewed by Simon Fraser.
59511
59512         Tests: fast/regions/webkit-flow-renderer-layer.html
59513                fast/regions/webkit-flow-renderer-nested.html
59514                fast/regions/webkit-flow-renderer.html
59515
59516         * WebCore.vcproj/WebCore.vcproj:
59517         * WebCore.xcodeproj/project.pbxproj:
59518         * dom/Node.cpp:
59519         (WebCore::Node::diff):
59520         * dom/NodeRenderingContext.cpp:
59521         (WebCore::NodeRenderingContext::NodeRenderingContext):
59522         (WebCore::NodeRenderingContext::setStyle):
59523         (WebCore::NodeRenderingContext::nextRenderer):
59524         (WebCore::NodeRenderingContext::previousRenderer):
59525         (WebCore::NodeRenderingContext::parentRenderer):
59526         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
59527         (WebCore::NodeRendererFactory::createRendererIfNeeded):
59528         * dom/NodeRenderingContext.h:
59529         (WebCore::NodeRenderingContext::hasFlowThreadParent):
59530         (WebCore::NodeRenderingContext::parentFlowRenderer):
59531         * rendering/RenderFlowThread.cpp: Added.
59532         (WebCore::RenderFlowThread::RenderFlowThread):
59533         (WebCore::RenderFlowThread::createFlowThreadStyle):
59534         (WebCore::RenderFlowThread::nextRendererForNode):
59535         (WebCore::RenderFlowThread::previousRendererForNode):
59536         (WebCore::RenderFlowThread::addChild):
59537         (WebCore::RenderFlowThread::removeChild):
59538         * rendering/RenderFlowThread.h: Added.
59539         (WebCore::toRenderFlowThread):
59540         * rendering/RenderLayer.cpp:
59541         (WebCore::RenderLayer::collectLayers):
59542         * rendering/RenderObject.h:
59543         (WebCore::RenderObject::isRenderFlowThread):
59544         * rendering/RenderTreeAsText.cpp:
59545         (WebCore::RenderTreeAsText::writeRenderObject):
59546         (WebCore::writeLayers):
59547         * rendering/RenderView.cpp:
59548         (WebCore::RenderView::renderFlowThreadWithName):
59549         * rendering/RenderView.h:
59550         * rendering/style/RenderStyle.cpp:
59551         (WebCore::RenderStyle::diff):
59552
59553 2011-07-26  Patrick Dubroy  <dubroy@chromium.org>
59554
59555         Filename text in file upload controls is not aligned with button text on
59556         chromium-linux, chromium-win, and gtk.
59557
59558         https://bugs.webkit.org/show_bug.cgi?id=64692
59559
59560         The fix is to not include the margin, border, and padding in the calculation,
59561         because those are already accounted for by RenderBlock::baselinePosition().
59562
59563         Reviewed by Dimitri Glazkov.
59564
59565         * rendering/RenderFileUploadControl.cpp:
59566         (WebCore::RenderFileUploadControl::paintObject):
59567
59568 2011-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>
59569
59570         Unreviewed, rolling out r91746.
59571         http://trac.webkit.org/changeset/91746
59572         https://bugs.webkit.org/show_bug.cgi?id=65180
59573
59574         It broke SL build (Requested by Ossy on #webkit).
59575
59576         * dom/OptionElement.cpp:
59577         (WebCore::OptionElement::normalizeText):
59578
59579 2011-07-26  Pavel Feldman  <pfeldman@google.com>
59580
59581         Web Inspector: Better represent custom getters in the properties pane
59582         https://bugs.webkit.org/show_bug.cgi?id=16734
59583
59584         Reviewed by Yury Semikhatsky.
59585
59586         Test: inspector/runtime/runtime-getProperties.html
59587
59588         * inspector/InjectedScriptSource.js:
59589         (.):
59590         * inspector/Inspector.json:
59591         * inspector/front-end/ObjectPropertiesSection.js:
59592         (WebInspector.ObjectPropertyTreeElement.prototype.update):
59593
59594 2011-07-26  Alexis Menard  <alexis.menard@openbossa.org>
59595
59596         Reviewed by Andreas Kling.
59597
59598         [Qt] Change default backend to use GStreamer on Linux and QuickTime on Mac.
59599         https://bugs.webkit.org/show_bug.cgi?id=63472
59600
59601         Enable the GStreamer backend and the QuickTime backend as default media players
59602         for the Qt port on Mac and Linux. QtMultimedia is now a fallback option that you
59603         can enable by passing DEFINES+=USE_QT_MULTIMEDIA=1 to enforce its usage.
59604
59605         No new tests. The media layout tests are disabled on the Qt port but hopefully with this
59606         switch we can enable them again.
59607
59608         * WebCore.pri:
59609         * WebCore.pro:
59610         * features.pri:
59611
59612 2011-07-26  Pavel Feldman  <pfeldman@google.com>
59613
59614         Web Inspector: Implement setPropertyValue using evaluate and callFunctionOn
59615         https://bugs.webkit.org/show_bug.cgi?id=65112
59616
59617         Reviewed by Yury Semikhatsky.
59618
59619         Test: inspector/runtime/runtime-setPropertyValue.html
59620
59621         * inspector/InjectedScript.cpp:
59622         * inspector/InjectedScript.h:
59623         * inspector/InjectedScriptSource.js:
59624         (.):
59625         * inspector/Inspector.json:
59626         * inspector/InspectorRuntimeAgent.cpp:
59627         * inspector/InspectorRuntimeAgent.h:
59628         * inspector/front-end/RemoteObject.js:
59629         (WebInspector.RemoteObject.prototype.setPropertyValue.evaluatedCallback.setPropertyValue):
59630         (WebInspector.RemoteObject.prototype.setPropertyValue.evaluatedCallback):
59631         (WebInspector.RemoteObject.prototype.setPropertyValue.propertySetCallback):
59632         (WebInspector.RemoteObject.prototype.setPropertyValue):
59633
59634 2011-07-26  Pavel Feldman  <pfeldman@google.com>
59635
59636         Re-applying r91665 and r91668 with JSC issues fixed.
59637
59638         Web Inspector: use dedicated type for object id in the protocol.
59639         Web Inspector: refactor remote object structure to contain value for primitive values.
59640
59641         https://bugs.webkit.org/show_bug.cgi?id=65103
59642         https://bugs.webkit.org/show_bug.cgi?id=65110
59643
59644         Reviewed by Yury Semikhatsky.
59645
59646         * inspector/InjectedScript.cpp:
59647         (WebCore::InjectedScript::callFunctionOn):
59648         * inspector/InjectedScript.h:
59649         * inspector/InjectedScriptSource.js:
59650         * inspector/Inspector.json:
59651         * inspector/InspectorRuntimeAgent.cpp:
59652         (WebCore::InspectorRuntimeAgent::callFunctionOn):
59653         * inspector/InspectorValues.cpp:
59654         (WebCore::InspectorBasicValue::writeJSON):
59655         * inspector/front-end/ConsoleView.js:
59656         (WebInspector.ConsoleView.prototype._format):
59657         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
59658         (WebInspector.ConsoleMessage.prototype._format):
59659         * inspector/front-end/ElementsTreeOutline.js:
59660         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
59661         * inspector/front-end/ObjectPropertiesSection.js:
59662         (WebInspector.ObjectPropertyTreeElement.prototype.update):
59663         * inspector/front-end/PropertiesSidebarPane.js:
59664         (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
59665         * inspector/front-end/RemoteObject.js:
59666         (WebInspector.RemoteObject):
59667         (WebInspector.RemoteObject.fromPrimitiveValue):
59668         (WebInspector.RemoteObject.fromPayload):
59669         (WebInspector.RemoteObject.prototype.get subtype):
59670         (WebInspector.RemoteObject.prototype.callFunction):
59671         (WebInspector.LocalJSONObject.prototype.get description):
59672         (WebInspector.LocalJSONObject.prototype.get type):
59673         (WebInspector.LocalJSONObject.prototype.get subtype):
59674         * inspector/front-end/SourceFrame.js:
59675         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
59676         (WebInspector.SourceFrame.prototype._showPopup):
59677         * inspector/front-end/inspector.js:
59678         (WebInspector.log.logMessage):
59679         (WebInspector.log):
59680         (WebInspector.inspect):
59681
59682 2011-07-26  Nikolas Zimmermann  <nzimmermann@rim.com>
59683
59684         Prepare animVal support - phase 2
59685         https://bugs.webkit.org/show_bug.cgi?id=65167
59686
59687         Reviewed by Dirk Schulze.
59688
59689         Next patch preparing animVal support. Modify the SVGAnimatedProperty* classes & macros to assure that calling someElement->someProperty()
59690         will return the animVal, when the property is being animated. Not yet hooked into SVGAnimateElement, this is just a preparation.
59691
59692         Doesn't affect any tests, yet.
59693
59694         * svg/SVGPathElement.cpp: Adapt to SVGAnimatedProperty::lookupWrapper changes (new template parameters have been added).
59695         (WebCore::SVGPathElement::svgAttributeChanged):
59696         * svg/SVGPathSegWithContext.h: Ditto.
59697         (WebCore::SVGPathSegWithContext::animatedProperty):
59698         * svg/SVGPolyElement.cpp: Ditto.
59699         (WebCore::SVGPolyElement::parseMappedAttribute):
59700         * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: Implement currentAnimatedValue, an abstract way to retrieve the underlying animated value for any animated type.
59701         (WebCore::SVGAnimatedEnumerationPropertyTearOff::currentAnimatedValue): Forward call to SVGAnimatedStaticPropertyTearOff<int>, our base.
59702         * svg/properties/SVGAnimatedListPropertyTearOff.h:
59703         (WebCore::SVGAnimatedListPropertyTearOff::isAnimating): Returns whether this property is being animated or not.
59704         (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue):
59705         * svg/properties/SVGAnimatedProperty.h:
59706         (WebCore::SVGAnimatedProperty::updateAnimVal): Will be used from SVGAnim*Element to update the current animVal, exposed to JS.
59707         (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper): Share more code with lookupWrapper.
59708         (WebCore::SVGAnimatedProperty::lookupWrapper): Cleanup code, avoid doing any work for non-SVGElement derived objects, like SVGViewSpec.
59709         * svg/properties/SVGAnimatedPropertyMacros.h: Make all lowerProperty() calls (eg. myRectElement->x()) return the animVal, if the property is being animated.
59710         * svg/properties/SVGAnimatedPropertyTearOff.h: Main logic for the new animVal stuff.
59711         (WebCore::SVGAnimatedPropertyTearOff::isAnimating):
59712         (WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue):
59713         (WebCore::SVGAnimatedPropertyTearOff::updateAnimVal):
59714         (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff):
59715         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
59716         (WebCore::SVGAnimatedStaticPropertyTearOff::isAnimating):
59717         (WebCore::SVGAnimatedStaticPropertyTearOff::currentAnimatedValue):
59718         * svg/properties/SVGPropertyTearOff.h:
59719         (WebCore::SVGPropertyTearOff::updateAnimVal):
59720
59721 2011-07-26  Shinya Kawanaka  <shinyak@google.com>
59722
59723         Uses isHTMLSpace to normalize white spaces.
59724         https://bugs.webkit.org/show_bug.cgi?id=57746
59725
59726         Reviewed by Kent Tamura.
59727
59728         Test: fast/forms/option-strip-unicode-spaces.html
59729
59730         * dom/OptionElement.cpp:
59731         (WebCore::OptionElement::normalizeText):
59732           Uses isHTMLSpace to trim and replace white spaces.
59733
59734 2011-07-25  Ryuan Choi  <ryuan.choi@samsung.com>
59735
59736         [CMAKE] Split JSC related files from WebCore/CMakeLists.txt
59737         https://bugs.webkit.org/show_bug.cgi?id=61350
59738
59739         Reviewed by Daniel Bates.
59740
59741         No new tests, just moving jsc related files from CMakeLists.txt to UseJSC.cmake.
59742
59743         * CMakeLists.txt:
59744         * UseJSC.cmake:
59745
59746 2011-07-25  Dan Bernstein  <mitz@apple.com>
59747
59748         Fix the build by committing a rename in this file that I neglected to include in the previous commit.
59749
59750         * css/CSSFontFaceSource.h:
59751
59752 2011-07-25  Dan Bernstein  <mitz@apple.com>
59753
59754         <rdar://problem/9835028> Font loading during layout can cause layout code to be re-entered via resource load delegate
59755         https://bugs.webkit.org/show_bug.cgi?id=65123
59756
59757         Reviewed by Anders Carlsson and Darin Adler.
59758
59759         Since CSSFontFaceSource::getFontData() can get called during layout, avoid calling out to loader
59760         code from under it, and instead defer that work using a zero-delay timer.
59761
59762         * css/CSSFontFaceSource.cpp:
59763         (WebCore::CSSFontFaceSource::CSSFontFaceSource):
59764         (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
59765         (WebCore::CSSFontFaceSource::getFontData): Rather than starting the font load here, schedule
59766         a zero-delay timer to do it.
59767         (WebCore::CSSFontFaceSource::startLoadingTimerFired): Added. Starts loading the font if needed.
59768         * css/CSSFontFaceSource.h:
59769
59770 2011-07-25  Al Patrick  <apatrick@chromium.org>
59771
59772         Removed support for the GL_latch_CHROMIUM extension which Chromium no longer supports.
59773         Replaced calls to SetLatch with calls to Flush since Flush now has barrier semantics in Chromium.
59774         https://bugs.webkit.org/show_bug.cgi?id=65043
59775
59776         Reviewed by James Robinson.
59777
59778         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
59779         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
59780         * platform/graphics/chromium/DrawingBufferChromium.cpp:
59781         (WebCore::DrawingBuffer::publishToPlatformLayer):
59782         * platform/graphics/chromium/Extensions3DChromium.h:
59783         * platform/graphics/chromium/LayerRendererChromium.cpp:
59784         (WebCore::LayerRendererChromium::LayerRendererChromium):
59785         (WebCore::LayerRendererChromium::drawLayers):
59786         (WebCore::LayerRendererChromium::addChildContext):
59787         (WebCore::LayerRendererChromium::removeChildContext):
59788         * platform/graphics/chromium/LayerRendererChromium.h:
59789
59790 2011-07-25  Sam Weinig  <sam@webkit.org>
59791
59792         Refactor ScrollableArea pinned predicates to be more generally useful
59793         <rdar://problem/9740379>
59794
59795         Reviewed by Dan Bernstein.
59796
59797         * platform/ScrollableArea.cpp:
59798         (WebCore::ScrollableArea::isPinnedInBothDirections):
59799         (WebCore::ScrollableArea::isPinnedHorizontallyInDirection):
59800         (WebCore::ScrollableArea::isPinnedVerticallyInDirection):
59801         * platform/ScrollableArea.h:
59802
59803 2011-07-25  Nico Weber  <thakis@chromium.org>
59804
59805         [chromium] components/mac: Make webcore not depend on CoreAnimation
59806         https://bugs.webkit.org/show_bug.cgi?id=65143
59807
59808         Reviewed by James Robinson.
59809
59810         * platform/chromium/ScrollAnimatorChromiumMac.mm:
59811
59812 2011-07-25  Ian Henderson  <ianh@apple.com>
59813
59814         WebFrame should have a method to determine its visual emptiness
59815         https://bugs.webkit.org/show_bug.cgi?id=64223
59816
59817         Reviewed by Dan Bernstein.
59818
59819         * page/FrameView.h:
59820         (WebCore::FrameView::isVisuallyNonEmpty): Add an accessor to FrameView
59821         so we can tell whether it's visually non-empty.
59822
59823 2011-07-25  Scott Graham  <scottmg@chromium.org>
59824
59825         REGRESSION (r39725?): Resources removed from document can not be freed until the document is deleted
59826         https://bugs.webkit.org/show_bug.cgi?id=61006
59827
59828         Reviewed by Nate Chapin.
59829
59830         Rollback previous patch. Occasional crashes seen caused by
59831         CachedResource being deleted twice.
59832
59833         * loader/cache/CachedResourceLoader.cpp:
59834         (WebCore::CachedResourceLoader::CachedResourceLoader):
59835         (WebCore::CachedResourceLoader::loadDone):
59836         * loader/cache/CachedResourceLoader.h:
59837
59838 2011-07-25  Chris Rogers  <crogers@google.com>
59839
59840         Deprecate AudioBufferSourceNode .looping attribute and implement .loop
59841         https://bugs.webkit.org/show_bug.cgi?id=65133
59842
59843         Reviewed by Kenneth Russell.
59844
59845         No new tests since audio API is not yet implemented.
59846
59847         * webaudio/AudioBufferSourceNode.cpp:
59848         (WebCore::AudioBufferSourceNode::renderFromBuffer):
59849         (WebCore::AudioBufferSourceNode::totalPitchRate):
59850         (WebCore::AudioBufferSourceNode::looping):
59851         (WebCore::AudioBufferSourceNode::setLooping):
59852         * webaudio/AudioBufferSourceNode.h:
59853         (WebCore::AudioBufferSourceNode::loop):
59854         (WebCore::AudioBufferSourceNode::setLoop):
59855         * webaudio/AudioBufferSourceNode.idl:
59856
59857 2011-07-25  James Robinson  <jamesr@chromium.org>
59858
59859         [chromium] HUD texture must be unreserved after drawing
59860         https://bugs.webkit.org/show_bug.cgi?id=65122
59861
59862         Unreserve the HUD texture after drawing.  To test, start chrome in debug with --show-fps-counter.  Since this is
59863         a debugging option, no tests.
59864
59865         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
59866         (WebCore::CCHeadsUpDisplay::draw):
59867
59868 2011-07-25  David Grogan  <dgrogan@chromium.org>
59869
59870         Fix leveldb crash when compacting during destruction
59871         https://bugs.webkit.org/show_bug.cgi?id=64494
59872
59873         Reviewed by Nate Chapin.
59874
59875         Only tested manually so far by following the repro instructions at
59876         crbug.com/88944
59877
59878         * platform/leveldb/LevelDBDatabase.cpp:
59879         (WebCore::LevelDBDatabase::~LevelDBDatabase):
59880         * storage/IDBLevelDBBackingStore.cpp:
59881         (WebCore::IDBLevelDBBackingStore::~IDBLevelDBBackingStore):
59882
59883 2011-07-25  David Reveman  <reveman@chromium.org>
59884
59885         [Chromium] Use correct vertex shader when rendering video layer.
59886         https://bugs.webkit.org/show_bug.cgi?id=65131
59887
59888         Reviewed by James Robinson.
59889
59890         Add new VertexShaderQuad program that is used by LayerTilerChromium.
59891         Change VertexShaderPosTexTransform so it works with CCVideoLayerImpl.
59892
59893         * platform/graphics/chromium/LayerTilerChromium.h:
59894         * platform/graphics/chromium/ShaderChromium.cpp:
59895         (WebCore::VertexShaderPosTexTransform::VertexShaderPosTexTransform):
59896         (WebCore::VertexShaderPosTexTransform::init):
59897         (WebCore::VertexShaderPosTexTransform::getShaderString):
59898         (WebCore::VertexShaderQuad::VertexShaderQuad):
59899         (WebCore::VertexShaderQuad::init):
59900         (WebCore::VertexShaderQuad::getShaderString):
59901         * platform/graphics/chromium/ShaderChromium.h:
59902         (WebCore::VertexShaderQuad::matrixLocation):
59903         (WebCore::VertexShaderQuad::texTransformLocation):
59904
59905 2011-07-25  Patrick Gansterer  <paroga@webkit.org>
59906
59907         Fix AtomicString vs. String usage in accessibility code
59908         https://bugs.webkit.org/show_bug.cgi?id=65086
59909
59910         Reviewed by Darin Adler.
59911
59912         Use AtomicString instead of String where appropriate
59913         to avoid implicit type conversations.
59914         Also fix a invalid reference to a temporary String.
59915
59916         * accessibility/AccessibilityObject.h:
59917         (WebCore::AccessibilityObject::setAccessibleName):
59918         * accessibility/AccessibilityRenderObject.cpp:
59919         (WebCore::AccessibilityRenderObject::elementsFromAttribute):
59920         (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription):
59921         (WebCore::AccessibilityRenderObject::setAccessibleName):
59922         * accessibility/AccessibilityRenderObject.h:
59923
59924 2011-07-25  Dan Bernstein  <mitz@apple.com>
59925
59926         Reverted r91699 due to
59927         <http://webkit.org/b/65134> REGRESSION: r91699 broke some font tests (image+text)
59928
59929         Many tests relied on font loading occurring synchronously in the cached and local cases.
59930
59931         * css/CSSFontFaceSource.cpp:
59932         (WebCore::CSSFontFaceSource::CSSFontFaceSource):
59933         (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
59934         (WebCore::CSSFontFaceSource::getFontData):
59935         * css/CSSFontFaceSource.h:
59936
59937 2011-06-07  Martin Robinson  <mrobinson@igalia.com>
59938
59939         Reviewed by Gustavo Noronha Silva.
59940
59941         [GTK] Use WebCore scrollbars for the DRT instead of GtkScrolledWindow
59942         https://bugs.webkit.org/show_bug.cgi?id=62252
59943
59944         Properly handle the situation where the GtkWidget wants WebCore to draw its
59945         own main frame scrollbars.
59946
59947         * platform/gtk/ScrollViewGtk.cpp:
59948         (WebCore::shouldCreateMainFrameScrollbar): Abstract this logic into a helper function.
59949         (WebCore::ScrollView::createScrollbar): Use the new helper.
59950         (WebCore::ScrollView::visibleContentRect): Use the new helper.
59951
59952 2011-07-25  David Hyatt  <hyatt@apple.com>
59953
59954         https://bugs.webkit.org/show_bug.cgi?id=65125
59955         
59956         (1) Add the new CSS3 positioned value for floats.
59957         (2) Rename FLEFT, FRIGHT and FNONE to our more modern convention: NoFloat, LeftFloat, RightFloat.
59958         (3) Replace uses of == FNONE and != FNONE with isFloating and !isFloating.
59959
59960         Reviewed by Dan Bernstein.
59961
59962         * css/CSSParser.cpp:
59963         (WebCore::CSSParser::parseValue):
59964         * css/CSSPrimitiveValueMappings.h:
59965         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
59966         (WebCore::CSSPrimitiveValue::operator EFloat):
59967         * css/CSSStyleSelector.cpp:
59968         (WebCore::CSSStyleSelector::adjustRenderStyle):
59969         * css/CSSValueKeywords.in:
59970         * editing/ReplaceSelectionCommand.cpp:
59971         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
59972         * rendering/RenderBlock.cpp:
59973         (WebCore::RenderBlock::insertFloatingObject):
59974         (WebCore::RenderBlock::positionNewFloats):
59975         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
59976         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
59977         * rendering/RenderObjectChildList.cpp:
59978         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
59979         * rendering/style/RenderStyle.h:
59980         (WebCore::InheritedFlags::isFloating):
59981         (WebCore::InheritedFlags::initialFloating):
59982         * rendering/style/RenderStyleConstants.h:
59983
59984 2011-07-25  Dan Bernstein  <mitz@apple.com>
59985
59986         <rdar://problem/9835028> Font loading during layout can cause layout code to be re-entered via resource load delegate
59987         https://bugs.webkit.org/show_bug.cgi?id=65123
59988
59989         Reviewed by Anders Carlsson.
59990
59991         Since CSSFontFaceSource::getFontData() can get called during layout, avoid calling out to loader
59992         code from under it, and instead defer that work using a zero-delay timer.
59993
59994         * css/CSSFontFaceSource.cpp:
59995         (WebCore::CSSFontFaceSource::CSSFontFaceSource):
59996         (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
59997         (WebCore::CSSFontFaceSource::getFontData): Rather than starting the font load here, schedule
59998         a zero-delay timer to do it.
59999         (WebCore::CSSFontFaceSource::startLoadingTimerFired): Added. Starts loading the font if needed.
60000         * css/CSSFontFaceSource.h:
60001
60002 2011-07-25  Andrew Wason  <rectalogic@rectalogic.com>
60003
60004         [Qt] Adopt GraphicsContext3DOpenGL.cpp and ANGLE (part 2)
60005         https://bugs.webkit.org/show_bug.cgi?id=64878
60006
60007         Reviewed by Noam Rosenthal.
60008
60009         Existing WebGL layout tests should test this.
60010
60011         Adopt GraphicsContext3DOpenGL.cpp and ANGLE compiler for Qt.
60012
60013         * WebCore.pro: Build ANGLE compiler and GraphicsContext3DOpenGL.cpp.
60014         * platform/graphics/ANGLEWebKitBridge.h:
60015         * platform/graphics/GraphicsContext3D.h: Expose exising ANGLEWebKitBridge compiler member for Qt.
60016         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
60017         * platform/graphics/qt/GraphicsContext3DQt.cpp:
60018         (WebCore::GraphicsContext3D::GraphicsContext3D): Initialize ANGLE resources.
60019
60020 2011-07-25  Daniel Bates  <dbates@rim.com>
60021
60022         REGRESSION (r85964): Improper relayout of some nested positioned elements
60023         https://bugs.webkit.org/show_bug.cgi?id=64286
60024
60025         Reviewed by David Hyatt.
60026
60027         Fixes an issue when traversing up the containing block hierarchy after skipping
60028         relatively positioned inlines.
60029
60030         When processing a positioned element we skip any intermediate inlines to get to
60031         to enclosing block B, but don't use the containing block for B (call this P_B) to
60032         properly continue traversing up the containing block hierarchy. So, B may be
60033         considered again instead of looking at P_B. Hence, we don't set the correct dirty
60034         bits for P_B and may not schedule a relayout with respect to the correct layout node.
60035
60036         Test: fast/block/positioning/relayout-nested-positioned-elements-crash.html
60037
60038         * rendering/RenderObject.h:
60039         (WebCore::RenderObject::markContainingBlocksForLayout):
60040
60041 2011-07-25  Arno Renevier  <arno@renevier.net>
60042
60043         removes last ENABLE(DRAG_SUPPORT) gtk check
60044         https://bugs.webkit.org/show_bug.cgi?id=64518
60045
60046         Reviewed by Martin Robinson.
60047
60048         * platform/gtk/ClipboardGtk.h:
60049
60050 2011-07-25  Alexandru Chiculita  <achicu@adobe.com>
60051
60052         [CSS Exclusions] Use HANDLE_INHERIT_AND_INITIAL when parsing -webkit-wrap-shape
60053         https://bugs.webkit.org/show_bug.cgi?id=65096
60054
60055         Also the 'inherit' keyword is now treated correctly. It will
60056         copy the value from the parent style.
60057
60058         Reviewed by Tony Chang.
60059
60060         * css/CSSStyleSelector.cpp:
60061         (WebCore::CSSStyleSelector::applyProperty):
60062
60063 2011-07-25  Andrew Wason  <rectalogic@rectalogic.com>
60064
60065         glActiveTexture(0) is invalid
60066         https://bugs.webkit.org/show_bug.cgi?id=65115
60067
60068         Reviewed by Kenneth Russell.
60069
60070         Existing WebGL layout tests.
60071
60072         Fix invalid glActiveTexture(0) call.
60073
60074         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
60075         (WebCore::GraphicsContext3D::prepareTexture):
60076
60077 2011-07-25  Sheriff Bot  <webkit.review.bot@gmail.com>
60078
60079         Unreviewed, rolling out r91665.
60080         http://trac.webkit.org/changeset/91665
60081         https://bugs.webkit.org/show_bug.cgi?id=65118
60082
60083         Breaks inspector tests on JSC (Requested by pfeldman on
60084         #webkit).
60085
60086         * inspector/InjectedScriptSource.js:
60087         (.):
60088         ():
60089         * inspector/Inspector.json:
60090         * inspector/front-end/ConsoleView.js:
60091         (WebInspector.ConsoleView.prototype._format):
60092         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
60093         (WebInspector.ConsoleMessage.prototype._format):
60094         * inspector/front-end/ElementsTreeOutline.js:
60095         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
60096         * inspector/front-end/ObjectPropertiesSection.js:
60097         (WebInspector.ObjectPropertyTreeElement.prototype.update):
60098         * inspector/front-end/PropertiesSidebarPane.js:
60099         (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
60100         * inspector/front-end/RemoteObject.js:
60101         (WebInspector.RemoteObject):
60102         (WebInspector.RemoteObject.fromPrimitiveValue):
60103         (WebInspector.RemoteObject.fromPayload):
60104         (WebInspector.RemoteObject.prototype.callFunction):
60105         (WebInspector.LocalJSONObject.prototype.get type):
60106         * inspector/front-end/SourceFrame.js:
60107         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
60108         (WebInspector.SourceFrame.prototype._showPopup):
60109         * inspector/front-end/inspector.js:
60110         (WebInspector.log.logMessage):
60111         (WebInspector.log):
60112         (WebInspector.inspect):
60113
60114 2011-07-25  Sheriff Bot  <webkit.review.bot@gmail.com>
60115
60116         Unreviewed, rolling out r91668.
60117         http://trac.webkit.org/changeset/91668
60118         https://bugs.webkit.org/show_bug.cgi?id=65117
60119
60120         Breaks inspector tests on JSC (Requested by pfeldman on
60121         #webkit).
60122
60123         * inspector/InjectedScript.cpp:
60124         (WebCore::InjectedScript::callFunctionOn):
60125         * inspector/InjectedScript.h:
60126         * inspector/InjectedScriptSource.js:
60127         (.):
60128         * inspector/Inspector.json:
60129         * inspector/InspectorRuntimeAgent.cpp:
60130         (WebCore::InspectorRuntimeAgent::callFunctionOn):
60131
60132 2011-07-25  Pavel Feldman  <pfeldman@google.com>
60133
60134         Web Inspector: use dedicated type for object id in the protocol.
60135         https://bugs.webkit.org/show_bug.cgi?id=65110
60136
60137         Reviewed by Yury Semikhatsky.
60138
60139         * inspector/InjectedScript.cpp:
60140         (WebCore::InjectedScript::callFunctionOn):
60141         * inspector/InjectedScript.h:
60142         * inspector/InjectedScriptSource.js:
60143         (.):
60144         * inspector/Inspector.json:
60145         * inspector/InspectorRuntimeAgent.cpp:
60146         (WebCore::InspectorRuntimeAgent::callFunctionOn):
60147
60148 2011-07-25  Yury Semikhatsky  <yurys@chromium.org>
60149
60150         [Chromium] Web Inspector: live edit error should be revealed in Console
60151         https://bugs.webkit.org/show_bug.cgi?id=65109
60152
60153         Reviewed by Pavel Feldman.
60154
60155         * inspector/front-end/SourceFrame.js:
60156         (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
60157         (WebInspector.SourceFrame.prototype.commitEditing):
60158
60159 2011-07-25  Pavel Feldman  <pfeldman@google.com>
60160
60161         Web Inspector: refactor remote object structure to contain value for primitive values.
60162         https://bugs.webkit.org/show_bug.cgi?id=65103
60163
60164         Reviewed by Yury Semikhatsky.
60165
60166         * inspector/InjectedScriptSource.js:
60167         * inspector/Inspector.json:
60168         * inspector/front-end/ConsoleView.js:
60169         (WebInspector.ConsoleView.prototype._format):
60170         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
60171         (WebInspector.ConsoleMessage.prototype._format):
60172         * inspector/front-end/ElementsTreeOutline.js:
60173         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
60174         * inspector/front-end/ObjectPropertiesSection.js:
60175         (WebInspector.ObjectPropertyTreeElement.prototype.update):
60176         * inspector/front-end/PropertiesSidebarPane.js:
60177         (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
60178         * inspector/front-end/RemoteObject.js:
60179         (WebInspector.RemoteObject):
60180         (WebInspector.RemoteObject.fromPrimitiveValue):
60181         (WebInspector.RemoteObject.fromPayload):
60182         (WebInspector.RemoteObject.prototype.get subtype):
60183         (WebInspector.RemoteObject.prototype.callFunction):
60184         (WebInspector.LocalJSONObject.prototype.get type):
60185         (WebInspector.LocalJSONObject.prototype.get subtype):
60186         * inspector/front-end/SourceFrame.js:
60187         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
60188         (WebInspector.SourceFrame.prototype._showPopup):
60189         * inspector/front-end/inspector.js:
60190         (WebInspector.log.logMessage):
60191         (WebInspector.log):
60192         (WebInspector.inspect):
60193
60194 2011-07-25  Mikhail Naganov  <mnaganov@chromium.org>
60195
60196         Web Inspector: [Chromium] Fix mixing of retaining path in heap profiler.
60197         https://bugs.webkit.org/show_bug.cgi?id=65028
60198
60199         Reviewed by Pavel Feldman.
60200
60201         * inspector/front-end/DetailedHeapshotView.js:
60202         (WebInspector.HeapSnapshotPathFinderState): Added
60203         (WebInspector.HeapSnapshotRetainingPathsList): Extracted State-specific code
60204
60205 2011-07-25  Yury Semikhatsky  <yurys@chromium.org>
60206
60207         Web Inspector: worker inspector should show Scripts panel by default
60208         https://bugs.webkit.org/show_bug.cgi?id=65099
60209
60210         Reviewed by Pavel Feldman.
60211
60212         * inspector/front-end/inspector.js:
60213         (WebInspector._defaultPanelName):
60214         (WebInspector.showPanel):
60215
60216 2011-07-24  Luke Macpherson   <macpherson@chromium.org>
60217
60218         Small cleanup of m_fontDirty tracking in CSSStyleSelector
60219         https://bugs.webkit.org/show_bug.cgi?id=65090
60220
60221         Reviewed by Darin Adler.
60222
60223         1) Use existing setFontDescription helper where appropriate.
60224         2) Move always used m_fontDirty check into updateFont()
60225
60226         No new tests / cleanup only.
60227
60228         * css/CSSStyleSelector.cpp:
60229         (WebCore::CSSStyleSelector::styleForElement):
60230         (WebCore::CSSStyleSelector::styleForKeyframe):
60231         (WebCore::CSSStyleSelector::pseudoStyleForElement):
60232         (WebCore::CSSStyleSelector::styleForPage):
60233         (WebCore::CSSStyleSelector::updateFontIfDirty):
60234         (WebCore::CSSStyleSelector::applyProperty):
60235         * css/CSSStyleSelector.h:
60236
60237 2011-07-24  Kent Tamura  <tkent@chromium.org>
60238
60239         Validation message bubble position is incorrect if the containing block has paddings.
60240         https://bugs.webkit.org/show_bug.cgi?id=65091
60241
60242         Reviewed by Hajime Morita.
60243
60244         * html/ValidationMessage.cpp:
60245         (WebCore::adjustBubblePosition):
60246         We don't need to subtract paddings because the origin of
60247         position:aboslute is inside borders and outside of the padding.
60248
60249 2011-07-24  Rob Buis  <rbuis@rim.com>
60250
60251         Crash in SVGUseElement::updateContainerOffsets on <use> with no parent
60252         https://bugs.webkit.org/show_bug.cgi?id=63646
60253
60254         Reviewed by Darin Adler.
60255
60256         Prevent using invalid targetElementInstance->shadowTreeElement after shadow render tree recreation. This situation can
60257         only occur when there was a valid shadowTreeElement before setting xlink:href to empty/invalid.
60258
60259         Test: svg/custom/use-shadow-root-parent-removal.svg
60260
60261         * svg/SVGUseElement.cpp:
60262         (WebCore::SVGUseElement::svgAttributeChanged):
60263
60264 2011-07-24  Patrick Gansterer  <paroga@webkit.org>
60265
60266         Fix AtomicString vs. String usage in JSC binding
60267         https://bugs.webkit.org/show_bug.cgi?id=65085
60268
60269         Reviewed by Darin Adler.
60270
60271         Use ustringToAtomicString instead of ustringToString where appropriate.
60272
60273         * bindings/js/JSHTMLAllCollectionCustom.cpp:
60274         * bindings/js/JSHTMLCollectionCustom.cpp:
60275
60276 2011-07-24  Luke Macpherson   <macpherson@chromium.org>
60277
60278         Implement CSSPropertyOutlineOffset in CSSStyleApplyProperty.
60279         https://bugs.webkit.org/show_bug.cgi?id=64773
60280
60281         Reviewed by Dimitri Glazkov.
60282
60283         No new tests / refactoring only.
60284
60285         * css/CSSStyleApplyProperty.cpp:
60286         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
60287         * css/CSSStyleSelector.cpp:
60288         (WebCore::CSSStyleSelector::applyProperty):
60289
60290 2011-07-24  Rob Buis  <rbuis@rim.com>
60291
60292         SVG <use> element is not repositioned when moved to x=0 y=0 through script 
60293         https://bugs.webkit.org/show_bug.cgi?id=53767
60294
60295         Reviewed by Nikolas Zimmermann.
60296
60297         Only bail out on zero offset if it is not explicitly set.
60298
60299         Test: svg/custom/use-move-to-offset.svg
60300
60301         * rendering/svg/RenderSVGTransformableContainer.cpp:
60302         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
60303         * rendering/svg/SVGShadowTreeElements.cpp:
60304         (WebCore::SVGShadowTreeContainerElement::SVGShadowTreeContainerElement):
60305         (WebCore::SVGShadowTreeContainerElement::setContainerOffset):
60306         * rendering/svg/SVGShadowTreeElements.h:
60307         (WebCore::SVGShadowTreeContainerElement::containerOffsetChanged):
60308         (WebCore::SVGShadowTreeContainerElement::setContainerOffsetChanged):
60309
60310 2011-07-24  Jeffrey Pfau  <jpfau@apple.com>
60311
60312         Refactor HTML tokenizer code in preparation for a new XML tokenizer
60313         https://bugs.webkit.org/show_bug.cgi?id=65000
60314
60315         Reviewed by Adam Barth.
60316
60317         * GNUmakefile.list.am:
60318         * WebCore.gypi:
60319         * WebCore.pro:
60320         * WebCore.vcproj/WebCore.vcproj:
60321         * WebCore.xcodeproj/project.pbxproj:
60322         * html/parser/HTMLDocumentParser.cpp:
60323         (WebCore::HTMLNames::tokenizerStateForContextElement):
60324         (WebCore::HTMLDocumentParser::pumpTokenizer):
60325         * html/parser/HTMLTokenizer.cpp:
60326         (WebCore::HTMLNames::isEndTagBufferingState):
60327         (WebCore::HTMLTokenizer::HTMLTokenizer):
60328         (WebCore::::shouldSkipNullCharacters):
60329         (WebCore::HTMLTokenizer::reset):
60330         (WebCore::HTMLTokenizer::flushEmitAndResumeIn):
60331         (WebCore::HTMLTokenizer::nextToken):
60332         (WebCore::HTMLTokenizer::updateStateFor):
60333         * html/parser/HTMLTokenizer.h:
60334         (WebCore::HTMLTokenizer::emitAndResumeIn):
60335         (WebCore::HTMLTokenizer::emitAndReconsumeIn):
60336         (WebCore::HTMLTokenizer::saveEndTagNameIfNeeded):
60337         * html/parser/HTMLTreeBuilder.cpp:
60338         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
60339         (WebCore::HTMLTreeBuilder::processEndTag):
60340         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
60341         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
60342         (WebCore::HTMLTreeBuilder::processScriptStartTag):
60343         * html/parser/TextDocumentParser.cpp:
60344         (WebCore::TextDocumentParser::TextDocumentParser):
60345         * html/parser/TextViewSourceParser.cpp:
60346         (WebCore::TextViewSourceParser::TextViewSourceParser):
60347         * xml/parser/MarkupTokenBase.h:
60348         (WebCore::MarkupTokenBase::type):
60349         * xml/parser/MarkupTokenizerBase.h: Added.
60350         (WebCore::MarkupTokenizerBase::~MarkupTokenizerBase):
60351         (WebCore::MarkupTokenizerBase::lineNumber):
60352         (WebCore::MarkupTokenizerBase::columnNumber):
60353         (WebCore::MarkupTokenizerBase::state):
60354         (WebCore::MarkupTokenizerBase::setState):
60355         (WebCore::MarkupTokenizerBase::forceNullCharacterReplacement):
60356         (WebCore::MarkupTokenizerBase::setForceNullCharacterReplacement):
60357         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::InputStreamPreprocessor):
60358         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::nextInputCharacter):
60359         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::peek):
60360         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::advance):
60361         (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::shouldTreatNullAsEndOfFileMarker):
60362         (WebCore::MarkupTokenizerBase::MarkupTokenizerBase):
60363         (WebCore::MarkupTokenizerBase::bufferCharacter):
60364         (WebCore::MarkupTokenizerBase::emitAndResumeIn):
60365         (WebCore::MarkupTokenizerBase::emitAndReconsumeIn):
60366         (WebCore::MarkupTokenizerBase::emitEndOfFile):
60367         (WebCore::MarkupTokenizerBase::reset):
60368         (WebCore::MarkupTokenizerBase::haveBufferedCharacterToken):
60369         * xml/parser/MarkupTokenizerInlineMethods.h: Added.
60370         (WebCore::isTokenizerWhitespace):
60371         (WebCore::advanceStringAndASSERTIgnoringCase):
60372         (WebCore::advanceStringAndASSERT):
60373
60374 2011-07-23  Patrick Gansterer  <paroga@webkit.org>
60375
60376         Remove WTF namespace from isMainThread() calls
60377         https://bugs.webkit.org/show_bug.cgi?id=65068
60378
60379         Reviewed by Sam Weinig.
60380
60381         Because of the using WTF::isMainThread in the header there is no
60382         reason to include the namespace name when calling this function.
60383
60384         * bindings/js/JSMainThreadExecState.h:
60385         * bindings/v8/DOMDataStore.cpp:
60386         * bindings/v8/V8Binding.cpp:
60387         * bindings/v8/V8DOMMap.cpp:
60388         * bindings/v8/V8DOMWrapper.h:
60389         * page/DOMWindow.cpp:
60390         * page/History.cpp:
60391
60392 2011-07-23  Alok Priyadarshi  <alokp@chromium.org>
60393
60394         Switching off acceleration for small canvas broke gpu tests
60395         https://bugs.webkit.org/show_bug.cgi?id=65053
60396
60397         Reviewed by Stephen White.
60398
60399         No new tests. These are supposed to fix existing canvas tests on gpu.
60400
60401         * html/canvas/CanvasRenderingContext2D.cpp:
60402         (WebCore::shouldAccelerateCanvas):
60403         * page/Settings.cpp:
60404         (WebCore::Settings::Settings):
60405         (WebCore::Settings::setLegacyAccelerated2dCanvasEnabled):
60406         (WebCore::Settings::setMinimumAccelerated2dCanvasSize):
60407         * page/Settings.h:
60408         (WebCore::Settings::minimumAccelerated2dCanvasSize):
60409
60410 2011-07-23  Rob Buis  <rbuis@rim.com>
60411
60412         Freed SVGTRefElement used in SVGStyledElement::buildPendingResourcesIfNeeded
60413         https://bugs.webkit.org/show_bug.cgi?id=64758
60414
60415         Reviewed by Nikolas Zimmermann.
60416
60417         Fix the crash by storing referenced content inside a shadow tree. This way removing child nodes of
60418         the <tref> does not remove the referenced content.
60419
60420         * dom/Text.cpp:
60421         (WebCore::Text::recalcStyle):
60422         * dom/Text.h:
60423         * svg/SVGTRefElement.cpp:
60424         (WebCore::SVGShadowText::create):
60425         (WebCore::SVGShadowText::SVGShadowText):
60426         (WebCore::SVGShadowText::createRenderer):
60427         (WebCore::SVGShadowText::recalcStyle):
60428         (WebCore::SVGTRefElement::updateReferencedText):
60429         (WebCore::SVGTRefElement::childShouldCreateRenderer):
60430
60431 2011-07-23  Shinya Kawanaka  <shinyak@google.com>
60432
60433         Display number field without using a thousand separator.
60434         https://bugs.webkit.org/show_bug.cgi?id=65064
60435
60436         Reviewed by Kent Tamura.
60437
60438         Separated formatters for parsing and displaying.
60439         Removed a test for thousand separator.
60440
60441         * manual-tests/input-number-localization.html:
60442         Removed a test for thousand separator.
60443         Made the test description more specific.
60444         * platform/text/LocalizedNumberICU.cpp:
60445         (WebCore::createFormatterForCurrentLocaleToDisplay):
60446         Added to introduce a formatter for display.
60447         (WebCore::numberFormatterForParsing):
60448         Changed the name to be clear.
60449         (WebCore::numberFormatterForDisplay): Added.
60450         (WebCore::parseLocalizedNumber): Used numberFormatterForParsing.
60451         (WebCore::formatLocalizedNumber): Used numberFormatterForDisplay.
60452         * platform/text/mac/LocalizedNumberMac.mm:
60453         (WebCore::createFormatterForCurrentLocaleForDisplay):
60454         Added to introduce a formatter for display.
60455         (WebCore::numberFormatterForParsing):
60456         Changed the name to be clear.
60457         (WebCore::numberFormatterForDisplay): Added.
60458         (WebCore::parseLocalizedNumber): Used numberFormatterForParsing.
60459         (WebCore::formatLocalizedNumber): Used numberFormatterForDisplay.
60460
60461 2011-07-22  James Robinson  <jamesr@chromium.org>
60462
60463         [chromium] Seperate texture management for contents textures vs render surface textures
60464         https://bugs.webkit.org/show_bug.cgi?id=64771
60465
60466         Reviewed by Kenneth Russell.
60467
60468         Splits the chromium texture management across two TextureManagers, one for contents textures and one for render
60469         surfaces.  The lifetimes and relative evicition costs for these types of textures are significantly different.
60470         Content textures need to be managed from paint time through draw time and evicting them is generally expensive,
60471         since replacing the texture requires doing a software repaint into a buffer, creating a new texture, and
60472         uploading the contents into the texture.  Render surface textures are only used while drawing and never contain
60473         useful contents between frames.  The only reason to preserve a render surface texture between frames is to avoid
60474         having to create the texture on the next frame, they never contain useful contents across frames.
60475
60476         The contents texture limits remain the same.  Render surfaces are allocated the difference between the high
60477         memory bound and the contents texture memory use during a frame and the difference between the low memory bound
60478         and the contents texture memory use between frames.
60479
60480         Covered by existing compositing tests.
60481
60482         * platform/graphics/chromium/LayerRendererChromium.cpp:
60483         (WebCore::LayerRendererChromium::releaseTextures):
60484         (WebCore::LayerRendererChromium::drawLayers):
60485         (WebCore::LayerRendererChromium::updateLayers):
60486         (WebCore::LayerRendererChromium::initializeSharedObjects):
60487         (WebCore::LayerRendererChromium::cleanupSharedObjects):
60488         * platform/graphics/chromium/LayerRendererChromium.h:
60489         (WebCore::LayerRendererChromium::contentsTextureManager):
60490         (WebCore::LayerRendererChromium::renderSurfaceTextureManager):
60491         * platform/graphics/chromium/LayerTilerChromium.cpp:
60492         (WebCore::LayerTilerChromium::createTile):
60493         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
60494         (WebCore::RenderSurfaceChromium::prepareContentsTexture):
60495         * platform/graphics/chromium/TextureManager.cpp:
60496         (WebCore::TextureManager::TextureManager):
60497         (WebCore::TextureManager::setMemoryLimitBytes):
60498         (WebCore::TextureManager::requestTexture):
60499         * platform/graphics/chromium/TextureManager.h:
60500         (WebCore::TextureManager::create):
60501         (WebCore::TextureManager::currentMemoryUseBytes):
60502         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
60503         (WebCore::CCHeadsUpDisplay::draw):
60504
60505 2011-07-22  Simon Fraser  <simon.fraser@apple.com>
60506
60507         Avoiding painting backgrounds if they are fully obscures by an object's foreground
60508         https://bugs.webkit.org/show_bug.cgi?id=65030
60509
60510         Reviewed by Dan Bernstein.
60511
60512         Some pages use animated loading GIFs as the background of <img>,
60513         but WebKit keeps animating these after the <img> has loaded.
60514         
60515         Thwart this by avoiding the painting of such backgrounds, if we can
60516         determine that they are completely obscured by the border and content
60517         of the element.
60518
60519         * platform/graphics/BitmapImage.h:
60520         (WebCore::BitmapImage::currentFrameHasAlpha): Utility method, since currentFrame()
60521         is protected.
60522         * rendering/RenderBox.cpp:
60523         (WebCore::RenderBox::paintBoxDecorations): Call paintBackground().
60524         (WebCore::RenderBox::paintBackground): New wrapper for the paintFillLayers() which
60525         paints the background layers, plus some code we call in a couple of places. This
60526         checks the new backgroundIsObscured() method before doing any painting.
60527         * rendering/RenderBox.h:
60528         (WebCore::RenderBox::backgroundIsObscured): New virtual method that determines
60529         whether any of the background is visible.
60530         * rendering/RenderBoxModelObject.h:
60531         * rendering/RenderBoxModelObject.cpp:
60532         (WebCore::BorderEdge::obscuresBackground): Returns true if this edge will
60533         entirely hide the background under it.
60534         (WebCore::RenderBoxModelObject::borderObscuresBackground): Determine whether
60535         the border hides the background.
60536         * rendering/RenderImage.cpp:
60537         (WebCore::RenderImage::backgroundIsObscured): Override the RenderBox method
60538         and return true if the image is a loaded, opaque bitmap image, and the background
60539         won't show in the border or padding areas.
60540         * rendering/RenderImage.h:
60541         * rendering/RenderTable.cpp:
60542         (WebCore::RenderTable::paintBoxDecorations): Use paintBackground().
60543
60544 2011-07-22  Kenneth Russell  <kbr@google.com>
60545
60546         HTMLImageElement::crossOrigin is hard to use because of caching
60547         https://bugs.webkit.org/show_bug.cgi?id=64813
60548
60549         Reviewed by Adam Barth.
60550
60551         Reload the resource if the allowCredentials flag doesn't match that in the request.
60552
60553         Test: http/tests/security/canvas-remote-read-remote-image-blocked-then-allowed.html
60554
60555         * loader/cache/CachedResourceLoader.cpp:
60556         (WebCore::CachedResourceLoader::requestResource):
60557         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
60558         * loader/cache/CachedResourceLoader.h:
60559
60560 2011-07-22  Simon Fraser  <simon.fraser@apple.com>
60561
60562         Need to update the acceleratesDrawing status on a layer when switching to/from tiled layers
60563         https://bugs.webkit.org/show_bug.cgi?id=65057
60564
60565         Reviewed by Joseph Pecoraro.
60566
60567         When switching to or from tiled layers, we need to update the new layer's
60568         acceleratesDrawing status.
60569
60570         * platform/graphics/ca/GraphicsLayerCA.cpp:
60571         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
60572
60573 2011-07-22  Mark Pilgrim  <pilgrim@chromium.org>
60574
60575         Add [Optional=CallWithDefaultValues] flag and use it in initXXXEvent declarations
60576         https://bugs.webkit.org/show_bug.cgi?id=64973
60577
60578         Reviewed by Adam Barth.
60579
60580         We are doing away with the interface-level LegacyDefaultOptionalArguments
60581         flag. To handle some cases of the old behavior, we need to define a new
60582         (argument-level) flag so that functions can define optional arguments
60583         but not have to declare every single combination of arguments in C++.
60584         The old code generator handled this by calling a single C++ function
60585         with all arguments, but with default values for the "optional" arguments.
60586         Thus, this patch invents a new argument-level flag called
60587         [Optional=CallWithDefaultValue] that emulates the old behavior.
60588
60589         This patch also fixes all the initXXXEvent declarations to remove the
60590         LegacyDefaultOptionalArguments flag and use the new
60591         [Optional=CallWithDefaultValue] flag only on the specific arguments that
60592         require it for backward compatibility.
60593
60594         No new tests, all existing tests pass.
60595
60596         * bindings/scripts/CodeGeneratorJS.pm:
60597         (GenerateImplementation):
60598         * bindings/scripts/CodeGeneratorV8.pm:
60599         (GenerateFunctionCallback):
60600         * dom/BeforeLoadEvent.idl:
60601         * dom/BeforeProcessEvent.idl:
60602         * dom/CompositionEvent.idl:
60603         * dom/CustomEvent.idl:
60604         * dom/DeviceMotionEvent.idl:
60605         * dom/DeviceOrientationEvent.idl:
60606         * dom/ErrorEvent.idl:
60607         * dom/Event.idl:
60608         * dom/HashChangeEvent.idl:
60609         * dom/KeyboardEvent.idl:
60610         * dom/MessageEvent.idl:
60611         * dom/MouseEvent.idl:
60612         * dom/MutationEvent.idl:
60613         * dom/OverflowEvent.idl:
60614         * dom/PageTransitionEvent.idl:
60615         * dom/PopStateEvent.idl:
60616         * dom/ProgressEvent.idl:
60617         * dom/StreamEvent.idl:
60618         * dom/TextEvent.idl:
60619         * dom/TouchEvent.idl:
60620         * dom/UIEvent.idl:
60621         * dom/WebKitAnimationEvent.idl:
60622         * dom/WebKitTransitionEvent.idl:
60623         * dom/WheelEvent.idl:
60624         * html/canvas/WebGLContextEvent.idl:
60625         * storage/StorageEvent.idl:
60626         * websockets/CloseEvent.idl:
60627
60628 2011-07-22  Jessie Berlin  <jberlin@apple.com>
60629
60630         [WebKit2] Changing the cookie accept policy in Private Browsing doesn’t work
60631         https://bugs.webkit.org/show_bug.cgi?id=64997
60632
60633         Reviewed by Ada Chan.
60634
60635         * WebCore.exp.in:
60636         * platform/mac/WebCoreSystemInterface.h:
60637         * platform/mac/WebCoreSystemInterface.mm:
60638
60639 2011-07-22  Sergey Glazunov  <serg.glazunov@gmail.com>
60640
60641         Perform the JavaScript navigation check on a complete URL
60642         https://bugs.webkit.org/show_bug.cgi?id=65038
60643
60644         Reviewed by Adam Barth.
60645
60646         Test: http/tests/security/xss-DENIED-document-baseURI-javascript.html
60647
60648         * page/DOMWindow.cpp:
60649         (WebCore::DOMWindow::setLocation):
60650         (WebCore::DOMWindow::createWindow):
60651         (WebCore::DOMWindow::open):
60652
60653 2011-07-22  Ryosuke Niwa  <rniwa@webkit.org>
60654
60655         Revert r91595 for it broke Chromium Windows build.
60656
60657         * WebCore.gyp/WebCore.gyp:
60658         * WebCore.gypi:
60659
60660 2011-07-22  Mihnea Ovidenie  <mihnea@adobe.com>
60661
60662         BORDER attribute with the IMG tag, using percentage values not working.
60663         https://bugs.webkit.org/show_bug.cgi?id=20226
60664
60665         Reviewed by Simon Fraser.
60666
60667         When border presentational attribute of image element has % in it, it should be parsed using
60668         HTML parser rules. In this case, the algorithm is the one used described in:
60669         http://www.whatwg.org/specs/web-apps/current-work/#rules-for-parsing-non-negative-integers
60670
60671         * html/HTMLImageElement.cpp:
60672         (WebCore::parseBorderWidthAttribute):
60673         (WebCore::HTMLImageElement::parseMappedAttribute):
60674         * html/parser/HTMLParserIdioms.cpp:
60675         (WebCore::parseHTMLNonNegativeInteger):
60676         * html/parser/HTMLParserIdioms.h:
60677
60678 2011-07-22  Scott Graham  <scottmg@chromium.org>
60679
60680         DocumentLoader keeps a reference to all URL strings ever loaded in m_resourcesClientKnowsAbout leading to lots of memory waste
60681         https://bugs.webkit.org/show_bug.cgi?id=61894
60682
60683         Reviewed by James Robinson.
60684
60685         DocumentLoader::m_resourcesClientKnowsAbout is a set of all the URLs
60686         that have passed through FrameLoader::dispatchWillSendRequest() and is
60687         used by FrameLoader::loadedResourceFromMemoryCached to decide whether
60688         to inform the FrameLoader's m_client about this load.  Unfortunately,
60689         this set holds a reference to the URL string for every resource
60690         loaded, so on pages that use data URLs to "load" large amounts of data
60691         this leaks lots of memory. The cache improves performance going through
60692         FrameLoader::loadResourceFromMemoryCache, so rather than removing it,
60693         simply exclude 'data:' urls from the cache to save the majority of
60694         memory that is held for too long.
60695
60696         * loader/DocumentLoader.h:
60697         (WebCore::DocumentLoader::didTellClientAboutLoad):
60698
60699 2011-07-22  Alok Priyadarshi  <alokp@chromium.org>
60700
60701         Use software rendering for small canvas
60702         https://bugs.webkit.org/show_bug.cgi?id=64958
60703
60704         Reviewed by Stephen White.
60705
60706         No new tests. Does not affect rendering output, just canvas backing.
60707         If there is a regression, they should be caught by existing canvas tests.
60708
60709         * html/HTMLCanvasElement.cpp:
60710         (WebCore::HTMLCanvasElement::reset):
60711         * html/canvas/CanvasRenderingContext2D.cpp:
60712         (WebCore::shouldAccelerateCanvas):
60713         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
60714         (WebCore::CanvasRenderingContext2D::reset):
60715         (WebCore::CanvasRenderingContext2D::platformLayer):
60716         (WebCore::CanvasRenderingContext2D::clearAcceleration):
60717         (WebCore::CanvasRenderingContext2D::resetAcceleration):
60718         * html/canvas/CanvasRenderingContext2D.h:
60719
60720 2011-07-21  Adrienne Walker  <enne@google.com>
60721
60722         Fix repainting of composited fixed position elements in iframes
60723         https://bugs.webkit.org/show_bug.cgi?id=64010
60724
60725         Reviewed by Simon Fraser.
60726
60727         In cases where an iframe's contents have their own graphics layer, the
60728         invalidation during scrolling was being sent to the wrong render
60729         layer. Fixed by checking if such a layer exists and routing scrolling
60730         invalidations there first.
60731
60732         * page/FrameView.cpp:
60733         (WebCore::FrameView::scrollContentsSlowPath):
60734
60735 2011-07-22  Viet-Trung Luu  <viettrungluu@chromium.org>
60736
60737         Improve (i.e., speed up) .gyp(i) files for Chromium
60738         https://bugs.webkit.org/show_bug.cgi?id=65032
60739
60740         Reviewed by Adam Barth.
60741
60742         Begin splitting off webcore_(privateheader_)files into separate lists
60743         (dom/html/svg in this patch), to avoid the very slow pattern of
60744         excluding all files and then filtering to include selected files.
60745
60746         Test by building (in all supported configurations).
60747
60748         * WebCore.gyp/WebCore.gyp:
60749         * WebCore.gypi:
60750
60751 2011-07-22  Tony Chang  <tony@chromium.org>
60752
60753         add placeholder RenderFlexibleBox.cpp files
60754         https://bugs.webkit.org/show_bug.cgi?id=64982
60755
60756         Reviewed by Ojan Vafai.
60757
60758         No new tests, just adding new files and making sure it compiles.
60759         Also adding the isFlexibleBox identifier to RenderObject.
60760
60761         * CMakeLists.txt:
60762         * GNUmakefile.list.am:
60763         * WebCore.gypi:
60764         * WebCore.pro:
60765         * WebCore.vcproj/WebCore.vcproj:
60766         * WebCore.xcodeproj/project.pbxproj:
60767         * rendering/RenderFlexibleBox.cpp: Added.
60768         (WebCore::RenderFlexibleBox::RenderFlexibleBox): Inherit from RenderBlock like the old flexbox.
60769         (WebCore::RenderFlexibleBox::~RenderFlexibleBox):
60770         (WebCore::RenderFlexibleBox::renderName):
60771         (WebCore::RenderFlexibleBox::layoutBlock):
60772         * rendering/RenderFlexibleBox.h: Added.
60773         (WebCore::RenderFlexibleBox::isFlexibleBox):
60774         * rendering/RenderObject.h:
60775         (WebCore::RenderObject::isFlexibleBox):
60776
60777 2011-07-22  James Robinson  <jamesr@chromium.org>
60778
60779         [chromium] Force slow scrolling path for non-composited frames in a composited page
60780         https://bugs.webkit.org/show_bug.cgi?id=64991
60781
60782         Reviewed by Darin Fisher.
60783
60784         The chromium compositor does not properly handle fast path scrolls for non-composited iframe in a composited
60785         page.
60786
60787         * page/FrameView.cpp:
60788         (WebCore::FrameView::useSlowRepaints):
60789
60790 2011-07-22  Andrew Scherkus  <scherkus@chromium.org>
60791
60792         Remove surfaceType() and texture() methods from Chromium video frame classes.
60793         https://bugs.webkit.org/show_bug.cgi?id=64818
60794
60795         Reviewed by Kenneth Russell.
60796
60797         No tests as code was never being executed.
60798
60799         * platform/graphics/chromium/VideoFrameChromium.h:
60800         * platform/graphics/chromium/VideoLayerChromium.cpp:
60801         (WebCore::VideoLayerChromium::updateCompositorResources):
60802         * platform/graphics/chromium/VideoLayerChromium.h:
60803
60804 2011-07-22  Nate Chapin  <japhet@chromium.org>
60805
60806         Don't treat child frame loads as back-forward navigations
60807         after the load event fires. This can lead to loading
60808         the wrong url in the child frame.
60809         https://bugs.webkit.org/show_bug.cgi?id=64895
60810
60811         Reviewed by Mihai Parparita.
60812
60813         Test: fast/loader/child-frame-add-after-back-forward.html
60814
60815         * dom/Document.h: Drive-by FIXME.
60816         * loader/DocumentLoader.h: Drive-by FIXME.
60817         * loader/FrameLoader.cpp:
60818         (WebCore::FrameLoader::loadURLIntoChildFrame):
60819
60820 2011-07-22  Kent Tamura  <tkent@google.com>
60821
60822         REGRESSION(r88757): The thumb of a vertical range slider is offset to the right on non-Mac.
60823         https://bugs.webkit.org/show_bug.cgi?id=65011
60824
60825         Reviewed by Dimitri Glazkov.
60826
60827         We need to update the apeearance of thumbs before the layout of RenderSlider.
60828
60829         * html/shadow/SliderThumbElement.cpp:
60830         (WebCore::RenderSliderThumb::updateAppearance):
60831         Added. This function adjsuts the apparance of a thumb for the appearance of an <input>.
60832         (WebCore::RenderSliderThumb::isSliderThumb):
60833         Added.  Returns true.
60834         (WebCore::RenderSliderThumb::layout):
60835         Remove the appearance adjustment code. It is unnecessary because it is
60836         done in RenderSlider::layout().
60837         (WebCore::trackLimiterElementOf): Added.
60838         * html/shadow/SliderThumbElement.h: Move RenderSliderThumb from SliderThumbElement.cpp.
60839         * rendering/RenderObject.h:
60840         (WebCore::RenderObject::isSliderThumb): Added. Returns false.
60841         * rendering/RenderSlider.cpp:
60842         (WebCore::RenderSlider::layout):
60843         If the renderers for the thumb element and the limiter element is
60844         RenderSliderThumb, updates its appearance.
60845
60846 2011-07-22  Kent Tamura  <tkent@chromium.org>
60847
60848         Validation message bubble is incorrectly positioned in a relative body.
60849         https://bugs.webkit.org/show_bug.cgi?id=65018
60850
60851         Reviewed by Dimitri Glazkov.
60852
60853         We use position:aboslute for validation message bubbles, and the
60854         origin of the absolute position can be not only the page, but also
60855         an ancestor block with non-static position.
60856
60857         Test: fast/forms/validation-message-in-relative-body.html
60858
60859         * html/ValidationMessage.cpp:
60860         (WebCore::adjustBubblePosition):
60861         Subtract the containing block position from the host position.
60862         (WebCore::ValidationMessage::buildBubbleTree):
60863         Change the order of appendChild() and adjustBubblePosition() in
60864         order to use RenderObject::containingBlock() in
60865         adjustbubbleposition().
60866
60867 2011-07-22  David Grogan  <dgrogan@chromium.org>
60868
60869         Fix crash in IDBRequest::abort
60870         https://bugs.webkit.org/show_bug.cgi?id=64740
60871
60872         Reviewed by Nate Chapin.
60873
60874         Tested manually with the testcase in the bug.
60875
60876         * storage/IDBRequest.cpp:
60877         (WebCore::IDBRequest::~IDBRequest):
60878         (WebCore::IDBRequest::abort):
60879
60880 2011-07-22  Patrick Gansterer  <paroga@webkit.org>
60881
60882         Replace preprocessor statements in IDL files with Conditional attribute
60883         https://bugs.webkit.org/show_bug.cgi?id=64961
60884
60885         Reviewed by Darin Adler.
60886
60887         Replaced ENABLE_DATALIST, ENABLE_DIRECTORY_UPLOAD, ENABLE_INPUT_SPEECH, ENABLE_MEDIA_STATISTICS
60888         and ENABLE_ORIENTATION_EVENTS with the corresponding Conditional attribute.
60889
60890         * html/HTMLBodyElement.idl:
60891         * html/HTMLFrameSetElement.idl:
60892         * html/HTMLInputElement.idl:
60893         * html/HTMLMediaElement.idl:
60894         * html/HTMLVideoElement.idl:
60895
60896 2011-07-22  Andrey Kosyakov  <caseq@chromium.org>
60897
60898         Web Inspector: [Extensions API] add webInspector.resources.onContentEdited
60899         https://bugs.webkit.org/show_bug.cgi?id=65024
60900
60901         Reviewed by Pavel Feldman.
60902
60903         * inspector/front-end/ExtensionAPI.js:
60904         (WebInspector.injectedExtensionAPI):
60905         * inspector/front-end/ExtensionServer.js:
60906         (WebInspector.ExtensionServer.prototype.notifyResourceContentEdited):
60907         * inspector/front-end/Resource.js:
60908         (WebInspector.Resource.prototype.addRevision):
60909
60910 2011-07-22  Pavel Podivilov  <podivilov@chromium.org>
60911
60912         Web Inspector: fix exception when paused in internal script.
60913         https://bugs.webkit.org/show_bug.cgi?id=64995
60914
60915         Reviewed by Yury Semikhatsky.
60916
60917         Test: inspector/debugger/pause-in-internal-script.html
60918
60919         * inspector/front-end/DebuggerPresentationModel.js:
60920         (WebInspector.PresenationCallFrame.prototype.sourceLine):
60921
60922 2011-07-22  Ilya Tikhonovsky  <loislo@chromium.org>
60923
60924         Web Inspector: sometimes ReceiveResponse event is attached to wrong parent.
60925         https://bugs.webkit.org/show_bug.cgi?id=65016
60926
60927         Reviewed by Yury Semikhatsky.
60928
60929         Test: inspector/timeline/timeline-receive-response-event.html
60930
60931         * inspector/InspectorTimelineAgent.cpp:
60932         (WebCore::InspectorTimelineAgent::didInstallTimer):
60933         (WebCore::InspectorTimelineAgent::didRemoveTimer):
60934         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
60935         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
60936         (WebCore::InspectorTimelineAgent::didTimeStamp):
60937         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
60938         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
60939         (WebCore::InspectorTimelineAgent::appendRecord):
60940         * inspector/InspectorTimelineAgent.h:
60941         * inspector/front-end/TimelinePanel.js:
60942         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
60943
60944 2011-07-22  Kentaro Hara  <haraken@google.com>
60945
60946         REGRESSION(r89535): Form reset does not repaint a file upload control.
60947         https://bugs.webkit.org/show_bug.cgi?id=65008
60948
60949         Reviewed by Kent Tamura.
60950
60951         This patch fixes the code so that the file upload control is repainted
60952         in updateFromElement() if no files are selected.
60953
60954         Tests: fast/forms/file-input-reset.html
60955
60956         * rendering/RenderFileUploadControl.cpp:
60957         (WebCore::RenderFileUploadControl::updateFromElement): Calls repaint() if no files are selected.
60958
60959 2011-07-22  Ilya Tikhonovsky  <loislo@chromium.org>
60960
60961         Web Inspector: the max depth of the Timeline events' stack trace should be customizable.
60962         https://bugs.webkit.org/show_bug.cgi?id=65023
60963
60964         Reviewed by Yury Semikhatsky.
60965
60966         * inspector/Inspector.json:
60967         * inspector/InspectorController.cpp:
60968         (WebCore::InspectorController::startTimelineProfiler):
60969         * inspector/InspectorTimelineAgent.cpp:
60970         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
60971         (WebCore::InspectorTimelineAgent::restore):
60972         (WebCore::InspectorTimelineAgent::start):
60973         (WebCore::InspectorTimelineAgent::didInstallTimer):
60974         (WebCore::InspectorTimelineAgent::didRemoveTimer):
60975         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
60976         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
60977         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
60978         (WebCore::InspectorTimelineAgent::didTimeStamp):
60979         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
60980         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
60981         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
60982         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
60983         * inspector/InspectorTimelineAgent.h:
60984         * inspector/TimelineRecordFactory.cpp:
60985         (WebCore::TimelineRecordFactory::createGenericRecord):
60986         * inspector/TimelineRecordFactory.h:
60987         * inspector/front-end/TimelineManager.js:
60988         (WebInspector.TimelineManager.prototype.start):
60989
60990 2011-07-22  Sheriff Bot  <webkit.review.bot@gmail.com>
60991
60992         Unreviewed, rolling out r91024.
60993         http://trac.webkit.org/changeset/91024
60994         https://bugs.webkit.org/show_bug.cgi?id=65017
60995
60996         number of problems happened with invisible elements which grab
60997         pointer events. (Requested by loislo on #webkit).
60998
60999         * inspector/front-end/inspector.css:
61000         (.panel):
61001         (.panel.visible):
61002
61003 2011-07-22  Jia Pu  <jpu@apple.com>
61004
61005         Reviewed by Darin Adler.
61006
61007         [Mac] Need to make sure autocorrection panel is dismissed in Document::setFocusNode().
61008         https://bugs.webkit.org/show_bug.cgi?id=64824
61009         <rdar://problem/9624232>
61010
61011         * editing/Editor.cpp:
61012         (WebCore::Editor::textFieldDidEndEditing): Dismiss autocorrection panel when current node losing focus.
61013
61014 2011-07-21  Kent Tamura  <tkent@chromium.org>
61015
61016         A trivial fix for r91550.
61017         https://bugs.webkit.org/show_bug.cgi?id=65001
61018
61019         Need to update placeholder visibility when the owner elemnent style is changed.
61020
61021         * html/HTMLTextFormControlElement.h: Make updatePlaceholderVisibility() public.
61022         * rendering/RenderTextControl.cpp:
61023         (WebCore::RenderTextControl::styleDidChange):
61024         Call updatePlaceholderVisibility().
61025
61026 2011-07-21  Pratik Solanki  <psolanki@apple.com>
61027
61028         https://bugs.webkit.org/show_bug.cgi?id=65002
61029         Get authentication to work with USE(CFNETWORK) on Mac
61030
61031         Reviewed by David Kilzer.
61032
61033         Instead of creating a new CFURLAuthChallengeRef, we save and reuse the same object as the
61034         one given to us by CFNetwork.
61035
61036         * platform/network/mac/AuthenticationMac.mm:
61037         (-[WebCoreAuthenticationClientAsChallengeSender setCFChallenge:]): Accessor methods for the
61038         new CFURLAuthChallengeRef ivar.
61039         (-[WebCoreAuthenticationClientAsChallengeSender cfChallenge]):
61040         (WebCore::core): Create AuthenticationChallenge using the saved CFURLAuthChallengeRef.
61041         (WebCore::mac): Use the CFURLAuthChallengeRef object in AuthenticationChallenge instead of
61042         creating a new one.
61043
61044 2011-07-21  Kent Tamura  <tkent@chromium.org>
61045
61046         REGRESSION(r90971): Placeholder and search cancel button are visible even in elements with visibility:hidden.
61047         https://bugs.webkit.org/show_bug.cgi?id=65001
61048
61049         Reviewed by Dimitri Glazkov.
61050
61051         Tests: fast/forms/placeholder-in-invisible-elements.html
61052                fast/forms/search-cancel-in-invisible-elements.html
61053
61054         * html/HTMLTextFormControlElement.cpp:
61055         (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
61056         Don't show the placeholder if the 'visibility' property of the owner element is 'hidden.'
61057         * rendering/RenderTextControlSingleLine.cpp:
61058         (WebCore::RenderTextControlSingleLine::visibilityForCancelButton): ditto.
61059
61060 2011-07-21  Shinya Kawanaka  <shinyak@google.com>
61061
61062         The input[type="number"] with step="any" should not suffer from step mismatch.
61063         https://bugs.webkit.org/show_bug.cgi?id=64858
61064
61065         Reviewed by Kent Tamura.
61066
61067         Added check step="any" not to suffer from step mismatch.
61068
61069         * html/HTMLInputElement.cpp:
61070         (WebCore::HTMLInputElement::applyStep): Added check step="any".
61071         (WebCore::HTMLInputElement::alignValueForStep): Added.
61072
61073 2011-07-21  MORITA Hajime  <morrita@google.com>
61074
61075         [Refactoring] ShadowContentSelector should be ShadowInclusionSelector
61076         https://bugs.webkit.org/show_bug.cgi?id=64850
61077
61078         Reviewed by Dimitri Glazkov.
61079
61080         Renamed:
61081         - ShadowContentSelector -> ShadowInclusionSelector
61082         - ShadowContentSelector::findInclusionFor -> ShadowInclusionSelector::findFor
61083         - ShadowContentSelector::selectInclusion -> ShadowInclusionSelector::select
61084         - ShadowContentSelector::unselectInclusion -> ShadowInclusionSelector::unselect
61085         - ShadowContentSelector::didSelectInclusion -> ShadowInclusionSelector::didSelect
61086         - ShadowContentSelector::willSelectInclusionOver -> ShadowInclusionSelector::willSelectOver
61087         - ShadowContentSelector::hasChildren -> ShadowInclusionSelector::hasCandidates
61088         
61089         No new tests. Just a textual change.
61090
61091         * CMakeLists.txt:
61092         * GNUmakefile.list.am:
61093         * WebCore.gypi:
61094         * WebCore.pro:
61095         * WebCore.vcproj/WebCore.vcproj:
61096         * WebCore.xcodeproj/project.pbxproj:
61097         * dom/DOMAllInOne.cpp:
61098         * dom/NodeRenderingContext.cpp:
61099         * dom/ShadowContentElement.cpp:
61100         (WebCore::ShadowContentElement::attach):
61101         (WebCore::ShadowContentElement::detach):
61102         * dom/ShadowInclusionSelector.cpp: Renamed from Source/WebCore/dom/ShadowContentSelector.cpp.
61103         (WebCore::ShadowInclusion::append):
61104         (WebCore::ShadowInclusion::unlink):
61105         (WebCore::ShadowInclusionList::ShadowInclusionList):
61106         (WebCore::ShadowInclusionList::~ShadowInclusionList):
61107         (WebCore::ShadowInclusionList::find):
61108         (WebCore::ShadowInclusionList::clear):
61109         (WebCore::ShadowInclusionList::append):
61110         (WebCore::ShadowInclusionSelector::ShadowInclusionSelector):
61111         (WebCore::ShadowInclusionSelector::~ShadowInclusionSelector):
61112         (WebCore::ShadowInclusionSelector::select):
61113         (WebCore::ShadowInclusionSelector::unselect):
61114         (WebCore::ShadowInclusionSelector::findFor):
61115         (WebCore::ShadowInclusionSelector::didSelect):
61116         (WebCore::ShadowInclusionSelector::willSelectOver):
61117         * dom/ShadowInclusionSelector.h: Renamed from Source/WebCore/dom/ShadowContentSelector.h.
61118         (WebCore::ShadowInclusion::includer):
61119         (WebCore::ShadowInclusion::content):
61120         (WebCore::ShadowInclusion::next):
61121         (WebCore::ShadowInclusion::previous):
61122         (WebCore::ShadowInclusion::ShadowInclusion):
61123         (WebCore::ShadowInclusion::create):
61124         (WebCore::ShadowInclusionList::first):
61125         (WebCore::ShadowInclusionList::last):
61126         (WebCore::ShadowInclusionList::isEmpty):
61127         (WebCore::ShadowInclusionSet::add):
61128         (WebCore::ShadowInclusionSet::remove):
61129         (WebCore::ShadowInclusionSet::isEmpty):
61130         (WebCore::ShadowInclusionSet::Translator::hash):
61131         (WebCore::ShadowInclusionSet::Translator::equal):
61132         (WebCore::ShadowInclusionSet::Hash::hash):
61133         (WebCore::ShadowInclusionSet::Hash::equal):
61134         (WebCore::ShadowInclusionSet::find):
61135         (WebCore::ShadowInclusionSelector::hasCandidates):
61136         * dom/ShadowRoot.cpp:
61137         (WebCore::ShadowRoot::includerFor):
61138         (WebCore::ShadowRoot::attach):
61139         (WebCore::ShadowRoot::inclusions):
61140         (WebCore::ShadowRoot::ensureInclusions):
61141         * dom/ShadowRoot.h:
61142
61143 2011-07-21  Robin Qiu  <robin.qiu.dev@gmail.com>
61144
61145         https://bugs.webkit.org/show_bug.cgi?id=60737
61146
61147         ThumbPosition() in ScrollbarTheme should be ceiled before returned.
61148         Otherwise, some topest/leftest content can not be shown by dragging
61149         scrollbar thumb.
61150
61151
61152         Reviewed by Antonio Gomes.
61153
61154         Test: scrollbars/scrollbar-drag-thumb-with-large-content.html
61155
61156         * platform/ScrollbarThemeComposite.cpp:
61157         (WebCore::ScrollbarThemeComposite::thumbPosition):
61158         * platform/qt/ScrollbarThemeQt.cpp:
61159         (WebCore::ScrollbarThemeQt::thumbPosition):
61160
61161 2011-07-21  Simon Fraser  <simon.fraser@apple.com>
61162
61163         GraphicsLayers in subframes can get sync'd multiple times
61164         https://bugs.webkit.org/show_bug.cgi?id=52489
61165
61166         Reviewed by James Robinson.
61167         
61168         Avoid doing a 'syncCompositingState' pass on the GraphicsLayers
61169         for subframes, when those GraphicsLayers are rooted in the
61170         parent document.
61171
61172         * page/FrameView.cpp:
61173         (WebCore::FrameView::syncCompositingStateForThisFrame): Add a parameter
61174         that contains the rootmost frame on which sync was called. This is used
61175         to indicate to the compositor whether it's the root of the sync.
61176         (WebCore::FrameView::syncCompositingStateIncludingSubframes): Pass the current
61177         Frame in.
61178         (WebCore::FrameView::paintContents): The sync is for this frame, so pass m_frame.
61179         * page/FrameView.h:
61180         * rendering/RenderLayerCompositor.cpp:
61181         (WebCore::RenderLayerCompositor::flushPendingLayerChanges): New parameter
61182         to specify whether this compositor is in the rootmost Frame being flushed.
61183         We can avoid doing work if we know that flushing some ancestor frame would
61184         have also traversed our GraphicsLayers.
61185         * rendering/RenderLayerCompositor.h:
61186         (WebCore::RenderLayerCompositor::isFlushingLayers): Make this private, since
61187         callers are probably most intersted in enclosingCompositorFlushingLayers().
61188
61189 2011-07-21  Rafael Brandao  <rafael.lobo@openbossa.org>
61190
61191         Local files cannot load icons.
61192         https://bugs.webkit.org/show_bug.cgi?id=62459
61193         
61194         Previous policy only allowed favicons for pages whose protocol was part of HTTP family.
61195         Changed that to allow to any url that's not empty and whose protocol is not "about".
61196         Also added this check where it attempts to start loading the favicon, so it can avoid
61197         wasting time downloading a resource that won't be stored and won't be used.
61198
61199         Reviewed by Adam Barth.
61200
61201         Test: manual-tests/resources/favicon-loads-for-local-files.html
61202
61203         * loader/icon/IconController.cpp:
61204         (WebCore::IconController::startLoader): Added check to avoid to request a favicon
61205         when there's no way to store it.
61206         
61207         * loader/icon/IconDatabase.cpp:
61208         (WebCore::IconDatabase::documentCanHaveIcon): Renamed function "pageCanHaveIcon"
61209         to reflect better which url we're handling.
61210         
61211         (WebCore::IconDatabase::synchronousIconForPageURL): Ditto.
61212         (WebCore::IconDatabase::synchronousIconURLForPageURL): Ditto.
61213         (WebCore::IconDatabase::retainIconForPageURL): Ditto.
61214         (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
61215         (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
61216         (WebCore::IconDatabase::getOrCreatePageURLRecord): Ditto.
61217         (WebCore::IconDatabase::importIconURLForPageURL): Ditto.
61218         (WebCore::IconDatabase::performURLImport): Ditto.
61219         * loader/icon/IconDatabase.h:
61220         * loader/icon/IconDatabaseBase.h:
61221         (WebCore::IconDatabaseBase::documentCanHaveIcon): Added it as virtual to replace its
61222         default behavior of not allowing favicons when we have IconDatabase enabled.
61223         
61224         * manual-tests/resources/favicon-loads-for-local-files.html: Added.
61225         * manual-tests/resources/favicon.png: Added.
61226
61227 2011-07-21  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
61228
61229         Fix for bug 64046 - Wrong image height in absolutely positioned div in
61230         relatively positioned parent with bottom padding.
61231         https://bugs.webkit.org/show_bug.cgi?id=64046
61232
61233         Reviewed by David Hyatt.
61234
61235         Test: fast/css/absolute-child-with-percent-height-inside-relative-parent.html
61236
61237         * rendering/RenderBox.cpp:
61238         (WebCore::RenderBox::availableLogicalHeightUsing):
61239
61240 2011-07-21  Gavin Peters  <gavinp@chromium.org>
61241
61242         Extend the protector of a CSS style sheet.  Because checkLoaded() can recursively delete
61243         parent style elements, the protector should be extended to include the parent call.
61244
61245         https://bugs.webkit.org/show_bug.cgi?id=64736
61246
61247         Reviewed by Simon Fraser.
61248
61249         Test: fast/css/css-imports-2.html
61250
61251         * css/CSSStyleSheet.cpp:
61252         (WebCore::CSSStyleSheet::checkLoaded):
61253
61254 2011-07-21  Kenneth Russell  <kbr@google.com>
61255
61256         Update webglcontextlost / webglcontextrestored delivery to match spec changes
61257         https://bugs.webkit.org/show_bug.cgi?id=58621
61258
61259         Reviewed by James Robinson.
61260
61261         Updated conditions under which webglcontextrestored event is
61262         delivered to be spec compliant.
61263
61264         * html/canvas/WebGLRenderingContext.cpp:
61265         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
61266         (WebCore::WebGLRenderingContext::loseContext):
61267         (WebCore::WebGLRenderingContext::maybeRestoreContext):
61268         * html/canvas/WebGLRenderingContext.h:
61269
61270 2011-07-21  Dave Hyatt  <hyatt@apple.com>
61271
61272         https://bugs.webkit.org/show_bug.cgi?id=64975
61273         Elements that have columns (e.g., column-width or column-count non-auto) and elements that have
61274         column-spans establish block formatting contexts, and therefore they should not be allowing
61275         child margins to collapse with their own margins.
61276
61277         Reviewed by Beth Dakin.
61278
61279         Covered by existing tests.
61280
61281         * rendering/RenderBlock.cpp:
61282         (WebCore::RenderBlock::MarginInfo::MarginInfo):
61283
61284 2011-07-21  Matthew Delaney  <mdelaney@apple.com>
61285
61286         Add fast path for ImageBuffer::draw, Take 2.
61287         https://bugs.webkit.org/show_bug.cgi?id=64535
61288
61289         Reviewed by Simon Fraser.
61290
61291         No new tests. This patch doesn't change behavior; current tests are sufficient.
61292
61293         * platform/graphics/GraphicsContext.cpp:
61294         (WebCore::GraphicsContext::drawImage): Moved the main method version next to wrapper versions.
61295
61296         * platform/graphics/ImageBuffer.h:
61297         1) Added BackingStoreCopy enum for choosing to copy backing store or not in copyImage().
61298         2) Added copyNativeImage() behind USE(CG) - same as copyImage() but gives NativeImagePtr.
61299         * platform/graphics/cg/ImageBufferCG.cpp: Added new methods described above.
61300
61301         * platform/graphics/GraphicsContext.h: Adding drawNativeImage() for fast draw path.
61302         * platform/graphics/cg/GraphicsContextCG.cpp:
61303         (WebCore::GraphicsContext::drawNativeImage): Added. Draws a nativeImagePtr into context.
61304
61305         * platform/graphics/Image.h: Added imageWithColorSpace behind CG platform ifdef
61306         * platform/graphics/cg/ImageCG.cpp:
61307         (WebCore::BitmapImage::draw): Refactored out actual image drawing code into GraphicsContext,
61308         so that it can be used by more than just BitmapImage without having to copy code.
61309         (WebCore::Image::imageWithColorSpace): Made into an Image class function.
61310
61311         Updated copyImage() to use BackingStoreCopy:
61312         * platform/graphics/qt/ImageBufferQt.cpp
61313         * platform/graphics/filters/FETile.cpp
61314         * platform/graphics/cairo/ImageBufferCairo.cpp
61315         * platform/graphics/skia/ImageBufferSkia.cpp
61316         * platform/graphics/wx/ImageBufferWx.cpp
61317         * platform/graphics/wince/ImageBufferWinCE.cpp
61318         * svg/SVGFEImageElement.cpp
61319         * svg/graphics/SVGImage.cpp
61320         * html/HTMLCanvasElement.cpp
61321         * html/canvas/WebGLRenderingContext.cpp
61322         * rendering/svg/RenderSVGResourcePattern.cpp
61323
61324 2011-07-21  David Kilzer  <ddkilzer@apple.com>
61325
61326         <http://webkit.org/b/64972> Clean up generated HTMLEntityTable.cpp output
61327
61328         Reviewed by Eric Seidel.
61329
61330         * html/parser/create-html-entity-table:
61331         - Fix duplicate "EntityName" suffix on local variables (changes
61332           fooSemicolonEntityNameEntityName to fooSemicolonEntityName)
61333           for all 2138 symbols.
61334         - Add newlines to make source file human-readable (as originally
61335           intended).
61336         - Add static (const) keywords to local variables that are never
61337           referenced externally.
61338
61339 2011-07-21  Mark Pilgrim  <pilgrim@chromium.org>
61340
61341         Remove LegacyDefaultOptionalArguments flag from FileAPI
61342         https://bugs.webkit.org/show_bug.cgi?id=64539
61343
61344         Reviewed by Adam Barth.
61345
61346         No new tests, all existing tests pass.
61347
61348         * fileapi/Blob.idl:
61349         * fileapi/DirectoryEntry.idl:
61350         * fileapi/DirectoryEntrySync.idl:
61351         * fileapi/DirectoryReader.idl:
61352         * fileapi/EntriesCallback.idl:
61353         * fileapi/Entry.idl:
61354         * fileapi/EntryArray.idl:
61355         * fileapi/EntryArraySync.idl:
61356         * fileapi/EntryCallback.idl:
61357         * fileapi/EntrySync.idl:
61358         * fileapi/ErrorCallback.idl:
61359         * fileapi/FileCallback.idl:
61360         * fileapi/FileEntry.idl:
61361         * fileapi/FileList.idl:
61362         * fileapi/FileReader.idl:
61363         * fileapi/FileReaderSync.idl:
61364         * fileapi/FileSystemCallback.idl:
61365         * fileapi/FileWriter.idl:
61366         * fileapi/FileWriterCallback.idl:
61367         * fileapi/FileWriterSync.idl:
61368         * fileapi/MetadataCallback.idl:
61369         * fileapi/WebKitBlobBuilder.idl:
61370
61371 2011-07-21  Tony Chang  <tony@chromium.org>
61372
61373         sort WebCore.xcodeproj
61374         https://bugs.webkit.org/show_bug.cgi?id=64901
61375
61376         Unreviewed, just using sort-Xcode-project-file.
61377
61378         * WebCore.xcodeproj/project.pbxproj:
61379
61380 2011-07-21  Enrica Casucci  <enrica@apple.com>
61381
61382         Cannot click to position the caret to the right of an image with display:block style.
61383         https://bugs.webkit.org/show_bug.cgi?id=64962
61384         <rdar://problem/9446343>
61385
61386         Reviewed by David Hyatt.
61387
61388         Test: editing/selection/click-on-block-image.html
61389
61390         The current implementation of positionForPoint always returns the visible
61391         position to the left of the image, if the image has a block style.
61392         This patch changes the behavior for block styled images to match the behavior
61393         for inline images.
61394
61395         * rendering/RenderReplaced.cpp:
61396         (WebCore::RenderReplaced::positionForPoint): Modified to avoid relying entirely
61397         on InlineBox to calculate the position.
61398
61399 2011-07-21  Pavel Feldman  <pfeldman@google.com>
61400
61401         Not reviewed: one liner typo fix in Inspector.json.
61402
61403         * inspector/Inspector.json:
61404
61405 2011-07-21  Sam Weinig  <sam@webkit.org>
61406
61407         CSS top margin collapses when paginating
61408         https://bugs.webkit.org/show_bug.cgi?id=64906
61409
61410         Reviewed by David Hyatt.
61411
61412         * rendering/RenderBlock.cpp:
61413         (WebCore::RenderBlock::collapseMargins):
61414         (WebCore::RenderBlock::estimateLogicalTopPosition):
61415         Update to only go down paginated path when we actually have a page height (so
61416         not in the case that we are just gathering breaks) and to call the version of
61417         of nextPageLogicalTop that actually returns the next page, even if we are at
61418         the boundary point.
61419
61420         (WebCore::RenderBlock::nextPageLogicalTopExcludingBoundaryPoint):
61421         (WebCore::RenderBlock::nextPageLogicalTopIncludingBoundaryPoint):
61422         Split into two functions which differ in how they deal with the boundary condition.
61423
61424         (WebCore::RenderBlock::applyBeforeBreak):
61425         (WebCore::RenderBlock::applyAfterBreak):
61426         Switch to call nextPageLogicalTopIncludingBoundaryPoint.
61427
61428         * rendering/RenderBlock.h:
61429         Add new functions declarations and comment them.
61430
61431 2011-07-21  Pavel Feldman  <pfeldman@google.com>
61432
61433         Web Inspector: RuntimeAgent.evaluateOn should not require "return X;" syntax.
61434         https://bugs.webkit.org/show_bug.cgi?id=64691
61435
61436         Reviewed by Yury Semikhatsky.
61437
61438         I'm introducing callFunctionOn that receives function declaration in order
61439         to make call site syntax clear.
61440
61441         Test: inspector/runtime/runtime-callFunctionOn.html
61442
61443         * inspector/InjectedScript.cpp:
61444         (WebCore::InjectedScript::callFunctionOn):
61445         * inspector/InjectedScript.h:
61446         * inspector/InjectedScriptSource.js:
61447         (.):
61448         * inspector/Inspector.json:
61449         * inspector/InspectorRuntimeAgent.cpp:
61450         (WebCore::InspectorRuntimeAgent::callFunctionOn):
61451         * inspector/InspectorRuntimeAgent.h:
61452         * inspector/front-end/ElementsTreeOutline.js:
61453         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode.dimensions):
61454         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
61455         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
61456         * inspector/front-end/PropertiesSidebarPane.js:
61457         (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved.protoList):
61458         (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
61459         * inspector/front-end/RemoteObject.js:
61460         (WebInspector.RemoteObject.prototype.callFunction):
61461
61462 2011-07-21  Andrew Wason  <rectalogic@rectalogic.com>
61463
61464         [Qt] Adopt existing GraphicsContext3D members (part 1)
61465         https://bugs.webkit.org/show_bug.cgi?id=64877
61466
61467         Reviewed by Noam Rosenthal.
61468
61469         Existing WebGL layout tests should test this.
61470
61471         Remove GraphicsContext3DInternal members and use the existing
61472         corresponding members from GraphicsContext3D instead.
61473         Move most of the GraphicsContext3DInternal constructor, destructor
61474         and the reshape() method into GraphicsContext3D.
61475         The GraphicsContext3D members will be needed when we adopt
61476         GraphicsContext3DOpenGL.cpp.
61477
61478         * platform/graphics/GraphicsContext3D.h:
61479         * platform/graphics/qt/GraphicsContext3DQt.cpp:
61480         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
61481         (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
61482         (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
61483         (WebCore::GraphicsContext3DInternal::boundingRect):
61484         (WebCore::GraphicsContext3DInternal::paint):
61485         (WebCore::GraphicsContext3D::GraphicsContext3D):
61486         (WebCore::GraphicsContext3D::~GraphicsContext3D):
61487         (WebCore::GraphicsContext3D::platformTexture):
61488         (WebCore::GraphicsContext3D::reshape):
61489         (WebCore::GraphicsContext3D::bindFramebuffer):
61490         (WebCore::GraphicsContext3D::getContextAttributes):
61491         (WebCore::GraphicsContext3D::getError):
61492         (WebCore::GraphicsContext3D::synthesizeGLError):
61493         (WebCore::GraphicsContext3D::markLayerComposited):
61494         (WebCore::GraphicsContext3D::markContextChanged):
61495         (WebCore::GraphicsContext3D::layerComposited):
61496         (WebCore::GraphicsContext3D::getExtensions):
61497
61498 2011-07-21  Pavel Feldman  <pfeldman@google.com>
61499
61500         Web Inspector: [protocol] extend setBreakpointByUrl request to accept incomplete URL (predicates)
61501         https://bugs.webkit.org/show_bug.cgi?id=60762
61502
61503         Reviewed by Yury Semikhatsky.
61504
61505         Test: inspector/debugger/debugger-set-breakpoint-regex.html
61506
61507         * inspector/Inspector.json:
61508         * inspector/InspectorDebuggerAgent.cpp:
61509         (WebCore::buildObjectForBreakpointCookie):
61510         (WebCore::matches):
61511         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
61512         (WebCore::InspectorDebuggerAgent::didParseSource):
61513         * inspector/InspectorDebuggerAgent.h:
61514
61515 2011-07-21  Kent Tamura  <tkent@chromium.org>
61516
61517         REGRESSION(r88757): input[type=range] renders incorrectly in RTL context.
61518         https://bugs.webkit.org/show_bug.cgi?id=64904
61519
61520         Reviewed by Ryosuke Niwa.
61521
61522         Tests: fast/forms/input-appearance-range-rtl.html
61523
61524         * html/shadow/SliderThumbElement.cpp:
61525         (WebCore::RenderSliderThumb::layout):
61526         The thumb should be positioned based on 'right' CSS property instead of 'left.'
61527         (WebCore::SliderThumbElement::setPositionFromPoint):
61528         The fraction should be flipped in RTL.
61529
61530 2011-07-18  Vsevolod Vlasov  <vsevik@chromium.org>
61531
61532         Web Inspector: Remove networkDataRemoved field from resource.
61533         https://bugs.webkit.org/show_bug.cgi?id=64749
61534
61535         Reviewed by Pavel Feldman.
61536
61537         * inspector/front-end/NetworkManager.js:
61538         (WebInspector.NetworkManager.prototype.requestContent):
61539         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
61540         * inspector/front-end/NetworkPanel.js:
61541         (WebInspector.NetworkLogView.prototype._frameNavigated):
61542
61543 2011-07-21  Tommy Widenflycht  <tommyw@google.com>
61544
61545         MediaStream API: Merging MediaStreamContainer and MediaStreamList
61546         https://bugs.webkit.org/show_bug.cgi?id=64794
61547
61548         Reviewed by Tony Gentilcore.
61549
61550         * GNUmakefile.list.am:
61551         * dom/MediaStreamContainer.h: Removed.
61552         * dom/MediaStreamList.cpp:
61553         (WebCore::MediaStreamList::create):
61554         (WebCore::MediaStreamList::MediaStreamList):
61555         (WebCore::MediaStreamList::length):
61556         (WebCore::MediaStreamList::item):
61557         (WebCore::MediaStreamList::add):
61558         (WebCore::MediaStreamList::remove):
61559         (WebCore::MediaStreamList::contains):
61560         (WebCore::MediaStreamList::get):
61561         * dom/MediaStreamList.h:
61562
61563 2011-07-20  Yury Semikhatsky  <yurys@chromium.org>
61564
61565         Web Inspector: always open dedicated worker inspector in a new window not a new tab
61566         https://bugs.webkit.org/show_bug.cgi?id=64872
61567
61568         Reviewed by Pavel Feldman.
61569
61570         * inspector/front-end/WorkerManager.js:
61571         (WebInspector.WorkerManager.prototype.openWorkerInspector):
61572
61573 2011-07-21  MORITA Hajime  <morrita@google.com>
61574
61575         [Refactoring] Shadow inclusion cache should be managed by ShadowContentSelector
61576         https://bugs.webkit.org/show_bug.cgi?id=64849
61577
61578         Reviewed by Dimitri Glazkov.
61579
61580         This change is a reorg around Shadow inclusion mechanism.
61581         - Moved definition of ShadowInclusion, ShadowInclusionSet and ShadowInclusionList
61582           from ShadowContentElement.h to ShadowContentSelector.h, which is included
61583           from smaller number of places.
61584         - Moved ShadowInclusionSet from ShadowRoot to ShadowContentSelector
61585         - Made ShadowContentSelector's lifetime managed by ShadowRoot
61586           because ShadowInclusionSet is held by the selector.
61587         - Thus, there is no longer "active" selector (ShadowContentSelector::s_currentInstance)
61588           Because the selector is associated for each ShadowRoot object.
61589         
61590         No new tests. No behavior change.
61591
61592         * dom/NodeRenderingContext.cpp:
61593         * dom/ShadowContentElement.cpp:
61594         (WebCore::ShadowContentElement::ShadowContentElement):
61595         (WebCore::ShadowContentElement::attach):
61596         (WebCore::ShadowContentElement::detach):
61597         * dom/ShadowContentElement.h:
61598         (WebCore::ShadowContentElement::inclusions):
61599         * dom/ShadowContentSelector.cpp:
61600         (WebCore::ShadowInclusion::append):
61601         (WebCore::ShadowInclusion::unlink):
61602         (WebCore::ShadowInclusionList::ShadowInclusionList):
61603         (WebCore::ShadowInclusionList::~ShadowInclusionList):
61604         (WebCore::ShadowInclusionList::find):
61605         (WebCore::ShadowInclusionList::clear):
61606         (WebCore::ShadowInclusionList::append):
61607         (WebCore::ShadowContentSelector::ShadowContentSelector):
61608         (WebCore::ShadowContentSelector::~ShadowContentSelector):
61609         (WebCore::ShadowContentSelector::selectInclusion):
61610         (WebCore::ShadowContentSelector::unselectInclusion):
61611         (WebCore::ShadowContentSelector::findInclusionFor):
61612         (WebCore::ShadowContentSelector::didSelectInclusion):
61613         (WebCore::ShadowContentSelector::willSelectInclusionOver):
61614         * dom/ShadowContentSelector.h:
61615         (WebCore::ShadowInclusion::includer):
61616         (WebCore::ShadowInclusion::content):
61617         (WebCore::ShadowInclusion::next):
61618         (WebCore::ShadowInclusion::previous):
61619         (WebCore::ShadowInclusion::ShadowInclusion):
61620         (WebCore::ShadowInclusion::create):
61621         (WebCore::ShadowInclusionList::first):
61622         (WebCore::ShadowInclusionList::last):
61623         (WebCore::ShadowInclusionList::isEmpty):
61624         (WebCore::ShadowInclusionSet::add):
61625         (WebCore::ShadowInclusionSet::remove):
61626         (WebCore::ShadowInclusionSet::isEmpty):
61627         (WebCore::ShadowInclusionSet::Translator::hash):
61628         (WebCore::ShadowInclusionSet::Translator::equal):
61629         (WebCore::ShadowInclusionSet::Hash::hash):
61630         (WebCore::ShadowInclusionSet::Hash::equal):
61631         (WebCore::ShadowInclusionSet::find):
61632         (WebCore::ShadowContentSelector::hasChildren):
61633         * dom/ShadowRoot.cpp:
61634         (WebCore::ShadowRoot::~ShadowRoot):
61635         (WebCore::ShadowRoot::includerFor):
61636         (WebCore::ShadowRoot::attach):
61637         (WebCore::ShadowRoot::inclusions):
61638         (WebCore::ShadowRoot::ensureInclusions):
61639         * dom/ShadowRoot.h:
61640
61641 2011-07-21  Rohan McGovern  <rohan@mcgovern.id.au>
61642
61643         Reviewed by Noam Rosenthal.
61644
61645         [Qt] Qt5 Build Fix: remove useless use of qRound(int)
61646         https://bugs.webkit.org/show_bug.cgi?id=64907
61647
61648         Rounding an integer doesn't make sense.
61649         Since 2dcd3939a8bd5ff743e4c87f87b2d81b1a101467 in qtbase, this is not
61650         permitted to compile.
61651
61652         No new tests needed.
61653
61654         * platform/graphics/qt/FontPlatformDataQt.cpp:
61655         (WebCore::FontPlatformData::FontPlatformData): Eliminate qRound(int).
61656         * platform/qt/PlatformScreenQt.cpp:
61657         (WebCore::screenDepthPerComponent): Ditto.
61658
61659 2011-07-20  Ryosuke Niwa  <rniwa@webkit.org>
61660
61661         Fix a Valgrind failure caused by r91435.
61662
61663         * platform/ScrollableArea.cpp:
61664         (WebCore::ScrollableArea::ScrollableArea):
61665
61666 2011-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
61667
61668         Unreviewed, rolling out r91332.
61669         http://trac.webkit.org/changeset/91332
61670         https://bugs.webkit.org/show_bug.cgi?id=64925
61671
61672         Crashes css3/images/optimize-contrast-canvas.html on safari-
61673         mac,chromium-mac (Requested by mikelawther on #webkit).
61674
61675         * html/HTMLCanvasElement.cpp:
61676         (WebCore::HTMLCanvasElement::makePresentationCopy):
61677         (WebCore::HTMLCanvasElement::copiedImage):
61678         * html/canvas/WebGLRenderingContext.cpp:
61679         (WebCore::WebGLRenderingContext::videoFrameToImage):
61680         * platform/graphics/GraphicsContext.cpp:
61681         (WebCore::GraphicsContext::drawImage):
61682         * platform/graphics/GraphicsContext.h:
61683         * platform/graphics/Image.h:
61684         * platform/graphics/ImageBuffer.h:
61685         * platform/graphics/cairo/ImageBufferCairo.cpp:
61686         (WebCore::ImageBuffer::copyImage):
61687         * platform/graphics/cg/GraphicsContextCG.cpp:
61688         * platform/graphics/cg/ImageBufferCG.cpp:
61689         (WebCore::ImageBuffer::copyImage):
61690         (WebCore::cgImage):
61691         (WebCore::ImageBuffer::draw):
61692         (WebCore::ImageBuffer::drawPattern):
61693         (WebCore::ImageBuffer::clip):
61694         (WebCore::ImageBuffer::toDataURL):
61695         * platform/graphics/cg/ImageCG.cpp:
61696         (WebCore::imageWithColorSpace):
61697         (WebCore::BitmapImage::draw):
61698         (WebCore::Image::drawPattern):
61699         * platform/graphics/filters/FETile.cpp:
61700         (WebCore::FETile::apply):
61701         * platform/graphics/qt/ImageBufferQt.cpp:
61702         (WebCore::ImageBuffer::copyImage):
61703         (WebCore::ImageBuffer::draw):
61704         (WebCore::ImageBuffer::drawPattern):
61705         * platform/graphics/skia/ImageBufferSkia.cpp:
61706         (WebCore::ImageBuffer::copyImage):
61707         * platform/graphics/wince/ImageBufferWinCE.cpp:
61708         (WebCore::ImageBuffer::copyImage):
61709         (WebCore::ImageBuffer::draw):
61710         (WebCore::ImageBuffer::drawPattern):
61711         * platform/graphics/wx/ImageBufferWx.cpp:
61712         (WebCore::ImageBuffer::copyImage):
61713         (WebCore::ImageBuffer::draw):
61714         (WebCore::ImageBuffer::drawPattern):
61715         * rendering/svg/RenderSVGResourcePattern.cpp:
61716         (WebCore::RenderSVGResourcePattern::applyResource):
61717         * svg/SVGFEImageElement.cpp:
61718         (WebCore::SVGFEImageElement::build):
61719         * svg/graphics/SVGImage.cpp:
61720         (WebCore::SVGImage::nativeImageForCurrentFrame):
61721
61722 2011-07-20  Ryosuke Niwa  <rniwa@webkit.org>
61723
61724         Chromium build fix after r91440.
61725
61726         * platform/chromium/ScrollbarThemeChromiumMac.mm:
61727         (WebCore::ScrollbarThemeChromiumMac::paint):
61728
61729 2011-07-20  Ryosuke Niwa  <rniwa@webkit.org>
61730
61731         Build fix after r91435.
61732
61733         * platform/mac/ScrollViewMac.mm:
61734         (WebCore::ScrollView::platformSetScrollbarOverlayStyle):
61735
61736 2011-07-20  Tim Horton  <timothy_horton@apple.com>
61737
61738         Reviewed by Darin Adler.
61739
61740         Errors encountered within SVG documents should be reported to the console
61741         https://bugs.webkit.org/show_bug.cgi?id=62599
61742         <rdar://problem/9727074>
61743
61744         Add SVGLength::construct, which can be used to construct an SVGLength
61745         as normal, but returns an SVGParsingError via a reference argument.
61746         The function also takes another argument, which is whether or not
61747         the SVGLength value is allowed to be negative. If not, an error is
61748         thrown. It defaults to allowing negatives if not specified.
61749
61750         * GNUmakefile.list.am:
61751         * svg/SVGLength.cpp:
61752         (WebCore::SVGLength::construct):
61753         (WebCore::SVGLength::rawValue):
61754         * svg/SVGLength.h:
61755         * svg/SVGElement.h:
61756         * svg/SVGParsingError.h: Added.
61757         * WebCore.gypi:
61758         * WebCore.pro:
61759         * WebCore.vcproj/WebCore.vcproj:
61760         * WebCore.xcodeproj/project.pbxproj:
61761
61762 2011-07-20  Levi Weintraub  <leviw@chromium.org>
61763
61764         Switch getTransformFromContainer and its uses to new layout types
61765         https://bugs.webkit.org/show_bug.cgi?id=64908
61766
61767         Reviewed by Simon Fraser.
61768
61769         Switching getTransformFromContainer and its uses to use the new Layout
61770         Types from strictly integer ones.
61771
61772         No new tests, no new functionality.
61773
61774         * rendering/RenderBox.cpp:
61775         (WebCore::RenderBox::mapLocalToContainer):
61776         * rendering/RenderInline.cpp:
61777         (WebCore::RenderInline::mapLocalToContainer):
61778         * rendering/RenderLayer.cpp:
61779         (WebCore::RenderLayer::createLocalTransformState):
61780         * rendering/RenderObject.cpp:
61781         (WebCore::RenderObject::getTransformFromContainer):
61782         * rendering/RenderObject.h:
61783         * rendering/RenderView.cpp:
61784         (WebCore::RenderView::mapLocalToContainer):
61785         (WebCore::RenderView::mapAbsoluteToLocalPoint):
61786
61787 2011-07-20  Tim Horton  <timothy_horton@apple.com>
61788
61789         Scrollbar color heuristic needs to be hooked up in WebKit1
61790         https://bugs.webkit.org/show_bug.cgi?id=64220
61791         <rdar://problem/9589140>
61792
61793         Reviewed by Darin Adler.
61794
61795         Store the scroller style on ScrollableArea, and recompute it whenever
61796         the document or body element background color changes or the base background
61797         color of the scrollview changes. Also, make sure to repaint the scrollbars
61798         whenever the style changes.
61799
61800         No new tests, since this code is only enabled on future versions of Mac OS X.
61801
61802         * WebCore.exp.in:
61803         * page/Frame.cpp:
61804         (WebCore::Frame::getDocumentBackgroundColor):
61805         * page/Frame.h:
61806         * page/FrameView.cpp:
61807         (WebCore::FrameView::recalculateScrollbarOverlayStyle):
61808         (WebCore::FrameView::setBaseBackgroundColor):
61809         (WebCore::FrameView::documentBackgroundColor): Renamed.
61810         * page/FrameView.h:
61811         * platform/ScrollView.cpp:
61812         (WebCore::ScrollView::setScrollbarOverlayStyle):
61813         * platform/ScrollView.h:
61814         * platform/ScrollableArea.cpp:
61815         (WebCore::ScrollableArea::setScrollbarOverlayStyle):
61816         * platform/ScrollableArea.h:
61817         (WebCore::ScrollableArea::scrollbarOverlayStyle):
61818         * platform/ScrollbarTheme.h:
61819         (WebCore::ScrollbarTheme::updateScrollbarOverlayStyle):
61820         * platform/mac/ScrollViewMac.mm:
61821         (WebCore::toNSScrollerKnobStyle):
61822         (WebCore::ScrollView::platformSetScrollbarOverlayStyle):
61823         * platform/mac/ScrollbarThemeMac.h:
61824         * platform/mac/ScrollbarThemeMac.mm:
61825         (WebCore::toScrollbarPainterKnobStyle):
61826         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
61827         (WebCore::ScrollbarThemeMac::paint):
61828         * rendering/RenderBox.cpp:
61829         (WebCore::RenderBox::styleDidChange):
61830
61831 2011-07-20  Luke Macpherson   <macpherson@chromium.org>
61832
61833         Implement CSSPropertyWebkitTransformOriginZ and Origin in CSSStyleApplyProperty.
61834         https://bugs.webkit.org/show_bug.cgi?id=64785
61835         Note that this changes a cast from
61836           computed length double -> 28 bit int -> float
61837         to
61838           computed length double -> float
61839         I couldn't see any reason in the code that this was strictly necessary,
61840         however it may have been so that X,Y,Z all have the same behavior, even though Z itself is not stored in a Length.
61841
61842         Reviewed by Simon Fraser.
61843
61844         No new tests / refactoring.
61845
61846         * css/CSSStyleApplyProperty.cpp:
61847         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
61848         * css/CSSStyleSelector.cpp:
61849         (WebCore::CSSStyleSelector::applyProperty):
61850
61851 2011-07-20  Tony Chang  <tony@chromium.org>
61852
61853         Remove stray reference to StyleFlexibleBoxData.h that was accidentally
61854         added in r91402.
61855
61856         * WebCore.xcodeproj/project.pbxproj:
61857
61858 2011-07-20  Levi Weintraub  <leviw@chromium.org>
61859
61860         Bring Int/Float graphics classes closer to parity
61861         https://bugs.webkit.org/show_bug.cgi?id=64833
61862
61863         Reviewed by James Robinson.
61864
61865         In preparation of switching to Floating point data structures, bringing the
61866         functionality and method names of the Int/Float graphics classes close together.
61867
61868         Also fixing some compiler errors when using Floats for layout units along the way.
61869
61870         No new tests, no functionality change.
61871
61872         * page/FrameView.cpp:
61873         (WebCore::FrameView::convertFromRenderer):
61874         * platform/ScrollView.cpp:
61875         (WebCore::ScrollView::wheelEvent):
61876         * platform/ScrollView.h:
61877         (WebCore::ScrollView::convertChildToSelf):
61878         (WebCore::ScrollView::convertSelfToChild):
61879         * platform/graphics/FloatPoint.h:
61880         (WebCore::operator-): Adding a single-parameter version.
61881         * platform/graphics/FloatSize.cpp:
61882         (WebCore::FloatSize::isZero): Adding isZero that uses epsilon for floats.
61883         * platform/graphics/FloatSize.h:
61884         * platform/graphics/IntPoint.h:
61885         (WebCore::IntPoint::moveBy): Renaming IntPoint version to moveBy to mirror FloatPoint.
61886         * platform/graphics/RoundedRect.cpp:
61887         (WebCore::RoundedRect::Radii::expand): Switching to specific templatized max.
61888         * platform/graphics/filters/FilterEffect.cpp:
61889         (WebCore::FilterEffect::requestedRegionOfInputImageData):
61890         * rendering/RenderBlock.cpp: Moving outstanding Int* functions to Layout units.
61891         (WebCore::RenderBlock::paintContinuationOutlines):
61892         (WebCore::RenderBlock::logicalRectToPhysicalRect):
61893         * rendering/RenderBlock.h:
61894         * rendering/RenderBox.cpp:
61895         (WebCore::RenderBox::positionForPoint):
61896         * rendering/RenderTable.cpp:
61897         (WebCore::RenderTable::subtractCaptionRect):
61898         * rendering/RenderTable.h:
61899         * rendering/RenderTableCell.cpp:
61900         (WebCore::RenderTableCell::styleOrColLogicalWidth):
61901         (WebCore::RenderTableCell::setOverrideSizeFromRowHeight):
61902         (WebCore::RenderTableCell::paintCollapsedBorder):
61903         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
61904         * rendering/RenderTableCell.h:
61905         * rendering/RenderView.h:
61906         (WebCore::RenderView::pushLayoutState):
61907         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
61908         (WebCore::LayoutStateMaintainer::push):
61909         * rendering/RootInlineBox.cpp:
61910         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
61911         (WebCore::setAscentAndDescent):
61912         * rendering/RootInlineBox.h:
61913
61914 2011-07-20  Scott Graham  <scottmg@chromium.org>
61915
61916         mouseover reporting incorrect mouse button, when the button isn't
61917         down. https://bugs.webkit.org/show_bug.cgi?id=64882
61918
61919         Reviewed by Eric Seidel.
61920
61921         Don't increment the button returned in 'which' unless the button is
61922         actually down.
61923
61924         Test: fast/events/mouseover-button.html
61925
61926         * dom/MouseEvent.cpp:
61927         (WebCore::MouseEvent::which):
61928
61929 2011-07-20  Kenneth Russell  <kbr@google.com>
61930
61931         Add restoreContext() to WEBKIT_lose_context
61932         https://bugs.webkit.org/show_bug.cgi?id=58626
61933
61934         Reviewed by James Robinson.
61935
61936         Added the restoreContext() entry point to the WEBKIT_lose_context
61937         extension. Refactored and simplified the logic associated with context
61938         loss and restoration.
61939
61940         A subsequent patch will make the delivery of the webglcontextrestored
61941         event spec compliant.
61942
61943         * html/canvas/WebGLRenderingContext.cpp:
61944         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
61945         (WebCore::WebGLRenderingContextLostCallback::WebGLRenderingContextLostCallback):
61946         (WebCore::WebGLRenderingContextLostCallback::onContextLost):
61947         (WebCore::WebGLRenderingContext::isContextLost):
61948         (WebCore::WebGLRenderingContext::forceLostContext):
61949         (WebCore::WebGLRenderingContext::forceRestoreContext):
61950         (WebCore::WebGLRenderingContext::loseContext):
61951         (WebCore::WebGLRenderingContext::maybeRestoreContext):
61952         * html/canvas/WebGLRenderingContext.h:
61953         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::WebGLRenderingContextRestoreTimer):
61954         * html/canvas/WebKitLoseContext.cpp:
61955         (WebCore::WebKitLoseContext::loseContext):
61956         (WebCore::WebKitLoseContext::restoreContext):
61957         * html/canvas/WebKitLoseContext.h:
61958         * html/canvas/WebKitLoseContext.idl:
61959
61960 2011-07-20  Tony Chang  <tony@chromium.org>
61961
61962         Pass -webkit-flex() values on to RenderStyle
61963         https://bugs.webkit.org/show_bug.cgi?id=64038
61964
61965         Reviewed by Eric Seidel.
61966
61967         No new tests, this just copies data to RenderStyle, which we can
61968         then access when doing layout.  Tests will come with the layout
61969         changes.
61970
61971         * css/CSSStyleApplyProperty.cpp:
61972         (WebCore::ApplyPropertyLength::applyValue):
61973         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
61974
61975 2011-07-20  Daniel Bates  <dbates@rim.com>
61976
61977         Attempt to fix the GTK build after changeset 91396 <http://trac.webkit.org/changeset/91396>
61978         (https://bugs.webkit.org/show_bug.cgi?id=64764).
61979
61980         * xml/parser/MarkupTokenBase.h: #include <stdio.h> in debug build for printf(3), which is used in
61981         MarkupTokenBase::printString() and MarkupTokenBase::printAttrs().
61982
61983 2011-07-19  Vsevolod Vlasov  <vsevik@chromium.org>
61984
61985         Web Inspector: Add support for disabling cache in web inspector.
61986         https://bugs.webkit.org/show_bug.cgi?id=64097
61987
61988         Reviewed by Pavel Feldman.
61989
61990         Tests: http/tests/inspector/network/network-disable-cache-memory.html
61991                http/tests/inspector/network/network-disable-cache-xhrs.html
61992
61993         * English.lproj/localizedStrings.js:
61994         * inspector/Inspector.json:
61995         * inspector/InspectorClient.h:
61996         (WebCore::InspectorClient::setCacheDisabled):
61997         * inspector/InspectorResourceAgent.cpp:
61998         (WebCore::InspectorResourceAgent::willSendRequest):
61999         (WebCore::InspectorResourceAgent::enable):
62000         (WebCore::InspectorResourceAgent::disable):
62001         (WebCore::InspectorResourceAgent::setCacheDisabled):
62002         * inspector/InspectorResourceAgent.h:
62003         * inspector/front-end/NetworkManager.js:
62004         (WebInspector.NetworkManager.prototype.inflightResourceForURL):
62005         (WebInspector.NetworkManager.prototype._cacheDisabledSettingChanged):
62006         * inspector/front-end/Settings.js:
62007         (WebInspector.Settings):
62008         * inspector/front-end/SettingsScreen.js:
62009         (WebInspector.SettingsScreen):
62010
62011 2011-07-20  Peter Kasting  <pkasting@google.com>
62012
62013         Remove "const" from obviously-non-const accessors
62014         https://bugs.webkit.org/show_bug.cgi?id=62302
62015
62016         Reviewed by Darin Adler.
62017
62018         No functional change, so no new tests.
62019
62020         * WebCore.exp.in: Adjust function names to reflect non-constness.
62021         * dom/Element.cpp:
62022         (WebCore::Element::cloneElementWithoutAttributesAndChildren): Not const, calls non-const function Document::createElement().
62023         (WebCore::Element::scrollLeft): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62024         (WebCore::Element::scrollTop): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62025         (WebCore::Element::scrollWidth): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62026         (WebCore::Element::scrollHeight): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62027         (WebCore::Element::boundsInWindowSpace): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62028         (WebCore::Element::getClientRects): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62029         (WebCore::Element::getBoundingClientRect): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62030         (WebCore::Element::innerText): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62031         (WebCore::Element::outerText): Not const, calls newly non-const function Element::innerText().
62032         * dom/Element.h:
62033         * dom/Node.cpp:
62034         (WebCore::Node::isContentEditable): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62035         (WebCore::Node::shouldUseInputMethod): Not const, calls newly non-const function Node::isContentEditable().
62036         * dom/Node.h:
62037         * dom/OptionElement.h: Virtual function OptionElement::selected() not const because HTMLOptionElement implementation is non-const.
62038         * html/HTMLAnchorElement.cpp:
62039         (WebCore::HTMLAnchorElement::text): Not const, calls newly non-const function Element::innerText().
62040         * html/HTMLAnchorElement.h:
62041         * html/HTMLAppletElement.cpp:
62042         (WebCore::HTMLAppletElement::renderWidgetForJSBindings): Not const, calls non-const function RenderApplet::createWidgetIfNecessary().
62043         * html/HTMLAppletElement.h:
62044         * html/HTMLAreaElement.cpp:
62045         (WebCore::HTMLAreaElement::imageElement): Not const, calls newly non-const function HTMLMapElement::imageElement().
62046         * html/HTMLAreaElement.h:
62047         * html/HTMLBodyElement.cpp:
62048         (WebCore::HTMLBodyElement::scrollLeft): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62049         (WebCore::HTMLBodyElement::scrollTop): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62050         (WebCore::HTMLBodyElement::scrollHeight): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62051         (WebCore::HTMLBodyElement::scrollWidth): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62052         * html/HTMLBodyElement.h:
62053         * html/HTMLEmbedElement.cpp:
62054         (WebCore::HTMLEmbedElement::renderWidgetForJSBindings): Not const, calls non-const function Document::createElement().
62055         * html/HTMLEmbedElement.h:
62056         * html/HTMLFrameElementBase.cpp:
62057         (WebCore::HTMLFrameElementBase::width): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62058         (WebCore::HTMLFrameElementBase::height): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62059         * html/HTMLFrameElementBase.h:
62060         * html/HTMLImageElement.cpp:
62061         (WebCore::HTMLImageElement::width): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62062         (WebCore::HTMLImageElement::height): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62063         * html/HTMLImageElement.h:
62064         * html/HTMLInputElement.cpp:
62065         (WebCore::HTMLInputElement::shouldUseInputMethod): Virtual function not const because Node implementation is non-const.
62066         * html/HTMLInputElement.h:
62067         * html/HTMLKeygenElement.cpp:
62068         (WebCore::KeygenSelectElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
62069         * html/HTMLMapElement.cpp:
62070         (WebCore::HTMLMapElement::imageElement): Not const, calls non-const function Document::images().
62071         * html/HTMLMapElement.h:
62072         * html/HTMLObjectElement.cpp:
62073         (WebCore::HTMLObjectElement::renderWidgetForJSBindings): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62074         * html/HTMLObjectElement.h:
62075         * html/HTMLOptionElement.cpp:
62076         (WebCore::HTMLOptionElement::selected): Not const, calls non-const function HTMLSelectElement::recalcListItemsIfNeeded().
62077         * html/HTMLOptionElement.h:
62078         * html/HTMLPlugInElement.cpp: Virtual function HTMLPlugInElement::renderWidgetForJSBindings() not const because various subclass implementations are non-const.
62079         (WebCore::HTMLPlugInElement::getInstance): Not const, calls newly non-const function HTMLPlugInElement::pluginWidget().
62080         (WebCore::HTMLPlugInElement::pluginWidget): Not const, calls newly non-const function HTMLPlugInElement::renderWidgetForJSBindings().
62081         * html/HTMLPlugInElement.h:
62082         * html/HTMLScriptElement.cpp:
62083         (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
62084         * html/HTMLScriptElement.h:
62085         * html/HTMLTextAreaElement.cpp:
62086         (WebCore::HTMLTextAreaElement::shouldUseInputMethod): Virtual function not const because Node implementation is non-const.
62087         * html/HTMLTextAreaElement.h:
62088         * html/shadow/SliderThumbElement.h:
62089         (WebCore::SliderThumbElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
62090         * rendering/svg/SVGShadowTreeElements.cpp:
62091         (WebCore::SVGShadowTreeContainerElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
62092         * rendering/svg/SVGShadowTreeElements.h:
62093         * svg/SVGAnimateElement.cpp:
62094         (WebCore::SVGAnimateElement::hasValidAttributeType): Not const, calls newly non-const function SVGSMILElement::targetElement().
62095         * svg/SVGAnimateElement.h:
62096         * svg/SVGAnimateMotionElement.cpp:
62097         (WebCore::SVGAnimateMotionElement::hasValidAttributeType): Not const, calls newly non-const function SVGSMILElement::targetElement().
62098         * svg/SVGAnimateMotionElement.h:
62099         * svg/SVGAnimateTransformElement.cpp:
62100         (WebCore::SVGAnimateTransformElement::hasValidAttributeType): Not const, calls newly non-const function SVGSMILElement::targetElement().
62101         * svg/SVGAnimateTransformElement.h:
62102         * svg/SVGAnimationElement.cpp:
62103         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation): Not const, calls newly non-const function SVGSMILElement::targetElement().
62104         * svg/SVGAnimationElement.h:
62105         * svg/SVGElement.cpp:
62106         (WebCore::SVGElement::accessDocumentSVGExtensions): Not const, calls non-const function Document::accessSVGExtensions().
62107         (WebCore::SVGElement::boundingBox): Not const, calls newly non-const function SVGStyledLocatableElement::getBBox().
62108         * svg/SVGElement.h:
62109         * svg/SVGLocatable.cpp:
62110         (WebCore::SVGLocatable::getBBox): Argument not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets() on argument.
62111         (WebCore::SVGLocatable::computeCTM): Argument not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets() on argument.
62112         (WebCore::SVGLocatable::getTransformToElement): Not const, calls newly non-const function SVGLocatable::getCTM().
62113         * svg/SVGLocatable.h: Virtual functions SVGLocatable::getBBox(), SVGLocatable::getCTM(), and SVGLocatable::getScreenCTM() not const because various subclass implementations are non-const.
62114         * svg/SVGScriptElement.cpp:
62115         (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
62116         * svg/SVGScriptElement.h:
62117         * svg/SVGStyledElement.cpp:
62118         (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded): Not const, calls non-const function Document::accessSVGExtensions().
62119         * svg/SVGStyledElement.h:
62120         * svg/SVGStyledLocatableElement.cpp:
62121         (WebCore::SVGStyledLocatableElement::getBBox): Not const, calls newly non-const static function SVGLocatable::getBBox().
62122         (WebCore::SVGStyledLocatableElement::getCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
62123         (WebCore::SVGStyledLocatableElement::getScreenCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
62124         * svg/SVGStyledLocatableElement.h:
62125         * svg/SVGStyledTransformableElement.cpp:
62126         (WebCore::SVGStyledTransformableElement::getCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
62127         (WebCore::SVGStyledTransformableElement::getScreenCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
62128         (WebCore::SVGStyledTransformableElement::getBBox): Not const, calls newly non-const static function SVGLocatable::getBBox().
62129         (WebCore::SVGStyledTransformableElement::toClipPath): Virtual function not const because SVGUseElement implementation is non-const.
62130         * svg/SVGStyledTransformableElement.h:
62131         * svg/SVGTextContentElement.cpp:
62132         (WebCore::SVGTextContentElement::getNumberOfChars): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62133         (WebCore::SVGTextContentElement::getComputedTextLength): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62134         (WebCore::SVGTextContentElement::getSubStringLength): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62135         (WebCore::SVGTextContentElement::getStartPositionOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62136         (WebCore::SVGTextContentElement::getEndPositionOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62137         (WebCore::SVGTextContentElement::getExtentOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62138         (WebCore::SVGTextContentElement::getRotationOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62139         (WebCore::SVGTextContentElement::getCharNumAtPosition): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62140         (WebCore::SVGTextContentElement::selectSubString): Not const, calls newly non-const static function SVGTextContentElement::getNumberOfChars().
62141         * svg/SVGTextContentElement.h:
62142         * svg/SVGTextElement.cpp:
62143         (WebCore::SVGTextElement::getBBox): Not const, calls newly non-const static function SVGLocatable::getBBox().
62144         (WebCore::SVGTextElement::getCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
62145         (WebCore::SVGTextElement::getScreenCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
62146         * svg/SVGTextElement.h:
62147         * svg/SVGUseElement.cpp:
62148         (WebCore::SVGUseElement::instanceRoot): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
62149         (WebCore::isDirectReference):
62150         (WebCore::SVGUseElement::toClipPath): Not const, calls non-const function Document::accessSVGExtensions().
62151         * svg/SVGUseElement.h:
62152         * svg/animation/SVGSMILElement.cpp:
62153         (WebCore::SVGSMILElement::eventBaseFor): Not const, calls newly non-const function SVGSMILElement::targetElement().
62154         (WebCore::SVGSMILElement::targetElement): Not const, calls non-const function Document::accessSVGExtensions().
62155         * svg/animation/SVGSMILElement.h: Virtual function SVGSMILElement::hasValidAttributeType() not const because various subclass implementations are non-const.
62156
62157 2011-07-20  Andy Estes  <aestes@apple.com>
62158
62159         Fix the Mac build after r91392.
62160
62161         * WebCore.xcodeproj/project.pbxproj: StyleFlexibleBoxData.h should be a
62162         private forwarding header of WebCore.
62163
62164 2011-07-20  Jeffrey Pfau  <jpfau@apple.com>
62165
62166         New Token class for XML
62167         https://bugs.webkit.org/show_bug.cgi?id=64764
62168
62169         Reviewed by Adam Barth.
62170
62171         Refactor HTMLToken into MarkupTokenBase and add new XMLToken
62172
62173         * GNUmakefile.list.am:
62174         * WebCore.gypi:
62175         * WebCore.pro:
62176         * WebCore.vcproj/WebCore.vcproj:
62177         * WebCore.xcodeproj/project.pbxproj:
62178         * html/HTMLViewSourceDocument.cpp:
62179         (WebCore::HTMLViewSourceDocument::addSource):
62180         * html/parser/HTMLConstructionSite.cpp:
62181         (WebCore::HTMLConstructionSite::insertDoctype):
62182         (WebCore::HTMLConstructionSite::insertComment):
62183         (WebCore::HTMLConstructionSite::insertCommentOnDocument):
62184         (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
62185         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
62186         (WebCore::HTMLConstructionSite::insertForeignElement):
62187         (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
62188         * html/parser/HTMLMetaCharsetParser.cpp:
62189         (WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
62190         * html/parser/HTMLPreloadScanner.cpp:
62191         (WebCore::HTMLPreloadScanner::processToken):
62192         * html/parser/HTMLSourceTracker.cpp:
62193         (WebCore::HTMLSourceTracker::start):
62194         (WebCore::HTMLSourceTracker::sourceForToken):
62195         * html/parser/HTMLToken.h:
62196         (WebCore::HTMLTokenTypes::DoctypeData::DoctypeData):
62197         (WebCore::HTMLToken::appendToName):
62198         (WebCore::HTMLToken::name):
62199         (WebCore::HTMLToken::forceQuirks):
62200         (WebCore::HTMLToken::setForceQuirks):
62201         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
62202         (WebCore::AtomicHTMLToken::type):
62203         (WebCore::AtomicHTMLToken::selfClosing):
62204         (WebCore::AtomicHTMLToken::characters):
62205         (WebCore::AtomicHTMLToken::comment):
62206         (WebCore::AtomicHTMLToken::publicIdentifier):
62207         (WebCore::AtomicHTMLToken::systemIdentifier):
62208         (WebCore::AtomicHTMLToken::forceQuirks):
62209         (WebCore::AtomicHTMLToken::usesName):
62210         (WebCore::AtomicHTMLToken::usesAttributes):
62211         * html/parser/HTMLTokenizer.cpp:
62212         (WebCore::HTMLTokenizer::saveEndTagNameIfNeeded):
62213         (WebCore::HTMLTokenizer::flushBufferedEndTag):
62214         (WebCore::HTMLTokenizer::nextToken):
62215         (WebCore::HTMLTokenizer::haveBufferedCharacterToken):
62216         * html/parser/HTMLTreeBuilder.cpp:
62217         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
62218         (WebCore::HTMLTreeBuilder::processToken):
62219         (WebCore::HTMLTreeBuilder::processDoctypeToken):
62220         (WebCore::HTMLTreeBuilder::processFakeStartTag):
62221         (WebCore::HTMLTreeBuilder::processFakeEndTag):
62222         (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
62223         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
62224         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
62225         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
62226         (WebCore::HTMLTreeBuilder::processStartTag):
62227         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
62228         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
62229         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
62230         (WebCore::HTMLTreeBuilder::processEndTagForInRow):
62231         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
62232         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
62233         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
62234         (WebCore::HTMLTreeBuilder::processEndTag):
62235         (WebCore::HTMLTreeBuilder::processComment):
62236         (WebCore::HTMLTreeBuilder::processCharacter):
62237         (WebCore::HTMLTreeBuilder::processEndOfFile):
62238         (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
62239         (WebCore::HTMLTreeBuilder::defaultForBeforeHead):
62240         (WebCore::HTMLTreeBuilder::defaultForInHead):
62241         (WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
62242         (WebCore::HTMLTreeBuilder::defaultForAfterHead):
62243         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
62244         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
62245         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
62246         (WebCore::HTMLTreeBuilder::processScriptStartTag):
62247         * html/parser/HTMLViewSourceParser.cpp:
62248         (WebCore::HTMLViewSourceParser::updateTokenizerState):
62249         * html/parser/TextDocumentParser.cpp:
62250         (WebCore::TextDocumentParser::insertFakePreElement):
62251         * html/parser/XSSAuditor.cpp:
62252         (WebCore::XSSAuditor::filterTokenInitial):
62253         (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
62254         (WebCore::XSSAuditor::filterScriptToken):
62255         (WebCore::XSSAuditor::filterObjectToken):
62256         (WebCore::XSSAuditor::filterParamToken):
62257         (WebCore::XSSAuditor::filterEmbedToken):
62258         (WebCore::XSSAuditor::filterAppletToken):
62259         (WebCore::XSSAuditor::filterIframeToken):
62260         (WebCore::XSSAuditor::filterMetaToken):
62261         (WebCore::XSSAuditor::filterBaseToken):
62262         (WebCore::XSSAuditor::filterFormToken):
62263         * xml/parser/MarkupTokenBase.h: Added.
62264         (WebCore::DoctypeDataBase::DoctypeDataBase):
62265         (WebCore::MarkupTokenBase::MarkupTokenBase):
62266         (WebCore::MarkupTokenBase::~MarkupTokenBase):
62267         (WebCore::MarkupTokenBase::clear):
62268         (WebCore::MarkupTokenBase::isUninitialized):
62269         (WebCore::MarkupTokenBase::startIndex):
62270         (WebCore::MarkupTokenBase::endIndex):
62271         (WebCore::MarkupTokenBase::setBaseOffset):
62272         (WebCore::MarkupTokenBase::end):
62273         (WebCore::MarkupTokenBase::makeEndOfFile):
62274         (WebCore::MarkupTokenBase::beginStartTag):
62275         (WebCore::MarkupTokenBase::beginEndTag):
62276         (WebCore::MarkupTokenBase::ensureIsCharacterToken):
62277         (WebCore::MarkupTokenBase::beginComment):
62278         (WebCore::MarkupTokenBase::beginDOCTYPE):
62279         (WebCore::MarkupTokenBase::appendToCharacter):
62280         (WebCore::MarkupTokenBase::appendToComment):
62281         (WebCore::MarkupTokenBase::addNewAttribute):
62282         (WebCore::MarkupTokenBase::beginAttributeName):
62283         (WebCore::MarkupTokenBase::endAttributeName):
62284         (WebCore::MarkupTokenBase::beginAttributeValue):
62285         (WebCore::MarkupTokenBase::endAttributeValue):
62286         (WebCore::MarkupTokenBase::appendToAttributeName):
62287         (WebCore::MarkupTokenBase::appendToAttributeValue):
62288         (WebCore::MarkupTokenBase::type):
62289         (WebCore::MarkupTokenBase::selfClosing):
62290         (WebCore::MarkupTokenBase::setSelfClosing):
62291         (WebCore::MarkupTokenBase::attributes):
62292         (WebCore::MarkupTokenBase::eraseCharacters):
62293         (WebCore::MarkupTokenBase::eraseValueOfAttribute):
62294         (WebCore::MarkupTokenBase::characters):
62295         (WebCore::MarkupTokenBase::comment):
62296         (WebCore::MarkupTokenBase::publicIdentifier):
62297         (WebCore::MarkupTokenBase::systemIdentifier):
62298         (WebCore::MarkupTokenBase::setPublicIdentifierToEmptyString):
62299         (WebCore::MarkupTokenBase::setSystemIdentifierToEmptyString):
62300         (WebCore::MarkupTokenBase::appendToPublicIdentifier):
62301         (WebCore::MarkupTokenBase::appendToSystemIdentifier):
62302         (WebCore::MarkupTokenBase::printString):
62303         (WebCore::MarkupTokenBase::printAttrs):
62304         (WebCore::MarkupTokenBase::appendToName):
62305         (WebCore::MarkupTokenBase::name):
62306         * xml/parser/XMLToken.h: Added.
62307         (WebCore::XMLToken::XMLToken):
62308         (WebCore::XMLToken::clear):
62309         (WebCore::XMLToken::appendToName):
62310         (WebCore::XMLToken::name):
62311         (WebCore::XMLToken::beginDOCTYPE):
62312         (WebCore::XMLToken::beginXMLDeclaration):
62313         (WebCore::XMLToken::appendToXMLVersion):
62314         (WebCore::XMLToken::beginXMLEncoding):
62315         (WebCore::XMLToken::appendToXMLEncoding):
62316         (WebCore::XMLToken::setXMLStandalone):
62317         (WebCore::XMLToken::beginProcessingInstruction):
62318         (WebCore::XMLToken::appendToProcessingInstructionTarget):
62319         (WebCore::XMLToken::appendToProcessingInstructionData):
62320         (WebCore::XMLToken::beginCDATA):
62321         (WebCore::XMLToken::appendToCDATA):
62322         (WebCore::XMLToken::beginEntity):
62323         (WebCore::XMLToken::print):
62324         (WebCore::XMLToken::XMLDeclarationData::XMLDeclarationData):
62325
62326 2011-07-20  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
62327
62328         WebKit crashes on selection when documentElement is removed.
62329         https://bugs.webkit.org/show_bug.cgi?id=63908
62330
62331         This patch adds NULL pointer validation for documentElement
62332         in WebCore::startOfDocument
62333
62334         Reviewed by Eric Seidel.
62335
62336         Test: editing/selection/selection-empty-documentElement.html
62337
62338         * editing/visible_units.cpp:
62339         (WebCore::startOfDocument):
62340
62341 2011-07-20  Mike Reed  <reed@google.com>
62342
62343         [skia] use nocheck version of pixel packer when caller already has premultiplied data
62344         https://bugs.webkit.org/show_bug.cgi?id=64881
62345
62346         Reviewed by Kenneth Russell.
62347
62348         No new tests. existing canvas and svg test exercise this
62349
62350         * platform/graphics/skia/ImageBufferSkia.cpp:
62351         (WebCore::putImageData):
62352
62353 2011-07-20  Tony Chang  <tony@chromium.org>
62354
62355         add new flexbox data to StyleRareNonInheritedData
62356         https://bugs.webkit.org/show_bug.cgi?id=64765
62357
62358         Reviewed by David Hyatt.
62359
62360         Add placeholders for the positive and negative flex values for the
62361         width and the height.  When we get to the other properties (flex-pack,
62362         flex-align, etc), we'll add more to the StyleFlexibleBoxData class
62363
62364         No new tests, these values aren't hooked up to anything yet.
62365
62366         * CMakeLists.txt:
62367         * GNUmakefile.list.am:
62368         * WebCore.gypi:
62369         * WebCore.pro:
62370         * WebCore.vcproj/WebCore.vcproj:
62371         * WebCore.xcodeproj/project.pbxproj:
62372         * rendering/style/RenderStyle.cpp:
62373         (WebCore::RenderStyle::RenderStyle):
62374         (WebCore::RenderStyle::diff):
62375         * rendering/style/RenderStyle.h:
62376         (WebCore::InheritedFlags::flexboxWidthPositiveFlex):
62377         (WebCore::InheritedFlags::flexboxWidthNegativeFlex):
62378         (WebCore::InheritedFlags::flexboxHeightPositiveFlex):
62379         (WebCore::InheritedFlags::flexboxHeightNegativeFlex):
62380         (WebCore::InheritedFlags::setFlexboxWidthPositiveFlex):
62381         (WebCore::InheritedFlags::setFlexboxWidthNegativeFlex):
62382         (WebCore::InheritedFlags::setFlexboxHeightPositiveFlex):
62383         (WebCore::InheritedFlags::setFlexboxHeightNegativeFlex):
62384         (WebCore::InheritedFlags::initialFlexboxWidthPositiveFlex):
62385         (WebCore::InheritedFlags::initialFlexboxWidthNegativeFlex):
62386         (WebCore::InheritedFlags::initialFlexboxHeightPositiveFlex):
62387         (WebCore::InheritedFlags::initialFlexboxHeightNegativeFlex):
62388         * rendering/style/StyleAllInOne.cpp:
62389         * rendering/style/StyleFlexibleBoxData.cpp: Added.
62390         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
62391         (WebCore::StyleFlexibleBoxData::operator==):
62392         * rendering/style/StyleFlexibleBoxData.h: Added.
62393         (WebCore::StyleFlexibleBoxData::create):
62394         (WebCore::StyleFlexibleBoxData::copy):
62395         (WebCore::StyleFlexibleBoxData::operator!=):
62396         * rendering/style/StyleRareNonInheritedData.cpp:
62397         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
62398         (WebCore::StyleRareNonInheritedData::operator==):
62399         * rendering/style/StyleRareNonInheritedData.h:
62400
62401 2011-07-20  Cary Clark  <caryclark@google.com>
62402
62403         update FontSkia to match platform context convention
62404         https://bugs.webkit.org/show_bug.cgi?id=64795
62405
62406         Reviewed by James Robinson.
62407
62408         No new tests. This platform variant is not
62409         built at this time.
62410
62411         * platform/graphics/skia/FontSkia.cpp:
62412         (WebCore::Font::drawGlyphs):
62413         Call makeGrContextCurrent instead of the obsolete prepareForSoftwareDraw.
62414
62415 2011-07-20  Brian Weinstein  <bweinstein@apple.com>
62416
62417         Build fix after r91384. Add an ASSERT_UNSED for the timer.
62418
62419         * loader/cache/CachedResourceLoader.cpp:
62420         (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
62421
62422 2011-07-20  Tony Chang  <tony@chromium.org>
62423
62424         Stale pointer due to floats not removed (flexible box display)
62425         https://bugs.webkit.org/show_bug.cgi?id=64603
62426
62427         Reviewed by David Hyatt.
62428
62429         Flexbox items should avoid floats.
62430
62431         Test: fast/flexbox/horizontal-box-float-crash.html
62432
62433         * rendering/RenderBox.cpp:
62434         (WebCore::RenderBox::avoidsFloats):
62435         * rendering/RenderBox.h:
62436         (WebCore::RenderBox::isDeprecatedFlexItem):
62437
62438 2011-07-20  Scott Graham  <scottmg@chromium.org>
62439
62440         Reviewed by Antti Koivisto.
62441
62442         REGRESSION (r39725?): Resources removed from document can not be freed
62443         until the document is deleted
62444         https://bugs.webkit.org/show_bug.cgi?id=61006
62445
62446         Upon completing a load start a Timer to iterate through
62447         CachedResourceLoader's m_documentResources map to check for any items
62448         that have only one reference (thus being the reference in the map
62449         itself). The map should really be weak, but because the
62450         CachedResourceHandle achieves bookkeeping work in addition to
62451         reference counting, this is a simpler and more localized way to free
62452         the used memory while maintaining the other behaviour (when
62453         CachedResource is used as proxy).
62454
62455         No new layout tests, but with this patch the testcase at
62456         https://bugs.webkit.org/attachment.cgi?id=93850 should no longer
62457         consume 400MB of ram on load.
62458
62459         * loader/cache/CachedResource.h:
62460         (WebCore::CachedResource::getHandleCount):
62461         * loader/cache/CachedResourceLoader.cpp:
62462         (WebCore::CachedResourceLoader::loadDone):
62463         (WebCore::CachedResourceLoader::garbageCollectDocumentResources):
62464         * loader/cache/CachedResourceLoader.h:
62465
62466 2011-07-20  James Robinson  <jamesr@chromium.org>
62467
62468         Revert worker and WebKit2 runloops to use currentTime() for scheduling instead of the monotonic clock
62469         https://bugs.webkit.org/show_bug.cgi?id=64841
62470
62471         Reviewed by Mark Rowe.
62472
62473         http://trac.webkit.org/changeset/91206 converted most of WebKit's deferred work scheduling to using the
62474         monotonic clock instead of WTF::currentTime().  This broke many plugin tests on WebKit2 for reasons that are
62475         unclear.  This reverts everything except for WebCore::ThreadTimers back to the previous behavior.
62476
62477         * workers/WorkerRunLoop.cpp:
62478         (WebCore::WorkerSharedTimer::setFireInterval):
62479
62480 2011-07-20  James Simonsen  <simonjam@chromium.org>
62481
62482         Refuse to run scripts inside the SVG shadow DOM
62483         https://bugs.webkit.org/show_bug.cgi?id=64776
62484
62485         This is a rollback of r90970. The hack that was removed there was also protecting us from
62486         two further bugs that have been discovered. So, the hack is going back in.
62487
62488         Reviewed by Tony Gentilcore.
62489
62490         * dom/ScriptElement.cpp:
62491         (WebCore::ScriptElement::prepareScript):
62492
62493 2011-07-20  David Levin  <levin@chromium.org>
62494
62495         gtk shouldn't have global variables for timers.
62496         https://bugs.webkit.org/show_bug.cgi?id=64871
62497
62498         Reviewed by Martin Robinson.
62499
62500         No new functionality exposed so no new tests.
62501
62502         * platform/graphics/cairo/ContextShadowCairo.cpp:
62503         (WebCore::scheduleScratchBufferPurge): Changed global variable to DEFINE_STATIC_LOCAL.
62504         * platform/gtk/WidgetRenderingContext.cpp:
62505         (WebCore::scheduleScratchBufferPurge): Ditto.
62506
62507 2011-07-20  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
62508
62509         [GTK] REGRESSION(r86436): does not add newlines when return is pressed with some modifiers held
62510         https://bugs.webkit.org/show_bug.cgi?id=64867
62511
62512         Reviewed by Martin Robinson.
62513
62514         * platform/gtk/KeyBindingTranslator.cpp:
62515         (WebCore::KeyBindingTranslator::getEditorCommandsForKeyEvent):
62516         special-case enter keys so that their commands are returned
62517         whatever the modifiers state.
62518
62519 2011-07-20  Mike Reed  <reed@google.com>
62520
62521         [skia] disable lcd text when drawing on a transparent layer or canvas
62522         https://bugs.webkit.org/show_bug.cgi?id=64873
62523
62524         Reviewed by Stephen White.
62525
62526         No new tests. canvas sites illustrate the bug. DRT disables LCD
62527         so existing layouttests are not affected by this change.
62528
62529         * platform/graphics/skia/SkiaFontWin.cpp:
62530         (WebCore::isCanvasMultiLayered):
62531         (WebCore::disableTextLCD):
62532         (WebCore::setupPaintForFont):
62533         (WebCore::paintSkiaText):
62534
62535 2011-07-20  Ilya Tikhonovsky  <loislo@chromium.org>
62536
62537         Web Inspector: add keyboard shortcuts to load/save operations in Timeline panel.
62538         https://bugs.webkit.org/show_bug.cgi?id=64864
62539
62540         Export/import were renamed to save/load.
62541         Ctrl|Meta-S/Ctrl|Meta-O shortcuts were added for Save and Load operations.
62542         Ctrl|Meta-E shortcut toggles Record button;
62543         Ctrl|Meta-Shift-F shortcut toggles short records filter button;
62544         All the shortcuts were added to the shortcuts help screen.
62545         There was a problem with saving empty data.
62546
62547         Reviewed by Yury Semikhatsky.
62548
62549         * English.lproj/localizedStrings.js:
62550         * inspector/front-end/TimelinePanel.js:
62551         (WebInspector.TimelinePanel.prototype._registerShortcuts):
62552         (WebInspector.TimelinePanel.prototype._createFileSelector):
62553         (WebInspector.TimelinePanel.prototype._contextMenu):
62554         (WebInspector.TimelinePanel.prototype._saveToFile):
62555         (WebInspector.TimelinePanel.prototype._loadFromFile):
62556         (WebInspector.TimelineModel.prototype._loadNextChunk):
62557         (WebInspector.TimelineModel.prototype._loadFromFile):
62558         (WebInspector.TimelineModel.prototype._loadFromFile.onError):
62559         (WebInspector.TimelineModel.prototype._saveToFile):
62560
62561 2011-07-20  Ryosuke Niwa  <rniwa@webkit.org>
62562
62563         Speculative build fix after r91355.
62564
62565         * bridge/jni/jsc/JavaInstanceJSC.cpp:
62566         (JavaInstance::invokeMethod):
62567
62568 2011-07-20  Tommy Widenflycht  <tommyw@google.com>
62569
62570         MediaStream API: Update the tracklists to the latest spec
62571         https://bugs.webkit.org/show_bug.cgi?id=64791
62572
62573         Reviewed by Tony Gentilcore.
62574
62575         The test harness will be forthcoming very soon now, introducing tests for this.
62576
62577         * CMakeLists.txt:
62578         * CodeGenerators.pri:
62579         * DerivedSources.cpp:
62580         * DerivedSources.make:
62581         * GNUmakefile.list.am:
62582         * WebCore.gypi:
62583         * WebCore.pro:
62584         * WebCore.vcproj/WebCore.vcproj:
62585         * WebCore.xcodeproj/project.pbxproj:
62586         * bindings/js/JSEventTarget.cpp:
62587         (WebCore::toJS):
62588         * bindings/v8/V8DOMWrapper.cpp:
62589         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
62590         * dom/DOMAllInOne.cpp:
62591         * dom/EventTarget.cpp:
62592         * dom/EventTarget.h:
62593         * dom/ExclusiveTrackList.cpp: Removed.
62594         * dom/LocalMediaStream.cpp:
62595         (WebCore::LocalMediaStream::create):
62596         (WebCore::LocalMediaStream::LocalMediaStream):
62597         (WebCore::LocalMediaStream::streamEnded):
62598         (WebCore::LocalMediaStream::stop):
62599         * dom/LocalMediaStream.h:
62600         (WebCore::LocalMediaStream::isLocalMediaStream):
62601         * dom/LocalMediaStream.idl:
62602         * dom/MediaStream.cpp:
62603         (WebCore::MediaStream::create):
62604         (WebCore::MediaStream::MediaStream):
62605         * dom/MediaStream.h:
62606         (WebCore::MediaStream::tracks):
62607         * dom/MediaStream.idl:
62608         * dom/MediaStreamTrack.cpp: Copied from Source/WebCore/dom/ExclusiveTrackList.h.
62609         (WebCore::MediaStreamTrack::create):
62610         (WebCore::MediaStreamTrack::MediaStreamTrack):
62611         (WebCore::MediaStreamTrack::~MediaStreamTrack):
62612         (WebCore::MediaStreamTrack::kind):
62613         (WebCore::MediaStreamTrack::label):
62614         (WebCore::MediaStreamTrack::enabled):
62615         (WebCore::MediaStreamTrack::setEnabled):
62616         * dom/MediaStreamTrack.h: Renamed from Source/WebCore/dom/MultipleTrackList.h.
62617         * dom/MediaStreamTrack.idl: Renamed from Source/WebCore/dom/ExclusiveTrackList.idl.
62618         * dom/MediaStreamTrackList.cpp: Renamed from Source/WebCore/dom/ExclusiveTrackList.h.
62619         (WebCore::MediaStreamTrackList::create):
62620         (WebCore::MediaStreamTrackList::MediaStreamTrackList):
62621         (WebCore::MediaStreamTrackList::~MediaStreamTrackList):
62622         (WebCore::MediaStreamTrackList::length):
62623         (WebCore::MediaStreamTrackList::item):
62624         * dom/MediaStreamTrackList.h: Renamed from Source/WebCore/dom/TrackList.idl.
62625         (WebCore::MediaStreamTrackList::associateStream):
62626         * dom/MediaStreamTrackList.idl: Renamed from Source/WebCore/dom/MultipleTrackList.idl.
62627         * dom/MultipleTrackList.cpp: Removed.
62628         * dom/TrackList.cpp: Removed.
62629         * dom/TrackList.h: Removed.
62630         * page/MediaStreamClient.h:
62631         * page/MediaStreamController.cpp:
62632         (WebCore::MediaStreamController::setMediaStreamTrackEnabled):
62633         (WebCore::MediaStreamController::streamGenerated):
62634         * page/MediaStreamController.h:
62635         * page/MediaStreamFrameController.cpp:
62636         (WebCore::MediaStreamFrameController::setMediaStreamTrackEnabled):
62637         (WebCore::MediaStreamFrameController::streamGenerated):
62638         * page/MediaStreamFrameController.h:
62639
62640 2011-07-20  Andrew Wason  <rectalogic@rectalogic.com>
62641
62642         [Qt] Make OpenGL symbol resolver transparent
62643         https://bugs.webkit.org/show_bug.cgi?id=57154
62644
62645         Reviewed by Noam Rosenthal.
62646
62647         Adopting new resolver should be transparent,
62648         existing tests should apply.
62649
62650         Adopt OpenGLShims symbol resolver from cairo for Qt.
62651         Update TextureMapperGL and Qt GraphicsContext3D to use the resolver.
62652
62653         * WebCore.pro:
62654         * platform/graphics/cairo/OpenGLShims.cpp:
62655         (WebCore::getProcAddress):
62656         * platform/graphics/cairo/OpenGLShims.h:
62657         * platform/graphics/opengl/TextureMapperGL.cpp:
62658         (WebCore::TextureMapperGL::beginPainting):
62659         * platform/graphics/qt/GraphicsContext3DQt.cpp:
62660         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
62661         (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
62662         (WebCore::GraphicsContext3DInternal::reshape):
62663         (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
62664         (WebCore::GraphicsContext3DInternal::paint):
62665         (WebCore::GraphicsContext3D::activeTexture):
62666         (WebCore::GraphicsContext3D::attachShader):
62667         (WebCore::GraphicsContext3D::getAttachedShaders):
62668         (WebCore::GraphicsContext3D::bindAttribLocation):
62669         (WebCore::GraphicsContext3D::bindBuffer):
62670         (WebCore::GraphicsContext3D::bindFramebuffer):
62671         (WebCore::GraphicsContext3D::bindRenderbuffer):
62672         (WebCore::GraphicsContext3D::blendColor):
62673         (WebCore::GraphicsContext3D::blendEquation):
62674         (WebCore::GraphicsContext3D::blendEquationSeparate):
62675         (WebCore::GraphicsContext3D::blendFuncSeparate):
62676         (WebCore::GraphicsContext3D::bufferData):
62677         (WebCore::GraphicsContext3D::bufferSubData):
62678         (WebCore::GraphicsContext3D::checkFramebufferStatus):
62679         (WebCore::GraphicsContext3D::compileShader):
62680         (WebCore::GraphicsContext3D::detachShader):
62681         (WebCore::GraphicsContext3D::disableVertexAttribArray):
62682         (WebCore::GraphicsContext3D::enableVertexAttribArray):
62683         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
62684         (WebCore::GraphicsContext3D::framebufferTexture2D):
62685         (WebCore::GraphicsContext3D::generateMipmap):
62686         (WebCore::GraphicsContext3D::getActiveAttrib):
62687         (WebCore::GraphicsContext3D::getActiveUniform):
62688         (WebCore::GraphicsContext3D::getAttribLocation):
62689         (WebCore::GraphicsContext3D::isBuffer):
62690         (WebCore::GraphicsContext3D::isFramebuffer):
62691         (WebCore::GraphicsContext3D::isProgram):
62692         (WebCore::GraphicsContext3D::isRenderbuffer):
62693         (WebCore::GraphicsContext3D::isShader):
62694         (WebCore::GraphicsContext3D::linkProgram):
62695         (WebCore::GraphicsContext3D::renderbufferStorage):
62696         (WebCore::GraphicsContext3D::sampleCoverage):
62697         (WebCore::GraphicsContext3D::shaderSource):
62698         (WebCore::GraphicsContext3D::stencilFuncSeparate):
62699         (WebCore::GraphicsContext3D::stencilMaskSeparate):
62700         (WebCore::GraphicsContext3D::stencilOpSeparate):
62701         (WebCore::GraphicsContext3D::uniform1f):
62702         (WebCore::GraphicsContext3D::uniform1fv):
62703         (WebCore::GraphicsContext3D::uniform2f):
62704         (WebCore::GraphicsContext3D::uniform2fv):
62705         (WebCore::GraphicsContext3D::uniform3f):
62706         (WebCore::GraphicsContext3D::uniform3fv):
62707         (WebCore::GraphicsContext3D::uniform4f):
62708         (WebCore::GraphicsContext3D::uniform4fv):
62709         (WebCore::GraphicsContext3D::uniform1i):
62710         (WebCore::GraphicsContext3D::uniform1iv):
62711         (WebCore::GraphicsContext3D::uniform2i):
62712         (WebCore::GraphicsContext3D::uniform2iv):
62713         (WebCore::GraphicsContext3D::uniform3i):
62714         (WebCore::GraphicsContext3D::uniform3iv):
62715         (WebCore::GraphicsContext3D::uniform4i):
62716         (WebCore::GraphicsContext3D::uniform4iv):
62717         (WebCore::GraphicsContext3D::uniformMatrix2fv):
62718         (WebCore::GraphicsContext3D::uniformMatrix3fv):
62719         (WebCore::GraphicsContext3D::uniformMatrix4fv):
62720         (WebCore::GraphicsContext3D::useProgram):
62721         (WebCore::GraphicsContext3D::validateProgram):
62722         (WebCore::GraphicsContext3D::vertexAttrib1f):
62723         (WebCore::GraphicsContext3D::vertexAttrib1fv):
62724         (WebCore::GraphicsContext3D::vertexAttrib2f):
62725         (WebCore::GraphicsContext3D::vertexAttrib2fv):
62726         (WebCore::GraphicsContext3D::vertexAttrib3f):
62727         (WebCore::GraphicsContext3D::vertexAttrib3fv):
62728         (WebCore::GraphicsContext3D::vertexAttrib4f):
62729         (WebCore::GraphicsContext3D::vertexAttrib4fv):
62730         (WebCore::GraphicsContext3D::vertexAttribPointer):
62731         (WebCore::GraphicsContext3D::getBufferParameteriv):
62732         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
62733         (WebCore::GraphicsContext3D::getProgramiv):
62734         (WebCore::GraphicsContext3D::getProgramInfoLog):
62735         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
62736         (WebCore::GraphicsContext3D::getShaderiv):
62737         (WebCore::GraphicsContext3D::getShaderInfoLog):
62738         (WebCore::GraphicsContext3D::getShaderSource):
62739         (WebCore::GraphicsContext3D::getUniformfv):
62740         (WebCore::GraphicsContext3D::getUniformiv):
62741         (WebCore::GraphicsContext3D::getUniformLocation):
62742         (WebCore::GraphicsContext3D::getVertexAttribfv):
62743         (WebCore::GraphicsContext3D::getVertexAttribiv):
62744         (WebCore::GraphicsContext3D::getVertexAttribOffset):
62745         (WebCore::GraphicsContext3D::createBuffer):
62746         (WebCore::GraphicsContext3D::createFramebuffer):
62747         (WebCore::GraphicsContext3D::createProgram):
62748         (WebCore::GraphicsContext3D::createRenderbuffer):
62749         (WebCore::GraphicsContext3D::createShader):
62750         (WebCore::GraphicsContext3D::deleteBuffer):
62751         (WebCore::GraphicsContext3D::deleteFramebuffer):
62752         (WebCore::GraphicsContext3D::deleteProgram):
62753         (WebCore::GraphicsContext3D::deleteRenderbuffer):
62754         (WebCore::GraphicsContext3D::deleteShader):
62755
62756 2011-07-20  Steve Block  <steveblock@google.com>
62757
62758         [V8] JavaMethodJobject::signature() incorrectly encodes arguments of type JavaTypeString
62759         https://bugs.webkit.org/show_bug.cgi?id=62389
62760
62761         Reviewed by Tony Gentilcore.
62762
62763         Covered by existing tests.
62764
62765         * bridge/jni/JavaMethodJobject.cpp:
62766         (JavaMethodJobject::signature):
62767
62768 2011-07-20  Yury Semikhatsky  <yurys@chromium.org>
62769
62770         Web Inspector: sidebar width sometimes is not restored
62771         https://bugs.webkit.org/show_bug.cgi?id=64869
62772
62773         Make sure sidebar width is restored even if window initial size has not been set yet.
62774
62775         Reviewed by Pavel Feldman.
62776
62777         * inspector/front-end/Panel.js:
62778         (WebInspector.Panel.prototype.show):
62779         (WebInspector.Panel.prototype.updateSidebarWidth):
62780
62781 2011-07-20  Andrey Kosyakov  <caseq@chromium.org>
62782
62783         Web Inspector: remove dead code (WebInspector.drawLoadingPieChart)
62784         https://bugs.webkit.org/show_bug.cgi?id=64868
62785
62786         Reviewed by Yury Semikhatsky.
62787
62788         * inspector/front-end/inspector.js:
62789
62790 2011-07-20  Andrey Kosyakov  <caseq@chromium.org>
62791
62792         Web Inspector: move Network log view to an iframe
62793         https://bugs.webkit.org/show_bug.cgi?id=62006
62794
62795         Reviewed by Pavel Feldman.
62796
62797         * WebCore.gypi:
62798         * WebCore.vcproj/WebCore.vcproj:
62799         * inspector/front-end/ExtensionServer.js:
62800         (WebInspector.ExtensionServer.prototype._onWindowMessage):
62801         * inspector/front-end/IFrameView.js: Added.
62802         (WebInspector.IFrameView):
62803         (WebInspector.IFrameView.prototype._innerShow):
62804         (WebInspector.IFrameView.prototype._innerHide):
62805         (WebInspector.IFrameView.prototype.attach):
62806         (WebInspector.IFrameView.prototype._attachIFrameAndInitialize):
62807         (WebInspector.IFrameView.prototype.addStylesheets):
62808         (WebInspector.IFrameView.prototype._setDocumentType):
62809         (WebInspector.IFrameView.prototype._propagateBodyStyle):
62810         * inspector/front-end/NetworkPanel.js:
62811         (WebInspector.NetworkLogView):
62812         (WebInspector.NetworkLogView.prototype.initializeView):
62813         (WebInspector.NetworkLogView.prototype.elementsToRestoreScrollPositionsFor):
62814         (WebInspector.NetworkLogView.prototype._createTable):
62815         (WebInspector.NetworkLogView.prototype._updateDividersIfNeeded):
62816         (WebInspector.NetworkLogView.prototype.show):
62817         (WebInspector.NetworkLogView.prototype._reset):
62818         (WebInspector.NetworkLogView.prototype.switchToDetailedView):
62819         (WebInspector.NetworkLogView.prototype.switchToBriefView):
62820         (WebInspector.NetworkLogView.prototype.get _setLargerResources):
62821         (WebInspector.NetworkLogView.prototype._updateHighlightIfMatched):
62822         (WebInspector.NetworkLogView.prototype.performSearch):
62823         (WebInspector.NetworkLogView.prototype.searchCanceled):
62824         (WebInspector.NetworkPanel):
62825         (WebInspector.NetworkPanel.prototype._onSearchCountUpdated):
62826         (WebInspector.NetworkDataGridNode.prototype.select):
62827         * inspector/front-end/Popover.js:
62828         (WebInspector.Popover.prototype._positionElement):
62829         * inspector/front-end/View.js:
62830         (WebInspector.View.prototype._innerShow):
62831         (WebInspector.View.prototype.show):
62832         (WebInspector.View.prototype._innerHide):
62833         (WebInspector.View.prototype.hide):
62834         * inspector/front-end/WebKit.qrc:
62835         * inspector/front-end/dataGrid.css: Added.
62836         * inspector/front-end/inspectorCommon.css: Added.
62837         * inspector/front-end/networkLogView.css: Copied from Source/WebCore/inspector/front-end/networkPanel.css.
62838
62839 2011-07-20  Steve Block  <steveblock@google.com>
62840
62841         JobjectWrapper should inherit from RefCounted rather than implementing its own ref counting
62842         https://bugs.webkit.org/show_bug.cgi?id=55786
62843
62844         Also adds static create() method and cleans up use of data members.
62845
62846         Reviewed by Tony Gentilcore.
62847
62848         No new tests, refactoring only.
62849
62850         * bridge/jni/JobjectWrapper.cpp:
62851         (JobjectWrapper::JobjectWrapper):
62852         * bridge/jni/JobjectWrapper.h:
62853         (JSC::Bindings::JobjectWrapper::create):
62854         * bridge/jni/jsc/JavaArrayJSC.cpp:
62855         (JavaArray::JavaArray):
62856         * bridge/jni/jsc/JavaArrayJSC.h:
62857         (JSC::Bindings::JavaArray::javaArray):
62858         * bridge/jni/jsc/JavaFieldJSC.cpp:
62859         (JavaField::JavaField):
62860         (JavaField::dispatchValueFromInstance):
62861         (JavaField::dispatchSetValueToInstance):
62862         * bridge/jni/jsc/JavaInstanceJSC.cpp:
62863         (JavaInstance::JavaInstance):
62864         (JavaInstance::getClass):
62865         (JavaInstance::stringValue):
62866         (JavaInstance::numberValue):
62867         (JavaInstance::booleanValue):
62868         (JavaInstance::invokeMethod):
62869         * bridge/jni/jsc/JavaInstanceJSC.h:
62870         (JSC::Bindings::JavaInstance::javaInstance):
62871         * bridge/jni/v8/JavaFieldJobjectV8.cpp:
62872         (JavaFieldJobject::JavaFieldJobject):
62873         * bridge/jni/v8/JavaInstanceJobjectV8.cpp:
62874         (JavaInstanceJobject::JavaInstanceJobject):
62875         * bridge/jni/v8/JavaInstanceJobjectV8.h:
62876         (JSC::Bindings::JavaInstanceJobject::javaInstance):
62877
62878 2011-07-20  Kentaro Hara  <haraken@google.com>
62879
62880         The value of a number input form continues to increase/decrease even if we disable the input form.
62881         https://bugs.webkit.org/show_bug.cgi?id=64786
62882
62883         Reviewed by Kent Tamura.
62884
62885         The value of the number input form continues to increase/decrease in the following scenario:
62886         (1) Click the spin button of the input form.
62887         (2) Hook the 'mouseup' event and disable the input form.
62888         (3) Enable the input form after some delay (e.g. 50ms).
62889
62890         What is happening above is as follows:
62891         (1) When the 'mousedown' event happens, the repeating timer of the spin button starts.
62892         (2) If the input form is not disabled, the repeating timer stops at the 'mouseup' event.
62893         However, if the input form is disabled, the 'mouseup' event is ignored, failing to stop
62894         the repeating timer.
62895         (3) The value continues to increase/decrease, since the repeating timer is still working.
62896
62897         This patch stops the repeating timer when the input form gets disabled or readonly.
62898
62899         Test: fast/forms/spin-button-gets-disabled-or-readonly.html
62900
62901         * html/HTMLInputElement.cpp:
62902         (WebCore::HTMLInputElement::parseMappedAttribute): Calls disabledAttributeChanged() when 'disabled' attribute gets changed. Calls readonlyAttributeChanged() when 'readonly' attribute gets changed.
62903         * html/InputType.cpp:
62904         (WebCore::InputType::disabledAttributeChanged): Stops the repeating timer and releases mouse capturing.
62905         (WebCore::InputType::readonlyAttributeChanged): Ditto.
62906         * html/InputType.h:
62907         * html/TextFieldInputType.cpp:
62908         (WebCore::TextFieldInputType::disabledAttributeChanged): Ditto.
62909         (WebCore::TextFieldInputType::readonlyAttributeChanged): Ditto.
62910         * html/TextFieldInputType.h:
62911         * html/shadow/TextControlInnerElements.cpp:
62912         (WebCore::SpinButtonElement::detach): Replased the code with releaseCapture().
62913         (WebCore::SpinButtonElement::defaultEventHandler): Ditto.
62914         (WebCore::SpinButtonElement::releaseCapture): Stops the repeating timer and releases mouse capturing.
62915         * html/shadow/TextControlInnerElements.h:
62916
62917 2011-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
62918
62919         Unreviewed, rolling out r91285.
62920         http://trac.webkit.org/changeset/91285
62921         https://bugs.webkit.org/show_bug.cgi?id=64854
62922
62923         "Assertion hit in svg/custom/crash-textPath-attributes.html"
62924         (Requested by mihnea on #webkit).
62925
62926         * rendering/RenderObjectChildList.cpp:
62927         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
62928
62929 2011-07-20  Yury Semikhatsky  <yurys@chromium.org>
62930
62931         Web Inspector: don't send Console.enable messages in case of workers
62932         https://bugs.webkit.org/show_bug.cgi?id=64853
62933
62934         Reviewed by Pavel Feldman.
62935
62936         * inspector/front-end/inspector.js:
62937
62938 2011-07-20  Boris Smus  <smus@chromium.org>
62939
62940         Add a resourceLink audit formatter to make it possible for devtools
62941         extensions to link to specific lines in HTML/JS/CSS resources from the
62942         audit results panel.
62943
62944         https://bugs.webkit.org/show_bug.cgi?id=64315
62945
62946         Reviewed by Yury Semikhatsky.
62947
62948         * inspector/front-end/AuditFormatters.js: resourceLink implementation
62949         * inspector/front-end/ExtensionAPI.js: registering resourceLink FormattedValue
62950
62951
62952 2011-07-20  Kent Tamura  <tkent@chromium.org>
62953
62954         input type=number doesn't render correctly in rtl.
62955         https://bugs.webkit.org/show_bug.cgi?id=59703
62956
62957         Reviewed by Ryosuke Niwa.
62958
62959         Test: fast/forms/input-appearance-number-rtl.html
62960
62961         * css/html.css:
62962         (input[type="search"]::-webkit-textfield-decoration-container):
62963         Set "direction: ltr;" only for type=search because we'd like to
62964         respect text direction except type=search.
62965         (input[x-webkit-speech][di=rtl]::-webkit-input-speech-button):
62966         Remove a workaround.
62967         * rendering/RenderTextControlSingleLine.cpp:
62968         (WebCore::RenderTextControlSingleLine::layout):
62969         Support for RTL in the spin button location adjustment.
62970
62971 2011-07-19  Steve Lacey  <sjl@chromium.org>
62972
62973         [chromium] Media player controls do not fade out.
62974         https://bugs.webkit.org/show_bug.cgi?id=64837
62975
62976         Media controls were not fading out when the mouse leaves the video
62977         due to underlying changes in webkit media controls.
62978         Fix was to copy missing code from MediaControlRootElement to
62979         MediaControlRootElementChromium.
62980
62981         Reviewed by Dimitri Glazkov.
62982
62983         * html/shadow/MediaControlRootElementChromium.cpp:
62984         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
62985         (WebCore::MediaControlRootElementChromium::playbackProgressed):
62986         (WebCore::MediaControlRootElementChromium::containsRelatedTarget):
62987         (WebCore::MediaControlRootElementChromium::defaultEventHandler):
62988         * html/shadow/MediaControlRootElementChromium.h:
62989
62990 2011-07-19  Luke Macpherson   <macpherson@chromium.org>
62991
62992         Implement CSSPropertyCounterIncrement and CounterReset in CSSStyleApplyProperty.
62993         https://bugs.webkit.org/show_bug.cgi?id=64846
62994
62995         Reviewed by Dimitri Glazkov.
62996
62997         No new tests / refactoring only.
62998
62999         * css/CSSStyleApplyProperty.cpp:
63000         (WebCore::ApplyPropertyCounter
63001         Added class to handle counter properties.
63002         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
63003         Initialize counter property handlers.
63004         * css/CSSStyleSelector.cpp:
63005         (WebCore::CSSStyleSelector::applyProperty):
63006         Remove old handlers.
63007
63008 2011-07-19  Kent Tamura  <tkent@chromium.org>
63009
63010         REGRESSION(r89004): Video pauses and never resumes playing if scrubbed during playback.
63011         https://bugs.webkit.org/show_bug.cgi?id=64314
63012
63013         Reviewed by Sam Weinig.
63014
63015         No new tests because it's hard to make a non-flaky test for this behavior.
63016
63017         * html/RangeInputType.cpp:
63018         (WebCore::RangeInputType::handleMouseDownEvent):
63019         Don't call SliderThumbElement::dragFrom() for events on the thumb.
63020         * html/shadow/SliderThumbElement.cpp:
63021         (WebCore::SliderThumbElement::defaultEventHandler):
63022         Do not call setDefaultHandled() for mouse events in order to
63023         propagate them to ancestor elements.
63024
63025 2011-07-19  Matthew Delaney  <mdelaney@apple.com>
63026
63027         Add fast path for ImageBuffer::draw
63028         https://bugs.webkit.org/show_bug.cgi?id=64535
63029
63030         Reviewed by Simon Fraser.
63031
63032         No new tests. This patch doesn't change behavior; current tests are sufficient.
63033
63034         * platform/graphics/GraphicsContext.cpp:
63035         (WebCore::GraphicsContext::drawImage): Moved the main method version next to wrapper versions.
63036
63037         * platform/graphics/ImageBuffer.h:
63038         1) Added BackingStoreCopy enum for choosing to copy backing store or not in copyImage().
63039         2) Added copyNativeImage() behind USE(CG) - same as copyImage() but gives NativeImagePtr.
63040         * platform/graphics/cg/ImageBufferCG.cpp: Added new methods described above.
63041
63042         * platform/graphics/GraphicsContext.h: Adding drawNativeImage() for fast draw path.
63043         * platform/graphics/cg/GraphicsContextCG.cpp:
63044         (WebCore::GraphicsContext::drawNativeImage): Added. Draws a nativeImagePtr into context.
63045
63046         * platform/graphics/Image.h: Added imageWithColorSpace behind CG platform ifdef
63047         * platform/graphics/cg/ImageCG.cpp:
63048         (WebCore::BitmapImage::draw): Refactored out actual image drawing code into GraphicsContext,
63049         so that it can be used by more than just BitmapImage without having to copy code.
63050         (WebCore::Image::imageWithColorSpace): Made into an Image class function.
63051
63052         Updated copyImage() to for BackingStoreCopy:
63053         * platform/graphics/qt/ImageBufferQt.cpp
63054         * platform/graphics/filters/FETile.cpp
63055         * platform/graphics/cairo/ImageBufferCairo.cpp
63056         * platform/graphics/skia/ImageBufferSkia.cpp
63057         * platform/graphics/wx/ImageBufferWx.cpp
63058         * platform/graphics/wince/ImageBufferWinCE.cpp
63059         * svg/SVGFEImageElement.cpp
63060         * svg/graphics/SVGImage.cpp
63061         * html/HTMLCanvasElement.cpp
63062         * html/canvas/WebGLRenderingContext.cpp
63063         * rendering/svg/RenderSVGResourcePattern.cpp
63064
63065 2011-07-19  Leo Yang  <leoyang.webkit@gmail.com>
63066
63067         SVG: Missing implementation of <altGlyphDef>, <altGlyphItem> and <glyphRef>
63068         https://bugs.webkit.org/show_bug.cgi?id=60850
63069
63070         Reviewed by Nikolas Zimmermann.
63071
63072         SVG spec: http://www.w3.org/TR/SVG/text.html#AlternateGlyphDefinitions.
63073         This patch is to implement SVG <altGlyphDef>, <altGlyphItem> and <glyphRef>
63074         elements for alternative glyph features.
63075
63076         NOTE: x, y, dx, dy, format and glyphRef attributes on <glyphRef> are not
63077         honored yet, so neither are the reaction of dynamic change of them. They
63078         will be honored in separated patches.
63079
63080         Test: svg/W3C-SVG-1.1/text-altglyph-01-b.svg
63081         With this patch this test works as expected.
63082
63083         * CMakeLists.txt:
63084         * CodeGenerators.pri:
63085         * DerivedSources.cpp:
63086         * DerivedSources.make:
63087         * GNUmakefile.list.am:
63088         * WebCore.exp.in:
63089         * WebCore.gypi:
63090         * WebCore.pro:
63091         * WebCore.vcproj/WebCore.vcproj:
63092         * WebCore.xcodeproj/project.pbxproj:
63093         * bindings/objc/DOM.mm:
63094         (WebCore::createElementClassMap):
63095         * bindings/objc/DOMSVG.h:
63096         * page/DOMWindow.idl:
63097         * svg/SVGAllInOne.cpp:
63098         * svg/SVGAltGlyphDefElement.cpp: Added.
63099         (WebCore::SVGAltGlyphDefElement::SVGAltGlyphDefElement):
63100         (WebCore::SVGAltGlyphDefElement::create):
63101         (WebCore::SVGAltGlyphDefElement::hasValidGlyphElements):
63102         * svg/SVGAltGlyphDefElement.h: Added.
63103         * svg/SVGAltGlyphDefElement.idl: Added.
63104         * svg/SVGAltGlyphElement.cpp:
63105         (WebCore::SVGAltGlyphElement::hasValidGlyphElements):
63106         * svg/SVGAltGlyphElement.h:
63107         * svg/SVGAltGlyphItemElement.cpp: Added.
63108         (WebCore::SVGAltGlyphItemElement::SVGAltGlyphItemElement):
63109         (WebCore::SVGAltGlyphItemElement::create):
63110         (WebCore::SVGAltGlyphItemElement::hasValidGlyphElements):
63111         * svg/SVGAltGlyphItemElement.h: Added.
63112         * svg/SVGAltGlyphItemElement.idl: Added.
63113         * svg/SVGFontData.cpp:
63114         (WebCore::SVGFontData::applySVGGlyphSelection):
63115         * svg/SVGGlyphRefElement.cpp: Added.
63116         (WebCore::SVGGlyphRefElement::SVGGlyphRefElement):
63117         (WebCore::SVGGlyphRefElement::create):
63118         (WebCore::SVGGlyphRefElement::hasValidGlyphElement):
63119         (WebCore::SVGGlyphRefElement::parseMappedAttribute):
63120         (WebCore::SVGGlyphRefElement::glyphRef):
63121         (WebCore::SVGGlyphRefElement::setGlyphRef):
63122         (WebCore::SVGGlyphRefElement::setX):
63123         (WebCore::SVGGlyphRefElement::setY):
63124         (WebCore::SVGGlyphRefElement::setDx):
63125         (WebCore::SVGGlyphRefElement::setDy):
63126         * svg/SVGGlyphRefElement.h: Added.
63127         * svg/SVGGlyphRefElement.idl: Added.
63128         * svg/svgtags.in:
63129
63130 2011-07-19  Adam Roben  <aroben@apple.com>
63131
63132         Remove some unused code in FormDataStreamCFNet
63133
63134         Rubber-stamped by Steve Falkenburg.
63135
63136         * platform/network/cf/FormDataStreamCFNet.cpp:
63137
63138 2011-07-19  Simon Fraser  <simon.fraser@apple.com>
63139
63140         REGRESSION (r91136-r91146): 40 tests failing on Windows 7 Release (Tests)
63141         https://bugs.webkit.org/show_bug.cgi?id=64808
63142
63143         Reviewed by Adam Roben.
63144
63145         Initializing m_uncommittedChanges to a non-zero value
63146         caused the first call to noteLayerPropertyChanged() to
63147         not call m_client->notifySyncRequired(). This resulted in
63148         animations never getting committed on Windows, which broke
63149         a lot of tests.
63150
63151         * platform/graphics/ca/GraphicsLayerCA.cpp:
63152         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
63153
63154 2011-07-19  James Robinson  <jamesr@chromium.org>
63155
63156         [chromium] LayerRendererChromium shouldn't be a friend of RenderSurfaceChromium
63157         https://bugs.webkit.org/show_bug.cgi?id=64834
63158
63159         Reviewed by Kenneth Russell.
63160
63161         Uses setters and getters to access RenderSurfaceChromium's private member variables instead of directly
63162         accessing them via a friend declaration. This cleans up a minor code smell and will be helpful for future
63163         refactoring.
63164
63165         Refactor only, no change in behavior.  Tested by compositing/ tests.
63166
63167         * platform/graphics/chromium/LayerRendererChromium.cpp:
63168         (WebCore::LayerRendererChromium::updateLayers):
63169         (WebCore::LayerRendererChromium::paintLayerContents):
63170         (WebCore::LayerRendererChromium::drawLayers):
63171         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
63172         (WebCore::LayerRendererChromium::updateCompositorResources):
63173         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
63174         (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
63175         (WebCore::LayerRendererChromium::useRenderSurface):
63176         (WebCore::LayerRendererChromium::drawLayer):
63177         (WebCore::LayerRendererChromium::setScissorToRect):
63178         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
63179         (WebCore::RenderSurfaceChromium::clearLayerList):
63180         * platform/graphics/chromium/RenderSurfaceChromium.h:
63181         (WebCore::RenderSurfaceChromium::layerList):
63182         (WebCore::RenderSurfaceChromium::contentRect):
63183         (WebCore::RenderSurfaceChromium::setContentRect):
63184         (WebCore::RenderSurfaceChromium::drawOpacity):
63185         (WebCore::RenderSurfaceChromium::setDrawOpacity):
63186         (WebCore::RenderSurfaceChromium::drawTransform):
63187         (WebCore::RenderSurfaceChromium::setDrawTransform):
63188         (WebCore::RenderSurfaceChromium::maskLayer):
63189         (WebCore::RenderSurfaceChromium::setMaskLayer):
63190         (WebCore::RenderSurfaceChromium::originTransform):
63191         (WebCore::RenderSurfaceChromium::setOriginTransform):
63192         (WebCore::RenderSurfaceChromium::replicaDrawTransform):
63193         (WebCore::RenderSurfaceChromium::setReplicaDrawTransform):
63194         (WebCore::RenderSurfaceChromium::scissorRect):
63195         (WebCore::RenderSurfaceChromium::setScissorRect):
63196         (WebCore::RenderSurfaceChromium::skipsDraw):
63197         (WebCore::RenderSurfaceChromium::setSkipsDraw):
63198         (WebCore::RenderSurfaceChromium::contentsTexture):
63199
63200 2011-07-19  Jessie Berlin  <jberlin@apple.com>
63201
63202         GTK + QT build fix.
63203
63204         Rubber-stamped by Daniel Bates and Alexey Proskuryakov.
63205
63206         * loader/ResourceLoader.cpp:
63207         (WebCore::ResourceLoader::willSendRequest):
63208         (WebCore::ResourceLoader::didSendData):
63209         (WebCore::ResourceLoader::didReceiveResponse):
63210         (WebCore::ResourceLoader::didReceiveData):
63211         (WebCore::ResourceLoader::didFinishLoading):
63212         (WebCore::ResourceLoader::didFail):
63213         (WebCore::ResourceLoader::wasBlocked):
63214         (WebCore::ResourceLoader::cannotShowURL):
63215         (WebCore::ResourceLoader::shouldUseCredentialStorage):
63216         (WebCore::ResourceLoader::willCacheResponse):
63217
63218 2011-07-19  Chris Rogers  <crogers@google.com>
63219
63220         Fix web audio compile on mac port
63221         https://bugs.webkit.org/show_bug.cgi?id=64836
63222
63223         Unreviewed build fix.
63224
63225         * bindings/js/JSAudioContextCustom.cpp:
63226         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
63227         (WebCore::JSAudioContext::createBuffer):
63228
63229 2011-07-19  Jessie Berlin  <jberlin@apple.com>
63230
63231         Work towards determining the cause of frequent crashes due to null frame below
63232         ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache.
63233         https://bugs.webkit.org/show_bug.cgi?id=62764
63234
63235         Reviewed by Alexey Proskuryakov.
63236
63237         Make these unexpected cases crash in the WebKit nightlies so we can gather more
63238         information and potentially find a repro case.
63239
63240         * loader/ResourceLoader.cpp:
63241         (WebCore::ResourceLoader::willSendRequest):
63242         (WebCore::ResourceLoader::didSendData):
63243         (WebCore::ResourceLoader::didReceiveResponse):
63244         (WebCore::ResourceLoader::didReceiveData):
63245         (WebCore::ResourceLoader::didFinishLoading):
63246         (WebCore::ResourceLoader::didFail):
63247         (WebCore::ResourceLoader::wasBlocked):
63248         (WebCore::ResourceLoader::cannotShowURL):
63249         (WebCore::ResourceLoader::shouldUseCredentialStorage):
63250         (WebCore::ResourceLoader::willCacheResponse):
63251
63252 2011-07-19  Dan Bernstein  <mitz@apple.com>
63253
63254         Nothing printed when specifying a very large maximum layout width
63255         https://bugs.webkit.org/show_bug.cgi?id=64831
63256
63257         Reviewed by Beth Dakin.
63258
63259         I am not adding a test because the DumpRenderTree printing test machinery is based on PrintContext,
63260         which does not exercise the code path on which this bug lies.
63261
63262         * page/FrameView.cpp:
63263         (WebCore::FrameView::forceLayoutForPagination): Fixed an integer overflow.
63264
63265 2011-07-19  Nate Chapin  <japhet@chromium.org>
63266
63267         [V8] Wait until no v8 context is on the stack before
63268         cancelling pending indexed db transactions.
63269         https://bugs.webkit.org/show_bug.cgi?id=64552
63270
63271         Reviewed by Adam Barth.
63272
63273         Test: storage/indexeddb/transaction-abort-with-js-recursion.html
63274
63275         * bindings/v8/V8Proxy.cpp:
63276         (WebCore::V8Proxy::didLeaveScriptContext):
63277
63278 2011-07-19  MORITA Hajime  <morrita@google.com>
63279
63280         Crash in CompositeEditCommand::replaceTextInNodePreservingMarkers.
63281         https://bugs.webkit.org/show_bug.cgi?id=64738
63282
63283         Reviewed by Ryosuke Niwa.
63284
63285         Test: editing/undo/replace-text-in-node-preserving-markers-crash.html
63286
63287         * editing/CompositeEditCommand.cpp:
63288         (WebCore::copyMarkers):
63289         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
63290
63291 2011-07-19  Mike West  <mkwst@chromium.org>
63292
63293         Sending a `Ping-From` header for cross-origin pings from non-HTTPS documents.
63294         https://bugs.webkit.org/show_bug.cgi?id=64789
63295
63296         Also a drive-by cleanup of whitespace.
63297
63298         Reviewed by Nate Chapin.
63299
63300         * loader/PingLoader.cpp:
63301         (WebCore::PingLoader::loadImage):
63302         (WebCore::PingLoader::sendPing):
63303
63304 2011-07-15  Luke Zarko  <lukezarko@gmail.com>
63305
63306        Bring V8's SerializedScriptValue implementation up to date.
63307
63308         https://bugs.webkit.org/show_bug.cgi?id=63481
63309
63310         Reviewed by David Levin.
63311         
63312         The HTML5 Structured Clone algorithm (http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#safe-passing-of-structured-data) has been updated since the V8 version of SerializedScriptValue was first implemented. This patch aims to bring this implementation up to date. It:
63313         
63314         - Introduces the new HTML5 DOM error codes for TIMEOUT_ERR, INVALID_NODE_TYPE_ERR, DATA_CLONE_ERR
63315         - Handles cyclic structures and equality of reference preservation for cloned values
63316         - Allows DataViews to be constructed on the native side using the existing wrapper techniques
63317         - Amends tests and introduces new ones to check for correctness (the bulk of the patch)
63318         - Tolerates the old version of the serialized object format
63319         
63320         The patch permits the cloning of JavaScript typed arrays. This functionality is in active use already and was supported (somewhat inefficiently) by the existing code through an artifact of implementation.
63321
63322         Tests: fast/dom/Window/window-postmessage-clone-deep-array.html
63323                fast/dom/Window/window-postmessage-clone-really-deep-array.html
63324                fast/dom/Window/window-postmessage-clone.html
63325                fast/canvas/webgl/array-message-passing.html
63326
63327         * bindings/v8/SerializedScriptValue.cpp:
63328         (WebCore::V8ObjectMap::Writer::writeVersion):
63329         (WebCore::V8ObjectMap::Writer::writeArrayBuffer):
63330         (WebCore::V8ObjectMap::Writer::writeArrayBufferView):
63331         (WebCore::V8ObjectMap::Writer::writeObjectReference):
63332         (WebCore::V8ObjectMap::Writer::writeReferenceCount):
63333         (WebCore::V8ObjectMap::Writer::writeGenerateFreshObject):
63334         (WebCore::V8ObjectMap::Writer::writeGenerateFreshArray):
63335         (WebCore::V8ObjectMap::Writer::doWriteArrayBuffer):
63336         (WebCore::V8ObjectMap::Serializer::Serializer):
63337         (WebCore::V8ObjectMap::Serializer::serialize):
63338         (WebCore::V8ObjectMap::Serializer::StateBase::execDepth):
63339         (WebCore::V8ObjectMap::Serializer::AbstractObjectState::AbstractObjectState):
63340         (WebCore::V8ObjectMap::Serializer::AbstractObjectState::advance):
63341         (WebCore::V8ObjectMap::Serializer::AbstractObjectState::execDepth):
63342         (WebCore::V8ObjectMap::Serializer::execDepth):
63343         (WebCore::V8ObjectMap::Serializer::push):
63344         (WebCore::V8ObjectMap::Serializer::pop):
63345         (WebCore::V8ObjectMap::Serializer::handleError):
63346         (WebCore::V8ObjectMap::Serializer::writeAndGreyArrayBufferView):
63347         (WebCore::V8ObjectMap::Serializer::writeArrayBuffer):
63348         (WebCore::V8ObjectMap::Serializer::greyObject):
63349         (WebCore::V8ObjectMap::Serializer::doSerialize):
63350         (WebCore::V8ObjectMap::Reader::Reader):
63351         (WebCore::V8ObjectMap::Reader::read):
63352         (WebCore::V8ObjectMap::Reader::readVersion):
63353         (WebCore::V8ObjectMap::Reader::setVersion):
63354         (WebCore::V8ObjectMap::Reader::undoReadTag):
63355         (WebCore::V8ObjectMap::Reader::readArrayBufferViewSubTag):
63356         (WebCore::V8ObjectMap::Reader::doReadArrayBuffer):
63357         (WebCore::V8ObjectMap::Reader::readArrayBuffer):
63358         (WebCore::V8ObjectMap::Reader::readArrayBufferView):
63359         (WebCore::V8ObjectMap::Deserializer::Deserializer):
63360         (WebCore::V8ObjectMap::Deserializer::deserialize):
63361         (WebCore::V8ObjectMap::Deserializer::newArray):
63362         (WebCore::V8ObjectMap::Deserializer::consumeTopOfStack):
63363         (WebCore::V8ObjectMap::Deserializer::completeArray):
63364         (WebCore::V8ObjectMap::Deserializer::newObject):
63365         (WebCore::V8ObjectMap::Deserializer::completeObject):
63366         (WebCore::V8ObjectMap::Deserializer::completeSparseArray):
63367         (WebCore::V8ObjectMap::Deserializer::pushObjectReference):
63368         (WebCore::V8ObjectMap::Deserializer::tryGetObjectFromObjectReference):
63369         (WebCore::V8ObjectMap::Deserializer::objectReferenceCount):
63370         (WebCore::V8ObjectMap::Deserializer::openComposite):
63371         (WebCore::V8ObjectMap::Deserializer::closeComposite):
63372         (WebCore::SerializedScriptValue::SerializedScriptValue):
63373         * bindings/v8/V8Binding.cpp:
63374         (WebCore::isHostObject):
63375         * bindings/v8/V8Binding.h:
63376         * bindings/v8/custom/V8DataViewCustom.cpp:
63377         (WebCore::V8DataView::constructorCallback):
63378         * dom/DOMCoreException.idl:
63379         * dom/ExceptionCode.cpp:
63380         * dom/ExceptionCode.h:
63381         * html/canvas/ArrayBuffer.cpp:
63382         (WebCore::ArrayBuffer::create):
63383         * html/canvas/ArrayBuffer.h:
63384         * html/canvas/DataView.cpp:
63385         (WebCore::DataView::create):
63386         * html/canvas/DataView.h:
63387
63388 2011-07-19  Simon Fraser  <simon.fraser@apple.com>
63389
63390         Possible recursion in GraphicsLayerCA::updateGeometry()
63391         https://bugs.webkit.org/show_bug.cgi?id=64815
63392
63393         Reviewed by Sam Weinig.
63394         
63395         It was possible to recurse via updateGeometry/swapFromOrToTiledLayer/
63396         updateContentsScale because updateGeometry() and updateContentsScale()
63397         used different sizes; updateGeometry() used the scaled size, while
63398         updateContentsScale() used the unscaled size.
63399         
63400         Always use the unscaled size; the scaled size will be at most a couple
63401         of pixels bigger, and our threshold is not close to the max texture
63402         size limit, so using the slightly smaller size is OK.
63403
63404         Test: compositing/scaling/tiled-layer-recursion.html
63405
63406         * platform/graphics/ca/GraphicsLayerCA.cpp:
63407         (WebCore::GraphicsLayerCA::updateGeometry):
63408         (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
63409         (WebCore::GraphicsLayerCA::updateContentsScale):
63410         (WebCore::GraphicsLayerCA::requiresTiledLayer):
63411         * platform/graphics/ca/GraphicsLayerCA.h:
63412
63413 2011-07-19  Mihnea Ovidenie  <mihnea@adobe.com>
63414
63415         [CSSRegions]Parse -webkit-region-overflow property
63416         https://bugs.webkit.org/show_bug.cgi?id=64444
63417
63418         Reviewed by David Hyatt.
63419
63420         Test: fast/regions/webkit-region-overflow-parsing.html
63421
63422         * css/CSSComputedStyleDeclaration.cpp:
63423         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
63424         * css/CSSParser.cpp:
63425         (WebCore::CSSParser::parseValue):
63426         * css/CSSPrimitiveValueMappings.h:
63427         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
63428         (WebCore::CSSPrimitiveValue::operator RegionOverflow):
63429         * css/CSSPropertyNames.in:
63430         * css/CSSStyleSelector.cpp:
63431         (WebCore::CSSStyleSelector::applyProperty):
63432         * css/CSSValueKeywords.in:
63433         * rendering/style/RenderStyle.cpp:
63434         (WebCore::RenderStyle::diff):
63435         * rendering/style/RenderStyle.h:
63436         (WebCore::InheritedFlags::regionOverflow):
63437         (WebCore::InheritedFlags::setRegionOverflow):
63438         (WebCore::InheritedFlags::initialRegionOverflow):
63439         * rendering/style/RenderStyleConstants.h:
63440         * rendering/style/StyleRareNonInheritedData.cpp:
63441         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
63442         (WebCore::StyleRareNonInheritedData::operator==):
63443         * rendering/style/StyleRareNonInheritedData.h:
63444
63445 2011-07-19  Mihnea Ovidenie  <mihnea@adobe.com>
63446
63447         hover then un-hover makes state change
63448         https://bugs.webkit.org/show_bug.cgi?id=56401
63449
63450         When a 'before' pseudo-element is re-added, we should check whether the insertion point is an anonymous
63451         block with inline children. If it is, then we should change the insertion point to the first child of the
63452         anonymous block, otherwise the 'before' pseudo-element ends up in a different block.
63453
63454         Reviewed by David Hyatt.
63455
63456         Test: fast/dynamic/hover-before-position-after-style-change.html
63457
63458         * rendering/RenderObjectChildList.cpp:
63459         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
63460
63461 2011-07-19  Luke Macpherson   <macpherson@chromium.org>
63462
63463         Implement CSSPropertyWebkitPerspectiveOrigin in CSSStyleApplyProperty.
63464         https://bugs.webkit.org/show_bug.cgi?id=64784
63465
63466         Reviewed by Simon Fraser.
63467
63468         No new tests / refactoring.
63469
63470         * css/CSSStyleApplyProperty.cpp:
63471         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
63472         * css/CSSStyleSelector.cpp:
63473         (WebCore::CSSStyleSelector::applyProperty):
63474
63475 2011-07-19  Chris Rogers  <crogers@google.com>
63476
63477         Implement WaveShaperNode for Web Audio API
63478         https://bugs.webkit.org/show_bug.cgi?id=64644
63479
63480         Reviewed by Kenneth Russell.
63481         
63482         No new tests since audio API is not yet implemented.
63483
63484         * DerivedSources.make:
63485         * WebCore.gypi:
63486         * WebCore.xcodeproj/project.pbxproj:
63487         * bindings/js/JSWaveShaperNodeCustom.cpp: Added.
63488         (WebCore::JSWaveShaperNode::setCurve):
63489         * webaudio/AudioContext.cpp:
63490         (WebCore::AudioContext::createWaveShaper):
63491         * webaudio/AudioContext.h:
63492         * webaudio/AudioContext.idl:
63493         * webaudio/AudioNode.h:
63494         * webaudio/WaveShaperDSPKernel.cpp: Added.
63495         (WebCore::WaveShaperDSPKernel::process):
63496         * webaudio/WaveShaperDSPKernel.h: Added.
63497         (WebCore::WaveShaperDSPKernel::WaveShaperDSPKernel):
63498         (WebCore::WaveShaperDSPKernel::reset):
63499         (WebCore::WaveShaperDSPKernel::waveShaperProcessor):
63500         * webaudio/WaveShaperNode.cpp: Added.
63501         (WebCore::WaveShaperNode::WaveShaperNode):
63502         (WebCore::WaveShaperNode::setCurve):
63503         (WebCore::WaveShaperNode::curve):
63504         * webaudio/WaveShaperNode.h: Added.
63505         (WebCore::WaveShaperNode::create):
63506         (WebCore::WaveShaperNode::waveShaperProcessor):
63507         * webaudio/WaveShaperNode.idl: Added.
63508         * webaudio/WaveShaperProcessor.cpp: Added.
63509         (WebCore::WaveShaperProcessor::WaveShaperProcessor):
63510         (WebCore::WaveShaperProcessor::~WaveShaperProcessor):
63511         (WebCore::WaveShaperProcessor::createKernel):
63512         (WebCore::WaveShaperProcessor::setCurve):
63513         (WebCore::WaveShaperProcessor::process):
63514         * webaudio/WaveShaperProcessor.h: Added.
63515         (WebCore::WaveShaperProcessor::curve):
63516
63517 2011-07-19  Robert Hogan  <robert@webkit.org>
63518
63519         REGRESSION: Incorrect layout at recline-online.com
63520         https://bugs.webkit.org/show_bug.cgi?id=64030
63521
63522         Reviewed by David Hyatt.
63523
63524         http://trac.webkit.org/changeset/68362 dropped the check for cases
63525         where the render box is floating or inline. When the box is left or right
63526         aligned it is considered to be floating and needs to its margins set appropriately.
63527
63528         Test: fast/table/align-right-within-left-aligned-div.html
63529               created by Dominic Cooney <dominicc@chromium.org>
63530
63531         * rendering/RenderBox.cpp:
63532         (WebCore::RenderBox::computeInlineDirectionMargins):
63533
63534 2011-07-19  Abhishek Arya  <inferno@chromium.org>
63535
63536         Crash when removing unrenderered nodes in replacement fragment.
63537         https://bugs.webkit.org/show_bug.cgi?id=64801
63538
63539         Reviewed by Ryosuke Niwa.
63540
63541         Test: editing/pasteboard/replacement-fragment-remove-unrendered-node-crash.html
63542
63543         * editing/ReplaceSelectionCommand.cpp:
63544         (WebCore::ReplacementFragment::removeUnrenderedNodes):
63545
63546 2011-07-19  Rob Buis  <rbuis@rim.com>
63547
63548         https://bugs.webkit.org/show_bug.cgi?id=64673
63549         REGRESSION (Safari 5.0.5 - ToT): crash in SVG test http://dev.w3.org/SVG/profiles/1.1F2/test/harness/htmlObjectApproved/styling-pres-02-f.html
63550
63551         Reviewed by Nikolas Zimmermann.
63552
63553         Prevent calling back to the owning SVGTRefElement upon handling DOMSubtreeModified events.
63554
63555         Test: svg/W3C-SVG-1.1-SE/styling-pres-02-f.svg
63556
63557         * svg/SVGTRefElement.cpp:
63558         (WebCore::SubtreeModificationEventListener::handleEvent):
63559
63560 2011-07-19  Tony Chang  <tony@chromium.org>
63561
63562         use more specific types in CSSFlexValue
63563         https://bugs.webkit.org/show_bug.cgi?id=64763
63564
63565         Reviewed by Ojan Vafai.
63566
63567         No new tests because no change in functionality.
63568
63569         * css/CSSFlexValue.h:
63570         (WebCore::CSSFlexValue::create):
63571         (WebCore::CSSFlexValue::isFlexValue): Make it possible to tell if
63572             we're a flex value or not.  Will be needed when we're copying
63573             values to RenderStyle.
63574         (WebCore::CSSFlexValue::positiveFlex): Use floats for positive and
63575             negative flex because in the render code, we use floats.
63576         (WebCore::CSSFlexValue::negativeFlex): Add accessors for these since
63577             we'll need it when reading the flex values.
63578         (WebCore::CSSFlexValue::preferredSize):
63579         (WebCore::CSSFlexValue::CSSFlexValue):
63580         * css/CSSParser.cpp:
63581         (WebCore::CSSParser::parseValidPrimitive): Make the type more
63582             specific.
63583         (WebCore::CSSParser::parseFlex):
63584         * css/CSSParser.h:
63585         * css/CSSValue.h:
63586         (WebCore::CSSValue::isFlexValue):
63587
63588 2011-07-19  Chris Fleizach  <cfleizach@apple.com>
63589
63590         If the control associated with a <label> is hidden, the label is also hidden (incorrectly)
63591         https://bugs.webkit.org/show_bug.cgi?id=64752
63592
63593         Reviewed by Darin Adler.
63594
63595         Test: platform/mac/accessibility/label-element-with-hidden-control.html
63596
63597         * accessibility/AccessibilityRenderObject.cpp:
63598         (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
63599
63600 2011-07-19  Vsevolod Vlasov  <vsevik@chromium.org>
63601
63602         Web Inspector: Backend should provide network resource identifiers that are unique across navigation.
63603         https://bugs.webkit.org/show_bug.cgi?id=64746
63604
63605         Reviewed by Pavel Feldman.
63606
63607         * inspector/ConsoleMessage.cpp:
63608         (WebCore::ConsoleMessage::ConsoleMessage):
63609         (WebCore::ConsoleMessage::addToFrontend):
63610         * inspector/ConsoleMessage.h:
63611         * inspector/IdentifiersFactory.cpp:
63612         (WebCore::IdentifiersFactory::createIdentifier):
63613         (WebCore::IdentifiersFactory::resourceId):
63614         (WebCore::IdentifiersFactory::addProcessIdPrefixTo):
63615         * inspector/IdentifiersFactory.h:
63616         * inspector/Inspector.json:
63617         * inspector/InspectorConsoleAgent.cpp:
63618         (WebCore::InspectorConsoleAgent::didReceiveResponse):
63619         (WebCore::InspectorConsoleAgent::didFailLoading):
63620         * inspector/InspectorPageAgent.h:
63621         * inspector/InspectorResourceAgent.cpp:
63622         (WebCore::InspectorResourceAgent::willSendRequest):
63623         (WebCore::InspectorResourceAgent::markResourceAsCached):
63624         (WebCore::InspectorResourceAgent::didReceiveResponse):
63625         (WebCore::InspectorResourceAgent::didReceiveData):
63626         (WebCore::InspectorResourceAgent::didFinishLoading):
63627         (WebCore::InspectorResourceAgent::didFailLoading):
63628         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
63629         (WebCore::InspectorResourceAgent::setInitialScriptContent):
63630         (WebCore::InspectorResourceAgent::setInitialXHRContent):
63631         (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
63632         (WebCore::InspectorResourceAgent::didCreateWebSocket):
63633         (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
63634         (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
63635         (WebCore::InspectorResourceAgent::didCloseWebSocket):
63636         (WebCore::InspectorResourceAgent::getResourceContent):
63637         * inspector/InspectorResourceAgent.h:
63638         * inspector/InspectorTimelineAgent.cpp:
63639         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
63640         (WebCore::InspectorTimelineAgent::willReceiveResourceData):
63641         (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
63642         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
63643         * inspector/NetworkResourcesData.cpp:
63644         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
63645         (WebCore::NetworkResourcesData::resourceCreated):
63646         (WebCore::NetworkResourcesData::responseReceived):
63647         (WebCore::NetworkResourcesData::setResourceType):
63648         (WebCore::NetworkResourcesData::resourceType):
63649         (WebCore::NetworkResourcesData::setResourceContent):
63650         (WebCore::NetworkResourcesData::maybeAddResourceData):
63651         (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
63652         (WebCore::NetworkResourcesData::addCachedResource):
63653         (WebCore::NetworkResourcesData::addResourceSharedBuffer):
63654         (WebCore::NetworkResourcesData::data):
63655         (WebCore::NetworkResourcesData::clear):
63656         (WebCore::NetworkResourcesData::ensureNoDataForResourceId):
63657         (WebCore::NetworkResourcesData::ensureFreeSpace):
63658         * inspector/NetworkResourcesData.h:
63659         (WebCore::NetworkResourcesData::ResourceData::resourceId):
63660         * inspector/TimelineRecordFactory.cpp:
63661         (WebCore::TimelineRecordFactory::createResourceSendRequestData):
63662         (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
63663         (WebCore::TimelineRecordFactory::createResourceFinishData):
63664         (WebCore::TimelineRecordFactory::createReceiveResourceData):
63665         * inspector/TimelineRecordFactory.h:
63666
63667 2011-07-19  Jessie Berlin  <jberlin@apple.com>
63668
63669         Fix assertion failure seen in plugins/return-npobject.html on Windows XP Debug bots.
63670
63671         Rubber-stamped by Adam Roben.
63672
63673         * loader/ResourceLoader.cpp:
63674         (WebCore::ResourceLoader::didReceiveData):
63675         It is possible for a subclass to cancel the load from within didReceiveData, which would
63676         set m_documentLoader to 0.
63677         Remove the assertion I added that the DocumentLoader's frame is non-null.
63678
63679 2011-07-19  Steve Block  <steveblock@google.com>
63680
63681         REGRESSION (r82194): jvalueToJavaValue() does not correctly set length of String property
63682         https://bugs.webkit.org/show_bug.cgi?id=64730
63683
63684         Reviewed by Alexey Proskuryakov.
63685
63686         Covered by existing tests.
63687
63688         * bridge/jni/v8/JNIUtilityPrivate.cpp:
63689         (JSC::Bindings::jvalueToJavaValue):
63690
63691 2011-07-19  Vitaly Repeshko  <vitalyr@chromium.org>
63692
63693         [V8] Don't put CSSRuleLists in object groups.
63694         https://bugs.webkit.org/show_bug.cgi?id=64798
63695
63696         Reviewed by Pavel Feldman.
63697
63698         Retention of CSSRuleLists should be implemented using hidden
63699         references from holder objects. By putting lists in groups we
63700         artificially extend their lifetimes much more than necessary.
63701
63702         * bindings/v8/V8GCController.cpp:
63703         (WebCore::GrouperVisitor::visitDOMWrapper):
63704
63705 2011-07-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
63706
63707         [EFL] Add ewk_network.cpp|h files.
63708         https://bugs.webkit.org/show_bug.cgi?id=63315
63709
63710         Enable setOnLine(bool) on EFL port as well as Android and Chromium.
63711
63712         Reviewed by Antonio Gomes.
63713
63714         * platform/network/NetworkStateNotifier.cpp:
63715         * platform/network/NetworkStateNotifier.h:
63716
63717 2011-07-19  Ilya Tikhonovsky  <loislo@chromium.org>
63718
63719         Web Inspector: implement import/export for timeline data.
63720         https://bugs.webkit.org/show_bug.cgi?id=64601
63721
63722         Reviewed by Yury Semikhatsky.
63723
63724         Test: inspector/timeline/timeline-load.html
63725
63726         * English.lproj/localizedStrings.js:
63727         * inspector/InspectorFrontendHost.cpp:
63728         (WebCore::FrontendMenuProvider::contextMenuItemSelected):
63729         * inspector/front-end/TimelinePanel.js:
63730         (WebInspector.TimelinePanel):
63731         (WebInspector.TimelinePanel.prototype._createFileSelector):
63732         (WebInspector.TimelinePanel.prototype._contextMenu):
63733         (WebInspector.TimelinePanel.prototype._exportToFile):
63734         (WebInspector.TimelinePanel.prototype._importFromFile):
63735         (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
63736         (WebInspector.TimelinePanel.prototype._clearPanel):
63737         (WebInspector.TimelineModel):
63738         (WebInspector.TimelineModel.prototype._addRecord):
63739         (WebInspector.TimelineModel.prototype._importNextChunk):
63740         (WebInspector.TimelineModel.prototype._importFromFile):
63741         (WebInspector.TimelineModel.prototype._importFromFile.onError):
63742         (WebInspector.TimelineModel.prototype._exportToFile):
63743         (WebInspector.TimelineModel.prototype._reset):
63744         * inspector/front-end/utilities.js:
63745         ():
63746
63747 2011-07-19  Vsevolod Vlasov  <vsevik@chromium.org>
63748
63749         Web Inspector: Rename agentIdentifierPrefix to processId, move out from page agent and make static.
63750         https://bugs.webkit.org/show_bug.cgi?id=64729
63751
63752         Reviewed by Pavel Feldman.
63753
63754         * CMakeLists.txt:
63755         * GNUmakefile.list.am:
63756         * WebCore.gypi:
63757         * WebCore.pro:
63758         * WebCore.vcproj/WebCore.vcproj:
63759         * WebCore.xcodeproj/project.pbxproj:
63760         * inspector/IdentifiersFactory.cpp: Added.
63761         (WebCore::IdentifiersFactory::createIdentifier):
63762         * inspector/IdentifiersFactory.h: Added.
63763         (WebCore::IdentifiersFactory::setProcessId):
63764         * inspector/InspectorController.cpp:
63765         (WebCore::InspectorController::setProcessId):
63766         * inspector/InspectorController.h:
63767         * inspector/InspectorPageAgent.cpp:
63768         (WebCore::InspectorPageAgent::frameId):
63769         (WebCore::InspectorPageAgent::loaderId):
63770         * inspector/InspectorPageAgent.h:
63771
63772 2011-07-19  Jeremy Moskovich  <jeremy@chromium.org>
63773
63774         Fix microphone icon placement in speech input control for dir=rtl.
63775         https://bugs.webkit.org/show_bug.cgi?id=64668
63776
63777         Reviewed by Dimitri Glazkov.
63778
63779         Modify default stylesheet to propagate dir=rtl from the outer input
63780         control to the shadow DOM container.  This makes the microphone
63781         icon appear on the left for dir=rtl, which is the desired behavior.
63782
63783         Test: fast/speech/speech-bidi-rendering.html
63784
63785         * css/html.css:
63786         (input[x-webkit-speech][dir=rtl]::-webkit-textfield-decoration-container):
63787
63788 2011-07-19  Raphael Kubo da Costa  <kubo@profusion.mobi>
63789
63790         [EFL] Account for the invalid pointer case in WebCore::screenRect()
63791         https://bugs.webkit.org/show_bug.cgi?id=64543
63792
63793         Reviewed by Antonio Gomes.
63794
63795         Fix a regression introduced in r88245: it assumes the pointer passed
63796         to screenRect() is always valid.
63797         fast/frames/crash-removed-iframe.html proves this is not always true,
63798         so we need to do some sanity check on the pointer before using it.
63799         No new tests as this has been caught by the current test suite.
63800
63801         * platform/efl/PlatformScreenEfl.cpp:
63802         (WebCore::screenRect):
63803
63804 2011-07-19  Robin Qiu  <robin.qiu@torchmobile.com.cn>
63805
63806         Reviewed by Antonio Gomes.
63807
63808         ScrollBar should initialize current position in constructor.
63809         https://bugs.webkit.org/show_bug.cgi?id=39284
63810
63811         When ScrollBar is created, m_currentPos should be initialized to
63812         m_scrollableArea's current scrollPosition. Because scrollbars may
63813         be created after the content of m_scrollableArea has been scrolled.
63814
63815         Test: scrollbars/scrollbar-initial-position.html
63816
63817         * platform/Scrollbar.cpp:
63818         (WebCore::Scrollbar::Scrollbar):
63819
63820 2011-07-19  Yuta Kitamura  <yutak@chromium.org>
63821
63822         WebSocket: Implement hybi framing
63823         https://bugs.webkit.org/show_bug.cgi?id=64522
63824
63825         Reviewed by Kent Tamura.
63826
63827         Implement WebSocket framing protocol which is mainly described in
63828         <http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-4> and
63829         <http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-6>.
63830
63831         Hybi protocol introduces a new frame format which is drastically different from
63832         the old one. Notable differences are:
63833         - Binary data support.
63834         - Fragmentation support: a single message can be fragmented to multiple frames.
63835         - Ping-pong support.
63836         - Masking: frame content of a client must be masked to prevent cross-protocol attacks.
63837
63838         This patch covers the following features:
63839         - Send a pong frame when a ping frame is received.
63840         - Receive fragmented frames.
63841         - Receive masked frames. (Servers do not have to mask frames, but they may if they wish.)
63842
63843         The following features are NOT implemented yet:
63844         - Send or receive binary messages.
63845         - Send a ping message.
63846         - Send fragmented frames. (It is unclear whether this is necessary.)
63847         - Rewrite the frame content by WebSocket protocol extensions (like frame compression).
63848
63849         New tests: http/tests/websocket/tests/hybi/broken-utf8.html
63850                    http/tests/websocket/tests/hybi/fragmented-control-frame.html
63851                    http/tests/websocket/tests/hybi/fragmented-frames.html
63852                    http/tests/websocket/tests/hybi/interleaved-fragments.html
63853                    http/tests/websocket/tests/hybi/long-control-frame.html
63854                    http/tests/websocket/tests/hybi/masked-frames.html
63855                    http/tests/websocket/tests/hybi/pong.html
63856                    http/tests/websocket/tests/hybi/reserved-bits.html
63857                    http/tests/websocket/tests/hybi/reserved-opcodes.html
63858                    http/tests/websocket/tests/hybi/too-long-payload.html
63859
63860         * websockets/WebSocketChannel.cpp:
63861         (WebCore::WebSocketChannel::WebSocketChannel):
63862         (WebCore::WebSocketChannel::send):
63863         The original content of send() was moved to a private method sendFrameHixie76().
63864         (WebCore::WebSocketChannel::fail):
63865         Stop handling incoming data after the WebSocket connection is failed.
63866         It was unclear to me whether we should do the same thing for hixie-76 connection;
63867         for now, I kept the original behavior.
63868         (WebCore::WebSocketChannel::processBuffer):
63869         (WebCore::WebSocketChannel::resumeTimerFired):
63870         (WebCore::WebSocketChannel::startClosingHandshake):
63871         (WebCore::WebSocketChannel::closingTimerFired):
63872         (WebCore::WebSocketChannel::parseFrame):
63873         (WebCore::WebSocketChannel::processFrame):
63874         (WebCore::WebSocketChannel::processFrameHixie76):
63875         (WebCore::WebSocketChannel::sendFrame):
63876         (WebCore::WebSocketChannel::sendFrameHixie76):
63877         * websockets/WebSocketChannel.h:
63878         (WebCore::WebSocketChannel::isNonControlOpCode):
63879         (WebCore::WebSocketChannel::isControlOpCode):
63880         (WebCore::WebSocketChannel::isReservedOpCode):
63881
63882 2011-07-19  Nikolas Zimmermann  <nzimmermann@rim.com>
63883
63884         REGRESSION (r88913): Preview in Safari's snippet editor has a fixed height instead of filling the entire pane
63885         https://bugs.webkit.org/show_bug.cgi?id=64059
63886
63887         REGRESSION (r88913): <object> has wrong computed height
63888         https://bugs.webkit.org/show_bug.cgi?id=62769
63889
63890         Reviewed by Rob Buis.
63891
63892         Fix misinterpretation of CSS 2.1 - "10.5 Content height: the 'height' property".
63893         It says "If the height of the containing block is not specified explicitelz (i.e. it depends on the
63894         content height), and this element is not absolutely positioned, the value computes to 'auto'".
63895
63896         Checking whether the containing block height depends on the content height is not equal to checking
63897         whether the height property is set on the containing block, there are other ways to implicitly specify
63898         the height by setting top & bottom. Fix that by checking whether the containing block has a height
63899         property or top & bottom set.
63900
63901         While I was at it, make computeReplacedLogicalWidth/Height a bit more explicit to make it easier to compare
63902         the code with the spec quoatations - this doesn't change the functionality only the readability.
63903         
63904         Test: fast/css/replaced-element-implicit-size.html
63905
63906         * rendering/RenderReplaced.cpp:
63907         (WebCore::RenderReplaced::computeReplacedLogicalWidth): Cleanup comment, make code more explicit.
63908         (WebCore::RenderReplaced::logicalHeightIsAuto): Add helper method used by computeReplacedLogicalHeight.
63909         (WebCore::RenderReplaced::computeReplacedLogicalHeight): Fix height=auto detection.
63910         * rendering/RenderReplaced.h:
63911
63912 2011-07-18  Ryosuke Niwa  <rniwa@webkit.org>
63913
63914         REGRESSION(91209?): fast/css/custom-font-xheight.html is failing on Leopard
63915         https://bugs.webkit.org/show_bug.cgi?id=64767
63916
63917         Add a runtime check for font cascading optimization.
63918
63919         It's a constant value in Mac port so hopefully gcc will constant-propagate the value
63920         and eliminate the function altogether.
63921
63922         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
63923         (WebCore::canSetCascadeListForCustomFont): Added.
63924         (WebCore::FontPlatformData::ctFont):
63925
63926 2011-07-18  MORITA Hajime  <morrita@google.com>
63927
63928         [ShadowContentElement] forwarded node should be able to access its hosting content element.
63929         https://bugs.webkit.org/show_bug.cgi?id=64251
63930         
63931         Reviewed by Dimitri Glazkov.
63932
63933         - Introduced ShadowInclusionSet to manage included nodes to its includer content element.
63934           ShadowInclusionSet instance is owned by ShadowRoot.
63935         - Updated the set on inclusion list changes.
63936         - Used the set to retrieve the content element of NodeRenderingContext.
63937         
63938         There are also related refactoring and cleanup:
63939         - Renamed NodeRenderingContext::m_contentElement to m_includer
63940         - ShadowContentSelector::m_activeElement is no longer used, thus removed.
63941         
63942         Test: fast/dom/shadow/content-element-includer.html
63943
63944         * WebCore.exp.in:
63945         * dom/NodeRenderingContext.cpp:
63946         (WebCore::NodeRenderingContext::NodeRenderingContext):
63947         (WebCore::NodeRenderingContext::nextRenderer):
63948         (WebCore::NodeRenderingContext::previousRenderer):
63949         * dom/NodeRenderingContext.h:
63950         (WebCore::NodeRenderingContext::includer):
63951         * dom/ShadowContentElement.cpp:
63952         (WebCore::removeFromSet):
63953         (WebCore::addToSet):
63954         (WebCore::ShadowContentElement::attach):
63955         (WebCore::ShadowContentElement::detach):
63956         * dom/ShadowContentElement.h:
63957         (WebCore::ShadowInclusionSet::add):
63958         (WebCore::ShadowInclusionSet::remove):
63959         (WebCore::ShadowInclusionSet::isEmpty):
63960         (WebCore::ShadowInclusionSet::Translator::hash):
63961         (WebCore::ShadowInclusionSet::Translator::equal):
63962         (WebCore::ShadowInclusionSet::Hash::hash):
63963         (WebCore::ShadowInclusionSet::Hash::equal):
63964         (WebCore::ShadowInclusionSet::find):
63965         * dom/ShadowContentSelector.cpp:
63966         (WebCore::ShadowContentSelector::ShadowContentSelector):
63967         (WebCore::ShadowContentSelector::selectInclusion):
63968         * dom/ShadowContentSelector.h:
63969         * dom/ShadowRoot.cpp:
63970         (WebCore::ShadowRoot::~ShadowRoot):
63971         (WebCore::ShadowRoot::includerFor):
63972         (WebCore::ShadowRoot::inclusions):
63973         (WebCore::ShadowRoot::ensureInclusions):
63974         * dom/ShadowRoot.h:
63975         (WebCore::toShadowRoot):
63976         * testing/Internals.cpp:
63977         (WebCore::Internals::includerFor):
63978         * testing/Internals.h:
63979         * testing/Internals.idl:
63980
63981 2011-07-18  Dean Jackson  <dino@apple.com>
63982
63983         https://bugs.webkit.org/show_bug.cgi?id=64742
63984         Expose WebPreferences for media playback requiring user gestures and inline playback
63985
63986         Reviewed by Simon Fraser.
63987
63988         Media playback already tested if it should require user gestures, but
63989         no setting was ever exposed to clients. Also, some ports only allow media
63990         playback to be fullscreen, so exposing a new setting for them.
63991
63992         * html/HTMLMediaElement.cpp:
63993         (WebCore::HTMLMediaElement::HTMLMediaElement): Examine the new Setting
63994         for user gestures.
63995         * page/Settings.cpp:
63996         (WebCore::Settings::Settings):
63997         * page/Settings.h: Two new settings.
63998         (WebCore::Settings::setMediaPlaybackRequiresUserGesture):
63999         (WebCore::Settings::mediaPlaybackRequiresUserGesture):
64000         (WebCore::Settings::setMediaPlaybackAllowsInline):
64001         (WebCore::Settings::mediaPlaybackAllowsInline):
64002
64003 2011-07-18  Ryosuke Niwa  <rniwa@webkit.org>
64004
64005         Leopard build fix after r91229.
64006
64007         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
64008         (WebCore::FontPlatformData::ctFont):
64009
64010 2011-07-18  Dan Bernstein  <mitz@apple.com>
64011
64012         REGRESSION(91209?): fast/css/custom-font-xheight.html is failing on Leopard
64013         https://bugs.webkit.org/show_bug.cgi?id=64767
64014
64015         Reviewed by Sam Weinig.
64016
64017         * platform/graphics/Font.h:
64018         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
64019         (WebCore::FontPlatformData::ctFont): Undo the cascade list optimization on Leopard for custom
64020         fonts, because adding a cascade list apparently breaks the font.
64021
64022 2011-07-18  Matthew Delaney  <mdelaney@apple.com>
64023
64024         Remove drawsUsingCopy now that all ports handle the copying
64025         https://bugs.webkit.org/show_bug.cgi?id=64768
64026         
64027         Introduced in https://bugs.webkit.org/show_bug.cgi?id=43507, ImageBuffer::drawsUsingCopy
64028         was used to know whether or not an ImageBuffer should be explicitly copied before being
64029         painted into a context (as was used in HTMLCanvasElement::paint). All platforms now
64030         handle the logic of copying or not in their ImageBuffer::draw() implementations, so
64031         drawsUsingCopy() is no longer needed. This patch removes it.
64032
64033         Reviewed by Dan Bernstein.
64034
64035         No new tests; does not affect behavior.
64036
64037         * html/HTMLCanvasElement.cpp:
64038         (WebCore::HTMLCanvasElement::paint):
64039         * platform/graphics/ImageBuffer.h:
64040         (WebCore::ImageBuffer::isAccelerated):
64041         * platform/graphics/cairo/ImageBufferCairo.cpp:
64042         * platform/graphics/cg/ImageBufferCG.cpp:
64043         * platform/graphics/qt/ImageBufferQt.cpp:
64044         * platform/graphics/skia/ImageBufferSkia.cpp:
64045         * platform/graphics/wince/ImageBufferWinCE.cpp:
64046         * platform/graphics/wx/ImageBufferWx.cpp:
64047
64048 2011-07-18  Vsevolod Vlasov  <vsevik@chromium.org>
64049
64050         Web Inspector: [REGRESSION] Resource preserving fails when frameNavigated event is dispatched on NetworkPanel.
64051         https://bugs.webkit.org/show_bug.cgi?id=64748
64052
64053         Reviewed by Pavel Feldman.
64054
64055         * inspector/front-end/NetworkPanel.js:
64056         (WebInspector.NetworkLogView.prototype._frameNavigated):
64057
64058 2011-07-18  Brian Weinstein  <bweinstein@apple.com>
64059
64060         Prep work for: Crash under WebPage::platformDragEnded when dragging on Mac
64061         https://bugs.webkit.org/show_bug.cgi?id=64766
64062         <rdar://problem/9548174>
64063         
64064         Reviewed by Darin Adler.
64065
64066         Add a DragClient function that is called when a drag is ended, and call it from DragController::dragEnded.
64067         This isn't used yet, but will be used by WebKit2 on Mac.
64068         
64069         This patch also cleans up style in DragClient.h.
64070
64071         No change in behavior, no tests needed.
64072
64073         * page/DragClient.h:
64074         (WebCore::DragClient::dragEnded): Stub virtual implementation for now, this will be used by
64075             WebKit2 on Mac.
64076         * page/DragController.cpp:
64077         (WebCore::DragController::dragEnded): Call DragClient::dragEnded.
64078
64079 2011-07-18  Jon Honeycutt  <jhoneycutt@apple.com>
64080
64081         Focus and selection events are not fired when a <select>'s selection
64082         changes
64083         https://bugs.webkit.org/show_bug.cgi?id=64504
64084         <rdar://problem/9319881>
64085
64086         Reviewed by Alice Liu.
64087
64088         Test: platform/win/accessibility/option-element-selection-and-focus-events.html
64089
64090         * accessibility/chromium/AXObjectCacheChromium.cpp:
64091         (WebCore::AXObjectCache::postPlatformNotification):
64092         Add new notification type to the section of unhandled notifications.
64093
64094         * accessibility/AXObjectCache.h:
64095         Declare a new notification, AXMenuListItemSelected.
64096
64097         * accessibility/AccessibilityMenuList.cpp:
64098         (WebCore::AccessibilityMenuList::didUpdateActiveOption):
64099         Tell our child popup that the active option changed, and post a
64100         notification that our value changed.
64101
64102         * accessibility/AccessibilityMenuList.h:
64103         Declare didUpdateActiveOption().
64104
64105         * accessibility/AccessibilityMenuListPopup.cpp:
64106         (WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
64107         Get the child <option> element that is selected, and fire focus and
64108         selection events for it.
64109
64110         * accessibility/AccessibilityMenuListPopup.h:
64111         Declare didUpdateActiveOption().
64112
64113         * accessibility/win/AXObjectCacheWin.cpp:
64114         (WebCore::AXObjectCache::postPlatformNotification):
64115         Map AXMenuListItemSelected -> EVENT_OBJECT_SELECTION.
64116
64117         * dom/SelectElement.cpp:
64118         (WebCore::SelectElement::setSelectedIndex):
64119         Pass the newly-selected index.
64120
64121         * rendering/RenderMenuList.cpp:
64122         (WebCore::RenderMenuList::RenderMenuList):
64123         Update the initialization list for the renamed m_lastActiveIndex.
64124         (WebCore::RenderMenuList::setTextFromOption):
64125         A new selection has been made in the popup; call
64126         didUpdateActiveOption().
64127         (WebCore::RenderMenuList::didSetSelectedIndex):
64128         Call didUpdateActiveOption(), passing the index of the newly-selected
64129         <option>.
64130         (WebCore::RenderMenuList::didUpdateActiveOption):
64131         If accessibility is disabled, or if the active option has not changed,
64132         return early. Check whether the option index is in the range of list
64133         items, and assert that the item at that index is an <option> element.
64134         Tell the AccessibilityMenuList for this element that we updated the
64135         active option.
64136
64137         * rendering/RenderMenuList.h:
64138         Updated the declaration of didSetSelectedIndex() to take the selected
64139         index. Declared didUpdateActiveOption(). Renamed m_lastSelectedIndex to
64140         m_lastActiveIndex.
64141
64142 2011-07-18  Dan Bernstein  <mitz@apple.com>
64143
64144         Specify a cascade list consisting of the last resort font for Core Text
64145         https://bugs.webkit.org/show_bug.cgi?id=64747
64146
64147         Reviewed by Sam Weinig.
64148
64149         No new tests, because this does not affect behavior.
64150
64151         This prevents Core Text from taking its default, longer fallback list when the primary font does
64152         not include a character. This is OK to do because WebKit never uses the results of Core Text
64153         fallback anyway.
64154
64155         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
64156         (WebCore::cascadeToLastResortFontDescriptor): Added. Returns a CTFontDescriptor with a cascade
64157         list consisting of the last resort font.
64158         (WebCore::FontPlatformData::ctFont): Changed to include the cascadeToLastResortFontDescriptor
64159         in the returned font.
64160
64161 2011-07-18  James Robinson  <jamesr@chromium.org>
64162
64163         Timer scheduling should be based off the monotonic clock
64164         https://bugs.webkit.org/show_bug.cgi?id=64544
64165
64166         Reviewed by Darin Adler.
64167
64168         Changes the Timer scheduling logic from using absolute values in terms of currentTime() to using relative
64169         intervals in terms of monotonicallyIncreasingTime().  This provides better standards compliance, compatibility,
64170         and predictability when the system clock is adjusted.
64171
64172         No automated tests since there is no way to modify the system clock from DRT.
64173
64174         * platform/SharedTimer.h:
64175         (WebCore::MainThreadSharedTimer::setFireInterval):
64176         * platform/ThreadTimers.cpp:
64177         (WebCore::ThreadTimers::updateSharedTimer):
64178         (WebCore::ThreadTimers::sharedTimerFiredInternal):
64179         * platform/Timer.cpp:
64180         (WebCore::TimerBase::start):
64181         (WebCore::TimerBase::nextFireInterval):
64182         * platform/android/SharedTimerAndroid.cpp:
64183         (WebCore::setSharedTimerFireInterval):
64184         * platform/brew/SharedTimerBrew.cpp:
64185         (WebCore::setSharedTimerFireInterval):
64186         * platform/chromium/PlatformBridge.h:
64187         * platform/chromium/SharedTimerChromium.cpp:
64188         (WebCore::setSharedTimerFireInterval):
64189         * platform/efl/SharedTimerEfl.cpp:
64190         (WebCore::addNewTimer):
64191         (WebCore::setSharedTimerFireInterval):
64192         * platform/gtk/SharedTimerGtk.cpp:
64193         (WebCore::setSharedTimerFireInterval):
64194         * platform/haiku/SharedTimerHaiku.cpp:
64195         (WebCore::SharedTimerHaiku::start):
64196         (WebCore::setSharedTimerFireInterval):
64197         * platform/mac/SharedTimerMac.mm:
64198         (WebCore::setSharedTimerFireInterval):
64199         * platform/qt/SharedTimerQt.cpp:
64200         (WebCore::SharedTimerQt::start):
64201         (WebCore::setSharedTimerFireInterval):
64202         * platform/win/SharedTimerWin.cpp:
64203         (WebCore::setSharedTimerFireInterval):
64204         * platform/wince/SharedTimerWinCE.cpp:
64205         (WebCore::setSharedTimerFireInterval):
64206         * platform/wx/SharedTimerWx.cpp:
64207         (WebCore::setSharedTimerFireInterval):
64208         * workers/WorkerRunLoop.cpp:
64209         (WebCore::WorkerSharedTimer::setFireInterval):
64210
64211 2011-07-18  Pratik Solanki  <psolanki@apple.com>
64212
64213         Unreviewed. Fix Windows build. Move static function defaultSessionCookieStorage() to before
64214         its use in defaultCookieStorage().
64215
64216         * platform/network/cf/CookieStorageCFNet.cpp:
64217         (WebCore::defaultSessionCookieStorage):
64218
64219 2011-07-18  Pratik Solanki  <psolanki@apple.com>
64220
64221         Part of https://bugs.webkit.org/show_bug.cgi?id=63674
64222         Get webkit to compile with USE(CFNETWORK) enabled on Mac
64223
64224         Reviewed by David Kilzer.
64225
64226         Get coookie storage code to work with USE(CFNETWORK) enabled on Mac.
64227
64228         No new tests because no change in functionality.
64229
64230         * platform/network/cf/CookieStorageCFNet.cpp:
64231         (WebCore::defaultCookieStorage):
64232         (WebCore::defaultSessionCookieStorage):
64233         * platform/network/cf/ResourceHandleCFNet.cpp:
64234         (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
64235         * platform/network/mac/CookieStorageMac.mm:
64236
64237 2011-07-18  Pratik Solanki  <psolanki@apple.com>
64238
64239         Part of https://bugs.webkit.org/show_bug.cgi?id=63674
64240         Get webkit to compile with USE(CFNETWORK) enabled on Mac
64241
64242         Reviewed by David Kilzer.
64243
64244         * WebCore.exp.in:
64245
64246 2011-07-18  Gavin Barraclough  <barraclough@apple.com>
64247
64248         Speculative fix for Leopard assertions caused by 91095.
64249
64250         Rubber stamped by Sam Weinig.
64251
64252         * bridge/NP_jsobject.cpp:
64253         (_NPN_Invoke):
64254             - ensure we pass the window shell, not the global object.
64255
64256 2011-07-18  Mark Hahnenberg  <mhahnenberg@apple.com>
64257
64258         Refactor JSC to replace JSCell::operator new with static create method
64259         https://bugs.webkit.org/show_bug.cgi?id=64466
64260
64261         Reviewed by Oliver Hunt (oliver@apple.com) and Darin Adler (darin@apple.com).
64262
64263         First step in a longer refactoring process to remove the use of
64264         operator new overloading in order to allocate GC objects and to replace
64265         this method with static create methods for each individual type of heap-allocated
64266         JS object.  This particular patch only deals with replacing uses of
64267         operator new within JSC proper.  Future patches will remove it from the
64268         parts that interface with the DOM.  Due to the DOM's continued dependence
64269         on it, operator new has not actually been removed from JSCell.
64270
64271         * bindings/js/JSDOMBinding.cpp:
64272         (WebCore::jsDateOrNull):
64273         (WebCore::objectToStringFunctionGetter):
64274         * bindings/js/JSDOMWindowCustom.cpp:
64275         (WebCore::nonCachingStaticFunctionGetter):
64276         * bindings/js/JSHistoryCustom.cpp:
64277         (WebCore::nonCachingStaticBackFunctionGetter):
64278         (WebCore::nonCachingStaticForwardFunctionGetter):
64279         (WebCore::nonCachingStaticGoFunctionGetter):
64280         * bindings/js/JSLocationCustom.cpp:
64281         (WebCore::nonCachingStaticReplaceFunctionGetter):
64282         (WebCore::nonCachingStaticReloadFunctionGetter):
64283         (WebCore::nonCachingStaticAssignFunctionGetter):
64284         * bindings/js/SerializedScriptValue.cpp:
64285         (WebCore::CloneDeserializer::readTerminal):
64286         * bridge/qt/qt_runtime.cpp:
64287         (JSC::Bindings::convertQVariantToValue):
64288
64289 2011-07-18  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
64290
64291         [Texmap] [Qt] [WK2] Unsync in TextureMapperNode between parent and child lists cause crashes on WK2.
64292         https://bugs.webkit.org/show_bug.cgi?id=62587
64293
64294         Reviewed by Noam Rosenthal.
64295
64296         Fix unsync between m_parent and m_children list in child and parent texture mapper nodes 
64297         in syncCompositingStateSelf.
64298
64299         * platform/graphics/texmap/TextureMapperNode.cpp:
64300         (WebCore::TextureMapperNode::syncCompositingStateSelf):
64301
64302 2011-07-18  Rob Buis  <rbuis@rim.com>
64303
64304         Stroking of zero-length paths in SVG should change according to erratum
64305         https://bugs.webkit.org/show_bug.cgi?id=18356
64306
64307         Reviewed by Nikolas Zimmermann.
64308
64309         Do not rely on toolkits to correctly render zero-length path with stroke-linecap=round, render
64310         it ourselves just like for stroke-linecap=square.
64311
64312         * rendering/svg/RenderSVGPath.cpp:
64313         (WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath):
64314         (WebCore::RenderSVGPath::setupSquareCapPath):
64315
64316 2011-07-18  Mihnea Ovidenie  <mihnea@adobe.com>
64317
64318         [REGRESSION] Value 'none' breaks multiple background-image display
64319         https://bugs.webkit.org/show_bug.cgi?id=59274
64320
64321         Reviewed by Simon Fraser.
64322
64323         When taking fast path for simple color background, we should draw
64324         the background only if it is the last in the list of backgrounds.
64325         Otherwise, it will obscure the previously drawn backgrounds.
64326
64327         Test: fast/backgrounds/background-fast-path-simple-color.html
64328
64329         * rendering/RenderBoxModelObject.cpp:
64330         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
64331
64332 2011-07-18  Yi Shen  <yi.4.shen@nokia.com>
64333
64334         [Qt] ASSERTION FAILED in ResourceHandle::setDefersLoading causes crash
64335         https://bugs.webkit.org/show_bug.cgi?id=62808
64336
64337         The assertion in ResourceHandle::setDefersLoading assumes asynchronous
64338         content delivery -- To resume a page, first, its main resource loader
64339         calls setDefersLoading to resume loading the main content; then all the
64340         sub-resource loaders calls setDefersLoading to resume sub-contents.
64341         However, since QNetworkReplyHandler delivers content synchronously,
64342         some new sub-resource loaders get created as soon as the main resource
64343         loader resumed, and all these new sub-resource loaders set their
64344         defersLoading flag to false. Then, the assertion fails for these new
64345         sub-resource loaders when calling setDefersLoading on them. As a fix,
64346         this path makes QNetworkReplyHandler deliver content asynchronously
64347         when its load type is set to SynchronousLoad.
64348
64349         Reviewed by Benjamin Poulain.
64350
64351         Test: loader/load-defer-resume-crash.html
64352
64353         * platform/network/qt/QNetworkReplyHandler.cpp:
64354         (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
64355         * platform/network/qt/QNetworkReplyHandler.h:
64356         (WebCore::QNetworkReplyHandler::setLoadingDeferred):
64357
64358 2011-07-18  Young Han Lee  <joybro@company100.net>
64359
64360         AnimationBase asserts if a test tries to pause during the delay phase
64361         https://bugs.webkit.org/show_bug.cgi?id=59475
64362
64363         Reviewed by Simon Fraser.
64364
64365         There is no more assertion failure after r90765, but the testcase still fails due to
64366         the miscalculation of the pauseTime. This patch pauses the animation at its startTime
64367         if a test tries to pause it during the delay phase.
64368
64369         Test: transitions/transition-in-delay-phase.html
64370
64371         * page/animation/AnimationBase.cpp:
64372         (WebCore::AnimationBase::freezeAtTime):
64373
64374 2011-07-18  Vsevolod Vlasov  <vsevik@chromium.org>
64375
64376         Web Inspector: Web Inspector: provide unique identifiers for loaders
64377         https://bugs.webkit.org/show_bug.cgi?id=64599
64378
64379         Reviewed by Pavel Feldman.
64380
64381         * inspector/InspectorInstrumentation.cpp:
64382         (WebCore::InspectorInstrumentation::loaderDetachedFromFrameImpl):
64383         * inspector/InspectorInstrumentation.h:
64384         (WebCore::InspectorInstrumentation::frameDestroyed):
64385         (WebCore::InspectorInstrumentation::loaderDetachedFromFrame):
64386         * inspector/InspectorPageAgent.cpp:
64387         (WebCore::InspectorPageAgent::loaderId):
64388         (WebCore::InspectorPageAgent::loaderDetachedFromFrame):
64389         * inspector/InspectorPageAgent.h:
64390         * loader/DocumentLoader.cpp:
64391         (WebCore::DocumentLoader::detachFromFrame):
64392
64393 2011-07-18  Pavel Feldman  <pfeldman@google.com>
64394
64395         Web Inspector: "Reveal in Elements Panel" is broken.
64396         https://bugs.webkit.org/show_bug.cgi?id=64688
64397
64398         Reviewed by Yury Semikhatsky.
64399
64400         * inspector/front-end/ElementsTreeOutline.js:
64401         (WebInspector.ElementsTreeOutline):
64402         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
64403         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
64404         (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
64405
64406 2011-07-18  Julien Chaffraix  <jchaffraix@webkit.org>
64407
64408         Remove RenderObject::addLayers second argument
64409         https://bugs.webkit.org/show_bug.cgi?id=64649
64410
64411         Reviewed by Benjamin Poulain.
64412
64413         No change in behavior.
64414
64415         The code was always passing |this| as the second argument. Thus just
64416         removed the argument for clarity.
64417
64418         * rendering/RenderObject.h:
64419         * rendering/RenderObject.cpp:
64420         (WebCore::RenderObject::addLayers): Removed the argument, replaced
64421         by |this|.
64422
64423         * rendering/RenderObjectChildList.cpp:
64424         (WebCore::RenderObjectChildList::appendChildNode):
64425         (WebCore::RenderObjectChildList::insertChildNode):
64426         Removed the second argument at those 2 call sites.
64427
64428 2011-07-18  Pavel Feldman  <pfeldman@google.com>
64429
64430         Web Inspector: do not pause on caught exceptions while typing in the console.
64431         https://bugs.webkit.org/show_bug.cgi?id=64379
64432
64433         Reviewed by Yury Semikhatsky.
64434
64435         * inspector/Inspector.json:
64436         * inspector/InspectorController.cpp:
64437         (WebCore::InspectorController::InspectorController):
64438         * inspector/InspectorRuntimeAgent.cpp:
64439         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
64440         (WebCore::InspectorRuntimeAgent::evaluate):
64441         (WebCore::InspectorRuntimeAgent::setScriptDebugServer):
64442         * inspector/InspectorRuntimeAgent.h:
64443         * inspector/WorkerInspectorController.cpp:
64444         (WebCore::WorkerInspectorController::WorkerInspectorController):
64445         * inspector/front-end/ConsoleView.js:
64446         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
64447         * inspector/front-end/WatchExpressionsSidebarPane.js:
64448         (WebInspector.WatchExpressionsSection.prototype.update):
64449
64450 2011-07-18  Sheriff Bot  <webkit.review.bot@gmail.com>
64451
64452         Unreviewed, rolling out r91132 and r91135.
64453         http://trac.webkit.org/changeset/91132
64454         http://trac.webkit.org/changeset/91135
64455         https://bugs.webkit.org/show_bug.cgi?id=64681
64456
64457         Broke GTK and Chromium debug bots (Requested by rniwa on
64458         #webkit).
64459
64460         * accessibility/AXObjectCache.h:
64461         * accessibility/AccessibilityMenuList.cpp:
64462         * accessibility/AccessibilityMenuList.h:
64463         * accessibility/AccessibilityMenuListPopup.cpp:
64464         * accessibility/AccessibilityMenuListPopup.h:
64465         * accessibility/chromium/AXObjectCacheChromium.cpp:
64466         (WebCore::AXObjectCache::postPlatformNotification):
64467         * accessibility/win/AXObjectCacheWin.cpp:
64468         (WebCore::AXObjectCache::postPlatformNotification):
64469         * dom/SelectElement.cpp:
64470         (WebCore::SelectElement::setSelectedIndex):
64471         * rendering/RenderMenuList.cpp:
64472         (WebCore::RenderMenuList::RenderMenuList):
64473         (WebCore::RenderMenuList::setTextFromOption):
64474         (WebCore::RenderMenuList::didSetSelectedIndex):
64475         * rendering/RenderMenuList.h:
64476
64477 2011-07-17  Luke Macpherson   <macpherson@chromium.org>
64478
64479         Implement CSSPropertyCursor in CSSStyleApplyProperty
64480         https://bugs.webkit.org/show_bug.cgi?id=64432
64481
64482         Reviewed by Dimitri Glazkov.
64483
64484         No new tests / refectoring only.
64485
64486         * css/CSSStyleApplyProperty.cpp:
64487         Add handler for CSSPropertyCursor.
64488         * css/CSSStyleSelector.cpp:
64489         Remove current handler of CSSPropertyCursor.
64490         * css/CSSStyleSelector.h:
64491         Make styleImage and cachedOrPendingFromValue public.
64492
64493 2011-07-16  Simon Fraser  <simon.fraser@apple.com>
64494
64495         Add code to attempt to align compositing layers to pixel boundaries when page scale changes
64496         https://bugs.webkit.org/show_bug.cgi?id=64658
64497
64498         Reviewed by Dan Bernstein.
64499         
64500         Implemented a new behavior on GraphicsLayerCA which attempts to keep layers pixel
64501         aligned as page scale changes.
64502         
64503         This requires denoting which layer has the page scale on it (it is assumed to be
64504         already aligned), via setAppliesPageScale(). We also now pass a scale and offset
64505         down through the GraphicsLayer commits, which are used to map layer bounds to display
64506         coordinates for rounding.
64507
64508         * platform/graphics/GraphicsLayer.h: New flags and getters/setters for pixel alignment,
64509         and the layer that is the applier of the scale.
64510         (WebCore::GraphicsLayer::setMaintainsPixelAlignment):
64511         (WebCore::GraphicsLayer::maintainsPixelAlignment):
64512         (WebCore::GraphicsLayer::setAppliesPageScale):
64513         (WebCore::GraphicsLayer::appliesPageScale):
64514
64515         * platform/graphics/GraphicsLayer.cpp:
64516         (WebCore::GraphicsLayer::GraphicsLayer): Initialize the new flags.
64517         (WebCore::GraphicsLayer::backingScaleFactor): Utility method that calls the client if there is one.
64518         (WebCore::GraphicsLayer::pageScaleFactor): Ditto.
64519
64520         * platform/graphics/GraphicsLayerClient.h:
64521         (WebCore::GraphicsLayerClient::backingScaleFactor): Provide default implementation.
64522         (WebCore::GraphicsLayerClient::pageScaleFactor): Ditto.
64523
64524         * platform/graphics/ca/GraphicsLayerCA.h: Pass scale and base-relative offset around
64525         to methods that need to update geometry during commit.
64526         Some new methods related to pixel alignment.
64527         
64528         * platform/graphics/ca/GraphicsLayerCA.cpp:
64529         (WebCore::GraphicsLayerCA::computePositionRelativeToBase): For single-layer commits,
64530         we have to compute the base-relative offset, and whether we're under the layer
64531         applying the scale by walking up the tree.
64532         
64533         (WebCore::GraphicsLayerCA::syncCompositingStateForThisLayerOnly): Call
64534         computePositionRelativeToBase() to get scaling parameters for the target layer.
64535         
64536         (WebCore::GraphicsLayerCA::recursiveCommitChanges): Pass flags related to scaling.
64537         positionRelativeToBase is an offset relative to the ancestor layer known to be pixel
64538         aligned. affectedByPageScale is true for layers which are descendants of the layer
64539         which applies the scale.
64540         
64541         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Pass scale and offset.
64542         (WebCore::GraphicsLayerCA::updateGeometry): Call computePixelAlignment() to get
64543         pixel-aligned geometry. This only needs to be applied to layers which render content,
64544         so re-organize the code to use the unchanged layer geometry for the structural layer,
64545         but to apply the adjusted geometry to the m_layer.
64546         
64547         (WebCore::GraphicsLayerCA::updateStructuralLayer): Pass scale and offset.
64548         (WebCore::GraphicsLayerCA::ensureStructuralLayer): Ditto.
64549         (WebCore::GraphicsLayerCA::updateLayerDrawsContent): Ditto.
64550         (WebCore::GraphicsLayerCA::updateContentsScale): Ditto.
64551         (WebCore::GraphicsLayerCA::requiresTiledLayer): Ditto.
64552         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Ditto.
64553         (WebCore::GraphicsLayerCA::setKeepPixelAligned): When set, dirties flags
64554         for properties that need to be recomputed.
64555         (WebCore::GraphicsLayerCA::noteChangesForScaleSensitiveProperties):
64556         (WebCore::isIntegral):
64557         (WebCore::GraphicsLayerCA::computePixelAlignment): Map our bounds to screen
64558         scale, round out to an integral rect, then map it back, adding a fudge factor
64559         so that CA backing stores don't end up being smaller than we expect because
64560         of integer truncation.
64561
64562         * rendering/RenderLayerBacking.cpp:
64563         (WebCore::RenderLayerBacking::createGraphicsLayer): Turn on pixel alignment if
64564         the compositor says so.
64565         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Set the RenderView's
64566         layer as the one applying the scale, for the main frame.
64567
64568         * rendering/RenderLayerCompositor.h: New method.
64569         * rendering/RenderLayerCompositor.cpp:
64570         (WebCore::RenderLayerCompositor::keepLayersPixelAligned): Master switch for
64571         pixel alignment. Default to on.
64572         (WebCore::RenderLayerCompositor::ensureRootLayer): Give the two root-ish layers
64573         a client so they can ask for page scale if necessary.
64574
64575 2011-07-16  Enrica Casucci  <enrica@apple.com>
64576
64577         REGRESSION: Pressing return in a particular document sends the cursor to the end of the document.
64578         https://bugs.webkit.org/show_bug.cgi?id=64140
64579         <rdar://problem/9737491>
64580
64581         Inserting a paragraph separator at a break element, inside an inline, generates redundant markup
64582         and moves the selection at the end of the inserted block.
64583         The fix consists in detecting that the insertion point is a break element and simply inserting another
64584         break element. This solves the problem of the wrong final selection and also produces less redundant
64585         markup.
64586
64587         Reviewed by Simon Fraser.
64588
64589         Test: editing/inserting/insert-paragraph-separator-at-break.html
64590
64591         * editing/InsertParagraphSeparatorCommand.cpp:
64592         (WebCore::InsertParagraphSeparatorCommand::doApply): Modified logic for insertion at a break
64593         element.
64594
64595 2011-07-16  Pratik Solanki  <psolanki@apple.com>
64596
64597         SubresourceLoader::didReceiveDataArray can crash when calling m_client->didReceiveData()
64598         https://bugs.webkit.org/show_bug.cgi?id=64656
64599         <rdar://problem/9754425>
64600
64601         Reviewed by Alexey Proskuryakov.
64602
64603         * loader/cf/SubresourceLoaderCF.cpp:
64604         (WebCore::SubresourceLoader::didReceiveDataArray): Check for m_client before calling
64605         m_client->didReceiveData().
64606
64607 2011-07-16  Dinu Jacob  <dinu.jacob@nokia.com>
64608
64609         [Qt] Compilation fails on disabling TextureMapper
64610         https://bugs.webkit.org/show_bug.cgi?id=64408
64611
64612         Fix compilation error due to API name change in GraphicsLayer
64613
64614         Reviewed by Noam Rosenthal.
64615
64616         * platform/graphics/qt/GraphicsLayerQt.cpp:
64617         (WebCore::GraphicsLayerQt::setContentsToBackgroundColor):
64618         * platform/graphics/qt/GraphicsLayerQt.h:
64619
64620 2011-07-15  Pratik Solanki  <psolanki@apple.com>
64621
64622         Part of https://bugs.webkit.org/show_bug.cgi?id=63674
64623         Get webkit to compile with USE(CFNETWORK) enabled on Mac
64624
64625         Reviewed by David Kilzer.
64626
64627         New WebKitSystemInterface functions for CFNetwork-based loader.
64628
64629         * WebCore.exp.in:
64630         * platform/mac/WebCoreSystemInterface.h:
64631         * platform/mac/WebCoreSystemInterface.mm:
64632
64633 2011-07-16  Jessie Berlin  <jberlin@apple.com>
64634
64635         Work towards determining the cause of frequent crashes due to null frame below
64636         ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache.
64637         https://bugs.webkit.org/show_bug.cgi?id=62764
64638
64639         Reviewed by Darin Adler.
64640
64641         No loads should be going on for a DocumentLoader that has been detached from its frame, but
64642         that appears to be what is happening in this bug.
64643
64644         Add assertions with the hope that someone will run into this while debugging and thereby find
64645         a reproducible case.
64646
64647         * loader/ResourceLoader.cpp:
64648         (WebCore::ResourceLoader::willSendRequest):
64649         (WebCore::ResourceLoader::didSendData):
64650         (WebCore::ResourceLoader::didReceiveResponse):
64651         (WebCore::ResourceLoader::didReceiveData):
64652         (WebCore::ResourceLoader::didFinishLoading):
64653         (WebCore::ResourceLoader::didFail):
64654         (WebCore::ResourceLoader::wasBlocked):
64655         (WebCore::ResourceLoader::cannotShowURL):
64656         (WebCore::ResourceLoader::shouldUseCredentialStorage):
64657         (WebCore::ResourceLoader::willCacheResponse):
64658
64659 2011-07-16  Sergey Glazunov  <serg.glazunov@gmail.com>
64660
64661         DOMWindow::open performs a security check on a wrong window
64662         https://bugs.webkit.org/show_bug.cgi?id=64651
64663
64664         Reviewed by Adam Barth.
64665
64666         Test: http/tests/security/xss-DENIED-window-open-parent.html
64667
64668         * page/DOMWindow.cpp:
64669         (WebCore::DOMWindow::open):
64670
64671 2011-07-16  Sam Weinig  <sam@webkit.org>
64672
64673         Attribute selectors don't handle glob namespaces (e.g. *|E)
64674         https://bugs.webkit.org/show_bug.cgi?id=64567
64675
64676         Reviewed by Anders Carlsson.
64677
64678         Change checking of attribute selectors to match CSS 3 Selectors in
64679         the presence of namespaces. This entails changing the algorithm to
64680         check each attribute on an element as a match for the attribute selector
64681         and taking into account a prefix of *.
64682
64683         * css/CSSStyleSelector.cpp:
64684         (WebCore::attributeQualifiedNameMatches):
64685         Checks if the a particular attributes qualified name matches
64686         the attribute selector, taking into account a prefix of *.
64687
64688         (WebCore::attributeValueMatches):
64689         Checks if a particular attribute on an element, matches
64690         the attribute selector.
64691
64692         (WebCore::anyAttributeMatches):
64693         Top level attribute check. Checks if any of an elements attributes
64694         match the attribute selector.
64695         
64696         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
64697         Factor out attribute checking code into the above functions.
64698
64699 2011-07-16  Jon Honeycutt  <jhoneycutt@apple.com>
64700
64701         WinCE build fix. Unreviewed.
64702
64703         * dom/SelectElement.cpp:
64704
64705 2011-07-16  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
64706
64707         Reviewed by Nikolas Zimmermann.
64708
64709         SVG animation API crashes on SVGAnimateTransform
64710         https://bugs.webkit.org/show_bug.cgi?id=64104
64711
64712         This patch ensures the update in AnimatedTransform list in
64713         SVGAnimateTransformElement.cpp is in sync with its wrapper list.
64714
64715         Test: svg/animations/svgtransform-animation-discrete.html
64716
64717         * svg/SVGAnimateTransformElement.cpp:
64718         (WebCore::animatedTransformListFor):
64719         (WebCore::SVGAnimateTransformElement::resetToBaseValue):
64720         (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
64721         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
64722
64723 2011-07-15  Simon Fraser  <simon.fraser@apple.com>
64724
64725         Fix the build.
64726
64727         * platform/mac/ScrollbarThemeMac.mm:
64728         (WebCore::ScrollbarThemeMac::updateEnabledState):
64729
64730 2011-07-15  Simon Fraser  <simon.fraser@apple.com>
64731
64732         Another Windows build fix; make this method non-pure virtual.
64733
64734         * platform/graphics/GraphicsLayerClient.h:
64735         (WebCore::GraphicsLayerClient::didCommitChangesForLayer):
64736
64737 2011-07-15  Simon Fraser  <simon.fraser@apple.com>
64738
64739         Fix build error in 32-bit builds.
64740
64741         * rendering/svg/RenderSVGPath.cpp:
64742         (WebCore::RenderSVGPath::zeroLengthSubpathRect):
64743
64744 2011-07-15  Simon Fraser  <simon.fraser@apple.com>
64745
64746         Fix Windows build.
64747
64748         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
64749         (WebCore::MediaPlayerPrivate::backingScaleFactor):
64750         (WebCore::MediaPlayerPrivate::pageScaleFactor):
64751
64752 2011-07-15  Simon Fraser  <simon.fraser@apple.com>
64753
64754         Have GraphicsLayer pull their contentsScale, rather than pushing it onto them
64755         https://bugs.webkit.org/show_bug.cgi?id=64643
64756
64757         Reviewed by Darin Adler.
64758
64759         RenderLayerBacking would set the contentsScale on GraphicsLayers
64760         on creation, and update it when the pageScaleFactor changed. However,
64761         RenderLayerBacking doesn't really know what contentsScale is best
64762         for a layer, so instead, have GraphicsLayers call back through the
64763         GraphicsLayerClient to get the two relevant scale factors, and do
64764         their own computation of contentsScale.
64765
64766         No testable behavior changes.
64767
64768         * page/Frame.cpp:
64769         (WebCore::Frame::pageScaleFactorChanged): No need to pass the scale.
64770
64771         * platform/graphics/GraphicsLayer.cpp:
64772         (WebCore::GraphicsLayer::notePageScaleFactorChangedIncludingDescendants):
64773         Recurse through the GraphicsLayer tree, calling pageScaleFactorChanged() on 
64774         each layer.
64775
64776         * platform/graphics/GraphicsLayer.h:
64777         (WebCore::GraphicsLayer::pageScaleFactorChanged):
64778         Remove contentsScale/setContentsScale
64779         
64780         * platform/graphics/GraphicsLayerClient.h:
64781         Add methods to fetch the backingScaleFactor() and pageScaleFactor().
64782         
64783         * platform/graphics/ca/GraphicsLayerCA.cpp:
64784         (WebCore::GraphicsLayerCA::GraphicsLayerCA): m_uncommittedChanges
64785         defaults to ContentsScaleChanged so we update contentsScale on
64786         the first flush.
64787         
64788         (WebCore::GraphicsLayerCA::setContentsToBackgroundColor):
64789         This was the wrong time to call updateContentsRect() and setupContentsLayer();
64790         those should be done at commit time, so moved to updateLayerBackgroundColor().
64791         (WebCore::GraphicsLayerCA::recursiveCommitChanges): Note whether we
64792         have any changes, and call didCommitChangesForLayer() on the client.
64793         (WebCore::GraphicsLayerCA::updateLayerBackgroundColor): Code moved to here.
64794         (WebCore::clampedContentsScaleForScale): No longer has any hysteresis
64795         on the scale, and now just clamps.
64796         (WebCore::GraphicsLayerCA::updateContentsScale): Fetch the scales
64797         from the client, and multiply them, then clamp.
64798         (WebCore::GraphicsLayerCA::requiresTiledLayer): This now takes
64799         contentsScale into account when deciding to use tiled layer,
64800         so that zooming in will cause layers to start tiling.
64801         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Don't call
64802         setContentsScale(), but rather updateContentsScale().
64803         (WebCore::GraphicsLayerCA::pageScaleFactorChanged): Set the bits
64804         for properties that depend on the scale.
64805         (WebCore::GraphicsLayerCA::noteChangesForScaleSensitiveProperties):
64806         Note that contentsScale needs to be updated. At some point we might also
64807         need to dirty other properties.
64808         * platform/graphics/ca/GraphicsLayerCA.h: Moved the m_allowTiledLayer
64809         bool for better packing. No need for a m_contentsScale member now.
64810         * rendering/RenderLayer.cpp: Removed pageScaleFactorChanged().
64811         * rendering/RenderLayer.h: Ditto.
64812         * rendering/RenderLayerBacking.cpp:
64813         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): No need
64814         to push the contents scale.
64815         (WebCore::RenderLayerBacking::updateForegroundLayer): Ditto.
64816         (WebCore::RenderLayerBacking::updateMaskLayer): Ditto.
64817         (WebCore::RenderLayerBacking::pageScaleFactor): GraphicsLayerClient method.
64818         (WebCore::RenderLayerBacking::backingScaleFactor): GraphicsLayerClient method.
64819         (WebCore::RenderLayerBacking::didCommitChangesForLayer): Send through
64820         to the compositor.
64821         * rendering/RenderLayerBacking.h: GraphicsLayerClient methods.
64822         * rendering/RenderLayerCompositor.cpp:
64823         (WebCore::RenderLayerCompositor::didFlushChangesForLayer): We'll use
64824         this later.
64825         (WebCore::RenderLayerCompositor::backingScaleFactor): GraphicsLayerClient method.
64826         (WebCore::RenderLayerCompositor::pageScaleFactor): Ditto.
64827         (WebCore::RenderLayerCompositor::didCommitChangesForLayer): Ditto.
64828         (WebCore::RenderLayerCompositor::ensureRootLayer): No need to push the contents scale.
64829         (WebCore::RenderLayerCompositor::pageScaleFactorChanged): Just call notePageScaleFactorChangedIncludingDescendants()
64830         on the root GraphicsLayer.
64831         * rendering/RenderLayerCompositor.h: Added GraphicsLayerClient methods.
64832
64833 2011-07-15  Jon Honeycutt  <jhoneycutt@apple.com>
64834
64835         Build fix. Unreviewed.
64836
64837         * accessibility/AccessibilityMenuListPopup.cpp:
64838         (WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
64839         Cast size_t to int for comparison.
64840
64841 2011-07-15  Andy Estes  <aestes@apple.com>
64842
64843         Rename applicationIsSolarWalk() to applicationIsSolarWalkMac().
64844         https://bugs.webkit.org/show_bug.cgi?id=64641
64845
64846         Reviewed by Brian Weinstein.
64847
64848         * WebCore.exp.in: Update to new symbol.
64849         * platform/RuntimeApplicationChecks.cpp:
64850         (WebCore::applicationIsSolarWalkMac): Renamed from applicationIsSolarWalk.
64851         * platform/RuntimeApplicationChecks.h: Ditto.
64852
64853 2011-07-15  Mark Rowe  <mrowe@apple.com>
64854
64855         Fix the build.
64856
64857         * platform/graphics/GraphicsContext.h:
64858         (WebCore::GraphicsContextStateSaver::context): Remove a bogus type qualifier.
64859
64860 2011-07-13  Jon Honeycutt  <jhoneycutt@apple.com>
64861
64862         Focus and selection events are not fired when a <select>'s selection
64863         changes
64864         https://bugs.webkit.org/show_bug.cgi?id=64504
64865         <rdar://problem/9319881>
64866
64867         Reviewed by Alice Liu.
64868
64869         Test: platform/win/accessibility/option-element-selection-and-focus-events.html
64870
64871         * accessibility/chromium/AXObjectCacheChromium.cpp:
64872         (WebCore::AXObjectCache::postPlatformNotification):
64873         Add new notification type to the section of unhandled notifications.
64874
64875         * accessibility/AXObjectCache.h:
64876         Declare a new notification, AXMenuListItemSelected.
64877
64878         * accessibility/AccessibilityMenuList.cpp:
64879         (WebCore::AccessibilityMenuList::didUpdateActiveOption):
64880         Tell our child popup that the active option changed, and post a
64881         notification that our value changed.
64882
64883         * accessibility/AccessibilityMenuList.h:
64884         Declare didUpdateActiveOption().
64885
64886         * accessibility/AccessibilityMenuListPopup.cpp:
64887         (WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
64888         Get the child <option> element that is selected, and fire focus and
64889         selection events for it.
64890
64891         * accessibility/AccessibilityMenuListPopup.h:
64892         Declare didUpdateActiveOption().
64893
64894         * accessibility/win/AXObjectCacheWin.cpp:
64895         (WebCore::AXObjectCache::postPlatformNotification):
64896         Map AXMenuListItemSelected -> EVENT_OBJECT_SELECTION.
64897
64898         * dom/SelectElement.cpp:
64899         (WebCore::SelectElement::setSelectedIndex):
64900         Pass the newly-selected index.
64901
64902         * rendering/RenderMenuList.cpp:
64903         (WebCore::RenderMenuList::RenderMenuList):
64904         Update the initialization list for the renamed m_lastActiveIndex.
64905         (WebCore::RenderMenuList::setTextFromOption):
64906         A new selection has been made in the popup; call
64907         didUpdateActiveOption().
64908         (WebCore::RenderMenuList::didSetSelectedIndex):
64909         Call didUpdateActiveOption(), passing the index of the newly-selected
64910         <option>.
64911         (WebCore::RenderMenuList::didUpdateActiveOption):
64912         If accessibility is disabled, or if the active option has not changed,
64913         return early. Check whether the option index is in the range of list
64914         items, and assert that the item at that index is an <option> element.
64915         Tell the AccessibilityMenuList for this element that we updated the
64916         active option.
64917
64918         * rendering/RenderMenuList.h:
64919         Updated the declaration of didSetSelectedIndex() to take the selected
64920         index. Declared didUpdateActiveOption(). Renamed m_lastSelectedIndex to
64921         m_lastActiveIndex.
64922
64923 2011-07-13  Jon Honeycutt  <jhoneycutt@apple.com>
64924
64925         ALT + DOWN arrow key does not open select
64926
64927         https://bugs.webkit.org/show_bug.cgi?id=14407
64928         <rdar://problem/5319507>
64929
64930         Reviewed by Alexey Proskuryakov.
64931
64932         No test, because eventSender sends events to the WebView, rather than
64933         the popup menu, so the popup isn't closed.
64934
64935         * WebCore.vcproj/WebCore.vcproj:
64936         Add SelectElementWin.cpp to project.
64937
64938         * dom/SelectElement.cpp:
64939         (WebCore::SelectElement::platformHandleKeydownEvent):
64940         Moved ARROW_KEYS_POP_MENU code here. Updated to return whether the
64941         function has handled the key, or whether the caller needs to process it
64942         further.
64943         (WebCore::SelectElement::menuListDefaultEventHandler):
64944         Allow the platform the first chance at handling the keyboard event.
64945
64946         * dom/SelectElement.h:
64947         Declare platformHandleKeydownEvent().
64948         * dom/SelectElementWin.cpp: Added.
64949         (WebCore::SelectElement::platformHandleKeyboardEvent):
64950         Allow (Shift) F4 and (Ctrl/Shift) Alt/AltGr + Up/Down
64951         arrow to show the popup. After the popup is dismissed, call
64952         setSelectedIndex(), and report that we handled the event.
64953
64954         * platform/win/PopupMenuWin.cpp:
64955         Declare HIGH_BIT_MASK_SHORT.
64956         (WebCore::PopupMenuWin::show):
64957         Forward WM_SYSKEYDOWN to the popup's HWND.
64958         (WebCore::PopupMenuWin::wndProc):
64959         Allow the same shortcuts that show the menu to hide it, matching
64960         Firefox.
64961
64962 2011-07-12  Jon Honeycutt  <jhoneycutt@apple.com>
64963
64964         Ensure that a single select element's child option elements are
64965         reported correctly to accessibility clients if the children are
64966         changed.
64967
64968         https://bugs.webkit.org/show_bug.cgi?id=64500
64969         <rdar://problem/9773066>
64970
64971         Reviewed by Beth Dakin.
64972
64973         Test: platform/win/accessibility/single-select-children-changed.html
64974
64975         * accessibility/AccessibilityMenuListPopup.cpp:
64976         (WebCore::AccessibilityMenuListPopup::addChildren):
64977         Remove a comment about WML, which we no longer support.
64978         (WebCore::AccessibilityMenuListPopup::childrenChanged):
64979         Don't just remove children that were detached - this will miss childen
64980         that were dynamically added. Clear the children and re-add them.
64981
64982 2011-07-15  Rob Buis  <rbuis@rim.com>
64983
64984         Stroking of zero-length paths in SVG should change according to erratum
64985         https://bugs.webkit.org/show_bug.cgi?id=18356
64986
64987         Reviewed by Nikolas Zimmermann.
64988
64989         Ensure rendering of zero-length paths with stroke-linecap=square works by
64990         creating the square rectangle manually.
64991
64992         Tests: svg/W3C-SVG-1.1-SE/painting-control-04-f.svg
64993                svg/custom/zero-path-square-cap-rendering.svg
64994
64995         * platform/graphics/GraphicsContext.h:
64996         (WebCore::GraphicsContextStateSaver::context):
64997         * rendering/svg/RenderSVGPath.cpp:
64998         (WebCore::RenderSVGPath::strokeContains):
64999         (WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath):
65000         (WebCore::RenderSVGPath::zeroLengthSubpathRect):
65001         (WebCore::RenderSVGPath::setupSquareCapPath):
65002         (WebCore::RenderSVGPath::setupNonScalingStrokePath):
65003         (WebCore::RenderSVGPath::fillAndStrokePath):
65004         (WebCore::RenderSVGPath::updateCachedBoundaries):
65005         * rendering/svg/RenderSVGPath.h:
65006
65007 2011-06-27  Adrienne Walker  <enne@google.com>
65008
65009         Reviewed by Simon Fraser.
65010
65011         Overlap map for compositing needs to consider clipping
65012         https://bugs.webkit.org/show_bug.cgi?id=63493
65013
65014         Test: compositing/layer-creation/overlap-clipping.html
65015
65016         * rendering/RenderLayerCompositor.cpp:
65017         (WebCore::RenderLayerCompositor::addToOverlapMap):
65018         * rendering/RenderLayerCompositor.h:
65019
65020 2011-07-15  Sheriff Bot  <webkit.review.bot@gmail.com>
65021
65022         Unreviewed, rolling out r90592.
65023         http://trac.webkit.org/changeset/90592
65024         https://bugs.webkit.org/show_bug.cgi?id=64627
65025
65026         Causes crashes with the web audio async decoding API
65027         (Requested by jamesr on #webkit).
65028
65029         * html/canvas/ArrayBuffer.cpp:
65030         (WebCore::ArrayBuffer::~ArrayBuffer):
65031         (WebCore::ArrayBuffer::tryAllocate):
65032         * manual-tests/array-buffer-memory.html: Removed.
65033
65034 2011-07-15  Kenneth Russell  <kbr@google.com>
65035
65036         Don't restore WebGL context if it was guilty of a graphics reset
65037         https://bugs.webkit.org/show_bug.cgi?id=64497
65038
65039         Reviewed by Stephen White.
65040
65041         Use getGraphicsResetStatusARB already defined in Extensions3D to
65042         determine why the context was lost, and respond to guilty context
65043         notifications by forbidding restoration of the context.
65044
65045         It isn't currently possible to write an automated test for this.
65046         We might consider extending the WEBKIT_lose_context extension to
65047         allow a reason to be provided why the context was lost. It was
65048         tested manually in Chromium on Windows and Linux with some test
65049         cases that provoke actual graphics card resets.
65050
65051         * html/canvas/WebGLRenderingContext.cpp:
65052         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
65053         (WebCore::WebGLRenderingContext::forceLostContext):
65054         (WebCore::WebGLRenderingContext::maybeRestoreContext):
65055         * html/canvas/WebGLRenderingContext.h:
65056
65057 2011-07-15  Chris Marrin  <cmarrin@apple.com>
65058
65059         Move TransformState to platform/graphics and give it the option to transform just a FloatQuad
65060         https://bugs.webkit.org/show_bug.cgi?id=64542
65061
65062         Reviewed by Simon Fraser.
65063
65064         This is to make it possible to use TransformState in some GraphicsLayer work. HitTestingTransformState
65065         was split out and left in rendering since it's not needed in the platform code. Also added a FIXME
65066         because HitTestingTransformState should eventually be replaced by TransformState.
65067
65068         * CMakeLists.txt:
65069         * GNUmakefile.list.am:
65070         * WebCore.gypi:
65071         * WebCore.pro:
65072         * WebCore.vcproj/WebCore.vcproj:
65073         * WebCore.xcodeproj/project.pbxproj:
65074         * platform/graphics/transforms/TransformState.cpp: Copied from Source/WebCore/rendering/TransformState.cpp.
65075         (WebCore::TransformState::move):
65076         (WebCore::TransformState::flattenWithTransform):
65077         * platform/graphics/transforms/TransformState.h: Copied from Source/WebCore/rendering/TransformState.h.
65078         (WebCore::TransformState::TransformState):
65079         (WebCore::TransformState::setQuad):
65080         * rendering/HitTestingTransformState.cpp: Copied from Source/WebCore/rendering/TransformState.cpp.
65081         * rendering/HitTestingTransformState.h: Copied from Source/WebCore/rendering/TransformState.h.
65082         * rendering/RenderLayer.cpp:
65083         * rendering/RenderObject.cpp:
65084         (WebCore::RenderObject::localToContainerQuad):
65085         * rendering/RenderingAllInOne.cpp:
65086         * rendering/TransformState.cpp: Removed.
65087         * rendering/TransformState.h: Removed.
65088
65089 2011-07-15  Pratik Solanki  <psolanki@apple.com>
65090
65091         Part of https://bugs.webkit.org/show_bug.cgi?id=63674
65092         Get webkit to compile with USE(CFNETWORK) enabled on Mac
65093
65094         Reviewed by David Kilzer.
65095
65096         Minor changes needed to keep the compiler happy.
65097
65098         No new tests because no change in functionality.
65099
65100         * platform/network/cf/FormDataStreamCFNet.cpp:
65101         * platform/network/cf/ResourceErrorCF.cpp:
65102         (WebCore::ResourceError::platformCopy):
65103         * platform/network/cf/ResourceHandleCFNet.cpp:
65104         (WebCore::WebCoreSynchronousLoaderClient::willSendRequest):
65105         * platform/network/cf/ResourceResponseCFNet.cpp:
65106         (WebCore::toTimeT):
65107
65108 2011-07-15  Dan Bernstein  <mitz@apple.com>
65109
65110         REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides
65111         https://bugs.webkit.org/show_bug.cgi?id=64615
65112
65113         Reviewed by Anders Carlsson.
65114
65115         * html/shadow/MediaControlRootElement.cpp:
65116         (WebCore::MediaControlRootElement::enteredFullscreen): Hide the mouse cursor immediately when
65117         entering full screen.
65118         (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired): Hide the mouse cursor when
65119         hiding the HUD.
65120         * loader/EmptyClients.h:
65121         (WebCore::EmptyChromeClient::setCursorHiddenUntilMouseMoves): Added empty implementation.
65122         * page/Chrome.cpp:
65123         (WebCore::Chrome::setCursorHiddenUntilMouseMoves): Added. Calls through to the client.
65124         * page/Chrome.h:
65125         * page/ChromeClient.h:
65126         * platform/HostWindow.h:
65127
65128 2011-07-14  Gavin Barraclough  <barraclough@apple.com>
65129
65130         https://bugs.webkit.org/show_bug.cgi?id=64250
65131         Global strict mode function leaking global object as "this".
65132
65133         Reviewed by Oliver Hunt.
65134
65135         * bindings/js/JSMainThreadExecState.h:
65136         (WebCore::JSMainThreadExecState::call):
65137         * bindings/scripts/CodeGeneratorJS.pm:
65138         (GenerateHeader):
65139             - Change call to pass DOM Window shell, instead of the global varaible object.
65140
65141 2011-07-15  Brian Salomon  <bsalomon@google.com>
65142
65143         [SKIA] Must make skia's GL context current before drawing in GraphicsContext::clearRect
65144         https://bugs.webkit.org/show_bug.cgi?id=64612
65145
65146         Reviewed by Stephen White.
65147
65148         Tested by compositing/shadows/shadow-drawing.html
65149
65150         * platform/graphics/skia/GraphicsContextSkia.cpp:
65151         (WebCore::GraphicsContext::clearRect):
65152
65153 2011-07-15  Ian Henderson  <ianh@apple.com>
65154
65155         Avoid rounded rect corner-drawing overhead if no corners are visible
65156         https://bugs.webkit.org/show_bug.cgi?id=64584
65157
65158         Reviewed by Simon Fraser.
65159
65160         No new tests, rendering is visually identical.
65161
65162         * rendering/InlineFlowBox.cpp:
65163         (WebCore::InlineFlowBox::paintBoxDecorations): Pass PaintInfo into
65164         paintBorder.
65165         * rendering/RenderBox.cpp:
65166         (WebCore::RenderBox::paintBoxDecorations): Ditto.
65167         * rendering/RenderBoxModelObject.cpp:
65168         (WebCore::unroundClippedCorners):
65169         (WebCore::RenderBoxModelObject::paintBorder):
65170         Any invisible corner may be replaced with a corner of radius zero, as
65171         long as the stroke style is solid.  Change the GraphicsContext
65172         parameter into a PaintInfo parameter so we can get the rect to be
65173         drawn.
65174         * rendering/RenderBoxModelObject.h:
65175         * rendering/RenderFieldset.cpp:
65176         (WebCore::RenderFieldset::paintBoxDecorations): Pass PaintInfo into
65177         paintBorder.
65178         * rendering/RenderTable.cpp:
65179         (WebCore::RenderTable::paintBoxDecorations): Ditto.
65180         * rendering/RenderTableCell.cpp:
65181         (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
65182
65183 2011-07-15  Jeff Miller  <jeffm@apple.com>
65184
65185         Add UserAgentStyleSheetsData.cpp to WebCore.vcproj
65186         https://bugs.webkit.org/show_bug.cgi?id=64609
65187         
65188         Add UserAgentStyleSheetsData.cpp to WebCore.vcproj for convenient access, but don't compile it.
65189         This matches what we do with other generated DerivedSources.
65190
65191         Reviewed by Brian Weinstein.
65192         
65193         No new tests, just adding a file.
65194
65195         * WebCore.vcproj/WebCore.vcproj: Add UserAgentStyleSheetsData.cpp.
65196
65197 2011-07-15  Pratik Solanki  <psolanki@apple.com>
65198
65199         Part of https://bugs.webkit.org/show_bug.cgi?id=63674
65200         Get webkit to compile with USE(CFNETWORK) enabled on Mac
65201
65202         Reviewed by David Kilzer.
65203
65204         No new tests because no change in functionality and option is not enabled on Mac.
65205
65206         * platform/network/cf/AuthenticationCF.h: Just use AuthenticationMac.h instead of having
65207         Mac-specific declarations here.
65208         * platform/network/cf/CredentialStorageCFNet.cpp:
65209         * platform/network/mac/AuthenticationMac.h:
65210
65211 2011-07-15  Pratik Solanki  <psolanki@apple.com>
65212
65213         Part of https://bugs.webkit.org/show_bug.cgi?id=63674
65214         Get webkit to compile with USE(CFNETWORK) enabled on Mac
65215
65216         Reviewed by David Kilzer.
65217
65218         Get LoaderRunLoop to work on Mac when USE(CFNETWORK) is enabled. Although we could use the
65219         main run loop, it's better to have a separate thread handling the loads so that it can work
65220         in parallel to the main thread. This is similar to what NSURLConnection does for us
65221         internally when we use the NS APIs.
65222
65223         No new tests because no change in functionality and option is not enabled on Mac.
65224
65225         * platform/network/cf/LoaderRunLoopCF.cpp:
65226         (WebCore::runLoaderThread): Create an autorelease pool for objc code that might be called in
65227         the run loop.
65228         (WebCore::loaderRunLoop):
65229         * platform/network/cf/LoaderRunLoopCF.h:
65230
65231 2011-07-15  Xiaomei Ji  <xji@chromium.org>
65232
65233         --webkit-visual-word crash on mixed editability
65234         https://bugs.webkit.org/show_bug.cgi?id=61978
65235
65236         --webkit-visual-word crashes (VisiblePosition.getInlineBoxAndOffset could return null box)
65237         https://bugs.webkit.org/show_bug.cgi?id=62814
65238
65239         Reviewed by Ryosuke Niwa.
65240
65241         Replace previousWordPosition/nextWordPosition with previousBoundary/nextBoundary which do
65242         not honor editable bounary. Honor editable boundary as the last stage of leftWordPosition
65243         and rightWordPosition.
65244
65245         Check previousBoundary/nextBoundary against NULL.  Have a static function to encapsulate the
65246         usage of getInlineBoxAndOffset and check the visible position is not NULL before passing to 
65247         getInlineBoxAndOffset. Check the box returned from getInlineBoxAndOffset is not NULL before
65248         accessing.
65249
65250         Test: editing/selection/move-by-word-visually-null-box.html
65251
65252         * editing/visible_units.cpp:
65253         (WebCore::positionIsInBox):
65254         (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality):
65255         (WebCore::lastWordBreakInBox):
65256         (WebCore::positionIsVisuallyOrderedInBoxInBlockWithDifferentDirectionality):
65257         (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
65258         (WebCore::positionIsInsideBox):
65259         (WebCore::leftWordPositionAcrossBoundary):
65260         (WebCore::rightWordPositionAcrossBoundary):
65261         (WebCore::leftWordPosition):
65262         (WebCore::rightWordPosition):
65263
65264 2011-07-15  Pratik Solanki  <psolanki@apple.com>
65265
65266         Remove unncessary creation of connectionProperties dictionary
65267         https://bugs.webkit.org/show_bug.cgi?id=63958
65268
65269         Reviewed by Alexey Proskuryakov.
65270
65271         No new tests because no change in functionality.
65272
65273         * platform/network/cf/ResourceHandleCFNet.cpp:
65274         (WebCore::ResourceHandle::loadResourceSynchronously):
65275
65276 2011-07-15  Pavel Feldman  <pfeldman@google.com>
65277
65278         Web Inspector: Focusing on another node while editing CSS property does not update styles
65279         https://bugs.webkit.org/show_bug.cgi?id=64283
65280
65281         Reviewed by Yury Semikhatsky.
65282
65283         Test: inspector/styles/styles-change-node-while-editing.html
65284
65285         * inspector/front-end/CSSStyleModel.js:
65286         (WebInspector.CSSProperty.prototype.setText):
65287         (WebInspector.CSSProperty.prototype.setText.callback):
65288         * inspector/front-end/DOMAgent.js:
65289         (WebInspector.DOMAgent.prototype._inlineStyleInvalidated):
65290         (WebInspector.DOMDispatcher.prototype.inlineStyleInvalidated):
65291         * inspector/front-end/ElementsPanel.js:
65292         (WebInspector.ElementsPanel):
65293         (WebInspector.ElementsPanel.prototype._attributesUpdated):
65294         (WebInspector.ElementsPanel.prototype.updateStyles):
65295         * inspector/front-end/MetricsSidebarPane.js:
65296         (WebInspector.MetricsSidebarPane):
65297         (WebInspector.MetricsSidebarPane.prototype.update):
65298         (WebInspector.MetricsSidebarPane.prototype._innerUpdate.callback):
65299         (WebInspector.MetricsSidebarPane.prototype._innerUpdate.inlineStyleCallback):
65300         (WebInspector.MetricsSidebarPane.prototype._innerUpdate):
65301         (WebInspector.MetricsSidebarPane.prototype._styleSheetChanged):
65302         (WebInspector.MetricsSidebarPane.prototype._attributesUpdated):
65303         (WebInspector.MetricsSidebarPane.prototype.startEditing):
65304         (WebInspector.MetricsSidebarPane.prototype.editingEnded):
65305         * inspector/front-end/StylesSidebarPane.js:
65306         (WebInspector.StylesSidebarPane):
65307         (WebInspector.StylesSidebarPane.prototype.update):
65308         (WebInspector.StylesSidebarPane.prototype._innerUpdate.stylesCallback):
65309         (WebInspector.StylesSidebarPane.prototype._innerUpdate.computedStyleCallback):
65310         (WebInspector.StylesSidebarPane.prototype._innerUpdate):
65311         (WebInspector.StylesSidebarPane.prototype._styleSheetChanged):
65312         (WebInspector.StylesSidebarPane.prototype._attributesUpdated):
65313         (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
65314         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
65315         (WebInspector.StylesSidebarPane.prototype._nodeStylesUpdatedForTest):
65316         (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
65317         (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
65318         (WebInspector.StylePropertyTreeElement.prototype):
65319         (WebInspector.StylePropertyTreeElement.prototype.event):
65320         (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
65321         (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert):
65322
65323 2011-07-15  Mike Reed  <reed@google.com>
65324
65325         [skia] remove legacy draw-text-as-paths code, as skia now draws all text as text
65326         https://bugs.webkit.org/show_bug.cgi?id=64368
65327
65328         Reviewed by James Robinson.
65329
65330         * platform/graphics/chromium/FontChromiumWin.cpp:
65331         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
65332         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
65333         (WebCore::FontPlatformData::RefCountedHFONT::~RefCountedHFONT):
65334         * platform/graphics/chromium/UniscribeHelper.cpp:
65335         (WebCore::UniscribeHelper::draw):
65336         * platform/graphics/skia/SkiaFontWin.cpp:
65337         (WebCore::skiaDrawText):
65338         (WebCore::setupPaintForFont):
65339         (WebCore::paintSkiaText):
65340         * platform/graphics/skia/SkiaFontWin.h:
65341
65342 2011-07-15  Piroska András  <Piroska.Andras@stud.u-szeged.hu>
65343
65344         Pixel difference in FEMorphology effect
65345         https://bugs.webkit.org/show_bug.cgi?id=63930
65346
65347         Reviewed by Zoltan Herczeg.
65348
65349         Using short-circuit evaluation in the setFilterEffectAttribute function
65350         was wrong. We should call both setRadius functions and evaluate the
65351         changes separately.
65352
65353         * svg/SVGFEMorphologyElement.cpp:
65354         (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute):
65355
65356 2011-07-15  Jeff Miller  <jeffm@apple.com>
65357
65358         Fullscreen content doesn't use fullscreen controller on Windows
65359         https://bugs.webkit.org/show_bug.cgi?id=64540
65360         <rdar://problem/9510455>
65361
65362         Reviewed by Darin Adler.
65363
65364         RenderThemeWin needs to override extraFullScreenStyleSheet() to return
65365         the fullscreenQuickTime stylesheet.
65366
65367         Test added to fullscreen/video-controls-override.html.
65368
65369         * rendering/RenderThemeWin.cpp:
65370         (WebCore::RenderThemeWin::extraFullScreenStyleSheet): Added.
65371         * rendering/RenderThemeWin.h: Override extraFullScreenStyleSheet().
65372
65373 2011-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>
65374
65375         Not reviewed. Fix build failure introduced in r91061.
65376
65377         * page/Console.cpp:
65378         (WebCore::Console::markTimeline): Remove argument name from unused parameter.
65379
65380 2011-07-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
65381
65382         Upstream QtWebKit/N9 changes related to visibleContentRect
65383         https://bugs.webkit.org/show_bug.cgi?id=64589
65384
65385         Reviewed by Simon Hausmann.
65386
65387         Rename setActualVisibleContentRect to setFixedVisibleContentRect
65388         as that makes it more obvious that it is an override. It is also
65389         consistent with the setFixedLayout which is often used in
65390         conjunction with it.
65391
65392         Make visibleContentRect return the fixed value if set, and remove
65393         all calls to actualVisibleContentRect.
65394
65395         Also updated the documentation.
65396
65397         This is similar to what we have on our QtWebKit/N9 branch and is
65398         pretty well tested.
65399
65400         * platform/ScrollView.cpp:
65401         (WebCore::ScrollView::visibleContentRect):
65402         If a fixed visibleContentRect is set, return that.
65403         Remove the code returning the contents size when in
65404         paintsEntireContents mode as that is wrong and already
65405         ifdeffed out for EFL.
65406         (WebCore::ScrollView::setScrollPosition):
65407         Do not try to be smart and update the fixed visibleContentsRect
65408         automatically, as the embedder might ignore the scroll request
65409         for various reasons.
65410         * platform/ScrollView.h:
65411         (WebCore::ScrollView::setFixedVisibleContentRect):
65412         (WebCore::ScrollView::fixedVisibleContentRect):
65413
65414 2011-07-15  Mike West  <mkwst@chromium.org>
65415
65416         Web Inspector: Rename console.markTimeline() to console.timeStamp() for Firebug compatibility.
65417         https://bugs.webkit.org/show_bug.cgi?id=63317
65418
65419         Reviewed by Pavel Feldman.
65420
65421         Test: inspector/timeline/timeline-time-stamp.html
65422
65423         * inspector/InspectorConsoleInstrumentation.h:
65424         (WebCore::InspectorInstrumentation::consoleTimeStamp):
65425         * inspector/InspectorInstrumentation.cpp:
65426         (WebCore::InspectorInstrumentation::consoleTimeStampImpl):
65427         * inspector/InspectorInstrumentation.h:
65428         * inspector/InspectorTimelineAgent.cpp:
65429         (WebCore::InspectorTimelineAgent::didTimeStamp):
65430         * inspector/InspectorTimelineAgent.h:
65431         * inspector/TimelineRecordFactory.cpp:
65432         (WebCore::TimelineRecordFactory::createTimeStampData):
65433         * inspector/TimelineRecordFactory.h:
65434         * inspector/front-end/TimelineAgent.js:
65435         * inspector/front-end/TimelineOverviewPane.js:
65436         (WebInspector.TimelineOverviewPane.prototype.update.markPercentagesForRecord):
65437         (WebInspector.TimelineOverviewPane.prototype.update):
65438         * inspector/front-end/TimelinePanel.js:
65439         (WebInspector.TimelinePanel):
65440         (WebInspector.TimelinePanel.prototype.get _recordStyles):
65441         (WebInspector.TimelinePanel.prototype._updateEventDividers):
65442         (WebInspector.TimelinePanel.prototype._createEventDivider):
65443         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
65444         (WebInspector.TimelinePanel.prototype._clearPanel):
65445         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
65446         * page/Console.cpp:
65447         (WebCore::Console::markTimeline):
65448         (WebCore::Console::timeStamp):
65449         * page/Console.h:
65450         * page/Console.idl:
65451
65452 2011-07-15  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
65453
65454         LocalStorage: Changed the value type of ItemTable from TEXT to BLOB
65455         to avoid string truncation.
65456         This patch will also convert the exsisting ItemTable and perform
65457         the DATA MIGRATION job.
65458         https://bugs.webkit.org/show_bug.cgi?id=58762
65459
65460         Reviewed by Jeremy Orlow.
65461
65462         Tests: manual-tests/localstorage-value-truncation.html
65463
65464         * manual-tests/localstorage-value-truncation.html: Added.
65465         Demostrate the testcase shown in bug 58762.
65466         * platform/sql/SQLiteStatement.cpp:
65467         (WebCore::SQLiteStatement::isColumnDeclearedAsBlob):
65468         Test if the pre-defined type of column is BLOB.
65469         * platform/sql/SQLiteStatement.h:
65470         * storage/StorageAreaSync.cpp:
65471         Change the localStorage value type from Text to BLOB to avoid the
65472         value string truncation at \x00.
65473         (WebCore::StorageAreaSync::openDatabase):
65474         Change the database structure, use BLOB to replace the TEXT type of
65475         value segment in ItemTable.
65476         (WebCore::StorageAreaSync::migrateItemTableIfNeeded):
65477         Migrate the ItemTable if the pre-defined type of value is TEXT.
65478         (WebCore::StorageAreaSync::performImport):
65479         Use getColumnBlobAsString() to import the BLOB value.
65480         (WebCore::StorageAreaSync::sync):
65481         Use bindBlob() to bind value string to the SQLiteStatement for the
65482         database execution.
65483         * storage/StorageAreaSync.h:
65484
65485 2011-07-15  Kentaro Hara  <haraken@google.com>
65486
65487         Clear the content of a search input form when 'Escape' is pressed.
65488         https://bugs.webkit.org/show_bug.cgi?id=51897
65489
65490         This change added handleKeydownEvent() to a search input form,
65491         which clears the form and triggers a 'search' event when 'Escape' is pressed.
65492
65493         Reviewed by Kent Tamura.
65494
65495         Test: fast/forms/input-search-press-escape-key.html
65496
65497         * html/SearchInputType.cpp:
65498         (WebCore::SearchInputType::handleKeydownEvent):
65499         * html/SearchInputType.h:
65500
65501 2011-07-15  Alexandru Chiculita  <achicu@adobe.com>
65502
65503         Move useRepaintBounds from RenderBlock::layoutRunsAndFloats to LineLayoutState
65504         https://bugs.webkit.org/show_bug.cgi?id=64360
65505
65506         Reviewed by Hajime Morita.
65507
65508         No new tests needed because the patch is just a refactor.
65509
65510         * rendering/RenderBlock.h:
65511         * rendering/RenderBlockLineLayout.cpp:
65512         (WebCore::LineLayoutState::LineLayoutState):
65513         (WebCore::LineLayoutState::usesRepaintBounds):
65514         (WebCore::LineLayoutState::setRepaintRange):
65515         (WebCore::LineLayoutState::updateRepaintRangeFromBox):
65516         (WebCore::RenderBlock::layoutRunsAndFloats):
65517         (WebCore::RenderBlock::determineStartPosition):
65518
65519 2011-07-14  MORITA Hajime  <morrita@google.com>
65520
65521         ExceptionCodePlaceholder should have its own ExceptionCodePlaceholder.cpp file
65522         https://bugs.webkit.org/show_bug.cgi?id=64503
65523
65524         Reviewed by Darin Adler.
65525
65526         No new tests. Just a file reorg.
65527
65528         * CMakeLists.txt:
65529         * GNUmakefile.list.am:
65530         * WebCore.gypi:
65531         * WebCore.pro:
65532         * WebCore.vcproj/WebCore.vcproj:
65533         * WebCore.xcodeproj/project.pbxproj:
65534         * dom/DOMAllInOne.cpp:
65535         * dom/ExceptionCodePlaceholder.cpp: Added.
65536         (WebCore::NoExceptionAssertionChecker::NoExceptionAssertionChecker):
65537         (WebCore::NoExceptionAssertionChecker::~NoExceptionAssertionChecker):
65538         * dom/ExceptionCodePlaceholder.h: Removed NoExceptionAssertionChecker::m_function, which is loonger used.
65539
65540 2011-07-14  Mark Pilgrim  <pilgrim@chromium.org>
65541
65542         Remove LegacyDefaultOptionalArguments flag from WebGL
65543         https://bugs.webkit.org/show_bug.cgi?id=64549
65544
65545         Reviewed by Kenneth Russell.
65546
65547         * html/canvas/WebGLRenderingContext.idl:
65548
65549 2011-07-14  Yuta Kitamura  <yutak@chromium.org>
65550
65551         WebSocket: Introduce pywebsocket-0.6b2
65552         https://bugs.webkit.org/show_bug.cgi?id=64534
65553
65554         Reviewed by Kent Tamura.
65555
65556         pywebsocket now accepts "Sec-WebSocket-Version: 8" as required in hybi-10 specification.
65557
65558         No new functionality is added, thus no new tests. Existing WebSocket tests should keep passing.
65559
65560         * websockets/WebSocketHandshake.cpp:
65561         (WebCore::WebSocketHandshake::clientHandshakeMessage):
65562         (WebCore::WebSocketHandshake::clientHandshakeRequest):
65563
65564 2011-07-14  SravanKumar S  <sravan.ken@gmail.com>
65565
65566         Replaced isChecked() with shouldAppearChecked() in HTMLInputElement.cpp along with all the corresponding function calls.
65567         https://bugs.webkit.org/show_bug.cgi?id=54476
65568
65569         Reviewed by Darin Adler.
65570
65571         No new tests, since existing fast/dom/HTMLInputElement/checked-pseudo-selector.html verifies the patch.
65572
65573         * accessibility/AccessibilityRenderObject.cpp:
65574         (WebCore::AccessibilityRenderObject::isChecked):
65575         * css/CSSStyleSelector.cpp:
65576         (WebCore::CSSStyleSelector::canShareStyleWithControl):
65577         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
65578         * dom/CheckedRadioButtons.cpp:
65579         (WebCore::CheckedRadioButtons::removeButton):
65580         * html/HTMLInputElement.cpp:
65581         (WebCore::HTMLInputElement::shouldAppearChecked):
65582         * html/HTMLInputElement.h: Removed virtual declaration from shouldAppearChecked().
65583         * rendering/RenderTheme.cpp:
65584         (WebCore::RenderTheme::isChecked):
65585
65586 2011-07-14  Kenichi Ishibashi  <bashi@chromium.org>
65587
65588         <input form="x"> should not associate the input with any forms when there is no  form with id="x"
65589         https://bugs.webkit.org/show_bug.cgi?id=64509
65590
65591         Don't set form owner when a form associated element has the form attribute but there is no such form element.
65592
65593         Reviewed by Kent Tamura.
65594
65595         Test: fast/forms/form-attribute-nonexistence-form-id.html
65596
65597         * dom/Document.cpp:
65598         (WebCore::Document::resetFormElementsOwner): Removed the argument which is no longer needed.
65599         * dom/Document.h: Ditto.
65600         * html/FormAssociatedElement.cpp:
65601         (WebCore::FormAssociatedElement::insertedIntoTree): Resets m_form whenever the element has the form attribute.
65602         (WebCore::FormAssociatedElement::resetFormOwner): Don't set m_form when there is no form element which has the given id.
65603         (WebCore::FormAssociatedElement::formAttributeChanged): Removed the argument of resetFormOwner().
65604         * html/FormAssociatedElement.h: Ditto.
65605         * html/HTMLFormElement.cpp: Ditto.
65606         (WebCore::HTMLFormElement::insertedIntoDocument):
65607         (WebCore::HTMLFormElement::removedFromDocument):
65608
65609 2011-07-14  Kent Tamura  <tkent@chromium.org>
65610
65611         REGRESSION (r90809): Setting a checkbox's checked property, doesn't render as checked until app window loses focus
65612         https://bugs.webkit.org/show_bug.cgi?id=64537
65613
65614         Reviewed by Darin Adler.
65615
65616         We stopped to call updateCheckedRadioButtons() for checkboxes
65617         since r90809, but we need to call RenderTheme::stateChanged(),
65618         which was in updateCheckedRadioButtons(), for checkboxes.
65619
65620         Tests: fast/forms/checkbox-appearance-change-by-checked-expected.html
65621                fast/forms/checkbox-appearance-change-by-checked.html
65622
65623         * html/HTMLInputElement.cpp: Move the RenderTheme::stateChanged() call
65624         from updateCheckedRadioButtons() to setChecked().
65625         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
65626         (WebCore::HTMLInputElement::setChecked):
65627
65628 2011-07-14  Adam Barth  <abarth@webkit.org>
65629
65630         The beforeload event allows tracking URI changes in a frame
65631         https://bugs.webkit.org/show_bug.cgi?id=64482
65632
65633         Reviewed by Nate Chapin.
65634
65635         Tests: http/tests/security/beforeload-iframe-client-redirect.html
65636                http/tests/security/beforeload-iframe-server-redirect.html
65637
65638         Only dispatch the beforeload event for a frame if we haven't yet
65639         committed our first real load.  The URL that we send to our parent will
65640         be the same URL the parent seens in the src attribute.
65641
65642         * loader/FrameLoader.cpp:
65643         (WebCore::FrameLoader::loadWithDocumentLoader):
65644
65645 2011-07-14  Dan Bernstein  <mitz@apple.com>
65646
65647         LLVM Compiler build fix.
65648
65649         * css/CSSStyleApplyProperty.cpp:
65650         (WebCore::ApplyPropertyComputeLength::applyValue):
65651
65652 2011-07-14  Darin Adler  <darin@apple.com>
65653
65654         [Mac] Use [NSCursor operationNotAllowedCursor] for CSS no-drop as well as CSS not-allowed
65655         https://bugs.webkit.org/show_bug.cgi?id=64570
65656
65657         Reviewed by Alexey Proskuryakov.
65658
65659         Mac OS X documentation and usage makes it clear that this cursor is usually used for no-drop,
65660         and that it's also reasonable to use it for not-allowed.
65661
65662         * platform/mac/CursorMac.mm:
65663         (WebCore::Cursor::ensurePlatformCursor): Use [NSCursor operationNotAllowedCursor] for
65664         Cursor::NoDrop.
65665
65666 2011-07-14  Luke Macpherson   <macpherson@chromium.org>
65667
65668         Reviewed by Dimitri Glazkov.
65669
65670         Introduce templated compute length class in CSSStyleApplyProperty, and use to handle several CSS properties.
65671         https://bugs.webkit.org/show_bug.cgi?id=62957
65672
65673         No new tests / refactoring only.
65674
65675         * css/CSSPrimitiveValue.cpp:
65676         (WebCore::CSSPrimitiveValue::computeLength):
65677         Add computeLength function that returns unsigned short.
65678         * css/CSSStyleApplyProperty.cpp:
65679         (WebCore::ApplyPropertyComputeLength::ApplyPropertyComputeLength):
65680         Added class to handle computeLength based properties.
65681         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
65682         Initialize ApplyPropertyComputeLength for appropriate properties.
65683         * css/CSSStyleSelector.cpp:
65684         (WebCore::CSSStyleSelector::useSVGZoomRules):
65685         Make this a public member function instead of a private static function.
65686         (WebCore::CSSStyleSelector::applyProperty):
65687         Removed code now implemented in CSSStyleApplyProperty.
65688         (WebCore::CSSStyleSelector::setFontSize):
65689         Use new useSVGZoomRules function.
65690         * css/CSSStyleSelector.h:
65691         Add interface for useSVGZoomRules.
65692
65693 2011-07-14  Antti Koivisto  <antti@apple.com>
65694
65695         REGRESSION: Should not dispatch didFirstVisuallyNonEmptyLayout for the initial empty document
65696         https://bugs.webkit.org/show_bug.cgi?id=64557
65697
65698         Reviewed by Kenneth Rohde Christiansen.
65699
65700         Avoid sending didFirstVisuallyNonEmptyLayout for the initial empty document of the frame. The
65701         clients may not expect it and it doesn't make much sense in any case.
65702
65703         * page/FrameView.cpp:
65704         (WebCore::FrameView::performPostLayoutTasks):
65705
65706 2011-07-14  Jeffrey Pfau  <jpfau@apple.com>
65707
65708         Character reference parser for new XML parser
65709         https://bugs.webkit.org/show_bug.cgi?id=64398
65710
65711         Reviewed by Adam Barth.
65712
65713         Refactored out the HTML entity parser and added a common template for parsing character references.
65714
65715         * WebCore.xcodeproj/project.pbxproj:
65716         * html/parser/HTMLEntityParser.cpp:
65717         (WebCore::consumeHTMLEntity):
65718         * xml/parser/CharacterReferenceParserInlineMethods.h: Copied from Source/WebCore/html/parser/HTMLEntityParser.cpp.
65719         (WebCore::isHexDigit):
65720         (WebCore::unconsumeCharacters):
65721         (WebCore::consumeCharacterReference):
65722         * xml/parser/XMLCharacterReferenceParser.cpp: Added.
65723         (WebCore::consumeXMLCharacterReference):
65724         * xml/parser/XMLCharacterReferenceParser.h: Added.
65725
65726 2011-07-14  Ilya Tikhonovsky  <loislo@chromium.org>
65727
65728         Reviewed by Pavel Feldman.
65729
65730         Web Inspector: panel switching is too slow.
65731         https://bugs.webkit.org/show_bug.cgi?id=60959
65732
65733         * inspector/front-end/inspector.css:
65734         (.panel):
65735         (.panel.visible):
65736
65737 2011-07-14  Andrey Kosyakov  <caseq@chromium.org>
65738
65739         Web Inspector: remove more unused CSS from inspector.css
65740         https://bugs.webkit.org/show_bug.cgi?id=64529
65741
65742         Reviewed by Pavel Feldman.
65743
65744         * inspector/front-end/inspector.css:
65745
65746 2011-07-14  Ryosuke Niwa  <rniwa@webkit.org>
65747
65748         Move subtreeHasChanged from RenderTextControl to HTMLTextFormControlElement
65749         https://bugs.webkit.org/show_bug.cgi?id=64476
65750
65751         Reviewed by Kent Tamura.
65752
65753         Moved subtreeHasChanged from RenderTextControl, RenderTextControlSingleLine, and
65754         RenderTextControlMultiLine to HTMLTextFormControlElement, HTMLInputElement, and
65755         HTMLTextAreaElement. Also moved m_searchEventTimer and related functions from
65756         RenderTextSingleLine to SearchInputType.
65757
65758         * html/HTMLInputElement.cpp:
65759         (WebCore::HTMLInputElement::subtreeHasChanged): Moved from RenderTextControlSingleLine.
65760         (WebCore::HTMLInputElement::onSearch): Calls stopSearchEventTimer.
65761         * html/HTMLInputElement.h:
65762         * html/HTMLTextAreaElement.cpp:
65763         (WebCore::HTMLTextAreaElement::subtreeHasChanged): Moved from RenderTextMultiLine.
65764         * html/HTMLTextAreaElement.h:
65765         * html/HTMLTextFormControlElement.cpp:
65766         (WebCore::HTMLTextFormControlElement::defaultEventHandler): Calls subtreeHasChanged.
65767         (WebCore::HTMLTextFormControlElement::subtreeHasChanged): Added; calls respondToChangeByUser.
65768         * html/HTMLTextFormControlElement.h:
65769         * html/SearchInputType.cpp:
65770         (WebCore::SearchInputType::SearchInputType): Initializes m_searchEventTimer.
65771         (WebCore::SearchInputType::startSearchEventTimer): Moved from RenderTextControlSingleLine.
65772         (WebCore::SearchInputType::stopSearchEventTimer): Ditto.
65773         (WebCore::SearchInputType::searchEventTimerFired): Ditto.
65774         * html/SearchInputType.h:
65775         * html/TextFieldInputType.cpp:
65776         (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent): Updated comment.
65777         * rendering/RenderTextControl.cpp:
65778         * rendering/RenderTextControl.h:
65779         (WebCore::RenderTextControl::respondToChangeByUser): Renamed from subtreeHasChanged.
65780         * rendering/RenderTextControlMultiLine.cpp:
65781         * rendering/RenderTextControlMultiLine.h:
65782         * rendering/RenderTextControlSingleLine.cpp:
65783         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): No longer initializes
65784         m_searchEventTimer.
65785         * rendering/RenderTextControlSingleLine.h:
65786
65787 2011-07-14  Vsevolod Vlasov  <vsevik@chromium.org>
65788
65789         Move XML errors handling out from XMLDocumentParser (refactoring).
65790         https://bugs.webkit.org/show_bug.cgi?id=64305
65791
65792         XML errors handling logic is moved out from XMLDocumentParser to allow using it for XSLT error handling as well.
65793
65794         Reviewed by Adam Barth.
65795
65796         No tests needed as there is no new functionality added.
65797
65798         * CMakeLists.txt:
65799         * GNUmakefile.list.am:
65800         * WebCore.gypi:
65801         * WebCore.pro:
65802         * WebCore.vcproj/WebCore.vcproj:
65803         * WebCore.xcodeproj/project.pbxproj:
65804         * xml/XMLErrors.cpp: Added.
65805         (WebCore::XMLErrors::XMLErrors):
65806         (WebCore::XMLErrors::handleError):
65807         (WebCore::XMLErrors::appendErrorMessage):
65808         (WebCore::createXHTMLParserErrorHeader):
65809         (WebCore::XMLErrors::insertErrorMessageBlock):
65810         * xml/XMLErrors.h: Added.
65811         * xml/parser/XMLDocumentParser.cpp:
65812         (WebCore::XMLDocumentParser::pushCurrentNode):
65813         (WebCore::XMLDocumentParser::handleError):
65814         (WebCore::XMLDocumentParser::insertErrorMessageBlock):
65815         * xml/parser/XMLDocumentParser.h:
65816         * xml/parser/XMLDocumentParserLibxml2.cpp:
65817         (WebCore::PendingCallbacks::appendErrorCallback):
65818         (WebCore::XMLDocumentParser::XMLDocumentParser):
65819         (WebCore::XMLDocumentParser::doWrite):
65820         (WebCore::XMLDocumentParser::error):
65821         (WebCore::warningHandler):
65822         (WebCore::fatalErrorHandler):
65823         (WebCore::normalErrorHandler):
65824         * xml/parser/XMLDocumentParserQt.cpp:
65825         (WebCore::XMLDocumentParser::XMLDocumentParser):
65826         (WebCore::XMLDocumentParser::doWrite):
65827         (WebCore::XMLDocumentParser::doEnd):
65828         (WebCore::XMLDocumentParser::parse):
65829         (WebCore::XMLDocumentParser::parseStartElement):
65830         (WebCore::XMLDocumentParser::parseDtd):
65831
65832 2011-07-14  Vsevolod Vlasov  <vsevik@chromium.org>
65833
65834         Web Inspector: InspectorResourceAgent should generate unique identifier and save cachedResource for resources from memory cache.
65835         https://bugs.webkit.org/show_bug.cgi?id=64356
65836
65837         Reviewed by Yury Semikhatsky.
65838
65839         * inspector/Inspector.json:
65840         * inspector/InspectorInstrumentation.cpp:
65841         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
65842         * inspector/InspectorInstrumentation.h:
65843         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
65844         * inspector/InspectorResourceAgent.cpp:
65845         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
65846         * inspector/InspectorResourceAgent.h:
65847         * inspector/front-end/NetworkManager.js:
65848         (WebInspector.NetworkManager.prototype.requestContent):
65849         (WebInspector.NetworkDispatcher):
65850         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
65851         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
65852         * inspector/front-end/NetworkPanel.js:
65853         (WebInspector.NetworkLogView.prototype._frameNavigated):
65854         * loader/FrameLoader.cpp:
65855         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
65856         * loader/FrameLoader.h:
65857
65858 2011-07-14  Tim Horton  <timothy_horton@apple.com>
65859
65860         Clear SVGElementInstance's children immediately upon detachment
65861         https://bugs.webkit.org/show_bug.cgi?id=63739
65862         <rdar://problem/9705708>
65863
65864         Reviewed by Nikolas Zimmermann.
65865
65866         In addition to clearing the instance's children in the destructor,
65867         clear them when the instance is detached from its <use>. This way,
65868         we won't attempt to use them after we're detached but before the
65869         destructor has been called.
65870
65871         Test: svg/custom/use-crash-using-children-before-destroy.svg
65872
65873         * svg/SVGElementInstance.cpp:
65874         (WebCore::SVGElementInstance::~SVGElementInstance):
65875         (WebCore::SVGElementInstance::clearChildren):
65876         * svg/SVGElementInstance.h:
65877         * svg/SVGUseElement.cpp:
65878         (WebCore::SVGUseElement::detachInstance):
65879
65880 2011-07-14  Nate Chapin  <japhet@chromium.org>
65881
65882         Don't skip custom cursors if an Image* is null,
65883         since this can lead to a non-custom Cursor flickering 
65884         back in when the custom cursor hasn't finished loading yet.
65885         https://bugs.webkit.org/show_bug.cgi?id=64321
65886
65887         Reviewed by Darin Fisher.
65888
65889         Manual test, since we're testing visual flickering.
65890
65891         * manual-tests/canvas-cursor.html: Added.
65892         * page/EventHandler.cpp:
65893         (WebCore::EventHandler::selectCursor):
65894         * platform/Cursor.cpp:
65895         (WebCore::determineHotSpot):
65896
65897 2011-07-14  Young Han Lee  <joybro@company100.net>
65898
65899         Reviewed by Dirk Schulze.
65900
65901         REGRESSION (r89774): svg/W3C-SVG-1.1/animate-elem-82-t.svg hits assertion failure.
65902         https://bugs.webkit.org/show_bug.cgi?id=63911
65903
65904         Some functions assumed calculateKeyTimesIndex() does not return the last index of
65905         the keyTimes, but it would be right behavior for calculateKeyTimesIndex() when it
65906         accepts 1 as the percent argument.
65907
65908         To avoid the assumption, and for more efficiency, this patch allows the functions
65909         using calculateKeyTimesIndex() to return early when it accepts 1 as the percent argument.
65910         These functions have always returned the last element of the corresponding vector
65911         in that situation.
65912
65913         * svg/SVGAnimationElement.cpp:
65914         (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
65915         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
65916
65917 2011-07-14  Andrey Kosyakov  <caseq@chromium.org>
65918
65919         Web Inspector: remove more dead code
65920         https://bugs.webkit.org/show_bug.cgi?id=64524
65921
65922         Reviewed by Yury Semikhatsky.
65923
65924         * WebCore.gypi:
65925         * inspector/front-end/SummaryBar.js: Removed.
65926         * inspector/front-end/WebKit.qrc:
65927         * inspector/front-end/inspector.css:
65928         * inspector/front-end/inspector.html:
65929
65930 2011-07-14  Peter Varga  <pvarga@webkit.org>
65931
65932         [Qt][V8] Build fix after r90830.
65933
65934         Reviewed by Csaba Osztrogonác.
65935
65936         The histogramEnumeration() function isn't available from the Qt port's
65937         PlatformBridge.h because this function is Chromium specific.
65938         Since the http://trac.webkit.org/changeset/90830 change we need to
65939         guard the usage of the histogramEnumeration() function.
65940
65941         No new tests needed.
65942
65943         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
65944         (WebCore::V8InspectorFrontendHost::recordActionTakenCallback):
65945         (WebCore::V8InspectorFrontendHost::recordPanelShownCallback):
65946         (WebCore::V8InspectorFrontendHost::recordSettingChangedCallback):
65947
65948 2011-07-14  Yury Semikhatsky  <yurys@chromium.org>
65949
65950         Web Inspector: show only Console and Scripts panels in shared worker inspector front-end
65951         https://bugs.webkit.org/show_bug.cgi?id=64519
65952
65953         Reviewed by Pavel Feldman.
65954
65955         * inspector/front-end/WorkerManager.js:
65956         (WebInspector.WorkerManager):
65957         (WebInspector.WorkerManager.isWorkerFrontend):
65958         (WebInspector.WorkerManager.isSharedWorkerFrontend):
65959         (WebInspector.WorkerManager.prototype._openInspectorWindow):
65960         (WebInspector.DedicatedWorkerMessageForwarder):
65961
65962 2011-07-14  MORITA Hajime  <morrita@google.com>
65963
65964         Unreviewed, rolling out r90976, r90981, and r90985.
65965         http://trac.webkit.org/changeset/90976
65966         http://trac.webkit.org/changeset/90981
65967         http://trac.webkit.org/changeset/90985
65968         https://bugs.webkit.org/show_bug.cgi?id=64251
65969
65970         build break
65971
65972         * WebCore.exp.in:
65973         * dom/NodeRenderingContext.cpp:
65974         (WebCore::NodeRenderingContext::NodeRenderingContext):
65975         (WebCore::NodeRenderingContext::nextRenderer):
65976         (WebCore::NodeRenderingContext::previousRenderer):
65977         * dom/NodeRenderingContext.h:
65978         * dom/ShadowContentElement.cpp:
65979         (WebCore::ShadowContentElement::attach):
65980         (WebCore::ShadowContentElement::detach):
65981         * dom/ShadowContentElement.h:
65982         * dom/ShadowContentSelector.cpp:
65983         (WebCore::ShadowContentSelector::ShadowContentSelector):
65984         (WebCore::ShadowContentSelector::selectInclusion):
65985         (WebCore::ShadowContentSelector::willAttachContentFor):
65986         (WebCore::ShadowContentSelector::didAttachContent):
65987         (WebCore::ShadowContentSelector::activeElement):
65988         * dom/ShadowContentSelector.h:
65989         * dom/ShadowRoot.cpp:
65990         (WebCore::ShadowRoot::~ShadowRoot):
65991         (WebCore::ShadowRoot::activeContentElement):
65992         * dom/ShadowRoot.h:
65993         * testing/Internals.cpp:
65994         * testing/Internals.h:
65995         * testing/Internals.idl:
65996
65997 2011-07-13  Ryosuke Niwa  <rniwa@webkit.org>
65998
65999         Move forwardEvent from RenderTextControl to HTMLTextFormControlElement
66000         https://bugs.webkit.org/show_bug.cgi?id=64475
66001
66002         Reviewed by Kent Tamura.
66003
66004         Moved forwardEvent from RenderTextControl, RenderTextControlSingleLine, and RenderTextControlMultiLine
66005         to HTMLTextFormControlElement, HTMLInputElement, and HTMLTextAreaElement.
66006
66007         This removes the last dependency on Event.h and EventNames.h in the cpp files for the above render
66008         objects classes.
66009
66010         * html/HTMLTextAreaElement.cpp:
66011         (WebCore::HTMLTextAreaElement::defaultEventHandler):
66012         * html/HTMLTextFormControlElement.cpp:
66013         (WebCore::HTMLTextFormControlElement::forwardEvent):
66014         * html/HTMLTextFormControlElement.h:
66015         * html/TextFieldInputType.cpp:
66016         (WebCore::TextFieldInputType::forwardEvent):
66017         * rendering/RenderTextControl.cpp:
66018         * rendering/RenderTextControl.h:
66019         * rendering/RenderTextControlMultiLine.cpp:
66020         * rendering/RenderTextControlMultiLine.h:
66021         * rendering/RenderTextControlSingleLine.cpp:
66022         * rendering/RenderTextControlSingleLine.h:
66023
66024 2011-07-13  Ilya Tikhonovsky  <loislo@chromium.org>
66025
66026         Web Inspector: if you rename an element into the INPUT element the browser will crash.
66027         https://bugs.webkit.org/show_bug.cgi?id=64292
66028
66029         Reviewed by Joseph Pecoraro.
66030
66031         * inspector/InspectorDOMAgent.cpp:
66032         (WebCore::InspectorDOMAgent::setNodeName):
66033         Unnecessary function call copyNonAttributeProperties was removed.
66034
66035 2011-07-13  Yuta Kitamura  <yutak@chromium.org>
66036
66037         WebSocket: Implement hybi handshake
66038         https://bugs.webkit.org/show_bug.cgi?id=64344
66039
66040         Reviewed by Kent Tamura.
66041
66042         Implement WebSocket handshake which is described at
66043         <http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-5.1>.
66044
66045         Notable differences from hixie-76 protocol are:
66046         - Challenge-response scheme has been changed dramatically.
66047         - Servers do not send Sec-WebSocket-Location and Sec-WebSocket-Origin anymore.
66048         - The value of "Upgrade" header has been changed to "websocket" (lower-case only).
66049         - "Origin" header in client's request is renamed to "Sec-WebSocket-Origin".
66050
66051         New tests: http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header.html
66052                    http/tests/websocket/tests/hybi/handshake-fail-by-no-accept-header.html
66053                    http/tests/websocket/tests/hybi/handshake-fail-by-wrong-accept-header.html
66054
66055         Note: Tests under hybi/ directory (including the new ones) are skipped and cannot be enabled
66056         yet, because pywebsocket does not accept requests from half-baked client implementation
66057         (i.e. hybi handshake + hixie-76 framing). They will be unskipped when hybi framing is landed
66058         in WebCore.
66059
66060         * websockets/WebSocketHandshake.cpp:
66061         Functions and members only used for hixie-76 handshake are renamed so that they are not confused
66062         with hybi-10's ones.
66063         (WebCore::generateHixie76SecWebSocketKey):
66064         (WebCore::generateHixie76Key3):
66065         (WebCore::generateHixie76ExpectedChallengeResponse):
66066         (WebCore::generateSecWebSocketKey):
66067         Generates a value for Sec-WebSocket-Key as stated in hybi-10.
66068         (WebCore::getExpectedWebSocketAccept):
66069         Calculates the expected value of Sec-WebSocket-Accept.
66070         (WebCore::WebSocketHandshake::WebSocketHandshake):
66071         (WebCore::WebSocketHandshake::clientHandshakeMessage):
66072         (WebCore::WebSocketHandshake::clientHandshakeRequest):
66073         (WebCore::WebSocketHandshake::readServerHandshake):
66074         (WebCore::WebSocketHandshake::serverWebSocketAccept):
66075         (WebCore::WebSocketHandshake::serverWebSocketExtensions):
66076         (WebCore::WebSocketHandshake::checkResponseHeaders):
66077         * websockets/WebSocketHandshake.h:
66078
66079 2011-07-13  MORITA Hajime  <morrita@google.com>
66080
66081         [ShadowContentElement] forwarded node should be able to access its hosting content element.
66082         https://bugs.webkit.org/show_bug.cgi?id=64251
66083         
66084         Reviewed by Dimitri Glazkov.
66085
66086         - Introduced ShadowInclusionSet to manage included nodes to its includer content element.
66087           ShadowInclusionSet instance is owned by ShadowRoot.
66088         - Updated the set on inclusion list changes.
66089         - Used the set to retrieve the content element of NodeRenderingContext.
66090         
66091         There are also related refactoring and cleanup:
66092         - Renamed NodeRenderingContext::m_contentElement to m_includer
66093         - ShadowContentSelector::m_activeElement is no longer used, thus removed.
66094         
66095         Test: fast/dom/shadow/content-element-includer.html
66096
66097         * WebCore.exp.in:
66098         * dom/NodeRenderingContext.cpp:
66099         (WebCore::NodeRenderingContext::NodeRenderingContext):
66100         (WebCore::NodeRenderingContext::nextRenderer):
66101         (WebCore::NodeRenderingContext::previousRenderer):
66102         * dom/NodeRenderingContext.h:
66103         (WebCore::NodeRenderingContext::includer): 
66104         * dom/ShadowContentElement.cpp:
66105         (WebCore::removeFromSet): Added
66106         (WebCore::addToSet): Added
66107         (WebCore::ShadowContentElement::attach):
66108         (WebCore::ShadowContentElement::detach):
66109         * dom/ShadowContentElement.h:
66110         (WebCore::ShadowInclusionSet::add):
66111         (WebCore::ShadowInclusionSet::remove):
66112         (WebCore::ShadowInclusionSet::isEmpty):
66113         (WebCore::ShadowInclusionSet::Translator::hash):
66114         (WebCore::ShadowInclusionSet::Translator::equal):
66115         (WebCore::ShadowInclusionSet::Hash::hash):
66116         (WebCore::ShadowInclusionSet::Hash::equal):
66117         (WebCore::ShadowInclusionSet::find):
66118         * dom/ShadowContentSelector.cpp:
66119         (WebCore::ShadowContentSelector::ShadowContentSelector):
66120         (WebCore::ShadowContentSelector::selectInclusion):
66121         * dom/ShadowContentSelector.h:
66122         * dom/ShadowRoot.cpp:
66123         (WebCore::ShadowRoot::~ShadowRoot):
66124         (WebCore::ShadowRoot::includerFor): Replaced activeElement()
66125         (WebCore::ShadowRoot::inclusions): Added
66126         (WebCore::ShadowRoot::ensureInclusions): Added
66127         * dom/ShadowRoot.h:
66128         (WebCore::toShadowRoot):
66129         * testing/Internals.cpp:
66130         (WebCore::Internals::includerFor):
66131         * testing/Internals.h:
66132         * testing/Internals.idl:
66133
66134 2011-07-12  Dominic Cooney  <dominicc@chromium.org>
66135
66136         Raise if dispatchEvent dispatches an event that is being dispatched
66137         https://bugs.webkit.org/show_bug.cgi?id=64150
66138
66139         Reviewed by Dimitri Glazkov.
66140
66141         Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-EventTarget-dispatchEvent
66142
66143         Test: fast/events/dispatch-event-being-dispatched.html
66144
66145         * dom/Event.h:
66146         (WebCore::Event::isBeingDispatched): Added.
66147         * dom/EventException.h:
66148         * dom/EventException.idl: Add DISPATCH_REQUEST_ERR.
66149         * dom/EventTarget.cpp:
66150         (WebCore::EventTarget::dispatchEvent): Raise if being dispatched.
66151         * dom/ExceptionCode.cpp: Add gunk for DISPATCH_REQUEST_ERR.
66152
66153 2011-07-13  Kent Tamura  <tkent@chromium.org>
66154
66155         Implement text field placeholders using shadow DOM
66156         https://bugs.webkit.org/show_bug.cgi?id=64253
66157
66158         Reviewed by Dimitri Glazkov.
66159
66160         Represents a placeholder text as a shadow element, and its
66161         visibility is controlled by 'visibility' CSS property.
66162
66163         This patch removes all of existing code about placeholder from
66164         RenderTextControl*. RenderTextControl* have only small code about
66165         placeholder layout.
66166
66167         Also, this patch removes INPUT_PLACEHOLDER legacy pseudo ID, and
66168         the placeholder style uses Element::shadowPseudoId().
66169
66170         This fixes the following regressions:
66171         - https://bugs.webkit.org/show_bug.cgi?id=51290
66172         - https://bugs.webkit.org/show_bug.cgi?id=54797
66173         - https://bugs.webkit.org/show_bug.cgi?id=54814
66174         - https://bugs.webkit.org/show_bug.cgi?id=63367
66175
66176         Test: fast/forms/textarea-placeholder-wrapping.html
66177
66178         * css/CSSSelector.cpp: Remove INPUT_PLACEHOLDER legacy pseudo ID.
66179         (WebCore::CSSSelector::pseudoId):
66180         (WebCore::nameToPseudoTypeMap):
66181         (WebCore::CSSSelector::extractPseudoType):
66182         * css/CSSSelector.h: ditto.
66183         * css/html.css:
66184         (::-webkit-input-placeholder): Added. This contains properties
66185         common in <input> and <textarea>. Some properties have !important
66186         so that a stylesheet specified by a page author won't break
66187         WebKit's assumption.
66188         (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
66189          Added the default style for <input> placeholders.
66190         * html/HTMLInputElement.cpp:
66191         (WebCore::HTMLInputElement::placeholderElement): Delegate to an InputType.
66192         (WebCore::HTMLInputElement::updatePlaceholderText): ditto.
66193         * html/HTMLInputElement.h: Declare placeholderElement() and updatePlaceholderText().
66194         * html/HTMLTextAreaElement.cpp:
66195         (WebCore::HTMLTextAreaElement::createRenderer):
66196         Remove the 'placeholderVisible' argument.
66197         (WebCore::HTMLTextAreaElement::placeholderElement): Added.
66198         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
66199          Added. This creates, deletes, or updates the placeholder element.
66200         * html/HTMLTextAreaElement.h:
66201         - Declare placeholderElement() and updatePlaceholderText().
66202         - Add m_placeholder.
66203         * html/HTMLTextFormControlElement.cpp:
66204         (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
66205         Update the placeholder element and 'visibility' CSS property,
66206         instead of delegating the job to a renderer.
66207         * html/HTMLTextFormControlElement.h:
66208         Declare two pure virtual functions: placeholderElement() and updatePlaceholderText().
66209         * html/InputType.cpp:
66210         (WebCore::InputType::placeholderElement): Add an empty implementation.
66211         (WebCore::InputType::updatePlaceholderText): Add an empty implementation.
66212         * html/InputType.h: Declare placeholderElement() and updatePlaceholderText().
66213         * html/TextFieldInputType.cpp:
66214         (WebCore::TextFieldInputType::createRenderer):
66215         Remove the 'placeholderVisible' argument.
66216         (WebCore::TextFieldInputType::placeholderElement): Added.
66217         (WebCore::TextFieldInputType::destroyShadowSubtree): Deletes m_placeholder.
66218         (WebCore::TextFieldInputType::updatePlaceholderText):
66219          Added. This creates, deletes, or updates the placeholder element.
66220         * html/TextFieldInputType.h:
66221         - Declare placeholderElement() and updatePlaceholderText().
66222         - Add m_placeholder.
66223         * rendering/RenderTextControl.cpp:
66224         (WebCore::RenderTextControl::RenderTextControl):
66225         Remove the 'placeholderVisible' argument.
66226         (WebCore::RenderTextControl::layoutSpecialExcludedChild):
66227         Excludes the placeholder renderer in order to avoid to secure a box for
66228         the placeholder.
66229         * rendering/RenderTextControl.h:
66230         - Remove declarations of removed functions.
66231         - Update the RenderTextControl signature.
66232         - Add layoutSpecialExcludedChild().
66233         * rendering/RenderTextControlMultiLine.cpp:
66234         (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
66235         Remove the 'placeholderVisible' argument.
66236         (WebCore::RenderTextControlMultiLine::layoutSpecialExcludedChild):
66237         Laying out the placeholder box so that it has correct width and location.
66238         * rendering/RenderTextControlMultiLine.h:
66239         - Remove declarations of removed functions.
66240         - Update the RenderTextControlMultiLine signature.
66241         - Add layoutSpecialExcludedChild().
66242         * rendering/RenderTextControlSingleLine.cpp:
66243         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
66244         Remove the 'placeholderVisible' argument.
66245         (WebCore::RenderTextControlSingleLine::layout):
66246         Laying out the placeholder box so that it has correct width and location.
66247         * rendering/RenderTextControlSingleLine.h:
66248         - Remove declarations of removed functions.
66249         - Update the RenderTextControlSingleLine signature.
66250         * rendering/style/RenderStyleConstants.h: Remove INPUT_PLACEHOLDER.
66251
66252 2011-07-13  James Simonsen  <simonjam@chromium.org>
66253
66254         Remove hack that forcefully prevents scripts from running in shadow SVG
66255         https://bugs.webkit.org/show_bug.cgi?id=64419
66256
66257         This hack was put in to prevent scripts from running in shadow SVG. This should never have
66258         happened, but did because we didn't parse <script> tags in SVG properly. This was fixed in
66259         r88584, so the hack is no longer needed.
66260
66261         No new tests since there is no change in functionality.
66262
66263         Reviewed by Tony Gentilcore.
66264
66265         * dom/ScriptElement.cpp:
66266         (WebCore::ScriptElement::prepareScript):
66267
66268 2011-07-13  Mihnea Ovidenie  <mihnea@adobe.com>
66269
66270         [CSSRegions] Parse -webkit-content-order property
66271         https://bugs.webkit.org/show_bug.cgi?id=63897
66272
66273         Reviewed by David Hyatt.
66274
66275         Test: fast/regions/webkit-content-order-parsing.html
66276
66277         * css/CSSComputedStyleDeclaration.cpp:
66278         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
66279         * css/CSSParser.cpp:
66280         (WebCore::CSSParser::parseValue):
66281         * css/CSSPropertyNames.in:
66282         * css/CSSStyleSelector.cpp:
66283         (WebCore::CSSStyleSelector::applyProperty):
66284         * rendering/style/RenderStyle.cpp:
66285         (WebCore::RenderStyle::diff):
66286         * rendering/style/RenderStyle.h:
66287         (WebCore::InheritedFlags::regionIndex):
66288         (WebCore::InheritedFlags::setRegionIndex):
66289         (WebCore::InheritedFlags::initialRegionIndex):
66290         * rendering/style/StyleRareNonInheritedData.cpp:
66291         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
66292         (WebCore::StyleRareNonInheritedData::operator==):
66293         * rendering/style/StyleRareNonInheritedData.h:
66294
66295 2011-07-13  James Robinson  <jamesr@chromium.org>
66296
66297         Reviewed by Kenneth Russell.
66298
66299         [chromium] Move draw implementation for ContentLayerChromium/ImageLayerChromium to the appropriate CCLayerImpl subclass
66300         https://bugs.webkit.org/show_bug.cgi?id=58833
66301
66302         Adds a TiledLayerChromium class to handle the tiling logic shared by ContentLayerChromium and ImageLayerChromium
66303         so that they can be siblings in the class hierarchy instead of children. Also adds a CCTiledLayerImpl to handle
66304         the drawing responsibilities for tiled layers.
66305
66306         TiledLayerChromium maintains a tiler, tiling options, and calculates the tiling transform. Subclasses are
66307         responsible for providing an appropriate texture updater implementation. CCTiledLayerImpl takes the tiler,
66308         tiling transform and layer properties and draws the layer.  Longer term it'd be better of the CCTiledLayerImpl
66309         owned the tiler and the TiledLayerChromium only owned an updater, but getting there will require changing the
66310         way tile eviction works.
66311
66312         * WebCore.gypi:
66313         * platform/graphics/chromium/ContentLayerChromium.cpp:
66314         (WebCore::ContentLayerChromium::ContentLayerChromium):
66315         (WebCore::ContentLayerChromium::paintContentsIfDirty):
66316         (WebCore::ContentLayerChromium::drawsContent):
66317         * platform/graphics/chromium/ContentLayerChromium.h:
66318         (WebCore::ContentLayerChromium::textureUpdater):
66319         * platform/graphics/chromium/ImageLayerChromium.cpp:
66320         (WebCore::ImageLayerChromium::ImageLayerChromium):
66321         (WebCore::ImageLayerChromium::cleanupResources):
66322         (WebCore::ImageLayerChromium::paintContentsIfDirty):
66323         (WebCore::ImageLayerChromium::textureUpdater):
66324         (WebCore::ImageLayerChromium::contentBounds):
66325         (WebCore::ImageLayerChromium::drawsContent):
66326         (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
66327         * platform/graphics/chromium/ImageLayerChromium.h:
66328         * platform/graphics/chromium/LayerChromium.cpp:
66329         (WebCore::LayerChromium::pushPropertiesTo):
66330         (WebCore::LayerChromium::ccLayerImpl):
66331         * platform/graphics/chromium/LayerChromium.h:
66332         * platform/graphics/chromium/LayerRendererChromium.cpp:
66333         (WebCore::LayerRendererChromium::drawRootLayer):
66334         * platform/graphics/chromium/LayerTilerChromium.cpp:
66335         (WebCore::LayerTilerChromium::updateRect):
66336         (WebCore::LayerTilerChromium::draw):
66337         (WebCore::LayerTilerChromium::drawTiles):
66338         * platform/graphics/chromium/LayerTilerChromium.h:
66339         * platform/graphics/chromium/TiledLayerChromium.cpp: Added.
66340         (WebCore::TiledLayerChromium::TiledLayerChromium):
66341         (WebCore::TiledLayerChromium::~TiledLayerChromium):
66342         (WebCore::TiledLayerChromium::createCCLayerImpl):
66343         (WebCore::TiledLayerChromium::cleanupResources):
66344         (WebCore::TiledLayerChromium::setLayerRenderer):
66345         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
66346         (WebCore::TiledLayerChromium::drawsContent):
66347         (WebCore::TiledLayerChromium::createTilerIfNeeded):
66348         (WebCore::TiledLayerChromium::updateCompositorResources):
66349         (WebCore::TiledLayerChromium::setTilingOption):
66350         (WebCore::TiledLayerChromium::setIsMask):
66351         (WebCore::TiledLayerChromium::tilingTransform):
66352         (WebCore::TiledLayerChromium::pushPropertiesTo):
66353         (WebCore::writeIndent):
66354         (WebCore::TiledLayerChromium::dumpLayerProperties):
66355         * platform/graphics/chromium/TiledLayerChromium.h: Added.
66356         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
66357         (WebCore::CCLayerImpl::draw):
66358         * platform/graphics/chromium/cc/CCLayerImpl.h:
66359         (WebCore::CCLayerImpl::setDrawsContent):
66360         (WebCore::CCLayerImpl::drawsContent):
66361         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Added.
66362         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
66363         (WebCore::CCTiledLayerImpl::~CCTiledLayerImpl):
66364         (WebCore::CCTiledLayerImpl::draw):
66365         (WebCore::CCTiledLayerImpl::bindContentsTexture):
66366         (WebCore::CCTiledLayerImpl::dumpLayerProperties):
66367         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Added.
66368         (WebCore::CCTiledLayerImpl::create):
66369         (WebCore::CCTiledLayerImpl::setTilingTransform):
66370         (WebCore::CCTiledLayerImpl::setTiler):
66371
66372 2011-07-13  Julien Chaffraix  <jchaffraix@webkit.org>
66373
66374         Remove an unused bit in RenderObject
66375         https://bugs.webkit.org/show_bug.cgi?id=64485
66376
66377         Reviewed by Darin Adler.
66378
66379         No change in behavior so no new test.
66380
66381         * rendering/RenderObject.h: Removed a bit that was duplicated from RenderTableCell.
66382         However it was not used in RenderObject and RenderTableCell already packed this bit.
66383         We were lying in the number of used bits in RenderObject which was 33. This change
66384         brings us back to what was advertised.
66385
66386 2011-07-13  Simon Fraser  <simon.fraser@apple.com>
66387
66388         Fix non-debug builds.
66389
66390         * rendering/RenderLayerBacking.cpp:
66391         (WebCore::RenderLayerBacking::createGraphicsLayer):
66392
66393 2011-07-13  Vitaly Repeshko  <vitalyr@chromium.org>
66394
66395         [chromium] Fix mac build after r90949.
66396
66397         * bindings/v8/V8HiddenPropertyName.cpp:
66398         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
66399         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
66400         (WebCore::toV8Object):
66401
66402 2011-07-13  Emil A Eklund  <eae@chromium.org>
66403
66404         Switch table rendering to to new layout types
66405         https://bugs.webkit.org/show_bug.cgi?id=64478
66406
66407         Reviewed by Eric Seidel.
66408
66409         No new tests, no new functionality.
66410
66411         * rendering/AutoTableLayout.cpp:
66412         * rendering/AutoTableLayout.h:
66413         * rendering/HitTestResult.cpp:
66414         * rendering/HitTestResult.h:
66415         * rendering/LayoutTypes.h:
66416         * rendering/RenderBlock.h:
66417         * rendering/RenderBoxModelObject.cpp:
66418         * rendering/RenderBoxModelObject.h:
66419         * rendering/RenderObject.h:
66420         * rendering/RenderTable.cpp:
66421         * rendering/RenderTable.h:
66422         * rendering/RenderTableCell.cpp:
66423         * rendering/RenderTableCell.h:
66424
66425 2011-07-13  Simon Fraser  <simon.fraser@apple.com>
66426
66427         Factor some GraphicsLayer creation code in RenderLayerBacking
66428         https://bugs.webkit.org/show_bug.cgi?id=64487
66429
66430         Reviewed by Sam Weinig.
66431
66432         Move the GraphicsLayer::create() calls into once place so that we
66433         don't have lots of #ifndef NDEBUG in various places, and can share
66434         more code in future.
66435         
66436         No behavior change, so no new tests.
66437
66438         * rendering/RenderLayerBacking.cpp:
66439         (WebCore::RenderLayerBacking::RenderLayerBacking):
66440         (WebCore::RenderLayerBacking::~RenderLayerBacking):
66441         (WebCore::RenderLayerBacking::createGraphicsLayer):
66442         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
66443         (WebCore::RenderLayerBacking::destroyGraphicsLayers):
66444         (WebCore::RenderLayerBacking::updateLayerTransform):
66445         (WebCore::RenderLayerBacking::updateClippingLayers):
66446         (WebCore::RenderLayerBacking::updateOverflowControlsLayers):
66447         (WebCore::RenderLayerBacking::updateForegroundLayer):
66448         (WebCore::RenderLayerBacking::updateMaskLayer):
66449         * rendering/RenderLayerBacking.h:
66450
66451 2011-07-13  Xan Lopez  <xlopez@igalia.com>
66452
66453         [GTK] Fix distcheck.
66454
66455         Reviewed by Martin Robinson.
66456
66457         * GNUmakefile.list.am: add missing files.
66458
66459 2011-07-13  James Robinson  <jamesr@chromium.org>
66460
66461         [chromium] No implementation defined for WTF::monotonicallyIncreasingTime
66462         https://bugs.webkit.org/show_bug.cgi?id=64420
66463
66464         Reviewed by Tony Gentilcore.
66465
66466         Removes some redundant time related code.
66467
66468         * platform/chromium/PlatformBridge.h:
66469         * platform/chromium/SystemTimeChromium.cpp:
66470         (WebCore::userIdleTime):
66471
66472 2011-07-13  Vitaly Repeshko  <vitalyr@chromium.org>
66473
66474         [V8] Avoid memory leaks with hidden references.
66475         https://bugs.webkit.org/show_bug.cgi?id=64467
66476
66477         Reviewed by Adam Barth.
66478
66479         We used to have growing arrays of hidden references associated
66480         with objects. The entries in this array had no keys and were never
66481         removed. This patch changes the interface to require a reference
66482         name. This way it's harder to leak an unbounded number of
66483         objects. Also it makes our wrapper objects one machine word
66484         smaller.
66485
66486         * bindings/scripts/CodeGeneratorV8.pm:
66487         (GenerateNormalAttrGetter): Started using new interface.
66488
66489         Interface changes:
66490         * bindings/v8/V8DOMWrapper.cpp:
66491         (WebCore::V8DOMWrapper::setNamedHiddenReference):
66492         (WebCore::V8DOMWrapper::setNamedHiddenWindowReference):
66493         * bindings/v8/V8DOMWrapper.h:
66494
66495         Added a helper to compute hidden reference names as V8 strings:
66496         * bindings/v8/V8HiddenPropertyName.cpp:
66497         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
66498         * bindings/v8/V8HiddenPropertyName.h:
66499
66500         * bindings/v8/WrapperTypeInfo.h: Removed the hidden reference
66501         array internal field.
66502
66503         Update usages of hidden references:
66504         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
66505         (WebCore::toV8):
66506         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
66507         (WebCore::toV8):
66508         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
66509         (WebCore::toV8):
66510         * bindings/v8/custom/V8LocationCustom.cpp:
66511         (WebCore::toV8):
66512         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
66513         (WebCore::V8MessageChannel::constructorCallback):
66514         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
66515         (WebCore::toV8):
66516         * bindings/v8/custom/V8StyleSheetCustom.cpp:
66517         (WebCore::toV8):
66518         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
66519         (WebCore::toV8Object):
66520
66521         * bindings/scripts/test/V8/V8TestObj.cpp:
66522         (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter): Updated.
66523
66524 2011-07-13  Joseph Pecoraro  <joepeck@webkit.org>
66525
66526         Improve names of some ApplicationCacheStorage accessor methods
66527         https://bugs.webkit.org/show_bug.cgi?id=64433
66528
66529         Reviewed by Alexey Proskuryakov.
66530
66531         Some methods returned a bool for success/failure and
66532         actually returned a value as an out parameter so their
66533         name was confusing. Rename these methods to make them
66534         more clear.
66535
66536         (WebCore::ApplicationCache::diskUsageForOrigin):
66537         * loader/appcache/ApplicationCacheGroup.cpp:
66538         (WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota):
66539         * loader/appcache/ApplicationCacheStorage.cpp:
66540         (WebCore::ApplicationCacheStorage::calculateQuotaForOrigin):
66541         (WebCore::ApplicationCacheStorage::calculateUsageForOrigin):
66542         (WebCore::ApplicationCacheStorage::calculateRemainingSizeForOriginExcludingCache):
66543         (WebCore::ApplicationCacheStorage::checkOriginQuota):
66544         * loader/appcache/ApplicationCacheStorage.h:
66545         * loader/appcache/ApplicationCache.cpp:
66546         Rename the methods.
66547
66548         * WebCore.exp.in:
66549         Replaced old versions. Also, calculateRemaining wasn't needed
66550         outside WebCore, so no longer export it.
66551
66552 2011-07-13  Joseph Pecoraro  <joepeck@webkit.org>
66553
66554         Some ApplicationCache Origin Cleanup
66555         https://bugs.webkit.org/show_bug.cgi?id=64431
66556
66557         Reviewed by Alexey Proskuryakov.
66558
66559         - m_loadedSize is inaccurate. This just replaces it with
66560         calls to ApplicationCache::estimatedSizeInStorage.
66561
66562         - m_availableSpaceInQuota can get out of date, so we just
66563         recalculate it at the start of appcache downloads.
66564
66565         * loader/appcache/ApplicationCacheGroup.h:
66566         * loader/appcache/ApplicationCacheGroup.cpp:
66567         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
66568         (WebCore::ApplicationCacheGroup::didReceiveData):
66569         Remove references to m_loadedSize.
66570
66571         (WebCore::ApplicationCacheGroup::didFinishLoading):
66572         Replace m_loadedSize with estimatedSizeInStorage after we
66573         add the new cached resource to the cache. The calculation
66574         already happened so this check is fast.
66575
66576         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
66577         When we start the Downloading phase, recalculate the quota
66578         so that we have an up to date quota value so that we can
66579         break early if needed.
66580
66581 2011-07-12  Brent Fulgham  <bfulgham@webkit.org>
66582
66583         Standardize WinCairo conditionalized code under PLATFORM macro.
66584         https://bugs.webkit.org/show_bug.cgi?id=64377
66585
66586         Reviewed by Maciej Stachowiak.
66587
66588         Update compile-time conditions that had previously used #ifdef
66589         of WIN_CAIRO to consistently use PLATFORM(WIN_CAIRO).
66590
66591         * WebCore.vcproj/WebCoreCairo.vsprops: Remove redundant declaration
66592           of WIN_CAIRO.
66593         * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops: Update to use
66594           the existing WinCairo.vsprops file.
66595         * WebCorePrefix.h: Update for new WTF_PLATFORM_WIN_CAIRO define.
66596         * config.h: Update to use PLATFORM(WIN_CAIRO).
66597
66598 2011-07-13  Alexandru Chiculita  <achicu@adobe.com>
66599
66600         [CSS Exclusions] Fix for comment #23 on wrap-shape parsing bug 61726
66601         https://bugs.webkit.org/show_bug.cgi?id=64464
66602
66603         Reviewed by Tony Chang.
66604
66605         No new tests needed.
66606
66607         * css/CSSParser.cpp:
66608         (WebCore::CSSParser::parseWrapShapeRect): Removed the "valid" local.
66609         (WebCore::CSSParser::parseWrapShapeCircle): Removed the "valid" local.
66610         (WebCore::CSSParser::parseWrapShapeEllipse): Removed the "valid" local.
66611         * css/CSSPrimitiveValue.cpp:
66612         * css/CSSWrapShapes.h:
66613         (WebCore::CSSWrapShapePolygon::getXAt): Replaced bit shift with multiplication.
66614         (WebCore::CSSWrapShapePolygon::getYAt): Replaced bit shift with multiplication.
66615         * rendering/style/RenderStyle.cpp:
66616         * rendering/style/StyleRareNonInheritedData.h:
66617
66618 2011-07-13  Abhishek Arya  <inferno@chromium.org>
66619
66620         Reviewed by Adam Barth.
66621
66622         Issue with Frame lifetime due to deletion in beforeload event.
66623         https://bugs.webkit.org/show_bug.cgi?id=64457
66624
66625         Copy the Frame protector higher in the stack from loadWithDocumentLoader
66626         to loadFrameRequest since any of loadPostRequest or loadURL can call
66627         loadWithDocumentLoader, thereby dispatching the beforeload event and
66628         blowing away the frame. This deleted frame will be later accessed in
66629         the loadFrameRequest function causing a crash.       
66630  
66631         Test: fast/events/form-iframe-target-before-load-crash2.html
66632
66633         * loader/FrameLoader.cpp:
66634         (WebCore::FrameLoader::loadFrameRequest):
66635         (WebCore::FrameLoader::loadWithDocumentLoader):
66636
66637 2011-07-13  Mihnea Ovidenie  <mihnea@adobe.com>
66638
66639         [CSSRegions]content:-webkit-from-flow not applied correctly
66640         https://bugs.webkit.org/show_bug.cgi?id=64438
66641
66642         Reviewed by Tony Chang.
66643
66644         Forgot to modify getStringValue(), i was modifying only getStringValue(ExceptionCode&).
66645
66646         Test: fast/regions/content-webkit-from-flow-parsing.html (existing).
66647
66648         * css/CSSPrimitiveValue.cpp:
66649         (WebCore::CSSPrimitiveValue::getStringValue):
66650
66651 2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>
66652
66653         Don't reuse the last InsertTextCommand
66654         https://bugs.webkit.org/show_bug.cgi?id=64416
66655
66656         Reviewed by Justin Garcia.
66657
66658         This patch makes the interface of InsertTextCommand less foreign. It now takes arguments in
66659         its constructor and executes the command in doApply like other edit commands.
66660
66661         * editing/CompositeEditCommand.cpp:
66662         (WebCore::CompositeEditCommand::applyCommandToComposite): Added.
66663         * editing/CompositeEditCommand.h:
66664         * editing/InsertTextCommand.cpp:
66665         (WebCore::InsertTextCommand::InsertTextCommand): Takes arguments input used to take.
66666         (WebCore::InsertTextCommand::doApply): Renamed from input.
66667         * editing/InsertTextCommand.h:
66668         (WebCore::InsertTextCommand::create): Takes arguments input used to take.
66669         * editing/TypingCommand.cpp:
66670         (WebCore::TypingCommand::insertTextRunWithoutNewlines): Creates InsertTextCommand.
66671
66672 2011-07-12  Dmitry Lomov  <dslomov@google.com>
66673
66674         https://bugs.webkit.org/show_bug.cgi?id=63041
66675         [Chromium][V8] Make DOMDataStore per-isolate
66676         This patch:
66677          - makes DOMData class an utility class with static members only
66678          - adds an isolate-specific DOMDataStore in V8BindingPerIsolateData.
66679         Dromaeo benchmarks are not affected.
66680
66681         Reviewed by Adam Barth.
66682
66683         * bindings/v8/DOMData.cpp:
66684         (WebCore::getDefaultStore):
66685         (WebCore::DOMData::getCurrentStore):
66686         * bindings/v8/DOMData.h:
66687         * bindings/v8/DOMDataStore.cpp:
66688         (WebCore::DOMDataStore::DOMDataStore):
66689         (WebCore::DOMDataStore::allStores):
66690         * bindings/v8/DOMDataStore.h:
66691         * bindings/v8/ScopedDOMDataStore.cpp:
66692         (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
66693         * bindings/v8/ScopedDOMDataStore.h:
66694         * bindings/v8/StaticDOMDataStore.cpp:
66695         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
66696         * bindings/v8/StaticDOMDataStore.h:
66697         * bindings/v8/V8Binding.h:
66698         (WebCore::V8BindingPerIsolateData::allStores):
66699         (WebCore::V8BindingPerIsolateData::getDOMDataStore):
66700         (WebCore::V8BindingPerIsolateData::setDOMDataStore):
66701         * bindings/v8/V8Binding.cpp:
66702         (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
66703         * bindings/v8/V8DOMMap.cpp:
66704         (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
66705         (WebCore::getDOMDataStore):
66706         (WebCore::enableFasterDOMStoreAccess):
66707
66708 2011-07-12  Simon Fraser  <simon.fraser@apple.com>
66709
66710         Rename compositing-related updateContentsScale() methods
66711         https://bugs.webkit.org/show_bug.cgi?id=64430
66712
66713         Reviewed by Joseph Pecoraro.
66714
66715         Rename updateContentsScale() to something less presumptuous; layers may choose
66716         to do something other than update their contents scale when the page scale factor
66717         changes. pageScaleFactorChanged() is a better name.
66718
66719         * page/Frame.cpp:
66720         (WebCore::Frame::pageScaleFactorChanged):
66721         (WebCore::Frame::scalePage):
66722         * page/Frame.h:
66723         * rendering/RenderLayer.cpp:
66724         (WebCore::RenderLayer::pageScaleFactorChanged):
66725         * rendering/RenderLayer.h:
66726         * rendering/RenderLayerBacking.cpp:
66727         (WebCore::RenderLayerBacking::pageScaleFactorChanged):
66728         * rendering/RenderLayerBacking.h:
66729         * rendering/RenderLayerCompositor.cpp:
66730         (WebCore::RenderLayerCompositor::pageScaleFactorChanged):
66731         * rendering/RenderLayerCompositor.h:
66732
66733 2011-07-13  Pierre Rossi  <pierre.rossi@gmail.com>
66734
66735         Fix compile for QRawFont.
66736
66737         https://bugs.webkit.org/show_bug.cgi?id=64453
66738
66739         Reviewed by Andreas Kling.
66740
66741         * platform/graphics/GraphicsContext.h:
66742         * platform/graphics/qt/FontQt.cpp:
66743         (WebCore::Font::drawGlyphs):
66744
66745 2011-07-13  John Knottenbelt  <jknotten@chromium.org>
66746
66747         Reference Geolocation object from GeoNotifier and Geolocation::setIsAllowed.
66748         https://bugs.webkit.org/show_bug.cgi?id=64363
66749
66750         Reviewed by Tony Gentilcore.
66751
66752         Test: fast/dom/Geolocation/remove-remote-context-in-error-callback-crash.html
66753
66754         * page/Geolocation.cpp:
66755         (WebCore::Geolocation::setIsAllowed):
66756         * page/Geolocation.h:
66757
66758 2011-07-13  Vsevolod Vlasov  <vsevik@chromium.org>
66759
66760         Web Inspector: Network panel search needs each resource to have unique identifier.
66761         https://bugs.webkit.org/show_bug.cgi?id=64287
66762
66763         Reviewed by Pavel Feldman.
66764
66765         * inspector/front-end/NetworkManager.js:
66766         (WebInspector.NetworkManager.prototype.requestContent):
66767         (WebInspector.NetworkDispatcher):
66768         (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
66769         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
66770         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
66771         * inspector/front-end/NetworkPanel.js:
66772         (WebInspector.NetworkPanel.prototype._appendResource):
66773         (WebInspector.NetworkPanel.prototype._frameNavigated):
66774         (WebInspector.NetworkPanel.prototype._updateSearchMatchedListAfterResourceIdentifierChanged):
66775
66776 2011-07-13  Alexandru Chiculita  <achicu@adobe.com>
66777
66778         Bridge RenderBoxModelObject::calculateBackgroundImageGeometry parameters into a class
66779         https://bugs.webkit.org/show_bug.cgi?id=63987
66780
66781         Reviewed by Hajime Morita.
66782
66783         Change doesn't add new functionality. No test needed.
66784
66785         * rendering/RenderBox.cpp:
66786         (WebCore::RenderBox::maskClipRect):
66787         (WebCore::RenderBox::repaintLayerRectsForImage):
66788         * rendering/RenderBoxModelObject.cpp:
66789         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
66790         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX):
66791         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY):
66792         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
66793         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip):
66794         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase):
66795         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
66796         * rendering/RenderBoxModelObject.h:
66797         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin):
66798         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin):
66799         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect):
66800         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect):
66801         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase):
66802         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase):
66803         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize):
66804         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize):
66805         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseX):
66806         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseY):
66807
66808 2011-07-13  MORITA Hajime  <morrita@google.com>
66809
66810         Refactoring: Ignored ExceptionCode value should be less annoying.
66811         https://bugs.webkit.org/show_bug.cgi?id=63688
66812
66813         - Introduced ExceptionCodePlaceholder class for the default parameter of ExceptionCode.
66814         - Introduced ASSERT_NO_EXCEPTION to check ExceptionCode not set to non-zero after the call.
66815         - Adopted ASSERT_NO_EXCEPTION in Range.cpp
66816
66817         No new tests. No behaviour change.
66818
66819         Reviewed by Darin Adler.
66820
66821         * GNUmakefile.list.am:
66822         * WebCore.gypi:
66823         * WebCore.xcodeproj/project.pbxproj:
66824         * dom/ExceptionCodePlaceholder.h: Added.
66825         (WebCore::ExceptionCodePlaceholder::ExceptionCodePlaceholder):
66826         (WebCore::ExceptionCodePlaceholder::operator ExceptionCode& ):
66827         (WebCore::IgnorableExceptionCode::IgnorableExceptionCode):
66828         (WebCore::CheckedExceptionCode::CheckedExceptionCode):
66829         (WebCore::CheckedExceptionCode::~CheckedExceptionCode):
66830         * dom/Range.cpp:
66831         (WebCore::Range::Range):
66832         (WebCore::Range::editingStartPosition):
66833         * dom/Range.h:        
66834
66835 2011-07-13  Nikolas Zimmermann  <nzimmermann@rim.com>
66836
66837         Regression: OOB read in svg text run
66838         https://bugs.webkit.org/show_bug.cgi?id=63627
66839
66840         Not reviewed.
66841
66842         Fixed last minute typo leading to assertions.
66843
66844         * rendering/InlineTextBox.cpp:
66845         (WebCore::InlineTextBox::paintSelection):
66846
66847 2011-07-12  Andrey Kosyakov  <caseq@chromium.org>
66848
66849         Web Inspector: factor NetworkLogView out of Network panel
66850         https://bugs.webkit.org/show_bug.cgi?id=64366
66851
66852         Reviewed by Pavel Feldman.
66853
66854         * inspector/front-end/NetworkPanel.js:
66855         (WebInspector.NetworkLogView):
66856         (WebInspector.NetworkLogView.prototype.get useLargeRows):
66857         (WebInspector.NetworkLogView.prototype.set allowPopover):
66858         (WebInspector.NetworkLogView.prototype.elementsToRestoreScrollPositionsFor):
66859         (WebInspector.NetworkLogView.prototype.resize):
66860         (WebInspector.NetworkLogView.prototype._createTable):
66861         (WebInspector.NetworkLogView.prototype.show):
66862         (WebInspector.NetworkLogView.prototype.hide):
66863         (WebInspector.NetworkLogView.prototype._reset):
66864         (WebInspector.NetworkLogView.prototype.switchToDetailedView):
66865         (WebInspector.NetworkLogView.prototype.switchToBriefView):
66866         (WebInspector.NetworkLogView.prototype.get _setLargerResources):
66867         (WebInspector.NetworkLogView.prototype._getPopoverAnchor):
66868         (WebInspector.NetworkPanel):
66869         (WebInspector.NetworkPanel.prototype.get toolbarItemLabel):
66870         (WebInspector.NetworkPanel.prototype.get statusBarItems):
66871         (WebInspector.NetworkPanel.prototype.elementsToRestoreScrollPositionsFor):
66872         (WebInspector.NetworkPanel.prototype.resize):
66873         (WebInspector.NetworkPanel.prototype._reset):
66874         (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
66875         (WebInspector.NetworkPanel.prototype.updateMainViewWidth):
66876         (WebInspector.NetworkPanel.prototype.handleShortcut):
66877         (WebInspector.NetworkPanel.prototype.show):
66878         (WebInspector.NetworkPanel.prototype.hide):
66879         (WebInspector.NetworkPanel.prototype.get resources):
66880         (WebInspector.NetworkPanel.prototype.resourceById):
66881         (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
66882         (WebInspector.NetworkPanel.prototype.showAnchorLocation):
66883         (WebInspector.NetworkPanel.prototype._onViewCleared):
66884         (WebInspector.NetworkPanel.prototype._onRowSizeChanged):
66885         (WebInspector.NetworkPanel.prototype._onResourceSelected):
66886         (WebInspector.NetworkPanel.prototype._showResource):
66887         (WebInspector.NetworkPanel.prototype._closeVisibleResource):
66888         (WebInspector.NetworkPanel.prototype._toggleGridMode):
66889         (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
66890         (WebInspector.NetworkPanel.prototype.performSearch):
66891         (WebInspector.NetworkPanel.prototype.jumpToPreviousSearchResult):
66892         (WebInspector.NetworkPanel.prototype.jumpToNextSearchResult):
66893         (WebInspector.NetworkPanel.prototype.searchCanceled):
66894         (WebInspector.NetworkDataGridNode):
66895         (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
66896         (WebInspector.NetworkDataGridNode.prototype.select):
66897         (WebInspector.NetworkDataGridNode.prototype.get selectable):
66898
66899 2011-07-13  Sheriff Bot  <webkit.review.bot@gmail.com>
66900
66901         Unreviewed, rolling out r90634.
66902         http://trac.webkit.org/changeset/90634
66903         https://bugs.webkit.org/show_bug.cgi?id=64448
66904
66905         Qt HTTP Pipelining is not robust enough to be used in that
66906         generic way. (Requested by benjaminp on #webkit).
66907
66908         * platform/network/qt/ResourceRequestQt.cpp:
66909         (WebCore::ResourceRequest::toNetworkRequest):
66910
66911 2011-07-13  Nikolas Zimmermann  <nzimmermann@rim.com>
66912
66913         Regression: OOB read in svg text run
66914         https://bugs.webkit.org/show_bug.cgi?id=63627
66915
66916         Reviewed by Zoltan Herczeg.
66917
66918         A TextRun is constructed for a portion of a string [a,b] whose original length is c (0 < a < b < c).
66919         The TextRun charactersLength variable stores the length of the remaining text from (b..c) in order
66920         to support ligatures in SVG Fonts. Example: <text>ffl</text>. When measuring the advance from char 0
66921         to char 1 the whole 'ffl' text must be passed to the SVG glyph selection code, as the SVG Font may
66922         define a single glyph for the characters 'ffl' thus leading to a single character long text
66923         pointing to the ffl ligature, not three individual 'f' / 'f' / 'l' characters anymore.
66924
66925         constructTextRun(..const UChar*, int length, ..) did not correctly calculate the maximum length (b..c).
66926         The passed in UChar buffer starts at eg. textRenderer->characters() + start(), and following condition
66927         holds true for 'length': start() + length <= textRenderer->textLength() (which denotes the maximum length
66928         of the textRenderer->characters() buffer). We have to keep track of the start() offset, so that we
66929         can calculate the charactersLength for the TextRun correctly: textRenderer->textLength() - start().
66930
66931         There are also other cases like RenderCombinedText and/or the presence of hyphens that were incorrectly
66932         tracked. Only InlineTextBox had to be fixed, the other callsites in eg. RenderBlockLineLayout already
66933         computed the maximum length correctly - I assured this by valgrind runs on all SVG Font tests.
66934
66935         * rendering/InlineTextBox.cpp:
66936         (WebCore::InlineTextBox::paint):
66937         (WebCore::InlineTextBox::paintSelection):
66938         (WebCore::InlineTextBox::constructTextRun): Add maximumLength parameter to constructTextRun.
66939         * rendering/InlineTextBox.h: Ditto.
66940
66941 2011-07-12  Antti Koivisto  <antti@apple.com>
66942
66943         didFirstVisuallyNonEmptyLayout dispatched too early
66944         https://bugs.webkit.org/show_bug.cgi?id=64412
66945
66946         Reviewed by Darin Adler and Sam Weinig.
66947
66948         Improve the mechanism that dispatches didFirstVisuallyNonEmptyLayout
66949
66950         - Wait until a threshold of characters and pixels has been exceeded before dispatching.
66951         - Wait until stylesheets are loaded (painting is disabled in this case).
66952
66953         * page/FrameView.cpp:
66954         (WebCore::FrameView::reset):
66955         (WebCore::FrameView::performPostLayoutTasks):
66956         * page/FrameView.h:
66957         (WebCore::FrameView::incrementVisuallyNonEmptyCharacterCount):
66958         (WebCore::FrameView::incrementVisuallyNonEmptyPixelCount):
66959         * rendering/RenderImage.cpp:
66960         (WebCore::RenderImage::RenderImage):
66961         (WebCore::RenderImage::imageChanged):
66962         * rendering/RenderImage.h:
66963         * rendering/RenderText.cpp:
66964         (WebCore::RenderText::RenderText):
66965
66966 2011-07-12  MORITA Hajime  <morrita@google.com>
66967
66968         [Refactoring][ShadowContentElement] Forwarded node list should be a linked-list.
66969         https://bugs.webkit.org/show_bug.cgi?id=64252
66970
66971         Reviewed by Dimitri Glazkov.
66972
66973         Introduced ShadowInclusionList and ShadowInclusion for maintaining
66974         forwarded content children. ShadowInclusion is doubly-linked list.
66975         ShadowContentElement::m_inclusions is replaced by ShadowInclusionList.
66976         
66977         This change is a prepration for bug 64251, which will introduce
66978         forwarded-children to content-element table.
66979         
66980         No new tests. No behavioral change.
66981
66982         * dom/NodeRenderingContext.cpp:
66983         (WebCore::nextRendererOf):
66984         (WebCore::previousRendererOf):
66985         (WebCore::firstRendererOf):
66986         (WebCore::lastRendererOf):
66987         * dom/ShadowContentElement.cpp:
66988         (WebCore::ShadowInclusion::append):
66989         (WebCore::ShadowInclusion::unlink):
66990         (WebCore::ShadowInclusionList::ShadowInclusionList):
66991         (WebCore::ShadowInclusionList::~ShadowInclusionList):
66992         (WebCore::ShadowInclusionList::find):
66993         (WebCore::ShadowInclusionList::clear):
66994         (WebCore::ShadowInclusionList::append):
66995         (WebCore::ShadowContentElement::attach):
66996         * dom/ShadowContentElement.h:
66997         (WebCore::ShadowInclusion::includer):
66998         (WebCore::ShadowInclusion::content):
66999         (WebCore::ShadowInclusion::next):
67000         (WebCore::ShadowInclusion::previous):
67001         (WebCore::ShadowInclusion::ShadowInclusion):
67002         (WebCore::ShadowInclusion::create):
67003         (WebCore::ShadowInclusionList::first):
67004         (WebCore::ShadowInclusionList::last):
67005         (WebCore::ShadowInclusionList::isEmpty):
67006         (WebCore::ShadowInclusionList::append):
67007         (WebCore::ShadowContentElement::inclusions):
67008         * dom/ShadowContentSelector.cpp:
67009         (WebCore::ShadowContentSelector::selectInclusion):
67010         * dom/ShadowContentSelector.h:
67011
67012 2011-07-12  David Reveman  <reveman@chromium.org>
67013
67014         [Chromium] Use nearest filter method with pixel aligned transforms.
67015         https://bugs.webkit.org/show_bug.cgi?id=64338
67016
67017         Reviewed by James Robinson.
67018
67019         Check for integer translation and use nearest texture filter when
67020         possible to avoid filter precisions problems at the layer edges.
67021
67022         Test: compositing/iframes/nested-iframe-scrolling.html (existing)
67023
67024         * platform/graphics/chromium/LayerTilerChromium.cpp:
67025         (WebCore::LayerTilerChromium::drawTiles):
67026         * platform/graphics/transforms/TransformationMatrix.cpp:
67027         (WebCore::TransformationMatrix::isIntegerTranslation):
67028         * platform/graphics/transforms/TransformationMatrix.h:
67029
67030 2011-07-12  David Reveman  <reveman@chromium.org>
67031
67032         Removed unnecessary function parameters from TilingData::textureOffset.
67033         https://bugs.webkit.org/show_bug.cgi?id=64245
67034
67035         Reviewed by Brent Fulgham.
67036
67037         No new tests, no functionality changes.
67038
67039         * platform/graphics/chromium/LayerTilerChromium.cpp:
67040         (WebCore::LayerTilerChromium::drawTiles):
67041         * platform/graphics/gpu/TilingData.cpp:
67042         (WebCore::TilingData::textureOffset):
67043         * platform/graphics/gpu/TilingData.h:
67044
67045 2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>
67046
67047         Move RenderTextControl::indexForVisiblePosition to HTMLTextFormControlElement
67048         https://bugs.webkit.org/show_bug.cgi?id=64403
67049
67050         Reviewed by Hajime Morita.
67051
67052         Moved indexForVisiblePosition from RenderTextControl to HTMLTextFormControlElement.
67053
67054         Also replaced the call to RenderTextControl::isSelectableElement by a call to enclosingTextFormControl
67055         (moved from htmlediting to HTMLTextFormControlElement) because we are only interested in checking
67056         whether the given position is inside the current text form control or not.
67057
67058         In addition, modernized the code in indexForVisiblePosition by calling parentAnchoredEquivalent on the
67059         given position and replacing calls to deprecateNode and deprecatedEditingOffset by calls to containerNode
67060         and offsetInContainer.
67061
67062         * accessibility/AccessibilityRenderObject.cpp:
67063         (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Calls indexForVisiblePosition.
67064         * editing/htmlediting.cpp: Removed enclosingTextFromControl.
67065         * editing/htmlediting.h: Removed enclosingTextFromControl.
67066         * html/HTMLTextFormControlElement.cpp:
67067         (WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Moved from RenderTextControl.
67068         (WebCore::HTMLTextFormControlElement::computeSelectionStart): Calls indexForVisiblePosition.
67069         (WebCore::HTMLTextFormControlElement::computeSelectionEnd): Calls indexForVisiblePosition.
67070         (WebCore::enclosingTextFormControl): Moved from htmlediting.cpp
67071         * html/HTMLTextFormControlElement.h:
67072         * rendering/RenderTextControl.cpp:
67073         * rendering/RenderTextControl.h:
67074
67075 2011-07-12  Julien Chaffraix  <jchaffraix@webkit.org>
67076
67077         Make RenderObject::containingBlock virtual for better speed and clarity
67078         https://bugs.webkit.org/show_bug.cgi?id=64318
67079
67080         Reviewed by Darin Adler.
67081
67082         No new tests, performance refactoring.
67083
67084         On some of my test cases, this method takes between 3 and 5% of the time spend.
67085         The method makes 2 calls to virtual methods which could be moved to their overriden
67086         version of containingBlock if we made it virtual.
67087
67088         That's what this patch does. It saves between 1 and 2% on some synthetic test cases
67089         as well as made the current method shorter.
67090
67091         * rendering/RenderObject.cpp:
67092         (WebCore::RenderObject::containingBlock): Removed code for RenderView and RenderTableCell,
67093         replaced by ASSERTs.
67094
67095         * rendering/RenderObject.h: Made containingBlock virtual.
67096
67097         * rendering/RenderTableCell.h:
67098         (WebCore::RenderTableCell::containingBlock):
67099         * rendering/RenderView.h:
67100         (WebCore::RenderView::containingBlock):
67101         The code moved from RenderObject is inlined in those 2 methods.
67102
67103 2011-07-12  James Robinson  <jamesr@chromium.org>
67104
67105         [chromium] Chromium win build fix.
67106
67107         * platform/graphics/chromium/FontChromiumWin.cpp:
67108         (WebCore::drawGlyphsWin):
67109
67110 2011-07-12  Pratik Solanki  <psolanki@apple.com>
67111
67112         Get webkit to compile with USE(CFNETWORK) enabled on Mac
67113         https://bugs.webkit.org/show_bug.cgi?id=63674
67114
67115         Reviewed by David Kilzer.
67116
67117         Changes to ResourceHandle class to get it to compile with USE(CFNETWORK).
67118
67119         No new tests because no change in functionality and option is not enabled on Mac.
67120
67121         * platform/network/ResourceHandle.h:
67122         * platform/network/ResourceHandleInternal.h:
67123         * platform/network/cf/ResourceHandleCFNet.cpp:
67124         (WebCore::didReceiveResponse):
67125         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
67126         (WebCore::ResourceHandle::start):
67127         (WebCore::WebCoreSynchronousLoaderClient::willSendRequest): Call adjustMIMETypeIfNecessary
67128         on Mac. Also port over fix for <rdar://problem/6901522> added in r43993 which forces the
67129         MIME type to text/html if the request is annotated with a "ForceHTMLMIMEType" property.
67130
67131 2011-07-12  James Robinson  <jamesr@chromium.org>
67132
67133         [chromium] Delete the unused legacy accelerated canvas 2d code
67134         https://bugs.webkit.org/show_bug.cgi?id=64214
67135
67136         Reviewed by Stephen White.
67137
67138         This removes the legacy accelerated canvas 2d path and support logic since we (chromium) are no longer using
67139         this codepath and it seems clear that no other port is interested.
67140
67141         Refactoring and removing unused code, so no new tests.
67142
67143         * WebCore.gypi:
67144         * WebCore.xcodeproj/project.pbxproj:
67145         * html/canvas/CanvasRenderingContext2D.cpp:
67146         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
67147         (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
67148         (WebCore::CanvasRenderingContext2D::didDraw):
67149         * html/canvas/CanvasRenderingContext2D.h:
67150         * loader/EmptyClients.h:
67151         * page/ChromeClient.h:
67152         * page/Page.cpp:
67153         (WebCore::Page::sharedGraphicsContext3D):
67154         * page/Page.h:
67155         * platform/graphics/GraphicsContext.cpp:
67156         (WebCore::GraphicsContext::setSharedGraphicsContext3D):
67157         (WebCore::GraphicsContext::syncSoftwareCanvas):
67158         * platform/graphics/GraphicsContext.h:
67159         * platform/graphics/GraphicsContext3D.h:
67160         * platform/graphics/chromium/DrawingBufferChromium.cpp:
67161         (WebCore::DrawingBuffer::setGrContext):
67162         * platform/graphics/chromium/FontLinux.cpp:
67163         (WebCore::Font::drawGlyphs):
67164         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
67165         (WebCore::pointInTriangle):
67166         * platform/graphics/gpu/BicubicShader.cpp: Removed.
67167         * platform/graphics/gpu/BicubicShader.h: Removed.
67168         * platform/graphics/gpu/ConvolutionShader.cpp: Removed.
67169         * platform/graphics/gpu/ConvolutionShader.h: Removed.
67170         * platform/graphics/gpu/GraphicsContextGPU.cpp: Removed.
67171         * platform/graphics/gpu/GraphicsContextGPU.h: Removed.
67172         * platform/graphics/gpu/SharedGraphicsContext3D.cpp: Removed.
67173         * platform/graphics/gpu/SharedGraphicsContext3D.h: Removed.
67174         * platform/graphics/gpu/SolidFillShader.cpp: Removed.
67175         * platform/graphics/gpu/SolidFillShader.h: Removed.
67176         * platform/graphics/gpu/TexShader.cpp: Removed.
67177         * platform/graphics/gpu/TexShader.h: Removed.
67178         * platform/graphics/skia/GraphicsContextSkia.cpp:
67179         (WebCore::GraphicsContext::savePlatformState):
67180         (WebCore::GraphicsContext::restorePlatformState):
67181         (WebCore::GraphicsContext::addInnerRoundedRectClip):
67182         (WebCore::GraphicsContext::clearRect):
67183         (WebCore::GraphicsContext::clip):
67184         (WebCore::GraphicsContext::canvasClip):
67185         (WebCore::GraphicsContext::clipOut):
67186         (WebCore::GraphicsContext::clipPath):
67187         (WebCore::GraphicsContext::concatCTM):
67188         (WebCore::GraphicsContext::setCTM):
67189         (WebCore::GraphicsContext::drawConvexPolygon):
67190         (WebCore::GraphicsContext::drawEllipse):
67191         (WebCore::GraphicsContext::drawFocusRing):
67192         (WebCore::GraphicsContext::drawLine):
67193         (WebCore::GraphicsContext::drawLineForTextChecking):
67194         (WebCore::GraphicsContext::drawLineForText):
67195         (WebCore::GraphicsContext::drawRect):
67196         (WebCore::GraphicsContext::fillPath):
67197         (WebCore::GraphicsContext::fillRect):
67198         (WebCore::GraphicsContext::fillRoundedRect):
67199         (WebCore::GraphicsContext::scale):
67200         (WebCore::GraphicsContext::setAlpha):
67201         (WebCore::GraphicsContext::setPlatformCompositeOperation):
67202         (WebCore::GraphicsContext::setPlatformFillColor):
67203         (WebCore::GraphicsContext::setPlatformShadow):
67204         (WebCore::GraphicsContext::strokeArc):
67205         (WebCore::GraphicsContext::strokePath):
67206         (WebCore::GraphicsContext::strokeRect):
67207         (WebCore::GraphicsContext::rotate):
67208         (WebCore::GraphicsContext::translate):
67209         (WebCore::GraphicsContext::setSharedGraphicsContext3D):
67210         (WebCore::GraphicsContext::syncSoftwareCanvas):
67211         * platform/graphics/skia/ImageBufferSkia.cpp:
67212         (WebCore::ImageBuffer::copyImage):
67213         (WebCore::ImageBuffer::draw):
67214         (WebCore::ImageBuffer::getUnmultipliedImageData):
67215         (WebCore::ImageBuffer::getPremultipliedImageData):
67216         (WebCore::ImageBuffer::putUnmultipliedImageData):
67217         (WebCore::ImageBuffer::putPremultipliedImageData):
67218         * platform/graphics/skia/ImageSkia.cpp:
67219         (WebCore::BitmapImage::draw):
67220         (WebCore::BitmapImageSingleFrameSkia::draw):
67221         * platform/graphics/skia/NativeImageSkia.cpp:
67222         (WebCore::NativeImageSkia::~NativeImageSkia):
67223         * platform/graphics/skia/PlatformContextSkia.cpp:
67224         (WebCore::PlatformContextSkia::PlatformContextSkia):
67225         (WebCore::PlatformContextSkia::~PlatformContextSkia):
67226         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
67227         (WebCore::PlatformContextSkia::makeGrContextCurrent):
67228         * platform/graphics/skia/PlatformContextSkia.h:
67229
67230 2011-07-12  Emil A Eklund  <eae@chromium.org>
67231
67232         Switch InlineFlowBox to to new layout types
67233         https://bugs.webkit.org/show_bug.cgi?id=64399
67234
67235         Reviewed by Eric Seidel.
67236
67237         First step in moving floats over to the new layout abstraction.
67238
67239         No new tests, no new functionality.
67240
67241         * rendering/InlineBox.cpp:
67242         (WebCore::InlineBox::logicalHeight):
67243         * rendering/InlineBox.h:
67244         (WebCore::InlineBox::logicalTop):
67245         (WebCore::InlineBox::logicalBottom):
67246         (WebCore::InlineBox::setLogicalTop):
67247         * rendering/InlineFlowBox.cpp:
67248         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
67249         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
67250         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
67251         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
67252         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
67253         (WebCore::InlineFlowBox::addReplacedChildOverflow):
67254         (WebCore::InlineFlowBox::constrainToLineTopAndBottomIfNeeded):
67255         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
67256         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
67257         * rendering/InlineFlowBox.h:
67258         * rendering/RenderBlock.cpp:
67259         (WebCore::RenderBlock::logicalRightSelectionGap):
67260         * rendering/RenderBlock.h:
67261         * rendering/RootInlineBox.cpp:
67262         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
67263         (WebCore::RootInlineBox::lineSelectionGap):
67264         (WebCore::RootInlineBox::ascentAndDescentForBox):
67265         (WebCore::RootInlineBox::verticalPositionForBox):
67266         * rendering/RootInlineBox.h:
67267         * rendering/style/RenderStyle.cpp:
67268         (WebCore::RenderStyle::getShadowExtent):
67269         (WebCore::RenderStyle::getShadowHorizontalExtent):
67270         (WebCore::RenderStyle::getShadowVerticalExtent):
67271         * rendering/style/RenderStyle.h:
67272         (WebCore::InheritedFlags::getTextShadowExtent):
67273         (WebCore::InheritedFlags::getTextShadowHorizontalExtent):
67274         (WebCore::InheritedFlags::getTextShadowVerticalExtent):
67275         (WebCore::InheritedFlags::getTextShadowInlineDirectionExtent):
67276         (WebCore::InheritedFlags::getTextShadowBlockDirectionExtent):
67277         (WebCore::InheritedFlags::getBoxShadowExtent):
67278         (WebCore::InheritedFlags::getBoxShadowHorizontalExtent):
67279         (WebCore::InheritedFlags::getBoxShadowVerticalExtent):
67280         (WebCore::InheritedFlags::getBoxShadowInlineDirectionExtent):
67281         (WebCore::InheritedFlags::getBoxShadowBlockDirectionExtent):
67282         (WebCore::InheritedFlags::getShadowInlineDirectionExtent):
67283         (WebCore::InheritedFlags::getShadowBlockDirectionExtent):
67284         * rendering/style/ShadowData.cpp:
67285         (WebCore::calculateShadowExtent):
67286         (WebCore::ShadowData::adjustRectForShadow):
67287         * rendering/style/ShadowData.h:
67288         (WebCore::ShadowData::ShadowData):
67289         (WebCore::ShadowData::x):
67290         (WebCore::ShadowData::y):
67291
67292 2011-07-12  Kenichi Ishibashi  <bashi@chromium.org>
67293
67294         [Chromium] SVG text is not rendered sometimes with geometricPrecision
67295         https://bugs.webkit.org/show_bug.cgi?id=64341
67296
67297         Changing the type of x and y offsets of ComplexTextControllerLinux to make it possible to treat negative offsets.
67298
67299         Reviewed by Tony Chang.
67300
67301         Test: platform/chromium-linux/svg/text/text-with-geometric-precision.svg
67302
67303         * platform/graphics/chromium/ComplexTextControllerLinux.cpp: Changed the type of m_offsetX and m_startingY from unsigned to int.
67304         (WebCore::ComplexTextController::ComplexTextController): Changed the type of the argument.
67305         (WebCore::ComplexTextController::reset): Ditto.
67306         * platform/graphics/chromium/ComplexTextControllerLinux.h:
67307
67308 2011-07-12  Alexandru Chiculita  <achicu@adobe.com>
67309
67310         Reviewed by David Hyatt.
67311
67312         [CSS Exclusions] Parse wrap-shape property
67313         https://bugs.webkit.org/show_bug.cgi?id=61726
67314
67315         Parsing wrap-shape: rect, circle, ellipse and polygon.
67316         Moved WindRule from Path.h to it's own file.
67317
67318         Test: fast/exclusions/parsing-wrap-shape.html
67319
67320         * WebCore.vcproj/WebCore.vcproj:
67321         * WebCore.xcodeproj/project.pbxproj:
67322         * css/CSSComputedStyleDeclaration.cpp:
67323         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
67324         * css/CSSParser.cpp:
67325         (WebCore::CSSParser::parseValue):
67326         (WebCore::CSSParser::parseWrapShapeRect):
67327         (WebCore::CSSParser::parseWrapShapeCircle):
67328         (WebCore::CSSParser::parseWrapShapeEllipse):
67329         (WebCore::CSSParser::parseWrapShapePolygon):
67330         (WebCore::CSSParser::parseWrapShape):
67331         * css/CSSParser.h:
67332         * css/CSSPrimitiveValue.cpp:
67333         (WebCore::CSSPrimitiveValue::init):
67334         (WebCore::CSSPrimitiveValue::cleanup):
67335         (WebCore::CSSPrimitiveValue::cssText):
67336         * css/CSSPrimitiveValue.h:
67337         (WebCore::CSSPrimitiveValue::getShapeValue):
67338         * css/CSSPropertyNames.in:
67339         * css/CSSStyleSelector.cpp:
67340         (WebCore::CSSStyleSelector::applyProperty):
67341         * css/CSSValueKeywords.in:
67342         * css/CSSWrapShapes.cpp: Added.
67343         (WebCore::CSSWrapShapeRect::cssText):
67344         (WebCore::CSSWrapShapeCircle::cssText):
67345         (WebCore::CSSWrapShapeEllipse::cssText):
67346         (WebCore::CSSWrapShapePolygon::cssText):
67347         * css/CSSWrapShapes.h: Added.
67348         (WebCore::CSSWrapShape::~CSSWrapShape):
67349         (WebCore::CSSWrapShape::CSSWrapShape):
67350         (WebCore::CSSWrapShapeRect::create):
67351         (WebCore::CSSWrapShapeRect::left):
67352         (WebCore::CSSWrapShapeRect::top):
67353         (WebCore::CSSWrapShapeRect::width):
67354         (WebCore::CSSWrapShapeRect::height):
67355         (WebCore::CSSWrapShapeRect::radiusX):
67356         (WebCore::CSSWrapShapeRect::radiusY):
67357         (WebCore::CSSWrapShapeRect::setLeft):
67358         (WebCore::CSSWrapShapeRect::setTop):
67359         (WebCore::CSSWrapShapeRect::setWidth):
67360         (WebCore::CSSWrapShapeRect::setHeight):
67361         (WebCore::CSSWrapShapeRect::setRadiusX):
67362         (WebCore::CSSWrapShapeRect::setRadiusY):
67363         (WebCore::CSSWrapShapeRect::type):
67364         (WebCore::CSSWrapShapeRect::CSSWrapShapeRect):
67365         (WebCore::CSSWrapShapeCircle::create):
67366         (WebCore::CSSWrapShapeCircle::left):
67367         (WebCore::CSSWrapShapeCircle::top):
67368         (WebCore::CSSWrapShapeCircle::radius):
67369         (WebCore::CSSWrapShapeCircle::setLeft):
67370         (WebCore::CSSWrapShapeCircle::setTop):
67371         (WebCore::CSSWrapShapeCircle::setRadius):
67372         (WebCore::CSSWrapShapeCircle::type):
67373         (WebCore::CSSWrapShapeCircle::CSSWrapShapeCircle):
67374         (WebCore::CSSWrapShapeEllipse::create):
67375         (WebCore::CSSWrapShapeEllipse::left):
67376         (WebCore::CSSWrapShapeEllipse::top):
67377         (WebCore::CSSWrapShapeEllipse::radiusX):
67378         (WebCore::CSSWrapShapeEllipse::radiusY):
67379         (WebCore::CSSWrapShapeEllipse::setLeft):
67380         (WebCore::CSSWrapShapeEllipse::setTop):
67381         (WebCore::CSSWrapShapeEllipse::setRadiusX):
67382         (WebCore::CSSWrapShapeEllipse::setRadiusY):
67383         (WebCore::CSSWrapShapeEllipse::type):
67384         (WebCore::CSSWrapShapeEllipse::CSSWrapShapeEllipse):
67385         (WebCore::CSSWrapShapePolygon::create):
67386         (WebCore::CSSWrapShapePolygon::appendPoint):
67387         (WebCore::CSSWrapShapePolygon::getXAt):
67388         (WebCore::CSSWrapShapePolygon::getYAt):
67389         (WebCore::CSSWrapShapePolygon::setWindRule):
67390         (WebCore::CSSWrapShapePolygon::windRule):
67391         (WebCore::CSSWrapShapePolygon::type):
67392         (WebCore::CSSWrapShapePolygon::CSSWrapShapePolygon):
67393         * css/SVGCSSValueKeywords.in:
67394         * platform/graphics/Path.h:
67395         * platform/graphics/WindRule.h: Added.
67396         * rendering/style/RenderStyle.cpp:
67397         (WebCore::RenderStyle::diff):
67398         * rendering/style/RenderStyle.h:
67399         (WebCore::InheritedFlags::setWrapShape):
67400         (WebCore::InheritedFlags::wrapShape):
67401         (WebCore::InheritedFlags::initialWrapShape):
67402         * rendering/style/StyleRareNonInheritedData.cpp:
67403         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
67404         (WebCore::StyleRareNonInheritedData::operator==):
67405         * rendering/style/StyleRareNonInheritedData.h:
67406
67407 2011-07-12  Simon Fraser  <simon.fraser@apple.com>
67408
67409         Clean up some RenderLayerCompositor code relating to scroll and root layers
67410         https://bugs.webkit.org/show_bug.cgi?id=64400
67411
67412         Reviewed by James Robinson.
67413
67414         There was no need for FrameView::syncCompositingStateForThisFrame()
67415         to call syncCompositingStateForThisLayerOnly() on the various
67416         scrollbar-related layers, because the subsequent call to 
67417         compositor()->flushPendingLayerChanges() starts to flush at
67418         m_overflowControlsHostLayer if one exists, and it's an ancestor
67419         of the scrollbar layers.
67420         
67421         Also clean up terminology in RenderLayerCompositor.
67422             m_rootPlatformLayer -> m_rootContentLayer
67423             rootPlatformLayer() -> rootGraphicsLayer()
67424         
67425         No behavior change, so no new tests.
67426         
67427         * page/FrameView.cpp:
67428         (WebCore::FrameView::syncCompositingStateForThisFrame):
67429         * rendering/RenderLayerCompositor.cpp:
67430         (WebCore::RenderLayerCompositor::enableCompositingMode):
67431         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
67432         (WebCore::RenderLayerCompositor::updateCompositingLayers):
67433         (WebCore::RenderLayerCompositor::layerTreeAsText):
67434         (WebCore::RenderLayerCompositor::parentFrameContentLayers):
67435         (WebCore::RenderLayerCompositor::rootGraphicsLayer):
67436         (WebCore::RenderLayerCompositor::didMoveOnscreen):
67437         (WebCore::RenderLayerCompositor::willMoveOffscreen):
67438         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
67439         (WebCore::RenderLayerCompositor::ensureRootLayer):
67440         (WebCore::RenderLayerCompositor::destroyRootLayer):
67441         (WebCore::RenderLayerCompositor::attachRootLayer):
67442         (WebCore::RenderLayerCompositor::detachRootLayer):
67443         (WebCore::RenderLayerCompositor::updateRootLayerAttachment):
67444         * rendering/RenderLayerCompositor.h:
67445
67446 2011-07-12  Sheriff Bot  <webkit.review.bot@gmail.com>
67447
67448         Unreviewed, rolling out r90842.
67449         http://trac.webkit.org/changeset/90842
67450         https://bugs.webkit.org/show_bug.cgi?id=64401
67451
67452         Causes crash in debug on compositing/overflow/content-gains-
67453         scrollbars.html (Requested by jamesr on #webkit).
67454
67455         * WebCore.gypi:
67456         * platform/graphics/chromium/ContentLayerChromium.cpp:
67457         (WebCore::ContentLayerChromium::ContentLayerChromium):
67458         (WebCore::ContentLayerChromium::paintContentsIfDirty):
67459         (WebCore::ContentLayerChromium::cleanupResources):
67460         (WebCore::ContentLayerChromium::setLayerRenderer):
67461         (WebCore::ContentLayerChromium::tilingTransform):
67462         (WebCore::ContentLayerChromium::contentBounds):
67463         (WebCore::ContentLayerChromium::updateLayerSize):
67464         (WebCore::ContentLayerChromium::draw):
67465         (WebCore::ContentLayerChromium::drawsContent):
67466         (WebCore::ContentLayerChromium::createTilerIfNeeded):
67467         (WebCore::ContentLayerChromium::updateCompositorResources):
67468         (WebCore::ContentLayerChromium::setTilingOption):
67469         (WebCore::ContentLayerChromium::bindContentsTexture):
67470         (WebCore::ContentLayerChromium::setIsMask):
67471         (WebCore::writeIndent):
67472         (WebCore::ContentLayerChromium::dumpLayerProperties):
67473         * platform/graphics/chromium/ContentLayerChromium.h:
67474         * platform/graphics/chromium/ImageLayerChromium.cpp:
67475         (WebCore::ImageLayerChromium::ImageLayerChromium):
67476         (WebCore::ImageLayerChromium::paintContentsIfDirty):
67477         (WebCore::ImageLayerChromium::updateCompositorResources):
67478         (WebCore::ImageLayerChromium::contentBounds):
67479         * platform/graphics/chromium/ImageLayerChromium.h:
67480         (WebCore::ImageLayerChromium::drawsContent):
67481         * platform/graphics/chromium/LayerChromium.cpp:
67482         (WebCore::LayerChromium::pushPropertiesTo):
67483         (WebCore::LayerChromium::ccLayerImpl):
67484         * platform/graphics/chromium/LayerChromium.h:
67485         (WebCore::LayerChromium::draw):
67486         * platform/graphics/chromium/LayerRendererChromium.cpp:
67487         (WebCore::LayerRendererChromium::drawRootLayer):
67488         * platform/graphics/chromium/LayerTilerChromium.cpp:
67489         (WebCore::LayerTilerChromium::updateRect):
67490         (WebCore::LayerTilerChromium::draw):
67491         (WebCore::LayerTilerChromium::drawTiles):
67492         * platform/graphics/chromium/LayerTilerChromium.h:
67493         * platform/graphics/chromium/TiledLayerChromium.cpp: Removed.
67494         * platform/graphics/chromium/TiledLayerChromium.h: Removed.
67495         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
67496         (WebCore::CCLayerImpl::drawsContent):
67497         (WebCore::CCLayerImpl::draw):
67498         * platform/graphics/chromium/cc/CCLayerImpl.h:
67499         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Removed.
67500         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Removed.
67501
67502 2011-07-12  Joseph Pecoraro  <joepeck@webkit.org>
67503
67504         ApplicationCache update should not immediately fail when reaching per-origin quota
67505         https://bugs.webkit.org/show_bug.cgi?id=64177
67506
67507         Reviewed by Alexey Proskuryakov.
67508
67509         New behavior of handling ApplicationCache per-origin quotas. Previously,
67510         if the quota was reached while downloading we would fail the download
67511         and then prompt the user for a storage increase. This required a refresh,
67512         a redownload of resources, and the total storage was not known so the
67513         process could be repeated multiple times before an acceptable quota
67514         was found or the user disallowed an increase.
67515         
67516         The new behavior is to complete the download of the entire appcache.
67517         When the cache completes downloading and it is greater than the origin
67518         quota, prompt the user to allow a quota increase with the known space
67519         needed. If the quota is increased, the cache will succeed, otherwise
67520         it will fail with the normal failure steps.
67521
67522         An alternative behavior is prompting while downloading immediately
67523         when the origin quota is reached, however at that point the entire
67524         space needed is unknown and so quota increases might not be enough
67525         and could result in multiple prompts to the user.
67526
67527         Tests: http/tests/appcache/origin-quota-continued-download-multiple-manifests.html
67528                http/tests/appcache/origin-quota-continued-download.html
67529
67530         * loader/appcache/ApplicationCacheGroup.h:
67531         * loader/appcache/ApplicationCacheGroup.cpp:
67532         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
67533         Rename instance variable to be more clear on its intent.
67534
67535         (WebCore::ApplicationCacheGroup::didFinishLoading):
67536         Check the quota limit while downloading so we can fail early
67537         if the user already denied a quota increase.
67538
67539         (WebCore::ApplicationCacheGroup::didReachOriginQuota):
67540         Pass the space needed information to the chrome client.
67541
67542         (WebCore::ApplicationCacheGroup::cacheUpdateFailedDueToOriginQuota):
67543         Removed. Instead convert the callers to update state and console
67544         log when the per-origin quota is reached. This allows us to follow
67545         the normal failure steps if the quota is reached at the end of a
67546         download, and the alternative short path when we fail during downloading.
67547
67548         (WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota):
67549         Extract to a helper function.
67550
67551         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
67552         Allow for a quota increase at the end of the download now that
67553         we know the space needed. Then proceed to fail or succeed
67554         as we normally would.
67555
67556         * loader/appcache/ApplicationCacheStorage.h:
67557         * loader/appcache/ApplicationCacheStorage.cpp:
67558         (WebCore::ApplicationCacheStorage::checkOriginQuota):
67559         (WebCore::ApplicationCacheStorage::storeNewestCache):
67560         Extract checking the origin quota for when an ApplicationCacheGroup
67561         will be replacing an ApplicationCacheGroup into a helper function.
67562         The helper also provides an out parameter for the space needed
67563         to properly fit the new cache group if it wouldn't fit.
67564
67565         * page/ChromeClient.h:
67566         * loader/EmptyClients.h:
67567         (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
67568         Add a space needed parameter when reaching the per-origin quota.
67569
67570 2011-07-12  Chris Rogers  <crogers@google.com>
67571
67572         AudioDevice::Stop can close NULL handle.
67573         https://bugs.webkit.org/show_bug.cgi?id=64157
67574
67575         Reviewed by Kenneth Russell.
67576
67577         No new tests since audio API is not yet implemented.
67578
67579         * bindings/js/JSAudioContextCustom.cpp:
67580         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
67581         * bindings/v8/custom/V8AudioContextCustom.cpp:
67582         (WebCore::V8AudioContext::constructorCallback):
67583         * webaudio/AudioContext.cpp:
67584         (WebCore::AudioContext::create):
67585         (WebCore::AudioContext::uninitialize):
67586         * webaudio/AudioContext.h:
67587
67588 2011-07-12  John Bates  <jbates@google.com>
67589
67590         Move call to syncCompositingLayers so that we do not trigger redundant draws.
67591         https://bugs.webkit.org/show_bug.cgi?id=64224
67592
67593         doComposite was triggering two composites every time a canvas was dirtied.
67594         By moving syncCompositingLayers call to layout, the client code can draw without triggering
67595         a redundant frame. Also renamed WebViewImpl::updateLayers to
67596         syncCompositingLayers, because it was confusing. CCLayerTreeHostImplProxy::updateLayers was
67597         no longer needed, because animateAndLayout calls WebViewImpl::layout.
67598
67599         Reviewed by James Robinson.
67600
67601         * platform/graphics/chromium/LayerRendererChromium.cpp:
67602         (WebCore::LayerRendererChromium::updateLayers):
67603         * platform/graphics/chromium/LayerRendererChromium.h:
67604         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
67605         (WebCore::CCLayerTreeHost::syncCompositingLayers):
67606         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
67607         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
67608         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommit):
67609
67610 2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>
67611
67612         Isolate HTMLTextFormControlElement into a separate file
67613         https://bugs.webkit.org/show_bug.cgi?id=64381
67614
67615         Reviewed by Dimitri Glazkov.
67616
67617         Extracted HTMLTextFormControlElement.h and HTMLTextFormControlElement.cpp out of
67618         HTMLFormControlElement.h and HTMLFormControlElement.cpp.
67619
67620         Also moved defaultEventHandler from HTMLFormControlElementWithState to HTMLTextFormControlElement
67621         because it was specific to HTMLTextFormControlElement, and replaced all references to
67622         HTMLFormControlElementWithState in HTMLInputElement and HTMLTextAreaElement by ones to
67623         HTMLTextFormControlElement.
67624
67625         * CMakeLists.txt:
67626         * GNUmakefile.list.am:
67627         * WebCore.gypi:
67628         * WebCore.pro:
67629         * WebCore.vcproj/WebCore.vcproj:
67630         * WebCore.xcodeproj/project.pbxproj:
67631         * editing/TextIterator.cpp:
67632         * editing/htmlediting.cpp:
67633         * html/HTMLElementsAllInOne.cpp:
67634         * html/HTMLFormControlElement.cpp:
67635         (WebCore::HTMLFormControlElement::isFocusable):
67636         * html/HTMLFormControlElement.h:
67637         * html/HTMLInputElement.cpp:
67638         (WebCore::HTMLInputElement::isKeyboardFocusable):
67639         (WebCore::HTMLInputElement::isMouseFocusable):
67640         (WebCore::HTMLInputElement::updateFocusAppearance):
67641         (WebCore::HTMLInputElement::canStartSelection):
67642         (WebCore::HTMLInputElement::parseMappedAttribute):
67643         (WebCore::HTMLInputElement::finishParsingChildren):
67644         (WebCore::HTMLInputElement::rendererIsNeeded):
67645         (WebCore::HTMLInputElement::attach):
67646         (WebCore::HTMLInputElement::detach):
67647         (WebCore::HTMLInputElement::copyNonAttributeProperties):
67648         (WebCore::HTMLInputElement::defaultEventHandler):
67649         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
67650         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
67651         (WebCore::HTMLInputElement::addSubresourceAttributeURLs):
67652         (WebCore::HTMLInputElement::recalcWillValidate):
67653         * html/HTMLInputElement.h:
67654         * html/HTMLTextAreaElement.cpp:
67655         (WebCore::HTMLTextAreaElement::defaultEventHandler):
67656         * html/HTMLTextAreaElement.h:
67657         * html/HTMLTextFormControlElement.cpp: Copied from Source/WebCore/html/HTMLFormControlElement.cpp.
67658         (WebCore::HTMLTextFormControlElement::defaultEventHandler):
67659         * html/HTMLTextFormControlElement.h: Copied from Source/WebCore/html/HTMLFormControlElement.h.
67660
67661 2011-07-12  Sheriff Bot  <webkit.review.bot@gmail.com>
67662
67663         Unreviewed, rolling out r90831.
67664         http://trac.webkit.org/changeset/90831
67665         https://bugs.webkit.org/show_bug.cgi?id=64389
67666
67667         Likely caused fast/canvas/DrawImageSinglePixelStretch.html to
67668         start timing out on the chromium GPU bots (Requested by ojan
67669         on #webkit).
67670
67671         * platform/graphics/skia/ImageBufferSkia.cpp:
67672         (WebCore::getImageData):
67673         (WebCore::putImageData):
67674
67675 2011-07-12  James Robinson  <jamesr@chromium.org>
67676
67677         Reviewed by Kenneth Russell.
67678
67679         [chromium] Move draw implementation for ContentLayerChromium/ImageLayerChromium to the appropriate CCLayerImpl subclass
67680         https://bugs.webkit.org/show_bug.cgi?id=58833
67681
67682         Adds a TiledLayerChromium class to handle the tiling logic shared by ContentLayerChromium and ImageLayerChromium
67683         so that they can be siblings in the class hierarchy instead of children. Also adds a CCTiledLayerImpl to handle
67684         the drawing responsibilities for tiled layers.
67685
67686         TiledLayerChromium maintains a tiler, tiling options, and calculates the tiling transform. Subclasses are
67687         responsible for providing an appropriate texture updater implementation. CCTiledLayerImpl takes the tiler,
67688         tiling transform and layer properties and draws the layer.  Longer term it'd be better of the CCTiledLayerImpl
67689         owned the tiler and the TiledLayerChromium only owned an updater, but getting there will require changing the
67690         way tile eviction works.
67691
67692         * WebCore.gypi:
67693         * platform/graphics/chromium/ContentLayerChromium.cpp:
67694         (WebCore::ContentLayerChromium::ContentLayerChromium):
67695         (WebCore::ContentLayerChromium::paintContentsIfDirty):
67696         (WebCore::ContentLayerChromium::drawsContent):
67697         * platform/graphics/chromium/ContentLayerChromium.h:
67698         (WebCore::ContentLayerChromium::textureUpdater):
67699         * platform/graphics/chromium/ImageLayerChromium.cpp:
67700         (WebCore::ImageLayerChromium::ImageLayerChromium):
67701         (WebCore::ImageLayerChromium::cleanupResources):
67702         (WebCore::ImageLayerChromium::paintContentsIfDirty):
67703         (WebCore::ImageLayerChromium::textureUpdater):
67704         (WebCore::ImageLayerChromium::contentBounds):
67705         (WebCore::ImageLayerChromium::drawsContent):
67706         (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
67707         * platform/graphics/chromium/ImageLayerChromium.h:
67708         * platform/graphics/chromium/LayerChromium.cpp:
67709         (WebCore::LayerChromium::pushPropertiesTo):
67710         (WebCore::LayerChromium::ccLayerImpl):
67711         * platform/graphics/chromium/LayerChromium.h:
67712         (WebCore::LayerChromium::contentBounds):
67713         * platform/graphics/chromium/LayerRendererChromium.cpp:
67714         (WebCore::LayerRendererChromium::drawRootLayer):
67715         (WebCore::visibleLayerRect):
67716         (WebCore::paintLayerContentsIfDirty):
67717         (WebCore::LayerRendererChromium::paintLayerContents):
67718         (WebCore::LayerRendererChromium::drawLayer):
67719         * platform/graphics/chromium/LayerTilerChromium.cpp:
67720         (WebCore::LayerTilerChromium::updateRect):
67721         (WebCore::LayerTilerChromium::draw):
67722         (WebCore::LayerTilerChromium::drawTiles):
67723         * platform/graphics/chromium/LayerTilerChromium.h:
67724         * platform/graphics/chromium/TiledLayerChromium.cpp: Added.
67725         (WebCore::TiledLayerChromium::TiledLayerChromium):
67726         (WebCore::TiledLayerChromium::~TiledLayerChromium):
67727         (WebCore::TiledLayerChromium::createCCLayerImpl):
67728         (WebCore::TiledLayerChromium::cleanupResources):
67729         (WebCore::TiledLayerChromium::setLayerRenderer):
67730         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
67731         (WebCore::TiledLayerChromium::drawsContent):
67732         (WebCore::TiledLayerChromium::createTilerIfNeeded):
67733         (WebCore::TiledLayerChromium::updateCompositorResources):
67734         (WebCore::TiledLayerChromium::setTilingOption):
67735         (WebCore::TiledLayerChromium::setIsMask):
67736         (WebCore::TiledLayerChromium::tilingTransform):
67737         (WebCore::TiledLayerChromium::pushPropertiesTo):
67738         (WebCore::writeIndent):
67739         (WebCore::TiledLayerChromium::dumpLayerProperties):
67740         * platform/graphics/chromium/TiledLayerChromium.h: Copied from Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h.
67741         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
67742         (WebCore::CCLayerImpl::draw):
67743         * platform/graphics/chromium/cc/CCLayerImpl.h:
67744         (WebCore::CCLayerImpl::setDrawsContent):
67745         (WebCore::CCLayerImpl::drawsContent):
67746         (WebCore::CCLayerImpl::contentBounds):
67747         (WebCore::CCLayerImpl::setContentBounds):
67748         (WebCore::CCLayerImpl::doubleSided):
67749         (WebCore::CCLayerImpl::setDoubleSided):
67750         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Added.
67751         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
67752         (WebCore::CCTiledLayerImpl::~CCTiledLayerImpl):
67753         (WebCore::CCTiledLayerImpl::draw):
67754         (WebCore::CCTiledLayerImpl::bindContentsTexture):
67755         (WebCore::CCTiledLayerImpl::dumpLayerProperties):
67756         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Added.
67757         (WebCore::CCTiledLayerImpl::create):
67758         (WebCore::CCTiledLayerImpl::setTilingTransform):
67759         (WebCore::CCTiledLayerImpl::setTiler):
67760
67761 2011-07-12  Arno Renevier  <arno@renevier.net>
67762
67763         [GTK] DOM bindings do not have gir annotations
67764         https://bugs.webkit.org/show_bug.cgi?id=45395
67765
67766         Reviewed by Xan Lopez.
67767
67768         * bindings/scripts/CodeGeneratorGObject.pm: generate introspection annotations.
67769         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: update for new output.
67770         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: ditto.
67771         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h: ditto.
67772
67773 2011-07-12  Chris Rogers  <crogers@google.com>
67774
67775         webkitAudioContext does not do proper sanity checking on its arguments.
67776         https://bugs.webkit.org/show_bug.cgi?id=64076
67777
67778         Reviewed by Kenneth Russell.
67779
67780         No new tests since audio API is not yet implemented.
67781
67782         * bindings/js/JSAudioContextCustom.cpp:
67783         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
67784         (WebCore::JSAudioContext::createBuffer):
67785         * bindings/v8/custom/V8AudioContextCustom.cpp:
67786         (WebCore::V8AudioContext::constructorCallback):
67787         (WebCore::V8AudioContext::createBufferCallback):
67788         * platform/audio/HRTFDatabaseLoader.h:
67789         (WebCore::HRTFDatabaseLoader::databaseSampleRate):
67790         * webaudio/AudioContext.cpp:
67791         (WebCore::AudioContext::create):
67792         (WebCore::AudioContext::createOfflineContext):
67793         (WebCore::AudioContext::createBuffer):
67794         * webaudio/AudioContext.h:
67795
67796 2011-07-12  Pratik Solanki  <psolanki@apple.com>
67797
67798         Implement didReceiveDataArray callback for CFNetwork based loader
67799         https://bugs.webkit.org/show_bug.cgi?id=64130
67800
67801         Reviewed by David Kilzer.
67802
67803         Factor out the didReceiveDataArray code from ResourceHandleMac.mm into
67804         a new method ResourceHandle::handleDataArray(). Implement the callback
67805         in the CFNetwork loader code and call handleDataArray() to process
67806         incoming data.
67807
67808         No new tests because the flag is not enabled for any bots.
67809
67810         * platform/network/ResourceHandle.h:
67811         * platform/network/cf/ResourceHandleCFNet.cpp:
67812         (WebCore::didReceiveDataArray):
67813         (WebCore::ResourceHandle::createCFURLConnection):
67814         (WebCore::ResourceHandle::handleDataArray):
67815         * platform/network/mac/ResourceHandleMac.mm:
67816         (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]):
67817
67818 2011-07-12  Emil A Eklund  <eae@chromium.org>
67819
67820         Switch preferred width/height and columns to to new layout types
67821         https://bugs.webkit.org/show_bug.cgi?id=64329
67822
67823         Reviewed by Eric Seidel.
67824
67825         No new tests, no new functionality.
67826
67827         * rendering/LayoutTypes.h:
67828         (WebCore::ceiledLayoutUnit):
67829         Add ceiledLayoutUnit to go with the floored version.
67830         
67831         * rendering/RenderBlock.cpp:
67832         (WebCore::RenderBlock::adjustRectForColumns):
67833         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
67834         (WebCore::RenderBlock::adjustStartEdgeForWritingModeIncludingColumns):
67835         Rename rect version of flipForWritingModeIncludingColumns to
67836         adjustStartEdgeForWritingModeIncludingColumns as it adjust the start edge
67837         and does not flip the rect.
67838        
67839         (WebCore::RenderBlock::adjustForColumns):
67840         (WebCore::updatePreferredWidth):
67841         * rendering/RenderBlock.h:
67842         * rendering/RenderBox.cpp:
67843         (WebCore::RenderBox::minPreferredLogicalWidth):
67844         (WebCore::RenderBox::maxPreferredLogicalWidth):
67845         (WebCore::RenderBox::offsetFromContainer):
67846         (WebCore::RenderBox::computePercentageLogicalHeight):
67847         (WebCore::RenderBox::flipForWritingMode):
67848         (WebCore::RenderBox::flipForWritingModeIncludingColumns):
67849         * rendering/RenderBox.h:
67850         * rendering/RenderListBox.cpp:
67851         (WebCore::RenderListBox::itemBoundingBoxRect):
67852         * rendering/RenderListBox.h:
67853         * rendering/RenderObject.h:
67854         (WebCore::RenderObject::minPreferredLogicalWidth):
67855         (WebCore::RenderObject::maxPreferredLogicalWidth):
67856         (WebCore::RenderObject::adjustForColumns):
67857         * rendering/RenderReplaced.cpp:
67858         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
67859         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
67860         * rendering/TableLayout.h:
67861
67862 2011-07-12  Levi Weintraub  <leviw@chromium.org>
67863
67864         Change roundedIntRect to roundedRect
67865         https://bugs.webkit.org/show_bug.cgi?id=64326
67866
67867         Reviewed by Eric Seidel.
67868
67869         Renaming RoundedIntRect to RoundedRect and moving the underlying type to Layout units from
67870         integer-based versions.
67871
67872         No new tests, no new functionality
67873
67874         * WebCore.gypi:
67875         * WebCore.pro:
67876         * WebCore.vcproj/WebCore.vcproj:
67877         * WebCore.xcodeproj/project.pbxproj:
67878         * platform/graphics/GraphicsContext.cpp:
67879         (WebCore::GraphicsContext::addRoundedRectClip):
67880         (WebCore::GraphicsContext::clipOutRoundedRect):
67881         (WebCore::GraphicsContext::fillRoundedRect):
67882         (WebCore::GraphicsContext::fillRectWithRoundedHole):
67883         * platform/graphics/GraphicsContext.h:
67884         * platform/graphics/Path.cpp:
67885         (WebCore::Path::addRoundedRect):
67886         * platform/graphics/Path.h:
67887         * platform/graphics/RoundedIntRect.cpp: Removed.
67888         * platform/graphics/RoundedIntRect.h: Removed.
67889         * platform/graphics/RoundedRect.cpp: Copied from Source/WebCore/platform/graphics/RoundedIntRect.cpp.
67890         (WebCore::RoundedRect::Radii::isZero):
67891         (WebCore::RoundedRect::Radii::scale):
67892         (WebCore::RoundedRect::Radii::expand):
67893         (WebCore::RoundedRect::inflateWithRadii):
67894         (WebCore::RoundedRect::Radii::includeLogicalEdges):
67895         (WebCore::RoundedRect::Radii::excludeLogicalEdges):
67896         (WebCore::RoundedRect::RoundedRect):
67897         (WebCore::RoundedRect::includeLogicalEdges):
67898         (WebCore::RoundedRect::excludeLogicalEdges):
67899         (WebCore::RoundedRect::isRenderable):
67900         * platform/graphics/RoundedRect.h: Copied from Source/WebCore/platform/graphics/RoundedIntRect.h.
67901         (WebCore::RoundedRect::Radii::Radii):
67902         (WebCore::RoundedRect::Radii::setTopLeft):
67903         (WebCore::RoundedRect::Radii::setTopRight):
67904         (WebCore::RoundedRect::Radii::setBottomLeft):
67905         (WebCore::RoundedRect::Radii::setBottomRight):
67906         (WebCore::RoundedRect::Radii::topLeft):
67907         (WebCore::RoundedRect::Radii::topRight):
67908         (WebCore::RoundedRect::Radii::bottomLeft):
67909         (WebCore::RoundedRect::Radii::bottomRight):
67910         (WebCore::RoundedRect::Radii::expand):
67911         (WebCore::RoundedRect::Radii::shrink):
67912         (WebCore::RoundedRect::rect):
67913         (WebCore::RoundedRect::setRect):
67914         (WebCore::RoundedRect::move):
67915         (WebCore::RoundedRect::inflate):
67916         (WebCore::RoundedRect::expandRadii):
67917         (WebCore::RoundedRect::shrinkRadii):
67918         (WebCore::operator==):
67919         * platform/graphics/ShadowBlur.cpp:
67920         (WebCore::ScratchBuffer::setLastShadowValues):
67921         (WebCore::ScratchBuffer::setLastInsetShadowValues):
67922         (WebCore::ScratchBuffer::matchesLastShadow):
67923         (WebCore::ScratchBuffer::matchesLastInsetShadow):
67924         (WebCore::computeSliceSizesFromRadii):
67925         (WebCore::ShadowBlur::templateSize):
67926         (WebCore::ShadowBlur::drawRectShadow):
67927         (WebCore::ShadowBlur::drawInsetShadow):
67928         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
67929         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
67930         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
67931         (WebCore::ShadowBlur::drawRectShadowWithTiling):
67932         (WebCore::ShadowBlur::drawLayerPieces):
67933         * platform/graphics/ShadowBlur.h:
67934         * platform/graphics/cg/GraphicsContextCG.cpp:
67935         (WebCore::GraphicsContext::fillRect):
67936         (WebCore::GraphicsContext::fillRoundedRect):
67937         (WebCore::GraphicsContext::fillRectWithRoundedHole):
67938         * rendering/RenderBox.cpp:
67939         (WebCore::RenderBox::paintBoxDecorations):
67940         * rendering/RenderBoxModelObject.cpp:
67941         (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
67942         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
67943         (WebCore::RenderBoxModelObject::paintOneBorderSide):
67944         (WebCore::RenderBoxModelObject::paintBorderSides):
67945         (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
67946         (WebCore::RenderBoxModelObject::paintBorder):
67947         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
67948         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
67949         (WebCore::RenderBoxModelObject::paintBoxShadow):
67950         * rendering/RenderBoxModelObject.h:
67951         * rendering/RenderThemeMac.mm:
67952         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
67953         (WebCore::RenderThemeMac::paintSliderTrack):
67954         * rendering/style/RenderStyle.cpp:
67955         (WebCore::calcRadiiFor):
67956         (WebCore::calcConstraintScaleFor):
67957         (WebCore::RenderStyle::getRoundedBorderFor):
67958         (WebCore::RenderStyle::getRoundedInnerBorderFor):
67959         * rendering/style/RenderStyle.h:
67960
67961 2011-07-12  Mike Reed  <reed@google.com>
67962
67963         [skia] optimize getImageData to avoid a copy when not needed. lockPixels() now does the right thing.
67964         https://bugs.webkit.org/show_bug.cgi?id=64302
67965
67966         Reviewed by Stephen White.
67967
67968         No new tests. Just an optimization for getImageData(), existing <canvas> tests apply
67969
67970         * platform/graphics/skia/ImageBufferSkia.cpp:
67971         (WebCore::getImageData):
67972         (WebCore::putImageData):
67973
67974 2011-07-12  Pavel Feldman  <pfeldman@google.com>
67975
67976         Web Inspector: introduce UserMetrics for collecting stats in Chromium port.
67977         https://bugs.webkit.org/show_bug.cgi?id=64350
67978
67979         Reviewed by Yury Semikhatsky.
67980
67981         Test: inspector/user-metrics.html
67982
67983         * WebCore.gypi:
67984         * WebCore.vcproj/WebCore.vcproj:
67985         * bindings/js/JSInspectorFrontendHostCustom.cpp:
67986         (WebCore::JSInspectorFrontendHost::recordActionTaken):
67987         (WebCore::JSInspectorFrontendHost::recordPanelShown):
67988         (WebCore::JSInspectorFrontendHost::recordSettingChanged):
67989         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
67990         (WebCore::histogramEnumeration):
67991         (WebCore::V8InspectorFrontendHost::recordActionTakenCallback):
67992         (WebCore::V8InspectorFrontendHost::recordPanelShownCallback):
67993         (WebCore::V8InspectorFrontendHost::recordSettingChangedCallback):
67994         * inspector/InspectorFrontendHost.idl:
67995         * inspector/front-end/AuditsPanel.js:
67996         (WebInspector.AuditsPanel.prototype.initiateAudit):
67997         * inspector/front-end/ConsoleView.js:
67998         * inspector/front-end/DebuggerModel.js:
67999         (WebInspector.DebuggerModel.prototype.setBreakpoint):
68000         (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
68001         * inspector/front-end/InspectorFrontendHostStub.js:
68002         (.WebInspector.InspectorFrontendHostStub.prototype.loadSessionSetting):
68003         (.WebInspector.InspectorFrontendHostStub.prototype.recordActionTaken):
68004         (.WebInspector.InspectorFrontendHostStub.prototype.recordPanelShown):
68005         (.WebInspector.InspectorFrontendHostStub.prototype.recordSettingChanged):
68006         * inspector/front-end/ProfilesPanel.js:
68007         (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
68008         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
68009         * inspector/front-end/TimelinePanel.js:
68010         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
68011         * inspector/front-end/UserMetrics.js: Added.
68012         (WebInspector.UserMetrics.settingChanged):
68013         (WebInspector.UserMetrics):
68014         (WebInspector.UserMetrics.prototype.panelShown):
68015         (WebInspector.UserMetrics._Recorder):
68016         (WebInspector.UserMetrics._Recorder.prototype.record):
68017         * inspector/front-end/WebKit.qrc:
68018         * inspector/front-end/inspector.html:
68019         * inspector/front-end/inspector.js:
68020         (WebInspector._toggleAttach):
68021
68022 2011-07-12  Pratik Solanki  <psolanki@apple.com>
68023
68024         Reviewed by David Kilzer.
68025
68026         Add NSURLResponse wrapper in ResourceResponse when USE(CFNETWORK) is enabled
68027         https://bugs.webkit.org/show_bug.cgi?id=63286
68028
68029         When USE(CFNETWORK) is enabled on Mac, keep an NSURLResponse object along with the
68030         CFURLResponseRef so that WebKit can continue using the NSURLResponse.
68031
68032         No new tests because no change in functionality and option is not enabled on Mac.
68033
68034         * platform/network/cf/ResourceResponse.h:
68035         (WebCore::ResourceResponse::ResourceResponse):
68036         * platform/network/mac/ResourceResponseMac.mm:
68037         (WebCore::ResourceResponse::initNSURLResponse):
68038         (WebCore::ResourceResponse::nsURLResponse):
68039         (WebCore::ResourceResponse::ResourceResponse):
68040
68041 2011-07-12  Pavel Podivilov  <podivilov@chromium.org>
68042
68043         Web Inspector: Cancelling an empty edit fails.
68044         https://bugs.webkit.org/show_bug.cgi?id=64351
68045
68046         Reviewed by Pavel Feldman.
68047
68048         * inspector/front-end/ResourceView.js:
68049         (WebInspector.EditableResourceSourceFrame.prototype.cancelEditing):
68050
68051 2011-07-12  Pavel Podivilov  <podivilov@chromium.org>
68052
68053         Web Inspector: make TextViewerDelegate methods implementations public in SourceFrame.
68054         https://bugs.webkit.org/show_bug.cgi?id=64353
68055
68056         Reviewed by Pavel Feldman.
68057
68058         * inspector/front-end/SourceFrame.js:
68059         (WebInspector.SourceFrame.prototype.beforeTextChanged):
68060         (WebInspector.SourceFrame.prototype.afterTextChanged):
68061         (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
68062         (WebInspector.SourceFrame.prototype.suggestedFileName):
68063         (WebInspector.SourceFrame.prototype.doubleClick):
68064         (WebInspector.SourceFrame.prototype.cancelEditing):
68065         (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
68066         (WebInspector.TextViewerDelegateForSourceFrame.prototype.beforeTextChanged):
68067         (WebInspector.TextViewerDelegateForSourceFrame.prototype.afterTextChanged):
68068         (WebInspector.TextViewerDelegateForSourceFrame.prototype.commitEditing):
68069         (WebInspector.TextViewerDelegateForSourceFrame.prototype.cancelEditing):
68070         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
68071         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
68072         (WebInspector.TextViewerDelegateForSourceFrame.prototype.suggestedFileName):
68073
68074 2011-07-12  Andrey Kosyakov  <caseq@chromium.org>
68075
68076         Web Inspector: remove more dead code from the Network panel
68077         https://bugs.webkit.org/show_bug.cgi?id=64291
68078
68079         Reviewed by Pavel Feldman.
68080
68081         * inspector/front-end/NetworkPanel.js:
68082         (WebInspector.NetworkPanel.prototype._toggleGridMode):
68083         (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
68084         * inspector/front-end/networkPanel.css:
68085
68086 2011-07-12  Adam Roben  <aroben@apple.com>
68087
68088         Unreviewed, rolling out r90811.
68089         http://trac.webkit.org/changeset/90811
68090         https://bugs.webkit.org/show_bug.cgi?id=61025
68091
68092         Several svg tests failing assertions beneath
68093         SVGSMILElement::findInstanceTime
68094
68095         * svg/animation/SVGSMILElement.cpp:
68096         (WebCore::SVGSMILElement::findInstanceTime):
68097
68098 2011-07-12  Oliver Varga  <Varga.Oliver@stud.u-szeged.hu>
68099
68100         Reviewed by Nikolas Zimmermann.
68101
68102         Speed up SVGSMILElement::findInstanceTime.
68103         https://bugs.webkit.org/show_bug.cgi?id=61025
68104
68105         Replace the linear search to binary search on ordered list because
68106         the previous searches from the beginning was not efficient.
68107         Out of index error fixed by Renata Hodovan.
68108
68109         No new tests this is only a performance tweak.
68110
68111         * svg/animation/SVGSMILElement.cpp:
68112         (WebCore::extractTimeFromVector):
68113         (WebCore::SVGSMILElement::findInstanceTime):
68114
68115 2011-07-11  Zeng Huiqing  <huiqing.zeng@intel.com>
68116
68117         Optimize HTMLInputElement::updateCheckedRadioButtons
68118         https://bugs.webkit.org/show_bug.cgi?id=62840
68119
68120         Reviewed by Kent Tamura.
68121
68122         No new tests.
68123
68124         * dom/Document.h:
68125         (WebCore::Document::getFormElements):
68126         * html/HTMLInputElement.cpp:
68127         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
68128         (WebCore::HTMLInputElement::setChecked):
68129
68130 2011-07-11  Pratik Solanki  <psolanki@apple.com>
68131
68132         Reviewed by David Kilzer.
68133
68134         Add NSURLRequest wrapper in ResourceRequest when USE(CFNETWORK) is enabled
68135         https://bugs.webkit.org/show_bug.cgi?id=63276
68136
68137         When USE(CFNETWORK) is enabled on Mac, keep an NSURLRequest object along with the
68138         CFURLRequestRef so that WebKit can continue using the NSURLRequest.
68139
68140         No new tests because no change in functionality and option is not enabled on Mac.
68141
68142         * platform/network/cf/ResourceRequest.h:
68143         (WebCore::ResourceRequest::updateNSURLRequest):
68144         (WebCore::ResourceRequest::ResourceRequest):
68145         * platform/network/cf/ResourceRequestCFNet.cpp:
68146         (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
68147         (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
68148         (WebCore::ResourceRequest::doUpdatePlatformRequest):
68149         (WebCore::ResourceRequest::applyWebArchiveHackForMail):
68150         * platform/network/mac/ResourceRequestMac.mm:
68151         (WebCore::ResourceRequest::nsURLRequest):
68152         (WebCore::ResourceRequest::ResourceRequest):
68153         (WebCore::ResourceRequest::updateNSURLRequest):
68154
68155 2011-07-11  Ryosuke Niwa  <rniwa@webkit.org>
68156
68157         positionForPoint is broken when a block is positioned relatively inside the parent
68158         https://bugs.webkit.org/show_bug.cgi?id=64298
68159
68160         Reviewed by Simon Fraser.
68161
68162         The bug was caused by positionForPointRespectingEditingBoundaries's not taking relativePositionOffset
68163         into account when computing the point in child coordinates. Fixed the bug by adding the offset to
68164         childLocation as needed.
68165
68166         Test: fast/block/positioning/hittest-on-relative-positioned-children.html
68167
68168         * rendering/RenderBlock.cpp:
68169         (WebCore::positionForPointRespectingEditingBoundaries): Fixed the bug; also replaced all instances of
68170         IntPoint by LayoutPoint.
68171
68172 2011-07-11  Dan Bernstein  <mitz@apple.com>
68173
68174         Excessive expansion of justified text when rounding hacks are enabled
68175         https://bugs.webkit.org/show_bug.cgi?id=64331
68176
68177         Reviewed by Anders Carlsson.
68178
68179         Test: platform/mac/fast/text/rounding-hacks-expansion.html
68180
68181         When rounding hacks are enabled, the expansion at each expansion opportunity should be by an
68182         integer. Restored more of the logic that was removed in r78846 in order to ensure this.
68183
68184         * platform/graphics/WidthIterator.cpp:
68185         (WebCore::WidthIterator::advance):
68186         * platform/graphics/mac/ComplexTextController.cpp:
68187         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
68188
68189 2011-07-11  Jer Noble  <jer.noble@apple.com>
68190
68191         HTML5 video controller in fullscreen is partly off-screen (at least on youtube) using ClickToFlash
68192         https://bugs.webkit.org/show_bug.cgi?id=64327
68193
68194         Reviewed by Darin Adler.
68195
68196         No new tests; no change in functionality, so covered by existing tests.
68197
68198         Make the rules from fullscreenQuickTime.css !important so they are not overridden
68199         by page authors.
68200
68201         * css/fullscreenQuickTime.css:
68202         (video:-webkit-full-screen::-webkit-media-controls-panel):
68203
68204 2011-07-11  Levi Weintraub  <leviw@chromium.org>
68205
68206         Switch lineTop and lineBottom to new layout types
68207         https://bugs.webkit.org/show_bug.cgi?id=64317
68208
68209         Reviewed by Eric Seidel.
68210
68211         Changing lineTop and lineBottom to LayoutUnits and preparing all uses
68212         of them for the upcoming conversion.
68213
68214         No new tests, no new functionality.
68215
68216         * rendering/EllipsisBox.cpp:
68217         (WebCore::EllipsisBox::nodeAtPoint):
68218         * rendering/EllipsisBox.h:
68219         * rendering/GapRects.h:
68220         (WebCore::GapRects::left):
68221         (WebCore::GapRects::center):
68222         (WebCore::GapRects::right):
68223         (WebCore::GapRects::uniteLeft):
68224         (WebCore::GapRects::uniteCenter):
68225         (WebCore::GapRects::uniteRight):
68226         (WebCore::GapRects::operator LayoutRect):
68227         * rendering/InlineBox.cpp:
68228         (WebCore::InlineBox::nodeAtPoint):
68229         * rendering/InlineBox.h:
68230         * rendering/InlineFlowBox.cpp:
68231         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
68232         (WebCore::InlineFlowBox::flipLinesInBlockDirection):
68233         (WebCore::InlineFlowBox::computeOverflow):
68234         (WebCore::InlineFlowBox::setLayoutOverflow):
68235         (WebCore::InlineFlowBox::setVisualOverflow):
68236         (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
68237         (WebCore::InlineFlowBox::nodeAtPoint):
68238         * rendering/InlineFlowBox.h:
68239         (WebCore::InlineFlowBox::layoutOverflowRect):
68240         (WebCore::InlineFlowBox::visualOverflowRect):
68241         * rendering/InlineTextBox.cpp:
68242         (WebCore::InlineTextBox::nodeAtPoint):
68243         * rendering/RenderLineBoxList.cpp:
68244         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
68245         * rendering/RenderLineBoxList.h:
68246         * rendering/RenderListItem.cpp:
68247         (WebCore::RenderListItem::positionListMarker):
68248         * rendering/RenderTextControl.h:
68249         * rendering/RenderTextControlMultiLine.cpp:
68250         (WebCore::RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight):
68251         * rendering/RenderTextControlSingleLine.cpp:
68252         (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
68253         * rendering/RenderTextControlSingleLine.h:
68254         * rendering/RootInlineBox.cpp:
68255         (WebCore::RootInlineBox::nodeAtPoint):
68256         * rendering/RootInlineBox.h:
68257         (WebCore::RootInlineBox::lineTop):
68258         (WebCore::RootInlineBox::lineBottom):
68259         (WebCore::RootInlineBox::setLineTopBottomPositions):
68260         (WebCore::RootInlineBox::logicalTopVisualOverflow):
68261         (WebCore::RootInlineBox::logicalBottomVisualOverflow):
68262         (WebCore::RootInlineBox::logicalTopLayoutOverflow):
68263         (WebCore::RootInlineBox::logicalBottomLayoutOverflow):
68264         * rendering/svg/SVGInlineFlowBox.h:
68265         * rendering/svg/SVGInlineTextBox.cpp:
68266         (WebCore::SVGInlineTextBox::nodeAtPoint):
68267         * rendering/svg/SVGInlineTextBox.h:
68268         * rendering/svg/SVGRootInlineBox.h:
68269
68270 2011-07-11  Martin Robinson  <mrobinson@igalia.com>
68271
68272         Reviewed by Daniel Bates.
68273
68274         [GTK] Transition to Mozilla named cursors have incorrect hotspot and rendering
68275         https://bugs.webkit.org/show_bug.cgi?id=62752
68276
68277         Instead of offsetting the cursor blit by the hotspot, just pass the hotspot
68278         arguments to the GdkCursor constructor.
68279
68280         No new tests. This is covered by manual-tests/cursor.html.
68281
68282         * platform/gtk/CursorGtk.cpp:
68283         (WebCore::createNamedCursor):
68284
68285 2011-07-11  Yi Shen  <yi.4.shen@nokia.com>
68286
68287         [Qt] Unreviewed rollout 90779 which may fail the layout-test.
68288
68289         * platform/network/qt/QNetworkReplyHandler.cpp:
68290         (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
68291         * platform/network/qt/QNetworkReplyHandler.h:
68292
68293 2011-07-11  Bradley Nelson  <bradnelson@chromium.org>
68294
68295         Reviewed by Darin Fisher.
68296
68297         Split webcore_dom off webcore_remaining to reduce its size for
68298         whole program optimization builds.
68299
68300         https://bugs.webkit.org/show_bug.cgi?id=64299
68301
68302         * WebCore.gyp/WebCore.gyp:
68303
68304 2011-07-11  Yi Shen  <yi.4.shen@nokia.com>
68305
68306         [Qt] ASSERTION FAILED in ResourceHandle::setDefersLoading causes crash
68307         https://bugs.webkit.org/show_bug.cgi?id=62808
68308
68309         Reviewed by Benjamin Poulain.
68310
68311         The assertion in ResourceHandle::setDefersLoading assumes asynchronous
68312         content delivery -- To resume a page, first, its main resource loader
68313         calls setDefersLoading to resume loading the main content; then all the
68314         sub-resource loaders calls setDefersLoading to resume sub-contents.
68315         However, since QNetworkReplyHandler delivers content synchronously,
68316         some new sub-resource loaders get created as soon as the main resource
68317         loader resumed, and all these new sub-resource loaders set their
68318         defersLoading flag to false. Then, the assertion fails for these new
68319         sub-resource loaders when calling setDefersLoading on them. As a fix,
68320         this path makes QNetworkReplyHandler deliver content asynchronously.
68321
68322         Test: loader/load-defer-resume-crash.html
68323
68324         * platform/network/qt/QNetworkReplyHandler.cpp:
68325         (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
68326         * platform/network/qt/QNetworkReplyHandler.h:
68327
68328 2011-07-08  Ryosuke Niwa  <rniwa@webkit.org>
68329
68330         Move innerTextElement() from RenderTextControl to HTMLTextFormControlElement
68331         https://bugs.webkit.org/show_bug.cgi?id=64134
68332
68333         Reviewed by Kent Tamura.
68334
68335         Moved innerTextElement from RenderTextControl to HTMLTextFormControlElement. It is implemented by
68336         HTMLInputElement and HTMLTextAreaElement instead of RenderTextControlSingleLine and
68337         RenderTextControlMultiLine.
68338
68339         This refactoring removes the indirection through RenderTextControl and makes the ownership of
68340         shadow DOM for input and textarea elements clear. Accessing the shadow DOM of input and textarea elements
68341         are now less error prone because it no longer depends on the lifetime of the render tree.
68342
68343         * accessibility/AccessibilityRenderObject.cpp:
68344         (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Access innerTextElement via
68345         HTMLTextFormControlElement.
68346         * dom/Node.cpp:
68347         (WebCore::traverseTreeAndMark): No longer calls innerTextElement because this was a work-around
68348         needed before making input and textarea elements use the new shadow DOM model.
68349         * editing/TextIterator.cpp:
68350         (WebCore::TextIterator::handleReplacedElement): Access innerTextElement via HTMLTextFormControlElement.
68351         * html/HTMLFormControlElement.cpp:
68352         (WebCore::hasVisibleTextArea): Takes innerTextElement.
68353         (WebCore::HTMLTextFormControlElement::setSelectionRange): Calls innerTextElement().
68354         (WebCore::HTMLTextFormControlElement::selection): Ditto.
68355         (WebCore::HTMLTextFormControlElement::selectionStart): Ditto; no longer uses a temporary local variable
68356         for innerTextElement because innerTextElement() no longer depends on the lifetime of the render tree.
68357         (WebCore::HTMLTextFormControlElement::selectionEnd): Ditto.
68358         * html/HTMLFormControlElement.h:
68359         * html/HTMLTextAreaElement.cpp:
68360         (WebCore::HTMLTextAreaElement::innerTextElement): Added.
68361         * html/HTMLTextAreaElement.h:
68362         * rendering/RenderTextControl.cpp:
68363         (WebCore::RenderTextControl::textFormControlElement): Made this function a const member.
68364         (WebCore::RenderTextControl::innerTextElement): Added.
68365         * rendering/RenderTextControl.h:
68366         * rendering/RenderTextControlMultiLine.cpp:
68367         * rendering/RenderTextControlMultiLine.h:
68368         * rendering/RenderTextControlSingleLine.cpp:
68369         * rendering/RenderTextControlSingleLine.h:
68370
68371 2011-07-11  Tony Chang  <tony@chromium.org>
68372
68373         rename RenderObject::isFlexibleBox to isDeprecatedFlexibleBox
68374         https://bugs.webkit.org/show_bug.cgi?id=64217
68375
68376         Reviewed by Ojan Vafai.
68377
68378         This is to make way for the new flexbox needing a similar method.
68379         RenderObject also has isFlexingChildren() and isStretchingChildren(),
68380         but we may be able to use those for the new flexbox as well so I
68381         didn't rename them.
68382
68383         No new tests, just refactoring.
68384
68385         * rendering/RenderBlock.cpp:
68386         (WebCore::RenderBlock::removeChild):
68387         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
68388         (WebCore::shouldCheckLines):
68389         * rendering/RenderBox.cpp:
68390         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
68391         (WebCore::RenderBox::computeLogicalWidth):
68392         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
68393         (WebCore::RenderBox::computeLogicalHeight):
68394         * rendering/RenderDeprecatedFlexibleBox.cpp:
68395         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
68396         * rendering/RenderDeprecatedFlexibleBox.h:
68397         (WebCore::RenderDeprecatedFlexibleBox::isDeprecatedFlexibleBox):
68398         * rendering/RenderObject.h:
68399         (WebCore::RenderObject::isDeprecatedFlexibleBox):
68400
68401 2011-07-11  Nate Chapin  <japhet@chromium.org>
68402
68403         [Chromium] Ensure we don't crash when an
68404         HTMLSelectElement mouse release event removes
68405         the element from the DOM.
68406         https://bugs.webkit.org/show_bug.cgi?id=64295
68407
68408         Reviewed by Dimitri Glazkov.
68409
68410         Manual test only because the crash requires a
68411         real popup menu, which DRT doesn't provide.
68412
68413         * manual-tests/chromium/popup-menu-crash.html: Added.
68414         * platform/chromium/PopupMenuChromium.cpp:
68415         (WebCore::PopupContainer::handleMouseReleaseEvent):
68416
68417 2011-07-11  Mike Reed  <reed@google.com>
68418
68419         [skia] remove platform helpers for gradients and patterns
68420         https://bugs.webkit.org/show_bug.cgi?id=64281
68421
68422         Reviewed by Stephen White.
68423
68424         No new tests. fixes canvas/philip/tests/2d.gradient.object.update.html
68425
68426         Remove (now empty) platform helpers for fill/stroke gradients/patterns. We now pickup the platformGradient
68427         and platformPattern fresh when they're needed, so we can see any edits that have occurred to them
68428         2d.gradient.object.update.html sets the fillgradient, and then edits the gradient object. This CL allows
68429         us to see that edit.
68430
68431         * platform/graphics/GraphicsContext.cpp:
68432         (WebCore::GraphicsContext::setStrokePattern):
68433         (WebCore::GraphicsContext::setFillPattern):
68434         (WebCore::GraphicsContext::setStrokeGradient):
68435         (WebCore::GraphicsContext::setFillGradient):
68436         * platform/graphics/GraphicsContext.h:
68437         * platform/graphics/skia/GraphicsContextSkia.cpp:
68438         (WebCore::GraphicsContext::platformInit):
68439         * platform/graphics/skia/PlatformContextSkia.cpp:
68440         (WebCore::PlatformContextSkia::State::State):
68441         (WebCore::PlatformContextSkia::State::~State):
68442         (WebCore::PlatformContextSkia::PlatformContextSkia):
68443         (WebCore::PlatformContextSkia::drawRect):
68444         (WebCore::PlatformContextSkia::setupShader):
68445         (WebCore::PlatformContextSkia::setupPaintForFilling):
68446         (WebCore::PlatformContextSkia::setupPaintForStroking):
68447         (WebCore::PlatformContextSkia::setFillColor):
68448         (WebCore::PlatformContextSkia::setStrokeColor):
68449         (WebCore::PlatformContextSkia::canAccelerate):
68450         * platform/graphics/skia/PlatformContextSkia.h:
68451         (WebCore::PlatformContextSkia::setGraphicsContext):
68452
68453 2011-07-11  Young Han Lee  <joybro@company100.net>
68454
68455         Reviewed by Simon Fraser.
68456
68457         Transition LayoutTest using pause API shows wrong result if it tries to pause a transition after its delay time.
68458         https://bugs.webkit.org/show_bug.cgi?id=63859
68459
68460         The existing code to set the m_startTime haven't worked because 
68461         the animation is not the right state to accept the start event. 
68462         This patch just sets the values directly instead of using event.
68463
68464         Test: transitions/delay.html
68465
68466         * page/animation/AnimationBase.cpp:
68467         (WebCore::AnimationBase::freezeAtTime):
68468
68469 2011-07-11  Ryosuke Niwa  <rniwa@webkit.org>
68470
68471         Move selection related code from RenderTextControl to HTMLTextFormControlElement
68472         https://bugs.webkit.org/show_bug.cgi?id=64133
68473
68474         Reviewed by Dimitri Glazkov.
68475
68476         Moved selectionStart, selectionEnd, hasVisibleTextArea, setSelectionRange, setContainerAndOffsetForRange
68477         and selection from RenderTextControl.cpp to HTMLFormControlElement.cpp.
68478
68479         This refactoring removes RenderTextControl's dependency on FrameSelection.
68480
68481         * accessibility/AccessibilityRenderObject.cpp:
68482         (WebCore::AccessibilityRenderObject::selectedText): Calls HTMLTextFromControl::selectedText.
68483         (WebCore::AccessibilityRenderObject::selectedTextRange): Calls selectionStart and selectionEnd.
68484         (WebCore::AccessibilityRenderObject::setSelectedTextRange): Ditto.
68485         * html/HTMLFormControlElement.cpp:
68486         (WebCore::HTMLTextFormControlElement::selectedText): Extracted from AccessibilityRenderObject::selectedText.
68487         (WebCore::hasVisibleTextArea): Added.
68488         (WebCore::HTMLTextFormControlElement::setSelectionRange): Merged with the function of the same name in RenderTextControl.
68489         (WebCore::HTMLTextFormControlElement::selectionStart): Calls computeSelectionStart instead of RenderTextControl::selectionStart.
68490         (WebCore::HTMLTextFormControlElement::computeSelectionStart): Moved from RenderTextControl::selectionStart.
68491         (WebCore::HTMLTextFormControlElement::selectionEnd): Calls computeSelectionEnd instead of RenderText::selectionEnd.
68492         (WebCore::HTMLTextFormControlElement::computeSelectionEnd): Moved from RenderTextControl::selectionStart.
68493         (WebCore::setContainerAndOffsetForRange): Moved from RenderTextControl.cpp.
68494         (WebCore::HTMLTextFormControlElement::selection): Merged with the function of the same name in RenderTextControl.
68495         (WebCore::HTMLTextFormControlElement::restoreCachedSelection): Calls computeSelectionStart and computeSelectionEnd instead of
68496         RenderTextControl::selectionStart and RenderTextControl::selectionEnd.
68497         (WebCore::HTMLTextFormControlElement::selectionChanged): Calls selectionStart and selectionEnd.
68498         * html/HTMLFormControlElement.h:
68499         * html/HTMLInputElement.cpp:
68500         (WebCore::HTMLInputElement::setValue): Calls setSelectionRange.
68501         * rendering/RenderTextControl.cpp:
68502         (WebCore::RenderTextControl::textFormControlElement): Added.
68503         * rendering/RenderTextControl.h:
68504
68505 2011-07-11  Andreas Kling  <kling@webkit.org>
68506
68507         Reviewed by Oliver Hunt.
68508
68509         Canvas: Use fast, approximate dirty rects for stroke()
68510         https://bugs.webkit.org/show_bug.cgi?id=59764
68511
68512         No new tests, this is an optimization.
68513
68514         * html/canvas/CanvasRenderingContext2D.cpp:
68515         (WebCore::CanvasRenderingContext2D::stroke): Instead of using
68516         Path::strokeBoundingRect() to calculate the exact bounding rect
68517         for a path stroke, get the Path::boundingRect() and inflate it by
68518         miterLimit + lineWidth to get a slightly oversized dirty rect
68519         in a fraction of the time.
68520
68521 2011-07-11  Andrey Kosyakov  <caseq@chromium.org>
68522
68523         Reviewed by Pavel Feldman.
68524
68525         Web Inspector: [refactoring] Remove dependencies of components requiring network resource list from network panel
68526         https://bugs.webkit.org/show_bug.cgi?id=62477
68527
68528         * inspector/front-end/AuditsPanel.js:
68529         * inspector/front-end/ExtensionServer.js:
68530         (WebInspector.ExtensionServer):
68531         (WebInspector.ExtensionServer.prototype._inspectedURLChanged):
68532         (WebInspector.ExtensionServer.prototype._onGetHAR):
68533         (WebInspector.ExtensionServer.prototype.initExtensions):
68534         * inspector/front-end/HAREntry.js:
68535         (WebInspector.HARLog):
68536         (WebInspector.HARLog.prototype.build):
68537         * inspector/front-end/NetworkManager.js:
68538         (WebInspector.NetworkLog):
68539         (WebInspector.NetworkLog.prototype.get resources):
68540         (WebInspector.NetworkLog.prototype._onInspectedURLChanged):
68541         (WebInspector.NetworkLog.prototype._onResourceStarted):
68542         * inspector/front-end/NetworkPanel.js:
68543         (WebInspector.NetworkPanel.prototype._reset):
68544         (WebInspector.NetworkPanel.prototype._copyAll):
68545         (WebInspector.NetworkPanel.prototype._exportAll):
68546         * inspector/front-end/inspector.js:
68547         (WebInspector.reset):
68548
68549 2011-07-11  Pavel Podivilov  <podivilov@chromium.org>
68550
68551         Web Inspector: make SourceFrame a View.
68552         https://bugs.webkit.org/show_bug.cgi?id=64274
68553
68554         Reviewed by Pavel Feldman.
68555
68556         * inspector/front-end/SourceFrame.js:
68557         (WebInspector.SourceFrame):
68558         (WebInspector.SourceFrame.createSearchRegex):
68559         (WebInspector.SourceFrame.prototype.show):
68560         (WebInspector.SourceFrame.prototype.hide):
68561         (WebInspector.SourceFrame.prototype._beforeTextChanged):
68562         (WebInspector.SourceFrame.prototype._afterTextChanged):
68563         (WebInspector.SourceFrame.prototype._initializeTextViewer):
68564         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
68565         (WebInspector.SourceFrame.prototype.performSearch):
68566         (WebInspector.SourceFrame.prototype._populateTextAreaContextMenu):
68567         (WebInspector.SourceFrame.prototype._suggestedFileName):
68568         (WebInspector.SourceFrame.prototype._doubleClick):
68569         (WebInspector.SourceFrame.prototype._cancelEditing):
68570         (WebInspector.TextViewerDelegateForSourceFrame):
68571         (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
68572         (WebInspector.TextViewerDelegateForSourceFrame.prototype.beforeTextChanged):
68573         (WebInspector.TextViewerDelegateForSourceFrame.prototype.afterTextChanged):
68574         (WebInspector.TextViewerDelegateForSourceFrame.prototype.commitEditing):
68575         (WebInspector.TextViewerDelegateForSourceFrame.prototype.cancelEditing):
68576         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
68577         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
68578         (WebInspector.TextViewerDelegateForSourceFrame.prototype.suggestedFileName):
68579         * inspector/front-end/TextViewer.js:
68580         (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
68581
68582 2011-07-11  Noel Gordon  <noel.gordon@gmail.com>
68583
68584         Reviewed by Adam Roben.
68585
68586         Forward focus events to windowless plugins on the windows port.
68587         https://bugs.webkit.org/show_bug.cgi?id=62375
68588
68589         * plugins/win/PluginViewWin.cpp:
68590         (WebCore::PluginView::setFocus): Forward focus events if the plugin is windowless.
68591
68592 2011-07-11  Shinya Kawanaka  <shinyak@google.com>
68593
68594         Added accessibility notification when value is changed.
68595         https://bugs.webkit.org/show_bug.cgi?id=64256
68596
68597         Notifies the value change of range input when accessibility is enabled.
68598
68599         Reviewed by Kent Tamura.
68600
68601         Covered by existing tests.
68602
68603         * html/RangeInputType.cpp:
68604         (WebCore::RangeInputType::handleKeydownEvent):
68605           Added accessibility notification when value is changed.
68606
68607 2011-07-08  Mikhail Naganov  <mnaganov@chromium.org>
68608
68609         Web Inspector: Fix resizing of sidebar pane in Timeline and Profile panels.
68610         https://bugs.webkit.org/show_bug.cgi?id=64161
68611
68612         Reviewed by Pavel Feldman.
68613
68614         * inspector/front-end/ProfilesPanel.js:
68615         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
68616         * inspector/front-end/TimelineOverviewPane.js:
68617         (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
68618
68619 2011-07-11  Pavel Feldman  <pfeldman@google.com>
68620
68621         Web Inspector: [REGRESSION r89753-89754] highlight does not respect scroller location.
68622         https://bugs.webkit.org/show_bug.cgi?id=63982
68623
68624         Rolling out 89760, 89756, 89754, 89753 for breaking inspector highlight.
68625
68626         Reviewed by Yury Semikhatsky.
68627
68628         * WebCore.exp.in:
68629         * inspector/DOMNodeHighlighter.cpp:
68630         (WebCore::DOMNodeHighlighter::drawNodeHighlight):
68631         * page/FrameView.cpp:
68632         * page/FrameView.h:
68633         * platform/ScrollView.h:
68634         * platform/Widget.cpp:
68635         * platform/Widget.h:
68636         * rendering/RenderBox.cpp:
68637         (WebCore::RenderBox::mapLocalToContainer):
68638         * rendering/RenderBox.h:
68639         * rendering/RenderInline.cpp:
68640         (WebCore::RenderInline::mapLocalToContainer):
68641         * rendering/RenderInline.h:
68642         * rendering/RenderObject.cpp:
68643         (WebCore::RenderObject::mapLocalToContainer):
68644         (WebCore::RenderObject::localToContainerQuad):
68645         * rendering/RenderObject.h:
68646         (WebCore::RenderObject::localToAbsoluteQuad):
68647         * rendering/RenderView.cpp:
68648         (WebCore::RenderView::mapLocalToContainer):
68649         * rendering/RenderView.h:
68650         * rendering/svg/RenderSVGForeignObject.cpp:
68651         (WebCore::RenderSVGForeignObject::mapLocalToContainer):
68652         * rendering/svg/RenderSVGForeignObject.h:
68653         * rendering/svg/RenderSVGInline.cpp:
68654         (WebCore::RenderSVGInline::mapLocalToContainer):
68655         * rendering/svg/RenderSVGInline.h:
68656         * rendering/svg/RenderSVGModelObject.cpp:
68657         (WebCore::RenderSVGModelObject::mapLocalToContainer):
68658         * rendering/svg/RenderSVGModelObject.h:
68659         * rendering/svg/RenderSVGRoot.cpp:
68660         (WebCore::RenderSVGRoot::mapLocalToContainer):
68661         * rendering/svg/RenderSVGRoot.h:
68662         * rendering/svg/RenderSVGText.cpp:
68663         (WebCore::RenderSVGText::mapLocalToContainer):
68664         * rendering/svg/RenderSVGText.h:
68665         * rendering/svg/SVGRenderSupport.cpp:
68666         (WebCore::SVGRenderSupport::mapLocalToContainer):
68667         * rendering/svg/SVGRenderSupport.h:
68668
68669 2011-07-11  Mustafizur Rahaman  <mustaf.here@gmail.com>
68670
68671         Reviewed by James Robinson.
68672
68673         Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.fill.destination-atop.html
68674         https://bugs.webkit.org/show_bug.cgi?id=48292
68675         
68676         and
68677         
68678         Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.pattern.destination-atop.html
68679         https://bugs.webkit.org/show_bug.cgi?id=48302
68680
68681         * html/canvas/CanvasRenderingContext2D.cpp:
68682         (WebCore::CanvasRenderingContext2D::shouldDisplayTransparencyElsewhere): Added CompositeDestinationAtop 
68683         to draw transparency elsewhere for destination-atop
68684
68685 2011-07-08  Mikhail Naganov  <mnaganov@chromium.org>
68686
68687         Web Inspector: [Chromium] Get rid of flickering "Please wait" message in Heap profiler.
68688         https://bugs.webkit.org/show_bug.cgi?id=61175
68689
68690         The message has been replaced with spinner icons appearing instead of profile's
68691         icon. As each profile owns a worker, they run independently, and there can be
68692         multiple spinners at the same time.
68693
68694         Reviewed by Pavel Feldman.
68695
68696         * WebCore.gypi:
68697         * WebCore.vcproj/WebCore.vcproj:
68698         * inspector/front-end/DetailedHeapshotGridNodes.js:
68699         (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
68700         (WebInspector.HeapSnapshotGridNode.prototype._populate):
68701         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
68702         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
68703         * inspector/front-end/DetailedHeapshotView.js:
68704         (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
68705         (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
68706         (WebInspector.HeapSnapshotRetainingPathsList.prototype.searchCancelled):
68707         (WebInspector.DetailedHeapshotView.profileCallback):
68708         (WebInspector.DetailedHeapshotView):
68709         (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded):
68710         (WebInspector.DetailedHeapshotView.prototype._changeBase):
68711         (WebInspector.DetailedHeapshotView.prototype.processLoadedSnapshot):
68712         (WebInspector.DetailedHeapshotView.prototype._changeView):
68713         * inspector/front-end/HeapSnapshotProxy.js:
68714         (WebInspector.HeapSnapshotWorker):
68715         (WebInspector.HeapSnapshotWorker.prototype.dispose):
68716         (WebInspector.HeapSnapshotWorker.prototype.startCheckingForLongRunningCalls):
68717         (WebInspector.HeapSnapshotWorker.prototype._checkLongRunningCalls):
68718         (WebInspector.HeapSnapshotProxyObject.prototype.callMethod):
68719         (WebInspector.HeapSnapshotProxyObject.prototype.get worker):
68720         * inspector/front-end/Images/spinnerActive.gif: Added. Generated using ajaxload.info.
68721         * inspector/front-end/Images/spinnerActiveSelected.gif: Added. Generated using ajaxload.info.
68722         * inspector/front-end/Images/spinnerInactive.gif: Added. Generated using ajaxload.info.
68723         * inspector/front-end/Images/spinnerInactiveSelected.gif: Added. Generated using ajaxload.info.
68724         * inspector/front-end/PleaseWaitMessage.js: Removed.
68725         * inspector/front-end/ProfilesPanel.js:
68726         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
68727         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot.setProfileWait):
68728         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
68729         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.parsed):
68730         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
68731         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
68732         * inspector/front-end/SidebarTreeElement.js:
68733         (WebInspector.SidebarTreeElement.prototype.set wait):
68734         * inspector/front-end/WebKit.qrc:
68735         * inspector/front-end/heapProfiler.css:
68736         (.heap-snapshot-sidebar-tree-item.wait .icon):
68737         (.heap-snapshot-sidebar-tree-item.wait.selected .icon):
68738         (body.inactive .heap-snapshot-sidebar-tree-item.wait .icon):
68739         (body.inactive .heap-snapshot-sidebar-tree-item.wait.selected .icon):
68740         * inspector/front-end/inspector.html:
68741
68742 2011-07-10  Patrick Gansterer  <paroga@webkit.org>
68743
68744         Generate conditional include statements in CodeGeneratorJS
68745         https://bugs.webkit.org/show_bug.cgi?id=64231
68746
68747         Reviewed by Brent Fulgham.
68748
68749         Suround headers with a correspondig #if ENABLE() line.
68750         This allows us to generate bindings only of required IDL files.
68751
68752         Changing the current preprocessor statements to the Conditional attribute
68753         in a next step helps in getting rid of calls to the preprocessor,
68754         which causes so much pain on a natvie Windows environment. 
68755
68756         * bindings/scripts/CodeGeneratorJS.pm:
68757         (GenerateImplementation):
68758         (WriteData):
68759
68760 2011-07-10  Patrick Gansterer  <paroga@webkit.org>
68761
68762         Remove array size from generated JSC binding tables
68763         https://bugs.webkit.org/show_bug.cgi?id=64229
68764
68765         Reviewed by Brent Fulgham.
68766
68767         Because many items in the array are surrounded with #if(ENABLE_XXX) lines,
68768         the array size isn't fix and correct in all cases.
68769         So let the compiler calculate the correct size itself.
68770
68771         * bindings/scripts/CodeGeneratorJS.pm:
68772         (GenerateHashTable):
68773         * bindings/scripts/test/JS/JSTestInterface.cpp:
68774         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
68775         * bindings/scripts/test/JS/JSTestObj.cpp:
68776         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
68777
68778 2011-07-10  Kenichi Ishibashi  <bashi@chromium.org>
68779
68780         Let plugins participate in form submission
68781         https://bugs.webkit.org/show_bug.cgi?id=13061
68782
68783         Implements HTMLObjectElement::appendFormData() so that object
68784         elements respond as form associated elements.
68785
68786         Reviewed by Anders Carlsson.
68787
68788         Test: plugins/form-value.html
68789
68790         * html/HTMLObjectElement.cpp:
68791         (WebCore::HTMLObjectElement::appendFormData): Implemented.
68792         * plugins/PluginViewBase.h:
68793         (WebCore::PluginViewBase::getFormValue): Added.
68794
68795 2011-07-10  Anders Carlsson  <andersca@apple.com>
68796
68797         WebKit2 is leaking NSCursors created by leakNamedCursor
68798         https://bugs.webkit.org/show_bug.cgi?id=64241
68799         <rdar://problem/9507151>
68800
68801         Reviewed by Oliver Hunt.
68802
68803         * platform/mac/CursorMac.mm:
68804         (WebCore::createNamedCursor):
68805         Rename this from leakNamedCursor to createNamedCursor and make it return a
68806         RetainPtr<NSCursor> instead of a raw pointer.
68807
68808         (WebCore::Cursor::ensurePlatformCursor):
68809         Don't leak cursors here. We still won't deallocate cursors during shutdown (which leakNamedCursor
68810         was said to prevent) because the cursor singletons are all allocated from the heap and are never destroyed
68811         anyway.
68812
68813 2011-07-10  Yuta Kitamura  <yutak@chromium.org>
68814
68815         WebSocket: Add useHixie76Protocol flag to WebSocketChannel and WebSocketHandshake
68816         https://bugs.webkit.org/show_bug.cgi?id=64244
68817
68818         Reviewed by Kent Tamura.
68819
68820         Get the value of Settings::useHixie76WebSocketProtocol() and save it in
68821         WebSocketChannel and WebSocketHandshake instances. Obtained flag value
68822         is not used for now.
68823
68824         No behavior change, thus no new tests.
68825
68826         * websockets/WebSocketChannel.cpp:
68827         (WebCore::WebSocketChannel::WebSocketChannel):
68828         WebSocketChannel is always created in context of Document (see
68829         ThreadableWebSocketChannel::create()).
68830         Because m_useHixie76Protocol must be passed to WebSocketHandshake
68831         constructor, WebSocketHandshake instance is allocated dynamically
68832         and stored in OwnPtr.
68833         (WebCore::WebSocketChannel::connect):
68834         (WebCore::WebSocketChannel::fail):
68835         (WebCore::WebSocketChannel::disconnect):
68836         (WebCore::WebSocketChannel::didOpen):
68837         (WebCore::WebSocketChannel::didFail):
68838         (WebCore::WebSocketChannel::processBuffer):
68839         * websockets/WebSocketChannel.h:
68840         * websockets/WebSocketHandshake.cpp:
68841         (WebCore::WebSocketHandshake::WebSocketHandshake):
68842         * websockets/WebSocketHandshake.h:
68843
68844 2011-07-10  Tom Hudson  <tomhudson@google.com>
68845
68846         Reviewed by James Robinson.
68847
68848         GraphicsContextSkia::drawConvexPolygon doesn't pay attention to shouldAntialias
68849         https://bugs.webkit.org/show_bug.cgi?id=61369
68850
68851         * platform/graphics/skia/GraphicsContextSkia.cpp:
68852         (WebCore::GraphicsContext::drawConvexPolygon): Pass the
68853         shouldAntialias parameter on to Skia.
68854
68855 2011-07-10  Yuzo Fujishima  <yuzo@google.com>
68856
68857         Fix for Bug 63968 - Add comment to explain Vector usage in FontCache::purgeInactiveFontData
68858         https://bugs.webkit.org/show_bug.cgi?id=63968
68859
68860         Reviewed by Dan Bernstein.
68861
68862         No new tests because this changes comments only.
68863
68864         * platform/graphics/FontCache.cpp:
68865         (WebCore::FontCache::purgeInactiveFontData): Add explanation why SimpleFontData is not deleted in the iteration loop.
68866
68867 2011-07-10  Emil A Eklund  <eae@chromium.org>
68868
68869         Switch updateHitTestResult to to new layout types
68870         https://bugs.webkit.org/show_bug.cgi?id=64209
68871
68872         Reviewed by Eric Seidel.
68873
68874         No new tests, no functionality changes.
68875
68876         * rendering/EllipsisBox.cpp:
68877         (WebCore::EllipsisBox::nodeAtPoint):
68878         * rendering/RenderBlock.cpp:
68879         (WebCore::RenderBlock::hitTestFloats):
68880         (WebCore::RenderBlock::updateHitTestResult):
68881         * rendering/RenderBlock.h:
68882         * rendering/RenderInline.cpp:
68883         (WebCore::RenderInline::updateHitTestResult):
68884         * rendering/RenderInline.h:
68885         * rendering/RenderLineBoxList.cpp:
68886         (WebCore::RenderLineBoxList::hitTest):
68887         * rendering/RenderObject.cpp:
68888         (WebCore::RenderObject::updateHitTestResult):
68889         * rendering/RenderObject.h:
68890         * rendering/RenderView.cpp:
68891         (WebCore::RenderView::updateHitTestResult):
68892         * rendering/RenderView.h:
68893         * rendering/svg/RenderSVGContainer.cpp:
68894         (WebCore::RenderSVGContainer::nodeAtFloatPoint):
68895         * rendering/svg/RenderSVGImage.cpp:
68896         (WebCore::RenderSVGImage::nodeAtFloatPoint):
68897         * rendering/svg/RenderSVGPath.cpp:
68898         (WebCore::RenderSVGPath::nodeAtFloatPoint):
68899         * rendering/svg/RenderSVGRoot.cpp:
68900         (WebCore::RenderSVGRoot::nodeAtPoint):
68901
68902 2011-07-10  Patrick Gansterer  <paroga@webkit.org>
68903
68904         Reviewed by Adam Barth.
68905
68906         Fix member variable order of ContextMenuItem
68907         https://bugs.webkit.org/show_bug.cgi?id=59905
68908
68909         Use the same order at decleration and assignment to silence compiler warning.
68910
68911         * platform/ContextMenuItem.h:
68912
68913 2011-07-10  Dan Bernstein  <mitz@apple.com>
68914
68915         <rdar://problem/9750062> REGRESSION: Button text missing in many iTunes Store pages
68916         https://bugs.webkit.org/show_bug.cgi?id=64236
68917
68918         Reviewed by Maciej Stachowiak.
68919
68920         Test: fast/css/empty-display-none.html
68921
68922         When an :empty selector caused an element to not have a renderer, the check for empty style
68923         change when finishing parsing the elemenet did nothing, because it could not check if the
68924         element’s current style was affected by :empty. The fix is to record the fact that the style
68925         was affected by :empty in ElementRareData in the no-renderer case.
68926
68927         * dom/Element.cpp:
68928         (WebCore::Element::recalcStyle): Clear the m_styleAffectedByEmpty flag.
68929         (WebCore::checkForEmptyStyleChange): If the style is null (meaning there is no renderer), check
68930         Element::styleAffectedByEmpty().
68931         (WebCore::Element::setStyleAffectedByEmpty): Added. Sets the flag in rare data.
68932         (WebCore::Element::styleAffectedByEmpty): Added. Checks for the flag in rare data.
68933         * dom/Element.h:
68934         * dom/ElementRareData.h:
68935         (WebCore::ElementRareData::ElementRareData): Added m_styleAffectedByEmpty and initialized it
68936         to false.
68937         * dom/NodeRenderingContext.cpp:
68938         (WebCore::NodeRendererFactory::createRendererAndStyle): If an element doesn’t need a renderer
68939         and its style is affected by :empty, record this fact in the element by calling setStyleAffectedByEmpty().
68940
68941 2011-07-10  Mark Rowe  <mrowe@apple.com>
68942
68943         Fix the build.
68944
68945         * svg/properties/SVGAttributeToPropertyMap.h: Forward-declare SVGPropertyInfo as a struct
68946         since that's what it is.
68947
68948 2011-07-09  Patrick Gansterer  <paroga@webkit.org>
68949
68950         Unreviewed WinCE build fix for r90680.
68951
68952         Repeat the change done in r90681 for all other SVGAnimated*PropertyTearOff.h files.
68953
68954         * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: Make create public and remove friendship with SVGAnimatedProperty.
68955         * svg/properties/SVGAnimatedListPropertyTearOff.h: Ditto.
68956         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Ditto.
68957         * svg/properties/SVGAnimatedPropertyTearOff.h: Ditto.
68958         * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Ditto.
68959
68960 2011-07-09  Nikolas Zimmermann  <nzimmermann@rim.com>
68961
68962         Add a possibility to retrieve the associated SVGAnimatedProperty object for a certain XML attribute
68963         https://bugs.webkit.org/show_bug.cgi?id=63797
68964
68965         Fix WinCE build. Funny none other platform complained.
68966
68967         * svg/properties/SVGAnimatedStaticPropertyTearOff.h: Make create public, SVGAnimatedProperty needs it - remove friendship with it.
68968
68969 2011-07-09  Nikolas Zimmermann  <nzimmermann@rim.com>
68970
68971         Add a possibility to retrieve the associated SVGAnimatedProperty object for a certain XML attribute
68972         https://bugs.webkit.org/show_bug.cgi?id=63797
68973
68974         Reviewed by Dirk Schulze.
68975
68976         In order to prepare animVal support we need a way to map a given SVG DOM attribute to a SVGAnimatedProperty.
68977         eg. SVGNames::xAttr -> SVGRectElement::xAnimated(), etc. This will be needed to update the animVal of the
68978         SVGAnimatedProperty, if an animation is running. It would required adding a new method to all SVG* classes
68979         that define animated properties. Unfortunately we already have lots of repeated code in methods like
68980         synchronizeProperty / fillAttributeToPropertyTypeMap. Look at SVGRectElement for example:
68981
68982         void SVGRectElement::synchronizeProperty(const QualifiedName& attrName)
68983         {
68984             if (attrName == anyQName()) {
68985                 synchronizeX();
68986                 synchronizeY();
68987                  ...
68988               }
68989
68990             if (attrName == SVGNames::xAttr) {
68991                 synchronizeX();
68992                 return;
68993             }
68994
68995             if (attrName == SVGNames::yAttr) {
68996                 synchronizeY();
68997                 return;
68998             }
68999             ...
69000         }
69001
69002         or
69003
69004         void SVGRectElement::fillAttributeToPropertyTypeMap()
69005         {
69006             AttributeToPropertyTypeMap& attributeToPropertyTypeMap = this->attributeToPropertyTypeMap();
69007         
69008             SVGStyledTransformableElement::fillPassedAttributeToPropertyTypeMap(attributeToPropertyTypeMap);
69009             attributeToPropertyTypeMap.set(SVGNames::xAttr, AnimatedLength);
69010             attributeToPropertyTypeMap.set(SVGNames::yAttr, AnimatedLength);
69011             ...
69012         }
69013
69014         These lookups are all performed dynamically. Each synchronizeProperty() call does a lot of comparisons.
69015         fillAttributeToPropertyTypeMap() isn't that bad as the result is cached in a static HashMap per-SVGRectElement.
69016         There's no reason to do these things dynamically!
69017
69018         Inspired by JSC, I'm adding a "static const SVGPropertyInfo s_fooPropertyInfo" object for each animated SVG property.
69019         For example, for SVGRectElements SVGAnimatedLength x property we're storing:
69020         - "AnimatedPropertyType type" (AnimatedLength -- note the enum was named AnimatedAttributeType, I renamed it to AnimatedPropertyType for clarity)
69021         - "const QualifiedName& attributeName" (SVGNames::xAttr)
69022         - "const AtomicString& propertyIdentifier" (SVGNames::xAttr.localName() -- only different if N-wrappers map to a single XML DOM attribute, eg. orientAttr)
69023         - "SynchronizeProperty synchronizeProperty" (callback to SVGRectElement::synchronizeX)
69024         - "LookupOrCreateWrapperForAnimatedProperty lookupOrCreateWrapperForAnimatedProperty" (callback to SVGRectElement::xAnimated)
69025
69026         Using this information, we can replace all the various synchronizeProperty/fillAttributeToPropertyMap implementations, with a single one in SVGElement.
69027         All these are auto-generated, using the standard macros used to define/declare SVG animated properties. This required several changes to the macros.
69028         Here's a summary:
69029     
69030         #1) In all headers, wrap DECLARE_ANIMATED_* calls, in BEGIN_DECLARE_ANIMATED_PROPERTIES(ClassName) / END_DECLARE_ANIMATED_PROPERTIES blocks.
69031         
69032             Sample change for SVGRectElement:
69033             -    DECLARE_ANIMATED_LENGTH(X, x)
69034             -    DECLARE_ANIMATED_LENGTH(Y, y)
69035             -    ...
69036
69037             +    BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGRectElement)
69038             +        DECLARE_ANIMATED_LENGTH(X, x)
69039             +        DECLARE_ANIMATED_LENGTH(Y, y)
69040             +         ...
69041             +    END_DECLARE_ANIMATED_PROPERTIES
69042
69043         #2) In all cpp files, add a new section wrapped in BEGIN_REGISTER_ANIMATED_PROPERTIES(ClassName / END_REGISTER_ANIMATED_PROPERTIES blocks:
69044
69045             Sample change for SVGRectElement:
69046             +BEGIN_REGISTER_ANIMATED_PROPERTIES(SVGRectElement)
69047             +    REGISTER_LOCAL_ANIMATED_PROPERTY(x)
69048             +    REGISTER_LOCAL_ANIMATED_PROPERTY(y)
69049             +    ...
69050             +    REGISTER_PARENT_ANIMATED_PROPERTIES(SVGStyledTransformableElement)
69051             +    REGISTER_PARENT_ANIMATED_PROPERTIES(SVGTests)
69052             +END_REGISTER_ANIMATED_PROPERTIES
69053
69054             This is the main piece of the logic that replaces the manual synchronizeProperty/fillAttributeToPropertyMap implementation. It expands to following:
69055
69056             SVGAttributeToPropertyMap& SVGRectElement::attributeToPropertyMap()
69057             {
69058                 DEFINE_STATIC_LOCAL(SVGAttributeToPropertyMap, s_attributeToPropertyMap, ());
69059             }
69060
69061             static void registerAnimatedPropertiesForSVGRectElement()
69062             {
69063                 SVGAttributeToPropertyMap& map = SVGRectElement::attributeToPropertyMap();
69064                 if (!map.isEmpty())
69065                     return;
69066                 map.addProperty(SVGRectElement::xPropertyInfo());
69067                 map.addProperty(SVGRectElement::yPropertyInfo());
69068                 ...
69069                 map.addProperties(SVGStyledTransformableElement::attributeToPropertyMap());
69070                 map.addProperties(SVGTests::attributeToPropertyMap());
69071             }
69072
69073             A single-instance of SVGAttributeToPropertyMap is created for each SVG*Element. The constructor of SVGRectElement is supposed to call
69074             registerAnimatedPropertiesForSVGRectElement(), which collects all properties of SVGRectElement and all its parent classes and stores them
69075             in a Vector<const SVGPropertyInfo*>. This Vector is stored in a HashMap<QualifiedName, Vector<const SVGPropertyInfo*> > where the key
69076             is the attribute name (eg. SVGNames::xAttr -> SVGRectElement::xPropertyInfo). This is only done _once_ per SVGRectElement.
69077
69078             SVGElement contains a "virtual SVGAttributeToPropertyMap& localAttributeToPropertyMap()" method, and SVGRectElement overrides it
69079             and returns SVGRectElement::attributeToPropertyMap() (which is static!) -- this is hidden again in the macros, no need to write any code.
69080
69081             SVGAttributeToPropertyMap provides following API:
69082             - bool synchronizeProperty(SVGElement* contextElement, const QualifiedName& attributeName)
69083             - void synchronizeProperties(SVGElement* contextElement)
69084             
69085                 A generic way to synchronize a SVGAnimatedProperty with its XML DOM attribute. Any SVG DOM change to eg. <rect>s x property will now trigger
69086                 contextElement->localAttributeToPropertyMap().synchronizeProperty(this, SVGNames::xAttr)
69087                 The SVGAttributeToPropertyMap will ask its HashMap for the Vector containing the properties for SVGNames::xAttr (in that case, just one xAnimated()).
69088
69089             - void animatedPropertyTypeForAttribute(const QualifiedName& attributeName, Vector<AnimatedPropertyType>& propertyTypes)
69090
69091                 This method replaces the fillAttributeToPropertyMap implementations everywhere.
69092         
69093             - void animatedPropertiesForAttribute(SVGElement* contextElement, const QualifiedName& attributeName, Vector<RefPtr<SVGAnimatedProperty> >& properties);
69094
69095                 This method is not used yet, but allows us to collect all SVGAnimatedProperties for a QualifiedName -- the initial goal for this patch.
69096
69097         #3) In all cpp files, add a call to "registerAnimatedPropertiesForClassName()" in the constructor. Forgetting this will result in a compile error.
69098
69099         Doesn't affect any tests.
69100
69101         * CMakeLists.txt:
69102         * GNUmakefile.list.am:
69103         * WebCore.gypi:
69104         * WebCore.pro:
69105         * WebCore.vcproj/WebCore.vcproj:
69106         * WebCore.xcodeproj/project.pbxproj:
69107         * bindings/scripts/CodeGeneratorJS.pm:
69108         (NativeToJSValue):
69109         * bindings/scripts/CodeGeneratorObjC.pm:
69110         (GenerateImplementation):
69111         * bindings/scripts/CodeGeneratorV8.pm:
69112         (GenerateNormalAttrGetter):
69113         * svg/SVGAElement.cpp:
69114         (WebCore::SVGAElement::SVGAElement):
69115         * svg/SVGAElement.h:
69116         (WebCore::SVGAElement::synchronizeRequiredFeatures):
69117         (WebCore::SVGAElement::synchronizeRequiredExtensions):
69118         (WebCore::SVGAElement::synchronizeSystemLanguage):
69119         * svg/SVGAltGlyphElement.cpp:
69120         (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
69121         * svg/SVGAltGlyphElement.h:
69122         * svg/SVGAnimateElement.cpp:
69123         (WebCore::SVGAnimateElement::SVGAnimateElement):
69124         (WebCore::SVGAnimateElement::hasValidAttributeType):
69125         (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
69126         (WebCore::SVGAnimateElement::determinePropertyValueTypes):
69127         (WebCore::SVGAnimateElement::calculateAnimatedValue):
69128         (WebCore::SVGAnimateElement::calculateFromAndToValues):
69129         (WebCore::SVGAnimateElement::calculateFromAndByValues):
69130         (WebCore::SVGAnimateElement::resetToBaseValue):
69131         (WebCore::SVGAnimateElement::applyResultsToTarget):
69132         (WebCore::SVGAnimateElement::calculateDistance):
69133         (WebCore::SVGAnimateElement::ensureAnimator):
69134         * svg/SVGAnimateElement.h:
69135         * svg/SVGAnimateTransformElement.cpp:
69136         (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
69137         (WebCore::SVGAnimateTransformElement::determineAnimatedPropertyType):
69138         (WebCore::SVGAnimateTransformElement::resetToBaseValue):
69139         (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
69140         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
69141         * svg/SVGAnimateTransformElement.h:
69142         * svg/SVGAnimatedAngle.h:
69143         * svg/SVGAnimatedBoolean.h:
69144         * svg/SVGAnimatedEnumeration.h:
69145         * svg/SVGAnimatedInteger.h:
69146         * svg/SVGAnimatedLength.h:
69147         * svg/SVGAnimatedLengthList.h:
69148         * svg/SVGAnimatedNumber.h:
69149         * svg/SVGAnimatedNumberList.h:
69150         * svg/SVGAnimatedPreserveAspectRatio.h:
69151         * svg/SVGAnimatedRect.h:
69152         * svg/SVGAnimatedString.h:
69153         * svg/SVGAnimatedTransformList.h:
69154         * svg/SVGAnimatedType.cpp:
69155         (WebCore::SVGAnimatedType::SVGAnimatedType):
69156         * svg/SVGAnimatedType.h:
69157         (WebCore::SVGAnimatedType::type):
69158         * svg/SVGAnimatedTypeAnimator.h:
69159         (WebCore::SVGAnimatedTypeAnimator::SVGAnimatedTypeAnimator):
69160         * svg/SVGAnimationElement.cpp:
69161         (WebCore::SVGAnimationElement::SVGAnimationElement):
69162         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
69163         * svg/SVGAnimationElement.h:
69164         (WebCore::SVGAnimationElement::synchronizeRequiredFeatures):
69165         (WebCore::SVGAnimationElement::synchronizeRequiredExtensions):
69166         (WebCore::SVGAnimationElement::synchronizeSystemLanguage):
69167         * svg/SVGAnimatorFactory.h:
69168         (WebCore::SVGAnimatorFactory::create):
69169         * svg/SVGCircleElement.cpp:
69170         (WebCore::SVGCircleElement::SVGCircleElement):
69171         * svg/SVGCircleElement.h:
69172         (WebCore::SVGCircleElement::synchronizeRequiredFeatures):
69173         (WebCore::SVGCircleElement::synchronizeRequiredExtensions):
69174         (WebCore::SVGCircleElement::synchronizeSystemLanguage):
69175         * svg/SVGClipPathElement.cpp:
69176         (WebCore::SVGClipPathElement::SVGClipPathElement):
69177         * svg/SVGClipPathElement.h:
69178         (WebCore::SVGClipPathElement::synchronizeRequiredFeatures):
69179         (WebCore::SVGClipPathElement::synchronizeRequiredExtensions):
69180         (WebCore::SVGClipPathElement::synchronizeSystemLanguage):
69181         * svg/SVGComponentTransferFunctionElement.cpp:
69182         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
69183         * svg/SVGComponentTransferFunctionElement.h:
69184         * svg/SVGCursorElement.cpp:
69185         (WebCore::SVGCursorElement::SVGCursorElement):
69186         * svg/SVGCursorElement.h:
69187         (WebCore::SVGCursorElement::synchronizeRequiredFeatures):
69188         (WebCore::SVGCursorElement::synchronizeRequiredExtensions):
69189         (WebCore::SVGCursorElement::synchronizeSystemLanguage):
69190         * svg/SVGDefsElement.cpp:
69191         (WebCore::SVGDefsElement::SVGDefsElement):
69192         * svg/SVGDefsElement.h:
69193         (WebCore::SVGDefsElement::synchronizeRequiredFeatures):
69194         (WebCore::SVGDefsElement::synchronizeRequiredExtensions):
69195         (WebCore::SVGDefsElement::synchronizeSystemLanguage):
69196         * svg/SVGElement.cpp:
69197         (WebCore::SVGElement::animatedPropertyTypeForAttribute):
69198         (WebCore::SVGElement::updateAnimatedSVGAttribute):
69199         (WebCore::SVGElement::localAttributeToPropertyMap):
69200         (WebCore::SVGElement::synchronizeRequiredFeatures):
69201         (WebCore::SVGElement::synchronizeRequiredExtensions):
69202         (WebCore::SVGElement::synchronizeSystemLanguage):
69203         * svg/SVGElement.h:
69204         (WebCore::SVGElement::svgAttributeChanged):
69205         (WebCore::SVGElement::synchronizeRequiredFeatures):
69206         (WebCore::SVGElement::synchronizeRequiredExtensions):
69207         (WebCore::SVGElement::synchronizeSystemLanguage):
69208         * svg/SVGEllipseElement.cpp:
69209         (WebCore::SVGEllipseElement::SVGEllipseElement):
69210         * svg/SVGEllipseElement.h:
69211         (WebCore::SVGEllipseElement::synchronizeRequiredFeatures):
69212         (WebCore::SVGEllipseElement::synchronizeRequiredExtensions):
69213         (WebCore::SVGEllipseElement::synchronizeSystemLanguage):
69214         * svg/SVGFEBlendElement.cpp:
69215         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
69216         * svg/SVGFEBlendElement.h:
69217         * svg/SVGFEColorMatrixElement.cpp:
69218         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
69219         * svg/SVGFEColorMatrixElement.h:
69220         * svg/SVGFEComponentTransferElement.cpp:
69221         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
69222         * svg/SVGFEComponentTransferElement.h:
69223         * svg/SVGFECompositeElement.cpp:
69224         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
69225         * svg/SVGFECompositeElement.h:
69226         * svg/SVGFEConvolveMatrixElement.cpp:
69227         (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
69228         * svg/SVGFEConvolveMatrixElement.h:
69229         * svg/SVGFEDiffuseLightingElement.cpp:
69230         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
69231         * svg/SVGFEDiffuseLightingElement.h:
69232         * svg/SVGFEDisplacementMapElement.cpp:
69233         (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
69234         * svg/SVGFEDisplacementMapElement.h:
69235         * svg/SVGFEDropShadowElement.cpp:
69236         (WebCore::SVGFEDropShadowElement::SVGFEDropShadowElement):
69237         * svg/SVGFEDropShadowElement.h:
69238         * svg/SVGFEFloodElement.cpp:
69239         * svg/SVGFEFloodElement.h:
69240         * svg/SVGFEGaussianBlurElement.cpp:
69241         (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
69242         * svg/SVGFEGaussianBlurElement.h:
69243         * svg/SVGFEImageElement.cpp:
69244         (WebCore::SVGFEImageElement::SVGFEImageElement):
69245         * svg/SVGFEImageElement.h:
69246         * svg/SVGFELightElement.cpp:
69247         (WebCore::SVGFELightElement::SVGFELightElement):
69248         * svg/SVGFELightElement.h:
69249         * svg/SVGFEMergeElement.cpp:
69250         * svg/SVGFEMergeElement.h:
69251         * svg/SVGFEMergeNodeElement.cpp:
69252         (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
69253         * svg/SVGFEMergeNodeElement.h:
69254         * svg/SVGFEMorphologyElement.cpp:
69255         (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
69256         * svg/SVGFEMorphologyElement.h:
69257         * svg/SVGFEOffsetElement.cpp:
69258         (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
69259         * svg/SVGFEOffsetElement.h:
69260         * svg/SVGFESpecularLightingElement.cpp:
69261         (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
69262         * svg/SVGFESpecularLightingElement.h:
69263         * svg/SVGFETileElement.cpp:
69264         (WebCore::SVGFETileElement::SVGFETileElement):
69265         * svg/SVGFETileElement.h:
69266         * svg/SVGFETurbulenceElement.cpp:
69267         (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
69268         * svg/SVGFETurbulenceElement.h:
69269         * svg/SVGFilterElement.cpp:
69270         (WebCore::SVGFilterElement::SVGFilterElement):
69271         * svg/SVGFilterElement.h:
69272         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
69273         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
69274         * svg/SVGFilterPrimitiveStandardAttributes.h:
69275         * svg/SVGFitToViewBox.cpp:
69276         * svg/SVGFitToViewBox.h:
69277         * svg/SVGFontElement.cpp:
69278         (WebCore::SVGFontElement::SVGFontElement):
69279         * svg/SVGFontElement.h:
69280         (WebCore::SVGFontElement::rendererIsNeeded):
69281         * svg/SVGForeignObjectElement.cpp:
69282         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
69283         * svg/SVGForeignObjectElement.h:
69284         (WebCore::SVGForeignObjectElement::synchronizeRequiredFeatures):
69285         (WebCore::SVGForeignObjectElement::synchronizeRequiredExtensions):
69286         (WebCore::SVGForeignObjectElement::synchronizeSystemLanguage):
69287         * svg/SVGGElement.cpp:
69288         (WebCore::SVGGElement::SVGGElement):
69289         * svg/SVGGElement.h:
69290         (WebCore::SVGGElement::synchronizeRequiredFeatures):
69291         (WebCore::SVGGElement::synchronizeRequiredExtensions):
69292         (WebCore::SVGGElement::synchronizeSystemLanguage):
69293         * svg/SVGGlyphElement.cpp:
69294         * svg/SVGGlyphElement.h:
69295         * svg/SVGGradientElement.cpp:
69296         (WebCore::SVGGradientElement::SVGGradientElement):
69297         (WebCore::SVGGradientElement::svgAttributeChanged):
69298         * svg/SVGGradientElement.h:
69299         * svg/SVGImageElement.cpp:
69300         (WebCore::SVGImageElement::SVGImageElement):
69301         * svg/SVGImageElement.h:
69302         (WebCore::SVGImageElement::synchronizeRequiredFeatures):
69303         (WebCore::SVGImageElement::synchronizeRequiredExtensions):
69304         (WebCore::SVGImageElement::synchronizeSystemLanguage):
69305         * svg/SVGLineElement.cpp:
69306         (WebCore::SVGLineElement::SVGLineElement):
69307         * svg/SVGLineElement.h:
69308         (WebCore::SVGLineElement::synchronizeRequiredFeatures):
69309         (WebCore::SVGLineElement::synchronizeRequiredExtensions):
69310         (WebCore::SVGLineElement::synchronizeSystemLanguage):
69311         * svg/SVGLinearGradientElement.cpp:
69312         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
69313         * svg/SVGLinearGradientElement.h:
69314         * svg/SVGMPathElement.cpp:
69315         (WebCore::SVGMPathElement::SVGMPathElement):
69316         * svg/SVGMPathElement.h:
69317         * svg/SVGMarkerElement.cpp:
69318         (WebCore::SVGMarkerElement::orientTypePropertyInfo):
69319         (WebCore::SVGMarkerElement::SVGMarkerElement):
69320         (WebCore::SVGMarkerElement::setOrientToAuto):
69321         (WebCore::SVGMarkerElement::setOrientToAngle):
69322         (WebCore::SVGMarkerElement::synchronizeOrientType):
69323         (WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper):
69324         (WebCore::SVGMarkerElement::orientTypeAnimated):
69325         * svg/SVGMarkerElement.h:
69326         * svg/SVGMaskElement.cpp:
69327         (WebCore::SVGMaskElement::SVGMaskElement):
69328         * svg/SVGMaskElement.h:
69329         (WebCore::SVGMaskElement::synchronizeRequiredFeatures):
69330         (WebCore::SVGMaskElement::synchronizeRequiredExtensions):
69331         (WebCore::SVGMaskElement::synchronizeSystemLanguage):
69332         * svg/SVGMissingGlyphElement.cpp:
69333         * svg/SVGMissingGlyphElement.h:
69334         * svg/SVGPathElement.cpp:
69335         (WebCore::SVGPathElement::dPropertyInfo):
69336         (WebCore::SVGPathElement::SVGPathElement):
69337         (WebCore::SVGPathElement::svgAttributeChanged):
69338         (WebCore::SVGPathElement::lookupOrCreateDWrapper):
69339         (WebCore::SVGPathElement::synchronizeD):
69340         (WebCore::SVGPathElement::pathSegList):
69341         (WebCore::SVGPathElement::animatedPathSegList):
69342         * svg/SVGPathElement.h:
69343         (WebCore::SVGPathElement::pathByteStream):
69344         (WebCore::SVGPathElement::synchronizeRequiredFeatures):
69345         (WebCore::SVGPathElement::synchronizeRequiredExtensions):
69346         (WebCore::SVGPathElement::synchronizeSystemLanguage):
69347         * svg/SVGPathSegWithContext.h:
69348         (WebCore::SVGPathSegWithContext::animatedProperty):
69349         * svg/SVGPatternElement.cpp:
69350         (WebCore::SVGPatternElement::SVGPatternElement):
69351         * svg/SVGPatternElement.h:
69352         (WebCore::SVGPatternElement::synchronizeRequiredFeatures):
69353         (WebCore::SVGPatternElement::synchronizeRequiredExtensions):
69354         (WebCore::SVGPatternElement::synchronizeSystemLanguage):
69355         * svg/SVGPolyElement.cpp:
69356         (WebCore::SVGPolyElement::pointsPropertyInfo):
69357         (WebCore::SVGPolyElement::SVGPolyElement):
69358         (WebCore::SVGPolyElement::parseMappedAttribute):
69359         (WebCore::SVGPolyElement::synchronizePoints):
69360         (WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
69361         (WebCore::SVGPolyElement::points):
69362         (WebCore::SVGPolyElement::animatedPoints):
69363         * svg/SVGPolyElement.h:
69364         (WebCore::SVGPolyElement::synchronizeRequiredFeatures):
69365         (WebCore::SVGPolyElement::synchronizeRequiredExtensions):
69366         (WebCore::SVGPolyElement::synchronizeSystemLanguage):
69367         * svg/SVGRadialGradientElement.cpp:
69368         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
69369         * svg/SVGRadialGradientElement.h:
69370         * svg/SVGRectElement.cpp:
69371         (WebCore::SVGRectElement::SVGRectElement):
69372         * svg/SVGRectElement.h:
69373         (WebCore::SVGRectElement::synchronizeRequiredFeatures):
69374         (WebCore::SVGRectElement::synchronizeRequiredExtensions):
69375         (WebCore::SVGRectElement::synchronizeSystemLanguage):
69376         * svg/SVGSVGElement.cpp:
69377         (WebCore::SVGSVGElement::SVGSVGElement):
69378         * svg/SVGSVGElement.h:
69379         (WebCore::SVGSVGElement::synchronizeRequiredFeatures):
69380         (WebCore::SVGSVGElement::synchronizeRequiredExtensions):
69381         (WebCore::SVGSVGElement::synchronizeSystemLanguage):
69382         * svg/SVGScriptElement.cpp:
69383         (WebCore::SVGScriptElement::SVGScriptElement):
69384         * svg/SVGScriptElement.h:
69385         * svg/SVGStopElement.cpp:
69386         (WebCore::SVGStopElement::SVGStopElement):
69387         * svg/SVGStopElement.h:
69388         * svg/SVGStyledElement.cpp:
69389         (WebCore::SVGStyledElement::SVGStyledElement):
69390         (WebCore::cssPropertyToTypeMap):
69391         (WebCore::SVGStyledElement::animatedPropertyTypeForAttribute):
69392         * svg/SVGStyledElement.h:
69393         * svg/SVGStyledTransformableElement.cpp:
69394         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
69395         * svg/SVGStyledTransformableElement.h:
69396         * svg/SVGSwitchElement.cpp:
69397         (WebCore::SVGSwitchElement::SVGSwitchElement):
69398         * svg/SVGSwitchElement.h:
69399         (WebCore::SVGSwitchElement::synchronizeRequiredFeatures):
69400         (WebCore::SVGSwitchElement::synchronizeRequiredExtensions):
69401         (WebCore::SVGSwitchElement::synchronizeSystemLanguage):
69402         * svg/SVGSymbolElement.cpp:
69403         (WebCore::SVGSymbolElement::SVGSymbolElement):
69404         * svg/SVGSymbolElement.h:
69405         * svg/SVGTRefElement.cpp:
69406         (WebCore::SVGTRefElement::SVGTRefElement):
69407         * svg/SVGTRefElement.h:
69408         * svg/SVGTSpanElement.cpp:
69409         * svg/SVGTSpanElement.h:
69410         * svg/SVGTests.cpp:
69411         (WebCore::SVGTests::requiredFeaturesPropertyInfo):
69412         (WebCore::SVGTests::requiredExtensionsPropertyInfo):
69413         (WebCore::SVGTests::systemLanguagePropertyInfo):
69414         (WebCore::SVGTests::attributeToPropertyMap):
69415         (WebCore::SVGTests::synchronizeRequiredFeatures):
69416         (WebCore::SVGTests::synchronizeRequiredExtensions):
69417         (WebCore::SVGTests::synchronizeSystemLanguage):
69418         * svg/SVGTests.h:
69419         * svg/SVGTextContentElement.cpp:
69420         (WebCore::SVGTextContentElement::textLengthPropertyInfo):
69421         (WebCore::SVGTextContentElement::SVGTextContentElement):
69422         (WebCore::SVGTextContentElement::synchronizeTextLength):
69423         (WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper):
69424         (WebCore::SVGTextContentElement::textLengthAnimated):
69425         * svg/SVGTextContentElement.h:
69426         (WebCore::SVGTextContentElement::synchronizeRequiredFeatures):
69427         (WebCore::SVGTextContentElement::synchronizeRequiredExtensions):
69428         (WebCore::SVGTextContentElement::synchronizeSystemLanguage):
69429         * svg/SVGTextElement.cpp:
69430         (WebCore::SVGTextElement::SVGTextElement):
69431         * svg/SVGTextElement.h:
69432         * svg/SVGTextPathElement.cpp:
69433         (WebCore::SVGTextPathElement::SVGTextPathElement):
69434         * svg/SVGTextPathElement.h:
69435         * svg/SVGTextPositioningElement.cpp:
69436         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
69437         * svg/SVGTextPositioningElement.h:
69438         * svg/SVGTitleElement.cpp:
69439         * svg/SVGTitleElement.h:
69440         (WebCore::SVGTitleElement::rendererIsNeeded):
69441         * svg/SVGUseElement.cpp:
69442         (WebCore::SVGUseElement::SVGUseElement):
69443         * svg/SVGUseElement.h:
69444         (WebCore::SVGUseElement::synchronizeRequiredFeatures):
69445         (WebCore::SVGUseElement::synchronizeRequiredExtensions):
69446         (WebCore::SVGUseElement::synchronizeSystemLanguage):
69447         * svg/SVGViewElement.cpp:
69448         (WebCore::SVGViewElement::SVGViewElement):
69449         * svg/SVGViewElement.h:
69450         * svg/SVGViewSpec.cpp:
69451         (WebCore::SVGViewSpec::SVGViewSpec):
69452         * svg/SVGViewSpec.h:
69453         * svg/properties/SVGAnimatedProperty.h:
69454         (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper):
69455         (WebCore::SVGAnimatedProperty::lookupWrapper):
69456         * svg/properties/SVGAnimatedPropertyMacros.h:
69457         * svg/properties/SVGAnimatedPropertySynchronizer.h:
69458         * svg/properties/SVGAttributeToPropertyMap.cpp: Added.
69459         (WebCore::SVGAttributeToPropertyMap::addProperties):
69460         (WebCore::SVGAttributeToPropertyMap::addProperty):
69461         (WebCore::SVGAttributeToPropertyMap::animatedPropertiesForAttribute):
69462         (WebCore::SVGAttributeToPropertyMap::animatedPropertyTypeForAttribute):
69463         (WebCore::SVGAttributeToPropertyMap::synchronizeProperties):
69464         (WebCore::SVGAttributeToPropertyMap::synchronizeProperty):
69465         (WebCore::SVGAttributeToPropertyMap::animatedProperty):
69466         * svg/properties/SVGAttributeToPropertyMap.h: Added.
69467         (WebCore::SVGAttributeToPropertyMap::SVGAttributeToPropertyMap):
69468         (WebCore::SVGAttributeToPropertyMap::~SVGAttributeToPropertyMap):
69469         (WebCore::SVGAttributeToPropertyMap::isEmpty):
69470         * svg/properties/SVGPropertyInfo.h: Added.
69471         (WebCore::SVGPropertyInfo::SVGPropertyInfo):
69472
69473 2011-07-09  Patrick Gansterer  <paroga@webkit.org>
69474
69475         Unreviewed build fix after r90676.
69476
69477         * platform/graphics/ImageBuffer.cpp:
69478
69479 2011-07-08  Dirk Schulze  <krit@webkit.org>
69480
69481         Refactoring luminance code in RenderSVGResourceMasker
69482         https://bugs.webkit.org/show_bug.cgi?id=64146
69483
69484         Reviewed by Simon Fraser.
69485
69486         Moved luminance calculcation code to ImageBuffer. The code is doing pixel manipulations and can now get replaced
69487         by platform specific algorithms in the ImmageBuffer*.cpp files.
69488
69489         No change of functionality. No new tests.
69490
69491         * WebCore.xcodeproj/project.pbxproj:
69492         * platform/graphics/ImageBuffer.cpp:
69493         (WebCore::ImageBuffer::transformColorSpace):
69494         (WebCore::ImageBuffer::genericConvertToLuminanceMask):
69495         (WebCore::ImageBuffer::convertToLuminanceMask):
69496         * platform/graphics/ImageBuffer.h:
69497         * rendering/svg/RenderSVGResourceMasker.cpp:
69498         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
69499
69500 2011-07-08  Simon Fraser  <simon.fraser@apple.com>
69501
69502         Clean up RenderWidget::destroy() to share more code
69503         https://bugs.webkit.org/show_bug.cgi?id=64138
69504
69505         Reviewed by James Robinson.
69506
69507         RenderWidget::destroy() copied code from various other
69508         destroy() methods, which made code maintenance in this
69509         area very risky.
69510         
69511         Fix by adding a virtual willBeDestroyed() method, which
69512         replaces most instances of destroy(). Now, only RenderWidget
69513         and RenderObject implement destroy(), and each just calls
69514         willBeDestroyed(). Code duplication is averted.
69515         
69516         No behavior change, so no tests.
69517
69518         * rendering/RenderBlock.cpp:
69519         (WebCore::RenderBlock::willBeDestroyed):
69520         * rendering/RenderBlock.h:
69521         * rendering/RenderBox.cpp:
69522         (WebCore::RenderBox::willBeDestroyed):
69523         * rendering/RenderBox.h:
69524         * rendering/RenderBoxModelObject.cpp:
69525         (WebCore::RenderBoxModelObject::willBeDestroyed):
69526         * rendering/RenderBoxModelObject.h:
69527         * rendering/RenderFullScreen.cpp:
69528         (RenderFullScreenPlaceholder::willBeDestroyed):
69529         (RenderFullScreen::willBeDestroyed):
69530         * rendering/RenderFullScreen.h:
69531         * rendering/RenderInline.cpp:
69532         (WebCore::RenderInline::willBeDestroyed):
69533         * rendering/RenderInline.h:
69534         * rendering/RenderListItem.cpp:
69535         (WebCore::RenderListItem::willBeDestroyed):
69536         * rendering/RenderListItem.h:
69537         * rendering/RenderObject.cpp:
69538         (WebCore::RenderObject::willBeDestroyed):
69539         (WebCore::RenderObject::destroy):
69540         * rendering/RenderObject.h:
69541         * rendering/RenderReplaced.cpp:
69542         (WebCore::RenderReplaced::willBeDestroyed):
69543         * rendering/RenderReplaced.h:
69544         * rendering/RenderTableCell.cpp:
69545         (WebCore::RenderTableCell::willBeDestroyed):
69546         * rendering/RenderTableCell.h:
69547         * rendering/RenderTableRow.cpp:
69548         (WebCore::RenderTableRow::willBeDestroyed):
69549         * rendering/RenderTableRow.h:
69550         * rendering/RenderTableSection.cpp:
69551         (WebCore::RenderTableSection::willBeDestroyed):
69552         * rendering/RenderTableSection.h:
69553         * rendering/RenderText.cpp:
69554         (WebCore::RenderText::willBeDestroyed):
69555         * rendering/RenderText.h:
69556         * rendering/RenderTextFragment.cpp:
69557         (WebCore::RenderTextFragment::willBeDestroyed):
69558         * rendering/RenderTextFragment.h:
69559         * rendering/RenderWidget.cpp:
69560         (WebCore::RenderWidget::willBeDestroyed):
69561         (WebCore::RenderWidget::destroy):
69562         * rendering/RenderWidget.h:
69563         * rendering/svg/RenderSVGBlock.cpp:
69564         (WebCore::RenderSVGBlock::willBeDestroyed):
69565         * rendering/svg/RenderSVGBlock.h:
69566         * rendering/svg/RenderSVGInline.cpp:
69567         (WebCore::RenderSVGInline::willBeDestroyed):
69568         * rendering/svg/RenderSVGInline.h:
69569         * rendering/svg/RenderSVGInlineText.cpp:
69570         (WebCore::RenderSVGInlineText::willBeDestroyed):
69571         * rendering/svg/RenderSVGInlineText.h:
69572         * rendering/svg/RenderSVGModelObject.cpp:
69573         (WebCore::RenderSVGModelObject::willBeDestroyed):
69574         * rendering/svg/RenderSVGModelObject.h:
69575         * rendering/svg/RenderSVGResourceContainer.cpp:
69576         (WebCore::RenderSVGResourceContainer::willBeDestroyed):
69577         * rendering/svg/RenderSVGResourceContainer.h:
69578         * rendering/svg/RenderSVGRoot.cpp:
69579         (WebCore::RenderSVGRoot::willBeDestroyed):
69580         * rendering/svg/RenderSVGRoot.h:
69581         * rendering/svg/SVGResourcesCache.h:
69582
69583 2011-07-08  Adam Barth  <abarth@webkit.org>
69584
69585         Unreviewed, rolling out r90662.
69586         http://trac.webkit.org/changeset/90662
69587         https://bugs.webkit.org/show_bug.cgi?id=64210
69588
69589         Introduced regressions in Chromium browser tests (Requested by
69590         rniwa on #webkit).
69591
69592         * accessibility/AccessibilityRenderObject.cpp:
69593         (WebCore::AccessibilityRenderObject::selectedText):
69594         (WebCore::AccessibilityRenderObject::selectedTextRange):
69595         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
69596         * html/HTMLFormControlElement.cpp:
69597         (WebCore::HTMLTextFormControlElement::setSelectionRange):
69598         (WebCore::HTMLTextFormControlElement::selectionStart):
69599         (WebCore::HTMLTextFormControlElement::selectionEnd):
69600         (WebCore::HTMLTextFormControlElement::selection):
69601         (WebCore::HTMLTextFormControlElement::restoreCachedSelection):
69602         (WebCore::HTMLTextFormControlElement::selectionChanged):
69603         * html/HTMLFormControlElement.h:
69604         * html/HTMLInputElement.cpp:
69605         (WebCore::HTMLInputElement::setValue):
69606         * rendering/RenderTextControl.cpp:
69607         (WebCore::RenderTextControl::selectionStart):
69608         (WebCore::RenderTextControl::selectionEnd):
69609         (WebCore::RenderTextControl::hasVisibleTextArea):
69610         (WebCore::setSelectionRange):
69611         (WebCore::setContainerAndOffsetForRange):
69612         (WebCore::RenderTextControl::selection):
69613         * rendering/RenderTextControl.h:
69614
69615 2011-07-08  Brian Salomon  <bsalomon@google.com>
69616
69617         Make GL context current before updating layer texture using skia-gpu
69618         https://bugs.webkit.org/show_bug.cgi?id=64206
69619
69620         Reviewed by James Robinson.
69621
69622         Covered by existing tests (when accelerated drawing and compositing are on).
69623
69624         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
69625         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
69626
69627 2011-07-08  Tony Chang  <tony@chromium.org>
69628
69629         Refactor override size to be a size rather than just an int
69630         https://bugs.webkit.org/show_bug.cgi?id=64195
69631
69632         Reviewed by David Hyatt.
69633
69634         Also convert to LayoutSize and LayoutUnit.
69635
69636         Covered by existing tests.
69637
69638         * rendering/RenderBox.cpp:
69639         (WebCore::RenderBox::overrideSize): Pass in a LayoutSize.
69640         (WebCore::RenderBox::setOverrideSize):
69641         (WebCore::RenderBox::clearOverrideSize): New method for clearing the
69642             override size (previous we would pass in -1)
69643         (WebCore::RenderBox::overrideWidth):
69644         (WebCore::RenderBox::overrideHeight):
69645         (WebCore::RenderBox::computeLogicalWidth):
69646         (WebCore::RenderBox::computeLogicalHeight):
69647         (WebCore::RenderBox::computePercentageLogicalHeight):
69648         (WebCore::RenderBox::availableLogicalHeightUsing):
69649         * rendering/RenderBox.h:
69650         * rendering/RenderDeprecatedFlexibleBox.cpp:
69651         (WebCore::gatherFlexChildrenInfo):
69652         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
69653         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
69654         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
69655         * rendering/RenderTableCell.cpp:
69656         (WebCore::RenderTableCell::setOverrideSizeFromRowHeight):
69657         * rendering/RenderTableCell.h: Remove setOverrideSize since it was
69658             only called in one place to clear the override size.  Inline this
69659             logic instead.
69660         * rendering/RenderTableSection.cpp:
69661         (WebCore::RenderTableSection::calcRowLogicalHeight):
69662         * rendering/RenderWidget.cpp:
69663         (WebCore::RenderWidget::destroy):
69664
69665 2011-07-08  Emil A Eklund  <eae@chromium.org>
69666
69667         Switch pointInContainer and accumulatedOffset to to new layout types
69668         https://bugs.webkit.org/show_bug.cgi?id=64112
69669
69670         Reviewed by Eric Seidel.
69671
69672         Convert remaining IntPoint versions of the pointInContainer and
69673         accumulatedOffset arguments to the new layout abstraction.
69674
69675         No new tests, no functionality changes.
69676
69677         * rendering/HitTestResult.cpp:
69678         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
69679         * rendering/HitTestResult.h:
69680         * rendering/RenderBlock.cpp:
69681         (WebCore::RenderBlock::isPointInOverflowControl):
69682         * rendering/RenderBlock.h:
69683         * rendering/RenderBox.cpp:
69684         (WebCore::RenderBox::pushContentsClip):
69685         (WebCore::RenderBox::popContentsClip):
69686         * rendering/RenderBox.h:
69687         * rendering/RenderEmbeddedObject.cpp:
69688         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
69689         * rendering/RenderEmbeddedObject.h:
69690         * rendering/RenderLineBoxList.cpp:
69691         (WebCore::RenderLineBoxList::hitTest):
69692         * rendering/RenderLineBoxList.h:
69693         * rendering/RenderListBox.cpp:
69694         (WebCore::RenderListBox::isPointInOverflowControl):
69695         * rendering/RenderListBox.h:
69696         * rendering/RenderObject.cpp:
69697         (WebCore::RenderObject::hitTest):
69698         * rendering/RenderObject.h:
69699         * rendering/RenderTextControl.cpp:
69700         (WebCore::RenderTextControl::hitInnerTextElement):
69701         * rendering/RenderTextControl.h:
69702         * rendering/RenderTextControlSingleLine.cpp:
69703         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
69704
69705 2011-07-07  Ryosuke Niwa  <rniwa@webkit.org>
69706
69707         Move selection related code from RenderTextControl to HTMLTextFormControlElement
69708         https://bugs.webkit.org/show_bug.cgi?id=64133
69709
69710         Reviewed by Dimitri Glazkov.
69711
69712         Moved selectionStart, selectionEnd, hasVisibleTextArea, setSelectionRange, setContainerAndOffsetForRange
69713         and selection from RenderTextControl.cpp to HTMLFormControlElement.cpp.
69714
69715         This refactoring removes RenderTextControl's dependency on FrameSelection.
69716
69717         * accessibility/AccessibilityRenderObject.cpp:
69718         (WebCore::AccessibilityRenderObject::selectedText): Calls HTMLTextFromControl::selectedText.
69719         (WebCore::AccessibilityRenderObject::selectedTextRange): Calls selectionStart and selectionEnd.
69720         (WebCore::AccessibilityRenderObject::setSelectedTextRange): Ditto.
69721         * html/HTMLFormControlElement.cpp:
69722         (WebCore::HTMLTextFormControlElement::selectedText): Extracted from AccessibilityRenderObject::selectedText.
69723         (WebCore::hasVisibleTextArea):
69724         (WebCore::HTMLTextFormControlElement::setSelectionRange): Merged with the function of the same name in
69725         RenderTextControl.
69726         (WebCore::HTMLTextFormControlElement::selectionStart): Ditto.
69727         (WebCore::HTMLTextFormControlElement::selectionEnd): Ditto.
69728         (WebCore::setContainerAndOffsetForRange): Moved from RenderTextControl.cpp
69729         (WebCore::HTMLTextFormControlElement::selection): Merged with the function of the same name in RenderTextControl.
69730         (WebCore::HTMLTextFormControlElement::selectionChanged): Calls selectionStart and selectionEnd.
69731         * html/HTMLFormControlElement.h:
69732         (WebCore::HTMLTextFormControlElement::restoreCachedSelection): Moved from HTMLFormControlElement.cpp now that
69733         all functions are self-contained in HTMLTextFormControlElement.
69734         * html/HTMLInputElement.cpp:
69735         (WebCore::HTMLInputElement::setValue): Calls setSelectionRange.
69736         * rendering/RenderTextControl.cpp:
69737         (WebCore::RenderTextControl::textFormControlElement): Added.
69738         * rendering/RenderTextControl.h:
69739
69740 2011-07-08  Mike Reed  <reed@google.com>
69741
69742         remove (empty) indirection between GraphicsContextPlatformPrivate and PlatformContextSkia
69743         https://bugs.webkit.org/show_bug.cgi?id=64178
69744
69745         Reviewed by Stephen White.
69746
69747         No new tests. no functionality change, other than removing an indirection that is not needed
69748
69749         * platform/graphics/GraphicsContext.h:
69750         * platform/graphics/skia/GraphicsContextPlatformPrivate.h: Removed.
69751         * platform/graphics/skia/GraphicsContextSkia.cpp:
69752         (WebCore::GraphicsContext::platformInit):
69753         (WebCore::GraphicsContext::platformDestroy):
69754         (WebCore::GraphicsContext::platformContext):
69755
69756 2011-07-08  Jeffrey Pfau  <jpfau@apple.com>
69757
69758         Add framework for a new/dummy XMLDocumentParser
69759         https://bugs.webkit.org/show_bug.cgi?id=63955
69760
69761         Reviewed by Adam Barth.
69762
69763         Added a dummy framework NewXMLDocumentParser
69764
69765         * WebCore.xcodeproj/project.pbxproj:
69766         * dom/Document.cpp:
69767         (WebCore::Document::createParser):
69768         * xml/parser/NewXMLDocumentParser.cpp: Added.
69769         (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
69770         (WebCore::NewXMLDocumentParser::textPosition):
69771         (WebCore::NewXMLDocumentParser::lineNumber):
69772         (WebCore::NewXMLDocumentParser::insert):
69773         (WebCore::NewXMLDocumentParser::append):
69774         (WebCore::NewXMLDocumentParser::finish):
69775         (WebCore::NewXMLDocumentParser::detach):
69776         (WebCore::NewXMLDocumentParser::hasInsertionPoint):
69777         (WebCore::NewXMLDocumentParser::finishWasCalled):
69778         (WebCore::NewXMLDocumentParser::processingData):
69779         (WebCore::NewXMLDocumentParser::prepareToStopParsing):
69780         (WebCore::NewXMLDocumentParser::stopParsing):
69781         (WebCore::NewXMLDocumentParser::isWaitingForScripts):
69782         (WebCore::NewXMLDocumentParser::isExecutingScript):
69783         (WebCore::NewXMLDocumentParser::executeScriptsWaitingForStylesheets):
69784         * xml/parser/NewXMLDocumentParser.h: Added.
69785         (WebCore::NewXMLDocumentParser::create):
69786
69787 2011-07-08  David Reveman  <reveman@chromium.org>
69788
69789         Remove unused function parameters.
69790
69791         Reviewed by Ryosuke Niwa.
69792
69793         * platform/graphics/gpu/TilingData.cpp:
69794         (WebCore::TilingData::textureOffset):
69795
69796 2011-07-08  David Reveman  <reveman@chromium.org>
69797
69798         Reviewed by Stephen White.
69799
69800         [Chromium] Edge anti-aliasing for composited layers.
69801         https://bugs.webkit.org/show_bug.cgi?id=61388
69802
69803         Add transparent outer border to tiled layers and adjust vertex
69804         coordinates so that use of a bilinear filter creates a smooth
69805         layer edge.
69806
69807         Tests: platform/chromium/compositing/tiny-layer-rotated.html
69808                platform/chromium/compositing/huge-layer-rotated.html (existing)
69809                TilingDataTest in webkit_unit_tests
69810
69811         * platform/graphics/chromium/ContentLayerChromium.cpp:
69812         Change maxUntiledSize to 510 to ensure that tiles are not greater
69813         than 512 with outer borders.
69814         (WebCore::ContentLayerChromium::updateLayerSize): We can't use the
69815         layer size as tile size when we want to avoid tiling as this will
69816         not be enough space to include possible outer borders. We instead use
69817         an empty size, which allows the tiler to automatically adjust the
69818         tile size to be large enough for the layer to fit in one tile.
69819         (WebCore::ContentLayerChromium::createTilerIfNeeded):
69820         (WebCore::ContentLayerChromium::setIsMask): Don't use border texels
69821         for layer used as mask.
69822
69823         * platform/graphics/chromium/ContentLayerChromium.h:
69824         (WebCore::ContentLayerChromium::m_borderTexels) Added.
69825
69826         * platform/graphics/chromium/LayerTilerChromium.cpp:
69827         (WebCore::LayerTilerChromium::tileTexRect): Added.
69828         (WebCore::LayerTilerChromium::tileLayerRect): m_tileSize is no
69829         longer the correct layer size. Size of bounds with border should
69830         be the correct layer size.
69831         (WebCore::LayerTilerChromium::growLayerToContain): Adjust texture
69832         size to include outer borders and handle empty m_tileSize.
69833         (WebCore::LayerTilerChromium::invalidateRect): Use size of rectangle
69834         returned by tileTexRect instead of m_tileSize for texture size.
69835         (WebCore::LayerTilerChromium::prepareToUpdate): Ditto.
69836         (WebCore::LayerTilerChromium::draw): Compute and intersect tile edges
69837         instead of using tile coordinates directly. Edges are adjusted to
69838         include outer borders and make sure all partially covered pixels are
69839         processed.
69840         (WebCore::LayerTilerChromium::drawTexturedQuad): Pass quad to
69841         shader using point uniform.
69842         (WebCore::LayerTilerChromium::invalidateRect): Invalidate old layer
69843         area to clear any contents left from previous layer size.
69844
69845         * platform/graphics/chromium/LayerTilerChromium.h:
69846         (WebCore::LayerTilerChromium::tileTexRect) Added.
69847         (WebCore::LayerTilerChromium::drawTexturedQuad): Add quad parameter.
69848
69849         * platform/graphics/chromium/ShaderChromium.cpp:
69850         (WebCore::VertexShaderPosTexTransform::getShaderString) Get X/Y vertex
69851         components from point uniform.
69852         (WebCore::VertexShaderPosTexTransform::VertexShaderPosTexTransform)
69853         Added point uniform.
69854         (WebCore::VertexShaderPosTexTransform::init) Ditto.
69855         (WebCore::VertexShaderPosTexTransform::pointLocation) Added.
69856
69857         * platform/graphics/chromium/ShaderChromium.h:
69858         (WebCore::VertexShaderPosTexTransform::pointLocation) Added.
69859
69860         * platform/graphics/gpu/TilingData.cpp:
69861         (WebCore::TilingData::tileBoundsWithOuterBorder): Added.
69862         (WebCore::TilingData::computeNumTiles): Adjust for outer border.
69863         (WebCore::TilingData::tileXIndexFromSrcCoord): Ditto.
69864         (WebCore::TilingData::tileYIndexFromSrcCoord): Ditto.
69865         (WebCore::TilingData::tileSizeX): Ditto.
69866         (WebCore::TilingData::tileSizeY): Ditto.
69867         (WebCore::TilingData::intersectDrawQuad): Ditto.
69868         (WebCore::TilingData::textureOffset): Ditto.
69869
69870         * platform/graphics/gpu/TilingData.h:
69871         (WebCore::TilingData::tileBoundsWithOuterBorder): Added.
69872
69873 2011-07-08  Mike Reed  <reed@google.com>
69874
69875         [skia] don't rely on lockPixels failure to detect gpu-backed device (in prep for skia roll)
69876         https://bugs.webkit.org/show_bug.cgi?id=64162
69877
69878         Reviewed by Stephen White.
69879
69880         No new tests. preparing for skia roll, where lockPixels always succeeds (but slowly for gpu-backed)
69881
69882         * platform/graphics/skia/ImageBufferSkia.cpp:
69883         (WebCore::putImageData):
69884
69885 2011-07-08  Chang Shu  <cshu@webkit.org>
69886
69887         Update calling sites after function renamed.
69888         https://bugs.webkit.org/show_bug.cgi?id=59114
69889
69890         Reviewed by Alexey Proskuryakov.
69891
69892         No new tests, just refactoring.
69893
69894         * editing/visible_units.cpp:
69895         (WebCore::previousBoundary):
69896         (WebCore::nextBoundary):
69897         * rendering/RenderText.cpp:
69898         (WebCore::RenderText::setTextInternal):
69899
69900 2011-07-08  Mihnea Ovidenie  <mihnea@adobe.com>
69901
69902         [CSSRegions]Parse content: -webkit-from-flow
69903         https://bugs.webkit.org/show_bug.cgi?id=63133
69904
69905         Reviewed by David Hyatt.
69906
69907         Test: fast/regions/content-webkit-from-flow-parsing.html
69908
69909         * css/CSSComputedStyleDeclaration.cpp:
69910         (WebCore::contentToCSSValue):
69911         * css/CSSParser.cpp:
69912         (WebCore::CSSParser::parseContent):
69913         (WebCore::CSSParser::parseFromFlowContent):
69914         * css/CSSParser.h:
69915         * css/CSSPrimitiveValue.cpp:
69916         (WebCore::CSSPrimitiveValue::cleanup):
69917         (WebCore::CSSPrimitiveValue::getStringValue):
69918         (WebCore::CSSPrimitiveValue::cssText):
69919         * css/CSSPrimitiveValue.h:
69920         * css/CSSStyleSelector.cpp:
69921         (WebCore::CSSStyleSelector::applyProperty):
69922         * rendering/style/RenderStyle.cpp:
69923         (WebCore::RenderStyle::diff):
69924         * rendering/style/RenderStyle.h:
69925         (WebCore::InheritedFlags::regionThread):
69926         (WebCore::InheritedFlags::setRegionThread):
69927         (WebCore::InheritedFlags::initialRegionThread):
69928         * rendering/style/StyleRareNonInheritedData.cpp:
69929         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
69930         (WebCore::StyleRareNonInheritedData::operator==):
69931         * rendering/style/StyleRareNonInheritedData.h:
69932
69933 2011-07-08  Ilya Tikhonovsky  <loislo@chromium.org>
69934
69935         Web Inspector: NetworkPanel search failed if the matched sting is in the query part of url
69936         https://bugs.webkit.org/show_bug.cgi?id=64167
69937
69938         Reviewed by Yury Semikhatsky.
69939
69940         * inspector/front-end/NetworkPanel.js:
69941         (WebInspector.NetworkPanel.prototype._matchResource):
69942         (WebInspector.NetworkPanel.prototype._highlightNthMatchedResource):
69943         (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
69944         * inspector/front-end/Resource.js:
69945         (WebInspector.Resource.prototype.get folder):
69946
69947 2011-07-08  Benjamin Poulain  <benjamin@webkit.org>
69948
69949         [Qt] Enable HTTP Pipelining by default
69950         https://bugs.webkit.org/show_bug.cgi?id=64169
69951
69952         Reviewed by Andreas Kling.
69953
69954         QNetworkAccessManager disables HTTP pipelining by default. We enable it by
69955         setting an attribute on the request.
69956
69957         * platform/network/qt/ResourceRequestQt.cpp:
69958         (WebCore::ResourceRequest::toNetworkRequest):
69959
69960 2011-07-08  Alexander Pavlov  <apavlov@chromium.org>
69961
69962         Web Inspector: CSS inspector gets confused about specificity of !important properties
69963         https://bugs.webkit.org/show_bug.cgi?id=64074
69964
69965         Reviewed by Yury Semikhatsky.
69966
69967         * inspector/front-end/StylesSidebarPane.js:
69968         (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
69969
69970 2011-07-08  Alexander Pavlov  <apavlov@chromium.org>
69971
69972         [Chromium] Unreviewed, clang build fix.
69973
69974         * inspector/InspectorStyleTextEditor.h:
69975
69976 2011-07-08  Pavel Feldman  <pfeldman@google.com>
69977
69978         Web Inspector: add support for drag'n'drop of non-elements (comments, text, etc.)
69979         https://bugs.webkit.org/show_bug.cgi?id=64163
69980
69981         Reviewed by Yury Semikhatsky.
69982
69983         * inspector/Inspector.json:
69984         * inspector/InspectorDOMAgent.cpp:
69985         (WebCore::InspectorDOMAgent::moveTo):
69986         * inspector/front-end/ElementsTreeOutline.js:
69987         (WebInspector.ElementsTreeOutline.prototype._isValidDragSourceOrTarget):
69988
69989 2011-07-08  Andrey Kosyakov  <caseq@chromium.org>
69990
69991         Web Inspector: secure access to extensions API
69992         https://bugs.webkit.org/show_bug.cgi?id=64080
69993
69994         Reviewed by Pavel Feldman.
69995
69996         * inspector/front-end/ExtensionAPI.js:
69997         (WebInspector.injectedExtensionAPI.Panels.prototype.create):
69998         (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setPage):
69999         * inspector/front-end/ExtensionPanel.js:
70000         (WebInspector.ExtensionPanel):
70001         * inspector/front-end/ExtensionServer.js:
70002         (WebInspector.ExtensionServer):
70003         (WebInspector.ExtensionServer.prototype._onCreatePanel):
70004         (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
70005         (WebInspector.ExtensionServer.prototype._addExtensions):
70006         (WebInspector.ExtensionServer.prototype._onWindowMessage):
70007         (WebInspector.ExtensionServer.prototype._registerSubscriptionHandler):
70008         (WebInspector.ExtensionServer.prototype._expandResourcePath):
70009         (WebInspector.ExtensionServer.prototype._normalizePath):
70010
70011 2011-07-08  Adam Barth  <abarth@webkit.org>
70012
70013         Unreviewed, rolling out r90615.
70014         http://trac.webkit.org/changeset/90615
70015         https://bugs.webkit.org/show_bug.cgi?id=64158
70016
70017         broke inspector/extensions/extensions.html (Requested by caseq
70018         on #webkit).
70019
70020         * inspector/front-end/ExtensionAPI.js:
70021         (WebInspector.injectedExtensionAPI.Panels.prototype.create):
70022         (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setPage):
70023         (WebInspector.injectedExtensionAPI.expandURL):
70024         * inspector/front-end/ExtensionPanel.js:
70025         (WebInspector.ExtensionPanel):
70026         * inspector/front-end/ExtensionServer.js:
70027         (WebInspector.ExtensionServer):
70028         (WebInspector.ExtensionServer.prototype._onCreatePanel):
70029         (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
70030         (WebInspector.ExtensionServer.prototype._addExtensions):
70031         (WebInspector.ExtensionServer.prototype._onWindowMessage):
70032         (WebInspector.ExtensionServer.prototype._registerSubscriptionHandler):
70033
70034 2011-07-07  Alexander Pavlov  <apavlov@chromium.org>
70035
70036         Web Inspector: Adding CSS properties results in messy style rules
70037         https://bugs.webkit.org/show_bug.cgi?id=63622
70038
70039         Reviewed by Pavel Feldman.
70040
70041         Test: inspector/styles/styles-formatting.html
70042
70043         * CMakeLists.txt:
70044         * GNUmakefile.list.am:
70045         * WebCore.gypi:
70046         * WebCore.pro:
70047         * WebCore.vcproj/WebCore.vcproj:
70048         * WebCore.xcodeproj/project.pbxproj:
70049         * css/CSSPropertySourceData.cpp:
70050         (WebCore::SourceRange::length):
70051         * css/CSSPropertySourceData.h:
70052         * inspector/InspectorStyleSheet.cpp:
70053         (WebCore::InspectorStyle::InspectorStyle):
70054         (WebCore::InspectorStyle::setPropertyText):
70055         (WebCore::InspectorStyle::toggleProperty):
70056         (WebCore::InspectorStyle::applyStyleText):
70057         (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
70058         * inspector/InspectorStyleSheet.h:
70059         * inspector/InspectorStyleTextEditor.cpp: Added.
70060         (WebCore::InspectorStyleTextEditor::InspectorStyleTextEditor):
70061         (WebCore::InspectorStyleTextEditor::insertProperty):
70062         (WebCore::InspectorStyleTextEditor::replaceProperty):
70063         (WebCore::InspectorStyleTextEditor::removeProperty):
70064         (WebCore::InspectorStyleTextEditor::enableProperty):
70065         (WebCore::InspectorStyleTextEditor::disableProperty):
70066         (WebCore::InspectorStyleTextEditor::disabledIndexByOrdinal):
70067         (WebCore::InspectorStyleTextEditor::shiftDisabledProperties):
70068         (WebCore::InspectorStyleTextEditor::internalReplaceProperty):
70069         * inspector/InspectorStyleTextEditor.h: Added.
70070         (WebCore::InspectorStyleTextEditor::styleText):
70071
70072 2011-07-08  Alexander Pavlov  <apavlov@chromium.org>
70073
70074         Web Inspector: Quotes are rendered as &quot; in the DOM tree
70075         https://bugs.webkit.org/show_bug.cgi?id=64154
70076
70077         Reviewed by Yury Semikhatsky.
70078
70079         Since we currently rely on setting textContent rather than innerHTML for the DOM tree elements,
70080         escapeHTML() calls unnecessarily HTML-escape certain characters in the DOM tree contents.
70081
70082         * inspector/front-end/ElementsTreeOutline.js:
70083         (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
70084         ():
70085
70086 2011-07-08  Vsevolod Vlasov  <vsevik@chromium.org>
70087
70088         Web Inspector: Remove unused code from InspectorAgent.h.
70089         https://bugs.webkit.org/show_bug.cgi?id=64120
70090
70091         Reviewed by Joseph Pecoraro.
70092
70093         * inspector/InspectorAgent.h:
70094
70095 2011-07-08  Andrey Kosyakov  <caseq@chromium.org>
70096
70097         Web Inspector: secure access to extensions API
70098         https://bugs.webkit.org/show_bug.cgi?id=64080
70099
70100         Reviewed by Pavel Feldman.
70101
70102         * inspector/front-end/ExtensionAPI.js:
70103         (WebInspector.injectedExtensionAPI.Panels.prototype.create):
70104         (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setPage):
70105         * inspector/front-end/ExtensionPanel.js:
70106         (WebInspector.ExtensionPanel):
70107         * inspector/front-end/ExtensionServer.js:
70108         (WebInspector.ExtensionServer):
70109         (WebInspector.ExtensionServer.prototype._onCreatePanel):
70110         (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
70111         (WebInspector.ExtensionServer.prototype._addExtensions):
70112         (WebInspector.ExtensionServer.prototype._onWindowMessage):
70113         (WebInspector.ExtensionServer.prototype._registerSubscriptionHandler):
70114         (WebInspector.ExtensionServer.prototype._expandResourcePath):
70115         (WebInspector.ExtensionServer.prototype._normalizePath):
70116
70117 2011-07-08  Yury Semikhatsky  <yurys@chromium.org>
70118
70119         Web Inspector: typing undefined = 1 in console crashes browser
70120         https://bugs.webkit.org/show_bug.cgi?id=64155
70121
70122         Do not access undefined value directly when producing JSON objects as undefined
70123         may be overriden by the inspected page.
70124
70125         Reviewed by Pavel Feldman.
70126
70127         Test: inspector/console/console-eval-undefined-override.html
70128
70129         * inspector/InjectedScriptSource.js:
70130         (.):
70131         ():
70132
70133 2011-07-07  Emil A Eklund  <eae@chromium.org>
70134
70135         Switch HitTestResult to to new layout types
70136         https://bugs.webkit.org/show_bug.cgi?id=64131
70137
70138         Reviewed by Eric Seidel.
70139
70140         No new tests, no functionality changes.
70141
70142         * page/MouseEventWithHitTestResults.cpp:
70143         (WebCore::MouseEventWithHitTestResults::localPoint):
70144         * page/MouseEventWithHitTestResults.h:
70145         * rendering/HitTestResult.cpp:
70146         (WebCore::HitTestResult::HitTestResult):
70147         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
70148         (WebCore::HitTestResult::rectForPoint):
70149         * rendering/HitTestResult.h:
70150         (WebCore::HitTestResult::point):
70151         (WebCore::HitTestResult::localPoint):
70152         (WebCore::HitTestResult::setPoint):
70153         (WebCore::HitTestResult::setLocalPoint):
70154         (WebCore::HitTestResult::rectForPoint):
70155
70156 2011-07-07  Levi Weintraub  <leviw@chromium.org>
70157
70158         Switch remaining paint functions to new layout types
70159         https://bugs.webkit.org/show_bug.cgi?id=64116
70160
70161         Reviewed by Eric Seidel.
70162
70163         Switching all functions with IntPoint paintOffsets to the new Layout types.
70164
70165         No new tests, no functionality changes.
70166
70167         * rendering/EllipsisBox.cpp:
70168         (WebCore::EllipsisBox::paint):
70169         (WebCore::EllipsisBox::paintSelection):
70170         * rendering/EllipsisBox.h:
70171         * rendering/InlineBox.cpp:
70172         (WebCore::InlineBox::paint):
70173         * rendering/InlineBox.h:
70174         * rendering/InlineFlowBox.cpp:
70175         (WebCore::InlineFlowBox::paint):
70176         * rendering/InlineFlowBox.h:
70177         * rendering/InlineTextBox.cpp:
70178         (WebCore::InlineTextBox::paint):
70179         (WebCore::InlineTextBox::paintCustomHighlight):
70180         * rendering/InlineTextBox.h:
70181         * rendering/LayoutTypes.h:
70182         * rendering/RenderBlock.cpp:
70183         (WebCore::RenderBlock::paintColumnRules):
70184         (WebCore::RenderBlock::paintColumnContents):
70185         (WebCore::RenderBlock::paintContents):
70186         (WebCore::RenderBlock::paintChildren):
70187         (WebCore::RenderBlock::paintCaret):
70188         (WebCore::RenderBlock::paintObject):
70189         (WebCore::RenderBlock::paintFloats):
70190         (WebCore::RenderBlock::paintEllipsisBoxes):
70191         (WebCore::RenderBlock::paintContinuationOutlines):
70192         (WebCore::RenderBlock::paintSelection):
70193         * rendering/RenderBlock.h:
70194         * rendering/RenderBox.cpp:
70195         (WebCore::RenderBox::paintCustomHighlight):
70196         * rendering/RenderBox.h:
70197         * rendering/RenderInline.cpp:
70198         (WebCore::RenderInline::paintOutline):
70199         (WebCore::RenderInline::paintOutlineForLine):
70200         * rendering/RenderInline.h:
70201         * rendering/RenderLayer.cpp:
70202         (WebCore::RenderLayer::paintOverflowControls):
70203         (WebCore::RenderLayer::paintScrollCorner):
70204         (WebCore::RenderLayer::paintResizer):
70205         * rendering/RenderLayer.h:
70206         * rendering/RenderLineBoxList.cpp:
70207         (WebCore::RenderLineBoxList::paint):
70208         * rendering/RenderListBox.cpp:
70209         (WebCore::RenderListBox::paintScrollbar):
70210         (WebCore::RenderListBox::paintItemForeground):
70211         (WebCore::RenderListBox::paintItemBackground):
70212         * rendering/RenderListBox.h:
70213         * rendering/RenderObject.cpp:
70214         (WebCore::RenderObject::paintFocusRing):
70215         (WebCore::RenderObject::paintOutline):
70216         * rendering/RenderObject.h:
70217         * rendering/RenderReplaced.cpp:
70218         (WebCore::RenderReplaced::shouldPaint):
70219         * rendering/RenderReplaced.h:
70220         * rendering/RenderScrollbarPart.cpp:
70221         (WebCore::RenderScrollbarPart::paintIntoRect):
70222         * rendering/RenderScrollbarPart.h:
70223         * rendering/RenderTableCell.cpp:
70224         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
70225         * rendering/RenderTableSection.cpp:
70226         (WebCore::RenderTableSection::paintCell):
70227         * rendering/RenderTableSection.h:
70228         * rendering/RenderTextControl.cpp:
70229         (WebCore::RenderTextControl::paintPlaceholder):
70230         * rendering/RootInlineBox.cpp:
70231         (WebCore::RootInlineBox::paintEllipsisBox):
70232         (WebCore::RootInlineBox::paintCustomHighlight):
70233         (WebCore::RootInlineBox::paint):
70234         * rendering/RootInlineBox.h:
70235         * rendering/mathml/RenderMathMLBlock.cpp:
70236         (WebCore::RenderMathMLBlock::paint):
70237         * rendering/mathml/RenderMathMLFraction.cpp:
70238         (WebCore::RenderMathMLFraction::paint):
70239         * rendering/mathml/RenderMathMLRoot.cpp:
70240         (WebCore::RenderMathMLRoot::paint):
70241         * rendering/mathml/RenderMathMLSquareRoot.cpp:
70242         (WebCore::RenderMathMLSquareRoot::paint):
70243
70244 2011-07-07  Steve VanDeBogart  <vandebo@chromium.org>
70245
70246         Work around Skia PDF's lack of inverted path support.
70247         https://bugs.webkit.org/show_bug.cgi?id=64032
70248
70249         Reviewed by James Robinson.
70250
70251         The trick used in http://neugierig.org/software/chromium/notes/2010/07/clipping.html
70252         to support antialiased clips doesn't work when printing to Skia's PDF backend because
70253         the backend does not support inverted paths. This manifests as rounded buttons not being
70254         drawn when printing, tracked as Chrome bug 79519.
70255         
70256         However, when the output is a vector device, like PDF, we don't need antialiased clips.
70257         It's up to the PDF rendering engine to do that.  So we can simply disable the antialiased
70258         clip code if the output is a vector device.
70259         
70260         I think the fix isn't testable because it requires examining the printed output.
70261
70262         * platform/graphics/skia/PlatformContextSkia.cpp:
70263         (WebCore::PlatformContextSkia::clipPathAntiAliased):
70264
70265 2011-07-07  Emil A Eklund  <eae@chromium.org>
70266
70267         Switch rendering tree selection code to to new layout types
70268         https://bugs.webkit.org/show_bug.cgi?id=63762
70269
70270         Reviewed by Eric Seidel.
70271
70272         Switch selection getters and selection gap calculation methods over to
70273         new layout abstraction.
70274
70275         No new tests, no functionality changes.
70276
70277         * rendering/InlineTextBox.cpp:
70278         (WebCore::InlineTextBox::selectionTop):
70279         (WebCore::InlineTextBox::selectionBottom):
70280         (WebCore::InlineTextBox::selectionHeight):
70281         (WebCore::InlineTextBox::isSelected):
70282         * rendering/InlineTextBox.h:
70283         * rendering/RenderBR.h:
70284         (WebCore::RenderBR::selectionRectForRepaint):
70285         * rendering/RenderBlock.cpp:
70286         (WebCore::RenderBlock::selectionGapRectsForRepaint):
70287         (WebCore::RenderBlock::selectionGaps):
70288         (WebCore::RenderBlock::inlineSelectionGaps):
70289         (WebCore::RenderBlock::blockSelectionGaps):
70290         (WebCore::RenderBlock::blockSelectionGap):
70291         (WebCore::RenderBlock::logicalLeftSelectionGap):
70292         (WebCore::RenderBlock::logicalRightSelectionGap):
70293         (WebCore::RenderBlock::logicalLeftSelectionOffset):
70294         (WebCore::RenderBlock::logicalRightSelectionOffset):
70295         (WebCore::RenderBlock::positionForPointWithInlineChildren):
70296         (WebCore::RenderBlock::desiredColumnWidth):
70297         * rendering/RenderBlock.h:
70298         (WebCore::RenderBlock::selectionRectForRepaint):
70299         * rendering/RenderListMarker.cpp:
70300         (WebCore::RenderListMarker::selectionRectForRepaint):
70301         * rendering/RenderListMarker.h:
70302         * rendering/RenderObject.h:
70303         (WebCore::RenderObject::selectionRect):
70304         (WebCore::RenderObject::selectionRectForRepaint):
70305         * rendering/RenderReplaced.cpp:
70306         (WebCore::RenderReplaced::selectionRectForRepaint):
70307         * rendering/RenderReplaced.h:
70308         * rendering/RenderSelectionInfo.h:
70309         (WebCore::RenderSelectionInfo::RenderSelectionInfo):
70310         * rendering/RenderText.cpp:
70311         (WebCore::RenderText::selectionRectForRepaint):
70312         * rendering/RenderText.h:
70313         * rendering/RootInlineBox.cpp:
70314         (WebCore::RootInlineBox::selectionTop):
70315         (WebCore::RootInlineBox::selectionBottom):
70316         * rendering/RootInlineBox.h:
70317         (WebCore::RootInlineBox::selectionHeight):
70318
70319 2011-07-07  Gavin Peters  <gavinp@chromium.org>
70320
70321         Reviewed by Alexey Proskuryakov.
70322
70323         fast/dom/HTMLLinkElement/link-and-subresource-test.html is flaky on chromium debug bots
70324         https://bugs.webkit.org/show_bug.cgi?id=60097
70325
70326         The culprit was that CachedResource:stopLoading() was using *this
70327         after a call to checkNotify(), which isn't kosher.  This patch
70328         uses a CachedResourceHandle to keep the CachedResource alive.
70329
70330         The test is a very close copy of the eponymous
70331         link-and-subresource-test.html, only substituting invalid
70332         resources for the valid ones in that test.  The reproduction is
70333         timing related, and happens much more consistantly with an invalid
70334         resource for whatever reason.
70335         Test: fast/dom/HTMLLinkElement/link-and-subresource-test-nonexistent.html
70336
70337         * loader/cache/CachedResource.cpp:
70338         (WebCore::CachedResource::stopLoading):
70339
70340 2011-07-07  James Robinson  <jamesr@chromium.org>
70341
70342         Reviewed by Kenneth Russell.
70343
70344         Use v8::AdjustAmountOfExternalAllocatedMemory for ArrayBuffers
70345         https://bugs.webkit.org/show_bug.cgi?id=42912
70346
70347         This calls v8's AdjustAmountOfExternalAllocatedMemory when ArrayBuffers are allocated/deallocated so that V8's
70348         garbage collection heuristics can account for the memory held by these objects.  On the new test page, this
70349         reduces the peak memory use from 5BG+ (or a crash in 32-bit systems) to <300MB.
70350
70351         Test: WebCore/manual-tests/array-buffer-memory.html
70352
70353         * html/canvas/ArrayBuffer.cpp:
70354         (WebCore::ArrayBuffer::~ArrayBuffer):
70355         (WebCore::ArrayBuffer::tryAllocate):
70356
70357 2011-07-07  Ryosuke Niwa  <rniwa@webkit.org>
70358
70359         Move all code related to cachedSelection to HTMLTextFormControlElement
70360         https://bugs.webkit.org/show_bug.cgi?id=64118
70361
70362         Reviewed by Alexey Proskuryakov.
70363
70364         Moved m_cachedSelectionStart and m_cachedSelectionEnd from HTMLInputElement
70365         and HTMLTextAreaElement to HTMLTextFormControlElement
70366
70367         Also removed cached selection related functions from RenderTextControl,
70368         RenderTextControlSingleLine, and RenderTextControlMultiLine because they were
70369         merely providing wrapper functions to enable polymorphism between
70370         input and textarea elements and their WML equivalents.
70371
70372         * editing/FrameSelection.cpp:
70373         (WebCore::FrameSelection::notifyRendererOfSelectionChange): Calls HTMLTextFormControlElement's
70374         selectionChanged instead of RenderTextControl's.
70375         * html/HTMLFormControlElement.cpp:
70376         (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement): Initialize
70377         m_cachedSelectionStart and m_cachedSelectionEnd.
70378         (WebCore::HTMLTextFormControlElement::selectionStart):
70379         (WebCore::HTMLTextFormControlElement::selectionEnd):
70380         (WebCore::HTMLTextFormControlElement::selection):
70381         (WebCore::HTMLTextFormControlElement::restoreCachedSelection): Added.
70382         (WebCore::HTMLTextFormControlElement::selectionChanged): Extracted from
70383         RenderTextControl::selectionChanged.
70384         * html/HTMLFormControlElement.h:
70385         (WebCore::HTMLTextFormControlElement::cacheSelection): Extracted from HTMLInputElement
70386         and HTMLTextAreaElement.
70387         (WebCore::HTMLTextFormControlElement::hasCachedSelectionStart): Added.
70388         (WebCore::HTMLTextFormControlElement::hasCachedSelectionEnd): Added.
70389         * html/HTMLInputElement.cpp:
70390         (WebCore::HTMLInputElement::HTMLInputElement):
70391         (WebCore::HTMLInputElement::updateFocusAppearance):
70392         * html/HTMLInputElement.h:
70393         * html/HTMLTextAreaElement.cpp:
70394         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
70395         (WebCore::HTMLTextAreaElement::updateFocusAppearance):
70396         * html/HTMLTextAreaElement.h:
70397         (WebCore::HTMLTextAreaElement::isEmptyValue):
70398         * rendering/RenderTextControl.cpp:
70399         (WebCore::setSelectionRange):
70400         * rendering/RenderTextControl.h:
70401         * rendering/RenderTextControlMultiLine.cpp:
70402         * rendering/RenderTextControlMultiLine.h:
70403         * rendering/RenderTextControlSingleLine.cpp:
70404         * rendering/RenderTextControlSingleLine.h:
70405
70406 2011-07-07  Emil A Eklund  <eae@chromium.org>
70407
70408         Switch addFocusRingRects to to new layout types
70409         https://bugs.webkit.org/show_bug.cgi?id=64114
70410
70411         Reviewed by Eric Seidel.
70412
70413         No new tests, no functionality changes.
70414
70415         * rendering/LayoutTypes.h:
70416         (WebCore::flooredLayoutPoint):
70417         * rendering/RenderBlock.cpp:
70418         (WebCore::RenderBlock::addFocusRingRects):
70419         * rendering/RenderBlock.h:
70420         * rendering/RenderBox.cpp:
70421         (WebCore::RenderBox::addFocusRingRects):
70422         * rendering/RenderBox.h:
70423         * rendering/RenderInline.cpp:
70424         (WebCore::RenderInline::addFocusRingRects):
70425         * rendering/RenderInline.h:
70426         * rendering/RenderListBox.cpp:
70427         (WebCore::RenderListBox::addFocusRingRects):
70428         * rendering/RenderListBox.h:
70429         * rendering/RenderObject.h:
70430         (WebCore::RenderObject::addFocusRingRects):
70431         * rendering/RenderTextControl.cpp:
70432         (WebCore::RenderTextControl::addFocusRingRects):
70433         * rendering/RenderTextControl.h:
70434         * rendering/svg/RenderSVGContainer.cpp:
70435         (WebCore::RenderSVGContainer::addFocusRingRects):
70436         * rendering/svg/RenderSVGContainer.h:
70437         * rendering/svg/RenderSVGImage.cpp:
70438         (WebCore::RenderSVGImage::addFocusRingRects):
70439         * rendering/svg/RenderSVGImage.h:
70440         * rendering/svg/RenderSVGPath.cpp:
70441         (WebCore::RenderSVGPath::addFocusRingRects):
70442         * rendering/svg/RenderSVGPath.h:
70443
70444 2011-07-06  Adrienne Walker  <enne@google.com>
70445
70446         [chromium] Reduce compositor texture memory by skipping layers and clipping surfaces
70447         https://bugs.webkit.org/show_bug.cgi?id=64052
70448
70449         Reviewed by James Robinson.
70450
70451         Layers and surfaces that are entirely transparent are now skipped.
70452         Parent scissor rects are now applied to the content rect of surfaces
70453         so that offscreen surfaces can be skipped.
70454
70455         Landing this for vangelis@chromium.org.
70456
70457         Covered by existing tests.
70458
70459         * platform/graphics/chromium/LayerRendererChromium.cpp:
70460         (WebCore::calculateVisibleRect):
70461         (WebCore::calculateVisibleLayerRect):
70462         (WebCore::LayerRendererChromium::paintLayerContents):
70463         (WebCore::LayerRendererChromium::drawLayers):
70464         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
70465         (WebCore::LayerRendererChromium::updateCompositorResources):
70466         (WebCore::LayerRendererChromium::drawLayer):
70467         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
70468         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
70469
70470 2011-07-07  Adam Barth  <abarth@webkit.org>
70471
70472         Unreviewed, rolling out r90581.
70473         http://trac.webkit.org/changeset/90581
70474         https://bugs.webkit.org/show_bug.cgi?id=64124
70475
70476         Broke a bunch of inspector tests (Requested by ojan on
70477         #webkit).
70478
70479         * inspector/front-end/ExtensionAPI.js:
70480         (WebInspector.injectedExtensionAPI.Panels.prototype.create):
70481         (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setPage):
70482         (WebInspector.injectedExtensionAPI.expandURL):
70483         * inspector/front-end/ExtensionPanel.js:
70484         (WebInspector.ExtensionPanel):
70485         * inspector/front-end/ExtensionServer.js:
70486         (WebInspector.ExtensionServer):
70487         (WebInspector.ExtensionServer.prototype._onCreatePanel):
70488         (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
70489         (WebInspector.ExtensionServer.prototype._addExtensions):
70490         (WebInspector.ExtensionServer.prototype._onWindowMessage):
70491         (WebInspector.ExtensionServer.prototype._registerSubscriptionHandler):
70492
70493 2011-07-07  Adrienne Walker  <enne@google.com>
70494
70495         [chromium] Fix crash when compositing gets disabled mid-paint
70496         https://bugs.webkit.org/show_bug.cgi?id=64119
70497
70498         Reviewed by James Robinson.
70499
70500         WebKit paint can disable compositing and call setRootLayer(0). Adding
70501         a check for this in drawLayers prevents a null pointer deref.
70502
70503         * platform/graphics/chromium/LayerRendererChromium.cpp:
70504         (WebCore::LayerRendererChromium::drawLayers):
70505
70506 2011-07-07  Dirk Schulze  <krit@webkit.org>
70507
70508         SVGAnimateTransform does not support calcMode=discrete
70509         https://bugs.webkit.org/show_bug.cgi?id=63914
70510
70511         Reviewed by Rob Buis.
70512
70513         CalcMode discrete specifies that the animation function will jump from one value to the next without any interpolation.
70514         Implemented calcMode discrete by checking current progress of animation. If we are in the first half of the animation,
70515         we use the start value of the aniamtion, end value for the second half of the animation. The key time at 50% is used on
70516         all other animations as well as on other SVG viewers.
70517
70518         Added a manual test. DRT crashes on an automated test with the SVG animation API. Opened a new bug report: 64104.
70519
70520         * manual-tests/svg-animateTransform-calcMode-discrete.svg: Added.
70521         * svg/SVGAnimateTransformElement.cpp:
70522         (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
70523
70524 2011-07-07  Dirk Schulze  <krit@webkit.org>
70525
70526         Reviewed by Rob Buis.
70527
70528         SVGAnimatedPath needs fallback for 'by' animation
70529         https://bugs.webkit.org/show_bug.cgi?id=63865
70530         
70531         Added fallback to 'to' animation for 'by' animated SVGAnimatedPathAnimator.
70532         
70533         Clenup of SVGAnimateElement. Removed all switches since we support all AnimatedTypes
70534         with the exception of AnimatedEnumeration. AnimatedEnumeration gets animated as AnimatedString at the moment. 
70535
70536         Test: svg/animations/svgpath-animation-1.html
70537
70538         * svg/SVGAnimateElement.cpp:
70539         (WebCore::getPropertyValue):
70540         (WebCore::inheritsFromProperty):
70541         (WebCore::attributeValueIsCurrentColor):
70542         (WebCore::SVGAnimateElement::adjustForCurrentColor):
70543         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
70544         (WebCore::SVGAnimateElement::calculateAnimatedValue):
70545         (WebCore::SVGAnimateElement::calculateFromAndToValues):
70546         (WebCore::SVGAnimateElement::calculateFromAndByValues):
70547         (WebCore::SVGAnimateElement::resetToBaseValue):
70548         (WebCore::SVGAnimateElement::applyResultsToTarget):
70549         (WebCore::SVGAnimateElement::calculateDistance):
70550         * svg/SVGAnimatedPath.cpp:
70551         (WebCore::SVGAnimatedPathAnimator::calculateFromAndByValues):
70552
70553 2011-07-07  Andrey Kosyakov  <caseq@chromium.org>
70554
70555         Web Inspector: secure access to extensions API
70556         https://bugs.webkit.org/show_bug.cgi?id=64080
70557
70558         Reviewed by Pavel Feldman.
70559
70560         * inspector/front-end/ExtensionAPI.js:
70561         (WebInspector.injectedExtensionAPI.Panels.prototype.create):
70562         (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setPage):
70563         * inspector/front-end/ExtensionPanel.js:
70564         (WebInspector.ExtensionPanel):
70565         * inspector/front-end/ExtensionServer.js:
70566         (WebInspector.ExtensionServer):
70567         (WebInspector.ExtensionServer.prototype._onCreatePanel):
70568         (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
70569         (WebInspector.ExtensionServer.prototype._addExtensions):
70570         (WebInspector.ExtensionServer.prototype._onWindowMessage):
70571         (WebInspector.ExtensionServer.prototype._registerSubscriptionHandler):
70572         (WebInspector.ExtensionServer.prototype._expandResourcePath):
70573
70574 2011-07-07  Kyusun Kim  <maniagoon@company100.net>
70575
70576         The return value of SharedBuffer::createWithContentsOfFile must have valid m_size.
70577         https://bugs.webkit.org/show_bug.cgi?id=63313
70578
70579         Reviewed by Eric Seidel.
70580
70581         * platform/posix/SharedBufferPOSIX.cpp:
70582         (WebCore::SharedBuffer::createWithContentsOfFile):
70583
70584 2011-07-07  Dan Bernstein  <mitz@apple.com>
70585
70586         <rdar://problem/9737435> Re-enable -webkit-column-break-inside: avoid
70587         https://bugs.webkit.org/show_bug.cgi?id=64102
70588
70589         Reviewed by Simon Fraser.
70590
70591         -webkit-column-break-inside: avoid was disabled in r62632 along with page-break-inside: avoid.
70592         The latter remains disabled.
70593
70594         * rendering/RenderBlock.cpp:
70595         (WebCore::RenderBlock::adjustForUnsplittableChild): Treat the child as unsplittable if
70596         '-webkit-column-break-inside: avoid' was specified.
70597
70598 2011-07-07  Andrey Kosyakov  <caseq@chromium.org>
70599
70600         Web Inspector: visual regressions in network panel
70601         https://bugs.webkit.org/show_bug.cgi?id=64089
70602
70603         Reviewed by Pavel Feldman.
70604
70605         * inspector/front-end/networkPanel.css:
70606         (.data-grid.network-log-grid tr.filler td):
70607         (.network.panel .sidebar):
70608
70609 2011-07-07  Julien Chaffraix  <jchaffraix@webkit.org>
70610
70611         Reviewed by David Hyatt.
70612
70613         Partial layout when a flex-box has visibility: collapse
70614         https://bugs.webkit.org/show_bug.cgi?id=63776
70615
70616         Tests: fast/flexbox/crash-button-input-autofocus.html
70617                fast/flexbox/crash-button-keygen.html
70618                fast/flexbox/crash-button-relayout.html
70619
70620         The issue is that FlexBoxIterator would skip any child if it has visibility: collapsed.
70621         However if one of the child is anonymous, it may wrap some other child that would be skipped.
70622         Now FlexBoxIterator is called during the layout phase and thus some nodes would not relayouted
70623         as expected.
70624
70625         * rendering/RenderDeprecatedFlexibleBox.cpp:
70626         (WebCore::FlexBoxIterator::next): When iterating, don't skip anonymous content as there may
70627         be real content hiding below.
70628
70629 2011-07-07  Vsevolod Vlasov  <vsevik@chromium.org>
70630
70631         Web Inspector: URL links in styles open new tab instead of showing resources panel.
70632         https://bugs.webkit.org/show_bug.cgi?id=64090
70633
70634         Reviewed by Pavel Feldman.
70635
70636         * inspector/front-end/StylesSidebarPane.js:
70637         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
70638
70639 2011-07-07  Andrey Kosyakov  <caseq@chromium.org>
70640
70641         Web Inspector: active panel does not receive resize event when drawer is resized
70642         https://bugs.webkit.org/show_bug.cgi?id=64094
70643
70644         Reviewed by Pavel Feldman.
70645
70646         * inspector/front-end/Drawer.js:
70647         (WebInspector.Drawer.prototype._statusBarDragging):
70648
70649 2011-07-07  Pavel Feldman  <pfeldman@chromium.org>
70650
70651         Web Inspector: prevent default action during drag'n'drop in the Elements panel.
70652         https://bugs.webkit.org/show_bug.cgi?id=64081
70653
70654         Reviewed by Yury Semikhatsky.
70655
70656         * inspector/front-end/ElementsTreeOutline.js:
70657         (WebInspector.ElementsTreeOutline):
70658         (WebInspector.ElementsTreeOutline.prototype._ondragstart):
70659         (WebInspector.ElementsTreeOutline.prototype._ondragover):
70660         (WebInspector.ElementsTreeOutline.prototype._ondragend):
70661         * inspector/front-end/treeoutline.js:
70662         (TreeOutline.prototype.treeElementFromPoint):
70663
70664 2011-07-07  Nikolas Zimmermann  <nzimmermann@rim.com>
70665
70666         Move remaining enums out of SVG*Element classes
70667         https://bugs.webkit.org/show_bug.cgi?id=64075
70668
70669         Reviewed by Dirk Schulze.
70670
70671         Move remaining enums out of SVG*Element classes. This is a preparation patch for bug 63797.
70672         Also move the SVGPropertyTraits template specializations for enum types before the class
70673         definition in the header, otherwhise we can't use SVGPropertyTraits<FooType>::fromString/toString
70674         in the DECLARE_ANIMATED* macros, which is needed soon.
70675
70676         No new tests, just refactoring.
70677
70678         * rendering/svg/RenderSVGResourceGradient.cpp:
70679         (WebCore::RenderSVGResourceGradient::applyResource):
70680         * rendering/svg/RenderSVGResourceGradient.h:
70681         * rendering/svg/RenderSVGResourceMarker.cpp:
70682         (WebCore::RenderSVGResourceMarker::angle):
70683         (WebCore::RenderSVGResourceMarker::markerTransformation):
70684         * rendering/svg/RenderSVGResourceMarker.h:
70685         (WebCore::RenderSVGResourceMarker::markerUnits):
70686         * rendering/svg/RenderSVGTextPath.cpp:
70687         (WebCore::RenderSVGTextPath::RenderSVGTextPath):
70688         (WebCore::RenderSVGTextPath::exactAlignment):
70689         (WebCore::RenderSVGTextPath::stretchMethod):
70690         * rendering/svg/SVGRenderTreeAsText.cpp:
70691         (WebCore::operator<<):
70692         (WebCore::writeCommonGradientProperties):
70693         * rendering/svg/SVGTextChunkBuilder.cpp:
70694         (WebCore::SVGTextChunkBuilder::addTextChunk):
70695         * rendering/svg/SVGTextLayoutEngine.cpp:
70696         (WebCore::SVGTextLayoutEngine::parentDefinesTextLength):
70697         (WebCore::SVGTextLayoutEngine::beginTextPathLayout):
70698         * svg/GradientAttributes.h:
70699         (WebCore::GradientAttributes::GradientAttributes):
70700         (WebCore::GradientAttributes::spreadMethod):
70701         (WebCore::GradientAttributes::setSpreadMethod):
70702         * svg/SVGComponentTransferFunctionElement.h:
70703         * svg/SVGFEBlendElement.h:
70704         * svg/SVGFEColorMatrixElement.h:
70705         * svg/SVGFECompositeElement.h:
70706         * svg/SVGFEConvolveMatrixElement.h:
70707         * svg/SVGFEDisplacementMapElement.h:
70708         * svg/SVGFEMorphologyElement.h:
70709         * svg/SVGFETurbulenceElement.h:
70710         * svg/SVGGradientElement.cpp:
70711         (WebCore::SVGGradientElement::SVGGradientElement):
70712         * svg/SVGGradientElement.h:
70713         * svg/SVGMarkerElement.cpp:
70714         (WebCore::SVGMarkerElement::SVGMarkerElement):
70715         (WebCore::SVGMarkerElement::parseMappedAttribute):
70716         (WebCore::SVGMarkerElement::setOrientToAuto):
70717         (WebCore::SVGMarkerElement::setOrientToAngle):
70718         (WebCore::SVGMarkerElement::synchronizeOrientType):
70719         (WebCore::SVGMarkerElement::orientTypeAnimated):
70720         * svg/SVGMarkerElement.h:
70721         * svg/SVGTextContentElement.cpp:
70722         (WebCore::SVGTextContentElement::SVGTextContentElement):
70723         * svg/SVGTextContentElement.h:
70724         * svg/SVGTextPathElement.cpp:
70725         (WebCore::SVGTextPathElement::SVGTextPathElement):
70726         * svg/SVGTextPathElement.h:
70727
70728 2011-07-07  Ilya Tikhonovsky  <loislo@chromium.org>
70729
70730         Web Inspector: Protocol: pointers to optional "in" parameters passing to the
70731         backend methods should be NULL if they are not specified in the message.
70732         https://bugs.webkit.org/show_bug.cgi?id=64083
70733
70734         Reviewed by Pavel Feldman.
70735
70736         * inspector/CodeGeneratorInspector.pm:
70737         (generateBackendFunction):
70738         (generateArgumentGetters):
70739         * inspector/InspectorCSSAgent.cpp:
70740         (WebCore::InspectorCSSAgent::getStylesForNode):
70741
70742 2011-07-07  Ilya Tikhonovsky  <loislo@chromium.org>
70743
70744         Web Inspector: Searching on the Network panel doesn't do anything?
70745         https://bugs.webkit.org/show_bug.cgi?id=55489
70746
70747         This is initial implementation of search in Network panel.
70748         It is pretty simple search only for names and paths.
70749
70750         Reviewed by Pavel Feldman.
70751
70752         * inspector/front-end/NetworkPanel.js:
70753         (WebInspector.NetworkPanel.prototype.refresh):
70754         (WebInspector.NetworkPanel.prototype._reset):
70755         (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
70756         (WebInspector.NetworkPanel.prototype._matchResource):
70757         (WebInspector.NetworkPanel.prototype._clearSearchMatchedList):
70758         (WebInspector.NetworkPanel.prototype._highlightNthMatchedResource):
70759         (WebInspector.NetworkPanel.prototype.performSearch):
70760         (WebInspector.NetworkDataGridNode.prototype.createCells):
70761         * inspector/front-end/utilities.js:
70762         (String.prototype.escapeHTML):
70763         ():
70764
70765 2011-07-07  Vsevolod Vlasov  <vsevik@chromium.org>
70766
70767         Web Inspector: Resources panel shows only one resource when multiple resources have the same url.
70768         https://bugs.webkit.org/show_bug.cgi?id=63936
70769
70770         Reviewed by Pavel Feldman.
70771
70772         Test: http/tests/inspector/resource-tree/resource-tree-non-unique-url.html
70773
70774         * inspector/front-end/ResourcesPanel.js:
70775         (WebInspector.FrameTreeElement.prototype.appendResource):
70776
70777 2011-07-07  Vsevolod Vlasov  <vsevik@chromium.org>
70778
70779         Web Inspector: Add support for clearing cache and cookies from network panel.
70780         https://bugs.webkit.org/show_bug.cgi?id=63999
70781
70782         Reviewed by Pavel Feldman.
70783
70784         * English.lproj/localizedStrings.js:
70785         * inspector/Inspector.json:
70786         * inspector/InspectorClient.h:
70787         (WebCore::InspectorClient::clearBrowserCache):
70788         (WebCore::InspectorClient::clearBrowserCookies):
70789         * inspector/InspectorController.cpp:
70790         (WebCore::InspectorController::InspectorController):
70791         * inspector/InspectorResourceAgent.cpp:
70792         (WebCore::InspectorResourceAgent::clearBrowserCache):
70793         (WebCore::InspectorResourceAgent::clearBrowserCookies):
70794         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
70795         * inspector/InspectorResourceAgent.h:
70796         (WebCore::InspectorResourceAgent::create):
70797         * inspector/front-end/NetworkPanel.js:
70798         (WebInspector.NetworkPanel.prototype._contextMenu):
70799         (WebInspector.NetworkPanel.prototype._clearBrowserCache):
70800         (WebInspector.NetworkPanel.prototype._clearBrowserCookies):
70801         * inspector/front-end/Settings.js:
70802
70803 2011-07-07  Shinya Kawanaka  <shinyak@google.com>
70804
70805         Added more key bindings for input[type=range].
70806         https://bugs.webkit.org/show_bug.cgi?id=52262
70807
70808         Added PageUp/PageDown/Home/End key bindings for input[type=range].
70809         PageUp/PageDown change value by about 10%.
70810         Home/End change value to minimum/maximum.
70811
70812         Reviewed by Kent Tamura.
70813
70814         * html/RangeInputType.cpp:
70815         (WebCore::RangeInputType::handleKeydownEvent):
70816           Added key bindings.
70817
70818 2011-07-07  Oleg Romashin  <romaxa@gmail.com>
70819
70820         Fix InspectorInstrumentation compilation.
70821         https://bugs.webkit.org/show_bug.cgi?id=64033
70822
70823         Reviewed by Yury Semikhatsky.
70824
70825         No new tests. just compile fix.
70826
70827         * inspector/InspectorInstrumentation.cpp:
70828         (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
70829
70830 2011-07-06  Mihnea Ovidenie  <mihnea@adobe.com>
70831
70832         Reviewed by David Hyatt.
70833
70834         [CSSRegions] Parse flow property
70835         https://bugs.webkit.org/show_bug.cgi?id=61730
70836
70837         Test: fast/regions/webkit-flow-parsing.html
70838
70839         * css/CSSComputedStyleDeclaration.cpp:
70840         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
70841         * css/CSSParser.cpp:
70842         (WebCore::CSSParser::parseValue):
70843         (WebCore::CSSParser::parseFlowThread):
70844         * css/CSSParser.h:
70845         * css/CSSPropertyNames.in:
70846         * css/CSSStyleSelector.cpp:
70847         (WebCore::CSSStyleSelector::applyProperty):
70848         * rendering/style/RenderStyle.cpp:
70849         (WebCore::RenderStyle::diff):
70850         * rendering/style/RenderStyle.h:
70851         (WebCore::InheritedFlags::flowThread):
70852         (WebCore::InheritedFlags::setFlowThread):
70853         (WebCore::InheritedFlags::initialFlowThread):
70854         * rendering/style/StyleRareNonInheritedData.cpp:
70855         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
70856         (WebCore::StyleRareNonInheritedData::operator==):
70857         * rendering/style/StyleRareNonInheritedData.h:
70858
70859 2011-07-06  MORITA Hajime  <morrita@google.com>
70860
70861         [ShadowContentElement] Redundant RenderText objects are created on the content boundaries.
70862         https://bugs.webkit.org/show_bug.cgi?id=63977
70863
70864         Reviewed by Dimitri Glazkov.
70865
70866         NodeRenderingContext::nextRenderer() and previousRenderer() didn't work well
70867         when it crosses content elements:
70868         - It doesn't step into forwarded children of ShadowContentElement.
70869         - It doesn't step out from traversing forwarded children to
70870           neighbors of the content element of that forwarded chidren.
70871         
70872         This change makes it to step into and out from content element.
70873         
70874         Test: fast/dom/shadow/content-element-renderers.html
70875
70876         * dom/NodeRenderingContext.cpp:
70877         (WebCore::firstRendererOf): Added
70878         (WebCore::lastRendererOf): Added
70879         (WebCore::NodeRenderingContext::nextRenderer):
70880         (WebCore::NodeRenderingContext::previousRenderer):
70881
70882 2011-07-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
70883
70884         [EFL] Add Fullscreen API feature
70885         https://bugs.webkit.org/show_bug.cgi?id=63975
70886
70887         Add needed files for enabling ENABLE_FULLSCREEN_API feature.
70888
70889         Reviewed by Adam Barth.
70890
70891         * CMakeLists.txt: Add RenderFullScreen.cpp, fullscreen.css
70892
70893 2011-07-06  Emil A Eklund  <eae@chromium.org>
70894
70895         Switch absoluteRects to to new layout types
70896         https://bugs.webkit.org/show_bug.cgi?id=64035
70897
70898         Reviewed by Eric Seidel.
70899
70900         Move absoluteRects over to new layout unit abstraction.
70901         Add flooredLayoutPoint, mapped to flooredIntPoint.
70902
70903         No new tests, no functionality changes.
70904
70905         * rendering/LayoutTypes.h:
70906         (WebCore::flooredLayoutPoint):
70907         * rendering/RenderBlock.cpp:
70908         (WebCore::RenderBlock::absoluteRects):
70909         * rendering/RenderBlock.h:
70910         * rendering/RenderBox.cpp:
70911         (WebCore::RenderBox::absoluteRects):
70912         * rendering/RenderInline.cpp:
70913         (WebCore::RenderInline::absoluteRects):
70914         * rendering/RenderInline.h:
70915         * rendering/RenderObject.cpp:
70916         (WebCore::RenderObject::absoluteBoundingBoxRect):
70917         * rendering/RenderObject.h:
70918         (WebCore::RenderObject::absoluteRects):
70919         * rendering/RenderText.cpp:
70920         (WebCore::RenderText::absoluteRects):
70921         * rendering/RenderText.h:
70922         * rendering/RenderView.cpp:
70923         (WebCore::RenderView::absoluteRects):
70924         * rendering/RenderView.h:
70925         * rendering/svg/RenderSVGBlock.cpp:
70926         (WebCore::RenderSVGBlock::absoluteRects):
70927         * rendering/svg/RenderSVGBlock.h:
70928         * rendering/svg/RenderSVGModelObject.cpp:
70929         (WebCore::RenderSVGModelObject::absoluteRects):
70930         * rendering/svg/RenderSVGModelObject.h:
70931
70932 2011-07-06  Emil A Eklund  <eae@chromium.org>
70933
70934         Reviewed by Eric Seidel.
70935
70936         Switch offsetFromContainer and related to to new layout types
70937         https://bugs.webkit.org/show_bug.cgi?id=63659
70938
70939         Switch offsetFromContainer and related mapping methods to new layout unit
70940         abstraction.
70941
70942         No new tests, no functionality changes.
70943
70944         * rendering/LayoutTypes.h:
70945         (WebCore::enclosingLayoutRect):
70946         (WebCore::roundedLayoutPoint):
70947         (WebCore::roundedLayoutUnit):
70948         Add LayoutUnit versions of enclosingIntRect, roundedIntPoint and lroundf.
70949         For now these map to their int counterpart but once we switch to float or
70950         fixed point they'll be no-ops and eventually will be removed. 
70951         
70952         * rendering/RenderBox.cpp:
70953         (WebCore::RenderBox::mapLocalToContainer):
70954         (WebCore::RenderBox::mapAbsoluteToLocalPoint):
70955         (WebCore::RenderBox::offsetFromContainer):
70956         * rendering/RenderBox.h:
70957         * rendering/RenderInline.cpp:
70958         (WebCore::RenderInline::linesBoundingBox):
70959         (WebCore::RenderInline::offsetFromContainer):
70960         (WebCore::RenderInline::mapLocalToContainer):
70961         (WebCore::RenderInline::mapAbsoluteToLocalPoint):
70962         (WebCore::RenderInline::relativePositionedInlineOffset):
70963         * rendering/RenderInline.h:
70964         * rendering/RenderObject.cpp:
70965         (WebCore::RenderObject::offsetFromContainer):
70966         (WebCore::RenderObject::offsetFromAncestorContainer):
70967         * rendering/RenderObject.h:
70968         * rendering/RenderTableCell.cpp:
70969         (WebCore::RenderTableCell::offsetFromContainer):
70970         * rendering/RenderTableCell.h:
70971         * rendering/RenderThemeMac.mm:
70972         (WebCore::RenderThemeMac::convertToPaintingRect):
70973
70974 2011-07-06  Levi Weintraub  <leviw@chromium.org>
70975
70976         Switch FrameSelection to new Layout Types
70977         https://bugs.webkit.org/show_bug.cgi?id=64043
70978
70979         Reviewed by Eric Seidel.
70980
70981         Switching the selection classes to the new layout types. Changing
70982         NoXPosForVerticalArrowNavigation to a static inline since as it stood it violated
70983         our global initializer rule when converted to numeric_limits from INT_MIN.
70984
70985         No new tests, no functionality changes.
70986
70987         * editing/FrameSelection.cpp:
70988         (WebCore::FrameSelection::modify):
70989         (WebCore::absoluteCaretY):
70990         (WebCore::FrameSelection::lineDirectionPointForBlockDirectionNavigation):
70991         (WebCore::CaretBase::clearCaretRect):
70992         (WebCore::CaretBase::updateCaretRect):
70993         (WebCore::FrameSelection::localCaretRect):
70994         (WebCore::CaretBase::absoluteBoundsForLocalRect):
70995         (WebCore::FrameSelection::absoluteCaretBounds):
70996         (WebCore::repaintRectForCaret):
70997         (WebCore::CaretBase::caretRepaintRect):
70998         (WebCore::FrameSelection::recomputeCaretRect):
70999         (WebCore::FrameSelection::paintCaret):
71000         (WebCore::CaretBase::paintCaret):
71001         (WebCore::FrameSelection::contains):
71002         (WebCore::DragCaretController::paintDragCaret):
71003         (WebCore::FrameSelection::bounds):
71004         (WebCore::FrameSelection::revealSelection):
71005         * editing/FrameSelection.h:
71006         (WebCore::CaretBase::localCaretRectWithoutUpdate):
71007
71008 2011-07-06  Levi Weintraub  <leviw@chromium.org>
71009
71010         Switch Overflow and FrameRect methods in InlineBox to Layout Units
71011         https://bugs.webkit.org/show_bug.cgi?id=64034
71012
71013         Reviewed by Eric Seidel.
71014
71015         Switching Overflow and FrameRect methods on InlineBox to new Layout Unit abstraction and
71016         cleaning up some compilation errors that crop up when building with floating point layout units.
71017
71018         No new tests, no functionality changes.
71019
71020         * css/CSSComputedStyleDeclaration.cpp:
71021         (WebCore::sizingBox):
71022         * dom/Document.h:
71023         * editing/DeleteButtonController.cpp:
71024         (WebCore::isDeletableElement):
71025         * inspector/DOMNodeHighlighter.cpp:
71026         (WebCore::DOMNodeHighlighter::drawNodeHighlight):
71027         * page/animation/AnimationBase.cpp:
71028         (WebCore::blendFunc):
71029         * platform/ScrollView.h:
71030         (WebCore::ScrollView::visibleWidth):
71031         (WebCore::ScrollView::visibleHeight):
71032         * platform/ScrollableArea.h:
71033         (WebCore::ScrollableArea::visibleHeight):
71034         (WebCore::ScrollableArea::visibleWidth):
71035         * platform/graphics/FloatPoint.h: Adding FloatPoint and FloatSize move[By] functions
71036         (WebCore::FloatPoint::move):
71037         (WebCore::FloatPoint::moveBy):
71038         * rendering/AutoTableLayout.cpp:
71039         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
71040         (WebCore::AutoTableLayout::layout):
71041         * rendering/InlineFlowBox.h:
71042         (WebCore::InlineFlowBox::layoutOverflowRect):
71043         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
71044         (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
71045         (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
71046         (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
71047         (WebCore::InlineFlowBox::logicalLayoutOverflowRect):
71048         (WebCore::InlineFlowBox::visualOverflowRect):
71049         (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
71050         (WebCore::InlineFlowBox::logicalRightVisualOverflow):
71051         (WebCore::InlineFlowBox::logicalTopVisualOverflow):
71052         (WebCore::InlineFlowBox::logicalBottomVisualOverflow):
71053         (WebCore::InlineFlowBox::logicalVisualOverflowRect):
71054         (WebCore::InlineFlowBox::frameRectIncludingLineHeight):
71055         (WebCore::InlineFlowBox::logicalFrameRectIncludingLineHeight):
71056         * rendering/RenderBlock.h:
71057         (WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
71058         (WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault):
71059         (WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault):
71060         (WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault):
71061
71062 2011-07-06  Emil A Eklund  <eae@chromium.org>
71063
71064         Reviewed by Eric Seidel.
71065         
71066         Switch nodeAtPoint to to new layout types
71067         https://bugs.webkit.org/show_bug.cgi?id=63663
71068
71069         No new tests, no functionality changes.
71070
71071         * rendering/EllipsisBox.cpp:
71072         (WebCore::EllipsisBox::nodeAtPoint):
71073         * rendering/EllipsisBox.h:
71074         * rendering/InlineBox.cpp:
71075         (WebCore::InlineBox::nodeAtPoint):
71076         * rendering/InlineBox.h:
71077         * rendering/InlineFlowBox.cpp:
71078         (WebCore::InlineFlowBox::nodeAtPoint):
71079         * rendering/InlineFlowBox.h:
71080         * rendering/InlineTextBox.cpp:
71081         (WebCore::InlineTextBox::nodeAtPoint):
71082         * rendering/InlineTextBox.h:
71083         * rendering/LayoutTypes.h:
71084         (WebCore::toLayoutSize):
71085         (WebCore::toLayoutPoint):
71086         (WebCore::roundedLayoutPoint):
71087         (WebCore::roundedLayoutUnit):
71088         * rendering/RenderBlock.cpp:
71089         (WebCore::RenderBlock::nodeAtPoint):
71090         * rendering/RenderBlock.h:
71091         * rendering/RenderBox.cpp:
71092         (WebCore::RenderBox::nodeAtPoint):
71093         * rendering/RenderBox.h:
71094         * rendering/RenderFrameSet.cpp:
71095         (WebCore::RenderFrameSet::nodeAtPoint):
71096         * rendering/RenderFrameSet.h:
71097         * rendering/RenderImage.cpp:
71098         (WebCore::RenderImage::nodeAtPoint):
71099         * rendering/RenderImage.h:
71100         * rendering/RenderInline.cpp:
71101         (WebCore::RenderInline::nodeAtPoint):
71102         * rendering/RenderInline.h:
71103         * rendering/RenderListBox.cpp:
71104         (WebCore::RenderListBox::nodeAtPoint):
71105         * rendering/RenderListBox.h:
71106         * rendering/RenderObject.cpp:
71107         (WebCore::RenderObject::nodeAtPoint):
71108         * rendering/RenderObject.h:
71109         * rendering/RenderTable.cpp:
71110         (WebCore::RenderTable::nodeAtPoint):
71111         * rendering/RenderTable.h:
71112         * rendering/RenderTableRow.cpp:
71113         (WebCore::RenderTableRow::nodeAtPoint):
71114         * rendering/RenderTableRow.h:
71115         * rendering/RenderTableSection.cpp:
71116         (WebCore::RenderTableSection::nodeAtPoint):
71117         * rendering/RenderTableSection.h:
71118         * rendering/RenderText.h:
71119         (WebCore::RenderText::nodeAtPoint):
71120         * rendering/RenderTextControlMultiLine.cpp:
71121         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
71122         * rendering/RenderTextControlMultiLine.h:
71123         * rendering/RenderTextControlSingleLine.cpp:
71124         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
71125         * rendering/RenderTextControlSingleLine.h:
71126         * rendering/RenderWidget.cpp:
71127         (WebCore::RenderWidget::nodeAtPoint):
71128         * rendering/RenderWidget.h:
71129         * rendering/RootInlineBox.cpp:
71130         (WebCore::RootInlineBox::nodeAtPoint):
71131         * rendering/RootInlineBox.h:
71132         * rendering/svg/RenderSVGForeignObject.cpp:
71133         (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
71134         (WebCore::RenderSVGForeignObject::nodeAtPoint):
71135         * rendering/svg/RenderSVGForeignObject.h:
71136         * rendering/svg/RenderSVGModelObject.cpp:
71137         (WebCore::RenderSVGModelObject::nodeAtPoint):
71138         * rendering/svg/RenderSVGModelObject.h:
71139         * rendering/svg/RenderSVGRoot.cpp:
71140         (WebCore::RenderSVGRoot::nodeAtPoint):
71141         * rendering/svg/RenderSVGRoot.h:
71142         * rendering/svg/RenderSVGText.cpp:
71143         (WebCore::RenderSVGText::nodeAtPoint):
71144         * rendering/svg/RenderSVGText.h:
71145         * rendering/svg/SVGInlineTextBox.cpp:
71146         (WebCore::SVGInlineTextBox::nodeAtPoint):
71147         * rendering/svg/SVGInlineTextBox.h:
71148
71149 2011-07-06  Adrienne Walker  <enne@google.com>
71150
71151         [chromium] Add compositor texture manager soft limits and lost focus reclaiming
71152         https://bugs.webkit.org/show_bug.cgi?id=64009
71153
71154         Reviewed by James Robinson.
71155
71156         Add a soft limit for texture memory. Unprotected textures will get
71157         reclaimed when above this limit. Increase the hard limit for maximum
71158         texture memory as well, now that there is a better heuristic and
71159         textures are reclaimed from tabs without focus.
71160
71161         Landing this for vangelis@chromium.org.
71162
71163         * platform/graphics/chromium/LayerRendererChromium.cpp:
71164         (WebCore::LayerRendererChromium::releaseTextures):
71165         (WebCore::LayerRendererChromium::initializeSharedObjects):
71166         * platform/graphics/chromium/LayerRendererChromium.h:
71167         * platform/graphics/chromium/LayerTilerChromium.cpp:
71168         (WebCore::LayerTilerChromium::protectTileTextures):
71169         * platform/graphics/chromium/LayerTilerChromium.h:
71170         * platform/graphics/chromium/TextureManager.cpp:
71171         (WebCore::TextureManager::TextureManager):
71172         (WebCore::TextureManager::requestTexture):
71173         * platform/graphics/chromium/TextureManager.h:
71174         (WebCore::TextureManager::create):
71175
71176 2011-07-06  Pavel Feldman  <pfeldman@chromium.org>
71177
71178         Not reviewed: Web Inspector: fixing typo introduced in the r90397.
71179
71180         * inspector/front-end/StylesSidebarPane.js:
71181
71182 2011-07-06  Mike Reed  <reed@google.com>
71183
71184         [skia] don't include deprecated header
71185         https://bugs.webkit.org/show_bug.cgi?id=64025
71186
71187         Reviewed by James Robinson.
71188
71189         No new tests. Just removing #include of an unused header that will be gone soon
71190
71191         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
71192         * platform/graphics/skia/PlatformContextSkia.cpp:
71193
71194 2011-06-30  Cris Neckar  <cdn@chromium.org>
71195
71196         Reviewed by Darin Fisher.
71197
71198         Add versioning to Chromium clipboard and prevent polling from inside events.
71199         https://bugs.webkit.org/show_bug.cgi?id=63738
71200
71201         * platform/chromium/ChromiumDataObject.cpp:
71202         (WebCore::ChromiumDataObject::getSequenceNumber):
71203         * platform/chromium/ChromiumDataObject.h:
71204         * platform/chromium/ClipboardChromium.cpp:
71205         (WebCore::ClipboardChromium::ClipboardChromium):
71206         (WebCore::ClipboardChromium::getData):
71207         (WebCore::ClipboardChromium::platformClipboardChanged):
71208         * platform/chromium/ClipboardChromium.h:
71209         * platform/chromium/DataTransferItemChromium.cpp:
71210         (WebCore::DataTransferItemChromium::getAsString):
71211         (WebCore::DataTransferItemChromium::getAsFile):
71212         * platform/chromium/PlatformBridge.h:
71213         * svg/SVGAnimationElement.cpp:
71214         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
71215
71216 2011-07-01  James Robinson  <jamesr@chromium.org>
71217
71218         Reviewed by Stephen White.
71219
71220         [chromium] Externalize layer visibility calculation
71221         https://bugs.webkit.org/show_bug.cgi?id=63847
71222
71223         This moves the layer visibility calculation from the layer itself out to LayerRendererChromium, like the other
71224         calculated properties.  Previously, we were doing this calculating at paint time and again at draw time and
71225         relying on the fact that this produced the same value.  This avoids the redundant calculation.
71226
71227         Covered by existing compositing/ layout tests.
71228
71229         * platform/graphics/chromium/ContentLayerChromium.cpp:
71230         (WebCore::ContentLayerChromium::ContentLayerChromium):
71231         (WebCore::ContentLayerChromium::paintContentsIfDirty):
71232         (WebCore::ContentLayerChromium::tilingTransform):
71233         (WebCore::ContentLayerChromium::contentBounds):
71234         (WebCore::ContentLayerChromium::updateLayerSize):
71235         (WebCore::ContentLayerChromium::draw):
71236         (WebCore::ContentLayerChromium::setTilingOption):
71237         (WebCore::ContentLayerChromium::setIsMask):
71238         * platform/graphics/chromium/ContentLayerChromium.h:
71239         * platform/graphics/chromium/ImageLayerChromium.cpp:
71240         (WebCore::ImageLayerChromium::paintContentsIfDirty):
71241         (WebCore::ImageLayerChromium::contentBounds):
71242         * platform/graphics/chromium/ImageLayerChromium.h:
71243         * platform/graphics/chromium/LayerChromium.cpp:
71244         (WebCore::LayerChromium::pushPropertiesTo):
71245         * platform/graphics/chromium/LayerChromium.h:
71246         (WebCore::LayerChromium::contentBounds):
71247         (WebCore::LayerChromium::visibleLayerRect):
71248         (WebCore::LayerChromium::setVisibleLayerRect):
71249         (WebCore::LayerChromium::draw):
71250         * platform/graphics/chromium/LayerRendererChromium.cpp:
71251         (WebCore::calculateVisibleLayerRect):
71252         (WebCore::LayerRendererChromium::paintLayerContents):
71253         (WebCore::LayerRendererChromium::drawLayer):
71254         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
71255         (WebCore::RenderSurfaceChromium::draw):
71256         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
71257         (WebCore::CCCanvasLayerImpl::draw):
71258         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
71259         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
71260         (WebCore::CCLayerImpl::draw):
71261         * platform/graphics/chromium/cc/CCLayerImpl.h:
71262         (WebCore::CCLayerImpl::contentBounds):
71263         (WebCore::CCLayerImpl::setContentBounds):
71264         (WebCore::CCLayerImpl::visibleLayerRect):
71265         (WebCore::CCLayerImpl::setVisibleLayerRect):
71266         (WebCore::CCLayerImpl::doubleSided):
71267         (WebCore::CCLayerImpl::setDoubleSided):
71268         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
71269         (WebCore::CCPluginLayerImpl::draw):
71270         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
71271         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
71272         (WebCore::CCVideoLayerImpl::draw):
71273         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
71274
71275 2011-07-06  John Sullivan  <sullivan@apple.com>
71276
71277         IconDatabase::synchronousIconForPageURL() has inconsistent API when no custom icon is available
71278         <https://bugs.webkit.org/show_bug.cgi?id=64015>
71279         <rdar://problem/9706277>
71280
71281         For some URLs it would return a particular size of default icon; for other
71282         URLs it would return 0.
71283
71284         Reviewed by Ada Chan.
71285
71286         * loader/icon/IconDatabase.cpp:
71287         (WebCore::IconDatabase::synchronousIconForPageURL):
71288         Return 0 in all cases where there is no custom icon.
71289
71290 2011-07-06  Emil A Eklund  <eae@chromium.org>
71291
71292         Reviewed by Eric Seidel.
71293
71294         Switch RenderLayer::hitTest* to to new layout types
71295         https://bugs.webkit.org/show_bug.cgi?id=63640
71296
71297         Switch hit testing and supporting methods for RenderLayer over to the new
71298         layout unit abstraction.
71299         
71300         No new tests, no functionality changes.
71301
71302         * rendering/LayoutTypes.h:
71303         (WebCore::roundedLayoutPoint):
71304         Add roundedLayoutPoint abstraction, calls roundedIntPoint now but will be a
71305         no-op (and eventually go away) once we switch to float or fixed point.
71306         
71307         * rendering/RenderLayer.cpp:
71308         (WebCore::RenderLayer::createLocalTransformState):
71309         (WebCore::RenderLayer::hitTestLayer):
71310         (WebCore::RenderLayer::hitTestList):
71311         (WebCore::RenderLayer::hitTestPaginatedChildLayer):
71312         (WebCore::RenderLayer::hitTestChildLayerColumns):
71313         (WebCore::RenderLayer::calculateRects):
71314         * rendering/RenderLayer.h:
71315
71316 2011-07-06  Simon Fraser  <simon.fraser@apple.com>
71317
71318         Have RenderLayerCompositor take care of clearing backing store when entering the page cache
71319         https://bugs.webkit.org/show_bug.cgi?id=64018
71320
71321         Reviewed by Joseph Pecoraro.
71322
71323         Move responsibility for tearing down all RenderLayer backing stores from
71324         RenderLayer itself to RenderLayerCompositor, since RenderLayerCompositor 
71325         manages backing store creation and destruction in general.
71326
71327         * page/FrameView.cpp:
71328         (WebCore::FrameView::clearBackingStores):
71329         * rendering/RenderLayer.cpp:
71330         * rendering/RenderLayer.h:
71331         * rendering/RenderLayerCompositor.cpp:
71332         (WebCore::RenderLayerCompositor::clearBackingForLayerIncludingDescendants):
71333         (WebCore::RenderLayerCompositor::clearBackingForAllLayers):
71334         * rendering/RenderLayerCompositor.h:
71335
71336 2011-07-06  Ryuan Choi  <ryuan.choi@samsung.com>
71337
71338         [Performance] Only call sendContentResizeNotification when the scrollbar actually did change
71339         https://bugs.webkit.org/show_bug.cgi?id=47320
71340
71341         Reviewed by Eric Seidel.
71342
71343         Move avoidScrollbarCreation checking code from setHasHorizontalScrollbar
71344         and setHasVerticalScrollbar to their caller in order to keep sendContentResizedNotification
71345         false in case scrollbar is not really changed.
71346         As a result, it will remove unnecessary relayout in the above case.
71347
71348         No new tests as this is very hard to write tests for. The bug only
71349         occured when scrolling the sites which contain frame in browser with
71350         frameFlattening. This should not change functionality in other case.
71351
71352         * platform/ScrollView.cpp:
71353         (WebCore::ScrollView::setHasHorizontalScrollbar):
71354         (WebCore::ScrollView::setHasVerticalScrollbar):
71355         (WebCore::ScrollView::updateScrollbars):
71356
71357 2011-07-06  Nate Chapin  <japhet@chromium.org>
71358
71359         Don't let all subresources keep isLoadingInAPISense() from
71360         returning false, only requests that affect
71361         CachedResourceRequest::requestCount().
71362         https://bugs.webkit.org/show_bug.cgi?id=62066
71363
71364         Reviewed by Adam Barth.
71365
71366         * dom/Document.cpp:
71367         (WebCore::Document::Document):
71368         (WebCore::Document::dispatchWindowLoadEvent):
71369         * dom/Document.h:
71370         (WebCore::Document::loadEventFinished):
71371         * loader/DocumentLoader.cpp:
71372         (WebCore::DocumentLoader::isLoadingInAPISense):
71373
71374 2011-07-06  Pavel Feldman  <pfeldman@google.com>
71375
71376         Web Inspector: implement drag'n'drop in the elements panel for reordering nodes.
71377         https://bugs.webkit.org/show_bug.cgi?id=63990
71378
71379         Reviewed by Yury Semikhatsky.
71380
71381         * inspector/Inspector.json:
71382         * inspector/InspectorDOMAgent.cpp:
71383         (WebCore::InspectorDOMAgent::moveTo):
71384         * inspector/InspectorDOMAgent.h:
71385         * inspector/front-end/DOMAgent.js:
71386         (WebInspector.DOMNode.prototype._removeChild):
71387         (WebInspector.DOMNode.prototype.ownerDocumentElement):
71388         (WebInspector.DOMNode.prototype.moveTo):
71389         (WebInspector.DOMAgent.prototype._childNodeRemoved):
71390         * inspector/front-end/ElementsTreeOutline.js:
71391         (WebInspector.ElementsTreeOutline):
71392         (WebInspector.ElementsTreeOutline.prototype._ondragstart):
71393         (WebInspector.ElementsTreeOutline.prototype._ondragover):
71394         (WebInspector.ElementsTreeOutline.prototype._ondragleave):
71395         (WebInspector.ElementsTreeOutline.prototype._isValidDragSourceOrTarget):
71396         (WebInspector.ElementsTreeOutline.prototype._ondragend.callback):
71397         (WebInspector.ElementsTreeOutline.prototype._ondragend):
71398         (WebInspector.ElementsTreeOutline.prototype._clearDragOverTreeElementMarker):
71399         (WebInspector.ElementsTreeOutline.prototype.populateContextMenu.focusElement):
71400         (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
71401         (WebInspector.ElementsTreeElement.prototype.onattach):
71402         * inspector/front-end/inspector.css:
71403         (.outline-disclosure li.elements-drag-over .selection):
71404         * inspector/front-end/treeoutline.js:
71405         (TreeOutline.prototype.treeElementFromEvent):
71406
71407 2011-07-06  Andras Becsi  <abecsi@webkit.org>
71408
71409         Fix "warning: a `;' might be needed at the end of action code"
71410
71411         Unreviewed gardening.
71412
71413         No new tests needed.
71414
71415         * css/CSSGrammar.y: Future versions of Bison will not add the ';' so add it.
71416
71417 2011-07-06  Andras Becsi  <abecsi@webkit.org>
71418
71419         [Qt] Revome unused but set shadowBlur variable after r90406.
71420
71421         Unreviewed build fix.
71422
71423         No new tests needed.
71424
71425         * platform/graphics/qt/GraphicsContextQt.cpp:
71426         (WebCore::GraphicsContext::fillPath): Use the GraphicsContext brush.
71427
71428 2011-07-06  Andras Becsi  <abecsi@webkit.org>
71429
71430         [Qt] Remove duplicate entries of ShadowBlur sources from project file.
71431
71432         Rubber-stamped by Csaba Osztrogonác.
71433
71434         No new tests needed.
71435
71436         * WebCore.pro: These files were already added in r84410.
71437
71438 2011-07-05  Kentaro Hara  <haraken@google.com>
71439
71440         Trigger a 'change' event whenever selected files are changed
71441         https://bugs.webkit.org/show_bug.cgi?id=63929
71442
71443         Reviewed by Kent Tamura.
71444
71445         Record previously selected files and then compare them with newly selected files.
71446         If the previously selected files and their order are not equal to those of
71447         the newly selected files, we trigger the 'change' event.
71448
71449         Test: fast/forms/file-input-change-event.html
71450
71451         * html/FileInputType.cpp:
71452         (WebCore::FileInputType::filesChosen): Calls dispathChangeEvent() only when the previously selected files are different from the newly selected files
71453
71454 2011-06-29  Kent Tamura  <tkent@chromium.org>
71455
71456         Reviewed by Alexey Proskuryakov.
71457
71458         [Mac] REGRESSION (r88415): Range slider doesn't have focus appearance.
71459         https://bugs.webkit.org/show_bug.cgi?id=63573
71460
71461         * rendering/RenderThemeMac.mm:
71462         (WebCore::RenderThemeMac::paintSliderThumb):
71463         Need to pass the RenderObject of the owner <input> because
71464         updateFocusedState() checks the outline style of the specified
71465         renderer, and we'd like to make a slider thumb reflect the owner
71466         focus style.
71467
71468 2011-07-05  Hans Wennborg  <hans@chromium.org>
71469
71470         [V8][Chromium] Remove use of OwnHandle from V8LocalContext
71471         https://bugs.webkit.org/show_bug.cgi?id=63925
71472
71473         Reviewed by Adam Barth.
71474
71475         Replace the OwnHandle<> member in V8LocalContext with
71476         v8::Persistent<v8::Context>.
71477         The code that used OwnHandle<> would not correctly Dispose
71478         of the Context, which would cause the memory to fill up when creating
71479         and destructing many V8LocalContext objects, such as in the case
71480         of IndexedDB.
71481
71482         * bindings/v8/V8Utilities.cpp:
71483         (WebCore::V8LocalContext::V8LocalContext):
71484         (WebCore::V8LocalContext::~V8LocalContext):
71485         * bindings/v8/V8Utilities.h:
71486
71487 2011-07-05  Igor Oliveira  <igor.oliveira@openbossa.org>
71488
71489         [Qt] Add ShadowBlur support
71490         https://bugs.webkit.org/show_bug.cgi?id=62997
71491
71492         Use ShadowBlur instead of ContextShadow to handle canvas and css shadows. ShadowBlur is
71493         a newer and platform independent shadow implementation.
71494         Qt QPainter does not have support for shadows so is necessary to create a layer support
71495         to draw complex shapes and fonts. The beginShadowLayer creates a temporary shadow buffer
71496         where the canvas can draw onto and endShadowLayer applies the blur filter, colors the
71497         shadow buffer and draw the final shadow to the graphics context.
71498
71499         Reviewed by Andreas Kling.
71500
71501         * WebCore.pro:
71502         * platform/graphics/GraphicsContext.cpp:
71503         * platform/graphics/GraphicsContext.h:
71504         * platform/graphics/ShadowBlur.cpp:
71505         (WebCore::ShadowBlur::ShadowBlur):
71506         (WebCore::ShadowBlur::setShadowValues):
71507         (WebCore::ShadowBlur::updateShadowBlurValues):
71508         (WebCore::ShadowBlur::clear):
71509         (WebCore::ShadowBlur::blurAndColorShadowBuffer):
71510         (WebCore::ShadowBlur::beginShadowLayer):
71511         (WebCore::ShadowBlur::endShadowLayer):
71512         * platform/graphics/ShadowBlur.h:
71513         (WebCore::ShadowBlur::type):
71514         * platform/graphics/qt/ContextShadowQt.cpp: Removed.
71515         * platform/graphics/qt/FontQt.cpp:
71516         (WebCore::drawTextCommon):
71517         (WebCore::Font::drawGlyphs):
71518         * platform/graphics/qt/GraphicsContextQt.cpp:
71519         (WebCore::GraphicsContextPlatformPrivate::mustUseShadowBlur):
71520         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
71521         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
71522         (WebCore::GraphicsContext::savePlatformState):
71523         (WebCore::GraphicsContext::restorePlatformState):
71524         (WebCore::GraphicsContext::fillPath):
71525         (WebCore::GraphicsContext::strokePath):
71526         (WebCore::GraphicsContext::fillRect):
71527         (WebCore::GraphicsContext::fillRoundedRect):
71528         (WebCore::GraphicsContext::shadowBlur):
71529         (WebCore::GraphicsContext::clipBounds):
71530         (WebCore::GraphicsContext::setPlatformShadow):
71531         (WebCore::GraphicsContext::clearPlatformShadow):
71532         * platform/graphics/qt/ImageQt.cpp:
71533         (WebCore::BitmapImage::draw):
71534         * platform/graphics/qt/StillImageQt.cpp:
71535         (WebCore::StillImage::draw):
71536
71537 2011-07-05  Sam Weinig  <sam@webkit.org>
71538
71539         Null deref accessing CustomEvent.detail
71540         <rdar://problem/9724577>
71541         https://bugs.webkit.org/show_bug.cgi?id=63885
71542
71543         Reviewed by Anders Carlsson.
71544
71545         Test: fast/events/custom-event-uninitialized.html
71546
71547         * bindings/scripts/CodeGeneratorJS.pm:
71548         Guard against uninitialized script value.
71549
71550 2011-07-05  Pratik Solanki  <psolanki@apple.com>
71551
71552         Reviewed by Dan Bernstein.
71553
71554         Coalesce data array into one NSData before calling didReceiveData
71555         https://bugs.webkit.org/show_bug.cgi?id=63916
71556         <rdar://problem/9715181>
71557
71558         Instead of calling didReceiveData multiple times with smaller chunks of data, we merge the
71559         data buffers into one and call it once.
71560
71561         No new tests because the flag isn't enabled yet.
71562
71563         * platform/network/mac/ResourceHandleMac.mm:
71564         (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]):
71565
71566 2011-07-05  Tamas Czene  <Czene.Tamas@stud.u-szeged.hu>
71567
71568         Reviewed by Simon Fraser.
71569
71570         Remove virtual functions from StyleImage.
71571         https://bugs.webkit.org/show_bug.cgi?id=63909
71572
71573         We can remove the virtual "isChachedImage, isPendingImage, isGeneratedImage" functions to speed up the StyleImage.
71574         Some profile data shows this part is significant, especially in small CSS-based sites.
71575         Removing the virtual functions - removing the calls - makes a small performance progression on this part.
71576
71577         * rendering/style/StyleCachedImage.h:
71578         (WebCore::StyleCachedImage::StyleCachedImage):
71579         * rendering/style/StyleGeneratedImage.h:
71580         (WebCore::StyleGeneratedImage::StyleGeneratedImage):
71581         * rendering/style/StyleImage.h:
71582         (WebCore::StyleImage::isCachedImage):
71583         (WebCore::StyleImage::isPendingImage):
71584         (WebCore::StyleImage::isGeneratedImage):
71585         (WebCore::StyleImage::StyleImage):
71586         * rendering/style/StylePendingImage.h:
71587         (WebCore::StylePendingImage::StylePendingImage):
71588
71589 2011-07-05  Pavel Feldman  <pfeldman@google.com>
71590
71591         Web Inspector: add "element state" setting to the styles section title.
71592         https://bugs.webkit.org/show_bug.cgi?id=63932
71593
71594         Reviewed by Yury Semikhatsky.
71595
71596         * English.lproj/localizedStrings.js:
71597         * WebCore.gypi:
71598         * inspector/front-end/Images/paneElementStateButtons.png: Added.
71599         * inspector/front-end/StylesSidebarPane.js:
71600         (WebInspector.StylesSidebarPane.muteEventListener):
71601         (WebInspector.StylesSidebarPane):
71602         (WebInspector.StylesSidebarPane.prototype.update):
71603         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
71604         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
71605         (WebInspector.StylesSidebarPane.prototype.addBlankSection):
71606         (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
71607         (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
71608         (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
71609         (WebInspector.StylesSidebarPane.prototype._createElementStatePane.createCheckbox):
71610         (WebInspector.StylesSidebarPane.prototype._createElementStatePane):
71611         * inspector/front-end/WebKit.qrc:
71612         * inspector/front-end/inspector.css:
71613         (.pane > .title > .pane-title-button:active, .pane > .title > .pane-title-button.toggled):
71614         (.pane > .title > .pane-title-button.element-state):
71615         (.styles-element-state-pane):
71616         (.styles-element-state-pane.expanded):
71617         (.styles-element-state-pane > table):
71618         (.styles-element-state-pane input):
71619
71620 2011-06-22  Pavel Podivilov  <podivilov@chromium.org>
71621
71622         Reviewed by Yury Semikhatsky.
71623
71624         Web Inspector: extract duplicated code that deals with source mappings.
71625         https://bugs.webkit.org/show_bug.cgi?id=63139
71626
71627         * inspector/front-end/ConsoleView.js:
71628         (WebInspector.ConsoleMessage.prototype.isEqual):
71629         (WebInspector.ConsoleMessage.prototype.get stackTrace):
71630         * inspector/front-end/DebuggerPresentationModel.js:
71631         (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation):
71632         (WebInspector.DebuggerPresentationModel.prototype._updateAnchor):
71633         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
71634         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
71635         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
71636         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didGetScriptLocation):
71637         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
71638         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.updateSourceFileBreakpointsAndDispatchEvent):
71639         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didGetUILocation):
71640         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
71641         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
71642         (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
71643         (WebInspector.PresenationCallFrame):
71644         (WebInspector.PresenationCallFrame.prototype.sourceLine):
71645
71646 2011-07-05  Ilya Tikhonovsky  <loislo@chromium.org>
71647
71648         Web Inspector: WebInspector frontend reports a protocol error in remote debugging mode.
71649         https://bugs.webkit.org/show_bug.cgi?id=63935
71650
71651         it was error generated for obsolete message "loaded" which was sent from frontend to backend.
71652
71653         Reviewed by Yury Semikhatsky.
71654
71655         * inspector/CodeGeneratorInspector.pm:
71656         * inspector/front-end/inspector.js:
71657         (WebInspector.loaded.WebInspector.socket.onopen):
71658         (WebInspector.loaded):
71659
71660 2011-07-05  Andrey Kosyakov  <caseq@chromium.org>
71661
71662         Web Inspector: [refactoring] remove network-sidebar style, add network-log-grid
71663         https://bugs.webkit.org/show_bug.cgi?id=63913
71664
71665         Reviewed by Yury Semikhatsky.
71666
71667         * inspector/front-end/NetworkPanel.js:
71668         (WebInspector.NetworkPanel):
71669         (WebInspector.NetworkPanel.prototype._createTable):
71670         * inspector/front-end/networkPanel.css:
71671         (.network-log-grid):
71672         (.network-log-grid table.data):
71673         (.network-log-grid.small table.data):
71674         (.network-log-grid td):
71675         (.network-log-grid.small td):
71676         (.network-log-grid th):
71677         (.network-log-grid.small th):
71678         (.network-log-grid th, .network.panel .data-grid th.sort-descending, .network.panel .data-grid th.sort-ascending):
71679         (.network-log-grid .data-container):
71680         (.network-log-grid.small .data-container):
71681         (.network-log-grid select):
71682         (.network-log-grid.small tr.offscreen):
71683         (.network-log-grid tr.offscreen):
71684         (.network-log-grid tr.offscreen td):
71685         (.network-log-grid tr.filler):
71686         (.network-log-grid tr:not(.filler) td.name-column):
71687         (.network.panel:not(.viewing-resource) .network-log-grid td.name-column:hover):
71688         (.network-log-grid td.time-column):
71689         (.network-log-grid.small .network-graph-side):
71690         (.network-log-grid th.sortable:active):
71691         (.network-log-grid tr.selected .network-cell-subtitle):
71692         (.network-log-grid .icon):
71693         (.network-log-grid.small .icon):
71694         (.network-log-grid .network-category-scripts .icon):
71695         (.network-log-grid.small .network-category-scripts .icon):
71696         (.network-log-grid .network-category-documents .icon):
71697         (.network-log-grid.small .network-category-documents .icon):
71698         (.network-log-grid .network-category-stylesheets .icon):
71699         (.network-log-grid.small .network-category-stylesheets .icon):
71700         (.network-log-grid .network-category-images .icon):
71701         (.network-log-grid.small .network-category-images .icon):
71702         (.network-log-grid .image-network-icon-preview):
71703         (.network-log-grid.small .image-network-icon-preview):
71704         (.network-timeline-grid.small .network-event-divider):
71705         (.network-log-grid .resources-dividers):
71706         (.network-log-grid .resources-dividers-label-bar):
71707         (.network-timeline-grid.small .resources-dividers-label-bar):
71708         (.network-timeline-grid .resources-divider-label):
71709         (.network-timeline-grid .resources-dividers-label-bar .resources-divider):
71710         (.network-timeline-grid.small .resources-dividers-label-bar .resources-divider):
71711         (.network-timeline-grid .resources-divider.first .resources-divider-label):
71712         (.network-timeline-grid .resources-dividers-label-bar .resources-divider.first):
71713         (.network-timeline-grid tr.filler td):
71714         (.network-summary-bar td):
71715         (.network.panel.viewing-resource .network-log-grid th):
71716         (.network-log-grid.full-grid-mode .viewer-column):
71717         (.network-log-grid.brief-grid-mode .time-column):
71718         (.network-log-grid.viewing-resource-mode .timeline-column):
71719         (.network.panel .sidebar):
71720         (.network.panel.viewing-resource .network-log-grid .data-grid-resizer):
71721
71722 2011-07-05  Alexandru Chiculita  <achicu@adobe.com>
71723
71724         Reviewed by Simon Hausmann.
71725
71726         [Qt] "cat" is not available when building.
71727         https://bugs.webkit.org/show_bug.cgi?id=63924
71728
71729         Changed 'cat' to 'perl -ne \"print $1\"' because 'cat' is not available on Windows with
71730         MSVC toolchain. It passed the Qt buildbots, because they run with cygwin.
71731
71732         Project file change. No tests needed.
71733
71734         * CodeGenerators.pri:
71735 2011-07-05  Vsevolod Vlasov  <vsevik@chromium.org>
71736
71737         Unreviewed; Qt Linux Release minimal compile fix.
71738
71739         * testing/Internals.h:
71740         (WebCore::Internals::setInspectorResourcesDataSizeLimits):
71741         * testing/Internals.idl:
71742
71743 2011-07-05  Vsevolod Vlasov  <vsevik@chromium.org>
71744
71745         Web Inspector: Show content for plugin requests in network panel.
71746         https://bugs.webkit.org/show_bug.cgi?id=30080
71747
71748         Now the data from didReceiveData callback is passed to inspector.
71749         It is then saved in NetworkResourcesData structure for plugin requests.
71750         Added window.internals.setInspectorResourcesDataSizeLimits() method
71751         for testing replacement logic.
71752
71753         Reviewed by Pavel Feldman.
71754
71755         Tests: http/tests/inspector/network/network-content-replacement-embed.html
71756                http/tests/inspector/network/network-content-replacement-xhr.html
71757                http/tests/inspector/network/network-embed.html
71758
71759         * WebCore.exp.in:
71760         * inspector/InspectorController.cpp:
71761         (WebCore::InspectorController::setResourcesDataSizeLimitsFromInternals):
71762         * inspector/InspectorController.h:
71763         * inspector/InspectorInstrumentation.cpp:
71764         (WebCore::InspectorInstrumentation::didReceiveDataImpl):
71765         * inspector/InspectorInstrumentation.h:
71766         (WebCore::InspectorInstrumentation::didReceiveData):
71767         * inspector/InspectorResourceAgent.cpp:
71768         (WebCore::InspectorResourceAgent::didReceiveResponse):
71769         (WebCore::InspectorResourceAgent::didReceiveData):
71770         (WebCore::InspectorResourceAgent::didFinishLoading):
71771         (WebCore::InspectorResourceAgent::setInitialXHRContent):
71772         (WebCore::InspectorResourceAgent::setResourcesDataSizeLimitsFromInternals):
71773         (WebCore::InspectorResourceAgent::getResourceContent):
71774         * inspector/InspectorResourceAgent.h:
71775         * inspector/NetworkResourcesData.cpp:
71776         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
71777         (WebCore::NetworkResourcesData::ResourceData::setContent):
71778         (WebCore::NetworkResourcesData::ResourceData::purgeContent):
71779         (WebCore::NetworkResourcesData::ResourceData::createDecoder):
71780         (WebCore::NetworkResourcesData::ResourceData::dataLength):
71781         (WebCore::NetworkResourcesData::ResourceData::appendData):
71782         (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
71783         (WebCore::NetworkResourcesData::NetworkResourcesData):
71784         (WebCore::NetworkResourcesData::responseReceived):
71785         (WebCore::NetworkResourcesData::setResourceContent):
71786         (WebCore::NetworkResourcesData::maybeAddResourceData):
71787         (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
71788         (WebCore::NetworkResourcesData::data):
71789         (WebCore::NetworkResourcesData::clear):
71790         (WebCore::NetworkResourcesData::setResourcesDataSizeLimits):
71791         (WebCore::NetworkResourcesData::ensureNoDataForIdentifier):
71792         (WebCore::NetworkResourcesData::ensureFreeSpace):
71793         * inspector/NetworkResourcesData.h:
71794         (WebCore::NetworkResourcesData::ResourceData::hasContent):
71795         (WebCore::NetworkResourcesData::ResourceData::content):
71796         (WebCore::NetworkResourcesData::ResourceData::decoder):
71797         (WebCore::NetworkResourcesData::ResourceData::buffer):
71798         (WebCore::NetworkResourcesData::ResourceData::setBuffer):
71799         (WebCore::NetworkResourcesData::ResourceData::hasData):
71800         * inspector/front-end/Resource.js:
71801         (WebInspector.Resource.prototype.get contentEncoded):
71802         * inspector/front-end/ResourcePreviewView.js:
71803         (WebInspector.ResourcePreviewView.prototype.contentLoaded):
71804         (WebInspector.ResourcePreviewView.prototype._createEmptyView):
71805         (WebInspector.ResourcePreviewView.prototype._createPreviewView):
71806         * inspector/front-end/ResourceView.js:
71807         (WebInspector.ResourceView.hasTextContent):
71808         * loader/DocumentThreadableLoader.cpp:
71809         (WebCore::DocumentThreadableLoader::didReceiveData):
71810         * loader/FrameLoader.cpp:
71811         (WebCore::FrameLoader::willLoadMediaElementURL):
71812         (WebCore::FrameLoader::commitProvisionalLoad):
71813         (WebCore::FrameLoader::loadResourceSynchronously):
71814         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
71815         * loader/ResourceLoadNotifier.cpp:
71816         (WebCore::ResourceLoadNotifier::didReceiveData):
71817         (WebCore::ResourceLoadNotifier::dispatchDidReceiveData):
71818         (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
71819         * loader/ResourceLoadNotifier.h:
71820         * loader/appcache/ApplicationCacheGroup.cpp:
71821         (WebCore::ApplicationCacheGroup::didReceiveData):
71822         * testing/Internals.cpp:
71823         (WebCore::Internals::setInspectorResourcesDataSizeLimits):
71824         * testing/Internals.h:
71825         * testing/Internals.idl:
71826
71827 2011-07-05  Kent Tamura  <tkent@chromium.org>
71828
71829         Add an assertion that percent height box is unregistered correctly.
71830         https://bugs.webkit.org/show_bug.cgi?id=62792
71831
71832         Reviewed by Hajime Morita.
71833
71834         No new tests. This won't change behavior.
71835
71836         * rendering/RenderBlock.cpp:
71837         (WebCore::RenderBlock::hasPercentHeightDescendant): Added.
71838         * rendering/RenderBlock.h: Declare hasPercentHeightDescendant().
71839         * rendering/RenderBox.cpp:
71840         (WebCore::RenderBox::destroy): Assert !hasPercentHeightDescendant().
71841
71842 2011-07-04  Pavel Feldman  <pfeldman@google.com>
71843
71844         Web Inspector: Enable settings screen with settings for console and elements panels.
71845         https://bugs.webkit.org/show_bug.cgi?id=62853
71846
71847         Reviewed by Yury Semikhatsky.
71848
71849         * English.lproj/localizedStrings.js:
71850         * inspector/front-end/HelpScreen.js:
71851         (WebInspector.HelpScreen.prototype.hide):
71852         * inspector/front-end/SettingsScreen.js:
71853         (WebInspector.SettingsScreen):
71854         (WebInspector.SettingsScreen.prototype._createRadioSetting.clickListener):
71855         (WebInspector.SettingsScreen.prototype._createRadioSetting.get for):
71856         * inspector/front-end/ShortcutsScreen.js:
71857         (WebInspector.ShortcutsScreen.prototype.hide):
71858         * inspector/front-end/StylesSidebarPane.js:
71859         (WebInspector.StylesSidebarPane.prototype._colorFormatSettingChanged):
71860         (WebInspector.StylesSidebarPane.prototype._updateColorFormatFilter.get var):
71861         (WebInspector.StylesSidebarPane.prototype._updateColorFormatFilter):
71862         (WebInspector.StylesSidebarPane.prototype._changeSetting):
71863         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
71864         * inspector/front-end/inspector.css:
71865         (#counters):
71866         * inspector/front-end/inspector.js:
71867         (WebInspector._createGlobalStatusBarItems):
71868         (WebInspector._toggleSettings):
71869         (WebInspector._showShortcutsScreen):
71870         (WebInspector._hideShortcutsScreen):
71871         (WebInspector._showSettingsScreen.onhide):
71872         (WebInspector._showSettingsScreen):
71873         (WebInspector._hideSettingsScreen):
71874         (WebInspector.documentKeyDown):
71875
71876 2011-07-05  Shinya Kawanaka  <shinyak@google.com>
71877
71878         Reviewed by Kent Tamura.
71879
71880         The default step is used when attribute step of input[type='number'] is "any".
71881         https://bugs.webkit.org/show_bug.cgi?id=57723
71882
71883         When step is "any", 0 was chosen as step, but this is not intuitive.
71884         So changed to use the default step.
71885
71886         * html/HTMLInputElement.cpp:
71887         (WebCore::HTMLInputElement::getAllowedValueStep):
71888           Calls getAllowedValueStepWithDecimalPlaces with RejectAny.
71889         (WebCore::HTMLInputElement::getAllowedValueStepWithDecimalPlaces):
71890           Takes a new arugument AnyStepHandling. If it is AnyIsDefaultStep, this method
71891           allows "step" attribute to take a value "any" to use the default step as step value.
71892           Otherwise, INVALID_STATE_ERR will be returned if "step" is "any".
71893         (WebCore::HTMLInputElement::applyStep): ditto.
71894         (WebCore::HTMLInputElement::stepUp):
71895           Calls applyStep with RejectAny.
71896         (WebCore::HTMLInputElement::stepDown): ditto.
71897         (WebCore::HTMLInputElement::stepUpFromRenderer):
71898           Removes a check that step is "any". It is checked in getAllowedValueStepWithDecimalPlaces.
71899         * html/HTMLInputElement.h:
71900
71901 2011-07-04  Dominic Cooney   <dominicc@chromium.org>
71902
71903         Simplify <progress> element's isDeterminate logic.
71904         https://bugs.webkit.org/show_bug.cgi?id=63889
71905
71906         Reviewed by Hajime Morita.
71907
71908         Covered by existing tests
71909         fast/dom/HTMLProgressElement/indeterminate-progress-*.html
71910
71911         * html/HTMLProgressElement.cpp:
71912         (WebCore::HTMLProgressElement::position): don't duplicate isDeterminate
71913         (WebCore::HTMLProgressElement::isDeterminate): remove redundant tests
71914         (WebCore::HTMLProgressElement::didElementStateChange): fix formatting
71915         * html/HTMLProgressElement.h:
71916
71917 2011-07-04  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
71918
71919         Reviewed by Kent Tamura.
71920
71921         [EFL] Add hasOwnDisabledStateHandlingFor() to RenderThemeEfl
71922         https://bugs.webkit.org/show_bug.cgi?id=63884
71923
71924         As MediaControlRootElement decides whether it will display timeline
71925         according to the return value of RenderTheme's hasOwnDisabledStateHandlingFor(),
71926         RenderThemeEfl has to implement this function.
71927
71928         Existing tests cover the visibility of the controls.
71929
71930         * platform/efl/RenderThemeEfl.h:
71931         (WebCore::RenderThemeEfl::hasOwnDisabledStateHandlingFor):
71932
71933 2011-07-04  Kent Tamura  <tkent@chromium.org>
71934
71935         REGRESSION (r87067): Text overflows from short height text field.
71936         https://bugs.webkit.org/show_bug.cgi?id=61768
71937
71938         Reviewed by Dimitri Glazkov.
71939
71940         Since r87067, the RenderStyle for the inner text element is reset
71941         by the value update, but the renderer for the inner text element
71942         keeps to have metrics calculated by the previous style. So
71943         RenderTextControlSingleLine::layout() didn't set a desired height
71944         to the renderer for the inner text element.
71945
71946         This patch changes the style creation code so that it has the
71947         desired height initially.
71948
71949         Test: fast/forms/textfield-overflow-by-value-update.html
71950
71951         * rendering/RenderTextControlSingleLine.cpp:
71952         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
71953         Initialize m_desiredInnerTextHeight.
71954         (WebCore::RenderTextControlSingleLine::layout):
71955         Update m_desiredInnerTextHeight.
71956         (WebCore::RenderTextControlSingleLine::styleDidChange):
71957         Reset m_desiredInnerTextHeight.
71958         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
71959         Sets the height if m_desiredInnerTextHeight has a concrete value.
71960         * rendering/RenderTextControlSingleLine.h:
71961         Declare m_desiredInnerTextHeight.
71962
71963 2011-07-04  MORITA Hajime  <morrita@google.com>
71964
71965         Accessing ShadowRoot.nodeList causes an assertion failure.
71966         http://webkit.org/b/63798
71967         
71968         The TreeScope destructor did clear the reference to TreeScope, 
71969         then the Node destructor accessing treeScope(), which results 
71970         an inconsistent state during the NodeList cache cleanup.
71971
71972         This change clears NodeList cache during the TreeScope destructor.
71973         The Node destructor no longer does problematic NodeList cache
71974         manipulation.
71975
71976         Test: fast/dom/shadow/shadow-root-node-list.html
71977
71978         Reviewed by Dimitri Glazkov.
71979         
71980         * dom/Node.cpp:
71981         (WebCore::Node::~Node):
71982         (WebCore::Node::clearRareData):
71983         * dom/Node.h:
71984         * dom/TreeScope.cpp:
71985         (WebCore::TreeScope::~TreeScope):
71986
71987 2011-07-04  Vsevolod Vlasov  <vsevik@chromium.org>
71988
71989         ResourceLoadNotifier::dispatchWillSendRequest should not compare StringImpl directly
71990         https://bugs.webkit.org/show_bug.cgi?id=63873
71991
71992         Reviewed by Alexey Proskuryakov.
71993
71994         * loader/ResourceLoadNotifier.cpp:
71995         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
71996
71997 2011-07-04  Sheriff Bot  <webkit.review.bot@gmail.com>
71998
71999         Unreviewed, rolling out r90373.
72000         http://trac.webkit.org/changeset/90373
72001         https://bugs.webkit.org/show_bug.cgi?id=63917
72002
72003         Breaks Qt Linux Release minimal (Requested by vsevik on
72004         #webkit).
72005
72006         * WebCore.exp.in:
72007         * inspector/InspectorController.cpp:
72008         * inspector/InspectorController.h:
72009         * inspector/InspectorInstrumentation.cpp:
72010         (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
72011         * inspector/InspectorInstrumentation.h:
72012         (WebCore::InspectorInstrumentation::didReceiveContentLength):
72013         * inspector/InspectorResourceAgent.cpp:
72014         (WebCore::InspectorResourceAgent::didReceiveResponse):
72015         (WebCore::InspectorResourceAgent::didReceiveContentLength):
72016         (WebCore::InspectorResourceAgent::didFinishLoading):
72017         (WebCore::InspectorResourceAgent::setInitialXHRContent):
72018         (WebCore::InspectorResourceAgent::getResourceContent):
72019         * inspector/InspectorResourceAgent.h:
72020         * inspector/NetworkResourcesData.cpp:
72021         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
72022         (WebCore::NetworkResourcesData::ResourceData::content):
72023         (WebCore::NetworkResourcesData::ResourceData::appendContent):
72024         (WebCore::NetworkResourcesData::ResourceData::purgeContent):
72025         (WebCore::NetworkResourcesData::NetworkResourcesData):
72026         (WebCore::NetworkResourcesData::responseReceived):
72027         (WebCore::NetworkResourcesData::addResourceContent):
72028         (WebCore::NetworkResourcesData::data):
72029         (WebCore::NetworkResourcesData::clear):
72030         (WebCore::NetworkResourcesData::ensureNoDataForIdentifier):
72031         (WebCore::NetworkResourcesData::ensureFreeSpace):
72032         * inspector/NetworkResourcesData.h:
72033         (WebCore::NetworkResourcesData::ResourceData::hasContent):
72034         (WebCore::NetworkResourcesData::ResourceData::setIsContentPurged):
72035         (WebCore::NetworkResourcesData::ResourceData::textEncodingName):
72036         (WebCore::NetworkResourcesData::ResourceData::setTextEncodingName):
72037         * inspector/front-end/Resource.js:
72038         * inspector/front-end/ResourcePreviewView.js:
72039         (WebInspector.ResourcePreviewView.prototype.contentLoaded):
72040         (WebInspector.ResourcePreviewView.prototype._createInnerView):
72041         * inspector/front-end/ResourceView.js:
72042         (WebInspector.ResourceView.hasTextContent):
72043         * loader/DocumentThreadableLoader.cpp:
72044         (WebCore::DocumentThreadableLoader::didReceiveData):
72045         * loader/FrameLoader.cpp:
72046         (WebCore::FrameLoader::willLoadMediaElementURL):
72047         (WebCore::FrameLoader::commitProvisionalLoad):
72048         (WebCore::FrameLoader::loadResourceSynchronously):
72049         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
72050         * loader/ResourceLoadNotifier.cpp:
72051         (WebCore::ResourceLoadNotifier::didReceiveData):
72052         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
72053         (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
72054         * loader/ResourceLoadNotifier.h:
72055         * loader/appcache/ApplicationCacheGroup.cpp:
72056         (WebCore::ApplicationCacheGroup::didReceiveData):
72057         * testing/Internals.cpp:
72058         * testing/Internals.h:
72059         * testing/Internals.idl:
72060
72061 2011-07-04  Vsevolod Vlasov  <vsevik@chromium.org>
72062
72063         Web Inspector: Show content for plugin requests in network panel.
72064         https://bugs.webkit.org/show_bug.cgi?id=30080
72065
72066         Reviewed by Pavel Feldman.
72067
72068         Tests: http/tests/inspector/network/network-content-replacement-embed.html
72069                http/tests/inspector/network/network-content-replacement-xhr.html
72070                http/tests/inspector/network/network-embed.html
72071
72072         * WebCore.exp.in:
72073         * inspector/InspectorController.cpp:
72074         (WebCore::InspectorController::setResourcesDataSizeLimitsFromInternals):
72075         * inspector/InspectorController.h:
72076         * inspector/InspectorInstrumentation.cpp:
72077         (WebCore::InspectorInstrumentation::didReceiveDataImpl):
72078         * inspector/InspectorInstrumentation.h:
72079         (WebCore::InspectorInstrumentation::didReceiveData):
72080         * inspector/InspectorResourceAgent.cpp:
72081         (WebCore::InspectorResourceAgent::didReceiveResponse):
72082         (WebCore::InspectorResourceAgent::didReceiveData):
72083         (WebCore::InspectorResourceAgent::didFinishLoading):
72084         (WebCore::InspectorResourceAgent::setInitialXHRContent):
72085         (WebCore::InspectorResourceAgent::setResourcesDataSizeLimitsFromInternals):
72086         (WebCore::InspectorResourceAgent::getResourceContent):
72087         * inspector/InspectorResourceAgent.h:
72088         * inspector/NetworkResourcesData.cpp:
72089         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
72090         (WebCore::NetworkResourcesData::ResourceData::setContent):
72091         (WebCore::NetworkResourcesData::ResourceData::purgeContent):
72092         (WebCore::NetworkResourcesData::ResourceData::createDecoder):
72093         (WebCore::NetworkResourcesData::ResourceData::dataLength):
72094         (WebCore::NetworkResourcesData::ResourceData::appendData):
72095         (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
72096         (WebCore::NetworkResourcesData::NetworkResourcesData):
72097         (WebCore::NetworkResourcesData::responseReceived):
72098         (WebCore::NetworkResourcesData::setResourceContent):
72099         (WebCore::NetworkResourcesData::maybeAddResourceData):
72100         (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
72101         (WebCore::NetworkResourcesData::data):
72102         (WebCore::NetworkResourcesData::clear):
72103         (WebCore::NetworkResourcesData::setResourcesDataSizeLimits):
72104         (WebCore::NetworkResourcesData::ensureNoDataForIdentifier):
72105         (WebCore::NetworkResourcesData::ensureFreeSpace):
72106         * inspector/NetworkResourcesData.h:
72107         (WebCore::NetworkResourcesData::ResourceData::hasContent):
72108         (WebCore::NetworkResourcesData::ResourceData::content):
72109         (WebCore::NetworkResourcesData::ResourceData::decoder):
72110         (WebCore::NetworkResourcesData::ResourceData::buffer):
72111         (WebCore::NetworkResourcesData::ResourceData::setBuffer):
72112         (WebCore::NetworkResourcesData::ResourceData::hasData):
72113         * inspector/front-end/Resource.js:
72114         (WebInspector.Resource.prototype.get contentEncoded):
72115         * inspector/front-end/ResourcePreviewView.js:
72116         (WebInspector.ResourcePreviewView.prototype.contentLoaded):
72117         (WebInspector.ResourcePreviewView.prototype._createEmptyView):
72118         (WebInspector.ResourcePreviewView.prototype._createPreviewView):
72119         * inspector/front-end/ResourceView.js:
72120         (WebInspector.ResourceView.hasTextContent):
72121         * loader/DocumentThreadableLoader.cpp:
72122         (WebCore::DocumentThreadableLoader::didReceiveData):
72123         * loader/FrameLoader.cpp:
72124         (WebCore::FrameLoader::willLoadMediaElementURL):
72125         (WebCore::FrameLoader::commitProvisionalLoad):
72126         (WebCore::FrameLoader::loadResourceSynchronously):
72127         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
72128         * loader/ResourceLoadNotifier.cpp:
72129         (WebCore::ResourceLoadNotifier::didReceiveData):
72130         (WebCore::ResourceLoadNotifier::dispatchDidReceiveData):
72131         (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
72132         * loader/ResourceLoadNotifier.h:
72133         * loader/appcache/ApplicationCacheGroup.cpp:
72134         (WebCore::ApplicationCacheGroup::didReceiveData):
72135         * testing/Internals.cpp:
72136         (WebCore::Internals::setInspectorResourcesDataSizeLimits):
72137         * testing/Internals.h:
72138         * testing/Internals.idl:
72139
72140 2011-07-04  Jeff Timanus  <twiz@chromium.org>
72141
72142         Reviewed by Stephen White.
72143
72144         Prevent calls to GrapicsContext3D::deleteTexture with id 0 in DrawingBuffer::clear().
72145         https://bugs.webkit.org/show_bug.cgi?id=63756
72146
72147         * platform/graphics/gpu/DrawingBuffer.cpp:
72148         (WebCore::DrawingBuffer::clear):
72149
72150 2011-07-04  Martin Robinson  <mrobinson@igalia.com>
72151
72152         Reviewed by Andreas Kling.
72153
72154         [GTK] r90148 did not apply to X11 platforms in WebKit1
72155         https://bugs.webkit.org/show_bug.cgi?id=63862
72156
72157         Correct the guard for an X11 specific piece of code. TARGET(X11) not
72158         defined for the GTK+ port.
72159
72160         No new tests. This is covered by an existing test.
72161
72162         * plugins/npapi.cpp: Correct the X11 guard.
72163         (NPN_InvalidateRect):
72164
72165 2011-07-04  Pavel Feldman  <pfeldman@google.com>
72166
72167         Web Inspector: implement settings panel.
72168         https://bugs.webkit.org/show_bug.cgi?id=63907
72169
72170         Reviewed by Yury Semikhatsky.
72171
72172         * English.lproj/localizedStrings.js:
72173         * WebCore.gypi:
72174         * WebCore.vcproj/WebCore.vcproj:
72175         * inspector/front-end/BreakpointsSidebarPane.js:
72176         (WebInspector.XHRBreakpointsSidebarPane.prototype._saveBreakpoints):
72177         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._saveBreakpoints):
72178         * inspector/front-end/ConsoleView.js:
72179         (WebInspector.ConsoleView):
72180         (WebInspector.ConsoleView.prototype._handleContextMenuEvent.monitoringXHRItemAction):
72181         (WebInspector.ConsoleView.prototype._handleContextMenuEvent.get preserveLogItemAction):
72182         (WebInspector.ConsoleView.prototype._monitoringXHREnabledSettingChanged):
72183         (WebInspector.ConsoleView.prototype._registerShortcuts):
72184         * inspector/front-end/DOMBreakpointsSidebarPane.js:
72185         (WebInspector.DOMBreakpointsSidebarPane.prototype._saveBreakpoints):
72186         * inspector/front-end/DebuggerPresentationModel.js:
72187         (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
72188         * inspector/front-end/ElementsPanel.js:
72189         (WebInspector.ElementsPanel.prototype._contextMenuEventFired):
72190         (WebInspector.ElementsPanel.prototype._domWordWrapSettingChanged):
72191         (WebInspector.ElementsPanel.prototype._registerShortcuts):
72192         * inspector/front-end/EventListenersSidebarPane.js:
72193         (WebInspector.EventListenersSidebarPane.prototype):
72194         ():
72195         * inspector/front-end/HelpScreen.js:
72196         (WebInspector.HelpScreen):
72197         (WebInspector.HelpScreen.prototype.show):
72198         (WebInspector.HelpScreen.prototype.hide):
72199         (WebInspector.HelpScreen.prototype._onKeyDown):
72200         * inspector/front-end/NetworkItemView.js:
72201         * inspector/front-end/NetworkPanel.js:
72202         * inspector/front-end/Panel.js:
72203         (WebInspector.Panel.prototype.saveSidebarWidth):
72204         * inspector/front-end/ProfilesPanel.js:
72205         * inspector/front-end/ResourcesPanel.js:
72206         (WebInspector.BaseStorageTreeElement.prototype.onselect):
72207         (WebInspector.StorageCategoryTreeElement.prototype.onexpand):
72208         (WebInspector.StorageCategoryTreeElement.prototype.set oncollapse):
72209         * inspector/front-end/ScriptsPanel.js:
72210         (WebInspector.ScriptsPanel.prototype._sourceFileAdded.get if):
72211         (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions.callback):
72212         (WebInspector.ScriptsPanel.prototype._createSidebarButtonAndRegisterShortcuts):
72213         * inspector/front-end/Settings.js:
72214         (WebInspector.Settings):
72215         (WebInspector.Settings.prototype.installApplicationSetting):
72216         (WebInspector.Setting):
72217         (WebInspector.Setting.prototype.addChangeListener):
72218         (WebInspector.Setting.prototype.removeChangeListener):
72219         (WebInspector.Setting.prototype.get var):
72220         (WebInspector.Setting.prototype):
72221         (WebInspector.Setting.prototype.set if):
72222         * inspector/front-end/SettingsScreen.js: Added.
72223         (WebInspector.SettingsScreen):
72224         (WebInspector.SettingsScreen.prototype._appendSection):
72225         (WebInspector.SettingsScreen.prototype._columnElement):
72226         (WebInspector.SettingsScreen.prototype._createCheckboxSetting.get listener):
72227         (WebInspector.SettingsScreen.prototype._createRadioSetting):
72228         * inspector/front-end/ShortcutsScreen.js: Renamed from Source/WebCore/inspector/front-end/ShortcutsHelp.js.
72229         (WebInspector.ShortcutsScreen):
72230         * inspector/front-end/StylesSidebarPane.js:
72231         (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
72232         * inspector/front-end/WatchExpressionsSidebarPane.js:
72233         * inspector/front-end/WebKit.qrc:
72234         * inspector/front-end/helpScreen.css:
72235         (.help-window-main):
72236         (body.attached .help-window-main):
72237         (.help-window-caption):
72238         (body.attached .help-window-caption):
72239         (.help-content):
72240         (.help-close-button):
72241         (body.attached .help-close-button):
72242         (body.attached .help-content):
72243         (.help-table):
72244         (body.platform-mac .help-key):
72245         (.help-combine-keys):
72246         (.help-content p):
72247         (.help-content fieldset):
72248         (.help-content fieldset p):
72249         (.help-content p.help-section):
72250         (.help-section-title):
72251         (.help-content input[type=checkbox]):
72252         * inspector/front-end/inspector.css:
72253         (button.settings-status-bar-item):
72254         (.settings-status-bar-item .glyph):
72255         * inspector/front-end/inspector.html:
72256         * inspector/front-end/inspector.js:
72257         (WebInspector._createGlobalStatusBarItems):
72258         (WebInspector._toggleAttach):
72259         (WebInspector._toggleSettings):
72260         (WebInspector._registerShortcuts):
72261         (WebInspector.documentKeyDown):
72262
72263 2011-07-04  Vsevolod Vlasov  <vsevik@chromium.org>
72264
72265         Web Inspector: Resources loaded to Resources Panel from InspectorPageAgent do not have mime type set.
72266         https://bugs.webkit.org/show_bug.cgi?id=63701
72267
72268         Pass cachedResource/documentLoader mimeType from InspectorPageAgent to frontend.
72269
72270         Reviewed by Yury Semikhatsky.
72271
72272         Test: http/tests/inspector/resource-tree/resource-tree-mimetype.html
72273
72274         * inspector/Inspector.json:
72275         * inspector/InspectorPageAgent.cpp:
72276         (WebCore::InspectorPageAgent::buildObjectForFrame):
72277         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
72278         * inspector/front-end/ResourceTreeModel.js:
72279         (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
72280         (WebInspector.ResourceTreeModel.prototype._createResource):
72281
72282 2011-07-04  Yury Semikhatsky  <yurys@chromium.org>
72283
72284         Web Inspector: repeated message counter should be aligned with other message icons
72285         https://bugs.webkit.org/show_bug.cgi?id=63901
72286
72287         Reviewed by Pavel Feldman.
72288
72289         * inspector/front-end/inspector.css:
72290         (.console-message .bubble):
72291
72292 2011-07-04  Alexander Pavlov  <apavlov@chromium.org>
72293
72294         Reviewed by Pavel Feldman.
72295
72296         Web Inspector: Adding new CSS rules should be more discoverable in the UI
72297         https://bugs.webkit.org/show_bug.cgi?id=63803
72298
72299         * inspector/front-end/StylesSidebarPane.js:
72300         (WebInspector.StylesSidebarPane.prototype._createNewRule):
72301
72302 2011-07-04  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>
72303
72304         [Qt] Fixing build with --media-stream flag enabled
72305         https://bugs.webkit.org/show_bug.cgi?id=63831
72306
72307         Reviewed by Benjamin Poulain.
72308
72309         * features.pri: Adding support to ENABLE_MEDIA_STREAM flag.
72310
72311 2011-07-04  Vsevolod Vlasov  <vsevik@chromium.org>
72312
72313         Reviewed by Yury Semikhatsky.
72314
72315         Web Inspector: Update network resource url from response data.
72316         https://bugs.webkit.org/show_bug.cgi?id=63736
72317
72318         * inspector/Inspector.json:
72319         * inspector/InspectorResourceAgent.cpp:
72320         (WebCore::buildObjectForResourceResponse):
72321         * inspector/front-end/NetworkManager.js:
72322         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
72323
72324 2011-07-04  Andrey Kosyakov  <caseq@chromium.org>
72325
72326         Reviewed by Yury Semikhatsky.
72327
72328         Web Inspector: [Extensions API] audit formatter names should begin with create
72329         https://bugs.webkit.org/show_bug.cgi?id=63802
72330
72331         * inspector/front-end/ExtensionAPI.js:
72332         (WebInspector.injectedExtensionAPI.AuditResultImpl):
72333
72334 2011-07-03  Dominic Cooney  <dominicc@chromium.org>
72335
72336         The value property of an indeterminate progress element should be zero
72337         https://bugs.webkit.org/show_bug.cgi?id=63861
72338
72339         Reviewed by Kent Tamura.
72340
72341         Test: fast/dom/HTMLProgressElement/set-progress-properties.html
72342
72343         * html/HTMLProgressElement.cpp:
72344         (WebCore::HTMLProgressElement::value):
72345
72346 2011-07-03  Robert Hogan  <robert@webkit.org>
72347
72348         Restore scroll position on page reloads scheduled by <meta http-equiv="refresh" content="XX"/>
72349         https://bugs.webkit.org/show_bug.cgi?id=62482
72350
72351         If a <meta http-equiv="refresh"> directive schedules a page reload rather than
72352         a redirect restore the scroll position after the reload. Do the same on location.reload().
72353
72354         Reviewed by Adam Barth.
72355
72356         Tests: http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier-2.html
72357                http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier.html
72358                http/tests/navigation/scrollstate-after-http-equiv-refresh.html
72359                http/tests/navigation/scrollstate-after-location-reload.html
72360
72361         * loader/FrameLoader.cpp:
72362         (WebCore::FrameLoader::loadURL):
72363         Only make the load FrameLoadTypeSame if it has not already been set as FrameLoadTypeReload*.
72364         FrameLoadTypeReload* loads are set through http-equiv refreshes, manual reloads, or location.reload()
72365         and honour the user's scroll position in the frame. A FrameLoadTypeSame is for when the frame is loading
72366         the same page again, e.g. by clicking a link.
72367
72368         * loader/NavigationScheduler.cpp:
72369         (WebCore::ScheduledRedirect::fire): Tell FrameLoader::changeLocation() if this is a reload.
72370
72371 2011-07-03  Dirk Schulze  <krit@webkit.org>
72372
72373         SVGAnimateTransform accumulate=sum restarts on every repeat
72374         https://bugs.webkit.org/show_bug.cgi?id=63876
72375
72376         Reviewed by Nikolas Zimmermann.
72377         
72378         We applied transforms from previous animation repeats to a transform list. The problem is, that we calculated the current
72379         transform based on the percentage of the current repeat count. This causes an animation starting from scale level 0
72380         on every repeat. Now I add the repeat count to the current percentage, so that the distance calculation starts from 100% on
72381         the first repeat, from 200% on the second and so on.
72382
72383         Test: svg/animations/svgtransform-animation-1.html
72384
72385         * svg/SVGAnimateTransformElement.cpp:
72386         (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
72387
72388 2011-07-03  Sheriff Bot  <webkit.review.bot@gmail.com>
72389
72390         Unreviewed, rolling out r90342.
72391         http://trac.webkit.org/changeset/90342
72392         https://bugs.webkit.org/show_bug.cgi?id=63875
72393
72394         Newly added tests fail on Mac, GTK, and Win7 (Requested by
72395         abarth on #webkit).
72396
72397         * loader/FrameLoader.cpp:
72398         (WebCore::FrameLoader::loadURL):
72399         * loader/NavigationScheduler.cpp:
72400
72401 2011-07-03  Robert Hogan  <robert@webkit.org>
72402
72403         Restore scroll position on page reloads scheduled by <meta http-equiv="refresh" content="XX"/>
72404         https://bugs.webkit.org/show_bug.cgi?id=62482
72405
72406         If a <meta http-equiv="refresh"> directive schedules a page reload rather than
72407         a redirect restore the scroll position after the reload. Do the same on location.reload().
72408
72409         Reviewed by Adam Barth.
72410
72411         Tests: http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier-2.html
72412                http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier.html
72413                http/tests/navigation/scrollstate-after-http-equiv-refresh.html
72414                http/tests/navigation/scrollstate-after-location-reload.html
72415
72416         * loader/FrameLoader.cpp:
72417         (WebCore::FrameLoader::loadURL):
72418         Only make the load FrameLoadTypeSame if it has not already been set as FrameLoadTypeReload*.
72419         FrameLoadTypeReload* loads are set through http-equiv refreshes, manual reloads, or location.reload()
72420         and honour the user's scroll position in the frame. A FrameLoadTypeSame is for when the frame is loading
72421         the same page again, e.g. by clicking a link.
72422
72423         * loader/NavigationScheduler.cpp:
72424         (WebCore::ScheduledRedirect::fire): Tell FrameLoader::changeLocation() if this is a reload.
72425
72426 2011-04-02  Robert Hogan  <robert@webkit.org>
72427
72428         Reviewed by Benjamin Poulain.
72429
72430         [Qt] Support third-party cookie policy for Qt clients
72431         https://bugs.webkit.org/show_bug.cgi?id=45455
72432
72433         Identifying third-party cookies is facilitated by API new to QUrl from
72434         Qt 4.8: QUrl::topLevelDomain(). This API uses the Mozilla public suffix
72435         list to determine the top-level registry-controlled domain of the Url.
72436
72437         See also: http://gitorious.org/qt/qt/merge_requests/1205
72438                    (commit 154402f56dcf8303a6ce601a52215226af8d31ba)
72439                   http://bugreports.qt.nokia.com/browse/QTBUG-13601
72440
72441         Test: http/tests/cookies/strict-third-party-cookie-blocking.html
72442
72443         * WebCore.pro:
72444         * platform/network/qt/ResourceRequestQt.cpp:
72445         (WebCore::ResourceRequest::toNetworkRequest):
72446         * platform/qt/CookieJarQt.cpp:
72447         (WebCore::setCookies):
72448         (WebCore::cookies):
72449         * platform/qt/ThirdPartyCookiesQt.cpp: Added.
72450         (WebCore::cookieJar):
72451         (WebCore::isFirstPartyCookie):
72452         (WebCore::cookieAllowed):
72453         (WebCore::allowThirdPartyCookies):
72454         * platform/qt/ThirdPartyCookiesQt.h: Added.
72455
72456 2011-07-03  Vsevolod Vlasov  <vsevik@chromium.org>
72457
72458         Reviewed by Alexey Proskuryakov.
72459
72460         Web Inspector: Preflight OPTIONS requests are not shown on network panel for asynchronous XHRs.
72461         https://bugs.webkit.org/show_bug.cgi?id=63712
72462
72463         Added InspectorInstrumentation calls to preflight OPTIONS requests callbacks in DocumentThreadableLoader.
72464
72465         * loader/DocumentThreadableLoader.cpp:
72466         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
72467         (WebCore::DocumentThreadableLoader::didReceiveResponse):
72468         (WebCore::DocumentThreadableLoader::didReceiveData):
72469         (WebCore::DocumentThreadableLoader::didFinishLoading):
72470         (WebCore::DocumentThreadableLoader::didFail):
72471         (WebCore::DocumentThreadableLoader::loadRequest):
72472         * loader/DocumentThreadableLoader.h:
72473
72474 2011-06-23  Robert Hogan  <robert@webkit.org>
72475
72476         Reviewed by Simon Hausmann.
72477
72478         [Qt] Windowless Plugins : <input> cursor blinks even after transferring focus to plugin
72479         https://bugs.webkit.org/show_bug.cgi?id=30355
72480
72481         Test: plugins/mouse-click-plugin-clears-selection.html
72482
72483         PluginView needs to use page->focusController()->setFocusedNode() when focusing a plugin
72484         in order to clear the FrameSelection in the currently focused node. In its platform-specific
72485         code Chromium already does this (WebPluginContainerImpl.cpp).
72486
72487         * WebCore.exp.in: Add symbol for FocusController::setFocusedNode
72488         * plugins/PluginView.cpp:
72489         (WebCore::PluginView::focusPluginElement): Using FocusController::setFocusedNode() makes
72490                                                    the call to FocusController:setFocusedFrame() and Document::setFocusedNode()
72491                                                    redundant, since it calls both.
72492
72493 2011-07-01  Michael Nordman  <michaeln@google.com>
72494
72495         Reviewed by Darin Fisher.
72496
72497         [Chromium] FileSystem API can be used to learn about installed software on the user's computer.
72498         Added a new MIMETypeRegistry method to return a type based on a well known set of mappings
72499         without consulting the OS/registry.
72500         https://bugs.webkit.org/show_bug.cgi?id=63220
72501
72502         No new tests, existing layout tests that invoke file.type apply.
72503
72504         * fileapi/File.cpp: Refactored the factory methods.
72505         (WebCore::createBlobDataForFileWithType):
72506         (WebCore::createBlobDataForFile):
72507         (WebCore::createBlobDataForFileSystemFile):
72508         (WebCore::File::File):
72509         * platform/MIMETypeRegistry.cpp: Added getWellKnownMIMETypeForExtension() method.
72510         (WebCore::mediaMIMETypeMap):
72511         (WebCore::findMimeType):
72512         (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension):
72513         * platform/MIMETypeRegistry.h:
72514         * platform/chromium/MIMETypeRegistryChromium.cpp: Added getWellKnownMIMETypeForExtension() method.
72515         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
72516         (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension):
72517         (WebCore::findMimeType):
72518         * platform/chromium/PlatformBridge.h:
72519
72520 2011-07-01  Tim Horton  <timothy_horton@apple.com>
72521
72522         Reviewed by Darin Adler.
72523
72524         SVG data:image/svg+xml;base64 URLs inside CSS throw mime type warning
72525         https://bugs.webkit.org/show_bug.cgi?id=54325
72526         
72527         Add image/svg+xml to the list of acceptable MIME types for the Image type.
72528
72529         * inspector/front-end/inspector.js:
72530         (WebInspector):
72531
72532 2011-07-01  Tim Horton  <timothy_horton@apple.com>
72533
72534         Reviewed by Darin Adler.
72535
72536         Errors encountered within SVG documents should be reported to the console
72537         https://bugs.webkit.org/show_bug.cgi?id=62599
72538
72539         Add SVGElement::reportAttributeParsingError, which will
72540         write a Web Inspector console message if passed an SVGParsingError
72541         and the attribute which was being applied, only in the case where
72542         there is actually an error.
72543
72544         Include the SVG document's URI when writing to the Web Inspector
72545         console, so that the UI displays both the filename and the line number.
72546
72547         * svg/SVGDocumentExtensions.cpp:
72548         (WebCore::reportMessage):
72549         * svg/SVGElement.cpp:
72550         (WebCore::SVGElement::reportAttributeParsingError):
72551         * svg/SVGElement.h:
72552
72553 2011-07-01  Scott Byer  <scottbyer@chromium.org>
72554
72555         Reviewed by Adam Barth.
72556
72557         Smooth scrolling fixes
72558         https://bugs.webkit.org/show_bug.cgi?id=63770
72559
72560         Tests: Chromium webkit_unit_tests ScrollAnimatorNoneTest.ScrollWheelTrace and .LinuxTrackPadTrace
72561
72562         Fix issues found in manual testing; distill the traces into unit tests. Fix the issues the tests exposed in the
72563         scroll animation code.
72564
72565         * platform/ScrollAnimatorNone.cpp:
72566         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
72567         (WebCore::ScrollAnimatorNone::scroll):
72568
72569 2011-07-01  Levi Weintraub  <leviw@chromium.org>
72570
72571         Switch primary virtual layout functions to new layout types
72572         https://bugs.webkit.org/show_bug.cgi?id=63852
72573
72574         Reviewed by Eric Seidel.
72575
72576         Switching the primary overloaded layout functions over to the new layout unit abstraction.
72577
72578         No new tests, no functionality changes.
72579
72580         * html/shadow/MediaControlElements.cpp:
72581         (WebCore::RenderMediaVolumeSliderContainer::layout):
72582         * page/FrameView.cpp:
72583         (WebCore::FrameView::layout):
72584         * rendering/AutoTableLayout.cpp:
72585         (WebCore::AutoTableLayout::layout):
72586         * rendering/FixedTableLayout.cpp:
72587         (WebCore::FixedTableLayout::layout):
72588         * rendering/RenderBox.cpp:
72589         (WebCore::RenderBox::layout):
72590         * rendering/RenderFrameSet.cpp:
72591         (WebCore::RenderFrameSet::layout):
72592         * rendering/RenderMedia.cpp:
72593         (WebCore::RenderMedia::layout):
72594         * rendering/RenderRubyRun.cpp:
72595         (WebCore::RenderRubyRun::layout):
72596         * rendering/RenderScrollbarPart.cpp:
72597         (WebCore::RenderScrollbarPart::layout):
72598         * rendering/RenderSlider.cpp:
72599         (WebCore::RenderSlider::layout):
72600         * rendering/RenderTable.cpp:
72601         (WebCore::RenderTable::layout):
72602         * rendering/RenderTableRow.cpp:
72603         (WebCore::RenderTableRow::layout):
72604         * rendering/RenderTableSection.cpp:
72605         (WebCore::RenderTableSection::layout):
72606         * rendering/RenderTextControlSingleLine.cpp:
72607         (WebCore::RenderTextControlSingleLine::layout):
72608         * rendering/RenderView.cpp:
72609         (WebCore::RenderView::layout):
72610         * rendering/RenderView.h:
72611         (WebCore::RenderView::layoutDelta):
72612         (WebCore::RenderView::addLayoutDelta):
72613         * rendering/mathml/RenderMathMLRoot.cpp:
72614         (WebCore::RenderMathMLRoot::layout):
72615         * rendering/mathml/RenderMathMLRow.cpp:
72616         (WebCore::RenderMathMLRow::layout):
72617         * rendering/mathml/RenderMathMLSquareRoot.cpp:
72618         (WebCore::RenderMathMLSquareRoot::layout):
72619         * rendering/mathml/RenderMathMLSubSup.cpp:
72620         (WebCore::RenderMathMLSubSup::layout):
72621         * rendering/mathml/RenderMathMLUnderOver.cpp:
72622         (WebCore::RenderMathMLUnderOver::layout):
72623
72624 2011-07-01  Sam Weinig  <sam@webkit.org>
72625
72626         Reduce parser nesting cap to 512
72627         https://bugs.webkit.org/show_bug.cgi?id=63856
72628
72629         Reviewed by Dan Bernstein.
72630
72631         Given Firefox's cap of 200, our cap of 2048 seemed a little excessive. Lower
72632         the nesting cap to 512 to cover more cases where rending recursion was biting us.
72633
72634         * page/Settings.h:
72635         Reduce the nesting cap to 512.
72636
72637 2011-07-01  Darin Adler  <darin@apple.com>
72638
72639         Add change accidentally left out of last commit.
72640
72641         * rendering/RenderLayerBacking.cpp:
72642         (WebCore::RenderLayerBacking::updateContentsScale): Multiply in the
72643         backing scale.
72644
72645 2011-07-01  Darin Adler  <darin@apple.com>
72646
72647         Consider backing scale when setting up graphics layers
72648         https://bugs.webkit.org/show_bug.cgi?id=63848
72649
72650         Reviewed by Simon Fraser.
72651
72652         * platform/graphics/ca/GraphicsLayerCA.cpp:
72653         (WebCore::GraphicsLayerCA::clampedContentsScaleForScale):
72654         Increased the maximum scale since scale factor can now include
72655         both page contents scale and backing scale.
72656
72657         * rendering/RenderLayerBacking.cpp:
72658         (WebCore::RenderLayerBacking::createGraphicsLayer): Multiply in the
72659         backing scale as well as the page contents scale.
72660         (WebCore::RenderLayerBacking::updateForegroundLayer): Ditto.
72661         (WebCore::RenderLayerBacking::updateMaskLayer): Ditto.
72662         (WebCore::RenderLayerBacking::pageContentsScale): Added.
72663         (WebCore::RenderLayerBacking::backingScale): Added.
72664         * rendering/RenderLayerBacking.h: Added new private functions.
72665
72666 2011-07-01  Adele Peterson  <adele@apple.com>
72667
72668         Reviewed by Darin Adler.
72669
72670         WebCore part of fix for https://bugs.webkit.org/show_bug.cgi?id=63851
72671         <rdar://problem/8981062> Crash when loading a document in an editable WebView that has a subframe with an unstyled body
72672
72673         No new tests.  I tried to make a test in DumpRenderTree with an editable WebView, 
72674         but was unsuccessful in getting the crash to happen in that instance.
72675
72676         * editing/Editor.cpp: (WebCore::Editor::applyEditingStyleToElement): Add a nil check that exits early, in addition to the ASSERT.
72677
72678 2011-07-01  Levi Weintraub  <leviw@chromium.org>
72679
72680         Switch overflow and collapsedMargins to new layout types
72681         https://bugs.webkit.org/show_bug.cgi?id=63840
72682
72683         Reviewed by Eric Seidel.
72684
72685         Switching overflow and collapsedMargins over to the new layout unit abstraction.
72686
72687         Also removing an unused function: blockDirectionOverflow
72688
72689         No new tests, no functionality changes.
72690
72691         * rendering/RenderBlock.cpp:
72692         (WebCore::RenderBlock::collapsedMarginBeforeForChild):
72693         (WebCore::RenderBlock::collapsedMarginAfterForChild):
72694         * rendering/RenderBlock.h:
72695         (WebCore::RenderBlock::collapsedMarginBefore):
72696         (WebCore::RenderBlock::collapsedMarginAfter):
72697         * rendering/RenderBox.cpp:
72698         (WebCore::RenderBox::addOverflowFromChild):
72699         (WebCore::RenderBox::addLayoutOverflow):
72700         (WebCore::RenderBox::addVisualOverflow):
72701         * rendering/RenderBox.h:
72702         (WebCore::RenderBox::layoutOverflowRect):
72703         (WebCore::RenderBox::minYLayoutOverflow):
72704         (WebCore::RenderBox::maxYLayoutOverflow):
72705         (WebCore::RenderBox::minXLayoutOverflow):
72706         (WebCore::RenderBox::maxXLayoutOverflow):
72707         (WebCore::RenderBox::maxLayoutOverflow):
72708         (WebCore::RenderBox::logicalLeftLayoutOverflow):
72709         (WebCore::RenderBox::logicalRightLayoutOverflow):
72710         (WebCore::RenderBox::visualOverflowRect):
72711         (WebCore::RenderBox::minYVisualOverflow):
72712         (WebCore::RenderBox::maxYVisualOverflow):
72713         (WebCore::RenderBox::minXVisualOverflow):
72714         (WebCore::RenderBox::maxXVisualOverflow):
72715         (WebCore::RenderBox::logicalLeftVisualOverflow):
72716         (WebCore::RenderBox::logicalRightVisualOverflow):
72717         (WebCore::RenderBox::addOverflowFromChild):
72718         (WebCore::RenderBox::collapsedMarginBefore):
72719         (WebCore::RenderBox::collapsedMarginAfter):
72720         * rendering/RenderOverflow.h:
72721         (WebCore::RenderOverflow::RenderOverflow):
72722         (WebCore::RenderOverflow::minYLayoutOverflow):
72723         (WebCore::RenderOverflow::maxYLayoutOverflow):
72724         (WebCore::RenderOverflow::minXLayoutOverflow):
72725         (WebCore::RenderOverflow::maxXLayoutOverflow):
72726         (WebCore::RenderOverflow::minYVisualOverflow):
72727         (WebCore::RenderOverflow::maxYVisualOverflow):
72728         (WebCore::RenderOverflow::minXVisualOverflow):
72729         (WebCore::RenderOverflow::maxXVisualOverflow):
72730         (WebCore::RenderOverflow::setMinYLayoutOverflow):
72731         (WebCore::RenderOverflow::setMaxYLayoutOverflow):
72732         (WebCore::RenderOverflow::setMinXLayoutOverflow):
72733         (WebCore::RenderOverflow::setMaxXLayoutOverflow):
72734         (WebCore::RenderOverflow::setMinYVisualOverflow):
72735         (WebCore::RenderOverflow::setMaxYVisualOverflow):
72736         (WebCore::RenderOverflow::setMinXVisualOverflow):
72737         (WebCore::RenderOverflow::setMaxXVisualOverflow):
72738         (WebCore::RenderOverflow::layoutOverflowRect):
72739         (WebCore::RenderOverflow::visualOverflowRect):
72740         (WebCore::RenderOverflow::move):
72741         (WebCore::RenderOverflow::addLayoutOverflow):
72742         (WebCore::RenderOverflow::addVisualOverflow):
72743         (WebCore::RenderOverflow::setLayoutOverflow):
72744         (WebCore::RenderOverflow::setVisualOverflow):
72745         (WebCore::RenderOverflow::resetLayoutOverflow):
72746
72747 2011-07-01  Nate Chapin  <japhet@chromium.org>
72748
72749         Ensure WorkerScriptLoader::notifyFinished() doesn't re-enter.
72750         https://bugs.webkit.org/show_bug.cgi?id=63835
72751
72752         Reviewed by Dmitry Titov.
72753
72754         Test: fast/workers/worker-finish-crash.html
72755
72756         * workers/WorkerScriptLoader.cpp:
72757         (WebCore::WorkerScriptLoader::WorkerScriptLoader):
72758         (WebCore::WorkerScriptLoader::notifyFinished):
72759         * workers/WorkerScriptLoader.h:
72760
72761 2011-07-01  Adrienne Walker  <enne@google.com>
72762
72763         [chromium] Upload root layer textures first so that it is less likely to be skipped
72764         https://bugs.webkit.org/show_bug.cgi?id=63850
72765
72766         Reviewed by James Robinson.
72767
72768         This is a tiny follow-on patch to bug 63760.  If the root layer is not
72769         uploaded first, then it may not have enough space to fit into texture
72770         memory and might be skipped, leaving a blue background.
72771
72772         * platform/graphics/chromium/LayerRendererChromium.cpp:
72773         (WebCore::LayerRendererChromium::updateLayers):
72774
72775 2011-07-01  Mihai Parparita  <mihaip@chromium.org>
72776
72777         Reviewed by Darin Fisher.
72778
72779         location.replace with a hash change does not update the history entry
72780         https://bugs.webkit.org/show_bug.cgi?id=63777
72781
72782         location.replace('#foo') would not update the HistoryItem with the
72783         new URL, thus navigating back to the page would use the previous
72784         URL, even though it had been replaced. Make
72785         HistoryController::updateForSameDocumentNavigation mirror 
72786         HistoryController::replaceState.
72787
72788         Test: fast/history/location-replace-hash.html
72789
72790         * loader/HistoryController.cpp:
72791         (WebCore::HistoryController::updateForSameDocumentNavigation):
72792
72793 2011-07-01  Ryosuke Niwa  <rniwa@webkit.org>
72794
72795         Reviewed by Ojan Vafai.
72796
72797         Move m_isDirectional from FrameSelection to VisibleSelection
72798         https://bugs.webkit.org/show_bug.cgi?id=63473
72799
72800         Move m_isDirectional from FrameSelection to VisibleSelection.
72801
72802         Also fixed a bug that WebKit does not preserve non-directional selection after undo.
72803
72804         Test: editing/selection/directionality-after-undo-replace.html
72805
72806         * WebCore.exp.in: Updated the signature of setSelection.
72807         * editing/FrameSelection.cpp:
72808         (WebCore::FrameSelection::FrameSelection): Removed the call to setIsDirectional.
72809         (WebCore::shouldAlwaysUseDirectionalSelection): Added.
72810         (WebCore::FrameSelection::setSelection): No longer takes DirectionalityPolicy.
72811         Calls setIsDirectional(true) when the platform doesn't support non-directional selection.
72812         Passes align and granularity to setSelection of the base end point as expected.
72813         No longer updates granularity when updating the selection of a different frame.
72814         (WebCore::FrameSelection::willBeModified): Calls VisibleSelection::isDirectional().
72815         (WebCore::FrameSelection::modify): No longer calls trialFrameSelection.setIsDirectional
72816         because the directionality is passed from m_selection automatically.
72817         Also calls shouldAlwaysUseDirectionalSelection.
72818         * editing/FrameSelection.h: Remove m_isDirectional. Make all boolean bit fields.
72819         (WebCore::FrameSelection::setSelection): No longer takes DirectionalityPolicy.
72820         * editing/VisibleSelection.cpp:
72821         (WebCore::VisibleSelection::VisibleSelection): Initializes m_isDirectional to true.
72822         This should be changed to false to fix the bug 60529.
72823         * editing/VisibleSelection.h:
72824         (WebCore::VisibleSelection::isDirectional): Added.
72825         (WebCore::VisibleSelection::setIsDirectional): Added.
72826         * page/EventHandler.cpp:
72827         (WebCore::setNonDirectionalSelectionIfNeeded): Creates a non-directional selection instead of
72828         calling setSelection with MakeNonDirectionalSelection.
72829         (WebCore::EventHandler::handleMousePressEventSingleClick): Remove the call to setIsDirectional
72830         because it already calls setNonDirectionalSelectionIfNeeded.
72831
72832 2011-07-01  Tony Chang  <tony@chromium.org>
72833
72834         cleanup of flexbox and marquee data naming in StyleRareNonInheritedData
72835         https://bugs.webkit.org/show_bug.cgi?id=63827
72836
72837         Reviewed by Ojan Vafai.
72838
72839         * rendering/style/RenderStyle.cpp:
72840         (WebCore::RenderStyle::RenderStyle):
72841         (WebCore::RenderStyle::diff):
72842         * rendering/style/RenderStyle.h:
72843         (WebCore::InheritedFlags::boxAlign):
72844         (WebCore::InheritedFlags::boxFlex):
72845         (WebCore::InheritedFlags::boxFlexGroup):
72846         (WebCore::InheritedFlags::boxLines):
72847         (WebCore::InheritedFlags::boxOrdinalGroup):
72848         (WebCore::InheritedFlags::boxOrient):
72849         (WebCore::InheritedFlags::boxPack):
72850         (WebCore::InheritedFlags::marqueeIncrement):
72851         (WebCore::InheritedFlags::marqueeSpeed):
72852         (WebCore::InheritedFlags::marqueeLoopCount):
72853         (WebCore::InheritedFlags::marqueeBehavior):
72854         (WebCore::InheritedFlags::marqueeDirection):
72855         (WebCore::InheritedFlags::setBoxAlign):
72856         (WebCore::InheritedFlags::setBoxFlex):
72857         (WebCore::InheritedFlags::setBoxFlexGroup):
72858         (WebCore::InheritedFlags::setBoxLines):
72859         (WebCore::InheritedFlags::setBoxOrdinalGroup):
72860         (WebCore::InheritedFlags::setBoxOrient):
72861         (WebCore::InheritedFlags::setBoxPack):
72862         (WebCore::InheritedFlags::setMarqueeIncrement):
72863         (WebCore::InheritedFlags::setMarqueeSpeed):
72864         (WebCore::InheritedFlags::setMarqueeDirection):
72865         (WebCore::InheritedFlags::setMarqueeBehavior):
72866         (WebCore::InheritedFlags::setMarqueeLoopCount):
72867         * rendering/style/StyleRareNonInheritedData.cpp:
72868         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
72869         (WebCore::StyleRareNonInheritedData::operator==):
72870         * rendering/style/StyleRareNonInheritedData.h:
72871             flexibleBox -> m_deprecatedFlexibleBox and marquee to m_marquee
72872
72873 2011-07-01  Mike Reed  <reed@google.com>
72874
72875         Stop using deprecated SkDeviceFactory API
72876         https://bugs.webkit.org/show_bug.cgi?id=63488
72877
72878         Reviewed by James Robinson.
72879
72880         No new tests. Check-point for removing Factory API from Skia
72881
72882         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
72883         (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
72884         * platform/graphics/skia/PlatformContextSkia.cpp:
72885         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
72886
72887 2011-07-01  Jeffrey Pfau  <jpfau@apple.com>
72888
72889         Reviewed by Adam Barth.
72890
72891         Move XMLDocumentParser to new folder xml/parser/
72892         https://bugs.webkit.org/show_bug.cgi?id=63666
72893
72894         * CMakeLists.txt:
72895         * GNUmakefile.am:
72896         * GNUmakefile.list.am:
72897         * WebCore.gyp/WebCore.gyp:
72898         * WebCore.gypi:
72899         * WebCore.pri:
72900         * WebCore.pro:
72901         * WebCore.vcproj/WebCore.vcproj:
72902         * WebCore.vcproj/WebCoreCommon.vsprops:
72903         * WebCore.vcproj/copyForwardingHeaders.cmd:
72904         * WebCore.xcodeproj/project.pbxproj:
72905         * xml/parser/XMLDocumentParser.cpp:
72906         (WebCore::XMLDocumentParser::pushCurrentNode):
72907         (WebCore::XMLDocumentParser::popCurrentNode):
72908         (WebCore::XMLDocumentParser::clearCurrentNodeStack):
72909         (WebCore::XMLDocumentParser::insert):
72910         (WebCore::XMLDocumentParser::append):
72911         (WebCore::XMLDocumentParser::handleError):
72912         (WebCore::XMLDocumentParser::enterText):
72913         (WebCore::toString):
72914         (WebCore::XMLDocumentParser::exitText):
72915         (WebCore::XMLDocumentParser::detach):
72916         (WebCore::XMLDocumentParser::end):
72917         (WebCore::XMLDocumentParser::finish):
72918         (WebCore::XMLDocumentParser::finishWasCalled):
72919         (WebCore::createXHTMLParserErrorHeader):
72920         (WebCore::XMLDocumentParser::insertErrorMessageBlock):
72921         (WebCore::XMLDocumentParser::notifyFinished):
72922         (WebCore::XMLDocumentParser::isWaitingForScripts):
72923         (WebCore::XMLDocumentParser::pauseParsing):
72924         (WebCore::XMLDocumentParser::parseDocumentFragment):
72925         * xml/parser/XMLDocumentParser.h:
72926         (WebCore::XMLParserContext::context):
72927         (WebCore::XMLParserContext::XMLParserContext):
72928         (WebCore::XMLDocumentParser::create):
72929         (WebCore::XMLDocumentParser::setIsXHTMLDocument):
72930         (WebCore::XMLDocumentParser::isXHTMLDocument):
72931         (WebCore::XMLDocumentParser::setIsXHTMLMPDocument):
72932         (WebCore::XMLDocumentParser::isXHTMLMPDocument):
72933         (WebCore::XMLDocumentParser::wellFormed):
72934         (WebCore::XMLDocumentParser::context):
72935         * xml/parser/XMLDocumentParserLibxml2.cpp:
72936         (WebCore::PendingCallbacks::~PendingCallbacks):
72937         (WebCore::PendingCallbacks::create):
72938         (WebCore::PendingCallbacks::appendStartElementNSCallback):
72939         (WebCore::PendingCallbacks::appendEndElementNSCallback):
72940         (WebCore::PendingCallbacks::appendCharactersCallback):
72941         (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
72942         (WebCore::PendingCallbacks::appendCDATABlockCallback):
72943         (WebCore::PendingCallbacks::appendCommentCallback):
72944         (WebCore::PendingCallbacks::appendInternalSubsetCallback):
72945         (WebCore::PendingCallbacks::appendErrorCallback):
72946         (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
72947         (WebCore::PendingCallbacks::isEmpty):
72948         (WebCore::PendingCallbacks::PendingCallbacks):
72949         (WebCore::PendingCallbacks::PendingCallback::~PendingCallback):
72950         (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
72951         (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
72952         (WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
72953         (WebCore::PendingCallbacks::PendingCharactersCallback::~PendingCharactersCallback):
72954         (WebCore::PendingCallbacks::PendingCharactersCallback::call):
72955         (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::~PendingProcessingInstructionCallback):
72956         (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
72957         (WebCore::PendingCallbacks::PendingCDATABlockCallback::~PendingCDATABlockCallback):
72958         (WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
72959         (WebCore::PendingCallbacks::PendingCommentCallback::~PendingCommentCallback):
72960         (WebCore::PendingCallbacks::PendingCommentCallback::call):
72961         (WebCore::PendingCallbacks::PendingInternalSubsetCallback::~PendingInternalSubsetCallback):
72962         (WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
72963         (WebCore::matchFunc):
72964         (WebCore::OffsetBuffer::OffsetBuffer):
72965         (WebCore::OffsetBuffer::readOutBytes):
72966         (WebCore::switchToUTF16):
72967         (WebCore::shouldAllowExternalLoad):
72968         (WebCore::openFunc):
72969         (WebCore::readFunc):
72970         (WebCore::writeFunc):
72971         (WebCore::closeFunc):
72972         (WebCore::errorFunc):
72973         (WebCore::XMLParserContext::createStringParser):
72974         (WebCore::XMLParserContext::createMemoryParser):
72975         (WebCore::XMLDocumentParser::supportsXMLVersion):
72976         (WebCore::XMLDocumentParser::XMLDocumentParser):
72977         (WebCore::XMLParserContext::~XMLParserContext):
72978         (WebCore::XMLDocumentParser::~XMLDocumentParser):
72979         (WebCore::XMLDocumentParser::doWrite):
72980         (WebCore::toString):
72981         (WebCore::toAtomicString):
72982         (WebCore::handleElementNamespaces):
72983         (WebCore::handleElementAttributes):
72984         (WebCore::XMLDocumentParser::startElementNs):
72985         (WebCore::XMLDocumentParser::endElementNs):
72986         (WebCore::XMLDocumentParser::characters):
72987         (WebCore::XMLDocumentParser::error):
72988         (WebCore::XMLDocumentParser::processingInstruction):
72989         (WebCore::XMLDocumentParser::cdataBlock):
72990         (WebCore::XMLDocumentParser::comment):
72991         (WebCore::XMLDocumentParser::startDocument):
72992         (WebCore::XMLDocumentParser::endDocument):
72993         (WebCore::XMLDocumentParser::internalSubset):
72994         (WebCore::getParser):
72995         (WebCore::hackAroundLibXMLEntityBug):
72996         (WebCore::startElementNsHandler):
72997         (WebCore::endElementNsHandler):
72998         (WebCore::charactersHandler):
72999         (WebCore::processingInstructionHandler):
73000         (WebCore::cdataBlockHandler):
73001         (WebCore::commentHandler):
73002         (WebCore::warningHandler):
73003         (WebCore::fatalErrorHandler):
73004         (WebCore::normalErrorHandler):
73005         (WebCore::sharedXHTMLEntity):
73006         (WebCore::getXHTMLEntity):
73007         (WebCore::getEntityHandler):
73008         (WebCore::startDocumentHandler):
73009         (WebCore::endDocumentHandler):
73010         (WebCore::internalSubsetHandler):
73011         (WebCore::externalSubsetHandler):
73012         (WebCore::ignorableWhitespaceHandler):
73013         (WebCore::XMLDocumentParser::initializeParserContext):
73014         (WebCore::XMLDocumentParser::doEnd):
73015         (WebCore::xmlDocPtrForString):
73016         (WebCore::XMLDocumentParser::lineNumber):
73017         (WebCore::XMLDocumentParser::columnNumber):
73018         (WebCore::XMLDocumentParser::textPosition):
73019         (WebCore::XMLDocumentParser::textPositionOneBased):
73020         (WebCore::XMLDocumentParser::stopParsing):
73021         (WebCore::XMLDocumentParser::resumeParsing):
73022         (WebCore::XMLDocumentParser::appendFragmentSource):
73023         (WebCore::attributesStartElementNsHandler):
73024         (WebCore::parseAttributes):
73025         * xml/parser/XMLDocumentParserQt.cpp:
73026         (WebCore::EntityResolver::resolveUndeclaredEntity):
73027         (WebCore::XMLDocumentParser::supportsXMLVersion):
73028         (WebCore::XMLDocumentParser::XMLDocumentParser):
73029         (WebCore::XMLDocumentParser::~XMLDocumentParser):
73030         (WebCore::XMLDocumentParser::doWrite):
73031         (WebCore::XMLDocumentParser::initializeParserContext):
73032         (WebCore::XMLDocumentParser::doEnd):
73033         (WebCore::XMLDocumentParser::lineNumber):
73034         (WebCore::XMLDocumentParser::columnNumber):
73035         (WebCore::XMLDocumentParser::textPosition):
73036         (WebCore::XMLDocumentParser::textPositionOneBased):
73037         (WebCore::XMLDocumentParser::stopParsing):
73038         (WebCore::XMLDocumentParser::resumeParsing):
73039         (WebCore::XMLDocumentParser::appendFragmentSource):
73040         (WebCore::attributesStartElementNsHandler):
73041         (WebCore::parseAttributes):
73042         (WebCore::prefixFromQName):
73043         (WebCore::handleElementNamespaces):
73044         (WebCore::handleElementAttributes):
73045         (WebCore::XMLDocumentParser::parse):
73046         (WebCore::XMLDocumentParser::startDocument):
73047         (WebCore::XMLDocumentParser::parseStartElement):
73048         (WebCore::XMLDocumentParser::parseEndElement):
73049         (WebCore::XMLDocumentParser::parseCharacters):
73050         (WebCore::XMLDocumentParser::parseProcessingInstruction):
73051         (WebCore::XMLDocumentParser::parseCdata):
73052         (WebCore::XMLDocumentParser::parseComment):
73053         (WebCore::XMLDocumentParser::endDocument):
73054         (WebCore::XMLDocumentParser::hasError):
73055         (WebCore::XMLDocumentParser::parseDtd):
73056         * xml/parser/XMLDocumentParserScope.cpp:
73057         (WebCore::XMLDocumentParserScope::XMLDocumentParserScope):
73058         (WebCore::XMLDocumentParserScope::~XMLDocumentParserScope):
73059
73060 2011-07-01  Vangelis Kokkevis  <vangelis@chromium.org>
73061
73062         Reviewed by James Robinson.
73063
73064         [chromium] Reserve all tile textures at layer update time to guarantee
73065         that they will be available at draw time.
73066         https://bugs.webkit.org/show_bug.cgi?id=63760
73067
73068         In addition, this patch unreserves textures used by RenderSurface's
73069         right after the RenderSurface has been used to free up memory for
73070         subsequent RenderSurfaces.
73071         
73072         This patch also "fixes" the pages that display a blue background when
73073         running out of texture memory as the root layer tiles get reserved first
73074         and are guaranteed to get textures.
73075
73076         * platform/graphics/chromium/ContentLayerChromium.cpp:
73077         (WebCore::ContentLayerChromium::ContentLayerChromium):
73078         (WebCore::ContentLayerChromium::visibleLayerRect):
73079         (WebCore::ContentLayerChromium::setIsMask):
73080         * platform/graphics/chromium/ContentLayerChromium.h:
73081         * platform/graphics/chromium/ImageLayerChromium.cpp:
73082         (WebCore::ImageLayerChromium::paintContentsIfDirty):
73083         * platform/graphics/chromium/LayerRendererChromium.cpp:
73084         (WebCore::LayerRendererChromium::paintLayerContents):
73085         (WebCore::LayerRendererChromium::drawLayer):
73086         (WebCore::LayerRendererChromium::initializeSharedObjects):
73087         * platform/graphics/chromium/LayerTexture.cpp:
73088         (WebCore::LayerTexture::unreserve):
73089         * platform/graphics/chromium/LayerTexture.h:
73090         * platform/graphics/chromium/LayerTilerChromium.cpp:
73091         (WebCore::LayerTilerChromium::prepareToUpdate):
73092         (WebCore::LayerTilerChromium::updateRect):
73093         (WebCore::LayerTilerChromium::drawTiles):
73094         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
73095         (WebCore::RenderSurfaceChromium::releaseContentsTexture):
73096         * platform/graphics/chromium/RenderSurfaceChromium.h:
73097         * platform/graphics/chromium/TextureManager.cpp:
73098         (WebCore::TextureManager::unprotectTexture):
73099         * platform/graphics/chromium/TextureManager.h:
73100
73101 2011-07-01  Jungshik Shin  <jshin@chromium.org>
73102
73103         Reviewed by Alexey Proskuryakov.
73104
73105         Allow generic font family settings per script code.
73106         https://bugs.webkit.org/show_bug.cgi?id=20797
73107
73108         Make generic font family getters/setters accept an additional
73109         argument (script code). It has a default value so that if an embedder
73110         does not have/want a per-script font family setting, call-sites
73111         don't have to be changed.
73112         This is to prepare for fixing bug 10874 (font selection is not
73113         language-dependent) and bug 18085.
73114
73115         uscript.h has been updated to that of ICU 3.6 (the version of ICU on
73116         Mac OS 10.5)
73117
73118         There should be no change in layout and no new layout test
73119         is added.
73120
73121         * WebCore.exp.in:
73122         * icu/unicode/uscript.h: updated to ICU 4.6
73123         * page/Settings.cpp:
73124         (WebCore::setGenericFontFamilyMap): helper to set generic family per script
73125         (WebCore::getGenericFontFamilyForScript): helper function used by getters for fooFontFamily.
73126         (WebCore::Settings::standardFontFamily):
73127         (WebCore::Settings::setStandardFontFamily):
73128         (WebCore::Settings::fixedFontFamily):
73129         (WebCore::Settings::setFixedFontFamily):
73130         (WebCore::Settings::serifFontFamily):
73131         (WebCore::Settings::setSerifFontFamily):
73132         (WebCore::Settings::sansSerifFontFamily):
73133         (WebCore::Settings::setSansSerifFontFamily):
73134         (WebCore::Settings::cursiveFontFamily):
73135         (WebCore::Settings::setCursiveFontFamily):
73136         (WebCore::Settings::fantasyFontFamily):
73137         (WebCore::Settings::setFantasyFontFamily):
73138         * page/Settings.h: setter and getter for FooFontFamily have a new optional argument, scriptCode.
73139
73140 2011-07-01  Tony Chang  <tony@chromium.org>
73141
73142         Reviewed by Ojan Vafai.
73143
73144         rename StyleFlexibleBoxData to StyleDeprecatedFlexibleBoxData
73145         https://bugs.webkit.org/show_bug.cgi?id=63773
73146
73147         We will have a similar struct to hold CSS3 flexible box data, so
73148         this makes way for the new class.
73149         I will rename the member variable in RenderStyle.h in a follow up
73150         change.
73151
73152         * CMakeLists.txt:
73153         * GNUmakefile.list.am:
73154         * WebCore.gypi:
73155         * WebCore.order:
73156         * WebCore.pro:
73157         * WebCore.vcproj/WebCore.vcproj:
73158         * WebCore.xcodeproj/project.pbxproj:
73159         * rendering/style/RenderStyle.h:
73160         * rendering/style/StyleAllInOne.cpp:
73161         * rendering/style/StyleDeprecatedFlexibleBoxData.cpp:
73162         (WebCore::StyleDeprecatedFlexibleBoxData::StyleDeprecatedFlexibleBoxData):
73163         (WebCore::StyleDeprecatedFlexibleBoxData::operator==):
73164         * rendering/style/StyleDeprecatedFlexibleBoxData.h:
73165         (WebCore::StyleDeprecatedFlexibleBoxData::create):
73166         (WebCore::StyleDeprecatedFlexibleBoxData::copy):
73167         (WebCore::StyleDeprecatedFlexibleBoxData::operator!=):
73168         * rendering/style/StyleRareNonInheritedData.h:
73169
73170 2011-07-01  Hans Wennborg  <hans@chromium.org>
73171
73172         Reviewed by Tony Chang.
73173
73174         IndexedDB: Fix constants for webkitIDBTransaction.READ_WRITE/READ_ONLY
73175         https://bugs.webkit.org/show_bug.cgi?id=63754
73176
73177         Fix values for the webkitIDBTransaction.READ_WRITE/READ_ONLY
73178         constants. Douglas Stockwell pointed out that these were reverse
73179         of what the spec says.
73180
73181         * storage/IDBTransaction.h:
73182         * storage/IDBTransaction.idl:
73183
73184 2011-07-01  Levi Weintraub  <leviw@chromium.org>
73185
73186         Reviewed by Eric Seidel.
73187
73188         Switch positionForPoint to new layout types
73189         https://bugs.webkit.org/show_bug.cgi?id=63774
73190
73191         Switching positionForPoint functions to new layout unit abstraction.
73192
73193         No new tests, no functionality changes.
73194
73195         * rendering/RenderBR.cpp:
73196         (WebCore::RenderBR::positionForPoint):
73197         * rendering/RenderBR.h:
73198         * rendering/RenderBlock.cpp:
73199         (WebCore::RenderBlock::positionForPoint):
73200         * rendering/RenderBlock.h:
73201         * rendering/RenderBox.cpp:
73202         (WebCore::RenderBox::positionForPoint):
73203         * rendering/RenderBox.h:
73204         * rendering/RenderFileUploadControl.cpp:
73205         (WebCore::RenderFileUploadControl::positionForPoint):
73206         * rendering/RenderFileUploadControl.h:
73207         * rendering/RenderInline.cpp:
73208         (WebCore::RenderInline::positionForPoint):
73209         * rendering/RenderInline.h:
73210         * rendering/RenderObject.cpp:
73211         (WebCore::RenderObject::positionForPoint):
73212         * rendering/RenderReplaced.cpp:
73213         (WebCore::RenderReplaced::positionForPoint):
73214         * rendering/RenderReplaced.h:
73215         * rendering/RenderText.cpp:
73216         (WebCore::RenderText::positionForPoint):
73217         * rendering/RenderText.h:
73218         * rendering/RenderTextControlSingleLine.cpp:
73219         (WebCore::RenderTextControlInnerBlock::positionForPoint):
73220         * rendering/RenderTextControlSingleLine.h:
73221         * rendering/svg/RenderSVGInlineText.cpp:
73222         (WebCore::RenderSVGInlineText::positionForPoint):
73223         * rendering/svg/RenderSVGInlineText.h:
73224         * rendering/svg/RenderSVGText.cpp:
73225         (WebCore::RenderSVGText::positionForPoint):
73226         * rendering/svg/RenderSVGText.h:
73227
73228 2011-07-01  Andrew Scherkus  <scherkus@chromium.org>
73229
73230         Reviewed by Darin Fisher.
73231
73232         Re-enable WTF_USE_WEBAUDIO_FFMPEG for Chromium
73233         https://bugs.webkit.org/show_bug.cgi?id=63783
73234
73235         * WebCore.gyp/WebCore.gyp:
73236
73237 2011-07-01  Patrick Gansterer  <paroga@webkit.org>
73238
73239         Reviewed by Daniel Bates.
73240
73241         [CMake] Don't compile unused bindings
73242         https://bugs.webkit.org/show_bug.cgi?id=63741
73243
73244         * UseJSC.cmake: Added IF (ENABLE_XXX) around files.
73245
73246 2011-07-01  Joone Hur  <joone.hur@collabora.co.uk>
73247
73248         Reviewed by Martin Robinson.
73249
73250         [GTK] Add DeviceOrientation feature
73251         https://bugs.webkit.org/show_bug.cgi?id=63720
73252
73253         Add DeviceMotionClientGtk.cpp and DeviceOrientationClientGtk.cpp to WebKitGtk+ build.
73254
73255         * GNUmakefile.am: Add DeviceMotionClientGtk.cpp, DeviceOrientationClientGtk.cpp.
73256
73257 2011-07-01  Kentaro Hara  <haraken@google.com>
73258
73259         Reviewed by Kent Tamura.
73260
73261         Disallow clicking an [X] button in 'search' input forms when 'disabled' attribute or 'readonly' attribute is set.
73262         https://bugs.webkit.org/show_bug.cgi?id=63709
73263
73264         Ignore a cancel button event on a 'search' input form if 'disabled' attribute or
73265         'readonly' attribute is set to the input form.
73266
73267         Test: fast/forms/search-disabled-readonly.html
73268
73269         * html/shadow/TextControlInnerElements.cpp:
73270         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
73271
73272 2011-06-30  Mikhail Naganov  <mnaganov@chromium.org>
73273
73274         Reviewed by Yury Semikhatsky.
73275
73276         Web Inspector: [Chromium] Fix heap snapshots in a remote debugging session from Safari.
73277         https://bugs.webkit.org/show_bug.cgi?id=63703
73278
73279         * inspector/front-end/HeapSnapshotWorker.js:
73280         (.Function.prototype.bind.return.bound):
73281         (.Function.prototype.bind):
73282
73283 2011-07-01  Dirk Schulze  <krit@webkit.org>
73284
73285         Reviewed by Nikolas Zimmermann.
73286
73287         SVGAnimatedLengthListAnimator does not take additive="sum" into accout
73288         https://bugs.webkit.org/show_bug.cgi?id=63705
73289
73290         Added support for additive animations to SVGAnimatedLengthListAnimator. Don't clear the animatedList if not
73291         necessary.
73292
73293         SVGLength unit gets animated as well now. We used to take the unit of 'from' all the time.
73294
73295         Tests: svg/animations/svglength-animation-unitType.html
73296                svg/animations/svglengthlist-animation-5.html
73297
73298         * svg/SVGAnimatedLength.cpp:
73299         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue): Code clean-up and support for unit animation.
73300         * svg/SVGAnimatedLengthList.cpp: Add support for additive animations.
73301         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
73302         * svg/SVGLength.cpp:
73303         (WebCore::SVGLength::SVGLength):
73304         (WebCore::SVGLength::setValue): New setValue that gets the LengthType and UnitType as argument for supporting animations of units as well.
73305         * svg/SVGLength.h:
73306
73307 2011-07-01  Dirk Schulze  <krit@webkit.org>
73308
73309         Reviewed by Nikolas Zimmermann.
73310
73311         SVGAnimatedType should support SVGAnimatedInteger animation
73312         https://bugs.webkit.org/show_bug.cgi?id=63789
73313         
73314         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
73315         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedInteger.
73316         
73317         SVGAnimatedInteger is used for some attributes of SVG filter effects. The animation of those attributes work after this patch.
73318
73319         Test: svg/animations/svginteger-animation-1.html
73320
73321         * CMakeLists.txt: Added file to build system.
73322         * GNUmakefile.list.am: Ditto.
73323         * WebCore.gypi: Ditto.
73324         * WebCore.pro: Ditto.
73325         * WebCore.xcodeproj/project.pbxproj: Ditto.
73326         * svg/SVGAllInOne.cpp: Ditto.
73327         * svg/SVGAnimateElement.cpp: Make use of AnimatedInteger.
73328         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
73329         (WebCore::SVGAnimateElement::calculateAnimatedValue):
73330         (WebCore::SVGAnimateElement::calculateFromAndToValues):
73331         (WebCore::SVGAnimateElement::calculateFromAndByValues):
73332         (WebCore::SVGAnimateElement::resetToBaseValue):
73333         (WebCore::SVGAnimateElement::applyResultsToTarget):
73334         (WebCore::SVGAnimateElement::calculateDistance):
73335         * svg/SVGAnimatedInteger.cpp: Added. The new animator for SVGAnimatedInteger.
73336         (WebCore::SVGAnimatedIntegerAnimator::SVGAnimatedIntegerAnimator):
73337         (WebCore::SVGAnimatedIntegerAnimator::constructFromString):
73338         (WebCore::SVGAnimatedIntegerAnimator::calculateFromAndToValues):
73339         (WebCore::SVGAnimatedIntegerAnimator::calculateFromAndByValues):
73340         (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):
73341         (WebCore::SVGAnimatedIntegerAnimator::calculateDistance):
73342         * svg/SVGAnimatedInteger.h:
73343         (WebCore::SVGAnimatedIntegerAnimator::~SVGAnimatedIntegerAnimator):
73344         * svg/SVGAnimatedType.cpp: Added handler for AnimatedInteger.
73345         (WebCore::SVGAnimatedType::~SVGAnimatedType):
73346         (WebCore::SVGAnimatedType::createInteger):
73347         (WebCore::SVGAnimatedType::integer):
73348         (WebCore::SVGAnimatedType::valueAsString):
73349         (WebCore::SVGAnimatedType::setValueAsString):
73350         * svg/SVGAnimatedType.h:
73351         * svg/SVGAnimatorFactory.h:
73352         (WebCore::SVGAnimatorFactory::create):
73353
73354 2011-06-30  Eugene Klyuchnikov  <eustas.bug@gmail.com>
73355
73356         Reviewed by Pavel Feldman.
73357
73358         WebInspector: Performance / memory allocation issue in WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded
73359         https://bugs.webkit.org/show_bug.cgi?id=40447
73360
73361         Test: inspector/editor/text-editor-model-replace-tabs.html
73362
73363         * inspector/front-end/TextEditorModel.js:
73364         (WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded): avoid looped production of tail substrings 
73365
73366 2011-06-30  Kent Tamura  <tkent@chromium.org>
73367
73368         Reviewed by Tony Chang.
73369
73370         [Chromium] Input type="range" slider thumb is rendered upside down on Mac OS X.
73371         https://bugs.webkit.org/show_bug.cgi?id=63697
73372
73373         http://trac.webkit.org/changeset/86261 added a thumb flipping code
73374         for Mac-WebKit2. Chromium also needs it.
73375
73376         * rendering/RenderThemeMac.mm:
73377         (WebCore::RenderThemeMac::paintSliderThumb): Always flip vertically on Chromium.
73378
73379 2011-06-30  Kenichi Ishibashi  <bashi@chromium.org>
73380
73381         Reviewed by Simon Fraser.
73382
73383         [Chromium] -webkit-text-stroke doesn't affect with non-zero width border property
73384         https://bugs.webkit.org/show_bug.cgi?id=63698
73385
73386         Restore the stroke style when it is modified in RenderObject::drawLineForBoxSide() to show text stroke correctly.
73387
73388         Test: platform/chromium/fast/text/text-stroke-with-border.html
73389
73390         * rendering/RenderObject.cpp:
73391         (WebCore::RenderObject::drawLineForBoxSide): Save/restore the stroke style.
73392
73393 2011-06-30  Gwang Yoon Hwang  <ryumiel@company100.net>
73394
73395         Reviewed by Nate Chapin.
73396
73397         [V8] Add ENABLE(INSPECTOR) guards around v8 custom bindings.
73398         https://bugs.webkit.org/show_bug.cgi?id=63442
73399
73400         No new tests needed.
73401
73402         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
73403         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
73404
73405 2011-06-30  Levi Weintraub  <leviw@chromium.org>
73406
73407         Reviewed by Eric Seidel.
73408
73409         Remove positionForCoordinates
73410         https://bugs.webkit.org/show_bug.cgi?id=63765
73411
73412         Removing positionForCoordinate. We should always use positionForPoint. Also cleaning up
73413         RenderBox's implementation of positionForPoint.
73414
73415         No new tests, there should be no functionality changes.
73416
73417         * accessibility/AccessibilityRenderObject.cpp:
73418         (WebCore::AccessibilityRenderObject::stringValue): Removing dead, or at least untested, code and
73419         adding an ASSERT_NOT_REACHED.
73420         (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
73421         * rendering/RenderBox.cpp:
73422         (WebCore::RenderBox::positionForPoint): cleaning up some ugly code.
73423         * rendering/RenderInline.cpp:
73424         (WebCore::RenderInline::positionForPoint):
73425         * rendering/RenderObject.cpp:
73426         * rendering/RenderObject.h:
73427
73428 2011-06-30  Zhenyao Mo  <zmo@google.com>
73429
73430         Reviewed by Kenneth Russell.
73431
73432         Improve WebGL object lifetime management in WebGLRenderingContext
73433         https://bugs.webkit.org/show_bug.cgi?id=63635
73434
73435         * html/canvas/WebGLRenderingContext.cpp:
73436         (WebCore::WebGLRenderingContext::getAttachedShaders): Use cached objects instead of querying the underlying GL.
73437         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Ditto.
73438         (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects): Multiple loop because objects might be removed from the table within an iteration.
73439         * html/canvas/WebGLRenderingContext.h:
73440
73441 2011-06-30  Rafael Brandao  <rafael.lobo@openbossa.org>
73442
73443         Reviewed by Andreas Kling.
73444
73445         [Qt] build-webkit warning: cannot find file ElementShadowPseudoId.h
73446         https://bugs.webkit.org/show_bug.cgi?id=63747
73447
73448         Removed reference to ElementShadowPseudoId.h that no longer exists.
73449
73450         * WebCore.pro:
73451
73452 2011-06-30  Anders Carlsson  <andersca@apple.com>
73453
73454         Fix clang build.
73455
73456         Remove the complete Widget constructor from the .exp.in file; since Widget is an abstract class,
73457         its complete constructor can never be called and clang has stopped emitting it altogether.
73458
73459         * WebCore.exp.in:
73460
73461 2011-06-30  Levi Weintraub  <leviw@chromium.org>
73462
73463         Reviewed by Eric Seidel.
73464
73465         Switch paintingRootRect and RenderObject repaint methods to new layout types
73466         https://bugs.webkit.org/show_bug.cgi?id=63746
73467
73468         Switching paintingRootRect and RenderObject repaint functions over to the
73469         new layout unit abstraction.
73470
73471         No new tests, no functionality changes.
73472
73473         * rendering/RenderBox.cpp:
73474         (WebCore::RenderBox::repaintDuringLayoutIfMoved):
73475         * rendering/RenderBox.h:
73476         * rendering/RenderObject.cpp:
73477         (WebCore::RenderObject::paintingRootRect):
73478         (WebCore::RenderObject::paint):
73479         (WebCore::RenderObject::repaintUsingContainer):
73480         (WebCore::RenderObject::repaintRectangle):
73481         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
73482         (WebCore::RenderObject::repaintDuringLayoutIfMoved):
73483         * rendering/RenderObject.h:
73484
73485 2011-06-30  Cary Clark  <caryclark@google.com>
73486
73487         Reviewed by James Robinson.
73488
73489         Use Skia if Skia on Mac Chrome is enabled
73490         https://bugs.webkit.org/show_bug.cgi?id=62999
73491
73492         No new tests. This does not affect existing
73493         functionality.
73494
73495         * WebCore.gyp/WebCore.gyp:
73496         Include Skia and related files and exclude CG
73497         and related files when building Chromium for Skia
73498         on the Mac.
73499
73500         * loader/cache/CachedFont.cpp:
73501         Rename CHROME to CHROMIUM.
73502
73503         * platform/chromium/DragImageRef.h:
73504         * platform/graphics/FloatPoint.h:
73505         * platform/graphics/FloatRect.h:
73506         * platform/graphics/FloatSize.h:
73507         * platform/graphics/FontPlatformData.h:
73508         (WebCore::FontPlatformData::hash):
73509         * platform/graphics/GlyphBuffer.h:
73510         (WebCore::GlyphBuffer::advanceAt):
73511         (WebCore::GlyphBuffer::add):
73512         (WebCore::GlyphBuffer::expandLastAdvance):
73513         * platform/graphics/IntPoint.h:
73514         * platform/graphics/IntRect.h:
73515         * platform/graphics/IntSize.h:
73516         * platform/graphics/SimpleFontData.h:
73517         * platform/graphics/cg/FloatPointCG.cpp:
73518         * platform/graphics/cg/FloatRectCG.cpp:
73519         * platform/graphics/cg/FloatSizeCG.cpp:
73520         * platform/graphics/cg/IntPointCG.cpp:
73521         * platform/graphics/cg/IntRectCG.cpp:
73522         * platform/graphics/cg/IntSizeCG.cpp:
73523         * platform/graphics/mac/FontCustomPlatformData.cpp:
73524         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
73525         (WebCore::createFontCustomPlatformData):
73526         * platform/graphics/mac/FontCustomPlatformData.h:
73527         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
73528         Ditto.
73529
73530 2011-06-30  Julien Chaffraix  <jchaffraix@webkit.org>
73531
73532         Reviewed by Nikolas Zimmermann.
73533
73534         Update SVG position values on SVG DOM updates
73535         https://bugs.webkit.org/show_bug.cgi?id=62439
73536
73537         Test: svg/custom/crash-textPath-attributes.html
73538
73539         * rendering/svg/RenderSVGInline.cpp:
73540         (WebCore::RenderSVGInline::destroy): Notify our containing RenderSVGText that it needs
73541         to update its positioning information.
73542
73543         * rendering/svg/SVGInlineFlowBox.cpp:
73544         (WebCore::SVGInlineFlowBox::calculateBoundaries): Check the type of the InlineBox
73545         like the rest of the code (fixes an ASSERT_NOT_REACHED in InlineBox::calculateBoudaries).
73546
73547         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
73548         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextSubtree): Clear
73549         our cached layout attributes every time we invalidate them. This avoids keeping stale
73550         attribute that have a backpointer to a RenderObject.
73551
73552 2011-06-30  Sreeram Ramachandran  <sreeram@chromium.org>
73553
73554         Reviewed by Adam Barth.
73555
73556         Suppress modal JavaScript/HTML dialogs during unload events
73557         https://bugs.webkit.org/show_bug.cgi?id=56397
73558
73559         Allows clients to specify whether to show alerts during unload handlers.
73560         When checking for whether a page dismissal event is being dispatched,
73561         it's important to check all frames on the page (otherwise it becomes a
73562         loophole easily exploited).
73563
73564         Test: fast/loader/page-dismissal-modal-dialogs.html
73565
73566         * loader/FrameLoader.cpp:
73567         (WebCore::FrameLoader::FrameLoader):
73568         (WebCore::FrameLoader::stopLoading):
73569         (WebCore::FrameLoader::loadURL):
73570         (WebCore::FrameLoader::loadWithDocumentLoader):
73571         (WebCore::FrameLoader::stopAllLoaders):
73572         (WebCore::FrameLoader::fireBeforeUnloadEvent):
73573         * loader/FrameLoader.h:
73574         (WebCore::FrameLoader::pageDismissalEventBeingDispatched):
73575         * loader/cache/CachedResourceLoader.cpp:
73576         (WebCore::CachedResourceLoader::requestImage):
73577         * page/Chrome.cpp:
73578         (WebCore::canRunModalIfDuringPageDismissal):
73579         (WebCore::Chrome::canRunModalNow):
73580         (WebCore::Chrome::runJavaScriptAlert):
73581         (WebCore::Chrome::runJavaScriptConfirm):
73582         (WebCore::Chrome::runJavaScriptPrompt):
73583         * page/Chrome.h:
73584         * page/ChromeClient.h:
73585         (WebCore::ChromeClient::shouldRunModalDialogDuringPageDismissal):
73586         * page/DOMWindow.cpp:
73587         (WebCore::DOMWindow::showModalDialog):
73588
73589 2011-06-30  Julien Chaffraix  <jchaffraix@webkit.org>
73590
73591         Reviewed by Nikolas Zimmermann.
73592
73593         Assertion failure in RenderSVGInlineText::characterStartsNewTextChunk
73594         https://bugs.webkit.org/show_bug.cgi?id=63076
73595
73596         Tests: svg/custom/crash-text-in-textpath.svg
73597                svg/custom/text-node-in-text-invalidated.svg
73598
73599         The problem was that we did not call setNeedsPositionUpdate on RenderSVGText. When
73600         doing our layout, we would not update the attributes on our SVGRenderInlineText as
73601         we would not lay it out.
73602
73603         This was caused by childrenChanged being overridden on SVGTextPositioningElement but
73604         not on SVGTextPathElement.
73605
73606         As both classes shared the same mother class, it made sense to move the logic here.
73607         There should be no other side effects as SVGTextPathElement and SVGTextPositioningElement
73608         are the only classes deriving from SVGTextContentElement.
73609
73610         * svg/SVGTextContentElement.cpp:
73611         (WebCore::SVGTextContentElement::childrenChanged): Moved this method from SVGTextPositioningElement.
73612         * svg/SVGTextContentElement.h:
73613         * svg/SVGTextPositioningElement.cpp:
73614         (WebCore::SVGTextPositioningElement::svgAttributeChanged): Updated after updatePositioningValuesInRenderer
73615         removal, replaced by RenderSVGText::locateRenderSVGTextAncestor.
73616         * svg/SVGTextPositioningElement.h:
73617
73618 2011-06-30  Patrick Gansterer  <paroga@webkit.org>
73619
73620         Unreviewed build fix for !ENABLE(DATABASE) after r84789.
73621
73622         * bindings/js/JSDOMBinding.cpp:
73623
73624 2011-06-30  Anders Carlsson  <andersca@apple.com>
73625
73626         Reviewed by Dan Bernstein.
73627
73628         More ScrollableArea scaffolding
73629         https://bugs.webkit.org/show_bug.cgi?id=63678
73630
73631         Add a way to get the enclosing scrollable area for a given scrollable area.
73632         Also, add ScrollableArea::isPinnedInDirectionOfScrollDelta.
73633
73634         * page/FrameView.cpp:
73635         (WebCore::FrameView::enclosingScrollableArea):
73636         Return 0 for now.
73637
73638         * page/FrameView.h:
73639         Add FrameView::enclosingScrollableArea.
73640
73641         * platform/ScrollableArea.cpp:
73642         (WebCore::ScrollableArea::isPinnedInDirectionOfScrollDelta):
73643         Return whether the area is pinned in the direction of the scroll delta.
73644
73645         * platform/ScrollableArea.h:
73646         Add new member functions.
73647
73648         * platform/chromium/FramelessScrollView.cpp:
73649         (WebCore::FramelessScrollView::enclosingScrollableArea):
73650         * platform/chromium/FramelessScrollView.h:
73651         Add stub.
73652
73653         * platform/win/PopupMenuWin.h:
73654         (WebCore::PopupMenuWin::enclosingScrollableArea):
73655         Always return 0.
73656
73657         * rendering/RenderLayer.cpp:
73658         (WebCore::RenderLayer::enclosingScrollableLayer):
73659         Add helper function.
73660
73661         (WebCore::RenderLayer::scrollByRecursively):
73662         Use the new enclosingScrollableLayer helper function.
73663
73664         (WebCore::RenderLayer::enclosingScrollableArea):
73665         Return the enclosing scrollable area.
73666
73667         * rendering/RenderLayer.h:
73668         Add new member function.
73669
73670         * rendering/RenderListBox.cpp:
73671         (WebCore::RenderListBox::enclosingScrollableArea):
73672         Return 0 for now.
73673         
73674         * rendering/RenderListBox.h:
73675         Add new member function.
73676
73677 2011-06-30  Martin Robinson  <mrobinson@igalia.com>
73678
73679         Reviewed by Anders Carlsson.
73680
73681         [GTK] Crash observed with nspluginwrapper and flash
73682         https://bugs.webkit.org/show_bug.cgi?id=62249
73683
73684         Test: plugins/invalidate-rect-with-null-npp-argument.html
73685
73686         * plugins/npapi.cpp:
73687         (NPN_InvalidateRect): Guard against null instances here.
73688
73689 2011-06-30  Levi Weintraub  <leviw@chromium.org>
73690
73691         Reviewed by Eric Seidel.
73692
73693         Switch availableWidth/Height, logicalLeft/RightOffsetForLine to new layout types
73694         https://bugs.webkit.org/show_bug.cgi?id=63671
73695
73696         Switch availableWidth/Height, logicalLeft/RightOffsetForLine functions over to the
73697         new layout unit abstraction.
73698
73699         No new tests, no functionality changes.
73700
73701         * rendering/RenderBlock.cpp:
73702         (WebCore::RenderBlock::logicalLeftOffsetForLine):
73703         (WebCore::RenderBlock::logicalRightOffsetForLine):
73704         (WebCore::RenderBlock::availableLogicalWidthForLine):
73705         (WebCore::RenderBlock::availableLogicalWidth):
73706         * rendering/RenderBlock.h:
73707         (WebCore::RenderBlock::logicalRightOffsetForLine):
73708         (WebCore::RenderBlock::logicalLeftOffsetForLine):
73709         (WebCore::RenderBlock::startOffsetForLine):
73710         * rendering/RenderBox.cpp:
73711         (WebCore::RenderBox::availableLogicalHeight):
73712         (WebCore::RenderBox::availableLogicalHeightUsing):
73713         * rendering/RenderBox.h:
73714         (WebCore::RenderBox::availableLogicalWidth):
73715         (WebCore::RenderBox::availableWidth):
73716         (WebCore::RenderBox::availableHeight):
73717
73718 2011-06-30  Adam Barth  <abarth@webkit.org>
73719
73720         Remove useless ASSERT that breaks the build.
73721
73722         * dom/StyledElement.cpp:
73723         (WebCore::parseColorStringWithCrazyLegacyRules):
73724
73725 2011-06-30  Tab Atkins  <jackalmage@gmail.com>
73726
73727         Reviewed by Adam Barth.
73728
73729         Fix legacy color attribute parsing to match HTML spec
73730         https://bugs.webkit.org/show_bug.cgi?id=63029
73731
73732         Relevant spec link: http://www.whatwg.org/specs/web-apps/current-work/complete/common-microsyntaxes.html#rules-for-parsing-a-legacy-color-value
73733         Fix legacy color attribute parsing (<body bgcolor>, <font color>, etc.) to match the HTML spec and more closely match other browsers.
73734
73735         Test: fast/dom/attribute-legacy-colors.html
73736
73737         * dom/StyledElement.cpp:
73738         (WebCore::StyledElement::addCSSColor):
73739
73740 2011-06-28  Hans Wennborg  <hans@chromium.org>
73741
73742         Reviewed by Tony Chang.
73743
73744         IndexedDB: Prepare for running layout tests with LevelDB
73745         https://bugs.webkit.org/show_bug.cgi?id=63593
73746
73747         Migration of data from SQLite to LevelDB must be done before the
73748         m_backingStore map is checked for an open LevelDB, because if a
73749         previous layout test has used LevelDB, it will be in the
73750         m_backingStore map.
73751
73752         Covered by existing layout tests.
73753
73754         * storage/IDBFactoryBackendImpl.cpp:
73755         (WebCore::IDBFactoryBackendImpl::open):
73756
73757 2011-06-30  Pavel Feldman  <pfeldman@chromium.org>
73758
73759         Reviewed by Yury Semikhatsky.
73760
73761         Web Inspector: introduce "filter" icons for timeline panel and elements sidebar.
73762         https://bugs.webkit.org/show_bug.cgi?id=63731
73763
73764         * inspector/front-end/EventListenersSidebarPane.js:
73765         * inspector/front-end/Images/paneFilterButtons.png: Added.
73766         * inspector/front-end/Images/statusbarButtonGlyphs.png:
73767         * inspector/front-end/StylesSidebarPane.js:
73768         * inspector/front-end/inspector.css:
73769         (.pane > .title > select):
73770         (.pane > .title > select.select-settings):
73771         (.pane > .title > select.select-filter):
73772         (.timeline-filter-status-bar-item .glyph):
73773
73774 2011-06-28  Hans Wennborg  <hans@chromium.org>
73775
73776         Reviewed by Tony Chang.
73777
73778         IndexedDB: Support for deleteIndex with LevelDB backing store
73779         https://bugs.webkit.org/show_bug.cgi?id=63539
73780
73781         Covered by storage/indexeddb/mozilla/remove-index.html.
73782
73783         * storage/IDBLevelDBBackingStore.cpp:
73784         (WebCore::IDBLevelDBBackingStore::deleteIndex):
73785
73786 2011-06-30  Abhishek Arya  <inferno@chromium.org>
73787
73788         Reviewed by Ryosuke Niwa.
73789
73790         Crash when calling DOMSubtreeModified event when extracting range
73791         contents.
73792         https://bugs.webkit.org/show_bug.cgi?id=63650
73793
73794         Convert a few nodes to RefPtrs and add commonRoot verification checks
73795         for Range::processContents.
73796
73797         Tests: fast/dom/Range/range-extract-contents-event-fire-crash.html
73798                fast/dom/Range/range-extract-contents-event-fire-crash2.html
73799
73800         * dom/Range.cpp:
73801         (WebCore::childOfCommonRootBeforeOffset):
73802         (WebCore::Range::processContents):
73803         (WebCore::Range::processContentsBetweenOffsets):
73804         (WebCore::Range::processAncestorsAndTheirSiblings):
73805
73806 2011-06-30  Dan Bernstein  <mitz@apple.com>
73807
73808         Reviewed by Adele Peterson.
73809
73810         Add +[WebView _allowsRoundingHacks]
73811         https://bugs.webkit.org/show_bug.cgi?id=63734
73812
73813         * WebCore.exp.in: Export TextRun::allowsRoundingHacks().
73814         * platform/graphics/TextRun.cpp:
73815         (WebCore::TextRun::allowsRoundingHacks): Added this accessor.
73816         * platform/graphics/TextRun.h:
73817
73818 2011-06-30  Patrick Gansterer  <paroga@webkit.org>
73819
73820         Reviewed by Adam Roben.
73821
73822         [WIN] Don't redefine the keyboard codes
73823         https://bugs.webkit.org/show_bug.cgi?id=63726
73824
73825         Only define the codes when undefined.
73826         r64957 fixed this problem for COMPILER(MINGW) but not for OS(WINCE).
73827
73828         * platform/WindowsKeyboardCodes.h:
73829
73830 2011-06-30  Yury Semikhatsky  <yurys@chromium.org>
73831
73832         Reviewed by Pavel Feldman.
73833
73834         Web Inspector: hide "Enabled background events collection" option in context menu until the setting is persisted
73835         https://bugs.webkit.org/show_bug.cgi?id=63708
73836
73837         The option has no much sense if it is not preserved between browser restarts.
73838
73839         * inspector/front-end/NetworkPanel.js:
73840         (WebInspector.NetworkPanel.prototype._contextMenu):
73841
73842 2011-06-30  Patrick Gansterer  <paroga@webkit.org>
73843
73844         Reviewed by Darin Adler.
73845
73846         Remove dependnecy on IDL generation for disabled features in JSC bindings
73847         https://bugs.webkit.org/show_bug.cgi?id=63718
73848
73849         Move the #if ENABLE() line directly after #include "config.h".
73850         This enables us to compile all files even when we don't generate the IDL output.
73851
73852         * bindings/js/IDBBindingUtilities.cpp:
73853         * bindings/js/JSConsoleCustom.cpp:
73854         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
73855         * bindings/js/JSCustomXPathNSResolver.cpp:
73856         * bindings/js/JSDOMApplicationCacheCustom.cpp:
73857         * bindings/js/JSDeviceMotionEventCustom.cpp:
73858         * bindings/js/JSDeviceOrientationEventCustom.cpp:
73859         * bindings/js/JSInjectedScriptHostCustom.cpp:
73860         * bindings/js/JSInjectedScriptManager.cpp:
73861         * bindings/js/JSInspectorFrontendHostCustom.cpp:
73862         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
73863         * bindings/js/JSSQLResultSetRowListCustom.cpp:
73864         * bindings/js/JSSQLTransactionCustom.cpp:
73865         * bindings/js/JSSQLTransactionSyncCustom.cpp:
73866         * bindings/js/JSSVGElementInstanceCustom.cpp:
73867         * bindings/js/JSStorageCustom.cpp:
73868         * bindings/js/JSTouchCustom.cpp:
73869         * bindings/js/JSTouchListCustom.cpp:
73870         * bindings/js/JSXPathResultCustom.cpp:
73871         * bindings/js/JavaScriptCallFrame.cpp:
73872         * bindings/js/PageScriptDebugServer.cpp:
73873         * bindings/js/ScriptDebugServer.cpp:
73874         * bindings/js/ScriptGCEvent.cpp:
73875         * bindings/js/ScriptProfile.cpp:
73876         * bindings/js/WorkerScriptDebugServer.cpp:
73877
73878 2011-06-30  Alexander Pavlov  <apavlov@chromium.org>
73879
73880         Reviewed by Kent Tamura.
73881
73882         [Chromium] Autofill suggestions appear in upper left corner after input change
73883         https://bugs.webkit.org/show_bug.cgi?id=63702
73884
73885         This change fixes a few popup layout issues, some of which have existed for quite a while:
73886         - the absence of the ChromeClientImpl::screenToWindow() implementation (the method used to always return (0, 0));
73887         - the confusion of window and screen coordinates passed into the autofill popup client's setWindowRect() method;
73888         - the use of the current frameRect() width as the target element's width (which was wrong when refreshing
73889           a popup resized during the initial layout (e.g. made wider than the target element)).
73890
73891         No new tests, as this is a change to platform-specific widget code. The test case is provided in the bug description.
73892
73893         * platform/chromium/PopupMenuChromium.cpp:
73894         (WebCore::PopupContainer::layoutAndGetRTLOffset): Use original target element width, not frameRect().width(),
73895         since the latter gets updated if the popup is not the same width as the target element.
73896         (WebCore::PopupContainer::refresh): Restore only the popup bounds rather than its original rectangle,
73897         since it sometimes breaks the invalidation region and layout.
73898
73899 2011-06-30  Sheriff Bot  <webkit.review.bot@gmail.com>
73900
73901         Unreviewed, rolling out r90102.
73902         http://trac.webkit.org/changeset/90102
73903         https://bugs.webkit.org/show_bug.cgi?id=63714
73904
73905         Lots of tests asserting beneath
73906         SVGSMILElement::findInstanceTime (Requested by aroben on
73907         #webkit).
73908
73909         * svg/animation/SVGSMILElement.cpp:
73910         (WebCore::SVGSMILElement::findInstanceTime):
73911
73912 2011-06-30  Andrey Kosyakov  <caseq@chromium.org>
73913
73914         Reviewed by Yury Semikhatsky.
73915
73916         Web Inspector: remove ExtensionAPISchema.json
73917         https://bugs.webkit.org/show_bug.cgi?id=63687
73918
73919         * inspector/front-end/ExtensionAPISchema.json: Removed.
73920
73921 2011-06-30  Ilya Tikhonovsky  <loislo@chromium.org>
73922
73923         Unreviewed build fix for chromium.
73924
73925         * inspector/CodeGeneratorInspector.pm:
73926
73927 2011-06-30  Ilya Tikhonovsky  <loislo@chromium.org>
73928
73929         Unreviewed build fix for mac.
73930
73931         * inspector/CodeGeneratorInspector.pm:
73932
73933 2011-06-30  Ilya Tikhonovsky  <loislo@chromium.org>
73934
73935         Reviewed by Pavel Feldman.
73936
73937         Web Inspector: Protocol: error object needs some improvement.
73938         https://bugs.webkit.org/show_bug.cgi?id=63707
73939
73940         Current implementation is not useful in the code.
73941         We need to have toString implementation with nice formatting
73942         I'd like to use error.message property as the main place for the error's text.
73943
73944         * inspector/CodeGeneratorInspector.pm:
73945
73946 2011-06-30  Mikhail Naganov  <mnaganov@chromium.org>
73947
73948         Reviewed by Yury Semikhatsky.
73949
73950         Web Inspector: [Chromium] Support annotations for arrays in heap profiler.
73951         https://bugs.webkit.org/show_bug.cgi?id=63690
73952
73953         * inspector/front-end/DetailedHeapshotGridNodes.js:
73954         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
73955
73956
73957 2011-06-30  Patrick Gansterer  <paroga@webkit.org>
73958
73959         Unreviewed build fix for !ENABLE(SVG_ANIMATION) after r88663, r89187, r89220, r89431 and r89661.
73960
73961         * svg/SVGAnimatedAngle.h:
73962         * svg/SVGAnimatedLength.h:
73963         * svg/SVGAnimatedNumber.h:
73964         * svg/SVGAnimatedRect.h:
73965         * svg/SVGAnimatedString.h:
73966
73967 2011-06-30  Gabor Loki  <loki@webkit.org>
73968
73969         Reviewed by Csaba Osztrogonác.
73970
73971         Fixed several style and typo issues after r90091.
73972         https://bugs.webkit.org/show_bug.cgi?id=63692
73973
73974         Rename yStart to extremaStartY during computing extremas
73975
73976         * platform/graphics/filters/FEMorphology.cpp:
73977         (WebCore::FEMorphology::platformApplyGeneric):
73978         * platform/graphics/filters/FEMorphology.h:
73979
73980 2011-06-30  Oliver Varga  <Varga.Oliver@stud.u-szeged.hu>
73981
73982         Reviewed by Nikolas Zimmermann.
73983
73984         Speed up SVGSMILElement::findInstanceTime.
73985         https://bugs.webkit.org/show_bug.cgi?id=61025
73986
73987         Replace the linear search to binary search on ordered list because
73988         the previous searches from the beginning was not efficient.
73989
73990         No new tests this is only a performance tweak.
73991
73992         * svg/animation/SVGSMILElement.cpp:
73993         (WebCore::extractTimeFromVector):
73994         (WebCore::SVGSMILElement::findInstanceTime):
73995
73996 2011-06-30  Kentaro Hara  <haraken@google.com>
73997
73998         Reviewed by Kent Tamura.
73999
74000         Change the label of an HTML5 file chooser button to "Choose Files"
74001         https://bugs.webkit.org/show_bug.cgi?id=49245
74002
74003         We should notify capability of multiple files to users.
74004
74005         Test: fast/forms/input-file-label.html
74006
74007         * English.lproj/Localizable.strings:
74008         * html/FileInputType.cpp:
74009         (WebCore::UploadButtonElement::createForMultiple): Constructs a multiple file chooser button.
74010         (WebCore::FileInputType::createShadowSubtree): Constructs a single/multiple file chooser button depending on 'multiple' attribute.
74011         (WebCore::FileInputType::multipleAttributeChanged): Updates the label of the file chooser button.
74012         * html/FileInputType.h:
74013         * html/HTMLInputElement.cpp:
74014         (WebCore::HTMLInputElement::parseMappedAttribute): Updates the shadow tree of the file chooser button when 'multiple' attribute is set or unset.
74015         * html/InputType.cpp:
74016         (WebCore::InputType::multipleAttributeChanged): Virtual method to be overridden by FileInputType.
74017         * html/InputType.h:
74018         * platform/DefaultLocalizationStrategy.cpp:
74019         (WebCore::DefaultLocalizationStrategy::fileButtonChooseFileLabel): Updated the description for "Choose File".
74020         (WebCore::DefaultLocalizationStrategy::fileButtonChooseMultipleFilesLabel): Returns a string "Choose Files".
74021         * platform/DefaultLocalizationStrategy.h:
74022         * platform/LocalizationStrategy.h:
74023         * platform/LocalizedStrings.cpp:
74024         (WebCore::fileButtonChooseMultipleFilesLabel): Wrapper method for getting the "Choose Files" label.
74025         * platform/LocalizedStrings.h:
74026         * platform/brew/LocalizedStringsBrew.cpp:
74027         (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.
74028         * platform/efl/LocalizedStringsEfl.cpp:
74029         (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.
74030         * platform/gtk/LocalizedStringsGtk.cpp:
74031         (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.
74032         * platform/haiku/LocalizedStringsHaiku.cpp:
74033         (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.
74034         * platform/wx/LocalizedStringsWx.cpp:
74035         (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.
74036
74037 2011-06-30  Ryosuke Niwa  <rniwa@webkit.org>
74038
74039         Reviewed by Kent Tamura.
74040
74041         Replace isNodeInTextFormControl(Node*) by enclosingTextFormControl(const Position&)
74042         https://bugs.webkit.org/show_bug.cgi?id=63672
74043
74044         Replaced isNodeInTextFormControl(Node*) by enclosingTextFormControl(const Position&).
74045         Also added a safe toTextFormControl to HTMLFormControlElement.h.
74046
74047         * editing/DeleteSelectionCommand.cpp:
74048         (WebCore::DeleteSelectionCommand::doApply): Calls enclosingTextFormControl instead of manually
74049         checking the tag name of shadowAncestorNode.
74050         * editing/Editor.cpp:
74051         (WebCore::Editor::selectionForCommand): Rewritten using enclosingTextFormControl and toTextFormControl.
74052         (WebCore::Editor::cut): Calls enclosingTextFormControl instead of isNodeInTextFormControl.
74053         (WebCore::Editor::copy): Ditto.
74054         (WebCore::Editor::setBaseWritingDirection): Calls toTextFormControl instead of manually checking tag name.
74055         * editing/FrameSelection.cpp:
74056         (WebCore::FrameSelection::isInPasswordField): Calls enclosingTextFormControl.
74057         * editing/ReplaceSelectionCommand.cpp:
74058         (WebCore::ReplaceSelectionCommand::doApply): Ditto.
74059         * editing/htmlediting.cpp:
74060         (WebCore::enclosingTextFormControl): Added.
74061         * editing/htmlediting.h:
74062         * html/HTMLFormControlElement.h:
74063         (WebCore::toTextFormControl): Added.
74064         * page/DragController.cpp:
74065         (WebCore::DragController::startDrag): Calls enclosingTextFormControl instead of isNodeInTextFormControl.
74066
74067 2011-06-27  Pavel Podivilov  <podivilov@chromium.org>
74068
74069         Reviewed by Pavel Feldman.
74070
74071         Web Inspector: source code is not highlighted after drawer height animations.
74072         https://bugs.webkit.org/show_bug.cgi?id=62860
74073
74074         * inspector/front-end/Drawer.js:
74075         (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
74076         (WebInspector.Drawer.prototype._animateDrawerHeight):
74077
74078 2011-06-30  MORITA Hajime  <morrita@google.com>
74079
74080         Reviewed by Dimitri Glazkov.
74081
74082         Crash if ShadowRoot has a text node.
74083         https://bugs.webkit.org/show_bug.cgi?id=63607
74084         
74085         Node::styleForRenderer() for Text node wasn't shadow-aware.
74086         This change allow styleForRenderer() to know its visual parent by
74087         passing NodeRenderingContext.
74088         
74089         Changes other than NodeRenderingContext and Element is just a
74090         follow up for change above.
74091
74092         * dom/Element.cpp: use NodeRenderingContext to resolve parent node.
74093         (WebCore::Element::recalcStyle):
74094         * dom/Node.cpp:
74095         (WebCore::Node::styleForRenderer): Added NodeRenderingContext as a parameter.
74096         * dom/Node.h:
74097         * dom/NodeRenderingContext.cpp:
74098         (WebCore::NodeRendererFactory::createRendererAndStyle):
74099         * html/HTMLOptGroupElement.cpp:
74100         (WebCore::HTMLOptGroupElement::attach):
74101         * html/HTMLOptionElement.cpp:
74102         (WebCore::HTMLOptionElement::attach):
74103         * html/HTMLTitleElement.cpp:
74104         (WebCore::HTMLTitleElement::textWithDirection):
74105         * html/shadow/TextControlInnerElements.cpp:
74106         (WebCore::TextControlInnerElement::styleForRenderer):
74107         (WebCore::TextControlInnerTextElement::styleForRenderer):
74108         * html/shadow/TextControlInnerElements.h:
74109
74110         Test: fast/dom/shadow/shadow-root-text-child.html
74111         
74112 2011-06-30  Piroska András  <Piroska.Andras@stud.u-szeged.hu>
74113
74114         Reviewed by Dirk Schulze.
74115
74116         Apply the ParallelJobs support to FEMorphology
74117         https://bugs.webkit.org/show_bug.cgi?id=63064
74118
74119         The FEMorphology filter of SVG can consume lots of resources if it is
74120         applied to a large area. The computation can be distributed to multiple
74121         cores if the architecture supports.
74122         The average performance progression is 20-25% on dual-core machines.
74123
74124         * platform/graphics/filters/FEMorphology.cpp:
74125         (WebCore::FEMorphology::platformApplyGeneric): Apply the filter between yStart and yEnd interval
74126         (WebCore::FEMorphology::platformApplyWorker): Call the generic apply from a parallel worker
74127         (WebCore::FEMorphology::platformApply):
74128         (WebCore::FEMorphology::apply): Move the functionality into platformApply
74129         (WebCore::FEMorphology::externalRepresentation): Remove whitespaces
74130         * platform/graphics/filters/FEMorphology.h:
74131
74132 2011-06-29  Kent Tamura  <tkent@chromium.org>
74133
74134         Reviewed by Dimitri Glazkov.
74135
74136         Avoid custom layout code of RenderTextControlSingleLine
74137         https://bugs.webkit.org/show_bug.cgi?id=61415
74138
74139         If a text field has a search results button, a search cancel
74140         button, a speech button, or a spin button, the editable inner text
74141         element and the buttons are wrapped by a flexible box container,
74142         and the editable inner text element has flexibility. As the result
74143         of applying the flexible box, we don't need any horizontal layout
74144         code in RenderTextControlSingleLine except the inner spin button.
74145
74146         Also, we remove custom hit-testing code in nodeAtPoint(). If a
74147         user clicks on a position left of the inner editable text but not
74148         on the search results button, the search results button doesn't
74149         work though it worked.
74150
74151         * css/html.css:
74152         (input::-webkit-textfield-decoration-container):
74153           New style definition for the "container" element.
74154         (input[type="search"]::-webkit-search-cancel-button):
74155           It should be a block element because it's a child of the flexible box.
74156           Also, this doesn't have flexibility.
74157         (input[type="search"]::-webkit-search-decoration): ditto.
74158         (input[type="search"]::-webkit-search-results-decoration): ditto.
74159         (input[type="search"]::-webkit-search-results-button): ditto.
74160         (input::-webkit-inner-spin-button): ditto.
74161         (input::-webkit-input-speech-button): ditto.
74162         * html/HTMLInputElement.cpp:
74163         (WebCore::HTMLInputElement::containerElement):
74164           Add an accessor of the flexible box container.
74165           It just calls InputType::containerElement().
74166         * html/HTMLInputElement.h: Declare it.
74167         * html/InputType.h:
74168         (WebCore::InputType::containerElement): New accessor for a shadow element.
74169         * html/SearchInputType.cpp:
74170         (WebCore::SearchInputType::SearchInputType):
74171           m_innerBlock is moved to TextFieldInputType.
74172         (WebCore::SearchInputType::needsContainer):
74173           A search field always needs the flexible box container because
74174           of the results button and the cancel button.
74175         (WebCore::SearchInputType::createShadowSubtree):
74176           Use TextFieldInputType::createShadowSubtree(), then modify the tree.
74177         (WebCore::SearchInputType::destroyShadowSubtree):
74178           m_innerBlock is moved to TextFieldInputType.
74179         * html/SearchInputType.h:
74180         * html/TextFieldInputType.cpp:
74181         (WebCore::TextFieldInputType::TextFieldInputType):
74182           Initialize the new members.
74183         (WebCore::TextFieldInputType::needsContainer):
74184           Returns true if x-webkit-speech. We check a spin button separately.
74185         (WebCore::TextFieldInputType::createShadowSubtree):
74186           Wrap everything with the flexible box container if needsContainer() or we need a spin button.
74187         (WebCore::TextFieldInputType::containerElement): Added an accessor.
74188         (WebCore::TextFieldInputType::innerBlockElement): ditto.
74189         (WebCore::TextFieldInputType::innerTextElement): ditto.
74190         (WebCore::TextFieldInputType::innerSpinButtonElement): ditto.
74191         (WebCore::TextFieldInputType::speechButtonElement): ditto.
74192         (WebCore::TextFieldInputType::destroyShadowSubtree):
74193           Clear references to new shadow nodes.
74194         * html/TextFieldInputType.h:
74195         * rendering/RenderTextControlSingleLine.cpp:
74196         (WebCore::RenderTextControlSingleLine::containerElement): Added an accessor.
74197         (WebCore::RenderTextControlSingleLine::innerTextElement):
74198         (WebCore::RenderTextControlSingleLine::layout):
74199          - Correct heights check
74200           Comparing with height(), not contentHeigth(), was incorrect.
74201          - Adjust the container height like the editable inner text.
74202          - Remove width adjustment
74203          - Remove the speech button layout code
74204           The flexible box layout is enough.
74205         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
74206           Remove custom code for results/cancel/speech buttons, and
74207           Simplify comments.
74208         (WebCore::RenderTextControlSingleLine::forwardEvent):
74209           Remove custom forwarding code for results/cancel buttons.
74210         (WebCore::RenderTextControlSingleLine::styleDidChange):
74211           Clear the style of the container because we update it in layout().
74212         (WebCore::RenderTextControlSingleLine::hasControlClip):
74213           Decoration buttons should be clipped by the container.
74214         (WebCore::RenderTextControlSingleLine::controlClipRect): ditto.
74215         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
74216           We don't need to use display:inline-block any more.
74217         (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
74218           The text wrapper element should have flexibility.
74219         (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
74220           Updated for the tree structure change.
74221         * rendering/RenderTextControlSingleLine.h:
74222
74223 2011-06-29  Kent Tamura  <tkent@chromium.org>
74224
74225         [Mac] Attempt to fix Leopard build.
74226
74227         * platform/mac/CursorMac.mm:
74228         (WebCore::Cursor::ensurePlatformCursor):
74229
74230 2011-06-29  Darin Adler  <darin@apple.com>
74231
74232         Reviewed by Dan Bernstein.
74233
74234         [Mac] Use system cursors instead of custom bitmaps where possible
74235         https://bugs.webkit.org/show_bug.cgi?id=63679
74236
74237         * Resources/crossHairCursor.png: Removed.
74238         * Resources/notAllowedCursor.png: Removed.
74239         * WebCore.exp.in: Added wkCursor.
74240         * WebCore/WebCore.gyp/WebCore.gyp: Removed the two now-unused PNG files.
74241         * WebCore.xcodeproj/project.pbxproj: Ditto.
74242
74243         * platform/mac/CursorMac.mm:
74244         (WebCore::Cursor::ensurePlatformCursor): Use NSCursor API for Cross, Hand,
74245         VerticalText, ContextMenu, Copy, and NotAllowed. Use wkCursor for Move,
74246         Alias, Progress, and the resize and panning cursors.
74247
74248         * platform/mac/WebCoreSystemInterface.h: Added wkCursor.
74249         * platform/mac/WebCoreSystemInterface.mm: Ditto.
74250
74251 2011-06-29  Keishi Hattori  <keishi@webkit.org>
74252
74253         Reviewed by Adam Barth.
74254
74255         Remove extra space at EOL in view source mode
74256         https://bugs.webkit.org/show_bug.cgi?id=63620
74257
74258         Test: fast/frames/viewsource-linebreak.html
74259
74260         * css/view-source.css:
74261         (tbody:last-child .webkit-line-content:empty:before): If we don't do this
74262         the last line will be empty and the height will be shorter than the rest.
74263         * html/HTMLViewSourceDocument.cpp:
74264         (WebCore::HTMLViewSourceDocument::addSource): If source file is empty, add an empty line.
74265         (WebCore::HTMLViewSourceDocument::finishLine): Call when you are done with the current line.
74266         Adds a BR element if the line is empty and sets current to tbody.
74267         (WebCore::HTMLViewSourceDocument::addText):
74268         * html/HTMLViewSourceDocument.h:
74269
74270 2011-06-29  Brent Fulgham  <bfulgham@webkit.org>
74271
74272         [WinCE] Correct logical state of WINCE test.
74273
74274         * platform/win/ScrollbarThemeWin.cpp: The #if OS(WINCE)
74275           should have been #if !OS(WINCE)
74276         (WebCore::ScrollbarThemeWin::paintTrackPiece):
74277         (WebCore::ScrollbarThemeWin::paintButton):
74278         (WebCore::ScrollbarThemeWin::paintThumb):
74279         * rendering/RenderThemeWin.cpp: ditto.
74280         (WebCore::drawControl):
74281
74282 2011-06-29  Justin Garcia  <justin.garcia@apple.com>
74283
74284         Reviewed by Enrica Casucci.
74285         
74286         I forgot to include these (reviewed) style fix-ups in my previous check-in.
74287
74288         * editing/htmlediting.cpp:
74289         (WebCore::indexForVisiblePosition):
74290         (WebCore::visiblePositionForIndex):
74291
74292 2011-06-29  Justin Garcia  <justin.garcia@apple.com>
74293
74294         Reviewed by Enrica Casucci.
74295
74296         https://bugs.webkit.org/show_bug.cgi?id=62922
74297         indexForVisiblePosition(const VisiblePosition& visiblePosition) does not consider shadow content
74298         
74299         VisiblePositions can be inside web form text regions, which use shadow trees. Made indexForVisiblePosition
74300         aware of this, and added a new parameter to obtain the scope for a VisiblePosition, in addition to its index.
74301         
74302         Added visiblePositionForIndex to go in the opposite direction, taking into account the scope
74303         used to compute the index.
74304         
74305         These two functions use TextIterators to convert between VisiblePositions and indices. But 
74306         TextIterator iteration using TextIteratorEmitsCharactersBetweenAllVisiblePositions does not 
74307         exactly match VisiblePosition iteration, so using them to preserve a selection during an 
74308         editing operation is unreliable. This can be seen in the expected results for:
74309         
74310         editing/execCommand/indent-pre-list.html
74311         editing/execCommand/crash-indenting-list-item.html
74312         
74313         TextIterator's TextIteratorEmitsCharactersBetweenAllVisiblePositions mode needs to be fixed, or 
74314         these functions need to be changed to iterate using actual VisiblePositions. See:
74315         
74316         https://bugs.webkit.org/show_bug.cgi?id=63590
74317         TextIterators in TextIteratorEmitsCharactersBetweenAllVisiblePositions do not exactly match VisiblePositions
74318         
74319         Also:
74320         
74321         https://bugs.webkit.org/show_bug.cgi?id=63592
74322         Use visiblePositionForIndex and indexForVisiblePosition everywhere that TextIterators are used to convert between VisiblePositions and indices
74323         
74324         No new tests added because indexForVisiblePosition is currently only used for editing operations
74325         that cannot be performed inside web form fields.
74326
74327         * editing/ApplyBlockElementCommand.cpp:
74328         (WebCore::ApplyBlockElementCommand::doApply):
74329         * editing/InsertListCommand.cpp:
74330         (WebCore::InsertListCommand::doApply):
74331         * editing/htmlediting.cpp:
74332         (WebCore::indexForVisiblePosition):
74333         (WebCore::visiblePositionForIndex):
74334         * editing/htmlediting.h:
74335
74336 2011-06-29  Dimitri Glazkov  <dglazkov@chromium.org>
74337
74338         Reviewed by Kent Tamura.
74339
74340         Remove ElementWithPseudoId, since now an Element can store it all by itself.
74341         https://bugs.webkit.org/show_bug.cgi?id=63657
74342
74343         Refactoring, covered by existing tests.
74344
74345         * CMakeLists.txt: Removed ElementWithPseudoId from build.
74346         * GNUmakefile.list.am: Ditto.
74347         * WebCore.gypi: Ditto.
74348         * WebCore.order: Ditto.
74349         * WebCore.pro: Ditto.
74350         * WebCore.vcproj/WebCore.vcproj: Ditto.
74351         * WebCore.xcodeproj/project.pbxproj: Ditto.
74352         * html/ColorInputType.cpp:
74353         (WebCore::ColorInputType::createShadowSubtree): Changed to use plain-old HTMLDivElement.
74354         * html/RangeInputType.cpp:
74355         (WebCore::RangeInputType::createShadowSubtree): Ditto.
74356         * html/ValidationMessage.cpp:
74357         (WebCore::ValidationMessage::buildBubbleTree): Ditto.
74358         * html/shadow/ElementWithPseudoId.cpp: Removed.
74359         * html/shadow/ElementWithPseudoId.h: Removed.
74360
74361 2011-06-29  Levi Weintraub  <leviw@chromium.org>
74362
74363         Reviewed by Eric Seidel.
74364
74365         Switch computeWidth and computeHeight functions to new layout types
74366         https://bugs.webkit.org/show_bug.cgi?id=63655
74367
74368         Switch computeWidth and computeHeight functions over to the new layout unit abstraction.
74369
74370         Making a point to mark rounding that should eventually be removed by linking to a new
74371         tracking bug: 63645.
74372
74373         No new tests, no functionality changes.
74374
74375         * rendering/AutoTableLayout.cpp:
74376         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
74377         * rendering/AutoTableLayout.h:
74378         * rendering/FixedTableLayout.cpp:
74379         (WebCore::FixedTableLayout::computePreferredLogicalWidths):
74380         * rendering/FixedTableLayout.h:
74381         * rendering/LayoutTypes.h:
74382         * rendering/RenderBlock.cpp:
74383         (WebCore::RenderBlock::computePreferredLogicalWidths):
74384         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
74385         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
74386         * rendering/RenderBox.cpp:
74387         (WebCore::RenderBox::computeLogicalWidthUsing):
74388         (WebCore::RenderBox::computeLogicalHeight):
74389         (WebCore::RenderBox::computeLogicalHeightUsing):
74390         (WebCore::RenderBox::computePercentageLogicalHeight):
74391         (WebCore::RenderBox::computeReplacedLogicalWidth):
74392         (WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
74393         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
74394         (WebCore::RenderBox::computeReplacedLogicalHeight):
74395         (WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight):
74396         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
74397         * rendering/RenderBox.h:
74398         * rendering/RenderIFrame.cpp:
74399         (WebCore::RenderIFrame::computeLogicalWidth):
74400         * rendering/RenderImage.cpp:
74401         (WebCore::RenderImage::computeReplacedLogicalWidth):
74402         (WebCore::RenderImage::computeReplacedLogicalHeight):
74403         * rendering/RenderImage.h:
74404         * rendering/RenderListBox.cpp:
74405         (WebCore::RenderListBox::computePreferredLogicalWidths):
74406         * rendering/RenderListMarker.cpp:
74407         (WebCore::RenderListMarker::computePreferredLogicalWidths):
74408         * rendering/RenderMenuList.cpp:
74409         (WebCore::RenderMenuList::computePreferredLogicalWidths):
74410         * rendering/RenderReplaced.cpp:
74411         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
74412         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
74413         (WebCore::RenderReplaced::computePreferredLogicalWidths):
74414         * rendering/RenderReplaced.h:
74415         * rendering/RenderSlider.cpp:
74416         (WebCore::RenderSlider::computePreferredLogicalWidths):
74417         * rendering/RenderTable.cpp:
74418         (WebCore::RenderTable::computeLogicalWidth):
74419         * rendering/RenderTextControl.cpp:
74420         (WebCore::RenderTextControl::computePreferredLogicalWidths):
74421         * rendering/RenderVideo.cpp:
74422         (WebCore::RenderVideo::computeReplacedLogicalWidth):
74423         (WebCore::RenderVideo::computeReplacedLogicalHeight):
74424         * rendering/RenderVideo.h:
74425         * rendering/svg/RenderSVGForeignObject.cpp:
74426         (WebCore::RenderSVGForeignObject::computeLogicalWidth):
74427         (WebCore::RenderSVGForeignObject::computeLogicalHeight):
74428         * rendering/svg/RenderSVGRoot.cpp:
74429         (WebCore::RenderSVGRoot::computePreferredLogicalWidths):
74430         (WebCore::RenderSVGRoot::computeIntrinsicWidth):
74431         (WebCore::RenderSVGRoot::computeIntrinsicHeight):
74432         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
74433         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
74434         (WebCore::RenderSVGRoot::layout):
74435         * rendering/svg/RenderSVGRoot.h:
74436
74437 2011-06-23  Abhishek Arya  <inferno@chromium.org>
74438
74439         Reviewed by James Robinson.
74440
74441         In RenderBlock, RenderWidget and RenderReplaced destroy functions,
74442         call dirtyLinesFromChangedChild to tell our parent that we are going away.
74443         https://bugs.webkit.org/show_bug.cgi?id=60307
74444
74445         Test: fast/block/child-not-removed-from-parent-lineboxes-crash.html
74446               fast/block/block-not-removed-from-parent-lineboxes-crash.html
74447
74448         * rendering/RenderBlock.cpp:
74449         (WebCore::RenderBlock::destroy):
74450         * rendering/RenderReplaced.cpp:
74451         (WebCore::RenderReplaced::destroy):
74452         * rendering/RenderReplaced.h:
74453         * rendering/RenderWidget.cpp:
74454         (WebCore::RenderWidget::destroy):
74455
74456 2011-06-29  Brent Fulgham  <bfulgham@webkit.org>
74457
74458         Speculative WinCE build correction.
74459
74460         * rendering/RenderThemeWin.cpp:
74461         (WebCore::drawControl): Don't call setRGBABitmapAlpha
74462           for WinCE case.
74463
74464 2011-06-29  Ryosuke Niwa  <rniwa@webkit.org>
74465
74466         Reviewed by Darin Adler.
74467
74468         REGRESSION(r89952): r89952 added a wrong assertion in visible_units.cpp
74469         https://bugs.webkit.org/show_bug.cgi?id=63668
74470
74471         We need to assert the offset to be zero only when the position is NOT offset in node.
74472
74473         * editing/visible_units.cpp:
74474         (WebCore::startOfParagraph):
74475
74476 2011-06-29  Brent Fulgham  <bfulgham@webkit.org>
74477
74478         Speculative WinCE build correction after r90057.
74479
74480         * CMakeListsWinCE.txt: Roll back r90061, since GetWorldTransform
74481           is not available in WinCE.
74482         * platform/win/ScrollbarThemeWin.cpp: Conditionally exclude calls
74483           to DIBPixelData::setRGBABitmapAlpha for WinCE.
74484         (WebCore::ScrollbarThemeWin::paintTrackPiece):
74485         (WebCore::ScrollbarThemeWin::paintButton):
74486         (WebCore::ScrollbarThemeWin::paintThumb):
74487
74488 2011-06-29  Brent Fulgham  <bfulgham@webkit.org>
74489
74490         Speculative WinCE build correction after r90057.
74491
74492         * CMakeListsWinCE.txt: Add missing DIBPixelData.cpp to
74493         WinCE build to support setting bitmap image alpha value.
74494
74495 2011-06-29  Simon Fraser  <simon.fraser@apple.com>
74496
74497         Reviewed by Beth Dakin.
74498
74499         Lay some groundwork for rubber-banding in overflow:scroll divs
74500         https://bugs.webkit.org/show_bug.cgi?id=63654
74501
74502         Make it possible for scrollTop and scrollLeft on a RenderLayer to be
74503         set to negative values, which we will do during rubber-banding in
74504         future. Continue to clamp programmatic scrolls, and scroll positions
74505         set by layout between 0 and the max value.
74506
74507         Test: fast/layers/negative-scroll-positions.html
74508
74509         * rendering/RenderBox.cpp:
74510         (WebCore::RenderBox::setScrollLeft):
74511         (WebCore::RenderBox::setScrollTop):
74512         * rendering/RenderLayer.cpp:
74513         (WebCore::RenderLayer::scrollToOffset):
74514         (WebCore::RenderLayer::scrollTo):
74515         * rendering/RenderLayer.h:
74516         (WebCore::RenderLayer::scrollToXOffset):
74517         (WebCore::RenderLayer::scrollToYOffset):
74518         * rendering/RenderTextControlSingleLine.cpp:
74519         (WebCore::RenderTextControlSingleLine::forwardEvent):
74520
74521 2011-06-29  Anders Carlsson  <andersca@apple.com>
74522
74523         Reviewed by Simon Fraser.
74524
74525         RenderLayer::maximumScrollPosition() is wrong
74526         https://bugs.webkit.org/show_bug.cgi?id=62667
74527
74528         * platform/ScrollableArea.h:
74529         (WebCore::ScrollableArea::isVerticalScrollerPinnedToMinimumPosition):
74530         (WebCore::ScrollableArea::isVerticalScrollerPinnedToMaximumPosition):
74531         Add these for good measure; they will be needed in an upcoming patch.
74532
74533         * rendering/RenderLayer.cpp:
74534         (WebCore::RenderLayer::maximumScrollPosition):
74535         Subtract the visible content rect, including the scroll bars.
74536
74537 2011-06-29  Brent Fulgham  <bfulgham@webkit.org>
74538
74539         Speculative WinCE build correction after r90053.
74540
74541         * platform/graphics/GraphicsContext.h:
74542         (WebCore::GraphicsContext::inTransparencyLayer): Provide
74543         stub implementation for 'inTransparencyLayer'.
74544
74545 2011-06-29  Xu Fan  <qifuren1985@gmail.com>
74546
74547         Reviewed by Brent Fulgham.
74548
74549         Fix Scrollbars Transparent in Windows XP if WebKit is using Layered Window
74550         https://bugs.webkit.org/show_bug.cgi?id=61136
74551
74552         * platform/graphics/win/DIBPixelData.h: add a static method setRGBABitmapAlpha
74553         * platform/graphics/win/DIBPixelData.cpp: add implementation
74554         * platform/win/ScrollbarThemeWin.cpp: fix scroolbar transparent
74555         * rendering/RenderThemeWin.cpp: fix textbox and button transparent
74556
74557 2011-06-29  Emil A Eklund  <eae@chromium.org>
74558
74559         Reviewed by Eric Seidel.
74560
74561         Switch RenderBoxModelObject::margin* and setMargin* to to new layout types
74562         https://bugs.webkit.org/show_bug.cgi?id=63652
74563
74564         Switch margin methods for render tree over to the new layout unit abstraction.
74565
74566         No new tests, no functionality changes.
74567
74568         * rendering/InlineFlowBox.h:
74569         * rendering/RenderBlock.cpp:
74570         * rendering/RenderBlock.h:
74571         * rendering/RenderBox.cpp:
74572         * rendering/RenderBox.h:
74573         * rendering/RenderBoxModelObject.h:
74574         * rendering/RenderInline.cpp:
74575         * rendering/RenderInline.h:
74576         * rendering/RenderText.h:
74577
74578 2011-06-29  Levi Weintraub  <leviw@chromium.org>
74579
74580         Reviewed by Eric Seidel.
74581
74582         Switch paint to new layout types
74583         https://bugs.webkit.org/show_bug.cgi?id=63645
74584
74585         Switch vanilla paint function over to the new layout unit abstraction.
74586
74587         No new tests, no functionality changes.
74588
74589         * rendering/RenderBlock.cpp:
74590         (WebCore::RenderBlock::paint):
74591         * rendering/RenderBlock.h:
74592         * rendering/RenderBox.cpp:
74593         (WebCore::RenderBox::paint):
74594         * rendering/RenderBox.h:
74595         * rendering/RenderDetailsMarker.cpp:
74596         (WebCore::RenderDetailsMarker::paint):
74597         * rendering/RenderDetailsMarker.h:
74598         * rendering/RenderEmbeddedObject.cpp:
74599         (WebCore::RenderEmbeddedObject::paint):
74600         * rendering/RenderEmbeddedObject.h:
74601         * rendering/RenderFrameSet.cpp:
74602         (WebCore::RenderFrameSet::paint):
74603         * rendering/RenderFrameSet.h:
74604         * rendering/RenderImage.cpp:
74605         (WebCore::RenderImage::paint):
74606         * rendering/RenderImage.h:
74607         * rendering/RenderInline.cpp:
74608         (WebCore::RenderInline::paint):
74609         * rendering/RenderInline.h:
74610         * rendering/RenderLineBoxList.h:
74611         * rendering/RenderListItem.cpp:
74612         (WebCore::RenderListItem::paint):
74613         * rendering/RenderListItem.h:
74614         * rendering/RenderListMarker.cpp:
74615         (WebCore::RenderListMarker::paint):
74616         * rendering/RenderListMarker.h:
74617         * rendering/RenderObject.h:
74618         * rendering/RenderReplaced.cpp:
74619         (WebCore::RenderReplaced::paint):
74620         * rendering/RenderReplaced.h:
74621         * rendering/RenderReplica.cpp:
74622         (WebCore::RenderReplica::paint):
74623         * rendering/RenderReplica.h:
74624         * rendering/RenderTable.cpp:
74625         (WebCore::RenderTable::paint):
74626         * rendering/RenderTable.h:
74627         * rendering/RenderTableCell.cpp:
74628         (WebCore::RenderTableCell::paint):
74629         * rendering/RenderTableCell.h:
74630         * rendering/RenderTableRow.cpp:
74631         (WebCore::RenderTableRow::paint):
74632         * rendering/RenderTableRow.h:
74633         * rendering/RenderTableSection.cpp:
74634         (WebCore::RenderTableSection::paint):
74635         * rendering/RenderTableSection.h:
74636         * rendering/RenderTextControlSingleLine.cpp:
74637         (WebCore::RenderTextControlSingleLine::paint):
74638         * rendering/RenderTextControlSingleLine.h:
74639         * rendering/RenderTheme.h:
74640         * rendering/RenderView.cpp:
74641         (WebCore::RenderView::paint):
74642         * rendering/RenderView.h:
74643         * rendering/RenderWidget.cpp:
74644         (WebCore::RenderWidget::paint):
74645         * rendering/RenderWidget.h:
74646         * rendering/mathml/RenderMathMLBlock.h:
74647         * rendering/mathml/RenderMathMLFraction.h:
74648         * rendering/mathml/RenderMathMLRoot.h:
74649         * rendering/mathml/RenderMathMLSquareRoot.h:
74650         * rendering/svg/RenderSVGContainer.h:
74651         * rendering/svg/RenderSVGForeignObject.h:
74652         * rendering/svg/RenderSVGHiddenContainer.h:
74653         * rendering/svg/RenderSVGImage.h:
74654         * rendering/svg/RenderSVGPath.h:
74655         * rendering/svg/RenderSVGRoot.cpp:
74656         (WebCore::RenderSVGRoot::paint):
74657         * rendering/svg/RenderSVGRoot.h:
74658         * rendering/svg/RenderSVGText.h:
74659
74660 2011-06-29  Jian Li  <jianli@chromium.org>
74661
74662         Reviewed by Kenneth Russell.
74663
74664         WebGL test failing on SL bots: fast/canvas/webgl/data-view-test.html 
74665         https://bugs.webkit.org/show_bug.cgi?id=63151
74666
74667         The fix is to change to throw TypeError in custom JS/V8 bindings.
74668
74669         * bindings/js/JSDataViewCustom.cpp:
74670         (WebCore::getDataViewMember):
74671         (WebCore::setDataViewMember):
74672         * bindings/v8/custom/V8DataViewCustom.cpp:
74673         (WebCore::V8DataView::constructorCallback):
74674         (WebCore::V8DataView::getInt8Callback):
74675
74676 2011-06-29  Luke Macpherson   <macpherson@chromium.org>
74677
74678         Reviewed by Darin Adler.
74679
74680         Convert uses of computeLengthIntForLength() to computeLength<Length>()
74681         https://bugs.webkit.org/show_bug.cgi?id=63641
74682
74683         No new tests / refactoring only.
74684
74685         * css/CSSStyleSelector.cpp:
74686         (WebCore::convertToLength):
74687         (WebCore::CSSStyleSelector::applyProperty):
74688         (WebCore::CSSStyleSelector::applyPageSizeProperty):
74689         (WebCore::CSSStyleSelector::mmLength):
74690         (WebCore::CSSStyleSelector::inchLength):
74691         (WebCore::CSSStyleSelector::mapFillSize):
74692         (WebCore::CSSStyleSelector::mapFillXPosition):
74693         (WebCore::CSSStyleSelector::mapFillYPosition):
74694
74695 2011-06-29  Chris Rogers  <crogers@google.com>
74696
74697         Reviewed by Kenneth Russell.
74698
74699         Simplify AudioBufferSourceNode rendering
74700         https://bugs.webkit.org/show_bug.cgi?id=63586
74701
74702         No new tests since this doesn't change API.
74703
74704         * webaudio/AudioBufferSourceNode.cpp:
74705         (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
74706         (WebCore::AudioBufferSourceNode::process):
74707         (WebCore::AudioBufferSourceNode::renderFromBuffer):
74708         (WebCore::AudioBufferSourceNode::reset):
74709         (WebCore::AudioBufferSourceNode::setBuffer):
74710         (WebCore::AudioBufferSourceNode::noteOn):
74711         (WebCore::AudioBufferSourceNode::noteGrainOn):
74712         (WebCore::AudioBufferSourceNode::totalPitchRate):
74713         * webaudio/AudioBufferSourceNode.h:
74714
74715 2011-06-29  Martin Robinson  <mrobinson@igalia.com>
74716
74717         Reviewed by Xan Lopez.
74718
74719         [Freetype] Many tests report ERROR: Failed to get glyph page zero.
74720         https://bugs.webkit.org/show_bug.cgi?id=63498
74721
74722         Instead of conditionally instantiating the m_scaledFont member of FontPlatformData,
74723         always instantiate it. For times when the size is 0 and the instantiation would lead
74724         to a Cairo error, we use size 1 and just make operations which would fail conditional
74725         on the m_size > 0.
74726
74727         No new tests. This change is covered by existing tests. We should
74728         observe no errors on the bots after landing.
74729
74730         * platform/graphics/cairo/FontCairo.cpp:
74731         (WebCore::Font::drawGlyphs): Instead of looking at whether or not there is
74732         a scaled font to determine whether to draw, just look at the size.
74733         * platform/graphics/freetype/FontPlatformData.h: Remove the m_font member.
74734         * platform/graphics/freetype/FontPlatformDataFreeType.cpp: Always instantiate
74735         a scaled font member and remove references to m_font. If we are instantiating
74736         a scaled font for a 0 size font, instantiate a size 1 font, so that we can
74737         still use Cairo to query font properties.
74738         * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
74739         (WebCore::GlyphPage::fill): We can assume there is always a scaled font now.
74740         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
74741         (WebCore::SimpleFontData::platformInit): Ditto.
74742         (WebCore::SimpleFontData::createScaledFontData): Ditto.
74743         (WebCore::SimpleFontData::containsCharacters): Ditto.
74744         (WebCore::SimpleFontData::platformWidthForGlyph): Ditto.
74745
74746 2011-06-29  Eric Carlson  <eric.carlson@apple.com>
74747
74748         Reviewed by Darin Adler.
74749
74750         Media element loads blocked by a resource load delegate do not generate an error event
74751         https://bugs.webkit.org/show_bug.cgi?id=63558
74752
74753         Tests: media/media-blocked-by-beforeload.html
74754                media/media-blocked-by-willsendrequest.html
74755
74756         * html/HTMLMediaElement.cpp:
74757         (WebCore::HTMLMediaElement::selectMediaResource): Call mediaLoadingFailed instead of noneSupported
74758             so all failures follow the same code path.
74759         (WebCore::HTMLMediaElement::loadResource): Call mediaLoadingFailed when there is no frame, when 
74760             the loader delegate rejects the url, or when MediaPlayer doesn't find a media engine that
74761             supports the type.
74762         (WebCore::HTMLMediaElement::selectNextSourceChild): Fix incorrect logging.
74763         (WebCore::HTMLMediaElement::mediaLoadingFailed): Change name of parameter from "state" to
74764             "error" to make its purpose obvious.
74765
74766         * platform/graphics/MediaPlayer.cpp:
74767         (WebCore::MediaPlayer::load): Return a bool indicating whether or not the url was given to
74768             a media engine.
74769         (WebCore::MediaPlayer::loadWithNextMediaEngine): Add some logging.
74770         * platform/graphics/MediaPlayer.h:
74771
74772 2011-06-29  Darin Adler  <darin@apple.com>
74773
74774         Reviewed by Anders Carlsson.
74775
74776         [WebKit2] Crash loading page that adds/removes frame in DOMContentLoaded/loaded
74777         https://bugs.webkit.org/show_bug.cgi?id=63483
74778
74779         Test: fast/loader/create-frame-in-DOMContentLoaded.html
74780
74781         * loader/FrameLoader.cpp:
74782         (WebCore::FrameLoader::init): Added an assertion.
74783         (WebCore::FrameLoader::finishedLoadingDocument): Removed a non-helpful #if
74784         statement. The rule that we do not call the client when creating the initial
74785         empty document was nominally specific to Windows and Chromium but is needed
74786         for all platforms.
74787
74788 2011-06-29  Emil A Eklund  <eae@chromium.org>
74789
74790         Reviewed by Darin Adler.
74791
74792         Switch hitTestColumns/Contents/Floats to to new layout types
74793         https://bugs.webkit.org/show_bug.cgi?id=63589
74794
74795         Switch location and size methods for RenderBox over to the new layout unit abstraction.
74796
74797         No new tests, no functionality changes.
74798
74799         * rendering/ColumnInfo.h:
74800         (WebCore::ColumnInfo::desiredColumnWidth):
74801         (WebCore::ColumnInfo::setDesiredColumnWidth):
74802         (WebCore::ColumnInfo::columnHeight):
74803         (WebCore::ColumnInfo::setColumnCountAndHeight):
74804         (WebCore::ColumnInfo::setColumnHeight):
74805         (WebCore::ColumnInfo::updateMinimumColumnHeight):
74806         (WebCore::ColumnInfo::minimumColumnHeight):
74807         * rendering/RenderBlock.cpp:
74808         (WebCore::RenderBlock::addOverflowFromChildren):
74809         (WebCore::RenderBlock::paintColumnRules):
74810         (WebCore::RenderBlock::paintColumnContents):
74811         (WebCore::RenderBlock::hitTestFloats):
74812         (WebCore::RenderBlock::hitTestColumns):
74813         (WebCore::RenderBlock::hitTestContents):
74814         (WebCore::RenderBlock::columnRectAt):
74815         * rendering/RenderBlock.h:
74816         (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
74817         (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
74818         * rendering/RenderLayer.cpp:
74819         (WebCore::RenderLayer::hitTestContents):
74820         * rendering/RenderLayer.h:
74821
74822 2011-06-29  Adrienne Walker  <enne@google.com>
74823
74824         Reviewed by James Robinson.
74825
74826         [chromium] Divide by zero in TilingData
74827         https://bugs.webkit.org/show_bug.cgi?id=63305
74828
74829         Add safety checks for empty layers.
74830
74831         * platform/graphics/chromium/LayerTilerChromium.cpp:
74832         (WebCore::LayerTilerChromium::prepareToUpdate):
74833         (WebCore::LayerTilerChromium::reset):
74834         (WebCore::LayerTilerChromium::updateRect):
74835
74836 2011-06-29  Dimitri Glazkov  <dglazkov@chromium.org>
74837
74838         Reviewed by Adam Barth.
74839
74840         Extract setShadowRoot function, harden it in preparation to be exposed to script.
74841         https://bugs.webkit.org/show_bug.cgi?id=63596
74842
74843         Refactoring, covered by existing tests.
74844
74845         * dom/Element.cpp:
74846         (WebCore::validateShadowRoot): Added.
74847         (WebCore::Element::setShadowRoot): Extracted from ensureShadowRoot.
74848         (WebCore::Element::ensureShadowRoot): Changed to use setShadowRoot.
74849         * dom/Element.h: Added decl.
74850
74851 2011-06-29  Vsevolod Vlasov  <vsevik@chromium.org>
74852
74853         Reviewed by Pavel Feldman.
74854
74855         Web Inspector: REGRESSION Resource revision fails to request content if it was not yet loaded for resource.
74856         https://bugs.webkit.org/show_bug.cgi?id=63631
74857
74858         Test: http/tests/inspector/network/network-request-revision-content.html
74859
74860         * inspector/front-end/Resource.js:
74861         (WebInspector.ResourceRevision.prototype.requestContent):
74862
74863 2011-06-29  Igor Oliveira  <igor.oliveira@openbossa.org>
74864
74865         Reviewed by Andreas Kling.
74866
74867         [Qt] GraphicsContext::clipToImageBuffer does not support scale transformation
74868         https://bugs.webkit.org/show_bug.cgi?id=63555
74869
74870         Scale alphaMask if GraphicsContext is scaled
74871
74872         * platform/graphics/qt/GraphicsContextQt.cpp:
74873         (WebCore::GraphicsContext::pushTransparencyLayerInternal):
74874         * platform/graphics/qt/ImageBufferQt.cpp:
74875         (WebCore::ImageBuffer::clip):
74876
74877 2011-06-29  Andrey Kosyakov  <caseq@chromium.org>
74878
74879         Reviewed by Pavel Feldman.
74880
74881         Web Inspector: backend needs to provide system-unique object ids, so these remain unique across navigation
74882         https://bugs.webkit.org/show_bug.cgi?id=62894
74883
74884         * inspector/InspectorController.cpp:
74885         (WebCore::InspectorController::setAgentProcessIdentifier):
74886         * inspector/InspectorController.h:
74887         * inspector/InspectorPageAgent.cpp:
74888         (WebCore::InspectorPageAgent::setAgentIdentifier):
74889         (WebCore::InspectorPageAgent::createIdentifier):
74890         (WebCore::InspectorPageAgent::frameForId):
74891         (WebCore::InspectorPageAgent::frameId):
74892         (WebCore::InspectorPageAgent::frameDestroyed):
74893         * inspector/InspectorPageAgent.h:
74894
74895 2011-06-29  Pavel Feldman  <pfeldman@google.com>
74896
74897         Reviewed by Yury Semikhatsky.
74898
74899         Web Inspector: create status bar buttons programmatically. Add "Inspect" button to all panels.
74900         https://bugs.webkit.org/show_bug.cgi?id=63450
74901
74902         Buttons should be created in code, not in HTML. Also making Inspect Element
74903         action available on all panels (as an experiment).
74904
74905         * inspector/front-end/ConsoleView.js:
74906         (WebInspector.ConsoleView.prototype.show):
74907         (WebInspector.ConsoleView.prototype.hide):
74908         * inspector/front-end/ElementsPanel.js:
74909         (WebInspector.ElementsPanel):
74910         (WebInspector.ElementsPanel.prototype.get statusBarItems):
74911         (WebInspector.ElementsPanel.prototype.updateFocusedNode):
74912         (WebInspector.ElementsPanel.prototype._setSearchingForNode):
74913         (WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
74914         * inspector/front-end/inspector.css:
74915         (button.dock-status-bar-item.status-bar-item .glyph):
74916         (button.dock-status-bar-item.status-bar-item.toggled-on .glyph):
74917         (.console-status-bar-item .glyph):
74918         * inspector/front-end/inspector.html:
74919         * inspector/front-end/inspector.js:
74920         (WebInspector._createGlobalStatusBarItems):
74921         (WebInspector.set attached):
74922
74923 2011-06-29  Pavel Feldman  <pfeldman@google.com>
74924
74925         Reviewed by Yury Semikhatsky.
74926
74927         Web Inspector: tab crash after deleting trailing quote when editing attribute
74928         https://bugs.webkit.org/show_bug.cgi?id=63544
74929
74930         * inspector/InspectorDOMAgent.cpp:
74931         (WebCore::InspectorDOMAgent::setAttributesText):
74932         * inspector/front-end/ElementsTreeOutline.js:
74933         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded):
74934         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
74935
74936 2011-06-29  Vsevolod Vlasov  <vsevik@chromium.org>
74937
74938         Reviewed by Pavel Feldman.
74939
74940         Web Inspector: REGRESSION Inspector failing to load resource content after navigation. Safari.
74941         https://bugs.webkit.org/show_bug.cgi?id=63480
74942
74943         * inspector/front-end/NetworkManager.js:
74944         (WebInspector.NetworkDispatcher):
74945         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
74946
74947 2011-06-29  Mike West  <mkwst@chromium.org>
74948
74949         Reviewed by Pavel Feldman.
74950
74951         Web Inspector: Missing fields in HAR
74952         https://bugs.webkit.org/show_bug.cgi?id=58127
74953         
74954         Specifically, this patch adds:
74955         - entry.request.httpVersion
74956         - entry.request.headersSize
74957         - entry.request.bodySize
74958         - entry.response.httpVersion
74959         - entry.response.headersSize
74960         - entry.response.bodySize
74961         - entry.response.content.compression
74962         
74963         Tests: http/tests/inspector/resource-har-conversion.html
74964                http/tests/inspector/resource-har-headers.html
74965                http/tests/inspector/resource-parameters.html
74966                http/tests/inspector/network/network-size.html
74967
74968         * inspector/front-end/HAREntry.js:
74969         (WebInspector.HAREntry.prototype.build):
74970         (WebInspector.HAREntry.prototype._buildRequest):
74971         (WebInspector.HAREntry.prototype._buildResponse):
74972         (WebInspector.HAREntry.prototype._buildContent):
74973         (WebInspector.HAREntry.prototype._buildCookie):
74974         (WebInspector.HAREntry.prototype._interval):
74975         (WebInspector.HAREntry.prototype.get requestBodySize):
74976         (WebInspector.HAREntry.prototype.get responseBodySize):
74977         (WebInspector.HAREntry.prototype.get responseCompression):
74978         (WebInspector.HARLog.prototype.build):
74979         * inspector/front-end/Resource.js:
74980         (WebInspector.Resource.prototype.set requestHeaders):
74981         (WebInspector.Resource.prototype.get requestHeadersText):
74982         (WebInspector.Resource.prototype.set requestHeadersText):
74983         (WebInspector.Resource.prototype.get requestHeadersSize):
74984         (WebInspector.Resource.prototype.get requestHttpVersion):
74985         (WebInspector.Resource.prototype.set responseHeaders):
74986         (WebInspector.Resource.prototype.get responseHeadersText):
74987         (WebInspector.Resource.prototype.set responseHeadersText):
74988         (WebInspector.Resource.prototype.get responseHeadersSize):
74989         (WebInspector.Resource.prototype.get responseHttpVersion):
74990
74991 2011-06-29  Hayato Ito  <hayato@chromium.org>
74992
74993         Reviewed by Hajime Morita.
74994
74995         Make a shadow host transfer a focus to the first focusable element in the shadow root when its focus() is called.
74996         https://bugs.webkit.org/show_bug.cgi?id=62358.
74997
74998         This patch doesn't take an effect on the following elements to keep a compatibility.
74999         - <input>, <textarea>, <video> and <audio> elements
75000         We'll address these elements separately after re-targeting focus events
75001         (bug 61421) is implemented.
75002
75003         A shadow root's <content> is not considered in this patch.
75004         That should be addressed in another patch. See bug 63522.
75005
75006         Test: fast/dom/shadow/shadow-host-transfer-focus.html
75007
75008         * dom/Element.cpp:
75009         (WebCore::Element::focus):
75010         * page/FocusController.cpp:
75011         (WebCore::shadowRoot):
75012         (WebCore::isTreeScopeOwner):
75013         (WebCore::FocusController::transferFocusToElementInShadowRoot):
75014         (WebCore::hasCustomFocusLogic):
75015         (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocumentOrShadowRoot):
75016         (WebCore::FocusController::advanceFocusInDocumentOrder):
75017         (WebCore::ownerOfTreeScope):
75018         (WebCore::FocusController::findFocusableNodeAcrossTreeScope):
75019         * page/FocusController.h:
75020
75021 2011-06-29  Ryan Sleevi  <rsleevi@chromium.org>
75022
75023         Reviewed by Dirk Schulze.
75024
75025         SVGRadialGradientElement::selfHasRelativeLengths() doesn't consider if cx() is relative
75026         https://bugs.webkit.org/show_bug.cgi?id=61600
75027
75028         Correct the logic for checking for relative lengths in a SVGRadialGradientElement to consider cx() in addition to cy()
75029         
75030         No new tests, as there is no way to currently test this. With the bug present, a side-effect is causing the
75031         expected/correct image to be rendered. This is because the cached SVG resource is getting invalided through a
75032         different path, forcing a repaint. The repaint takes into consideration the proper dimensions, hiding the bug.
75033
75034         * svg/SVGRadialGradientElement.cpp:
75035         (WebCore::SVGRadialGradientElement::selfHasRelativeLengths):
75036
75037 2011-06-28  Dirk Schulze  <krit@webkit.org>
75038
75039         Reviewed by Nikolas Zimmermann.
75040
75041         SVGAnimatedType should support SVGBoolean animation
75042         https://bugs.webkit.org/show_bug.cgi?id=63529
75043
75044         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
75045         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGBoolean.
75046         
75047         The new animator does not affect any behavior, since it was animated with SVGAnimatedString before. The new animator is still needed
75048         to support animVal and baseVal later.
75049
75050         Test: svg/animations/svgboolean-animation-1.html
75051
75052         * CMakeLists.txt: Add new file to build system.
75053         * GNUmakefile.list.am: Ditto.
75054         * WebCore.gypi: Ditto.
75055         * WebCore.pro: Ditto.
75056         * WebCore.xcodeproj/project.pbxproj: Ditto.
75057         * svg/SVGAllInOne.cpp: Ditto.
75058         * svg/SVGAnimateElement.cpp: Make use of AnimatedBoolean.
75059         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
75060         (WebCore::SVGAnimateElement::calculateAnimatedValue):
75061         (WebCore::SVGAnimateElement::calculateFromAndToValues):
75062         (WebCore::SVGAnimateElement::calculateFromAndByValues):
75063         (WebCore::SVGAnimateElement::resetToBaseValue):
75064         (WebCore::SVGAnimateElement::applyResultsToTarget):
75065         (WebCore::SVGAnimateElement::calculateDistance):
75066         * svg/SVGAnimatedBoolean.cpp: Added. New animator for SVGBoolean.
75067         (WebCore::SVGAnimatedBooleanAnimator::SVGAnimatedBooleanAnimator):
75068         (WebCore::SVGAnimatedBooleanAnimator::constructFromString):
75069         (WebCore::SVGAnimatedBooleanAnimator::calculateFromAndToValues):
75070         (WebCore::SVGAnimatedBooleanAnimator::calculateFromAndByValues):
75071         (WebCore::SVGAnimatedBooleanAnimator::calculateAnimatedValue):
75072         (WebCore::SVGAnimatedBooleanAnimator::calculateDistance):
75073         * svg/SVGAnimatedBoolean.h:
75074         (WebCore::SVGAnimatedBooleanAnimator::~SVGAnimatedBooleanAnimator):
75075         * svg/SVGAnimatedType.cpp: Use bool for SVGBoolean.
75076         (WebCore::SVGAnimatedType::~SVGAnimatedType):
75077         (WebCore::SVGAnimatedType::createBoolean):
75078         (WebCore::SVGAnimatedType::boolean):
75079         (WebCore::SVGAnimatedType::valueAsString):
75080         (WebCore::SVGAnimatedType::setValueAsString):
75081         * svg/SVGAnimatedType.h:
75082         * svg/SVGAnimatorFactory.h: New crate function for SVGAnimatedSVGBooleanAnimator.
75083         (WebCore::SVGAnimatorFactory::create):
75084
75085 2011-06-28  Dimitri Glazkov  <dglazkov@chromium.org>
75086
75087         Reviewed by Adam Barth.
75088
75089         Make applyAuthorSheets settable on ShadowRoot.
75090         https://bugs.webkit.org/show_bug.cgi?id=63599
75091
75092         Refactoring and adding not-yet used function, tests to follow when API lands.
75093
75094         * dom/ShadowRoot.cpp:
75095         (WebCore::ShadowRoot::ShadowRoot): Added initializer.
75096         (WebCore::ShadowRoot::applyAuthorSheets): Made to use member variable.
75097         (WebCore::ShadowRoot::setApplyAuthorSheets): Added.
75098         * dom/ShadowRoot.h: Tweaked, added decls.
75099
75100 2011-06-28  Ilya Sherman  <isherman@chromium.org>
75101
75102         Reviewed by Adam Barth.
75103
75104         form.autocomplete="off" does not work
75105         Rename the autoComplete() method for HTMLFormElement, HTMLFormControlElementWithState, and HTMLInputElement to shouldAutocomplete()
75106         Add the autocomplete attribute to HTMLFormElement.idl and HTMLInputElement.idl
75107         https://bugs.webkit.org/show_bug.cgi?id=35823
75108
75109         Test: fast/forms/autocomplete.html
75110
75111         * html/HTMLFormControlElement.cpp:
75112         (WebCore::HTMLFormControlElementWithState::shouldAutocomplete): Renamed from ::autoComplete()
75113         (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState): Update callsite.
75114         * html/HTMLFormControlElement.h:
75115         * html/HTMLFormElement.cpp:
75116         (WebCore::HTMLFormElement::~HTMLFormElement): Update callsite.
75117         (WebCore::HTMLFormElement::parseMappedAttribute): Update callsite.
75118         (WebCore::HTMLFormElement::documentDidBecomeActive): Update callsite.
75119         (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Update callsite.
75120         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Update callsite.
75121         (WebCore::HTMLFormElement::shouldAutocomplete): Renamed from ::autoComplete()
75122         * html/HTMLFormElement.h:
75123         * html/HTMLFormElement.idl: Bind the autocomplete attribute to a JavaScript property.
75124         * html/HTMLInputElement.cpp:
75125         (WebCore::HTMLInputElement::shouldAutocomplete): Renamed from ::autoComplete()
75126         * html/HTMLInputElement.h:
75127         * html/HTMLInputElement.idl: Bind the autocomplete attribute to a JavaScript property.
75128         * WebCore.exp.in: Updated autoComplete() -> shouldAutocomplete()
75129
75130 2011-06-28  Dimitri Glazkov  <dglazkov@chromium.org>
75131
75132         Reviewed by Kent Tamura.
75133
75134         Store shadowPseudoId in ElementRareData.
75135         https://bugs.webkit.org/show_bug.cgi?id=63604
75136
75137         No new tests, because the code isn't yet used.
75138
75139         * css/CSSSelector.cpp:
75140         (WebCore::CSSSelector::isUnknownPseudoType): Added convenience helper.
75141         * css/CSSSelector.h: Added decl.
75142         * dom/Element.cpp:
75143         (WebCore::Element::shadowPseudoId): Changed to use ElementRareData.
75144         (WebCore::Element::setShadowPseudoId): Ditto.
75145         * dom/Element.h: Added decls.
75146         * dom/ElementRareData.h: Added a member to keep shadowPseudoId.
75147
75148 2011-06-28  Kenichi Ishibashi  <bashi@chromium.org>
75149
75150         Reviewed by Tony Chang.
75151
75152         [Chromium] Remove dependencies on harfbuzz from FontPlatformDataLinux and FontLinux
75153         https://bugs.webkit.org/show_bug.cgi?id=62530
75154
75155         - Moved codes of FontLinux which depend on harfbuzz APIs to ComplexTextController.  Removed Some methods of ComplexTextController(advances() and logClusters()) since they are no longer needed.
75156         - Moved RefCountedHarfbuzzFace from FontPlatformDataLinux to HarfbuzzSkia and renamed it to HarfbuzzFace.
75157
75158         No new tests because there is no behavior change (The existing tests should cover the changes).
75159
75160         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
75161         (WebCore::ComplexTextController::ComplexTextController): Added arguments so eliminating setter invocations.
75162         (WebCore::ComplexTextController::setupForRTL): Added.
75163         (WebCore::ComplexTextController::setupFontForScriptRun): Adopt the change of HarfbuzzFace class.
75164         (WebCore::ComplexTextController::setGlyphPositions): Use m_item.log_clusters instead of removed method.
75165         (WebCore::ComplexTextController::glyphIndexForXPositionInScriptRun): Added.
75166         (WebCore::ComplexTextController::offsetForPosition): Ditto.
75167         (WebCore::ComplexTextController::selectionRect): Ditto.
75168         * platform/graphics/chromium/ComplexTextControllerLinux.h:
75169         (WebCore::ComplexTextController::width):
75170         * platform/graphics/chromium/FontLinux.cpp: Removed truncateFixedPointToInteger().
75171         (WebCore::Font::drawComplexText): Removed setter invocations of ComplexTextController.
75172         (WebCore::Font::floatWidthForComplexText): Ditto.
75173         (WebCore::Font::offsetForPositionForComplexText): Moved harfbuzz dependent code to ComplexTextController.
75174         (WebCore::Font::selectionRectForComplexText): Ditto.
75175         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
75176         (WebCore::FontPlatformData::harfbuzzFace): Wrapped up HB_FaceRec in HarfbuzzFace class.
75177         * platform/graphics/chromium/FontPlatformDataLinux.h: Moved RefCountedHarfbuzzFace class and renamed to HarfbuzzFace.
75178         * platform/graphics/chromium/HarfbuzzSkia.cpp:
75179         (WebCore::allocHarfbuzzFont): Moved from ComplexTextControllerLinux.cpp.
75180         (WebCore::HarfbuzzFace::HarfbuzzFace): Added.
75181         (WebCore::HarfbuzzFace::~HarfbuzzFace): Added.
75182         * platform/graphics/chromium/HarfbuzzSkia.h:
75183         (WebCore::HarfbuzzFace::create): Added.
75184         (WebCore::HarfbuzzFace::face): Added.
75185         * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
75186         (WebCore::substituteWithVerticalGlyphs): Adopt  the change of HarfbuzzFace class.
75187
75188 2011-06-28  Roland Steiner  <rolandsteiner@chromium.org>
75189
75190         Reviewed by Eric Seidel.
75191
75192         Bug 55930 - (CVE-2011-1440) Incorrect handling of 'display:' property within nested <ruby> tags
75193         https://bugs.webkit.org/show_bug.cgi?id=55930
75194
75195         Don't set style type BEFORE/AFTER on anonymous wrapper block.
75196         Rather, check style type on generated wrapped child.
75197
75198         Tests: fast/ruby/generated-after-counter-doesnt-crash.html
75199                fast/ruby/generated-before-and-after-counter-doesnt-crash.html
75200                fast/ruby/generated-before-counter-doesnt-crash.html
75201
75202         * rendering/RenderRuby.cpp:
75203         (WebCore::isAnonymousRubyInlineBlock):
75204         (WebCore::isRubyBeforeBlock):
75205         (WebCore::isRubyAfterBlock):
75206         (WebCore::rubyBeforeBlock):
75207         (WebCore::rubyAfterBlock):
75208         (WebCore::createAnonymousRubyInlineBlock):
75209         (WebCore::RenderRubyAsInline::addChild):
75210         (WebCore::RenderRubyAsBlock::addChild):
75211
75212 2011-06-28  Emil A Eklund  <eae@chromium.org>
75213
75214         Reviewed by Eric Seidel.
75215
75216         Switch RenderLayer position/size to to new layout types
75217         https://bugs.webkit.org/show_bug.cgi?id=63578
75218
75219         Switch location and size methods for RenderLayer over to the new layout unit abstraction.
75220         
75221         No new tests, no functionality changes.
75222
75223         * rendering/RenderLayer.cpp:
75224         (WebCore::RenderLayer::resize):
75225         (WebCore::RenderLayer::visibleHeight):
75226         (WebCore::RenderLayer::visibleWidth):
75227         (WebCore::RenderLayer::offsetFromResizeCorner):
75228         * rendering/RenderLayer.h:
75229         (WebCore::RenderLayer::location):
75230         (WebCore::RenderLayer::setLocation):
75231         (WebCore::RenderLayer::size):
75232         (WebCore::RenderLayer::setSize):
75233         (WebCore::RenderLayer::rect):
75234         (WebCore::RenderLayer::renderBoxLocation):
75235         (WebCore::RenderLayer::renderBoxX):
75236         (WebCore::RenderLayer::renderBoxY):
75237         * rendering/RenderListBox.cpp:
75238         (WebCore::RenderListBox::visibleHeight):
75239         (WebCore::RenderListBox::visibleWidth):
75240         * rendering/RenderListBox.h:
75241
75242 2011-06-28  Levi Weintraub  <leviw@chromium.org>
75243
75244         Reviewed by Eric Seidel.
75245
75246         Switch paintObject and paintReplaced to new layout types
75247         https://bugs.webkit.org/show_bug.cgi?id=63585
75248
75249         Switching paintObject and paintReplaced to layout type abstractions from more integral types.
75250
75251         No new tests as this is just moving to an abstraction.
75252
75253         * rendering/RenderBlock.cpp:
75254         (WebCore::RenderBlock::paintObject):
75255         * rendering/RenderBlock.h:
75256         * rendering/RenderBox.h:
75257         (WebCore::RenderBox::paintObject):
75258         * rendering/RenderEmbeddedObject.cpp:
75259         (WebCore::RenderEmbeddedObject::paintReplaced):
75260         * rendering/RenderEmbeddedObject.h:
75261         * rendering/RenderFileUploadControl.cpp:
75262         (WebCore::RenderFileUploadControl::paintObject):
75263         * rendering/RenderFileUploadControl.h:
75264         * rendering/RenderHTMLCanvas.cpp:
75265         (WebCore::RenderHTMLCanvas::paintReplaced):
75266         * rendering/RenderHTMLCanvas.h:
75267         * rendering/RenderImage.cpp:
75268         (WebCore::RenderImage::paintReplaced):
75269         * rendering/RenderImage.h:
75270         * rendering/RenderListBox.cpp:
75271         (WebCore::RenderListBox::paintObject):
75272         * rendering/RenderListBox.h:
75273         * rendering/RenderReplaced.h:
75274         (WebCore::RenderReplaced::paintReplaced):
75275         * rendering/RenderTable.cpp:
75276         (WebCore::RenderTable::paintObject):
75277         * rendering/RenderTable.h:
75278         * rendering/RenderTableSection.cpp:
75279         (WebCore::RenderTableSection::paintObject):
75280         * rendering/RenderTableSection.h:
75281         * rendering/RenderTextControl.cpp:
75282         (WebCore::RenderTextControl::paintObject):
75283         * rendering/RenderTextControl.h:
75284         * rendering/RenderVideo.cpp:
75285         (WebCore::RenderVideo::paintReplaced):
75286         * rendering/RenderVideo.h:
75287
75288 2011-06-28  Adam Langley  <agl@chromium.org>
75289
75290         Reviewed by Adam Barth.
75291
75292         Skip cache validation on back with HTTPS.
75293         https://bugs.webkit.org/show_bug.cgi?id=63537
75294
75295         For back navigations over HTTP, WebKit sets a flag to use cached data
75296         irrespective of whether it has expired. However, this isn't currently
75297         done for HTTPS.
75298
75299         The logic in question was added in
75300         https://bugs.webkit.org/show_bug.cgi?id=33993 and appears to have been
75301         precautionary. However, both Firefox and IE will use this back
75302         navigation trick for HTTPS as well and so we should probably behave
75303         likewise.
75304
75305         Test: http/tests/cache/history-only-cached-subresource-loads-max-age-https.html
75306
75307         * loader/FrameLoader.cpp:
75308         (WebCore::FrameLoader::addExtraFieldsToRequest):
75309
75310 2011-06-28  Dimitri Glazkov  <dglazkov@chromium.org>
75311
75312         Reviewed by Adam Barth.
75313
75314         Remove errant isShadowBoundary on ShadowRoot.
75315         https://bugs.webkit.org/show_bug.cgi?id=63588
75316
75317         Removing dead code, no tests for that.
75318
75319         * dom/ShadowRoot.h: Removed a function that's no longer used.
75320
75321 2011-06-28  Zeng Huiqing  <huiqing.zeng@intel.com>
75322
75323         Reviewed by Kenneth Russell.
75324
75325         [chromium]Optimize GraphicsLayerChromium::setChildren()
75326         https://bugs.webkit.org/show_bug.cgi?id=62837
75327
75328         No new tests. 
75329
75330         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
75331         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
75332         (WebCore::GraphicsLayerChromium::setChildren):
75333         (WebCore::GraphicsLayerChromium::addChild):
75334         * platform/graphics/chromium/GraphicsLayerChromium.h:
75335
75336 2011-06-28  Levi Weintraub  <leviw@chromium.org>
75337
75338         Reviewed by Eric Seidel.
75339
75340         Switch paintBoxShadow and paintBoxDecorations to new layout types
75341         https://bugs.webkit.org/show_bug.cgi?id=63577
75342
75343         Switching paintBoxShadow and paintBoxDecorations to layout type abstraction 
75344         from more integral types.
75345
75346         No new tests as this is just moving to an abstraction.
75347
75348         * rendering/InlineFlowBox.cpp:
75349         (WebCore::InlineFlowBox::paintBoxShadow):
75350         (WebCore::InlineFlowBox::paintBoxDecorations):
75351         * rendering/InlineFlowBox.h:
75352         * rendering/RenderBox.cpp:
75353         (WebCore::RenderBox::paintBoxDecorations):
75354         * rendering/RenderBox.h:
75355         * rendering/RenderBoxModelObject.cpp:
75356         (WebCore::RenderBoxModelObject::paintBoxShadow):
75357         * rendering/RenderBoxModelObject.h:
75358         * rendering/RenderFieldset.cpp:
75359         (WebCore::RenderFieldset::paintBoxDecorations):
75360         * rendering/RenderFieldset.h:
75361         * rendering/RenderTable.cpp:
75362         (WebCore::RenderTable::paintBoxDecorations):
75363         * rendering/RenderTable.h:
75364         * rendering/RenderTableCell.cpp:
75365         (WebCore::RenderTableCell::paintBoxDecorations):
75366         * rendering/RenderTableCell.h:
75367         * rendering/RenderView.cpp:
75368         (WebCore::RenderView::paintBoxDecorations):
75369         * rendering/RenderView.h:
75370
75371 2011-06-28  Emil A Eklund  <eae@chromium.org>
75372
75373         Reviewed by Eric Seidel.
75374
75375         Switch RenderBox position/size to to new layout types
75376         https://bugs.webkit.org/show_bug.cgi?id=63571
75377
75378         Switch location and size methods for RenderBox over to the new layout unit abstraction.
75379
75380         No new tests, no functionality changes.
75381
75382         * rendering/RenderBox.cpp:
75383         * rendering/RenderBox.h:
75384         * rendering/RenderBoxModelObject.cpp:
75385         * rendering/RenderBoxModelObject.h:
75386         * rendering/RenderInline.cpp:
75387         * rendering/RenderInline.h:
75388         * rendering/RenderVideo.cpp:
75389         * rendering/RenderVideo.h:
75390
75391 2011-06-28  Sheriff Bot  <webkit.review.bot@gmail.com>
75392
75393         Unreviewed, rolling out r89968.
75394         http://trac.webkit.org/changeset/89968
75395         https://bugs.webkit.org/show_bug.cgi?id=63581
75396
75397         Broke chromium windows compile (Requested by jamesr on
75398         #webkit).
75399
75400         * WebCore.gyp/WebCore.gyp:
75401         * loader/cache/CachedFont.cpp:
75402         * platform/chromium/DragImageRef.h:
75403         * platform/graphics/FloatPoint.h:
75404         * platform/graphics/FloatRect.h:
75405         * platform/graphics/FloatSize.h:
75406         * platform/graphics/FontPlatformData.h:
75407         (WebCore::FontPlatformData::hash):
75408         * platform/graphics/GlyphBuffer.h:
75409         (WebCore::GlyphBuffer::advanceAt):
75410         (WebCore::GlyphBuffer::add):
75411         (WebCore::GlyphBuffer::expandLastAdvance):
75412         * platform/graphics/IntPoint.h:
75413         * platform/graphics/IntRect.h:
75414         * platform/graphics/IntSize.h:
75415         * platform/graphics/SimpleFontData.h:
75416         * platform/graphics/cg/FloatPointCG.cpp:
75417         * platform/graphics/cg/FloatRectCG.cpp:
75418         * platform/graphics/cg/FloatSizeCG.cpp:
75419         * platform/graphics/cg/IntPointCG.cpp:
75420         * platform/graphics/cg/IntRectCG.cpp:
75421         * platform/graphics/cg/IntSizeCG.cpp:
75422         * platform/graphics/mac/FontCustomPlatformData.cpp:
75423         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
75424         (WebCore::createFontCustomPlatformData):
75425         * platform/graphics/mac/FontCustomPlatformData.h:
75426         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
75427
75428 2011-06-28  Levi Weintraub  <leviw@chromium.org>
75429
75430         Reviewed by Eric Seidel.
75431
75432         Switch PaintMask* to new layout types
75433         https://bugs.webkit.org/show_bug.cgi?id=63576
75434
75435         Switching paintMask* to layout type abstraction from more integral types.
75436
75437         No new tests as this is just moving to an abstraction.
75438
75439         * rendering/InlineFlowBox.cpp:
75440         (WebCore::InlineFlowBox::paintMask):
75441         * rendering/InlineFlowBox.h:
75442         * rendering/RenderBox.cpp:
75443         (WebCore::RenderBox::paintMask):
75444         (WebCore::RenderBox::paintMaskImages):
75445         * rendering/RenderBox.h:
75446         * rendering/RenderFieldset.cpp:
75447         (WebCore::RenderFieldset::paintMask):
75448         * rendering/RenderFieldset.h:
75449         * rendering/RenderTable.cpp:
75450         (WebCore::RenderTable::paintMask):
75451         * rendering/RenderTable.h:
75452         * rendering/RenderTableCell.cpp:
75453         (WebCore::RenderTableCell::paintMask):
75454         * rendering/RenderTableCell.h:
75455
75456 2011-06-28  Levi Weintraub  <leviw@chromium.org>
75457
75458         Reviewed by Eric Seidel.
75459
75460         Switch paintFillLayer* to new layout types
75461         https://bugs.webkit.org/show_bug.cgi?id=63570
75462
75463         Switching painFillLayer* to layout type abstraction from more integral types.
75464
75465         No new tests as this is just moving to an abstraction.
75466
75467         * rendering/InlineFlowBox.cpp:
75468         (WebCore::InlineFlowBox::paintFillLayers):
75469         (WebCore::InlineFlowBox::paintFillLayer):
75470         * rendering/InlineFlowBox.h:
75471         * rendering/RenderBox.cpp:
75472         (WebCore::RenderBox::paintFillLayers):
75473         (WebCore::RenderBox::paintFillLayer):
75474         * rendering/RenderBox.h:
75475         * rendering/RenderBoxModelObject.cpp:
75476         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
75477         * rendering/RenderBoxModelObject.h:
75478         * rendering/RenderObject.h:
75479
75480 2011-06-28  Luke Macpherson   <macpherson@chromium.org>
75481
75482         Reviewed by Eric Seidel.
75483
75484         Use appropriate macro for CSSPropertyWebkitAppearance in CSSStyleSelector::applyProperty()
75485         https://bugs.webkit.org/show_bug.cgi?id=63197
75486
75487         No new tests / no functionality changed.
75488
75489         * css/CSSStyleSelector.cpp:
75490         (WebCore::CSSStyleSelector::applyProperty):
75491         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro and delete duplicate code.
75492
75493 2011-06-28  Cary Clark  <caryclark@google.com>
75494
75495         Reviewed by James Robinson.
75496
75497         Use Skia if Skia on Mac Chrome is enabled
75498         https://bugs.webkit.org/show_bug.cgi?id=62999
75499
75500         No new tests. This does not affect existing
75501         functionality.
75502
75503         * WebCore.gyp/WebCore.gyp:
75504         Include Skia and related files and exclude CG
75505         and related files when building Chromium for Skia
75506         on the Mac.
75507
75508         * loader/cache/CachedFont.cpp:
75509         Rename CHROME to CHROMIUM.
75510
75511         * platform/chromium/DragImageRef.h:
75512         * platform/graphics/FloatPoint.h:
75513         * platform/graphics/FloatRect.h:
75514         * platform/graphics/FloatSize.h:
75515         * platform/graphics/FontPlatformData.h:
75516         (WebCore::FontPlatformData::hash):
75517         * platform/graphics/GlyphBuffer.h:
75518         (WebCore::GlyphBuffer::advanceAt):
75519         (WebCore::GlyphBuffer::add):
75520         (WebCore::GlyphBuffer::expandLastAdvance):
75521         * platform/graphics/IntPoint.h:
75522         * platform/graphics/IntRect.h:
75523         * platform/graphics/IntSize.h:
75524         * platform/graphics/SimpleFontData.h:
75525         * platform/graphics/cg/FloatPointCG.cpp:
75526         * platform/graphics/cg/FloatRectCG.cpp:
75527         * platform/graphics/cg/FloatSizeCG.cpp:
75528         * platform/graphics/cg/IntPointCG.cpp:
75529         * platform/graphics/cg/IntRectCG.cpp:
75530         * platform/graphics/cg/IntSizeCG.cpp:
75531         * platform/graphics/mac/FontCustomPlatformData.cpp:
75532         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
75533         (WebCore::createFontCustomPlatformData):
75534         * platform/graphics/mac/FontCustomPlatformData.h:
75535         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
75536         Ditto.
75537
75538 2011-06-28  Ryosuke Niwa  <rniwa@webkit.org>
75539
75540         Reviewed by Darin Adler.
75541
75542         Stop instantiating Position with PositionIsOffsetInAnchor in various files
75543         https://bugs.webkit.org/show_bug.cgi?id=63384
75544
75545         Refactoring.
75546
75547         Removed many if conditions that compared the anchor type to Position::PositionIsOffsetInAnchor
75548         because there were also checking that containerNode is a text node.
75549
75550         Also added Position::containerText() to avoid manually casting containerNode().
75551
75552         * dom/Position.cpp:
75553         (WebCore::Position::Position): Added an assertion to ensure BeforeChildren/AfterChildren
75554         anchor type won't be used for a node whose contents is ignored by editing.
75555         (WebCore::Position::containerText): Added.
75556         * dom/Position.h:
75557         * editing/ApplyBlockElementCommand.cpp:
75558         (WebCore::isNewLineAtPosition): Removed a redundant comparison of anchor type.
75559         (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Since containerNode
75560         is always a text node when renderStyleOfEnclosingTextNode returns a render style, use new Position
75561         constructor that takes Text* and offset.
75562         (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Removed redundant
75563         comparison of anchor type and use new Position constructor that takes Text* and offset.
75564         * editing/ApplyStyleCommand.cpp:
75565         (WebCore::ApplyStyleCommand::splitTextAtStart): Replaced an assertion that compared anchor type by
75566         an assertion that the container node is a text node; use new constructor.
75567         (WebCore::ApplyStyleCommand::splitTextAtEnd): Ditto; also added early exits in the case script
75568         modified DOM.
75569         (WebCore::ApplyStyleCommand::splitTextElementAtStart): Ditto.
75570         (WebCore::ApplyStyleCommand::splitTextElementAtEnd): Ditto.
75571         (WebCore::ApplyStyleCommand::joinChildTextNodes): Use new constructor.
75572         * editing/CompositeEditCommand.cpp:
75573         (WebCore::Editor::replaceSelectedTextInNode): Calls containerText instead of manually casting containerNode.
75574         * editing/Editor.cpp:
75575         (WebCore::Editor::canDeleteRange): Call Range::startPosition instead of manually instantiating Position
75576         by calling startContainer and startOffset.
75577         * editing/FrameSelection.cpp:
75578         (WebCore::FrameSelection::setSelectedRange): Ditto.
75579         * editing/InsertTextCommand.cpp:
75580         (WebCore::InsertTextCommand::input): Calls containerText instead of manually casting containerNode.
75581         * editing/ReplaceSelectionCommand.cpp:
75582         (WebCore::ReplaceSelectionCommand::doApply): Calls containerText instead of manually casting containerNode.
75583         * editing/VisiblePosition.cpp:
75584         (WebCore::VisiblePosition::characterAfter): Removed a redundant anchor type comparison.
75585         (WebCore::startVisiblePosition): Call Range::startPosition instead of startContainer and startOffset.
75586         (WebCore::endVisiblePosition): Call Range::endPosition instead of endContainer and endOffset.
75587         * editing/htmlediting.cpp:
75588         (WebCore::firstInSpecialElement): Call containerNode() to address <rdar://problem/5027702>.
75589         (WebCore::lastInSpecialElement): Ditto; use new constructor.
75590         * editing/visible_units.cpp:
75591         (WebCore::endPositionForLine): Use new constructor.
75592         (WebCore::startOfParagraph): Ditto.
75593         (WebCore::endOfParagraph): Ditto.
75594
75595 2011-06-28  Rob Buis  <rbuis@rim.com>
75596
75597         Reviewed by Nikolas Zimmermann.
75598
75599         SVG1.1SE test text-tref-03-b.svg fails
75600         https://bugs.webkit.org/show_bug.cgi?id=63390
75601
75602         Support tref on forward referenced content by listening to DOMSubtreeModified events. This also
75603         allows updating after modifications in the referenced content subtree.
75604
75605         Tests: svg/W3C-SVG-1.1-SE/text-tref-03-b.svg
75606                svg/custom/text-tref-03-b-change-href-dom.svg
75607                svg/custom/text-tref-03-b-change-href.svg
75608                svg/custom/text-tref-03-b-dynamic.svg
75609                svg/custom/text-tref-03-b-dynamic2.svg
75610                svg/custom/text-tref-03-b-referenced-element-removal.svg
75611                svg/custom/text-tref-03-b-tref-removal.svg
75612
75613         * svg/SVGTRefElement.cpp:
75614         (WebCore::SubtreeModificationEventListener::create):
75615         (WebCore::SubtreeModificationEventListener::cast):
75616         (WebCore::SubtreeModificationEventListener::removeFromTarget):
75617         (WebCore::SubtreeModificationEventListener::SubtreeModificationEventListener):
75618         (WebCore::SubtreeModificationEventListener::operator==):
75619         (WebCore::SubtreeModificationEventListener::handleEvent):
75620         (WebCore::SVGTRefElement::updateReferencedText):
75621         (WebCore::SVGTRefElement::parseMappedAttribute):
75622         (WebCore::SVGTRefElement::svgAttributeChanged):
75623         (WebCore::SVGTRefElement::buildPendingResource):
75624         (WebCore::SVGTRefElement::removedFromDocument):
75625         * svg/SVGTRefElement.h:
75626
75627 2011-06-28  Abhishek Arya  <inferno@chromium.org>
75628
75629         Reviewed by Anders Carlsson.
75630
75631         Split the string creation into a local (while creating text runs)
75632         so that it is not destroyed prematurely.
75633         https://bugs.webkit.org/show_bug.cgi?id=63543
75634
75635         Run fast/forms/text-control-intrinsic-widths.html under valgrind/ASAN.       
75636         * rendering/RenderFileUploadControl.cpp:
75637         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
75638         this one is just done for caution, in case, we don't do the same
75639         mistake when adding legacy rounding hacks option.
75640         * rendering/RenderTextControl.cpp:
75641         (WebCore::RenderTextControl::getAvgCharWidth):
75642
75643 2011-06-28  Greg Simon  <gregsimon@chromium.org>
75644
75645         Reviewed by Dimitri Glazkov.
75646
75647         Migrate SQLite backing store to LevelDB backing store for Indexeddb.
75648         https://bugs.webkit.org/show_bug.cgi?id=62780
75649
75650         * storage/IDBFactoryBackendImpl.cpp:
75651         (WebCore::computeFileIdentifier):
75652         (WebCore::computeUniqueIdentifier):
75653         (WebCore::IDBFactoryBackendImpl::open):
75654         (WebCore::migrateObjectStores):
75655         (WebCore::IDBFactoryBackendImpl::migrateFromSQLiteToLevelDB):
75656         * storage/IDBLevelDBBackingStore.cpp:
75657         (WebCore::IDBLevelDBBackingStore::backingStoreExists):
75658         * storage/IDBLevelDBBackingStore.h:
75659         * storage/IDBObjectStoreBackendImpl.cpp:
75660         (WebCore::IDBObjectStoreBackendImpl::populateIndex):
75661         * storage/IDBObjectStoreBackendImpl.h:
75662         * storage/IDBSQLiteBackingStore.cpp:
75663         (WebCore::IDBSQLiteBackingStore::backingStoreExists):
75664         * storage/IDBSQLiteBackingStore.h:
75665
75666 2011-06-28  Levi Weintraub  <leviw@chromium.org>
75667
75668         Reviewed by Darin Adler.
75669
75670         Create intermediate classes as a path towards getting off of pixel offsets
75671         https://bugs.webkit.org/show_bug.cgi?id=61896
75672
75673         Creating three intermediate typedefs to aid in moving layout and hit testing from integers
75674         to floats. We'll transition the render tree over to these intermediate types and add
75675         infrastructure to support the new types behind USE(FLOAT_LAYOUT_OFFSETS). This allows the ultimate
75676         changeover to be easier.
75677
75678         Switching LayoutState over to this abstraction to verify it works correctly.
75679
75680         No new tests since this is creating a new abstraction, not changing current behavior.
75681
75682         * GNUmakefile.list.am:
75683         * WebCore.gypi:
75684         * WebCore.pro:
75685         * WebCore.vcproj/WebCore.vcproj:
75686         * WebCore.xcodeproj/project.pbxproj:
75687         * rendering/LayoutState.cpp:
75688         (WebCore::LayoutState::LayoutState):
75689         (WebCore::LayoutState::pageLogicalOffset):
75690         (WebCore::LayoutState::addForcedColumnBreak):
75691         * rendering/LayoutState.h:
75692         * rendering/LayoutTypes.h: Added.
75693
75694 2011-06-28  Jeff Miller  <jeffm@apple.com>
75695
75696         Add fullscreen.css and fullscreenQuickTime.css to the WebCore Visual Studio project for convenience.
75697         Looks like Visual Studio also re-sorted one more file since my last checkin.
75698
75699         * WebCore.vcproj/WebCore.vcproj:
75700
75701 2011-06-28  Jeff Miller  <jeffm@apple.com>
75702
75703         Re-sort the WebCore project with Visual Studio after recent changes that I assume were done by manually editing the XML.
75704
75705         * WebCore.vcproj/WebCore.vcproj:
75706
75707 2011-06-28  Joone Hur  <joone.hur@collabora.co.uk>
75708
75709         Reviewed by Martin Robinson.
75710
75711         [GTK] Rename 3D transforms to 3D rendering
75712         https://bugs.webkit.org/show_bug.cgi?id=63508
75713
75714         This patch allows to include ENABLE_3D_RENDERING to build WebKitGtk+.
75715
75716         * GNUmakefile.am: Add ENABLE_3D_RENDERING
75717
75718 2011-06-22  Pavel Podivilov  <podivilov@chromium.org>
75719
75720         Reviewed by Yury Semikhatsky.
75721
75722         Web Inspector: use column numbers when linking to script location in timeline and console.
75723         https://bugs.webkit.org/show_bug.cgi?id=63126
75724
75725         * inspector/front-end/ConsoleView.js:
75726         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
75727         * inspector/front-end/TimelinePanel.js:
75728         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
75729         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
75730
75731 2011-06-28  Joone Hur  <joone.hur@collabora.co.uk>
75732
75733         Reviewed by Martin Robinson.
75734
75735         [GTK] Allow to build WebKitGtk+ with accelerated compositing
75736         https://bugs.webkit.org/show_bug.cgi?id=63404
75737
75738         WebKitGtk+ needs to implement accelerated compositing for running CSS3 3D transforms 
75739         and animation through GPU acceleration. We could implement GraphicsLayer using Clutter.
75740
75741         * GNUmakefile.list.am:
75742         * platform/graphics/clutter/GraphicsLayerClutter.cpp: Added.
75743         (WebCore::GraphicsLayer::create): Not implemented yet.
75744         (WebCore::GraphicsLayerClutter::GraphicsLayerClutter):
75745         (WebCore::GraphicsLayerClutter::~GraphicsLayerClutter):
75746         (WebCore::GraphicsLayerClutter::setNeedsDisplay): Ditto.
75747         (WebCore::GraphicsLayerClutter::setNeedsDisplayInRect): Ditto.
75748         * platform/graphics/clutter/GraphicsLayerClutter.h: Added.
75749
75750 2011-06-28  Dan Bernstein  <mitz@apple.com>
75751
75752         Reviewed by Darin Adler.
75753
75754         REGRESSION (r89733): fast/text/zero-font-size.html is failing on Leopard
75755         https://bugs.webkit.org/show_bug.cgi?id=63512
75756
75757         * platform/graphics/mac/SimpleFontDataMac.mm:
75758         (WebCore::SimpleFontData::platformWidthForGlyph): Initialize the advance local variable, because
75759         on Leopard wkGetGlyphTransformedAdvances can return successfully yet not update the variable when
75760         the font size is 0. Presumably, r89733 exposed this by changing the values put on the stack just
75761         before this function is called.
75762
75763 2011-06-27  Alexander Pavlov  <apavlov@chromium.org>
75764
75765         Reviewed by Pavel Feldman.
75766
75767         Web Inspector: Change the inspector model API and backend to allow CSS pseudoclass inspection
75768         https://bugs.webkit.org/show_bug.cgi?id=63446
75769
75770         * inspector/Inspector.json:
75771         * inspector/InspectorCSSAgent.cpp:
75772         (WebCore::computePseudoClassMask):
75773         (WebCore::InspectorCSSAgent::getStylesForNode):
75774         * inspector/InspectorCSSAgent.h:
75775         * inspector/front-end/AuditRules.js:
75776         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
75777         * inspector/front-end/CSSStyleModel.js:
75778         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
75779         * inspector/front-end/StylesSidebarPane.js:
75780         (WebInspector.StylesSidebarPane.prototype.update):
75781
75782 2011-06-28  Kent Tamura  <tkent@chromium.org>
75783
75784         Fix a build error on Mac by r89907.
75785
75786         * svg/animation/SVGSMILElement.cpp:
75787         (WebCore::SVGSMILElement::endListChanged):
75788
75789 2011-06-27  Alexander Pavlov  <apavlov@chromium.org>
75790
75791         Reviewed by Kent Tamura.
75792
75793         [Chromium] SELECT or autofill popup is trimmed by screen edge on Windows
75794         https://bugs.webkit.org/show_bug.cgi?id=63438
75795
75796         If the popup is calculated to be trimmed by a screen edge, an attempt is made
75797         to alter its vertical edge alignment (set to the right edge for LTR or to the left edge for RTL)
75798         to see if the trimmed portion becomes smaller than that with the original layout.
75799         The change involves remembering the original frameRect for the popup and restoring it in refresh().
75800         This is due to the fact that the frameRect originally set in showInRect() is overwritten
75801         by layoutAndGetRTLOffset(), which breaks the originally requested popup container layout metrics.
75802         The max width is reset on every layoutAndCalculateWidgetRect(), as it can be constrained by the screen edge,
75803         and thus should be re-checked every time the popup is displayed, in case the browser window has been moved.
75804
75805         Tests: manual-tests/popup-width-restriction-within-screen.html partly covers the fix (should not regress).
75806         Other than that, there is no way to unit-test the platform-specific native code.
75807
75808         * platform/chromium/PopupMenuChromium.cpp:
75809         (WebCore::PopupListBox::setMaxWidth): Added. Avoid duplicate popup content layouts (in contrast with setMaxWidthAndLayout()).
75810         (WebCore::PopupListBox::PopupListBox):
75811         (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Attempt a left-right popup alignment inversion
75812         to minimize the trimmed content. Also restore a default max popup width.
75813         (WebCore::PopupContainer::layoutAndGetRTLOffset): Always return the popup listbox offset for the RTL (right alignment) case.
75814         The method rename is due to the return value semantics change.
75815         (WebCore::PopupContainer::showInRect): Store the originally requested frameRect for the popup.
75816         (WebCore::PopupContainer::refresh): Restore the original popup frameRect to avoid layout artifacts on refresh.
75817         (WebCore::PopupContainer::isRTL): This check should be made by the layoutAndGetRTLOffset() clients.
75818         * platform/chromium/PopupMenuChromium.h:
75819
75820 2011-06-28  Kentaro Hara  <haraken@google.com>
75821
75822         Reviewed by Kent Tamura.
75823
75824         Allow spaces between e-mail addresses in 'email' input type.
75825         https://bugs.webkit.org/show_bug.cgi?id=55987
75826
75827         Allowed spaces between e-mail addresses in 'email' input type,
75828         e.g. ' a@p.com , b@p.com ' is a valid value. Implemented the
75829         value sanitization algorithm for an e-mail value.  Added more unit
75830         tests that check the e-mail value parser.
75831
75832         Test: fast/forms/ValidityState-typeMismatch-email.html
75833
75834         * html/EmailInputType.cpp:
75835         (WebCore::EmailInputType::typeMismatchFor):
75836         (WebCore::EmailInputType::sanitizeValue):
75837         * html/EmailInputType.h:
75838         * html/parser/HTMLParserIdioms.cpp:
75839         (WebCore::stripHTMLLineBreaks):
75840         * html/parser/HTMLParserIdioms.h:
75841         (WebCore::isHTMLLineBreak):
75842
75843 2011-06-28  Kent Tamura  <tkent@chromium.org>
75844
75845         Reviewed by Hajime Morita.
75846
75847         Refactor RenderTextControl::text().
75848         https://bugs.webkit.org/show_bug.cgi?id=63519
75849
75850         No new tests because this is just a refactoring.
75851
75852         * rendering/RenderTextControl.cpp:
75853         (WebCore::RenderTextControl::setInnerTextValue):
75854          Resuce the number of text() calls.
75855         (WebCore::finishText):
75856           - Use StringBuilder.
75857           - Make this a static function.
75858             This function doesn't access anything of RenderTextControl.
75859         (WebCore::RenderTextControl::text):
75860          Use emptyString() and StringBuilder.
75861         (WebCore::RenderTextControl::textWithHardLineBreaks): ditto.
75862         * rendering/RenderTextControl.h: Remove finishText().
75863
75864 2011-06-28  Yury Semikhatsky  <yurys@chromium.org>
75865
75866         Reviewed by Pavel Feldman.
75867
75868         Web Inspector: console.group messages should never be coalesced
75869         https://bugs.webkit.org/show_bug.cgi?id=63521
75870
75871         * inspector/InspectorConsoleAgent.cpp:
75872         (WebCore::isGroupMessage):
75873         (WebCore::InspectorConsoleAgent::addConsoleMessage):
75874
75875 2011-06-28  Yury Semikhatsky  <yurys@chromium.org>
75876
75877         Reviewed by Pavel Feldman.
75878
75879         Web Inspector: console group boundaries should be more distinct in UI
75880         https://bugs.webkit.org/show_bug.cgi?id=63455
75881
75882         Show grey bracket to on the left side of a console group message to highlight
75883         the group extent.
75884
75885         * inspector/front-end/ConsoleView.js:
75886         (WebInspector.ConsoleGroup):
75887         * inspector/front-end/inspector.css:
75888         (#console-prompt):
75889         (.console-message, .console-user-command):
75890         (.console-message::before, .console-user-command::before, #console-prompt::before, .console-group-title::before):
75891         (.console-group-title::before):
75892         (.console-group):
75893         (.console-group-bracket):
75894         (.console-group.collapsed > .console-group-bracket):
75895
75896 2011-06-28  Kent Tamura  <tkent@chromium.org>
75897
75898         Reviewed by Hajime Morita.
75899
75900         Use RefPtr for the HTMLElement data members of TextFieldInptType
75901         and SearchInputType.
75902         https://bugs.webkit.org/show_bug.cgi?id=63511
75903
75904         No new tests because of no behavior change.
75905
75906         * html/SearchInputType.cpp:
75907         (WebCore::SearchInputType::SearchInputType):
75908         No need to initialize the element members explicitly because
75909         RefPtr constructor works well.
75910         (WebCore::SearchInputType::createShadowSubtree):
75911         Substitute an element to a data member, and don't call RefPtr<>::release().
75912         (WebCore::SearchInputType::innerBlockElement):
75913         Moved from the header file, and adjustment for RefPtr<>.
75914         (WebCore::SearchInputType::resultsButtonElement): ditto.
75915         (WebCore::SearchInputType::cancelButtonElement): ditto.
75916         (WebCore::SearchInputType::destroyShadowSubtree):
75917          Adjustment for RefPtr<>.
75918         * html/SearchInputType.h:
75919          - Move accessor functions to the cpp file because they are virtual.
75920          - Change element data member types: HTMLElement* -> RefPtr<HTMLElement>.
75921         * html/TextFieldInputType.cpp:
75922         (WebCore::TextFieldInputType::TextFieldInputType):
75923         No need to initialize the element members explicitly because
75924         RefPtr constructor works well.
75925         (WebCore::TextFieldInputType::~TextFieldInputType):
75926         Explicityly defines the destructor in the cpp file to avoid to
75927         make it implicitly in the header file. If the destructor was made
75928         in the header file, we would need to include HTMLElement.h in the
75929         header file.
75930         (WebCore::TextFieldInputType::createShadowSubtree):
75931         - Don't call RenderTheme::themeForPage().
75932         - Substitute an element to a data member, and don't call RefPtr<>::release().
75933         (WebCore::TextFieldInputType::setInnerTextElement):
75934          Moved from the header file to avoid to include HTMLElement.h.
75935         (WebCore::TextFieldInputType::setSpeechButtonElement): ditto.
75936         (WebCore::TextFieldInputType::innerTextElement):
75937         Moved from the header file, and adjustment for RefPtr<>.
75938         (WebCore::TextFieldInputType::innerSpinButtonElement): ditto.
75939         (WebCore::TextFieldInputType::speechButtonElement): ditto.
75940         (WebCore::TextFieldInputType::destroyShadowSubtree):
75941          Adjustment for RefPtr<>.
75942         * html/TextFieldInputType.h:
75943          - Move accessor functions to the cpp file because they are virtual.
75944          - Change element data member types: HTMLElement* -> RefPtr<HTMLElement>.
75945
75946 2011-06-28  Felician Marton  <marton.felician.zoltan@stud.u-szeged.hu>
75947
75948         Reviewed by Nikolas Zimmermann.
75949
75950         SVG animation flickers when restarting
75951         https://bugs.webkit.org/show_bug.cgi?id=18450
75952
75953         Add new parameter to the following methods. The new parameter is the time of adding a "begin" or "end" time to the SVG animation.
75954          - WebCore::SVGSMILElement::addBeginTime
75955          - WebCore::SVGSMILElement::beginListChanged
75956          - WebCore::SVGSMILElement::addEndTime
75957          - WebCore::SVGSMILElement::endListChanged
75958         In case of beginTime and beginListChanged it's necessary, because the delay between the event of adding a new begin time
75959         (in WebCore::SVGAnimationElement::beginElementAt) and the actual processing (in WebCore::SVGSMILElement::endListChanged)
75960         is significant. In lack of event time we can't decide that we should consider the new time or not.
75961         If the new begin time is smaller than the event time, we musn't begin the animation, else we shoud do further calculations.
75962
75963         The following methods just modified for consistency:
75964          - WebCore::SVGSMILElement::addEndTime
75965          - WebCore::SVGSMILElement::endListChanged
75966
75967         No new tests, because currently there is no way to test SVG flickering at zero time.
75968
75969         * svg/SVGAnimationElement.cpp:
75970         (WebCore::SVGAnimationElement::beginElementAt):
75971         (WebCore::SVGAnimationElement::endElementAt):
75972         * svg/animation/SVGSMILElement.cpp:
75973         (WebCore::SVGSMILElement::attributeChanged):
75974         (WebCore::SVGSMILElement::addBeginTime):
75975         (WebCore::SVGSMILElement::addEndTime):
75976         (WebCore::SVGSMILElement::beginListChanged):
75977         (WebCore::SVGSMILElement::endListChanged):
75978           The body changed:
75979            - Use new parameter, the time of adding the new begin time.
75980            - Cancel some incorrect optimalization. We should also do further calculations when elapsed >= m_intervalBegin.
75981         (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
75982         (WebCore::SVGSMILElement::handleConditionEvent):
75983         (WebCore::SVGSMILElement::beginByLinkActivation):
75984         * svg/animation/SVGSMILElement.h:
75985
75986 2011-06-28  Csaba Osztrogonác  <ossy@webkit.org>
75987
75988         Reviewed by Andreas Kling.
75989
75990         Adding MHTML reading support.
75991         https://bugs.webkit.org/show_bug.cgi?id=7168
75992
75993         * features.pri: Disable MHTML on Qt by default in a proper way.
75994
75995 2011-06-28  Csaba Osztrogonác  <ossy@webkit.org>
75996
75997         Reviewed by Andreas Kling.
75998
75999         [Qt] Remove ENABLE_XBL, because there aren't ENABLE(XBL) macros anymore.
76000
76001         * features.pri:
76002
76003 2011-06-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
76004
76005         Unreviewed. Fix style error related to wrong include order.
76006
76007         * platform/graphics/efl/ImageEfl.cpp:
76008
76009 2011-06-27  Brian Weinstein  <bweinstein@apple.com>
76010
76011         Fix the WebCore vcproj file after r89851.
76012
76013         * WebCore.vcproj/WebCore.vcproj:
76014
76015 2011-06-27  Joe Wild  <joseph.wild@nokia.com>
76016
76017         Reviewed by Simon Fraser.
76018
76019         Crash on www.crave.cnet.com in FrameView::windowClipRect()
76020         https://bugs.webkit.org/show_bug.cgi?id=56393
76021
76022         Check for a null renderer to fix a crash. This situation can
76023         arise when external content/plugins is referenced from html
76024         elements with style="display:none".
76025
76026         Test: plugins/hidden-iframe-with-swf-plugin.html
76027
76028         * page/FrameView.cpp:
76029         (WebCore::FrameView::windowClipRect):
76030
76031 2011-06-27  Raymes Khoury  <raymes@chromium.org>
76032
76033         Reviewed by Tony Chang.
76034
76035         WebCore fails to compile in thumb mode when neon instructions are
76036         enabled.
76037
76038         There are two files (FELightingNEON.cpp and FEGaussianBlur.cpp)
76039         which fail to build when -mthumb is passed to gcc. These contain inline
76040         assembly for neon instructions on arm. This patch forces the -marm flag
76041         to be passed when compiling these files to work around this.
76042
76043         https://bugs.webkit.org/show_bug.cgi?id=62916
76044
76045         Built WebKit in Chromium and checked that -marm is passed
76046         only when building these files.
76047
76048         https://bugs.webkit.org/show_bug.cgi?id=62916
76049
76050         * WebCore.gyp/WebCore.gyp:
76051
76052 2011-06-27  Jay Civelli  <jcivelli@chromium.org>
76053
76054         Reviewed by Darin Fisher.
76055
76056         Adding binary part support to MHTML.
76057         https://bugs.webkit.org/show_bug.cgi?id=63310
76058
76059         * loader/archive/mhtml/MHTMLArchive.cpp:
76060         (WebCore::MHTMLArchive::generateMHTMLData):
76061         (WebCore::MHTMLArchive::generateMHTMLDataUsingBinaryEncoding):
76062         * loader/archive/mhtml/MHTMLArchive.h:
76063         * loader/archive/mhtml/MHTMLParser.cpp:
76064         (WebCore::MHTMLParser::parseNextPart):
76065         * platform/SharedBuffer.cpp:
76066         (WebCore::SharedBuffer::append):
76067         * platform/SharedBuffer.h:
76068         * platform/network/MIMEHeader.cpp:
76069         (WebCore::MIMEHeader::parseContentTransferEncoding):
76070         * platform/network/MIMEHeader.h:
76071
76072 2011-06-27  Levi Weintraub  <leviw@chromium.org>
76073
76074         Reviewed by Eric Seidel.
76075
76076         Add support for unicode-bidi:plaintext CSS property
76077         https://bugs.webkit.org/show_bug.cgi?id=50949
76078
76079         Adding support for unicode-bidi: plaintext. This involves invoking P2 and P3
76080         of the Unicode BiDi algorithm on each paragraph of a block with that style.
76081         This is similar to dir=auto but done per-paragraph instead of per element.
76082
76083         Test: fast/text/international/unicode-bidi-plaintext.html
76084
76085         * css/CSSParser.cpp:
76086         (WebCore::CSSParser::parseValue):  Added plaintext.
76087         * css/CSSPrimitiveValueMappings.h:
76088         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Ditto.
76089         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi): Ditto.
76090         * css/CSSValueKeywords.in: Ditto.
76091         * html/HTMLElement.cpp:
76092         (WebCore::unicodeBidiAttributeForDirAuto): Helper to map elements with dir=auto
76093         to their proper unicode-bidi attribute.
76094         (WebCore::HTMLElement::parseMappedAttribute): Assign plaintext to pre and textarea
76095         when dir=auto.
76096         * platform/text/UnicodeBidi.h: Added plaintext.
76097         * rendering/RenderBlockLineLayout.cpp:
76098         (WebCore::determineParagraphDirection): Determines the direction of a paragraph
76099         based on the first strong character. Stops at first paragraph separator.
76100         (WebCore::RenderBlock::layoutInlineChildren): Uses determineParagraphDirection
76101         when in unicode-bidi: plaintext mode (and operating at the block's BidiContext)
76102         to set each paragraph to the proper base BidiContext.
76103         (WebCore::RenderBlock::determineStartPosition): Ditto.
76104         * rendering/style/RenderStyle.h: Gave _unicodebidi another bit to accomodate
76105         for plaintext.
76106
76107 2011-06-27  Alexis Menard  <alexis.menard@openbossa.org>
76108
76109         Reviewed by Darin Adler.
76110
76111         Use specific headers includes rather than full system headers.
76112         https://bugs.webkit.org/show_bug.cgi?id=63475
76113
76114         Use only needed headers rather than system headers.
76115
76116         No new tests, it's just a little cosmetic change.
76117
76118         * platform/mac/WebVideoFullscreenController.h:
76119         * platform/mac/WebVideoFullscreenHUDWindowController.h:
76120
76121 2011-06-27  Joseph Pecoraro  <joepeck@webkit.org>
76122
76123         Reviewed by Darin Adler.
76124
76125         Allow non-main thread text drawing in ICU ports
76126         https://bugs.webkit.org/show_bug.cgi?id=63482
76127
76128         Some ports allow multiple threads to draw strings.
76129         LineBreakIteratorPool is not thread safe and the existing
76130         ASSERT caught cases where multiple threads were trying
76131         to access the shared pool. This makes the pool a lazily
76132         created per-thread pool to allow for thread safe pool use.
76133
76134         * platform/ThreadGlobalData.h:
76135         * platform/ThreadGlobalData.cpp:
76136         (WebCore::ThreadGlobalData::ThreadGlobalData): start with null.
76137         (WebCore::ThreadGlobalData::lineBreakIteratorPool): lazily create.
76138         (WebCore::ThreadGlobalData::destroy): delete.
76139         Manage the lifetime of the per-thread pool instance.
76140
76141         * platform/text/LineBreakIteratorPoolICU.h:
76142         (WebCore::LineBreakIteratorPool::sharedPool):
76143         Use the per-thread pool instance and remove the ASSERT that
76144         this needs to be on the main thread.
76145
76146         (WebCore::LineBreakIteratorPool::create):
76147         Create a PassOwnPtr so we can use OwnPtr on pools.
76148
76149         (WebCore::LineBreakIteratorPool::LineBreakIteratorPool):
76150         Private now that there is a public create function.
76151
76152 2011-06-27  Joseph Pecoraro  <joepeck@webkit.org>
76153
76154         Reviewed by Darin Adler.
76155
76156         Extract LineBreakIteratorPool class into its own file
76157         https://bugs.webkit.org/show_bug.cgi?id=63471
76158
76159         * GNUmakefile.list.am:
76160         * WebCore.gypi:
76161         * WebCore.vcproj/WebCore.vcproj:
76162         * WebCore.xcodeproj/project.pbxproj:
76163         Add the new file to builds that used TextBreakIteratorPoolICU.h.
76164
76165         * platform/text/LineBreakIteratorPoolICU.h: Added.
76166         (WebCore::LineBreakIteratorPool::sharedPool):
76167         (WebCore::LineBreakIteratorPool::LineBreakIteratorPool):
76168         Expose the constructor so it can be used by others.
76169
76170         * platform/text/TextBreakIteratorICU.cpp:
76171         Remove the old LineBreakIteratorPool implementation.
76172
76173 2011-06-27  Justin Garcia  <justin.garcia@apple.com>
76174
76175         Reviewed by Ryosuke Niwa.
76176
76177         CompositeEditCommand::inputText(const String& text, bool selectedInsertText) is unused
76178         https://bugs.webkit.org/show_bug.cgi?id=62921
76179
76180         * editing/CompositeEditCommand.cpp:
76181         * editing/CompositeEditCommand.h:
76182         * editing/InsertTextCommand.cpp:
76183         (WebCore::InsertTextCommand::input):
76184
76185 2011-05-17  Nat Duca  <nduca@chromium.org>
76186
76187         Reviewed by James Robinson.
76188
76189         [chromium] Implement CCLayerTreeHost and CCLayerTreeHostImpl portions of threaded compositor
76190         https://bugs.webkit.org/show_bug.cgi?id=58408
76191
76192         Create CCLayerTreeHost and CCLayerTreeHostImpl, which are the main
76193         thread and compositor thread halves of a composited view. Communication
76194         between the two is based on the design used in FileStreamProxy.
76195
76196         * WebCore.gypi:
76197         * platform/chromium/TraceEvent.h:
76198         * platform/graphics/chromium/LayerRendererChromium.cpp:
76199         (WebCore::LayerRendererChromium::create):
76200         (WebCore::LayerRendererChromium::LayerRendererChromium):
76201         (WebCore::LayerRendererChromium::setViewport):
76202         (WebCore::LayerRendererChromium::updateLayers):
76203         (WebCore::LayerRendererChromium::drawLayers):
76204         (WebCore::LayerRendererChromiumImpl::create):
76205         (WebCore::LayerRendererChromiumImpl::drawLayersAndPresent):
76206         (WebCore::LayerRendererChromiumImpl::LayerRendererChromiumImpl):
76207         (WebCore::LayerRendererChromiumImpl::drawLayersOnMainThread):
76208         (WebCore::LayerRendererChromiumImplProxy::create):
76209         (WebCore::LayerRendererChromiumImplProxy::createLayerTreeHostImpl):
76210         (WebCore::LayerRendererChromiumImplProxy::LayerRendererChromiumImplProxy):
76211         (WebCore::LayerRendererChromium::createLayerTreeHostImplProxy):
76212         * platform/graphics/chromium/LayerRendererChromium.h:
76213         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
76214         (WebCore::CCHeadsUpDisplay::setShowFPSCounter):
76215         (WebCore::CCHeadsUpDisplay::setShowPlatformLayerTree):
76216         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
76217         (WebCore::CCHeadsUpDisplay::currentFrameNumber):
76218         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
76219         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
76220         (WebCore::CCLayerTreeHost::init):
76221         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
76222         (WebCore::CCLayerTreeHost::beginCommit):
76223         (WebCore::CCLayerTreeHost::commitComplete):
76224         (WebCore::CCLayerTreeHost::animateAndLayout):
76225         (WebCore::CCLayerTreeHost::createLayerTreeHostCommitter):
76226         (WebCore::CCLayerTreeHost::setNeedsCommitAndRedraw):
76227         (WebCore::CCLayerTreeHost::setNeedsRedraw):
76228         (WebCore::CCLayerTreeHost::updateLayers):
76229         * platform/graphics/chromium/cc/CCLayerTreeHost.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
76230         (WebCore::CCLayerTreeHost::frameNumber):
76231         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
76232         (WebCore::CCLayerTreeHostCommitter::create):
76233         (WebCore::CCLayerTreeHostCommitter::commit):
76234         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
76235         (WebCore::CCLayerTreeHostCommitter::CCLayerTreeHostCommitter):
76236         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: Added.
76237         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
76238         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
76239         (WebCore::CCLayerTreeHostImpl::beginCommit):
76240         (WebCore::CCLayerTreeHostImpl::commitComplete):
76241         (WebCore::CCLayerTreeHostImpl::drawLayers):
76242         (WebCore::CCLayerTreeHostImpl::setNeedsCommitAndRedraw):
76243         (WebCore::CCLayerTreeHostImpl::setNeedsRedraw):
76244         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
76245         (WebCore::CCLayerTreeHostImplClient::~CCLayerTreeHostImplClient):
76246         (WebCore::CCLayerTreeHostImpl::frameNumber):
76247         (WebCore::CCLayerTreeHostImpl::sourceFrameNumber):
76248         (WebCore::CCLayerTreeHostImpl::setSourceFrameNumber):
76249         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: Added.
76250         (WebCore::CCLayerTreeHostImplProxy::CCLayerTreeHostImplProxy):
76251         (WebCore::CCLayerTreeHostImplProxy::start):
76252         (WebCore::CCLayerTreeHostImplProxy::~CCLayerTreeHostImplProxy):
76253         (WebCore::CCLayerTreeHostImplProxy::isStarted):
76254         (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedraw):
76255         (WebCore::CCLayerTreeHostImplProxy::setNeedsRedraw):
76256         (WebCore::CCLayerTreeHostImplProxy::stop):
76257         (WebCore::CCLayerTreeHostImplProxy::postDrawLayersTaskOnCCThread):
76258         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommitOnCCThread):
76259         (WebCore::CCLayerTreeHostImplProxy::isMainThread):
76260         (WebCore::CCLayerTreeHostImplProxy::isCCThread):
76261         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommit):
76262         (WebCore::CCLayerTreeHostImplProxy::commitOnCCThread):
76263         (WebCore::CCLayerTreeHostImplProxy::drawLayersOnCCThread):
76264         (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedrawOnCCThread):
76265         (WebCore::CCLayerTreeHostImplProxy::setNeedsRedrawOnCCThread):
76266         (WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
76267         (WebCore::CCLayerTreeHostImplProxy::layerTreeHostClosedOnCCThread):
76268         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h: Added.
76269         (WebCore::CCLayerTreeHostImplProxy::host):
76270         * platform/graphics/chromium/cc/CCMainThreadTask.h:
76271         * platform/graphics/chromium/cc/CCThread.cpp:
76272         (WebCore::CCThread::runLoop):
76273         * platform/graphics/chromium/cc/CCThreadTask.h:
76274
76275 2011-06-27  Abhishek Arya  <inferno@chromium.org>
76276
76277         Reviewed by Simon Fraser.
76278
76279         Fix removal of overhanging floats on style changes to absolute/fixed position.
76280         https://bugs.webkit.org/show_bug.cgi?id=63355
76281
76282         1. If we are not currently positioned.
76283         2. And we are not floating. (If we are floating, then this will be automatically
76284            done in RenderBox::styleWillChange as part of removeFloatingOrPositionedChildFromBlockLists) 
76285         3. And we have overhanging floats from previous sibling blocks.
76286         4. And our new new style tells that we will have absolute or fixed position.
76287
76288         Then, we mark all our descendants with floats for layout. This will make sure that
76289         overhanging floats are removed. Also, it is important to do that since if that previous
76290         sibling block goes away, it is not able to tell us that to remove those floats thinking 
76291         that being a positioned block, we should have removed them already.
76292
76293         Tests: fast/block/float/intruding-float-add-in-sibling-block-on-static-position.html
76294                fast/block/float/intruding-float-add-in-sibling-block-on-static-position2.html
76295                fast/block/float/intruding-float-remove-from-sibling-block-on-absolute-position.html
76296                fast/block/float/intruding-float-remove-from-sibling-block-on-absolute-position2.html
76297                fast/block/float/intruding-float-remove-from-sibling-block-on-fixed-position.html
76298                fast/block/float/intruding-float-remove-from-sibling-block-on-fixed-position2.html
76299                fast/block/float/overhanging-float-add-in-static-position-block.html
76300                fast/block/float/overhanging-float-add-in-static-position-block2.html
76301                fast/block/float/overhanging-float-remove-from-absolute-position-block.html
76302                fast/block/float/overhanging-float-remove-from-absolute-position-block2.html
76303                fast/block/float/overhanging-float-remove-from-fixed-position-block.html
76304                fast/block/float/overhanging-float-remove-from-fixed-position-block2.html
76305
76306         * rendering/RenderBlock.cpp:
76307         (WebCore::RenderBlock::styleWillChange):
76308
76309 2011-06-27  Dirk Schulze  <krit@webkit.org>
76310
76311         Reviewed by Nikolas Zimmermann.
76312
76313         SVGAnimatedType should support SVGPreserveAspectRatio animation
76314         https://bugs.webkit.org/show_bug.cgi?id=63456
76315         
76316         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
76317         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedPreserveAspectRatio.
76318         
76319         The new animator does not affect any behavior, since it was animated with SVGAnimatedString before. The new animator is still needed
76320         to support animVal and baseVal later.
76321
76322         Test: svg/animations/svgPreserveAspectRatio-animation-1.html
76323
76324         * CMakeLists.txt: Added new file.
76325         * GNUmakefile.list.am: Ditto.
76326         * WebCore.gypi: Ditto.
76327         * WebCore.pro: Ditto.
76328         * WebCore.xcodeproj/project.pbxproj: Ditto.
76329         * svg/SVGAllInOne.cpp: Ditto.
76330         * svg/SVGAnimateElement.cpp: Handle AnimatedPreserveAspectRatio.
76331         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
76332         (WebCore::SVGAnimateElement::calculateAnimatedValue):
76333         (WebCore::SVGAnimateElement::calculateFromAndToValues):
76334         (WebCore::SVGAnimateElement::calculateFromAndByValues):
76335         (WebCore::SVGAnimateElement::resetToBaseValue):
76336         (WebCore::SVGAnimateElement::applyResultsToTarget):
76337         (WebCore::SVGAnimateElement::calculateDistance):
76338         * svg/SVGAnimatedPreserveAspectRatio.cpp: Added. New animator for SVGAnimatedPreserveAspectRatio.
76339         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::SVGAnimatedPreserveAspectRatioAnimator):
76340         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::constructFromString):
76341         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateFromAndToValues):
76342         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateFromAndByValues):
76343         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateAnimatedValue):
76344         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateDistance):
76345         * svg/SVGAnimatedPreserveAspectRatio.h:
76346         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::~SVGAnimatedPreserveAspectRatioAnimator):
76347         * svg/SVGAnimatedType.cpp: Support for SVGPreserveAspectRatio.
76348         (WebCore::SVGAnimatedType::~SVGAnimatedType):
76349         (WebCore::SVGAnimatedType::createPreserveAspectRatio):
76350         (WebCore::SVGAnimatedType::preserveAspectRatio):
76351         (WebCore::SVGAnimatedType::valueAsString):
76352         (WebCore::SVGAnimatedType::setValueAsString):
76353         (WebCore::SVGAnimatedType::setPreserveAspectRatioBaseValue):
76354         * svg/SVGAnimatedType.h:
76355         * svg/SVGAnimatorFactory.h:
76356         (WebCore::SVGAnimatorFactory::create):
76357
76358 2011-06-27  Alexis Menard  <alexis.menard@openbossa.org>
76359
76360         Reviewed by Kenneth Rohde Christiansen.
76361
76362         [Qt] Remove Phonon MediaPlayer from the tree.
76363         https://bugs.webkit.org/show_bug.cgi?id=63448
76364
76365         Remove Phonon mediaplayer as it is unused, not finished and
76366         unmaintained.
76367
76368         * WebCore.gypi:
76369         * WebCore.pri:
76370         * WebCore.pro:
76371         * features.pri:
76372         * platform/graphics/MediaPlayer.cpp:
76373         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Removed.
76374         * platform/graphics/qt/MediaPlayerPrivatePhonon.h: Removed.
76375
76376 2011-06-27  Ryosuke Niwa  <rniwa@webkit.org>
76377
76378         Reviewed by Kent Tamura.
76379
76380         Crash in TextIterator
76381         https://bugs.webkit.org/show_bug.cgi?id=63334
76382
76383         Fix a crash in TextIterator. Keep m_sortedTextBoxes and renderer consistent
76384         and check !m_offset when handling first letter.
76385
76386         Also add more assertions to help detecting similar bugs.
76387
76388         Test: editing/text-iterator/first-letter-rtl-crash.html
76389
76390         * editing/TextIterator.cpp:
76391         (WebCore::TextIterator::handleTextNode):
76392         (WebCore::TextIterator::emitText):
76393
76394 2011-06-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
76395
76396         Reviewed by Andreas Kling.
76397
76398         [Qt] tst_QWebFrame::overloadedSlots() fails
76399         https://bugs.webkit.org/show_bug.cgi?id=37319
76400
76401         This patch is based on Noam Rosenthal original patch in the same bug.
76402
76403         When hinted with QWebElement metatype, we qualify the conversion
76404         from JSElement as a "perfect match".
76405
76406         The test was failing because the wrong slot was called, since the QWebElement
76407         match was taken as equal to the others and not chosen when the metacall happened.
76408
76409         * bridge/qt/qt_runtime.cpp:
76410         (JSC::Bindings::convertValueToQVariant): Identify the conversion between JSElement
76411         to QWebElement as a "perfect match" (dist = 0). Add comments to explain the reason
76412         why we have the implicit conversion.
76413
76414 2011-06-27  ChangSeok Oh  <shivamidow@gmail.com>
76415
76416         Reviewed by Martin Robinson.
76417
76418         [GTK] Fix build break to support webgl
76419         https://bugs.webkit.org/show_bug.cgi?id=63425
76420
76421         Some missing files in ANGLE are just added to fix build-break.
76422
76423         No test reqired
76424
76425         * GNUmakefile.list.am:
76426
76427 2011-06-27  Hyowon Kim  <hw1008.kim@samsung.com>
76428
76429         Reviewed by Martin Robinson.
76430
76431         [EFL] Add some PLATFORM(EFL) ifdefs to GraphicsContext3D.h
76432         https://bugs.webkit.org/show_bug.cgi?id=62959
76433
76434         Add PLATFORM(EFL) ifdefs to use GraphicsContextInternal.
76435
76436         * platform/graphics/GraphicsContext3D.h:
76437
76438 2011-06-27  Alexandru Chiculita  <achicu@adobe.com>
76439
76440         Reviewed by Ojan Vafai.
76441
76442         css combinator "+" in combination with NAV tag is buggy
76443         https://bugs.webkit.org/show_bug.cgi?id=47971
76444
76445         Added a new state in css/tokenizer.flex for the "nth" rule. The state begins
76446         at nth-*( functions and ends at the first ")". It avoids parsing selectors 
76447         like "#div+nav" as: "#div" "+n" "av".
76448
76449         Test: fast/css/div_plus_nav_bug47971.html
76450
76451         * css/maketokenizer:
76452         * css/tokenizer.flex:
76453
76454 2011-06-27  Sheriff Bot  <webkit.review.bot@gmail.com>
76455
76456         Unreviewed, rolling out r89822.
76457         http://trac.webkit.org/changeset/89822
76458         https://bugs.webkit.org/show_bug.cgi?id=63461
76459
76460         Broken builds (Requested by apavlov on #webkit).
76461
76462         * inspector/Inspector.json:
76463         * inspector/InspectorCSSAgent.cpp:
76464         (WebCore::InspectorCSSAgent::getStylesForNode):
76465         * inspector/InspectorCSSAgent.h:
76466         * inspector/front-end/AuditRules.js:
76467         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
76468         * inspector/front-end/CSSStyleModel.js:
76469         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
76470         * inspector/front-end/StylesSidebarPane.js:
76471         (WebInspector.StylesSidebarPane.prototype.update):
76472
76473 2011-06-27  Noel Gordon  <noel.gordon@gmail.com>
76474
76475         Reviewed by Adam Roben.
76476
76477         Send keypress events to windowless plugins on the windows port.
76478         https://bugs.webkit.org/show_bug.cgi?id=63144
76479
76480         No new tests.  Covered by existing windowless plugin tests plugins/mouse-events.html
76481         and plugins/keyboard-events.html.  Both are not yet working as desired because focus
76482         events are not being fowarded to windowed plugins on the win port (bug 62375).  Test
76483         plugin logging on the win port was added in bug 61721.  New failing expectations for
76484         plugins/keyboard-events.html were subsequently added in bug 33973 so there's no need
76485         to update test expectations in this patch.
76486
76487          * plugins/win/PluginViewWin.cpp:
76488         (WebCore::PluginView::handleKeyboardEvent): Add an ASSERT(m_plugin && !m_isWindowed)
76489         to indicate that the routine is for windowless plugins.  Remove trailing whitespace.
76490         Add handling for keyPress events (map to WM_CHAR).
76491         (WebCore::PluginView::handleMouseEvent): Add the ASSERT to indicate that the routine
76492         is for windowless plugins.  Add FIXME note.  Remove trailing whitespace.
76493
76494 2011-06-27  Alexander Pavlov  <apavlov@chromium.org>
76495
76496         Reviewed by Pavel Feldman.
76497
76498         Web Inspector: Change the inspector model API and backend to allow CSS pseudoclass inspection
76499         https://bugs.webkit.org/show_bug.cgi?id=63446
76500
76501         * inspector/Inspector.json:
76502         * inspector/InspectorCSSAgent.cpp:
76503         (WebCore::computePseudoClassMask):
76504         (WebCore::InspectorCSSAgent::getStylesForNode):
76505         * inspector/InspectorCSSAgent.h:
76506         * inspector/front-end/AuditRules.js:
76507         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
76508         * inspector/front-end/CSSStyleModel.js:
76509         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
76510         * inspector/front-end/StylesSidebarPane.js:
76511         (WebInspector.StylesSidebarPane.prototype.update):
76512
76513 2011-06-27  Pavel Feldman  <pfeldman@google.com>
76514
76515         Reviewed by Yury Semikhatsky.
76516
76517         Web Inspector: [REGRESSION r84481] updateLayout called from DrawNodeHighlight
76518         https://bugs.webkit.org/show_bug.cgi?id=63405
76519
76520         We should not call layout from paint.
76521
76522         * inspector/DOMNodeHighlighter.cpp:
76523         (WebCore::DOMNodeHighlighter::drawNodeHighlight):
76524         * inspector/DOMNodeHighlighter.h:
76525         * inspector/InspectorDOMAgent.cpp:
76526         (WebCore::InspectorDOMAgent::drawNodeHighlight):
76527
76528 2011-06-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
76529
76530         Unreviewed. Fix style error in EFL port.
76531
76532         * platform/efl/PlatformKeyboardEventEfl.cpp:
76533         * platform/efl/PlatformScreenEfl.cpp:
76534         * platform/efl/SharedBufferEfl.cpp:
76535
76536 2011-06-27  Pavel Feldman  <pfeldman@google.com>
76537
76538         Reviewed by Yury Semikhatsky.
76539
76540         Web Inspector: node selection is slow in the Elements panel.
76541         https://bugs.webkit.org/show_bug.cgi?id=60813
76542
76543         * inspector/front-end/StylesSidebarPane.js:
76544         (WebInspector.StylesSidebarPane.prototype.update.stylesCallback):
76545         (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
76546         (WebInspector.StylesSidebarPane.prototype.update):
76547
76548 2011-06-26  Pavel Feldman  <pfeldman@chromium.org>
76549
76550         Reviewed by Yury Semikhatsky.
76551
76552         Web Inspector: roll out r88337 for making tests flaky.
76553         https://bugs.webkit.org/show_bug.cgi?id=63422
76554
76555         * inspector/front-end/ElementsPanel.js:
76556         (WebInspector.ElementsPanel):
76557         (WebInspector.ElementsPanel.prototype.updateStyles):
76558         (WebInspector.ElementsPanel.prototype._stylesUpdated):
76559         * inspector/front-end/StylesSidebarPane.js:
76560         (WebInspector.StylesSidebarPane.prototype.update.stylesCallback):
76561         (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
76562         (WebInspector.StylesSidebarPane.prototype.update):
76563
76564 2011-06-27  Huang Dongsung  <luxtella@company100.net>
76565
76566         Reviewed by Kenneth Rohde Christiansen.
76567
76568         TiledBackingStore endlessly creates and destroys tiles due to an off-by-one
76569         error.
76570         https://bugs.webkit.org/show_bug.cgi?id=62422
76571
76572         REGRESSION(r77286): Remove bottomRight().
76573         REGRESSION(r77312): Change the logic to get the bottom right point.
76574         REGRESSION(r77928): Cause off-by-one error in TiledBackingStore.
76575         REGRESSION(r78783): Cause off-by-one error in TiledDrawingAreaProxy.
76576         REGRESSION(r78785): Cause off-by-one error in TiledDrawingAreaProxy.
76577
76578         If the viewport width equals the contents width, especially in the mobile
76579         device, TiledBackingStore endlessly creates and deletes the rightmost
76580         column and bottom row of tiles.
76581         In the detail, dropTilesOutsideRect() in TiledBackingStore::createTiles()
76582         deletes tiles and setTile(coordinate, Tile::create(this, coordinate)) creates
76583         tiles infinitely.
76584         Modified TiledDrawingAreaProxy also.
76585
76586         * platform/graphics/TiledBackingStore.cpp:
76587         (WebCore::innerBottomRight):
76588         (WebCore::TiledBackingStore::invalidate):
76589         (WebCore::TiledBackingStore::paint):
76590         (WebCore::TiledBackingStore::createTiles):
76591
76592 2011-06-26  Adam Barth  <abarth@webkit.org>
76593
76594         Reviewed by Eric Seidel.
76595
76596         Remove LegacyDefaultOptionalArguments from WebAudio IDL files
76597         https://bugs.webkit.org/show_bug.cgi?id=63416
76598
76599         WebAudio isn't that widely used, so it's seems somewhat safe to remove
76600         legacy code generation hacks.  I'm not an expert on WebAudio, but the
76601         API doesn't appear to need many optional arguments.
76602
76603         There are a bunch of APIs that have custom bindings that look like they
76604         could be autogenerated.  I've added FIXME comments where appropriate.
76605
76606         * webaudio/AudioBuffer.idl:
76607         * webaudio/AudioContext.idl:
76608         * webaudio/AudioListener.idl:
76609         * webaudio/AudioNode.idl:
76610         * webaudio/AudioPannerNode.idl:
76611         * webaudio/AudioParam.idl:
76612         * webaudio/RealtimeAnalyserNode.idl:
76613
76614 2011-06-26  Yury Semikhatsky  <yurys@chromium.org>
76615
76616         Reviewed by Pavel Feldman.
76617
76618         Web Inspector: REGRESSION Scripts panel sidebar pane context menu has no "Remove breakpoint" item
76619         https://bugs.webkit.org/show_bug.cgi?id=63421
76620
76621         Show generic sidebar menu only if no pane-specific menu has been shown.
76622
76623         * inspector/front-end/ScriptsPanel.js:
76624         (WebInspector.ScriptsPanel):
76625
76626 2011-06-26  Adam Barth  <abarth@webkit.org>
76627
76628         Build fix for clang.  Apparently clang doesn't want us to use the std
76629         namespace in headers, which makes sense.
76630
76631         * svg/SVGAnimatedType.h:
76632
76633 2011-06-26  Adam Barth  <abarth@webkit.org>
76634
76635         Reviewed by Eric Seidel.
76636
76637         Remove LegacyDefaultOptionalArguments from XMLHttpRequest.idl and XMLHttpRequestUpload.idl
76638         https://bugs.webkit.org/show_bug.cgi?id=63418
76639
76640         The XMLHttpRequest.idl interface used to implement the new behavior
76641         manually using the RequiresAllArguments attribute.  Now that we have
76642         that behavior by default, we can simply remove the
76643         LegacyDefaultOptionalArguments attribute.
76644
76645         * xml/XMLHttpRequest.idl:
76646         * xml/XMLHttpRequestUpload.idl:
76647
76648 2011-06-26  Dirk Schulze  <krit@webkit.org>
76649
76650         Reviewed by Nikolas Zimmermann.
76651
76652         SVGAnimatedType should support SVGLengthList animation
76653         https://bugs.webkit.org/show_bug.cgi?id=63399
76654
76655         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
76656         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedLengthList.
76657         
76658         Interpolated animations of glyph positions are possible now.
76659
76660         Tests: svg/animations/svglengthlist-animation-1.html
76661                svg/animations/svglengthlist-animation-2.html
76662                svg/animations/svglengthlist-animation-3.html
76663                svg/animations/svglengthlist-animation-4.html
76664
76665         * CMakeLists.txt: Add new file to build system.
76666         * GNUmakefile.list.am: Ditto.
76667         * WebCore.gypi: Ditto.
76668         * WebCore.pro: Ditto.
76669         * WebCore.xcodeproj/project.pbxproj: Ditto.
76670         * svg/SVGAllInOne.cpp: Ditto.
76671         * svg/SVGAnimateElement.cpp: Make use of AnimatedLengthList.
76672         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
76673         (WebCore::SVGAnimateElement::calculateAnimatedValue):
76674         (WebCore::SVGAnimateElement::calculateFromAndToValues):
76675         (WebCore::SVGAnimateElement::calculateFromAndByValues):
76676         (WebCore::SVGAnimateElement::resetToBaseValue):
76677         (WebCore::SVGAnimateElement::applyResultsToTarget):
76678         (WebCore::SVGAnimateElement::calculateDistance):
76679         * svg/SVGAnimatedLengthList.cpp: Added. New animator for SVGLengthList.
76680         (WebCore::SVGAnimatedLengthListAnimator::SVGAnimatedLengthListAnimator):
76681         (WebCore::SVGAnimatedLengthListAnimator::constructFromString):
76682         (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndToValues):
76683         (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndByValues):
76684         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
76685         (WebCore::SVGAnimatedLengthListAnimator::calculateDistance):
76686         * svg/SVGAnimatedLengthList.h:
76687         (WebCore::SVGAnimatedLengthListAnimator::~SVGAnimatedLengthListAnimator):
76688         * svg/SVGAnimatedType.cpp: Add SVGLengthList.
76689         (WebCore::SVGAnimatedType::~SVGAnimatedType):
76690         (WebCore::SVGAnimatedType::createLengthList):
76691         (WebCore::SVGAnimatedType::lengthList):
76692         (WebCore::SVGAnimatedType::valueAsString):
76693         (WebCore::SVGAnimatedType::setValueAsString):
76694         * svg/SVGAnimatedType.h:
76695         * svg/SVGAnimatorFactory.h:
76696         (WebCore::SVGAnimatorFactory::create):
76697         * svg/SVGLength.cpp: Add new constructor with LengthType, LengthMode and value.
76698         (WebCore::SVGLength::SVGLength):
76699         * svg/SVGLength.h:
76700
76701 2011-06-26  Adam Barth  <abarth@webkit.org>
76702
76703         Reviewed by Eric Seidel.
76704
76705         window.location should use the holder's prototype chain
76706         https://bugs.webkit.org/show_bug.cgi?id=63411
76707
76708         This patch corrects the prototype chain for Location, but we really
76709         should do a complete cleanup of the prototype chain generation, like we
76710         did for JavaScriptCore.
76711
76712         Test: http/tests/security/location-prototype.html
76713
76714         * bindings/scripts/CodeGeneratorV8.pm:
76715
76716 2011-06-26  Adam Barth  <abarth@webkit.org>
76717
76718         Reviewed by Eric Seidel.
76719
76720         Add [Optional] attributes where appropriate for addEventListener and removeEventListener
76721         https://bugs.webkit.org/show_bug.cgi?id=63417
76722
76723         This patch doesn't actually change behavior because these interfaces
76724         have the LegacyDefaultOptionalArguments attribute.  This patch paves
76725         the way to removing LegacyDefaultOptionalArguments from some of these
76726         interfaces as well as making the project safer for copy-and-pasting
76727         these methods into new IDL files that don't have the
76728         LegacyDefaultOptionalArguments attribute.
76729
76730         * bindings/scripts/test/TestObj.idl:
76731         * dom/EventTarget.idl:
76732         * dom/MediaStream.idl:
76733         * dom/MessagePort.idl:
76734         * dom/Node.idl:
76735         * loader/appcache/DOMApplicationCache.idl:
76736         * notifications/Notification.idl:
76737         * page/DOMWindow.idl:
76738         * page/EventSource.idl:
76739         * storage/IDBRequest.idl:
76740         * storage/IDBTransaction.idl:
76741         * svg/SVGElementInstance.idl:
76742         * websockets/WebSocket.idl:
76743         * workers/AbstractWorker.idl:
76744         * workers/WorkerContext.idl:
76745         * xml/XMLHttpRequest.idl:
76746         * xml/XMLHttpRequestUpload.idl:
76747
76748 2011-06-26  Adam Barth  <abarth@webkit.org>
76749
76750         Reviewed by Kent Tamura.
76751
76752         m_formElementsWithFormAttribute doesn't ref the objects it holds
76753         https://bugs.webkit.org/show_bug.cgi?id=62956
76754
76755         Test: fast/forms/form-associated-element-crash3.html
76756
76757         * dom/Document.h:
76758
76759 2011-06-26  Dimitri Glazkov  <dglazkov@chromium.org>
76760
76761         Reviewed by Adam Barth.
76762
76763         FileList::filenames should be FileList::paths, because it's more accurate.
76764         https://bugs.webkit.org/show_bug.cgi?id=63414
76765
76766         Refactoring, no change in behavior.
76767
76768         * fileapi/FileList.cpp:
76769         (WebCore::FileList::paths): Renamed from filenames.
76770         * fileapi/FileList.h:
76771         * html/FileInputType.cpp:
76772         (WebCore::FileInputType::handleDOMActivateEvent): Changed to use filenames, also fixed a reach-unto-thyself whoopsie.
76773         (WebCore::FileInputType::requestIcon): Ditto.
76774         (WebCore::FileInputType::filesChosen): Ditto.
76775         * rendering/RenderFileUploadControl.cpp:
76776         (WebCore::RenderFileUploadControl::fileTextValue): Ditto.
76777
76778 2011-06-26  Young Han Lee  <joybro@company100.net>
76779
76780         Reviewed by Dirk Schulze.
76781
76782         SVGAnimation - keyTime value 1 never get animated
76783         https://bugs.webkit.org/show_bug.cgi?id=63230
76784
76785         According to the SMIL 3.0 specification, the index of the keyTimes should be 
76786         determined under the end-point-exclusive rule (e.g. Given keyTimes(0;0.5;1) 
76787         and t=0.5, the current index of the keyTimes have to be 1 not 0).
76788         http://www.w3.org/TR/SMIL3/smil-animation.html#animationNS-InterpolationExamplesAdvanced
76789
76790         Test: svg/animations/animate-number-calcMode-discrete-keyTimes.html
76791
76792         * svg/SVGAnimationElement.cpp:
76793         (WebCore::SVGAnimationElement::calculateKeyTimesIndex):
76794
76795 2011-06-26  Dan Bernstein  <mitz@apple.com>
76796
76797         Reviewed by Darin Adler.
76798
76799         With word-break: break-all, words do not break correctly before a surrogate pair
76800         https://bugs.webkit.org/show_bug.cgi?id=63401
76801
76802         The code to check for mid-word breaks accumulates width one character at a time. It was actually
76803         measuring the two parts of the surrogate pair individually, so they appeared to have zero width.
76804         Fixed by checking for surrogate pairs and measuring the pair as one unit.
76805
76806         Test: fast/text/midword-break-before-surrogate-pair.html
76807
76808         * rendering/RenderBlockLineLayout.cpp:
76809         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
76810
76811 2011-06-26  Dirk Schulze  <krit@webkit.org>
76812
76813         Reviewed by Nikolas Zimmermann.
76814
76815         SVGAnimatedType should support SVGNumberOptionalNumber animation
76816         https://bugs.webkit.org/show_bug.cgi?id=63397
76817         
76818         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
76819         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedNumberOptionalNumber.
76820         
76821         Animations of attributes with type SVGAnimatedNumberOptionalNumber can be interpolated now. This can be used for smooth
76822         growing shadows with feGaussianBlur, feDropShadow or other filter effects.
76823
76824         Tests: svg/animations/svgnumberoptionalnumber-animation-1.html
76825                svg/animations/svgnumberoptionalnumber-animation-2.html
76826                svg/animations/svgnumberoptionalnumber-animation-3.html
76827                svg/animations/svgnumberoptionalnumber-animation-4.html
76828
76829         * CMakeLists.txt: Added new files to build system.
76830         * GNUmakefile.list.am: Ditto.
76831         * WebCore.gypi: Ditto.
76832         * WebCore.pro: Ditto.
76833         * WebCore.vcproj/WebCore.vcproj: Ditto.
76834         * WebCore.xcodeproj/project.pbxproj: Ditto.
76835         * svg/SVGAllInOne.cpp: Ditto.
76836         * svg/SVGAnimateElement.cpp: Make use of attribute type AnimatedNumberOptionalNumber.
76837         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
76838         (WebCore::SVGAnimateElement::calculateAnimatedValue):
76839         (WebCore::SVGAnimateElement::calculateFromAndToValues):
76840         (WebCore::SVGAnimateElement::calculateFromAndByValues):
76841         (WebCore::SVGAnimateElement::resetToBaseValue):
76842         (WebCore::SVGAnimateElement::applyResultsToTarget):
76843         (WebCore::SVGAnimateElement::calculateDistance):
76844         * svg/SVGAnimatedNumberOptionalNumber.cpp: Added. New animator for SVGAnimatedNumberOptionalNumber.
76845         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::SVGAnimatedNumberOptionalNumberAnimator):
76846         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromString):
76847         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateFromAndToValues):
76848         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateFromAndByValues):
76849         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
76850         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateDistance):
76851         * svg/SVGAnimatedNumberOptionalNumber.h: Added.
76852         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::~SVGAnimatedNumberOptionalNumberAnimator):
76853         * svg/SVGAnimatedType.cpp: Added new type: pair<float, float>.
76854         (WebCore::SVGAnimatedType::~SVGAnimatedType):
76855         (WebCore::SVGAnimatedType::createNumberOptionalNumber):
76856         (WebCore::SVGAnimatedType::numberOptionalNumber):
76857         (WebCore::SVGAnimatedType::valueAsString):
76858         (WebCore::SVGAnimatedType::setValueAsString):
76859         * svg/SVGAnimatedType.h:
76860         * svg/SVGAnimatorFactory.h: Add new animator to factory.
76861         (WebCore::SVGAnimatorFactory::create):
76862
76863 2011-06-25  Dimitri Glazkov  <dglazkov@chromium.org>
76864
76865         Reviewed by Adam Barth.
76866
76867         Crash in frameless document with media element.
76868         https://bugs.webkit.org/show_bug.cgi?id=63393
76869
76870         Since MediaControls::create can return 0 (and does for frameless documents), we must anticipate it
76871         in the calling code.
76872
76873         Test: fast/dom/shadow/frameless-media-element-crash.html
76874
76875         * html/HTMLMediaElement.cpp:
76876         (WebCore::HTMLMediaElement::attributeChanged): Changed to bail out if controls weren't successfully created.
76877         (WebCore::HTMLMediaElement::createMediaControls): Renamed to better reflect the purpose, changed to handle failure of creation.
76878         (WebCore::HTMLMediaElement::preDispatchEventHandler): Changed to bail out if controls weren't successfully created.
76879         * html/HTMLMediaElement.h: Adjusted def.
76880
76881 2011-06-25  Joseph Pecoraro  <joepeck@webkit.org>
76882
76883         Reviewed by Darin Adler.
76884
76885         Fix some minor style issues
76886         https://bugs.webkit.org/show_bug.cgi?id=63391
76887
76888         * inspector/DOMNodeHighlighter.cpp:
76889         (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
76890         The explicit WebCore namespace usage can be dropped.
76891
76892         * rendering/RenderView.cpp:
76893         (WebCore::RenderView::mapLocalToContainer):
76894         Use ASSERT_UNUSED for a parameter that we want to ASSERT
76895         on for a debug build, but is UNUSED in a release build.
76896
76897 2011-06-25  Joseph Pecoraro  <joepeck@webkit.org>
76898
76899         Unreviewed build fix.
76900
76901         Use UNUSED_PARAM on the correct param!
76902
76903         * rendering/RenderView.cpp:
76904         (WebCore::RenderView::mapLocalToContainer):
76905
76906 2011-06-25  Joseph Pecoraro  <joepeck@webkit.org>
76907
76908         Reviewed by Simon Fraser.
76909
76910         Inspector highlight rect is wrong for contents of transformed iframes
76911         https://bugs.webkit.org/show_bug.cgi?id=53627
76912
76913         Part 2: Only adjust for the FrameView's scroll position when
76914         the localToAbsolute mapping did not end with fixed content.
76915         Content that is inside of a fixed position container is already
76916         adjusted for the FrameView's scrollPosition when RenderView
76917         maps local to container.
76918
76919         This patch uses a "wasFixed" out parameter to determine if
76920         the localToAbsolute transformation ended inside a fixed block,
76921         and if so does not apply the scroll position.
76922
76923         * page/FrameView.cpp:
76924         (WebCore::FrameView::convertFromRenderer):
76925         Respect wasFixed as described above.
76926
76927         * rendering/RenderBox.h:
76928         * rendering/RenderBox.cpp:
76929         (WebCore::RenderBox::mapLocalToContainer):
76930         This is the only time that "fixed" ever changed. So when
76931         fixed changes, update the optional wasFixed out parameter.
76932
76933         * rendering/RenderObject.cpp:
76934         (WebCore::RenderObject::localToAbsolute):
76935         (WebCore::RenderObject::mapLocalToContainer):
76936         (WebCore::RenderObject::localToContainerQuad):
76937         * rendering/RenderObject.h:
76938         (WebCore::RenderObject::localToAbsoluteQuad):
76939         Ignore wasFixed by default, but pipe it though where needed.
76940
76941         * rendering/RenderView.h:
76942         * rendering/RenderView.cpp:
76943         (WebCore::RenderView::mapLocalToContainer):
76944         This is the final recursive call, so wasFixed goes no
76945         further. We sanity check its value in debug builds.
76946
76947         * rendering/RenderBlock.cpp:
76948         (WebCore::RenderBlock::selectionGapRectsForRepaint):
76949         * rendering/RenderInline.cpp:
76950         (WebCore::RenderInline::mapLocalToContainer):
76951         * rendering/RenderInline.h:
76952         * rendering/svg/RenderSVGForeignObject.cpp:
76953         (WebCore::RenderSVGForeignObject::mapLocalToContainer):
76954         * rendering/svg/RenderSVGForeignObject.h:
76955         * rendering/svg/RenderSVGInline.cpp:
76956         (WebCore::RenderSVGInline::mapLocalToContainer):
76957         * rendering/svg/RenderSVGInline.h:
76958         * rendering/svg/RenderSVGModelObject.cpp:
76959         (WebCore::RenderSVGModelObject::mapLocalToContainer):
76960         * rendering/svg/RenderSVGModelObject.h:
76961         * rendering/svg/RenderSVGRoot.cpp:
76962         (WebCore::RenderSVGRoot::mapLocalToContainer):
76963         * rendering/svg/RenderSVGRoot.h:
76964         * rendering/svg/RenderSVGText.cpp:
76965         (WebCore::RenderSVGText::mapLocalToContainer):
76966         * rendering/svg/RenderSVGText.h:
76967         * rendering/svg/SVGRenderSupport.cpp:
76968         (WebCore::SVGRenderSupport::mapLocalToContainer):
76969         * rendering/svg/SVGRenderSupport.h:
76970         Pipe wasFixed through where needed.
76971
76972 2011-06-25  Joseph Pecoraro  <joepeck@webkit.org>
76973
76974         Reviewed by Simon Fraser.
76975
76976         Inspector highlight rect is wrong for contents of transformed iframes
76977         https://bugs.webkit.org/show_bug.cgi?id=53627
76978
76979         Part 1: Provide FloatQuad versions of convertFromRenderer,
76980         convertToContainingView, and convertChildToSelf, so that we
76981         can get the fully transformed quad of a renderer all the
76982         way up to the root widget.
76983
76984         * page/FrameView.cpp:
76985         (WebCore::FrameView::convertFromRenderer):
76986         (WebCore::FrameView::convertToContainingView):
76987         * page/FrameView.h:
76988         * platform/ScrollView.h:
76989         (WebCore::ScrollView::convertChildToSelf):
76990         * platform/Widget.h:
76991         * platform/Widget.cpp:
76992         (WebCore::Widget::convertToContainingView):
76993         Provide FloatQuad versions of these already existing functions.
76994
76995         (WebCore::Widget::convertToRootContainingView):
76996         Provide a helper conversion function to recursively
76997         convert a given FloatQuad up to the root widget.
76998
76999         * inspector/DOMNodeHighlighter.cpp:
77000         (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
77001         Use the new methods to convert the FloatQuad for the highlighted
77002         node to the root container, without losing transformation
77003         information. Add a FIXME for SVG, which is still broken.
77004
77005         * WebCore.exp.in:
77006         Export the new Widget functions so WebKit can link properly.
77007
77008 2011-06-25  Dirk Schulze  <krit@webkit.org>
77009
77010         Unreviewed build fix.
77011
77012         SVGAnimatedType should support SVGNumberList animation
77013         https://bugs.webkit.org/show_bug.cgi?id=63387
77014
77015         * svg/SVGAnimatedNumberList.cpp:
77016         (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
77017
77018 2011-06-25  Dirk Schulze  <krit@webkit.org>
77019
77020         Reviewed by Nikolas Zimmermann.
77021
77022         SVGAnimatedType should support SVGNumberList animation
77023         https://bugs.webkit.org/show_bug.cgi?id=63387
77024         
77025         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
77026         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGNumberList.
77027         
77028         Animations of attributes with type SVGNumberList can be interpolated now.
77029
77030         Tests: svg/animations/svgnumberlist-animation-1.html
77031                svg/animations/svgnumberlist-animation-2.html
77032
77033         * CMakeLists.txt: Added new file to build system.
77034         * GNUmakefile.list.am: Ditto.
77035         * WebCore.gypi: Ditto.
77036         * WebCore.pro: Ditto.
77037         * WebCore.xcodeproj/project.pbxproj: Ditto.
77038         * svg/SVGAllInOne.cpp: Ditto.
77039         * svg/SVGAnimateElement.cpp: Make use of attribute type AnimatedNumberList.
77040         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
77041         (WebCore::SVGAnimateElement::calculateAnimatedValue):
77042         (WebCore::SVGAnimateElement::calculateFromAndToValues):
77043         (WebCore::SVGAnimateElement::calculateFromAndByValues):
77044         (WebCore::SVGAnimateElement::resetToBaseValue):
77045         (WebCore::SVGAnimateElement::applyResultsToTarget):
77046         (WebCore::SVGAnimateElement::calculateDistance):
77047         * svg/SVGAnimatedNumber.cpp:
77048         (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedNumber): Made method static for reuse in SVGAnimatedNumberList (and SVGAnimatedNumberOptionalNumber later).
77049         (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue): Use new static function.
77050         * svg/SVGAnimatedNumber.h:
77051         * svg/SVGAnimatedNumberList.cpp: Added. New animator for SVGNumberList.
77052         (WebCore::SVGAnimatedNumberListAnimator::SVGAnimatedNumberListAnimator):
77053         (WebCore::SVGAnimatedNumberListAnimator::constructFromString):
77054         (WebCore::SVGAnimatedNumberListAnimator::calculateFromAndToValues):
77055         (WebCore::SVGAnimatedNumberListAnimator::calculateFromAndByValues):
77056         (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
77057         (WebCore::SVGAnimatedNumberListAnimator::calculateDistance):
77058         * svg/SVGAnimatedNumberList.h:
77059         (WebCore::SVGAnimatedNumberListAnimator::~SVGAnimatedNumberListAnimator):
77060         * svg/SVGAnimatedType.cpp: Use new Animator.
77061         (WebCore::SVGAnimatedType::~SVGAnimatedType):
77062         (WebCore::SVGAnimatedType::createNumberList):
77063         (WebCore::SVGAnimatedType::numberList):
77064         (WebCore::SVGAnimatedType::valueAsString):
77065         (WebCore::SVGAnimatedType::setValueAsString):
77066         * svg/SVGAnimatedType.h:
77067         * svg/SVGAnimatorFactory.h:
77068         (WebCore::SVGAnimatorFactory::create):
77069
77070 2011-06-25  Nikolas Zimmermann  <nzimmermann@rim.com>
77071
77072         Reviewed by Dirk Schulze.
77073
77074         Convert SVGPath to SVGAnimatorFactory concept
77075         https://bugs.webkit.org/show_bug.cgi?id=63336
77076
77077         Convert <animate attributeName="d"> parsing to the new SVGAnimatorFactory concept, removing
77078         the last special data types from SVGAnimateElement: SVGPathByteStream m_fromPath/m_toPath/m_animatedPath.
77079         All existing non-string primitives have been converted to the new concept.
77080
77081         Doesn't change any functionality.
77082
77083         * CMakeLists.txt: Added SVGAnimatedPath.*.
77084         * GNUmakefile.list.am: Ditto.
77085         * WebCore.gypi: Ditto.
77086         * WebCore.pro: Ditto.
77087         * WebCore.vcproj/WebCore.vcproj: Ditto.
77088         * WebCore.xcodeproj/project.pbxproj: Ditto.
77089         * svg/SVGAllInOne.cpp: Ditto.
77090         * svg/SVGAnimateElement.cpp:
77091         (WebCore::SVGAnimateElement::SVGAnimateElement):
77092         (WebCore::SVGAnimateElement::calculateAnimatedValue):
77093         (WebCore::SVGAnimateElement::calculateFromAndToValues):
77094         (WebCore::SVGAnimateElement::calculateFromAndByValues):
77095         (WebCore::SVGAnimateElement::resetToBaseValue):
77096         (WebCore::SVGAnimateElement::applyResultsToTarget):
77097         * svg/SVGAnimateElement.h:
77098         * svg/SVGAnimatedPath.cpp: Added.
77099         (WebCore::SVGAnimatedPathAnimator::SVGAnimatedPathAnimator):
77100         (WebCore::SVGAnimatedPathAnimator::constructFromString):
77101         (WebCore::SVGAnimatedPathAnimator::calculateFromAndToValues):
77102         (WebCore::SVGAnimatedPathAnimator::calculateFromAndByValues):
77103         (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
77104         (WebCore::SVGAnimatedPathAnimator::calculateDistance):
77105         * svg/SVGAnimatedPath.h: Added.
77106         (WebCore::SVGAnimatedPathAnimator::~SVGAnimatedPathAnimator):
77107         * svg/SVGAnimatedType.cpp:
77108         (WebCore::SVGAnimatedType::~SVGAnimatedType):
77109         (WebCore::SVGAnimatedType::createPath):
77110         (WebCore::SVGAnimatedType::path):
77111         (WebCore::SVGAnimatedType::valueAsString):
77112         (WebCore::SVGAnimatedType::setValueAsString):
77113         * svg/SVGAnimatedType.h:
77114         * svg/SVGAnimatorFactory.h:
77115         (WebCore::SVGAnimatorFactory::create):
77116         * svg/SVGPathByteStream.h:
77117         (WebCore::SVGPathByteStream::initializeFrom):
77118         * svg/SVGPathParserFactory.cpp:
77119         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
77120         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
77121         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
77122
77123 2011-06-25  Jer Noble  <jer.noble@apple.com>
77124
77125         Reviewed by Maciej Stachowiak.
77126
77127         SOFT_LINK_POINTER_OPTIONAL isn't optional.
77128         https://bugs.webkit.org/show_bug.cgi?id=63378
77129
77130         Continuation of r89718.  SOFT_LINK_POINTER_OPTIONAL should check the value returned by dlsym before dereferencing it.
77131
77132         * platform/mac/SoftLinking.h:
77133
77134 2011-06-25  Rob Buis  <rbuis@rim.com>
77135
77136         Reviewed by Nikolas Zimmermann.
77137
77138         SVG1.1SE test linking-uri-01-b.svg fails
77139         https://bugs.webkit.org/show_bug.cgi?id=63322
77140
77141         Allow navigating to internal <view> targets. When choosing Back ensure
77142         the <svg> current view is initialized correctly.
77143
77144         Tests: svg/W3C-SVG-1.1-SE/linking-uri-01-b.svg
77145                svg/custom/linking-uri-01-b.svg
77146
77147         * page/FrameView.cpp: Delegate to setupInitialView.
77148         (WebCore::FrameView::scrollToAnchor):
77149         * svg/SVGAElement.cpp: Allow navigating to internal <view> targets.
77150         (WebCore::SVGAElement::defaultEventHandler):
77151         * svg/SVGSVGElement.cpp:
77152         (WebCore::SVGSVGElement::setupInitialView): Initialize current view depending on fragment identifier.
77153         (WebCore::SVGSVGElement::inheritViewAttributes):
77154         * svg/SVGSVGElement.h:
77155
77156 2011-06-24  Dimitri Glazkov  <dglazkov@chromium.org>
77157
77158         Reviewed by Darin Adler.
77159
77160         REGRESSION (r77740): Shadow DOM pseudo elements aren't matching when combined with descendant selectors
77161         https://bugs.webkit.org/show_bug.cgi?id=63373
77162
77163         * css/CSSStyleSelector.cpp:
77164         (WebCore::CSSStyleSelector::pushParentStackFrame): Changed to use parentOrHostElement.
77165         (WebCore::CSSStyleSelector::pushParent): Ditto.
77166         * dom/Node.cpp:
77167         (WebCore::Node::parentOrHostElement): Added.
77168         * dom/Node.h:
77169
77170 2011-06-24  Dan Bernstein  <mitz@apple.com>
77171
77172         Reviewed by Anders Carlsson.
77173
77174         Add an option to enable legacy rounding hacks
77175         https://bugs.webkit.org/show_bug.cgi?id=63363
77176
77177         Restored most of text rounding hacks which were removed in r78846, with a global flag to control
77178         whether rounding hacks are allowed, which defaults to false.
77179
77180         Test: platform/mac/fast/text/rounding-hacks.html
77181
77182         * CMakeLists.txt: Added TextRun.cpp.
77183         * GNUmakefile.list.am: Ditto.
77184         * WebCore.exp.in: Export new TextRun function and global and updated StringTruncator functions.
77185         * WebCore.gypi: Added TextRun.cpp.
77186         * WebCore.pro: Ditto.
77187         * WebCore.vcproj/WebCore.vcproj: Ditto.
77188         * WebCore.xcodeproj/project.pbxproj: Ditto.
77189         * html/canvas/CanvasRenderingContext2D.cpp:
77190         (WebCore::CanvasRenderingContext2D::drawTextInternal): Disable rounding hacks in the one place
77191         they used to be disabled.
77192         * platform/graphics/Font.cpp: Re-added the rounding character table.
77193         * platform/graphics/Font.h:
77194         (WebCore::Font::isRoundingHackCharacter): Re-added.
77195         * platform/graphics/FontFastPath.cpp:
77196         (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Account for final rounding width.
77197         * platform/graphics/SimpleFontData.cpp:
77198         (WebCore::SimpleFontData::platformGlyphInit): Initialize m_adjustedSpaceWidth.
77199         * platform/graphics/SimpleFontData.h:
77200         (WebCore::SimpleFontData::adjustedSpaceWidth): Re-added.
77201         * platform/graphics/StringTruncator.cpp:
77202         (WebCore::stringWidth): Re-added disableRoundingHacks parameter.
77203         (WebCore::truncateString): Ditto.
77204         (WebCore::StringTruncator::centerTruncate): Added EnableRoundingHacksOrNot parameter.
77205         (WebCore::StringTruncator::rightTruncate): Ditto.
77206         (WebCore::StringTruncator::width): Ditto.
77207         * platform/graphics/StringTruncator.h:
77208         * platform/graphics/TextRun.cpp: Added.
77209         (WebCore::TextRun::setAllowsRoundingHacks): Added.
77210         * platform/graphics/TextRun.h:
77211         (WebCore::TextRun::TextRun): Added RoundingHacks parameter to the constructors, used to initialize
77212         the m_applyRunRounding and m_applyWordRounding member variables, subject to rounding hacks being allowed.
77213         (WebCore::TextRun::applyRunRounding): Re-added this accessor.
77214         (WebCore::TextRun::applyWordRounding): Ditto.
77215         (WebCore::TextRun::disableRoundingHacks): Re-added.
77216         * platform/graphics/WidthIterator.cpp:
77217         (WebCore::WidthIterator::WidthIterator): Re-added code to apply rounding hacks.
77218         (WebCore::WidthIterator::advance): Ditto.
77219         * platform/graphics/WidthIterator.h:
77220         * platform/graphics/mac/ComplexTextController.cpp:
77221         (WebCore::ceilCGFloat): Re-added.
77222         (WebCore::ComplexTextController::ComplexTextController): Re-added code to apply rounding hacks.
77223         (WebCore::ComplexTextController::advance): Ditto.
77224         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Ditto.
77225         * platform/graphics/mac/ComplexTextController.h:
77226         (WebCore::ComplexTextController::finalRoundingWidth): Re-added this accessor.
77227         * platform/graphics/mac/FontComplexTextMac.cpp:
77228         (WebCore::Font::getGlyphsAndAdvancesForComplexText): Accound for final rounding width.
77229         * platform/graphics/qt/SimpleFontDataQt.cpp:
77230         (WebCore::SimpleFontData::platformGlyphInit): Initialize m_adjustedSpaceWidth.
77231         * platform/gtk/RenderThemeGtk.cpp:
77232         (WebCore::RenderThemeGtk::fileListNameForWidth): Enabled rounding hacks in the string truncator.
77233         * platform/mac/DragImageMac.mm:
77234         (WebCore::widthWithFont): Disable rounding hacks when measuring.
77235         (WebCore::drawAtPoint): Disable rounding hacks when drawing.
77236         * platform/win/DragImageWin.cpp:
77237         (WebCore::createDragImageForLink): Enable rounding hacks in the string truncator.
77238         * platform/win/WebCoreTextRenderer.cpp:
77239         (WebCore::WebCoreTextFloatWidth): Ditto.
77240         * rendering/RenderFileUploadControl.cpp:
77241         (WebCore::RenderFileUploadControl::paintObject): Disable rounding hacks.
77242         * rendering/RenderListBox.cpp:
77243         (WebCore::RenderListBox::updateFromElement): Ditto.
77244         (WebCore::RenderListBox::paintItemForeground): Ditto.
77245         * rendering/RenderTextControl.cpp:
77246         (WebCore::RenderTextControl::getAvgCharWidth): Ditto.
77247         * rendering/RenderTheme.cpp:
77248         (WebCore::RenderTheme::fileListNameForWidth): Enabled rounding hacks in the string truncator.
77249         * rendering/RenderThemeMac.mm:
77250         (WebCore::RenderThemeMac::fileListNameForWidth): Ditto.
77251         * rendering/svg/SVGInlineTextBox.cpp:
77252         (WebCore::SVGInlineTextBox::constructTextRun): Disabled rounding hacks.
77253         * rendering/svg/SVGTextMetrics.cpp:
77254         (WebCore::constructTextRun): Ditto.
77255
77256 2011-06-24  Nikolas Zimmermann  <nzimmermann@rim.com>
77257
77258         Reviewed by Rob Buis.
77259
77260         Integrate SVG Fonts within GlyphPage concept, removing the special SVG code paths from Font, making it possible to reuse the simple text code path for SVG Fonts
77261         https://bugs.webkit.org/show_bug.cgi?id=59085
77262
77263         font substitution doesn't work for HTML text using SVG fonts
77264         https://bugs.webkit.org/show_bug.cgi?id=17608
77265
77266         Selection rects are wrong for text with SVG fonts
77267         https://bugs.webkit.org/show_bug.cgi?id=25460
77268
77269         With @font-face, SVG fonts only work as primary, non-segmented
77270         https://bugs.webkit.org/show_bug.cgi?id=32227
77271
77272         When using SVG fonts with @font-face word-spacing and text-align: justify are not being honored
77273         https://bugs.webkit.org/show_bug.cgi?id=34236
77274
77275         SVG @font-face breaks text-overflow: ellipsis
77276         https://bugs.webkit.org/show_bug.cgi?id=36840
77277
77278         REGRESSION: SVG Font selection problems
77279         https://bugs.webkit.org/show_bug.cgi?id=41934
77280
77281         Tests: svg/custom/svg-fonts-fallback.xhtml (for bug 17608, extended the original test from Mark Ambachtsheer)
77282                svg/custom/svg-fonts-segmented.xhtml (for bug 32227)
77283                svg/custom/svg-fonts-word-spacing.html (for bug 34236, from Michael Lewis)
77284                svg/text/select-text-svgfont.html (for bug 25460/41934, from Emil Schutte)
77285                svg/text/text-overflow-ellipsis-svgfont.html (for 36840, from Emil Schutte)
77286
77287         Rewrite the SVG Fonts support to fully integrate within the GlyphPage concept and the "simple" code path used to render platform fonts.
77288         That means the special logic for measuring text using SVG Fonts, calculating offset for positions, computing selection rects etc. is all gone now.
77289         There's no difference anymore between using a native font or a SVG Font, in terms of these operations.
77290
77291         This makes text selection using SVG Fonts possible again.
77292
77293         * features.pri: Temporarily turn of SVG Fonts for Qt, as long as QRawFont support is not available and the fast path is disabled.
77294         * page/DOMWindow.idl: Touched file to force Qt regenerating the bindings.
77295         * platform/graphics/Font.cpp: Remove SVG Font special cases, the simple code path now handles SVG Fonts as well.
77296         (WebCore::Font::drawText):
77297         (WebCore::Font::drawEmphasisMarks):
77298         (WebCore::Font::width):
77299         (WebCore::Font::selectionRectForText):
77300         (WebCore::Font::offsetForPosition):
77301         (WebCore::Font::codePath):
77302         * platform/graphics/Font.h: Pass TextRun to drawGlyphBuffer/drawEmphasisMarks. Add new glyphDataAndPageForCharacter() method which returns a pair
77303                                     std::pair<GlyphData, GlyphPage*>, so we know the associated GlyphPage for a certain GlyphData object, which is needed to properly
77304                                     handle font fallback glyph matching for SVG Fonts..
77305         (WebCore::Font::fontList): Add FontFallbackList accessor.
77306         * platform/graphics/FontFallbackList.h: Add getters/setters for glyphPageZero -- SVG Fonts support needs access to these objects from SVGTextRunRenderingContext.
77307         (WebCore::FontFallbackList::glyphPageZero):
77308         (WebCore::FontFallbackList::glyphPages):
77309         (WebCore::FontFallbackList::setGlyphPageZero):
77310         (WebCore::FontFallbackList::setGlyphPages):
77311         * platform/graphics/FontFastPath.cpp:
77312         (WebCore::Font::glyphDataForCharacter): Move implementation to glyphDataAndPageForCharacter(), and use that method from here.
77313         (WebCore::Font::glyphDataAndPageForCharacter): Does the same as before, just returns an additional GlyphPage* pointer.
77314         (WebCore::Font::getEmphasisMarkGlyphData): Remove SVG Fonts special case.
77315         (WebCore::Font::drawGlyphBuffer): Ditto.
77316         * platform/graphics/FontMetrics.h:
77317         (WebCore::scaleEmToUnits): Refactored scaleEmToUnits free function from SimpleFontDataMac/CGWin to share with SVGFontData/SVGTextRunRenderingContext.
77318         * platform/graphics/GlyphPageTreeNode.cpp:
77319         (WebCore::fill): Stop skipping SVG Fonts, they now also fill the GlyphPage using the glyphs defined in the SVG Font.
77320         * platform/graphics/SVGGlyph.h: s/isValid/isPartOfLigature/. Its usage has been changed.
77321         (WebCore::SVGGlyph::SVGGlyph):
77322         (WebCore::SVGGlyph::operator==):
77323         * platform/graphics/SimpleFontData.cpp: Change font size to be a float, not an int.
77324         (WebCore::SimpleFontData::SimpleFontData):
77325         * platform/graphics/SimpleFontData.h: Add new pure virtual methods to the AdditionalFontData interface, to be implemented in SVGFontData.
77326         (WebCore::SimpleFontData::widthForGlyph): Call widthForSVGGlyph, if we encounter a SVG glyph.
77327         * platform/graphics/TextRun.h: 
77328         * platform/graphics/WidthIterator.cpp:
77329         (WebCore::WidthIterator::glyphDataForCharacter):
77330         (WebCore::WidthIterator::advance):
77331         * platform/graphics/WidthIterator.h: Store several new members needed for SVG Fonts support (last processed glyph name used for kerning pair lookup)
77332                                              and a map mapping each character of a text to its arabic-form (if needed, to perform SVG glyph selection for Arabic text).
77333         (WebCore::WidthIterator::run):
77334         (WebCore::WidthIterator::runWidthSoFar):
77335         (WebCore::WidthIterator::lastGlyphName):
77336         (WebCore::WidthIterator::setLastGlyphName):
77337         (WebCore::WidthIterator::arabicForms):
77338         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Use new scaleEmToUnits free function from FontMetrics.h.
77339         * platform/graphics/mac/SimpleFontDataMac.mm: Ditto.
77340         * platform/graphics/win/SimpleFontDataCGWin.cpp: Ditto.
77341         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
77342         (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): Handle UTF-16 surrogate pairs correctly, fixes the previous Acid3 regression.
77343         * rendering/svg/SVGTextMetrics.cpp:
77344         (WebCore::SVGTextMetrics::SVGTextMetrics):
77345         (WebCore::constructTextRun):
77346         (WebCore::SVGTextMetrics::measureCharacterRange):
77347         * rendering/svg/SVGTextMetrics.h:
77348         * rendering/svg/SVGTextRunRenderingContext.cpp: Remove drawTextUsingSVGFont/floatWidthUsingSVGFont/selectionRectForTextUsingSVGFont/offsetForPositionForTextUsingSVGFont.
77349         (WebCore::firstParentRendererForNonTextNode): Don't assert node() exists, doesn't hold true for generated render objects.
77350         (WebCore::renderObjectFromRun): Renamed from referencingRenderObjectFromRun.
77351         (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont): Remove extra "extraCharsAvailable" parameter, now solves via TextRun::charactersLength().
77352         (WebCore::calculateEmUnitToPixelScaleFactor): Add helper method.
77353         (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs): Main drawing method, this actually creates/renders Paths.
77354         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Part 1/2 of SVG Glyph selection code.
77355         * rendering/svg/SVGTextRunRenderingContext.h:
77356         * svg/SVGAltGlyphElement.cpp:
77357         (WebCore::SVGAltGlyphElement::hasValidGlyphElement):
77358         * svg/SVGAltGlyphElement.h:
77359         * svg/SVGFontData.cpp:
77360         (WebCore::SVGFontData::initializeFontData): Changed font size from int to float.
77361         (WebCore::SVGFontData::widthForSVGGlyph): Lookup a SVGGlyph from a Glyph using the glyph table in SVGFontElement and calculate its width.
77362         (WebCore::SVGFontData::applySVGGlyphSelection): Part 2/2 of SVG Glyph selection code.
77363         (WebCore::SVGFontData::fillSVGGlyphPage): Fill GlyphPage using glyphs defined in the SVG Font.
77364         (WebCore::SVGFontData::fillBMPGlyphs): Moved from the previous fillSVGGlyphPage implementation.
77365         (WebCore::SVGFontData::fillNonBMPGlyphs): Add non-bmp glyph handling, fixing the Acid3 regression (support using SVGGlyphs for UTF-16 surrogate pairs).
77366         * svg/SVGFontData.h:
77367         * svg/SVGFontElement.cpp:
77368         (WebCore::SVGFontElement::registerLigaturesInGlyphCache): Enable ligature registration for the use within GlyphPage.
77369         (WebCore::SVGFontElement::ensureGlyphCache):
77370         * svg/SVGGlyphMap.h: Switch to use SurrogatePairTextIterator, and switch glyph table from UChar to UChar32, just like GlyphPage, to handle glyphs from non-BMP correctly.
77371         (WebCore::SVGGlyphMap::addGlyph): Remove setting isValid, it's not needed anymore and gone.
77372         (WebCore::SVGGlyphMap::collectGlyphsForString):
77373         * svg/svgtags.in: Surround vkern in ENABLE_SVG_FONTS block.
77374
77375 2011-06-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
77376
77377         Reviewed by Antonio Gomes.
77378
77379         [CMAKE] Replace ";" with space in FEATURE_DEFINES macro
77380         https://bugs.webkit.org/show_bug.cgi?id=62211
77381
77382         html.css file doesn't recognize ENABLE_XXX macro because FEATURE_DEFINES macro has ";"
77383         as separator. So, let the html.css to use new feature macro with space separator.
77384
77385         * CMakeLists.txt:
77386
77387 2011-06-24  Gavin Peters  <gavinp@chromium.org>
77388
77389         Reviewed by Darin Adler.
77390
77391         fix possible race in LinkLoader
77392         https://bugs.webkit.org/show_bug.cgi?id=63360
77393
77394         In chromium bug 80729
77395         http://code.google.com/p/chromium/issues/detail?id=80729 I am
77396         seeing some kind of double triggering of the timer; I am concerned
77397         that it is possible that a Link element errors out or succeeds,
77398         sets a timer, and shortly before the timer is triggered it is
77399         editted, launches another request.  After that, the first timer
77400         triggers, zeroing out m_cachedResource.  Then, the second load
77401         finishes, and *crash*.  If this is the case, this fix should stop
77402         it.
77403
77404         No new tests; I haven't reproduced this.  I hope chrome's crash
77405         telemetry will give good feedback; this crash is occuring many times a
77406         day so the difference should be obvious.
77407
77408         * loader/LinkLoader.cpp:
77409         (WebCore::LinkLoader::LinkLoader):
77410         (WebCore::LinkLoader::linkLoadTimerFired):
77411         (WebCore::LinkLoader::linkLoadingErrorTimerFired):
77412         (WebCore::LinkLoader::notifyFinished):
77413         * loader/LinkLoader.h:
77414
77415 2011-06-24  Jer Noble  <jer.noble@apple.com>
77416
77417         Reviewed by Eric Carlson.
77418
77419         Safari will quit unexpectedly when launching Safari in the first time (crash in initQTSecurityPolicyNoLocalToRemoteSiteAttribute)
77420         https://bugs.webkit.org/show_bug.cgi?id=63332
77421         <rdar://problem/9661650>
77422
77423         No new tests; Only affects machines with QTKit < 7.6.3 installed.
77424
77425         Check to see if QTSecurityPolicyNoRemoteToLocalSiteAttribute is non-NULL before passing it into -[QTMovie initWithAttributes:],
77426         as it is only defined in QTKit >= 7.6.3.  If it is NULL, pass QTSecurityPolicyNoCrossSiteAttribute=YES instead, which has
77427         the same effect in earlier versions of QTKit as the NoLocalToRemote and NoRemoteToLocal keys.  To avoid ASSERTs when running
77428         debug builds with earlier versions of QTKit, add a SOFT_LINK_POINTER_OPTIONAL macro to SoftLinking.h and make these keys optional.
77429
77430         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
77431         (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes):
77432         * platform/mac/SoftLinking.h: Add SOFT_LINK_POINTER_OPTIONAL macro.
77433
77434 2011-06-24  Darin Adler  <darin@apple.com>
77435
77436         Try to fix Windows build failure.
77437
77438         * platform/win/ClipboardUtilitiesWin.cpp:
77439         (WebCore::setFileDescriptorData): Copy string into a local so we
77440         can call charactersWithNullTermination on it.
77441
77442 2011-06-23  Darin Adler  <darin@apple.com>
77443
77444         Reviewed by Adam Barth.
77445
77446         Remove some unneeded functions from FrameLoader
77447         https://bugs.webkit.org/show_bug.cgi?id=63295
77448
77449         Removing 7 of the functions in FrameLoader.h is probably a step
77450         in the right direction.
77451
77452         * loader/DocumentLoader.cpp:
77453         (WebCore::DocumentLoader::handledOnloadEvents):
77454         Moved the call to stopDeferringEvents in here from FrameLoader.
77455         * loader/DocumentLoader.h: Ditto.
77456
77457         * loader/DocumentWriter.h: Fixed a typo.
77458
77459         * loader/FrameLoader.cpp:
77460         (WebCore::FrameLoader::setFirstPartyForCookies): Changed this to
77461         use a non-recursive tree walk instead of recursion.
77462         (WebCore::FrameLoader::stopAllLoaders): Moved the code from
77463         stopLoadingSubframes inline, since it's only two lines of code.
77464         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Moved
77465         the code from markLoadComplete inline, since it's only one line.
77466         (WebCore::FrameLoader::checkLoadComplete): Changed this to use a
77467         non-recursive tree walk instead of recursion, eliminating the
77468         recursiveCheckLoadComplete function completely.
77469         (WebCore::FrameLoader::handledOnloadEvents): Moved the call to
77470         stopDeferringEvents into DocumentLoader.
77471
77472         * loader/FrameLoader.h: Removed unneeded forward declarations,
77473         and now-unneeded functions setupForReplaceByMIMEType,
77474         isStopping, isLoadingFromCachedPage, stopLoadingSubframes,
77475         markLoadComplete, mainReceivedError, and recursiveCheckLoadComplete.
77476         Also made allChildrenAreComplete private.
77477
77478         * loader/MainResourceLoader.cpp:
77479         (WebCore::MainResourceLoader::continueAfterContentPolicy):
77480         Call DocumentLoader::isStopping so we can remove the function
77481         from FrameLoader that just calls through. Other call sites were
77482         using DocumentLoader::isStopping directly.
77483         (WebCore::MainResourceLoader::didReceiveResponse): Call
77484         DocumentLoader::setupForReplaceByMIMEType so we can remove the
77485         function from FrameLoader that just calls through. This was
77486         the only call site.
77487
77488         * loader/ResourceLoader.cpp:
77489         (WebCore::ResourceLoader::init): Call the
77490         ResourceLoader::cancelledError function instead of calling
77491         directly to FrameLoader.
77492
77493         * loader/ResourceLoader.h: Made response an inline function.
77494
77495 2011-06-24  Alexey Proskuryakov  <ap@apple.com>
77496
77497         Rubber-stamped by Maciej Stachowiak.
77498
77499         REGRESSION (r88984): Infinite recursion in DocumentLoader::detachFromFrame/stopLoading
77500
77501         No new tests, as there is no known way to reproduce this (but we'll keep investigating, as
77502         the rollout will re-introduce the older less frequent crash).
77503
77504         * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::detachFromFrame): Rollout the fix
77505         for bug 62764.
77506
77507 2011-06-24  Tony Chang  <tony@chromium.org>
77508
77509         Reviewed by Ojan Vafai.
77510
77511         add flexbox and inline-flexbox as possible CSS display values
77512         https://bugs.webkit.org/show_bug.cgi?id=63361
77513
77514         Test: css3/flexbox/display-property.html
77515
77516         * css/CSSParser.cpp:
77517         (WebCore::CSSParser::parseValue):
77518         * css/CSSValueKeywords.in:
77519
77520 2011-06-24  Anna Cavender  <annacc@chromium.org>
77521
77522         Reviewed by Eric Carlson.
77523
77524         Loading out-of-band text track files from <track>.
77525         https://bugs.webkit.org/show_bug.cgi?id=62881
77526
77527         Uses the src attribute of <track> urls to load out-of-band text track
77528         files using ThreadableLoader.  Also removes TextTrackPrivateInterface
77529         (as well as LoadableTextTrackImpl and MutableTextTrackImpl) classes.
77530
77531         No new tests because feature is hidden behind VIDEO_TRACK feature
77532         define, which is turned off.
77533
77534         * CMakeLists.txt:
77535         * GNUmakefile.am:
77536         * GNUmakefile.list.am:
77537         * WebCore.gypi:
77538         * WebCore.pro:
77539         * WebCore.xcodeproj/project.pbxproj:
77540         * html/HTMLMediaElement.cpp:
77541         * html/HTMLMediaElement.h:
77542         * html/HTMLTrackElement.cpp:
77543         * html/HTMLTrackElement.h:
77544         * html/LoadableTextTrack.cpp:
77545         * html/LoadableTextTrack.h:
77546         * html/LoadableTextTrackImpl.cpp: Removed.
77547         * html/LoadableTextTrackImpl.h: Removed.
77548         * html/MutableTextTrack.cpp:
77549         * html/MutableTextTrack.h:
77550         * html/MutableTextTrackImpl.cpp: Removed.
77551         * html/MutableTextTrackImpl.h: Removed.
77552         * html/TextTrack.cpp:
77553         * html/TextTrack.h:
77554         * html/TextTrackPrivate.h: Removed.
77555         * platform/track/CueParser.cpp:
77556         * platform/track/CueParser.h:
77557
77558 2011-06-24  Rob Buis  <rbuis@rim.com>
77559
77560         Rubber-stamped by Nikolas Zimmermann.
77561
77562         All pointer-events fail if text has visibility="hidden"
77563         https://bugs.webkit.org/show_bug.cgi?id=62209
77564
77565         Do not use writing mode aware code for SVG Text.
77566
77567         No new tests needed.
77568
77569         * rendering/svg/SVGInlineTextBox.cpp:
77570         (WebCore::SVGInlineTextBox::nodeAtPoint):
77571
77572 2011-06-24  Lukasz Slachciak  <l.slachciak@samsung.com>
77573
77574         Reviewed by Darin Adler.
77575
77576         Change NDEBUG to !LOG_DISABLED macro in databases for logging.
77577         https://bugs.webkit.org/show_bug.cgi?id=63346
77578
77579         Changed NDEBUG to !LOG_DISABLED in databases code which involves logging.
77580         This change resolves also build break in Release build when logging enabled.
77581
77582         No new tests because there is no new behavior or feature exposed.
77583
77584         * loader/icon/IconDatabase.cpp: Macro fixes.
77585         (WebCore::IconDatabase::iconDatabaseSyncThread):
77586         (WebCore::IconDatabase::syncThreadMainLoop):
77587         (WebCore::IconDatabase::readFromDatabase):
77588         (WebCore::IconDatabase::writeToDatabase):
77589         (WebCore::IconDatabase::cleanupSyncThread):
77590         * storage/AbstractDatabase.h: Macro fixes.
77591         * storage/DatabaseTask.cpp: Macro fixes.
77592         * storage/DatabaseTask.h: Macro fixes.
77593         * storage/SQLTransaction.cpp: Macro fixes.
77594         * storage/SQLTransaction.h: Macro fixes.
77595
77596 2011-06-24  Tony Chang  <tony@chromium.org>
77597
77598         Reviewed by Adam Barth.
77599
77600         Pass Strings by const reference to functions
77601         https://bugs.webkit.org/show_bug.cgi?id=63341
77602
77603         Note that since Strings hold a RefPtr to StringImpl, passing Strings
77604         by value isn't horrible, but it does cause ref count churn and using
77605         const references is more consistent with the rest of the code base.
77606
77607         * loader/FrameLoader.cpp:
77608         (WebCore::FrameLoader::addHTTPOriginIfNeeded): Rework the code to not
77609             change the value of the passed in String.
77610         * loader/FrameLoader.h:
77611         * platform/win/ClipboardUtilitiesWin.cpp:
77612         (WebCore::setFileDescriptorData):
77613         * platform/win/ClipboardUtilitiesWin.h:
77614         * storage/DatabaseTracker.h:
77615         * storage/IDBLevelDBBackingStore.cpp:
77616         (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
77617         * storage/IDBLevelDBBackingStore.h:
77618         * storage/IDBSQLiteBackingStore.cpp:
77619         (WebCore::IDBSQLiteBackingStore::IDBSQLiteBackingStore):
77620         * storage/IDBSQLiteBackingStore.h:
77621         * storage/chromium/DatabaseTrackerChromium.cpp:
77622         (WebCore::DatabaseTracker::getOpenDatabases):
77623         * svg/SVGPaint.cpp:
77624         (WebCore::SVGPaint::SVGPaint):
77625         * svg/SVGPaint.h:
77626         * svg/animation/SMILTimeContainer.cpp:
77627         (WebCore::SMILTimeContainer::updateAnimations):
77628         * svg/animation/SMILTimeContainer.h:
77629         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
77630         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
77631         * websockets/ThreadableWebSocketChannelClientWrapper.h:
77632
77633 2011-06-24  Abhishek Arya  <inferno@chromium.org>
77634
77635         Reviewed by Darin Adler.
77636
77637         Add clamping for CSSPrimitiveValues and SVGInlineText font size.
77638         https://bugs.webkit.org/show_bug.cgi?id=53449        
77639
77640         Test: svg/text/svg-zoom-large-value.xhtml
77641
77642         * css/CSSPrimitiveValue.cpp:
77643         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): add asserts to detect if the
77644         number created is valid.
77645         * css/CSSPrimitiveValue.h: add clamping checks to prevent overflows.
77646         (WebCore::CSSPrimitiveValue::getFloatValue):
77647         (WebCore::CSSPrimitiveValue::getIntValue):
77648         * css/CSSStyleSelector.cpp:
77649         (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): split into two
77650         static functions, one specific to CSSStyleSelector and other generic to help
77651         in clamping font size for other callers like svg text, etc.
77652         * css/CSSStyleSelector.h:
77653         * platform/graphics/FontDescription.h: add asserts to detect if the new font
77654         size is valid.
77655         (WebCore::FontDescription::setComputedSize):
77656         (WebCore::FontDescription::setSpecifiedSize):
77657         * rendering/svg/RenderSVGInlineText.cpp:
77658         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle): use the new helper
77659         from CSSStyleSelector to help in clamping new scaled font size. do not use
77660         "smart minimum" since svg allows really small unreadable fonts (tested by existing
77661         layout tests). Document's minimum font size clamp (0 in my case) and harmless epsilon
77662         check in CSSStyleSelector function should still hold for svg.
77663
77664 2011-06-24  Julien Chaffraix  <jchaffraix@webkit.org>
77665
77666         Reviewed by Darin Adler.
77667
77668         Remove unsafe static_cast inside the InlineBox hierarchy
77669         https://bugs.webkit.org/show_bug.cgi?id=63077
77670
77671         Refactoring only, no new test.
77672
77673         * rendering/InlineFlowBox.h:
77674         (WebCore::toInlineFlowBox):
77675         * rendering/InlineTextBox.h:
77676         (WebCore::toInlineTextBox):
77677         Added the proper cast methods to those 2 classes from an InlineBox.
77678
77679         * rendering/InlineBox.cpp:
77680         (WebCore::InlineBox::nextLeafChild):
77681         (WebCore::InlineBox::prevLeafChild):
77682         * rendering/InlineFlowBox.cpp:
77683         (WebCore::InlineFlowBox::getFlowSpacingLogicalWidth):
77684         (WebCore::InlineFlowBox::addToLine):
77685         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
77686         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
77687         (WebCore::InlineFlowBox::requiresIdeographicBaseline):
77688         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
77689         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
77690         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
77691         (WebCore::InlineFlowBox::flipLinesInBlockDirection):
77692         (WebCore::InlineFlowBox::computeOverflow):
77693         (WebCore::InlineFlowBox::firstLeafChild):
77694         (WebCore::InlineFlowBox::lastLeafChild):
77695         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
77696         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
77697         * rendering/RenderBlock.cpp:
77698         (WebCore::RenderBlock::positionForBox):
77699         * rendering/RenderBlockLineLayout.cpp:
77700         (WebCore::RenderBlock::createLineBoxes):
77701         (WebCore::RenderBlock::constructLine):
77702         (WebCore::setLogicalWidthForTextRun):
77703         (WebCore::computeExpansionForJustifiedText):
77704         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
77705         * rendering/RenderText.cpp:
77706         (WebCore::RenderText::localCaretRect):
77707         (WebCore::RenderText::positionLineBox):
77708         * rendering/RootInlineBox.cpp:
77709         (WebCore::RootInlineBox::ascentAndDescentForBox):
77710         (WebCore::RootInlineBox::includeFontForBox):
77711         (WebCore::RootInlineBox::includeGlyphsForBox):
77712         Replaced the static_cast in those previous call sites with the new cast methods.
77713
77714 2011-06-24  Alexis Menard  <alexis.menard@openbossa.org>
77715
77716         Unreviewed build fix.
77717
77718         Build fix on Linux when using the GStreamer backend.
77719
77720         No new tests, just a build fix.
77721
77722         * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
77723         (FullScreenVideoWindow::keyPressEvent):
77724
77725 2011-06-24  Nat Duca  <nduca@chromium.org>
77726
77727         Unreviewed, rolling out r89694.
77728         http://trac.webkit.org/changeset/89694
77729         https://bugs.webkit.org/show_bug.cgi?id=58408
77730
77731         Test shell still not ready for animate changes.
77732
77733         * WebCore.gypi:
77734         * platform/graphics/chromium/LayerRendererChromium.cpp:
77735         (WebCore::LayerRendererChromium::create):
77736         (WebCore::LayerRendererChromium::LayerRendererChromium):
77737         (WebCore::LayerRendererChromium::setViewport):
77738         (WebCore::LayerRendererChromium::updateAndDrawLayers):
77739         * platform/graphics/chromium/LayerRendererChromium.h:
77740         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
77741         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
77742         (WebCore::CCHeadsUpDisplay::setShowFPSCounter):
77743         (WebCore::CCHeadsUpDisplay::setShowPlatformLayerTree):
77744         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: Removed.
77745         * platform/graphics/chromium/cc/CCLayerTreeHost.h: Removed.
77746         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.cpp: Removed.
77747         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.h: Removed.
77748         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: Removed.
77749         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: Removed.
77750         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: Removed.
77751         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h: Removed.
77752         * platform/graphics/chromium/cc/CCMainThreadTask.h:
77753         * platform/graphics/chromium/cc/CCThread.cpp:
77754         (WebCore::CCThread::runLoop):
77755         * platform/graphics/chromium/cc/CCThreadTask.h:
77756
77757 2011-06-24  Chris Rogers  <crogers@google.com>
77758
77759         Unreviewed build fix.
77760
77761         Fix Chromium Linux Build
77762         https://bugs.webkit.org/show_bug.cgi?id=63349
77763
77764         * WebCore.gyp/WebCore.gyp:
77765
77766 2011-06-24  Henry Song  <hsong@sisa.samsung.com>
77767
77768         Reviewed by Martin Robinson.
77769
77770         Correct _sharedTimer value in SharedTimerEfl.cpp
77771         https://bugs.webkit.org/show_bug.cgi?id=62380
77772
77773         SharedTimerEfl.cpp set _sharedTimer = 0 is incorrect in 
77774         timerEvent(), we have observed addNewTimer() can be triggered 
77775         by either inside timerFunction() or others that are not within
77776         timerFunction().  We have observed the following case:
77777         1. add a new Timer within timerFunction()
77778         2. timerFunction returns, set _sharedTimer = 0
77779         3. addNewTimer() is triggered again within webkit, don't know
77780            it triggers this.
77781         4. because at this moment, _sharedTimer == 0, the previous
77782            registered timer (in step 1) did not get removed.
77783         5. Now in ecore_timer, there are two timers with same callbacks
77784         6. From now on, timerFunction() will be called twice back-to-back
77785            in each ecore_timer loop.
77786         To correct this, we should set _sharedTimer = 0 before
77787         timerFunction() so that when addNewTimer() triggered within,
77788         we have a valid timer object.
77789
77790         * platform/efl/SharedTimerEfl.cpp:
77791         (WebCore::timerEvent):
77792
77793 2011-05-17  Nat Duca  <nduca@chromium.org>
77794
77795         Reviewed by James Robinson.
77796
77797         [chromium] Implement CCLayerTreeHost and CCLayerTreeHostImpl portions of threaded compositor
77798         https://bugs.webkit.org/show_bug.cgi?id=58408
77799
77800         Create CCLayerTreeHost and CCLayerTreeHostImpl, which are the main
77801         thread and compositor thread halves of a composited view. Communication
77802         between the two is based on the design used in FileStreamProxy.
77803
77804         * WebCore.gypi:
77805         * platform/chromium/TraceEvent.h:
77806         * platform/graphics/chromium/LayerRendererChromium.cpp:
77807         (WebCore::LayerRendererChromium::create):
77808         (WebCore::LayerRendererChromium::LayerRendererChromium):
77809         (WebCore::LayerRendererChromium::setViewport):
77810         (WebCore::LayerRendererChromium::updateLayers):
77811         (WebCore::LayerRendererChromium::drawLayers):
77812         (WebCore::LayerRendererChromiumImpl::create):
77813         (WebCore::LayerRendererChromiumImpl::drawLayersAndPresent):
77814         (WebCore::LayerRendererChromiumImpl::LayerRendererChromiumImpl):
77815         (WebCore::LayerRendererChromiumImpl::drawLayersOnMainThread):
77816         (WebCore::LayerRendererChromiumImplProxy::create):
77817         (WebCore::LayerRendererChromiumImplProxy::createLayerTreeHostImpl):
77818         (WebCore::LayerRendererChromiumImplProxy::LayerRendererChromiumImplProxy):
77819         (WebCore::LayerRendererChromium::createLayerTreeHostImplProxy):
77820         * platform/graphics/chromium/LayerRendererChromium.h:
77821         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
77822         (WebCore::CCHeadsUpDisplay::setShowFPSCounter):
77823         (WebCore::CCHeadsUpDisplay::setShowPlatformLayerTree):
77824         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
77825         (WebCore::CCHeadsUpDisplay::currentFrameNumber):
77826         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
77827         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
77828         (WebCore::CCLayerTreeHost::init):
77829         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
77830         (WebCore::CCLayerTreeHost::beginCommit):
77831         (WebCore::CCLayerTreeHost::commitComplete):
77832         (WebCore::CCLayerTreeHost::animateAndLayout):
77833         (WebCore::CCLayerTreeHost::createLayerTreeHostCommitter):
77834         (WebCore::CCLayerTreeHost::setNeedsCommitAndRedraw):
77835         (WebCore::CCLayerTreeHost::setNeedsRedraw):
77836         (WebCore::CCLayerTreeHost::updateLayers):
77837         * platform/graphics/chromium/cc/CCLayerTreeHost.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
77838         (WebCore::CCLayerTreeHost::frameNumber):
77839         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
77840         (WebCore::CCLayerTreeHostCommitter::create):
77841         (WebCore::CCLayerTreeHostCommitter::commit):
77842         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
77843         (WebCore::CCLayerTreeHostCommitter::CCLayerTreeHostCommitter):
77844         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: Added.
77845         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
77846         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
77847         (WebCore::CCLayerTreeHostImpl::beginCommit):
77848         (WebCore::CCLayerTreeHostImpl::commitComplete):
77849         (WebCore::CCLayerTreeHostImpl::drawLayers):
77850         (WebCore::CCLayerTreeHostImpl::setNeedsCommitAndRedraw):
77851         (WebCore::CCLayerTreeHostImpl::setNeedsRedraw):
77852         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
77853         (WebCore::CCLayerTreeHostImplClient::~CCLayerTreeHostImplClient):
77854         (WebCore::CCLayerTreeHostImpl::frameNumber):
77855         (WebCore::CCLayerTreeHostImpl::sourceFrameNumber):
77856         (WebCore::CCLayerTreeHostImpl::setSourceFrameNumber):
77857         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: Added.
77858         (WebCore::CCLayerTreeHostImplProxy::CCLayerTreeHostImplProxy):
77859         (WebCore::CCLayerTreeHostImplProxy::start):
77860         (WebCore::CCLayerTreeHostImplProxy::~CCLayerTreeHostImplProxy):
77861         (WebCore::CCLayerTreeHostImplProxy::isStarted):
77862         (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedraw):
77863         (WebCore::CCLayerTreeHostImplProxy::setNeedsRedraw):
77864         (WebCore::CCLayerTreeHostImplProxy::stop):
77865         (WebCore::CCLayerTreeHostImplProxy::postDrawLayersTaskOnCCThread):
77866         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommitOnCCThread):
77867         (WebCore::CCLayerTreeHostImplProxy::isMainThread):
77868         (WebCore::CCLayerTreeHostImplProxy::isCCThread):
77869         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommit):
77870         (WebCore::CCLayerTreeHostImplProxy::commitOnCCThread):
77871         (WebCore::CCLayerTreeHostImplProxy::drawLayersOnCCThread):
77872         (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedrawOnCCThread):
77873         (WebCore::CCLayerTreeHostImplProxy::setNeedsRedrawOnCCThread):
77874         (WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
77875         (WebCore::CCLayerTreeHostImplProxy::layerTreeHostClosedOnCCThread):
77876         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h: Added.
77877         (WebCore::CCLayerTreeHostImplProxy::host):
77878         * platform/graphics/chromium/cc/CCMainThreadTask.h:
77879         * platform/graphics/chromium/cc/CCThread.cpp:
77880         (WebCore::CCThread::runLoop):
77881         * platform/graphics/chromium/cc/CCThreadTask.h:
77882
77883 2011-06-24  Adrienne Walker  <enne@google.com>
77884
77885         Unreviewed, remove assertion about root layers in RenderLayerBacking.
77886         https://bugs.webkit.org/show_bug.cgi?id=60741
77887
77888         This was added in r89687, but somehow is not true on Safari Leopard.
77889         However, as the tests that were added with that revision are passing
77890         correctly, the assertion is most likely not correct.
77891
77892         * rendering/RenderLayerBacking.cpp:
77893         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
77894
77895 2011-06-24  Nikolas Zimmermann  <nzimmermann@rim.com>
77896
77897         Reviewed by Dirk Schulze.
77898
77899         Refactor text iterator code respecting surrogate pairs from WidthIterator
77900         https://bugs.webkit.org/show_bug.cgi?id=63319
77901
77902         WidthIterator contains a surrogate pair aware text iterator that is needed in other parts of WebCore.
77903         Refactor the code into its own SurrogatePairAwareTextIterator class. It can be used like this:
77904
77905         UChar32 character = 0;
77906         unsigned clusterLength = 0;
77907
77908         SurrogatePairAwareTextIterator textIterator(myString.characters(), 0, myString.length(), myString.length());
77909         while (textIterator.consume(character, clusterLength)) {
77910             // Either clusterLength is 1 and UChar32 fits into a single UChar.
77911             // Or     clusterLength is 2 and the UChar32 has been computed by combining the high & low surrogate pairs
77912             ...
77913         
77914             textIterator.advance(clusterLength);
77915         }
77916
77917         SVGGlyphMap is the next candidate that wants to make use of SurrogatePairAwareTextIterator.
77918         Doesn't affect any tests, just refactoring.
77919
77920         * CMakeLists.txt: Add SurrogatePairAwareTextIterator.* to build.
77921         * GNUmakefile.list.am: Ditto.
77922         * WebCore.gypi: Ditto.
77923         * WebCore.pro: Ditto.
77924         * WebCore.vcproj/WebCore.vcproj: Ditto.
77925         * WebCore.xcodeproj/project.pbxproj: Ditto.
77926         * platform/graphics/SurrogatePairAwareTextIterator.cpp: Copied from platform/graphics/WidthIterator.cpp.
77927         * platform/graphics/SurrogatePairAwareTextIterator.h: Added.
77928         (WebCore::SurrogatePairAwareTextIterator::currentCharacter):
77929         * platform/graphics/WidthIterator.cpp:
77930         (WebCore::WidthIterator::advance):
77931         * platform/graphics/WidthIterator.h:
77932
77933 2011-06-24  Adrienne Walker  <enne@google.com>
77934
77935         Reviewed by Simon Fraser.
77936
77937         Incorrect RenderLayer transforms on overflow RTL pages
77938         https://bugs.webkit.org/show_bug.cgi?id=60741
77939
77940         Fix positioning of the root graphics layer for RTL pages.  The fact
77941         that the left side of the page is negative for pages with overflow is
77942         not taken into account when calculating the position.  This negative
77943         value ends up being double-counted for the root graphics layer (once
77944         in the position and once in the offset) and it shifts child layers
77945         into the wrong place.
77946
77947         Tests: compositing/rtl/rtl-absolute-overflow-scrolled.html
77948                compositing/rtl/rtl-absolute-overflow.html
77949                compositing/rtl/rtl-absolute.html
77950                compositing/rtl/rtl-fixed-overflow-scrolled.html
77951                compositing/rtl/rtl-fixed-overflow.html
77952                compositing/rtl/rtl-fixed.html
77953                compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html
77954                compositing/rtl/rtl-iframe-absolute-overflow.html
77955                compositing/rtl/rtl-iframe-absolute.html
77956                compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html
77957                compositing/rtl/rtl-iframe-fixed-overflow.html
77958                compositing/rtl/rtl-iframe-fixed.html
77959                compositing/rtl/rtl-iframe-relative.html
77960                compositing/rtl/rtl-relative.html
77961
77962         * rendering/RenderLayerBacking.cpp:
77963         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
77964
77965 2011-06-24  Ryosuke Niwa  <rniwa@webkit.org>
77966
77967         Reviewed by Enrica Casucci.
77968
77969         Add BeforeChildren and AfterChildren to the Position's anchor types
77970         https://bugs.webkit.org/show_bug.cgi?id=63100
77971
77972         Added PositionIsBeforeChildren and PositionIsAfterChildren to Position::AnchorType and deployed them in
77973         firstPositionInNode and lastPositionInNode.
77974
77975         These new types of positions will let us express the first and the last positions in a non-text node in O(1).
77976
77977         No new tests because there is no new behavior or feature exposed.
77978
77979         * dom/Position.cpp:
77980         (WebCore::Position::Position): Assert that the anchor type is not BeforeChildren and AfterChildren for text nodes.
77981         (WebCore::Position::containerNode): For BeforeChildren and AfterChildren, the anchor node is the container node.
77982         (WebCore::Position::computeOffsetInContainerNode): The offset in the container node is 0 for BeforeChildren and
77983         the offset in the anchor node for AfterChildren.
77984         (WebCore::Position::offsetForPositionAfterAnchor): Called by deprecatedNode; the anchor type could be AfterChildren.
77985         (WebCore::Position::parentAnchoredEquivalent): If the anchor node is before or after children, then do the trick
77986         for table and ignored contents like before or after anchor.
77987         (WebCore::Position::computeNodeBeforePosition): Returns null for BeforeChildren and returns the last child of
77988         the anchor node for AfterChildren.
77989         (WebCore::Position::computeNodeAfterPosition): Returns the first child of the anchor node for BeforeChildren
77990         (WebCore::Position::atFirstEditingPositionForNode): A position is at the last editing position if the anchor type
77991         is BeforeChildren, or the anchor type is AfterChildren or AfterAnchor and the anchor doesn't have any children.
77992         (WebCore::Position::atLastEditingPositionForNode): A position is at the last editing position if the anchor type
77993         is AfterChildren.
77994         (WebCore::Position::showAnchorTypeAndOffset): Supports BeforeChildren and AfterChildren.
77995         * dom/Position.h:
77996         (WebCore::Position::deprecatedEditingOffset): Returns m_offset if the anchor type is BeforeChildren.
77997         (WebCore::firstPositionInNode): Returns a position in offset for a text node. Otherwise returns BeforeChildren.
77998         (WebCore::lastPositionInNode): Returns a position in offset for a text node. Otherwise returns AfterChildren.
77999         * editing/CompositeEditCommand.cpp:
78000         (WebCore::CompositeEditCommand::positionOutsideTabSpan): Since the anchor node was a text node,
78001         the anchor type shouldn't be BeforeChildren or AfterChildren.
78002         * editing/DeleteSelectionCommand.cpp:
78003         (WebCore::updatePositionForNodeRemoval): Supports BeforeChildren and AfterChildren.
78004         (WebCore::DeleteSelectionCommand::handleGeneralDelete): Calls updatePositionForNodeRemoval on m_downstremEnd
78005         when its anchor node is removed instead of manually updating the offset; also avoid calling moveToOffset
78006         on BeforeChildren or AfterChildren position.
78007         * editing/FormatBlockCommand.cpp:
78008         (WebCore::FormatBlockCommand::formatRange): Since lastParagraphInBlockNode is used to insert a placeholder
78009         after paragraphs below the block is moved into, it needs to be the position after the current last child in
78010         the block instead of after children in the block; otherwise the position will move to the end of block.
78011         * editing/VisiblePosition.cpp:
78012         (WebCore::VisiblePosition::characterAfter): Since the container node is never a text for position before/after
78013         children or before/after anchor, just return null for these anchor types.
78014
78015 2011-06-24  Dominic Cooney  <dominicc@chromium.org>
78016
78017         Reviewed by Dimitri Glazkov.
78018
78019         Convert shadow DOM-related tests to use window.internals
78020         https://bugs.webkit.org/show_bug.cgi?id=61671
78021
78022         * WebCore.exp.in: Exports for symbols used by WebCoreTestSupport.
78023         * testing/Internals.cpp: The new home of shadowRoot and friends.
78024         (WebCore::Internals::ensureShadowRoot):
78025         (WebCore::Internals::shadowRoot):
78026         (WebCore::Internals::removeShadowRoot):
78027         (WebCore::Internals::shadowPseudoId):
78028         * testing/Internals.h:
78029         * testing/Internals.idl:
78030
78031 2011-06-24  Tony Chang  <tony@chromium.org>
78032
78033         Reviewed by Darin Adler.
78034
78035         Refactor creation of primitive values in CSSParser
78036         https://bugs.webkit.org/show_bug.cgi?id=63270
78037
78038         Covered by existing tests.
78039
78040         * css/CSSParser.cpp:
78041         (WebCore::CSSParser::createPrimitiveNumericValue): Helper method for creating numeric values
78042             to keep the cast in one place.
78043         (WebCore::CSSParser::createPrimitiveStringValue): Helper method for creating string values.
78044         (WebCore::CSSParser::parseValidPrimitive):
78045         (WebCore::CSSParser::parseValue):
78046         (WebCore::CSSParser::parseWCSSInputProperty):
78047         (WebCore::CSSParser::parsePage):
78048         (WebCore::CSSParser::parseSizeParameter):
78049         (WebCore::CSSParser::parseContent):
78050         (WebCore::CSSParser::parseFillPositionX):
78051         (WebCore::CSSParser::parseFillPositionY):
78052         (WebCore::CSSParser::parseFillPositionComponent):
78053         (WebCore::CSSParser::parseFillSize):
78054         (WebCore::CSSParser::parseAnimationDelay):
78055         (WebCore::CSSParser::parseAnimationDuration):
78056         (WebCore::CSSParser::parseAnimationIterationCount):
78057         (WebCore::CSSParser::parseAnimationName):
78058         (WebCore::CSSParser::parseTransformOriginShorthand):
78059         (WebCore::CSSParser::parseDashboardRegions):
78060         (WebCore::CSSParser::parseCounterContent):
78061         (WebCore::CSSParser::parseShape):
78062         (WebCore::CSSParser::parseFont):
78063         (WebCore::CSSParser::parseReflect):
78064         (WebCore::CSSParser::parseBorderRadius):
78065         (WebCore::CSSParser::parseCounter):
78066         (WebCore::CSSParser::parseDeprecatedGradient):
78067         (WebCore::CSSParser::parseLinearGradient):
78068         (WebCore::CSSParser::parseRadialGradient):
78069         (WebCore::CSSParser::parseGradientColorStops):
78070         (WebCore::CSSParser::parseTransform):
78071         (WebCore::CSSParser::parseTransformOrigin):
78072         (WebCore::CSSParser::parseTextEmphasisStyle):
78073         * css/CSSParser.h:
78074         * css/CSSPrimitiveValueCache.h:
78075         (WebCore::CSSPrimitiveValueCache::createValue): pass String by const reference
78076
78077 2011-06-24  Carlos Garcia Campos  <cgarcia@igalia.com>
78078
78079         Reviewed by Martin Robinson.
78080
78081         [GTK] Fix runtime critical warnings in WebKit2
78082         https://bugs.webkit.org/show_bug.cgi?id=63256
78083
78084         Check whether there's a view widget before trying to use it in
78085         PlatformScreenGtk. If there isn't a view widget, which is the case
78086         in WebKit2, try to use the default GdkScreen and monitor.
78087
78088         * platform/gtk/PlatformScreenGtk.cpp:
78089         (WebCore::getToplevel): Helper function to get the toplevel
78090         widget.
78091         (WebCore::getVisual): Use getToplevel().
78092         (WebCore::getScreen): Helper funtion to get the screen of a
78093         widget.
78094         (WebCore::screenRect): Use getToplevel() and getScreen().
78095
78096 2011-06-24  Yuta Kitamura  <yutak@chromium.org>
78097
78098         Reviewed by Adam Barth.
78099
78100         WebSocket: Add run-time flag for new HyBi protocol
78101         https://bugs.webkit.org/show_bug.cgi?id=60348
78102
78103         Add a flag in Setting so that WebSocket protocols can be switched
78104         dynamically. The protocol we have implemented so far is based on
78105         older Hixie-76 specification. A new protocol is being discussed in
78106         IETF HyBi working group, and I'm planning to implement the new protocol
78107         behind this Settings flag.
78108
78109         I will add a method to LayoutTestController which flips this flag in
78110         a later patch. In this way, we can put tests for both protocols in
78111         the same place and test implementation for both protocols at the same time.
78112
78113         This patch only adds a flag. The flag is not used yet, thus there is
78114         no change in functionality. Therefore, no tests were added.
78115
78116         * page/Settings.cpp:
78117         (WebCore::Settings::Settings):
78118         * page/Settings.h:
78119         (WebCore::Settings::setUseHixie76WebSocketProtocol):
78120         (WebCore::Settings::useHixie76WebSocketProtocol):
78121
78122 2011-06-23  Mikhail Naganov  <mnaganov@chromium.org>
78123
78124         Reviewed by Pavel Feldman.
78125
78126         Web Inspector: [Chromium] Shorten DOMWindow URLs in heap profiles.
78127         https://bugs.webkit.org/show_bug.cgi?id=63238
78128
78129         * inspector/front-end/DetailedHeapshotGridNodes.js:
78130         (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.hoverMessage):
78131         (WebInspector.HeapSnapshotGenericObjectNode):
78132         (WebInspector.HeapSnapshotGenericObjectNode.prototype.hoverMessage):
78133         (WebInspector.HeapSnapshotGenericObjectNode.prototype._updateHasChildren):
78134         (WebInspector.HeapSnapshotGenericObjectNode.prototype.isDOMWindow):
78135         (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
78136         * inspector/front-end/DetailedHeapshotView.js:
78137         (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.pathFound):
78138         (WebInspector.DetailedHeapshotView.prototype._getHoverAnchor):
78139         (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup.displayString):
78140         (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup):
78141         * inspector/front-end/utilities.js:
78142         ():
78143
78144 2011-06-24  Vsevolod Vlasov  <vsevik@chromium.org>
78145
78146         Reviewed by Pavel Feldman.
78147
78148         Web Inspector: HTML preview should delete old iframe on show().
78149         https://bugs.webkit.org/show_bug.cgi?id=63170
78150
78151         * inspector/front-end/ResourceHTMLView.js:
78152         (WebInspector.ResourceHTMLView.prototype._createIFrame):
78153         * inspector/front-end/ResourcePreviewView.js:
78154         (WebInspector.ResourcePreviewView.prototype.contentLoaded):
78155
78156 2011-06-24  Dirk Schulze  <krit@webkit.org>
78157
78158         Reviewed by Nikolas Zimmermann.
78159
78160         Convert AnimatedString to SVGAnimatorFactory concept
78161         https://bugs.webkit.org/show_bug.cgi?id=63296
78162
78163         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
78164         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGString.
78165
78166         No new tests added. No change of functionality.
78167
78168         * CMakeLists.txt: Added new file to build system.
78169         * GNUmakefile.list.am: Ditto.
78170         * WebCore.gypi: Ditto.
78171         * WebCore.pro: Ditto.
78172         * WebCore.xcodeproj/project.pbxproj: Ditto.
78173         * svg/SVGAllInOne.cpp: Ditto.
78174         * svg/SVGAnimateElement.cpp:
78175         (WebCore::SVGAnimateElement::calculateAnimatedValue):
78176         (WebCore::SVGAnimateElement::calculateFromAndToValues):
78177         (WebCore::SVGAnimateElement::calculateFromAndByValues):
78178         (WebCore::SVGAnimateElement::resetToBaseValue):
78179         (WebCore::SVGAnimateElement::applyResultsToTarget):
78180         (WebCore::SVGAnimateElement::calculateDistance):
78181         * svg/SVGAnimateElement.h:
78182         * svg/SVGAnimatedString.cpp: Added. Animator for SVGString.
78183         (WebCore::SVGAnimatedStringAnimator::SVGAnimatedStringAnimator):
78184         (WebCore::SVGAnimatedStringAnimator::constructFromString):
78185         (WebCore::SVGAnimatedStringAnimator::calculateFromAndToValues):
78186         (WebCore::SVGAnimatedStringAnimator::calculateFromAndByValues):
78187         (WebCore::SVGAnimatedStringAnimator::calculateAnimatedValue):
78188         (WebCore::SVGAnimatedStringAnimator::calculateDistance):
78189         * svg/SVGAnimatedString.h:
78190         (WebCore::SVGAnimatedStringAnimator::~SVGAnimatedStringAnimator):
78191         * svg/SVGAnimatedType.cpp:
78192         (WebCore::SVGAnimatedType::~SVGAnimatedType):
78193         (WebCore::SVGAnimatedType::createString):
78194         (WebCore::SVGAnimatedType::string):
78195         (WebCore::SVGAnimatedType::valueAsString):
78196         (WebCore::SVGAnimatedType::setValueAsString):
78197         * svg/SVGAnimatedType.h:
78198         * svg/SVGAnimatorFactory.h:
78199         (WebCore::SVGAnimatorFactory::create):
78200
78201 2011-06-24  Mario Sanchez Prada  <msanchez@igalia.com>
78202
78203         Reviewed by Chris Fleizach.
78204
78205         [GTK] Consider rows being ignored when adding children to tables
78206         https://bugs.webkit.org/show_bug.cgi?id=62718
78207
78208         Hide row objects in tables in GTK's accessibility wrapper.
78209
78210         This is a different approach in the way WebCore's accessible
78211         rows are exposed to assistive technologies in the GTK port,
78212         since from now on those objects are kept in WebCore (they do not
78213         declare to ignore accessibility) and just bypassed in the mapping
78214         to ATK, allowing to hide them in the ATK hierarchy while, at the
78215         same time, keeping them internally to be able to provide enough
78216         information to determine tables related information, such as rows
78217         counting or finding an cell for specific coordinates.
78218
78219         * accessibility/gtk/AccessibilityObjectAtk.cpp:
78220         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
78221         Do not ignore accessibility for table rows here.
78222
78223         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
78224         (webkit_accessible_get_parent): Bypass rows when needed.
78225         (getNChildrenForTable): New, find the number of children for a
78226         table, which will be the addition of all cells for its rows.
78227         (webkit_accessible_get_n_children): Call to getNChildrenForTable
78228         for accessibility tables if needed.
78229         (getChildForTable): New, bypass rows when needed, retrieving
78230         cells as if they were direct children for tables.
78231         (webkit_accessible_ref_child): Call to refChildForTable if needed.
78232         (getIndexInParentForCellInRow): New, get the index for a given
78233         cell in its parent table, considering other rows' cells.
78234         (webkit_accessible_get_index_in_parent): Call to
78235         getIndexInParentForCellInRow if needed.
78236
78237 2011-06-24  Andrey Kosyakov  <caseq@chromium.org>
78238
78239         Reviewed by Yury Semikhatsky.
78240
78241         Web Inspector: extension panel iframes do not span entire panel client area
78242         https://bugs.webkit.org/show_bug.cgi?id=63165
78243
78244         * inspector/front-end/ExtensionServer.js:
78245         (WebInspector.ExtensionServer.prototype._onCreatePanel):
78246         (WebInspector.ExtensionServer.prototype.createClientIframe):
78247         * inspector/front-end/inspector.css:
78248         (iframe.extension):
78249         (iframe.panel.extension):
78250
78251 2011-06-24  David Grogan  <dgrogan@chromium.org>
78252
78253         Reviewed by Pavel Feldman.
78254
78255         Web Inspector: [REGRESSION r86838] line numbers do not scroll when script paused
78256         https://bugs.webkit.org/show_bug.cgi?id=61653
78257
78258         roll out r86838
78259
78260         No new tests - refactoring.
78261
78262         * dom/Document.h:
78263         * dom/EventQueue.cpp:
78264         (WebCore::EventQueueTimer::EventQueueTimer):
78265         (WebCore::EventQueueTimer::fired):
78266         (WebCore::EventQueue::create):
78267         (WebCore::EventQueue::EventQueue):
78268         (WebCore::EventQueue::~EventQueue):
78269         (WebCore::EventQueue::enqueueEvent):
78270         (WebCore::EventQueue::cancelEvent):
78271         (WebCore::EventQueue::cancelQueuedEvents):
78272         (WebCore::EventQueue::pendingEventTimerFired):
78273         (WebCore::EventQueue::dispatchEvent):
78274         * dom/EventQueue.h:
78275
78276 2011-06-24  Sheriff Bot  <webkit.review.bot@gmail.com>
78277
78278         Unreviewed, rolling out r89594.
78279         http://trac.webkit.org/changeset/89594
78280         https://bugs.webkit.org/show_bug.cgi?id=63316
78281
78282         It broke 5 tests on the Qt bot (Requested by Ossy_DC on
78283         #webkit).
78284
78285         * WebCore.exp.in:
78286         * icu/unicode/uscript.h:
78287         * page/Settings.cpp:
78288         (WebCore::Settings::setStandardFontFamily):
78289         (WebCore::Settings::setFixedFontFamily):
78290         (WebCore::Settings::setSerifFontFamily):
78291         (WebCore::Settings::setSansSerifFontFamily):
78292         (WebCore::Settings::setCursiveFontFamily):
78293         (WebCore::Settings::setFantasyFontFamily):
78294         * page/Settings.h:
78295         (WebCore::Settings::standardFontFamily):
78296         (WebCore::Settings::fixedFontFamily):
78297         (WebCore::Settings::serifFontFamily):
78298         (WebCore::Settings::sansSerifFontFamily):
78299         (WebCore::Settings::cursiveFontFamily):
78300         (WebCore::Settings::fantasyFontFamily):
78301
78302 2011-06-23  Tony Chang  <tony@chromium.org>
78303
78304         Reviewed by Kent Tamura.
78305
78306         Pass Strings by const reference in bindings code
78307         https://bugs.webkit.org/show_bug.cgi?id=63302
78308
78309         Note that since Strings hold a RefPtr to StringImpl, passing Strings
78310         by value isn't horrible, but it does cause ref count churn and using
78311         const references is more consistent with the rest of the code base.
78312
78313         * bindings/generic/BindingSecurity.h:
78314         (WebCore::::allowSettingFrameSrcToJavascriptUrl):
78315         (WebCore::::allowSettingSrcToJavascriptURL):
78316         * bindings/js/SerializedScriptValue.cpp:
78317         (WebCore::CloneSerializer::serialize):
78318         (WebCore::SerializedScriptValue::create):
78319         * bindings/js/SerializedScriptValue.h:
78320         * bindings/v8/SerializedScriptValue.cpp:
78321         (WebCore::SerializedScriptValue::createFromWire):
78322         (WebCore::SerializedScriptValue::create):
78323         (WebCore::SerializedScriptValue::SerializedScriptValue):
78324         * bindings/v8/SerializedScriptValue.h:
78325         * bindings/v8/V8Binding.h:
78326         (WebCore::V8ParameterBase::setString):
78327
78328 2011-06-23  Yury Semikhatsky  <yurys@chromium.org>
78329
78330         Reviewed by Pavel Feldman.
78331
78332         [Chromium] Web Inspector: provide context menu item for enabling native worker inspection
78333         https://bugs.webkit.org/show_bug.cgi?id=63258
78334
78335         Added context menu checkbox item that allows to enable inspection of
78336         native workers. The value will be persisted as other inspector settings
78337         and will be restored after frontend/breowser reopening.
78338
78339         * inspector/Inspector.json:
78340         * inspector/InspectorController.cpp:
78341         (WebCore::InspectorController::restoreInspectorStateFromCookie):
78342         * inspector/InspectorInstrumentation.h:
78343         (WebCore::InspectorInstrumentation::didStartWorkerContext):
78344         * inspector/InspectorWorkerAgent.cpp:
78345         (WebCore::InspectorWorkerAgent::setFrontend):
78346         (WebCore::InspectorWorkerAgent::restore):
78347         (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
78348         * inspector/InspectorWorkerAgent.h:
78349         * inspector/front-end/ScriptsPanel.js:
78350         (WebInspector.ScriptsPanel):
78351         (WebInspector.ScriptsPanel.prototype.reset):
78352         (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
78353         (WebInspector.ScriptsPanel.prototype._contextMenu.enableWorkerInspection):
78354         (WebInspector.ScriptsPanel.prototype._contextMenu):
78355         * inspector/front-end/Settings.js:
78356         (WebInspector.Settings):
78357         * inspector/front-end/inspector.js:
78358         (WebInspector.didCreateWorker):
78359         (WebInspector.didDestroyWorker):
78360         * workers/Worker.cpp:
78361         (WebCore::Worker::notifyFinished):
78362
78363 2011-06-23  Simon Fraser  <simon.fraser@apple.com>
78364
78365         Reviewed by Dan Bernstein.
78366
78367         Need to turn off default animations for anchorPointZ in PlatformCALayer
78368         https://bugs.webkit.org/show_bug.cgi?id=63159
78369         
78370         When the z-component of transform-origin changed, we ran an implicit
78371         animation of anchorPointZ on the CALayer. Turn this off.
78372
78373         Test: transforms/3d/general/transform-origin-z-change.html
78374
78375         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
78376         (nullActionsDictionary):
78377
78378 2011-06-23  Zhenyao Mo  <zmo@google.com>
78379
78380         Reviewed by Kenneth Russell.
78381
78382         Limit WebGL internal drawingBuffer size to 4k x 4k
78383         https://bugs.webkit.org/show_bug.cgi?id=63304
78384
78385         * html/canvas/WebGLRenderingContext.cpp:
78386         (WebCore::WebGLRenderingContext::reshape): Limit drawing buffer size to 4k x 4k.
78387
78388 2011-06-20  MORITA Hajime  <morrita@google.com>
78389
78390         Reviewed by Dimitri Glazkov.
78391
78392         [ShadowContentElement] should layout child whitespace between span.
78393         https://bugs.webkit.org/show_bug.cgi?id=62202
78394
78395         NodeRenderingContext::nextRenderer() and previousRenderer()
78396         ignored forwarded content tree hierarchies and used render-object
78397         hierarchies instead, that caused some wrong Text node rendering.
78398         
78399         This change uses ShadowContentElement::m_inclusions for the lookup.
78400         In this way, these methods can reflect hierarchies of forward light tree.
78401         
78402         * dom/NodeRenderingContext.cpp:
78403         (WebCore::NodeRenderingContext::NodeRenderingContext):
78404         (WebCore::nextRendererOf): Added. This traverses content element's children for searching neighboring renderer.
78405         (WebCore::previousRendererOf): Added. This traverses content element's children for searching neighboring renderer.
78406         (WebCore::NodeRenderingContext::nextRenderer):
78407         (WebCore::NodeRenderingContext::previousRenderer):
78408         * dom/NodeRenderingContext.h:
78409         * dom/ShadowContentElement.h:
78410         (ShadowContentElement::inclusionIndexOf): Added.
78411         * dom/ShadowContentSelector.cpp:
78412         (WebCore::ShadowContentSelector::activeElement):
78413         * dom/ShadowContentSelector.h:
78414         * dom/ShadowRoot.cpp:
78415         (WebCore::ShadowRoot::activeContentElement):
78416         * dom/ShadowRoot.h:
78417         * rendering/RenderTreeAsText.cpp: 
78418         (WebCore::externalRepresentation): Fixed an apparent bug introduced at r89230.
78419
78420 2011-05-25  James Robinson  <jamesr@chromium.org>
78421
78422         Reviewed by Kenneth Russell.
78423
78424         [chromium] Fix ownership of PlatformImage for ImageLayerChromiums
78425         https://bugs.webkit.org/show_bug.cgi?id=61099
78426
78427         For a composited image, both the ImageLayerChromium and its associated LayerTilerChromium need access to a
78428         PlatformImage - the ImageLayerChromium has to update the PlatformImage's contents and the LayerTilerChromium has
78429         to upload pixels from it.  This patch makes the ImageLayerTextureUpdater have exclusive ownership of the
78430         PlatformImage and moves ownership of the LayerTextureUpdater from the LayerTilerChromium to the owner of the
78431         tiler.  The updater is passed in as a parameter to the relevant tiler calls.
78432
78433         Patch also fixes a number of minor style issues (missing explicit keyword on constructor, etc).
78434
78435         Refactor only, no new tests.
78436
78437         * platform/graphics/chromium/ContentLayerChromium.cpp:
78438         (WebCore::ContentLayerPainter::create):
78439         (WebCore::ContentLayerPainter::ContentLayerPainter):
78440         (WebCore::ContentLayerChromium::paintContentsIfDirty):
78441         (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
78442         (WebCore::ContentLayerChromium::draw):
78443         (WebCore::ContentLayerChromium::createTilerIfNeeded):
78444         (WebCore::ContentLayerChromium::updateCompositorResources):
78445         * platform/graphics/chromium/ContentLayerChromium.h:
78446         * platform/graphics/chromium/ImageLayerChromium.cpp:
78447         (WebCore::ImageLayerTextureUpdater::create):
78448         (WebCore::ImageLayerTextureUpdater::updateFromImage):
78449         (WebCore::ImageLayerTextureUpdater::imageSize):
78450         (WebCore::ImageLayerTextureUpdater::ImageLayerTextureUpdater):
78451         (WebCore::ImageLayerChromium::~ImageLayerChromium):
78452         (WebCore::ImageLayerChromium::paintContentsIfDirty):
78453         (WebCore::ImageLayerChromium::updateCompositorResources):
78454         (WebCore::ImageLayerChromium::setLayerRenderer):
78455         (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
78456         (WebCore::ImageLayerChromium::layerBounds):
78457         * platform/graphics/chromium/ImageLayerChromium.h:
78458         * platform/graphics/chromium/LayerRendererChromium.cpp:
78459         (WebCore::LayerRendererChromium::LayerRendererChromium):
78460         (WebCore::LayerRendererChromium::updateRootLayerContents):
78461         (WebCore::LayerRendererChromium::drawRootLayer):
78462         (WebCore::LayerRendererChromium::updateLayers):
78463         * platform/graphics/chromium/LayerRendererChromium.h:
78464         * platform/graphics/chromium/LayerTextureUpdater.h:
78465         (WebCore::LayerTextureUpdater::LayerTextureUpdater):
78466         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
78467         (WebCore::LayerTextureUpdaterBitmap::create):
78468         (WebCore::LayerTextureUpdaterSkPicture::create):
78469         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
78470         * platform/graphics/chromium/LayerTilerChromium.cpp:
78471         (WebCore::LayerTilerChromium::create):
78472         (WebCore::LayerTilerChromium::LayerTilerChromium):
78473         (WebCore::LayerTilerChromium::prepareToUpdate):
78474         (WebCore::LayerTilerChromium::updateRect):
78475         (WebCore::LayerTilerChromium::draw):
78476         * platform/graphics/chromium/LayerTilerChromium.h:
78477
78478 2011-06-23  Adrienne Walker  <enne@google.com>
78479
78480         Unreviewed, rolling out r89632 and r89640.
78481         http://trac.webkit.org/changeset/89632
78482         http://trac.webkit.org/changeset/89640
78483         https://bugs.webkit.org/show_bug.cgi?id=60741
78484
78485         Breaks ancestor-overflow-change unexpectedly
78486
78487         * rendering/RenderLayerBacking.cpp:
78488         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
78489
78490 2011-06-23  John Bates  <jbates@google.com>
78491
78492         Reviewed by James Robinson.
78493
78494         Fix latch deadlock when GPU process crashes or context is lost.
78495         https://bugs.webkit.org/show_bug.cgi?id=63189
78496         The main bug fix is to only set/wait latches if the child context has no errors.
78497         Additionally, the LayerChromium classes needed to be modified to not continue drawing when
78498         their corresponding contexts have errors. Otherwise, they would draw with invalid texture ids.
78499
78500         Test: open particles WebGL demo in chrome, kill GPU process from Task Manager; observe no deadlock.
78501
78502         * platform/graphics/chromium/LayerRendererChromium.cpp:
78503         (WebCore::LayerRendererChromium::LayerRendererChromium):
78504         (WebCore::LayerRendererChromium::updateAndDrawLayers):
78505         (WebCore::LayerRendererChromium::updateLayers):
78506         (WebCore::LayerRendererChromium::isCompositorContextLost):
78507         * platform/graphics/chromium/LayerRendererChromium.h:
78508         * platform/graphics/chromium/WebGLLayerChromium.cpp:
78509         (WebCore::WebGLLayerChromium::drawsContent):
78510         (WebCore::WebGLLayerChromium::updateCompositorResources):
78511         (WebCore::WebGLLayerChromium::setContext):
78512         * platform/graphics/chromium/WebGLLayerChromium.h:
78513         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
78514         (WebCore::Canvas2DLayerChromium::drawsContent):
78515         * platform/graphics/chromium/Canvas2DLayerChromium.h:
78516
78517 2011-06-23  Alok Priyadarshi  <alokp@chromium.org>
78518
78519         Reviewed by James Robinson.
78520
78521         [chromium] Red and Blue channels are swapped in images with accelerated drawing
78522         https://bugs.webkit.org/show_bug.cgi?id=61442
78523
78524         We were uploading BGRA pixels into RGBA textures and swapping the components in the pixel shader.
78525         This strategy does not work with accelerated drawing because we are directly rendering to the texture, not uploading pixels.
78526         This patch uses BGRA textures if available. If not it falls back to the original scheme of swapping the components in the pixel shader. 
78527
78528         Tests: compositing/color-matching/image-color-matching.html (existing)
78529
78530         * WebCore.gypi:
78531         * platform/graphics/chromium/ImageLayerChromium.cpp:
78532         (WebCore::ImageLayerTextureUpdater::sampledTexelFormat):
78533         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
78534         * platform/graphics/chromium/LayerRendererChromium.cpp:
78535         (WebCore::LayerRendererChromium::LayerRendererChromium):
78536         (WebCore::LayerRendererChromium::skiaContext):
78537         (WebCore::LayerRendererChromium::tilerProgram):
78538         (WebCore::LayerRendererChromium::tilerProgramSwizzle):
78539         (WebCore::LayerRendererChromium::cleanupSharedObjects):
78540         * platform/graphics/chromium/LayerRendererChromium.h:
78541         * platform/graphics/chromium/LayerTexture.h:
78542         (WebCore::LayerTexture::format):
78543         * platform/graphics/chromium/LayerTextureSubImage.cpp:
78544         (WebCore::LayerTextureSubImage::upload):
78545         (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
78546         (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
78547         * platform/graphics/chromium/LayerTextureSubImage.h:
78548         * platform/graphics/chromium/LayerTextureUpdater.h:
78549         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
78550         (WebCore::LayerTextureUpdaterBitmap::sampledTexelFormat):
78551         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
78552         (WebCore::LayerTextureUpdaterSkPicture::sampledTexelFormat):
78553         (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
78554         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
78555         * platform/graphics/chromium/LayerTilerChromium.cpp:
78556         (WebCore::LayerTilerChromium::LayerTilerChromium):
78557         (WebCore::LayerTilerChromium::prepareToUpdate):
78558         (WebCore::LayerTilerChromium::updateRect):
78559         (WebCore::LayerTilerChromium::draw):
78560         (WebCore::LayerTilerChromium::growLayerToContain):
78561         (WebCore::LayerTilerChromium::drawTiles):
78562         (WebCore::LayerTilerChromium::drawTexturedQuad):
78563         * platform/graphics/chromium/LayerTilerChromium.h:
78564         * platform/graphics/chromium/PlatformColor.h: Added.
78565         (WebCore::PlatformColor::format):
78566         (WebCore::PlatformColor::bestTextureFormat):
78567         (WebCore::PlatformColor::sameComponentOrder):
78568         * platform/graphics/chromium/ShaderChromium.cpp:
78569         (WebCore::FragmentShaderRGBATexSwizzleAlpha::getShaderString):
78570         * platform/graphics/chromium/ShaderChromium.h:
78571         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
78572
78573 2011-06-23  Adrienne Walker  <enne@google.com>
78574
78575         Reviewed by Simon Fraser.
78576
78577         Incorrect RenderLayer transforms on overflow RTL pages
78578         https://bugs.webkit.org/show_bug.cgi?id=60741
78579
78580         Fix positioning of the root graphics layer for RTL pages.  The fact
78581         that the left side of the page is negative for pages with overflow is
78582         not taken into account when calculating the position.  This negative
78583         value ends up being double-counted for the root graphics layer (once
78584         in the position and once in the offset) and it shifts child layers
78585         into the wrong place.
78586
78587         Tests: compositing/rtl/rtl-absolute-overflow-scrolled.html
78588                compositing/rtl/rtl-absolute-overflow.html
78589                compositing/rtl/rtl-absolute.html
78590                compositing/rtl/rtl-fixed-overflow-scrolled.html
78591                compositing/rtl/rtl-fixed-overflow.html
78592                compositing/rtl/rtl-fixed.html
78593                compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html
78594                compositing/rtl/rtl-iframe-absolute-overflow.html
78595                compositing/rtl/rtl-iframe-absolute.html
78596                compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html
78597                compositing/rtl/rtl-iframe-fixed-overflow.html
78598                compositing/rtl/rtl-iframe-fixed.html
78599                compositing/rtl/rtl-iframe-relative.html
78600                compositing/rtl/rtl-relative.html
78601
78602         * rendering/RenderLayerBacking.cpp:
78603         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
78604
78605 2011-06-23  Emil A Eklund  <eae@chromium.org>
78606
78607         Reviewed by Eric Seidel.
78608
78609         FloatRect should implement the same methods as IntRect
78610         https://bugs.webkit.org/show_bug.cgi?id=63273
78611         
78612         Add missing methods from IntRect to FloatRect in preparation for moving
78613         the rendering tree over to floats.
78614
78615         * platform/graphics/FloatPoint.h:
78616         (WebCore::FloatPoint::expandedTo):
78617         (WebCore::FloatPoint::transposedPoint):
78618         * platform/graphics/FloatRect.h:
78619         (WebCore::FloatRect::move):
78620         (WebCore::FloatRect::expand):
78621         (WebCore::FloatRect::contract):
78622         (WebCore::FloatRect::shiftXEdgeTo):
78623         (WebCore::FloatRect::shiftMaxXEdgeTo):
78624         (WebCore::FloatRect::shiftYEdgeTo):
78625         (WebCore::FloatRect::shiftMaxYEdgeTo):
78626         (WebCore::FloatRect::minXMinYCorner):
78627         (WebCore::FloatRect::maxXMinYCorner):
78628         (WebCore::FloatRect::minXMaxYCorner):
78629         (WebCore::FloatRect::maxXMaxYCorner):
78630         (WebCore::FloatRect::transposedRect):
78631         * platform/graphics/FloatSize.h:
78632         (WebCore::FloatSize::expand):
78633         (WebCore::FloatSize::transposedSize):
78634
78635 2011-06-23  Emil A Eklund  <eae@chromium.org>
78636
78637         Reviewed by Darin Adler.
78638
78639         input/textarea onchange doesn't fire if value is set in key listener
78640         https://bugs.webkit.org/show_bug.cgi?id=63092
78641
78642         Change setValue implementation of HTMLInputElement and HTMLTextAreaElement to
78643         not call setTextAsOfLastFormControlChangeEvent unless the value truly changed.
78644         Thus element.value = element.value will no longer reset the state 
78645         m_textAsOfLastFormControlChangeEvent field and suppress the change event.
78646
78647         Test: fast/events/onchange-setvalue.html
78648
78649         * html/HTMLInputElement.cpp:
78650         (WebCore::HTMLInputElement::setValue):
78651         * html/HTMLTextAreaElement.cpp:
78652         (WebCore::HTMLTextAreaElement::setValue):
78653         (WebCore::HTMLTextAreaElement::setNonDirtyValue):
78654         (WebCore::HTMLTextAreaElement::setValueCommon):
78655
78656 2011-06-23  Alexis Menard  <alexis.menard@openbossa.org>
78657
78658         Reviewed by Eric Carlson.
78659
78660         [Qt] Implement fullscreen support on Mac with the QuickTime backend.
78661         https://bugs.webkit.org/show_bug.cgi?id=61728
78662
78663         Implement fullscreen support for Qt when using the QuickTime backend.
78664         We mostly use what is already done for the Mac port.
78665
78666         * DerivedSources.pro: We use the mac files and they have <WebCore/x> type
78667         of includes. We need to generate those headers.
78668         * WebCore.pro:
78669         * platform/mac/WebVideoFullscreenController.h:
78670         * platform/mac/WebVideoFullscreenController.mm:
78671         * platform/mac/WebVideoFullscreenHUDWindowController.h:
78672         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
78673         * platform/qt/WebCoreSystemInterface.h:
78674         * platform/qt/WebCoreSystemInterface.mm:
78675
78676 2011-06-23  Darin Adler  <darin@apple.com>
78677
78678         Reviewed by Ryosuke Niwa.
78679
78680         RefPtr misused as argument type in a few classes
78681         https://bugs.webkit.org/show_bug.cgi?id=62955
78682
78683         * dom/DataTransferItem.cpp:
78684         (WebCore::DataTransferItem::DataTransferItem):
78685         * dom/DataTransferItem.h:
78686         * dom/DataTransferItems.cpp:
78687         (WebCore::DataTransferItems::DataTransferItems):
78688         * dom/DataTransferItems.h:
78689         * editing/CompositeEditCommand.cpp:
78690         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring):
78691         * editing/CompositeEditCommand.h:
78692         * page/WebKitAnimationList.cpp:
78693         (WebCore::WebKitAnimationList::append):
78694         (WebCore::WebKitAnimationList::insertAnimation):
78695         * page/WebKitAnimationList.h:
78696         * svg/graphics/filters/SVGFEImage.cpp:
78697         (WebCore::FEImage::FEImage):
78698         (WebCore::FEImage::create):
78699         * svg/graphics/filters/SVGFEImage.h:
78700         * svg/graphics/filters/SVGFilterBuilder.cpp:
78701         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
78702         (WebCore::SVGFilterBuilder::add):
78703         (WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
78704         * svg/graphics/filters/SVGFilterBuilder.h:
78705         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
78706         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
78707         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
78708         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
78709         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
78710         * websockets/ThreadableWebSocketChannelClientWrapper.h:
78711         * websockets/WorkerThreadableWebSocketChannel.cpp:
78712         (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
78713         (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
78714         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
78715         * websockets/WorkerThreadableWebSocketChannel.h:
78716         Use PassRefPtr or raw pointer as appropriate for RefPtr arguments.
78717
78718 2011-06-23  Sheriff Bot  <webkit.review.bot@gmail.com>
78719
78720         Unreviewed, rolling out r89591 and r89593.
78721         http://trac.webkit.org/changeset/89591
78722         http://trac.webkit.org/changeset/89593
78723         https://bugs.webkit.org/show_bug.cgi?id=63279
78724
78725         Caused test crashes in SL and Chromium (Requested by dimich_
78726         on #webkit).
78727
78728         * accessibility/AXObjectCache.cpp:
78729         (WebCore::AXObjectCache::AXObjectCache):
78730         (WebCore::AXObjectCache::remove):
78731         (WebCore::AXObjectCache::childrenChanged):
78732         * accessibility/AXObjectCache.h:
78733         * accessibility/AccessibilityMenuList.cpp:
78734         (WebCore::AccessibilityMenuList::childrenChanged):
78735         * accessibility/AccessibilityMenuList.h:
78736         * accessibility/AccessibilityMenuListPopup.cpp:
78737         (WebCore::AccessibilityMenuListPopup::childrenChanged):
78738         * accessibility/AccessibilityMenuListPopup.h:
78739         * accessibility/AccessibilityObject.h:
78740         (WebCore::AccessibilityObject::childrenChanged):
78741         * accessibility/AccessibilityRenderObject.cpp:
78742         (WebCore::startOfContinuations):
78743         (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
78744         (WebCore::AccessibilityRenderObject::childrenChanged):
78745         * accessibility/AccessibilityRenderObject.h:
78746
78747 2011-06-23  Andreas Kling  <kling@webkit.org>
78748
78749         Reviewed by Benjamin Poulain.
78750
78751         [Qt] Unbreak simple font fast-path after QRawFont API changes.
78752         https://bugs.webkit.org/show_bug.cgi?id=63272
78753
78754         In the Qt 4.8 branch, the QGlyphs class has been renamed to
78755         QGlyphRun, and some other small things have been tweaked.
78756
78757         * WebCore.pro:
78758         * platform/graphics/qt/FontCacheQt.cpp:
78759         (WebCore::rawFontForCharacters):
78760         * platform/graphics/qt/FontQt.cpp:
78761         (WebCore::Font::drawGlyphs):
78762
78763 2011-06-23  Tony Chang  <tony@chromium.org>
78764
78765         Reviewed by Andreas Kling.
78766
78767         Pass Strings as const references in NetworkResourcesData.h
78768         https://bugs.webkit.org/show_bug.cgi?id=63271
78769
78770         * inspector/NetworkResourcesData.h:
78771         (WebCore::NetworkResourcesData::ResourceData::setFrameId):
78772         (WebCore::NetworkResourcesData::ResourceData::setUrl):
78773         (WebCore::NetworkResourcesData::ResourceData::setTextEncodingName):
78774
78775 2011-06-23  Jay Civelli  <jcivelli@chromium.org>
78776
78777         Reviewed by Adam Barth.
78778
78779         Fixing the SharedBufferChunkReader API so it works correctly with
78780         binary data (non printable characters).
78781         Also adding a method to peek at the data (this is needed for MHTML
78782         with binary parts).
78783         https://bugs.webkit.org/show_bug.cgi?id=63231
78784
78785         * loader/archive/mhtml/MHTMLParser.cpp:
78786         (WebCore::skipLinesUntilBoundaryFound):
78787         (WebCore::MHTMLParser::parseNextPart):
78788         * loader/archive/mhtml/MHTMLParser.h:
78789         * platform/SharedBufferChunkReader.cpp:
78790         (WebCore::SharedBufferChunkReader::SharedBufferChunkReader):
78791         (WebCore::SharedBufferChunkReader::setSeparator):
78792         (WebCore::SharedBufferChunkReader::nextChunk):
78793         (WebCore::SharedBufferChunkReader::nextChunkAsUTF8StringWithLatin1Fallback):
78794         (WebCore::SharedBufferChunkReader::peek):
78795         * platform/SharedBufferChunkReader.h:
78796         * platform/network/MIMEHeader.cpp:
78797         (WebCore::retrieveKeyValuePairs):
78798
78799 2011-06-23  Nate Chapin  <japhet@chromium.org>
78800
78801         Unreviewed.
78802
78803         Revert production code part of r89503, since it's causing
78804         crashes on WebKit2/mac and failures on qt.
78805
78806         * dom/Document.cpp:
78807         (WebCore::Document::Document):
78808         (WebCore::Document::dispatchWindowLoadEvent):
78809         * dom/Document.h:
78810         (WebCore::Document::processingLoadEvent):
78811         * loader/DocumentLoader.cpp:
78812         (WebCore::DocumentLoader::isLoadingInAPISense):
78813
78814 2011-06-23  Young Han Lee  <joybro@company100.net>
78815
78816         Reviewed by Simon Fraser.
78817
78818         runAnimationTest always fails if the pause API is enabled and the test target animation has "infinite" iteration count.
78819         https://bugs.webkit.org/show_bug.cgi?id=63152
78820
78821         The pausing conditions are modified. Now it accepts the infinite-iteration-count,
78822         but rejects the zero-iteration-count. There is no reason to consider the zero-count meaning no animation.
78823         
78824         Test: animations/keyframes-infinite-iterations.html
78825
78826         * page/animation/CompositeAnimation.cpp:
78827         (WebCore::CompositeAnimation::pauseAnimationAtTime):
78828
78829 2011-06-23  Abhishek Arya  <inferno@chromium.org>
78830
78831         Reviewed by Adam Barth.
78832
78833         RefPtr m_style in MediaQueryEvaluator in case of callers like
78834         MediaQueryMatcher::prepareEvaluator that do not retain its reference.
78835         https://bugs.webkit.org/show_bug.cgi?id=63264
78836
78837         Test: fast/css/media-query-evaluator-crash.html
78838
78839         * css/MediaQueryEvaluator.cpp:
78840         (WebCore::MediaQueryEvaluator::eval):
78841         * css/MediaQueryEvaluator.h:
78842
78843 2011-06-23  Jungshik Shin  <jshin@chromium.org>
78844
78845         Reviewed by Alexey Proskuryakov.
78846
78847         Allow generic font family settings per script code.
78848         https://bugs.webkit.org/show_bug.cgi?id=20797
78849
78850         Make generic font family getters/setters accept an additional
78851         argument (script code). It has a default value so that if an embedder
78852         does not have/want a per-script font family setting, call-sites
78853         don't have to be changed.
78854         This is to prepare for fixing bug 10874 (font selection is not
78855         language-dependent) and bug 18085.
78856
78857         uscript.h has been updated to that of ICU 3.6 (the version of ICU on
78858         Mac OS 10.5)
78859
78860         There should be no change in layout and no new layout test
78861         is added.
78862
78863         * WebCore.exp.in:
78864         * icu/unicode/uscript.h: updated to ICU 4.6
78865         * page/Settings.cpp:
78866         (WebCore::setGenericFontFamilyMap): helper to set generic family per script
78867         (WebCore::getGenericFontFamilyForScript): helper function used by getters for fooFontFamily.
78868         (WebCore::Settings::standardFontFamily):
78869         (WebCore::Settings::setStandardFontFamily):
78870         (WebCore::Settings::fixedFontFamily):
78871         (WebCore::Settings::setFixedFontFamily):
78872         (WebCore::Settings::serifFontFamily):
78873         (WebCore::Settings::setSerifFontFamily):
78874         (WebCore::Settings::sansSerifFontFamily):
78875         (WebCore::Settings::setSansSerifFontFamily):
78876         (WebCore::Settings::cursiveFontFamily):
78877         (WebCore::Settings::setCursiveFontFamily):
78878         (WebCore::Settings::fantasyFontFamily):
78879         (WebCore::Settings::setFantasyFontFamily):
78880         * page/Settings.h: setter and getter for FooFontFamily have a new optional argument, scriptCode.
78881
78882 2011-06-23  Dan Bernstein  <mitz@apple.com>
78883
78884         Reviewed by Alexey Proskuryakov.
78885
78886         Make line breaking obey the -webkit-locale property
78887         https://bugs.webkit.org/show_bug.cgi?id=63209
78888
78889         Test: platform/mac/fast/text/line-break-locale.html
78890
78891         * platform/text/TextBreakIterator.h:
78892         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator): Take an optional locale identifier and
78893         initialize the m_locale member.
78894         (WebCore::LazyLineBreakIterator::get): Pass the locale to acquireLineBreakIterator().
78895         (WebCore::LazyLineBreakIterator::reset): Pass the locale to releaseLineBreakIterator() and update
78896         the m_locale member.
78897         * platform/text/TextBreakIteratorICU.cpp:
78898         (WebCore::LineBreakIteratorPool::sharedPool): Return a shared instance.
78899         (WebCore::LineBreakIteratorPool::take): Returns a text iterator for the given locale, either a newly-
78900         created one, or an existing one from the pool.
78901         (WebCore::LineBreakIteratorPool::put): Puts an iterator back into the pool, removing the least-recently used
78902         one if needed.
78903         (WebCore::LineBreakIteratorPool::LineBreakIteratorPool):
78904         (WebCore::acquireLineBreakIterator): Changed to take an optional local identifier, and to use the pool.
78905         (WebCore::releaseLineBreakIterator): Changed to use the pool.
78906         * platform/text/brew/TextBreakIteratorBrew.cpp:
78907         (WebCore::acquireLineBreakIterator): Updated for new parameter.
78908         * platform/text/gtk/TextBreakIteratorGtk.cpp:
78909         (WebCore::acquireLineBreakIterator): Ditto.
78910         * platform/text/qt/TextBreakIteratorQt.cpp:
78911         (WebCore::acquireLineBreakIterator): Ditto.
78912         * platform/text/wince/TextBreakIteratorWinCE.cpp:
78913         (WebCore::acquireLineBreakIterator): Ditto.
78914         * rendering/RenderBlockLineLayout.cpp:
78915         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Use the locale from the style for the line break
78916         iterator.
78917         * rendering/RenderText.cpp:
78918         (WebCore::RenderText::computePreferredLogicalWidths): Ditto.
78919
78920 2011-06-23  Chris Fleizach  <cfleizach@apple.com>
78921
78922         Reviewed by Darin Adler.
78923
78924         ARIA live regions don't trigger notifications for elements that aren't in the AX tree
78925         https://bugs.webkit.org/show_bug.cgi?id=62289
78926
78927         If an ARIA Live region udpates an element that is not in the AX object cache, then the Live region
78928         notification is not sent. To fix this, I think the childrenChanged() method needs to actually create
78929         the appropriate objects, but since that method gets called during a render tree update, we've learned 
78930         that it's generally not safe to create objects.
78931  
78932         Instead a one shot timer can be fired that will update and create the necessary objects so that the
78933         correct notification can be sent.
78934
78935         Test: platform/mac/accessibility/aria-liveregion-without-element-access.html
78936
78937         * accessibility/AXObjectCache.cpp:
78938         (WebCore::AXObjectCache::AXObjectCache):
78939         (WebCore::AXObjectCache::remove):
78940         (WebCore::AXObjectCache::childrenUpdateTimerFired):
78941         (WebCore::AXObjectCache::childrenChanged):
78942         * accessibility/AXObjectCache.h:
78943         * accessibility/AccessibilityMenuList.cpp:
78944         (WebCore::AccessibilityMenuList::childrenChanged):
78945         * accessibility/AccessibilityMenuList.h:
78946         * accessibility/AccessibilityMenuListPopup.cpp:
78947         (WebCore::AccessibilityMenuListPopup::childrenChanged):
78948         * accessibility/AccessibilityMenuListPopup.h:
78949         * accessibility/AccessibilityObject.h:
78950         (WebCore::AccessibilityObject::childrenChanged):
78951         * accessibility/AccessibilityRenderObject.cpp:
78952         (WebCore::startOfContinuations):
78953            This changed exposed a case where an object was inlineElementContinuation, but not renderInlined,
78954            which led to an assert.
78955         (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
78956         (WebCore::AccessibilityRenderObject::childrenChanged):
78957         * accessibility/AccessibilityRenderObject.h:
78958
78959 2011-06-23  Dirk Schulze  <krit@webkit.org>
78960
78961         Reviewed by Nikolas Zimmermann.
78962
78963         Convert SVGColor to SVGAnimatorFactory concept
78964         https://bugs.webkit.org/show_bug.cgi?id=63246
78965
78966         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
78967         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGColor.
78968
78969         Changed constructors of animators to take the animation element SVGAnimationsElement as new argument. Removed attribute name argument instead.
78970         This information is already exposed by the animation element. The animators store the pointer of the animation element, so that it is not
78971         necessary to pass it as argument to the functions calculateDistance, calculateAnimatedValue.
78972         
78973         Replace all SVGSMILElement references by SVGAnimationsElement - the common base class of all animation elements.
78974
78975         Added a new method in SVGAnimateElement to determine the property value type of CSS properties (regular value type, inherit or currentColor).
78976         The other two new methods fromPropertyValueType() and toPropertyValueType() avoid passing boolean arguments in calculateAnimatedValue().
78977
78978         No new tests added. Current tests cover the changes.
78979
78980         * CMakeLists.txt: Added new files to build system.
78981         * GNUmakefile.list.am: Ditto.
78982         * WebCore.gypi: Ditto.
78983         * WebCore.pro: Ditto.
78984         * WebCore.vcproj/WebCore.vcproj: Ditto.
78985         * WebCore.xcodeproj/project.pbxproj: Ditto.
78986         * svg/SVGAllInOne.cpp:  Ditto.
78987         * svg/SVGAnimateElement.cpp: Use Animator for SVGColor. 
78988         (WebCore::SVGAnimateElement::SVGAnimateElement):
78989         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
78990         (WebCore::SVGAnimateElement::calculateAnimatedValue):
78991         (WebCore::SVGAnimateElement::determinePropertyValueTypes):
78992         (WebCore::SVGAnimateElement::calculateFromAndToValues):
78993         (WebCore::SVGAnimateElement::calculateFromAndByValues):
78994         (WebCore::SVGAnimateElement::resetToBaseValue):
78995         (WebCore::SVGAnimateElement::applyResultsToTarget):
78996         (WebCore::SVGAnimateElement::calculateDistance):
78997         (WebCore::SVGAnimateElement::ensureAnimator): Pass the animation element as pointer to animator.
78998         * svg/SVGAnimateElement.h: Removed unnecessary includes. Some cleanup.
78999         (WebCore::SVGAnimateElement::fromPropertyValueType): Get property value type of 'from' property.
79000         (WebCore::SVGAnimateElement::toPropertyValueType): Get property value type of 'to' property.
79001         * svg/SVGAnimatedAngle.cpp:
79002         (WebCore::SVGAnimatedAngleAnimator::SVGAnimatedAngleAnimator): Added SVGSMILElement as new argument, removed attributeName.
79003         (WebCore::SVGAnimatedAngleAnimator::calculateFromAndToValues): Determine property value type.
79004         (WebCore::SVGAnimatedAngleAnimator::calculateFromAndByValues): Ditto.
79005         (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue): Use new functions of SVGAnimateElement for handling of 'inherit'.
79006             And removed unnecessary arguments.
79007         (WebCore::SVGAnimatedAngleAnimator::calculateDistance): Removed animation element argument.
79008         * svg/SVGAnimatedAngle.h:
79009         * svg/SVGAnimatedColor.cpp: Added.
79010         (WebCore::SVGAnimatedColorAnimator::SVGAnimatedColorAnimator): Ditto.
79011         (WebCore::SVGAnimatedColorAnimator::constructFromString):
79012         (WebCore::SVGAnimatedColorAnimator::calculateFromAndToValues):
79013         (WebCore::SVGAnimatedColorAnimator::calculateFromAndByValues):
79014         (WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
79015         (WebCore::SVGAnimatedColorAnimator::calculateDistance):
79016         * svg/SVGAnimatedColor.h: Added.
79017         (WebCore::SVGAnimatedColorAnimator::~SVGAnimatedColorAnimator):
79018         * svg/SVGAnimatedLength.cpp:
79019         (WebCore::SVGAnimatedLengthAnimator::SVGAnimatedLengthAnimator): Ditto.
79020         (WebCore::SVGAnimatedLengthAnimator::calculateFromAndToValues):
79021         (WebCore::SVGAnimatedLengthAnimator::calculateFromAndByValues):
79022         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
79023         (WebCore::SVGAnimatedLengthAnimator::calculateDistance):
79024         * svg/SVGAnimatedLength.h:
79025         * svg/SVGAnimatedNumber.cpp:
79026         (WebCore::SVGAnimatedNumberAnimator::SVGAnimatedNumberAnimator): Ditto.
79027         (WebCore::SVGAnimatedNumberAnimator::calculateFromAndToValues):
79028         (WebCore::SVGAnimatedNumberAnimator::calculateFromAndByValues):
79029         (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
79030         (WebCore::SVGAnimatedNumberAnimator::calculateDistance):
79031         * svg/SVGAnimatedNumber.h:
79032         * svg/SVGAnimatedPointList.cpp:
79033         (WebCore::SVGAnimatedPointListAnimator::SVGAnimatedPointListAnimator): Ditto.
79034         (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
79035         (WebCore::SVGAnimatedPointListAnimator::calculateDistance):
79036         * svg/SVGAnimatedPointList.h:
79037         * svg/SVGAnimatedRect.cpp:
79038         (WebCore::SVGAnimatedRectAnimator::SVGAnimatedRectAnimator): Ditto.
79039         (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
79040         (WebCore::SVGAnimatedRectAnimator::calculateDistance):
79041         * svg/SVGAnimatedRect.h:
79042         * svg/SVGAnimatedType.cpp: Added handling of Color values.
79043         (WebCore::SVGAnimatedType::~SVGAnimatedType):
79044         (WebCore::SVGAnimatedType::createColor):
79045         (WebCore::SVGAnimatedType::color):
79046         (WebCore::SVGAnimatedType::valueAsString):
79047         (WebCore::SVGAnimatedType::setValueAsString):
79048         * svg/SVGAnimatedType.h:
79049         * svg/SVGAnimatedTypeAnimator.h:
79050         (WebCore::SVGAnimatedTypeAnimator::SVGAnimatedTypeAnimator):
79051         * svg/SVGAnimatorFactory.h:
79052         (WebCore::SVGAnimatorFactory::create):
79053
79054 2011-06-23  Yael Aharon  <yael.aharon@nokia.com>
79055
79056         Reviewed by Andreas Kling.
79057
79058         [Qt] [WK2] Add drag and drop support
79059         https://bugs.webkit.org/show_bug.cgi?id=62838
79060
79061         Add convenience methods to allow encoding/decoding of DragData.
79062         Move the call to dragEnded() to DragClient, to make WebKit1 and WebKit2 
79063         consistent.
79064
79065         * page/qt/DragControllerQt.cpp:
79066         (WebCore::DragController::cleanupAfterSystemDrag):
79067         * platform/DragData.h:
79068         (WebCore::DragData::flags):
79069         (WebCore::DragData::DragData):
79070         (WebCore::DragData::operator =):
79071
79072 2011-06-23  Vsevolod Vlasov  <vsevik@chromium.org>
79073
79074         Reviewed by Yury Semikhatsky.
79075
79076         Web Inspector: Show "no content" message in network panel when resource does not have content available.
79077         https://bugs.webkit.org/show_bug.cgi?id=63007
79078
79079         * English.lproj/localizedStrings.js:
79080         * WebCore.gypi:
79081         * WebCore.vcproj/WebCore.vcproj:
79082         * inspector/front-end/ApplicationCacheItemsView.js:
79083         (WebInspector.ApplicationCacheItemsView):
79084         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
79085         * inspector/front-end/CookieItemsView.js:
79086         (WebInspector.CookieItemsView):
79087         (WebInspector.CookieItemsView.prototype._updateWithCookies):
79088         * inspector/front-end/DatabaseTableView.js:
79089         (WebInspector.DatabaseTableView.prototype._queryFinished):
79090         * inspector/front-end/EmptyView.js: Added.
79091         (WebInspector.EmptyView):
79092         (WebInspector.EmptyView.prototype.show):
79093         (WebInspector.EmptyView.prototype.set text):
79094         * inspector/front-end/NetworkItemView.js:
79095         (WebInspector.NetworkItemView):
79096         (WebInspector.ResourceContentView):
79097         (WebInspector.ResourceContentView.prototype.hasContent):
79098         (WebInspector.ResourceContentView.prototype.get sourceView):
79099         (WebInspector.ResourceContentView.prototype.show):
79100         (WebInspector.ResourceContentView.prototype._ensureInnerViewShown.callback):
79101         (WebInspector.ResourceContentView.prototype._ensureInnerViewShown):
79102         (WebInspector.ResourceContentView.prototype.contentLoaded):
79103         * inspector/front-end/ResourceCookiesView.js:
79104         (WebInspector.ResourceCookiesView.prototype.show):
79105         * inspector/front-end/ResourcePreviewView.js:
79106         (WebInspector.ResourcePreviewView):
79107         (WebInspector.ResourcePreviewView.prototype.contentLoaded):
79108         (WebInspector.ResourcePreviewView.prototype._createInnerView):
79109         * inspector/front-end/ResourceResponseView.js: Added.
79110         (WebInspector.ResourceResponseView):
79111         (WebInspector.ResourceResponseView.prototype.get sourceView):
79112         (WebInspector.ResourceResponseView.prototype.contentLoaded):
79113         * inspector/front-end/ResourceTimingView.js:
79114         (WebInspector.ResourceTimingView.prototype.show):
79115         * inspector/front-end/ResourcesPanel.js:
79116         (WebInspector.StorageCategoryView):
79117         (WebInspector.StorageCategoryView.prototype.setText):
79118         * inspector/front-end/WebKit.qrc:
79119         * inspector/front-end/inspector.html:
79120
79121 2011-06-23  Balazs Kelemen  <kbalazs@webkit.org>
79122
79123         Reviewed by Adam Roben.
79124
79125         PluginView::dispatchNPEvent is deceptive
79126         https://bugs.webkit.org/show_bug.cgi?id=63243
79127
79128         Straighten the inverted logic of dispatchNPEvent
79129         and it's callers.
79130
79131         No change in behaviour so no new tests.
79132         Existing plugin tests cover this.
79133
79134         * plugins/gtk/PluginViewGtk.cpp:
79135         (WebCore::PluginView::dispatchNPEvent):
79136         (WebCore::PluginView::handleKeyboardEvent):
79137         (WebCore::PluginView::handleMouseEvent):
79138         * plugins/qt/PluginViewQt.cpp:
79139         (WebCore::PluginView::dispatchNPEvent):
79140         (WebCore::PluginView::handleKeyboardEvent):
79141         (WebCore::PluginView::handleMouseEvent):
79142         * plugins/symbian/PluginViewSymbian.cpp:
79143         (WebCore::PluginView::dispatchNPEvent):
79144         (WebCore::PluginView::handleKeyboardEvent):
79145         (WebCore::PluginView::handleMouseEvent):
79146         * plugins/win/PluginViewWin.cpp:
79147         (WebCore::PluginView::dispatchNPEvent):
79148         (WebCore::PluginView::handleKeyboardEvent):
79149         (WebCore::PluginView::handleMouseEvent):
79150
79151 2011-06-23  Tommy Widenflycht  <tommyw@google.com>
79152
79153         Reviewed by Tony Gentilcore.
79154
79155         MediaStream API: Rename Stream, GeneratedStream and StreamRecorder to the latest spec
79156         https://bugs.webkit.org/show_bug.cgi?id=63122
79157
79158         Fixing broken makefile.
79159
79160         * GNUmakefile.list.am:
79161
79162 2011-06-23  Tommy Widenflycht  <tommyw@google.com>
79163
79164         Reviewed by Tony Gentilcore.
79165
79166         MediaStream API: Rename Stream, GeneratedStream and StreamRecorder to the latest spec
79167         https://bugs.webkit.org/show_bug.cgi?id=63122
79168
79169         No new tests since no code has actually changed.
79170
79171         * CMakeLists.txt:
79172         * CodeGenerators.pri:
79173         * DerivedSources.cpp:
79174         * DerivedSources.make:
79175         * GNUmakefile.list.am:
79176         * WebCore.gypi:
79177         * WebCore.pro:
79178         * WebCore.vcproj/WebCore.vcproj:
79179         * WebCore.xcodeproj/project.pbxproj:
79180         * bindings/js/JSEventTarget.cpp:
79181         (WebCore::toJS):
79182         * bindings/v8/V8DOMWrapper.cpp:
79183         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
79184         * dom/DOMAllInOne.cpp:
79185         * dom/EventTarget.cpp:
79186         (WebCore::EventTarget::toMediaStream):
79187         (WebCore::EventTarget::toLocalMediaStream):
79188         * dom/EventTarget.h:
79189         * dom/LocalMediaStream.cpp: Renamed from Source/WebCore/dom/GeneratedStream.cpp.
79190         (WebCore::LocalMediaStream::DispatchUpdateTask::create):
79191         (WebCore::LocalMediaStream::DispatchUpdateTask::performTask):
79192         (WebCore::LocalMediaStream::DispatchUpdateTask::DispatchUpdateTask):
79193         (WebCore::LocalMediaStream::create):
79194         (WebCore::LocalMediaStream::LocalMediaStream):
79195         (WebCore::LocalMediaStream::~LocalMediaStream):
79196         (WebCore::LocalMediaStream::toLocalMediaStream):
79197         (WebCore::LocalMediaStream::detachEmbedder):
79198         (WebCore::LocalMediaStream::streamEnded):
79199         (WebCore::LocalMediaStream::audioTracks):
79200         (WebCore::LocalMediaStream::videoTracks):
79201         (WebCore::LocalMediaStream::stop):
79202         (WebCore::LocalMediaStream::onStop):
79203         * dom/LocalMediaStream.h: Renamed from Source/WebCore/dom/GeneratedStream.h.
79204         * dom/LocalMediaStream.idl: Renamed from Source/WebCore/dom/GeneratedStream.idl.
79205         * dom/MediaStream.cpp: Renamed from Source/WebCore/dom/Stream.cpp.
79206         (WebCore::MediaStream::create):
79207         (WebCore::MediaStream::MediaStream):
79208         (WebCore::MediaStream::~MediaStream):
79209         (WebCore::MediaStream::toMediaStream):
79210         (WebCore::MediaStream::streamEnded):
79211         (WebCore::MediaStream::scriptExecutionContext):
79212         (WebCore::MediaStream::eventTargetData):
79213         (WebCore::MediaStream::ensureEventTargetData):
79214         * dom/MediaStream.h: Renamed from Source/WebCore/dom/Stream.h.
79215         (WebCore::MediaStream::readyState):
79216         (WebCore::MediaStream::label):
79217         (WebCore::MediaStream::refEventTarget):
79218         (WebCore::MediaStream::derefEventTarget):
79219         * dom/MediaStream.idl: Renamed from Source/WebCore/dom/Stream.idl.
79220         * dom/MediaStreamContainer.h: Renamed from Source/WebCore/dom/StreamContainer.h.
79221         (WebCore::MediaStreamContainer::create):
79222         (WebCore::MediaStreamContainer::~MediaStreamContainer):
79223         (WebCore::MediaStreamContainer::length):
79224         (WebCore::MediaStreamContainer::item):
79225         (WebCore::MediaStreamContainer::add):
79226         (WebCore::MediaStreamContainer::remove):
79227         (WebCore::MediaStreamContainer::contains):
79228         (WebCore::MediaStreamContainer::get):
79229         (WebCore::MediaStreamContainer::MediaStreamContainer):
79230         * dom/MediaStreamList.cpp: Renamed from Source/WebCore/dom/StreamList.cpp.
79231         (WebCore::MediaStreamList::create):
79232         (WebCore::MediaStreamList::MediaStreamList):
79233         (WebCore::MediaStreamList::~MediaStreamList):
79234         (WebCore::MediaStreamList::length):
79235         (WebCore::MediaStreamList::item):
79236         * dom/MediaStreamList.h: Renamed from Source/WebCore/dom/StreamList.h.
79237         * dom/MediaStreamList.idl: Renamed from Source/WebCore/dom/StreamList.idl.
79238         * dom/StreamEvent.cpp:
79239         (WebCore::StreamEvent::create):
79240         (WebCore::StreamEvent::StreamEvent):
79241         (WebCore::StreamEvent::initStreamEvent):
79242         (WebCore::StreamEvent::stream):
79243         * dom/StreamEvent.h:
79244         (WebCore::StreamEvent::isMediaStreamEvent):
79245         * dom/StreamEvent.idl:
79246         * page/MediaStreamFrameController.cpp:
79247         (WebCore::MediaStreamFrameController::unregister):
79248         (WebCore::MediaStreamFrameController::getStreamFromLabel):
79249         (WebCore::MediaStreamFrameController::stopGeneratedStream):
79250         (WebCore::MediaStreamFrameController::streamGenerated):
79251         (WebCore::MediaStreamFrameController::audioTrackFailed):
79252         (WebCore::MediaStreamFrameController::videoTrackFailed):
79253         * page/MediaStreamFrameController.h:
79254         (WebCore::MediaStreamFrameController::ClientBase::isMediaStream):
79255         (WebCore::MediaStreamFrameController::ClientBase::isLocalMediaStream):
79256         (WebCore::MediaStreamFrameController::MediaStreamClient::MediaStreamClient):
79257         (WebCore::MediaStreamFrameController::MediaStreamClient::~MediaStreamClient):
79258         (WebCore::MediaStreamFrameController::MediaStreamClient::isMediaStream):
79259         (WebCore::MediaStreamFrameController::MediaStreamClient::isLocalMediaStream):
79260         * page/NavigatorUserMediaSuccessCallback.h:
79261         * page/NavigatorUserMediaSuccessCallback.idl:
79262
79263 2011-06-23  Mikhail Naganov  <mnaganov@chromium.org>
79264
79265         Reviewed by Yury Semikhatsky.
79266
79267         Web Inspector: [Chromium] Fix showing dominator leaf nodes after r89457
79268         https://bugs.webkit.org/show_bug.cgi?id=63250
79269
79270         * inspector/front-end/DetailedHeapshotView.js:
79271         * inspector/front-end/HeapSnapshot.js:
79272         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.get isEmpty):
79273
79274 2011-06-23  Vsevolod Vlasov  <vsevik@chromium.org>
79275
79276         Reviewed by Yury Semikhatsky.
79277
79278         Web Inspector: HTML preview in network panel should take 100% of resource view height.
79279         https://bugs.webkit.org/show_bug.cgi?id=63167
79280
79281         * inspector/front-end/inspector.css:
79282         (.resource-view.html iframe):
79283
79284 2011-06-23  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
79285
79286         Reviewed by Pavel Feldman.
79287
79288         Inspector may close at the start of the next inspector test in DRT
79289         https://bugs.webkit.org/show_bug.cgi?id=60881
79290
79291         Add a new function to the inspector, which tests whether the
79292         dispatch queue is empty.
79293
79294         * inspector/front-end/inspector.js:
79295         (WebInspector.dispatchQueueIsEmpty):
79296
79297 2011-06-23  Jeffrey Pfau  <jpfau@apple.com>
79298
79299         Reviewed by Nikolas Zimmermann.
79300
79301         Incorrectly placed SVG gradients can cause crashes when referenced
79302         https://bugs.webkit.org/show_bug.cgi?id=62914
79303
79304         Added a check for gradient rendering contexts. If the contexts can't be found, the gradient must be in an invalid location, so we use the fallback color instead.
79305
79306         Tests: svg/custom/invalid-gradient-with-xlink.svg
79307                svg/custom/xlink-to-invalid-gradient.svg
79308
79309         * rendering/svg/RenderSVGResourceGradient.cpp:
79310         (WebCore::RenderSVGResourceGradient::applyResource):
79311         * rendering/svg/RenderSVGResourceGradient.h:
79312         * rendering/svg/RenderSVGResourceLinearGradient.cpp:
79313         (WebCore::RenderSVGResourceLinearGradient::collectGradientAttributes):
79314         * rendering/svg/RenderSVGResourceLinearGradient.h:
79315         * rendering/svg/RenderSVGResourceRadialGradient.cpp:
79316         (WebCore::RenderSVGResourceRadialGradient::collectGradientAttributes):
79317         * rendering/svg/RenderSVGResourceRadialGradient.h:
79318         * svg/SVGLinearGradientElement.cpp:
79319         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
79320         * svg/SVGLinearGradientElement.h:
79321         * svg/SVGRadialGradientElement.cpp:
79322         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
79323         * svg/SVGRadialGradientElement.h:
79324
79325 2011-06-23  Dmitriy Vyukov  <dvyukov@google.com>
79326
79327         Reviewed by David Levin.
79328
79329         Fix incorrect usage of a condition variable.
79330         https://bugs.webkit.org/show_bug.cgi?id=63127
79331
79332         No new tests. This does not affect existing
79333         functionality.
79334
79335         * storage/DatabaseTask.cpp:
79336         (WebCore::DatabaseTaskSynchronizer::waitForTaskCompletion):
79337
79338 2011-06-23  David Grogan  <dgrogan@chromium.org>
79339
79340         Reviewed by Eric Seidel.
79341
79342         IndexedDB: add detail to an ASSERT error message
79343         https://bugs.webkit.org/show_bug.cgi?id=60407
79344
79345         No new tests, this is just a debug ASSERT.
79346
79347         * storage/IDBRequest.cpp:
79348         (WebCore::IDBRequest::dispatchEvent):
79349
79350 2011-06-22  Dirk Schulze  <krit@webkit.org>
79351
79352         Reviewed by Rob Buis.
79353
79354         Convert SVGPointList to SVGAnimatorFactory concept
79355         https://bugs.webkit.org/show_bug.cgi?id=63171
79356
79357         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
79358         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGPointList.
79359
79360         Added support for from-by animations of SVGPointLists.
79361
79362         Tests: svg/animations/svgpointlist-animation-1.html
79363                svg/animations/svgpointlist-animation-2.html
79364
79365         * CMakeLists.txt: Added new files to build system.
79366         * GNUmakefile.list.am: Ditto.
79367         * WebCore.gypi: Ditto.
79368         * WebCore.pro: Ditto.
79369         * WebCore.vcproj/WebCore.vcproj: Ditto.
79370         * WebCore.xcodeproj/project.pbxproj: Ditto.
79371         * svg/SVGAllInOne.cpp: Added SVGAnimatedPointList.cpp
79372         * svg/SVGAnimateElement.cpp:
79373         (WebCore::SVGAnimateElement::calculateAnimatedValue):
79374         (WebCore::SVGAnimateElement::calculateFromAndToValues):
79375         (WebCore::SVGAnimateElement::calculateFromAndByValues):
79376         (WebCore::SVGAnimateElement::resetToBaseValue):
79377         (WebCore::SVGAnimateElement::applyResultsToTarget):
79378         (WebCore::SVGAnimateElement::calculateDistance):
79379         * svg/SVGAnimateElement.h:
79380         * svg/SVGAnimatedPointList.cpp: Added.
79381         (WebCore::SVGAnimatedPointListAnimator::SVGAnimatedPointListAnimator):
79382         (WebCore::SVGAnimatedPointListAnimator::constructFromString):
79383         (WebCore::SVGAnimatedPointListAnimator::calculateFromAndToValues):
79384         (WebCore::SVGAnimatedPointListAnimator::calculateFromAndByValues):
79385         (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
79386         (WebCore::SVGAnimatedPointListAnimator::calculateDistance):
79387         * svg/SVGAnimatedPointList.h: Added.
79388         (WebCore::SVGAnimatedPointListAnimator::~SVGAnimatedPointListAnimator):
79389         * svg/SVGAnimatedType.cpp:
79390         (WebCore::SVGAnimatedType::~SVGAnimatedType):
79391         (WebCore::SVGAnimatedType::createPointList):
79392         (WebCore::SVGAnimatedType::pointList):
79393         (WebCore::SVGAnimatedType::valueAsString):
79394         (WebCore::SVGAnimatedType::setValueAsString):
79395         * svg/SVGAnimatedType.h:
79396         * svg/SVGAnimatorFactory.h:
79397         (WebCore::SVGAnimatorFactory::create):
79398
79399 2011-06-22  Dimitri Glazkov  <dglazkov@chromium.org>
79400
79401         Reviewed by Kent Tamura.
79402
79403         Move file-choosing and icon-loading management to FileInputType
79404         https://bugs.webkit.org/show_bug.cgi?id=62069
79405
79406         1) Moved the duties of FileChooserClient and FileIconLoaderClient from
79407         RenderFileUploadControl to FileInputType, along with all of the
79408         supporting functions.
79409
79410         2) Moved Icon ownership to FileInputType and exposed accessor on
79411         HTMInputElement to allow RenderFileUploadControl to query current icon.
79412
79413         As a result, RenderFileUploadControl is now completely stateless, which is
79414         neat and clean.
79415
79416         Refactoring, covered by existing tests.
79417
79418         * html/FileInputType.cpp:
79419         (WebCore::FileInputType::handleDOMActivateEvent): Moved logic here from RenderFileUploadControl.
79420         (WebCore::FileInputType::requestIcon): Ditto.
79421         (WebCore::FileInputType::filesChosen): Ditto.
79422         (WebCore::FileInputType::receiveDropForDirectoryUpload): Ditto.
79423         (WebCore::FileInputType::updateRendering): Ditto.
79424         (WebCore::FileInputType::chrome): Ditto.
79425         (WebCore::FileInputType::receiveDroppedFiles): Ditto.
79426         (WebCore::FileInputType::icon): Added.
79427         * html/FileInputType.h:
79428         * html/HTMLInputElement.cpp:
79429         (WebCore::HTMLInputElement::setValueFromRenderer): Updated comment.
79430         (WebCore::HTMLInputElement::receiveDroppedFiles): Added to replace setFileListFromRenderer.
79431         (WebCore::HTMLInputElement::icon): Added.
79432         * html/HTMLInputElement.h:
79433         * html/InputType.cpp:
79434         (WebCore::InputType::receiveDroppedFiles): Added.
79435         (WebCore::InputType::icon): Added.
79436         * html/InputType.h:
79437         * page/DragController.cpp:
79438         (WebCore::DragController::concludeEditDrag): Changed to use HTMLInputElement. Ahh, nice and clean!
79439         * rendering/RenderFileUploadControl.cpp:
79440         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Removed code that is no longer necessary.
79441         (WebCore::RenderFileUploadControl::updateFromElement): Ditto.
79442         (WebCore::RenderFileUploadControl::maxFilenameWidth): Changed to use HTMLInputElement icon accessor.
79443         (WebCore::RenderFileUploadControl::paintObject): Ditto.
79444         * rendering/RenderFileUploadControl.h:
79445
79446 2011-06-22  Pratik Solanki  <psolanki@apple.com>
79447
79448         Reviewed by Darin Adler.
79449
79450         Add NSError wrapper functions in ResourceError when USE(CFNETWORK) is enabled
79451         https://bugs.webkit.org/show_bug.cgi?id=63155
79452
79453         Add wrapper functions to ResourceError when building with USE(CFNETWORK). We need to create
79454         a new NSError in ResourceError::nsError() since Safari has category methods on NSError and
79455         passing a CFErrorRef back does not work even though CFErrorRef/NSErrror are toll-free
79456         bridged.
79457
79458         No tests because no change in functionality.
79459
79460         * WebCore.exp.in:
79461         * platform/network/cf/ResourceError.h:
79462         * platform/network/mac/ResourceErrorMac.mm:
79463         (WebCore::ResourceError::ResourceError):
79464         (WebCore::ResourceError::nsError):
79465         (WebCore::ResourceError::operator NSError *):
79466
79467 2011-06-22  Dominic Cooney  <dominicc@chromium.org>
79468
79469         Reviewed by Mark Rowe.
79470
79471         Add window.internals to WebKit2's WebKitTestRunner.
79472         https://bugs.webkit.org/show_bug.cgi?id=61073
79473
79474         * Configurations/WebCoreTestSupport.xcconfig:
79475         * WebCore.xcodeproj/project.pbxproj:
79476
79477 2011-06-22  Dimitri Glazkov  <dglazkov@chromium.org>
79478
79479         Reviewed by Kent Tamura.
79480
79481         Convert FileIconLoaderClient to "smart client" pattern, just like FileChooserClient.
79482         https://bugs.webkit.org/show_bug.cgi?id=63224
79483
79484         Refactoring, covered by existing tests.
79485
79486         * platform/FileIconLoader.cpp:
79487         (WebCore::FileIconLoaderClient::~FileIconLoaderClient): Changed to discard loader.
79488         (WebCore::FileIconLoaderClient::newFileIconLoader): Added.
79489         (WebCore::FileIconLoaderClient::discardLoader): Added.
79490         * platform/FileIconLoader.h: Updated defs.
79491         * rendering/RenderFileUploadControl.cpp:
79492         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Removed initialization of icon loader.
79493         (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Remove discarding of loader.
79494         (WebCore::RenderFileUploadControl::requestIcon): Changed to use newFileIconLoader.
79495         * rendering/RenderFileUploadControl.h: Updated defs.
79496
79497 2011-06-22  Yael Aharon  <yael.aharon@nokia.com>
79498
79499         Another unreviewed build fix after r89472.
79500
79501         No new tests, just a build fix.
79502
79503         * rendering/svg/SVGResources.cpp:
79504
79505 2011-06-22  Yael Aharon  <yael.aharon@nokia.com>
79506
79507         Unreviewed build fix after r89472.
79508
79509         No new tests, just a build fix.
79510
79511         * rendering/InlineBox.cpp:
79512         * rendering/RenderCounter.cpp:
79513
79514 2011-06-22  Dimitri Glazkov  <dglazkov@chromium.org>
79515
79516         Reviewed by Kent Tamura.
79517
79518         Add a helper function to FileList to retrieve a list of filenames.
79519         https://bugs.webkit.org/show_bug.cgi?id=63222
79520
79521         Refactoring, covered by existing tests.
79522
79523         * fileapi/FileList.cpp:
79524         (WebCore::FileList::filenames): Added.
79525         * fileapi/FileList.h:
79526         * rendering/RenderFileUploadControl.cpp:
79527         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Changed to use newly added helper.
79528         (WebCore::RenderFileUploadControl::click): Ditto.
79529         (WebCore::RenderFileUploadControl::fileTextValue): Ditto.
79530
79531 2011-06-22  Sam Weinig  <sam@webkit.org>
79532
79533         Reviewed by Adam Barth.
79534
79535         Lower HTML parser DOM depth limit to 2048
79536         https://bugs.webkit.org/show_bug.cgi?id=63219
79537
79538         Lower the default depth limit from 4096 to 2048. There isn't a good
79539         reason to have such pathologically nested content, and by-and-large,
79540         the rendering code is not setup to support it that well. Adding this
79541         aggressive limit now will allow us to see if anything breaks in the
79542         nightlies.
79543
79544         * page/Settings.h:
79545
79546 2011-06-22  Julien Chaffraix  <jchaffraix@webkit.org>
79547
79548         Reviewed by Dimitri Glazkov.
79549
79550         Tighten type usage in the Shadow tree code
79551         https://bugs.webkit.org/show_bug.cgi?id=63210
79552
79553         Refactoring only, no new test required.
79554
79555         * dom/Document.cpp:
79556         (WebCore::Document::buildAccessKeyMap):
79557         * dom/Document.h:
79558         Changed the argument of buildAccessKeyMap to TreeScope.
79559
79560         * dom/Element.cpp:
79561         (WebCore::Element::attach):
79562         (WebCore::Element::removeShadowRoot):
79563         * html/ColorInputType.cpp:
79564         (WebCore::ColorInputType::shadowColorSwatch):
79565         * html/HTMLKeygenElement.cpp:
79566         (WebCore::HTMLKeygenElement::shadowSelect):
79567         * html/shadow/SliderThumbElement.cpp:
79568         (WebCore::sliderThumbElementOf):
79569         Use ShadowRoot for the previous call sites as this is what is
79570         returned by shadowRoot().
79571
79572         * dom/Node.cpp:
79573         (WebCore::traverseTreeAndMark): Renamed the parameter here as it is not
79574         expected to be a shadow object. Just the rootNode of our traversal.
79575
79576         * dom/ShadowRoot.h: Made attach() public as it is public in ContainerNode
79577         and we would do some casting to avoid the private attribute in ShadowRoot.
79578
79579 2011-06-22  Joseph Pecoraro  <joepeck@webkit.org>
79580
79581         Reviewed by Darin Adler.
79582
79583         Remove comment about pages with frames not being page-cachable
79584         https://bugs.webkit.org/show_bug.cgi?id=63207
79585
79586         This comment was out of date. Caching pages with Frames in
79587         the PageCache has worked since 2009:
79588         <http://webkit.org/b/13631> Page Cache should support pages with frames
79589
79590         * history/PageCache.cpp:
79591         (WebCore::PageCache::canCache):
79592
79593 2011-06-22  Yael Aharon  <yael.aharon@nokia.com>
79594
79595         Reviewed by Andreas Kling.
79596
79597         [Qt] Add a build flag for building with libxml2 and libxslt.
79598         https://bugs.webkit.org/show_bug.cgi?id=63113
79599
79600         No new tests. If this new flag was set by default, we could unskip
79601         existing xmlviewer tests.
79602
79603         * CodeGenerators.pri:
79604         * WebCore.pri:
79605         * WebCore.pro:
79606         * features.pri:
79607
79608 2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
79609
79610         Yet another build fix after r89472.
79611
79612         * html/parser/HTMLFormattingElementList.cpp:
79613
79614 2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
79615
79616         Another build fix after r89472.
79617
79618         * dom/DocumentMarkerController.cpp:
79619
79620 2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
79621
79622         Build fix after r89472.
79623
79624         * css/CSSStyleDeclaration.cpp:
79625
79626 2011-06-22  Mark Pilgrim  <pilgrim@chromium.org>
79627
79628         Reviewed by Adam Barth.
79629
79630         IndexedDB open (database) should NOT throw if name is null
79631         https://bugs.webkit.org/show_bug.cgi?id=63110
79632
79633         * storage/IDBFactory.idl: remove ConvertNullToNullString flag on
79634         name argument, let IDL code generator stringify null value to "null"
79635
79636 2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
79637
79638         Reviewed by Darin Adler.
79639
79640         Add a Position constructor that takes (Text*, unsigned offset)
79641         https://bugs.webkit.org/show_bug.cgi?id=63181
79642
79643         Added Position::Position(PassRefPtr<Text*>, unsigned offset) and deployed in a couple of places
79644         by replacing the calls to the old constructor.
79645
79646         * dom/Position.cpp:
79647         (WebCore::Position::Position): Added.
79648         * dom/Position.h:
79649         * editing/CompositeEditCommand.cpp:
79650         (WebCore::CompositeEditCommand::replaceSelectedTextInNode): Calls new constructor; extracted
79651         from InsertTextCommand::performTrivialReplace and ReplaceSelectionCommand::performTrivialReplace.
79652         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Calls new constructor
79653         * editing/CompositeEditCommand.h:
79654         * editing/InsertTextCommand.cpp:
79655         (WebCore::InsertTextCommand::performTrivialReplace): Calls replaceSelectedTextInNode.
79656         (WebCore::InsertTextCommand::input): Calls new constructor.
79657         (WebCore::InsertTextCommand::insertTab): Use RefPtr instead of a raw pointer.
79658         * editing/ReplaceSelectionCommand.cpp:
79659         (WebCore::ReplaceSelectionCommand::performTrivialReplace): Calls replaceSelectedTextInNode.
79660         * editing/visible_units.cpp:
79661         (WebCore::startPositionForLine): Calls new constructor.
79662         * rendering/RenderTextControl.cpp:
79663         (WebCore::RenderTextControl::visiblePositionForIndex): Calls new constructor; calls endPosition
79664         on Range instead of avoid manually constructing a VisiblePosition out of endContainer and endOffset.
79665
79666 2011-06-22  Adam Barth  <abarth@webkit.org>
79667
79668         Reviewed by Darin Fisher.
79669
79670         [Chromium] Add WebDocument APIs for the functions moving from WebFrame
79671         https://bugs.webkit.org/show_bug.cgi?id=62831
79672
79673         * dom/Document.cpp:
79674         (WebCore::Document::openSearchDescriptionURL):
79675             - This function exists to service a Chromium WebKit API, but it's
79676               generally purpose and might be useful to other ports.  The
79677               algorithm has some strange early exits, which I've marked with
79678               FIXME comments.
79679         * dom/Document.h:
79680
79681 2011-06-22  Nate Chapin  <japhet@chromium.org>
79682
79683         Reviewed by Adam Barth.
79684
79685         Don't let all subresources keep isLoadingInAPISense() from
79686         returning false, only requests that affect
79687         CachedResourceRequest::requestCount().
79688
79689         Also, add a callback to Internals to determine whether
79690         a resource has been preloaded.
79691
79692         https://bugs.webkit.org/show_bug.cgi?id=62066
79693
79694         * WebCore.exp.in:
79695         * dom/Document.cpp: Add m_loadEventFinished.
79696         * dom/Document.h:
79697         * loader/DocumentLoader.cpp:
79698         (WebCore::DocumentLoader::isLoadingInAPISense):
79699         * loader/cache/CachedResourceLoader.cpp:
79700         (WebCore::CachedResourceLoader::isPreloaded):
79701         * loader/cache/CachedResourceLoader.h:
79702         * testing/Internals.cpp:
79703         (WebCore::Internals::isPreloaded):
79704         * testing/Internals.h:
79705         * testing/Internals.idl:
79706
79707 2011-06-22  Chris Rogers  <crogers@google.com>
79708
79709         Reviewed by David Levin.
79710
79711         Use create() method for AsyncAudioDecoder::DecodingTask
79712         https://bugs.webkit.org/show_bug.cgi?id=63198
79713
79714         No new tests.  This doesn't change any JS API.
79715
79716         * webaudio/AsyncAudioDecoder.cpp:
79717         (WebCore::AsyncAudioDecoder::decodeAsync):
79718         (WebCore::AsyncAudioDecoder::DecodingTask::create):
79719         * webaudio/AsyncAudioDecoder.h:
79720
79721 2011-06-22  Sheriff Bot  <webkit.review.bot@gmail.com>
79722
79723         Unreviewed, rolling out r89489.
79724         http://trac.webkit.org/changeset/89489
79725         https://bugs.webkit.org/show_bug.cgi?id=63203
79726
79727         Broke chromium mac build on build.webkit.org (Requested by
79728         abarth on #webkit).
79729
79730         * WebCore.gyp/WebCore.gyp:
79731         * loader/cache/CachedFont.cpp:
79732         * platform/chromium/DragImageRef.h:
79733         * platform/graphics/FloatPoint.h:
79734         * platform/graphics/FloatRect.h:
79735         * platform/graphics/FloatSize.h:
79736         * platform/graphics/FontPlatformData.h:
79737         (WebCore::FontPlatformData::hash):
79738         * platform/graphics/GlyphBuffer.h:
79739         (WebCore::GlyphBuffer::advanceAt):
79740         (WebCore::GlyphBuffer::add):
79741         (WebCore::GlyphBuffer::expandLastAdvance):
79742         * platform/graphics/IntPoint.h:
79743         * platform/graphics/IntRect.h:
79744         * platform/graphics/IntSize.h:
79745         * platform/graphics/SimpleFontData.h:
79746         * platform/graphics/cg/FloatPointCG.cpp:
79747         * platform/graphics/cg/FloatRectCG.cpp:
79748         * platform/graphics/cg/FloatSizeCG.cpp:
79749         * platform/graphics/cg/IntPointCG.cpp:
79750         * platform/graphics/cg/IntRectCG.cpp:
79751         * platform/graphics/cg/IntSizeCG.cpp:
79752         * platform/graphics/mac/FontCustomPlatformData.cpp:
79753         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
79754         (WebCore::createFontCustomPlatformData):
79755         * platform/graphics/mac/FontCustomPlatformData.h:
79756         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
79757
79758 2011-06-22  Luke Macpherson   <macpherson@chromium.org>
79759
79760         Reviewed by James Robinson.
79761
79762         Remove comment that snuck in via copy & paste.
79763         https://bugs.webkit.org/show_bug.cgi?id=63177
79764
79765         No new tests / no code changes.
79766
79767         * css/CSSPrimitiveValueMappings.h:
79768         (WebCore::CSSPrimitiveValue::operator short):
79769         Removed incorrect comment.
79770
79771 2011-06-22  Annie Sullivan  <sullivan@chromium.org>
79772
79773         Reviewed by Ryosuke Niwa.
79774
79775         REGRESSION: Hitting enter in the middle of this span causes the cursor to go to the end of the span
79776         https://bugs.webkit.org/show_bug.cgi?id=61594
79777
79778         When the tree is split at the cursor in InsertParagraphSeparatorCommand, it is possible for the position
79779         split at to be at the end of a text node. The code assumes the position is at the start of the node, so
79780         pass the correct node into splitTreeToNode() in that case.
79781
79782         Tests: editing/inserting/return-key-before-br-in-span.html
79783                editing/inserting/return-key-middle-of-span.html
79784
79785         * editing/InsertParagraphSeparatorCommand.cpp:
79786         (WebCore::InsertParagraphSeparatorCommand::doApply):
79787
79788 2011-06-22  Rob Buis  <rbuis@rim.com>
79789
79790         Reviewed by Nikolas Zimmermann.
79791
79792         SVG1.1SE test with pointer-events and invalid gradient fill fails
79793         https://bugs.webkit.org/show_bug.cgi?id=63109
79794
79795         Properly detect fill/stroke properties of type SVG_PAINTTYPE_URI_NONE, store it in SVGPaint
79796         and don't apply the paint if the uri lookup fails.
79797
79798         Tests: svg/W3C-SVG-1.1-SE/interact-pointer-03-t.svg
79799                svg/custom/pointer-events-invalid-fill.svg
79800
79801         * css/SVGCSSParser.cpp:
79802         (WebCore::CSSParser::parseSVGValue):
79803         * rendering/svg/RenderSVGResource.cpp:
79804         (WebCore::requestPaintingResource):
79805         * svg/SVGPaint.h:
79806         (WebCore::SVGPaint::createURIAndNone):
79807
79808 2011-06-22  Cary Clark  <caryclark@google.com>
79809
79810         Reviewed by Darin Fisher.
79811
79812         Use Skia if Skia on Mac Chrome is enabled
79813         https://bugs.webkit.org/show_bug.cgi?id=62999
79814
79815         No new tests. This does not affect existing
79816         functionality.
79817
79818         * WebCore.gyp/WebCore.gyp:
79819         Include Skia and related files and exclude CG
79820         and related files when building Chromium for Skia
79821         on the Mac.
79822
79823         * loader/cache/CachedFont.cpp:
79824         Rename CHROME to CHROMIUM.
79825
79826         * platform/chromium/DragImageRef.h:
79827         * platform/graphics/FloatPoint.h:
79828         * platform/graphics/FloatRect.h:
79829         * platform/graphics/FloatSize.h:
79830         * platform/graphics/FontPlatformData.h:
79831         (WebCore::FontPlatformData::hash):
79832         * platform/graphics/GlyphBuffer.h:
79833         (WebCore::GlyphBuffer::advanceAt):
79834         (WebCore::GlyphBuffer::add):
79835         (WebCore::GlyphBuffer::expandLastAdvance):
79836         * platform/graphics/IntPoint.h:
79837         * platform/graphics/IntRect.h:
79838         * platform/graphics/IntSize.h:
79839         * platform/graphics/SimpleFontData.h:
79840         * platform/graphics/cg/FloatPointCG.cpp:
79841         * platform/graphics/cg/FloatRectCG.cpp:
79842         * platform/graphics/cg/FloatSizeCG.cpp:
79843         * platform/graphics/cg/IntPointCG.cpp:
79844         * platform/graphics/cg/IntRectCG.cpp:
79845         * platform/graphics/cg/IntSizeCG.cpp:
79846         * platform/graphics/mac/FontCustomPlatformData.cpp:
79847         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
79848         (WebCore::createFontCustomPlatformData):
79849         * platform/graphics/mac/FontCustomPlatformData.h:
79850         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
79851         Ditto.
79852
79853 2011-06-22  Mark Pilgrim  <pilgrim@chromium.org>
79854
79855         Reviewed by Adam Barth.
79856
79857         IndexedDB createIndex should NOT throw if name arg is null
79858         https://bugs.webkit.org/show_bug.cgi?id=63114
79859
79860         * storage/IDBObjectStore.idl: remove ConvertNullToNullString flag
79861         so null values will be stringified as "null", as per WebIDL spec.
79862
79863 2011-06-22  Chris Rogers  <crogers@google.com>
79864
79865         Reviewed by Kenneth Russell.
79866
79867         AudioContext needs non-blocking call to create AudioBuffer from audio file data
79868         https://bugs.webkit.org/show_bug.cgi?id=61947
79869
79870         No new tests since audio API is not yet implemented.
79871
79872         * DerivedSources.make:
79873         * WebCore.gypi:
79874         * WebCore.xcodeproj/project.pbxproj:
79875         * webaudio/AsyncAudioDecoder.cpp: Added.
79876         (WebCore::AsyncAudioDecoder::AsyncAudioDecoder):
79877         (WebCore::AsyncAudioDecoder::~AsyncAudioDecoder):
79878         (WebCore::AsyncAudioDecoder::decodeAsync):
79879         (WebCore::AsyncAudioDecoder::threadEntry):
79880         (WebCore::AsyncAudioDecoder::runLoop):
79881         (WebCore::AsyncAudioDecoder::DecodingTask::DecodingTask):
79882         (WebCore::AsyncAudioDecoder::DecodingTask::decode):
79883         (WebCore::AsyncAudioDecoder::DecodingTask::notifyCompleteDispatch):
79884         (WebCore::AsyncAudioDecoder::DecodingTask::notifyComplete):
79885         * webaudio/AsyncAudioDecoder.h: Added.
79886         (WebCore::AsyncAudioDecoder::DecodingTask::audioData):
79887         (WebCore::AsyncAudioDecoder::DecodingTask::sampleRate):
79888         (WebCore::AsyncAudioDecoder::DecodingTask::successCallback):
79889         (WebCore::AsyncAudioDecoder::DecodingTask::errorCallback):
79890         (WebCore::AsyncAudioDecoder::DecodingTask::audioBuffer):
79891         * webaudio/AudioBufferCallback.h: Added.
79892         (WebCore::AudioBufferCallback::~AudioBufferCallback):
79893         * webaudio/AudioBufferCallback.idl: Added.
79894         * webaudio/AudioContext.cpp:
79895         (WebCore::AudioContext::decodeAudioData):
79896         * webaudio/AudioContext.h:
79897         * webaudio/AudioContext.idl:
79898
79899 2011-06-22  Beth Dakin  <bdakin@apple.com>
79900
79901         Reviewed by Simon Fraser.
79902
79903         https://bugs.webkit.org/show_bug.cgi?id=63174
79904         Don't draw the borders as one path unless there really are 4 borders
79905         -and corresponding-
79906         <rdar://problem/9457997>
79907
79908         If any of the border edges have no width, then allEdgesVisible should be set to 
79909         false since borders without width will not be visible.
79910         * rendering/RenderBoxModelObject.cpp:
79911         (WebCore::RenderBoxModelObject::paintBorder):
79912
79913 2011-06-22  Matthew Delaney  <mdelaney@apple.com>
79914
79915         Reviewed by Oliver Hunt.
79916
79917         Canvas in layer obscures overlapping span
79918         https://bugs.webkit.org/show_bug.cgi?id=63161
79919
79920         Test: compositing/layer-creation/spanOverlapsCanvas.html
79921
79922         * rendering/RenderLayer.cpp: Added checks for canvas to be layered properly.
79923         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
79924         (WebCore::RenderLayer::isSelfPaintingLayer):
79925
79926 2011-06-22  Chris Rogers  <crogers@google.com>
79927
79928         Reviewed by Kenneth Russell.
79929
79930         AudioContext noteGrainOn() method should not apply explicit windowing
79931         https://bugs.webkit.org/show_bug.cgi?id=63005
79932
79933         No new tests since audio API is not yet implemented.
79934
79935         * webaudio/AudioBufferSourceNode.cpp:
79936         (WebCore::AudioBufferSourceNode::readFromBuffer):
79937         * webaudio/AudioBufferSourceNode.h:
79938
79939 2011-06-22  Kentaro Hara  <haraken@google.com>
79940
79941         Reviewed by Tony Chang.
79942
79943         Check |keypath| argument of createObjectStore(). Remove storage/indexeddb/keypath-as-array.html.
79944         https://bugs.webkit.org/show_bug.cgi?id=63054
79945
79946         At the head of createObjectStore(), we parse |keypath| argument and throw an exception
79947         if the |keypath| is invalid. With this parsing, we remove keypath-as-array.html because
79948         the current keypath parser does not support an array of keypath and (more importantly)
79949         the current implementation of ObjectStore does not support multiple keypaths.
79950         We added keypath-basics.html that demonstrates that we do not support an array of keypaths.
79951
79952         Tests: storage/indexeddb/keypath-basics.html
79953
79954         * storage/IDBDatabase.cpp:
79955         (WebCore::IDBDatabase::createObjectStore):
79956         * storage/IDBKeyPath.cpp:
79957         (WebCore::IDBIsValidKeyPath):
79958         * storage/IDBKeyPath.h:
79959
79960 2011-06-22  Young Han Lee  <joybro@company100.net>
79961
79962         Reviewed by Simon Fraser.
79963
79964         animation-timing-function property with a list uses first item for all animations
79965         https://bugs.webkit.org/show_bug.cgi?id=60303
79966
79967         When an element has multiple animations that have different timingFunctions,
79968         the progress of each animation should be calculated using its respective timingFunction.
79969         But at this point, the timingFunction of the first animation is only used for the
79970         calculation, regardless of how many animations the element has.
79971
79972         The code for getting a timingFunction is changed by this patch
79973         so that the timingFunction of the correct animation searched by its name will be used.
79974
79975         Test: animations/multiple-animations-timing-function.html
79976
79977         * page/animation/KeyframeAnimation.cpp:
79978         (WebCore::getAnimationFromStyleByName):
79979         (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
79980
79981 2011-06-22  Sheriff Bot  <webkit.review.bot@gmail.com>
79982
79983         Unreviewed, rolling out r89407, r89409, r89410, and r89411.
79984         http://trac.webkit.org/changeset/89407
79985         http://trac.webkit.org/changeset/89409
79986         http://trac.webkit.org/changeset/89410
79987         http://trac.webkit.org/changeset/89411
79988         https://bugs.webkit.org/show_bug.cgi?id=63168
79989
79990         Broke Chromium tests for Forms and Autofill (Requested by
79991         dimich on #webkit).
79992
79993         * css/html.css:
79994         (input[type="search"]::-webkit-search-cancel-button):
79995         (input[type="search"]::-webkit-search-decoration):
79996         (input[type="search"]::-webkit-search-results-decoration):
79997         (input[type="search"]::-webkit-search-results-button):
79998         (input::-webkit-inner-spin-button):
79999         (input::-webkit-input-speech-button):
80000         * html/HTMLInputElement.cpp:
80001         * html/HTMLInputElement.h:
80002         * html/InputType.h:
80003         * html/SearchInputType.cpp:
80004         (WebCore::SearchInputType::SearchInputType):
80005         (WebCore::SearchInputType::createShadowSubtree):
80006         (WebCore::SearchInputType::destroyShadowSubtree):
80007         * html/SearchInputType.h:
80008         (WebCore::SearchInputType::innerBlockElement):
80009         * html/TextFieldInputType.cpp:
80010         (WebCore::TextFieldInputType::TextFieldInputType):
80011         (WebCore::TextFieldInputType::createShadowSubtree):
80012         (WebCore::TextFieldInputType::destroyShadowSubtree):
80013         * html/TextFieldInputType.h:
80014         (WebCore::TextFieldInputType::innerTextElement):
80015         (WebCore::TextFieldInputType::innerSpinButtonElement):
80016         (WebCore::TextFieldInputType::speechButtonElement):
80017         (WebCore::TextFieldInputType::setInnerTextElement):
80018         (WebCore::TextFieldInputType::setSpeechButtonElement):
80019         * rendering/RenderTextControlSingleLine.cpp:
80020         (WebCore::RenderTextControlSingleLine::innerTextElement):
80021         (WebCore::RenderTextControlSingleLine::layout):
80022         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
80023         (WebCore::RenderTextControlSingleLine::forwardEvent):
80024         (WebCore::RenderTextControlSingleLine::styleDidChange):
80025         (WebCore::RenderTextControlSingleLine::hasControlClip):
80026         (WebCore::RenderTextControlSingleLine::controlClipRect):
80027         (WebCore::RenderTextControlSingleLine::textBlockWidth):
80028         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
80029         (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
80030         (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
80031         * rendering/RenderTextControlSingleLine.h:
80032
80033 2011-06-20  Mikhail Naganov  <mnaganov@chromium.org>
80034
80035         Reviewed by Pavel Feldman.
80036
80037         Web Inspector: [Chromium] Improve speed of heap profiles dominators view.
80038         https://bugs.webkit.org/show_bug.cgi?id=62979
80039
80040         * inspector/front-end/DetailedHeapshotGridNodes.js:
80041         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
80042         * inspector/front-end/HeapSnapshot.js:
80043         (WebInspector.HeapSnapshotArraySlice.prototype.item):
80044         (WebInspector.HeapSnapshotArraySlice.prototype.slice):
80045         (WebInspector.HeapSnapshot.prototype.dispose):
80046         (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
80047         (WebInspector.HeapSnapshot.prototype._buildReverseIndex.var):
80048         (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
80049         (WebInspector.HeapSnapshot.prototype._buildRetainers):
80050         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
80051         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
80052         (WebInspector.HeapSnapshot.prototype._getDominatedIndex):
80053         (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
80054         (WebInspector.HeapSnapshot.prototype.createNodesProviderForDominator):
80055         (WebInspector.HeapSnapshotFilteredOrderedIterator):
80056         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype._createIterationOrder):
80057         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.get length):
80058         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeNextItems):
80059         (WebInspector.HeapSnapshotNodesProvider):
80060         * inspector/front-end/HeapSnapshotProxy.js:
80061         (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForDominator):
80062
80063 2011-06-22  Sreeram Ramachandran  <sreeram@chromium.org>
80064
80065         Reviewed by Pavel Feldman.
80066
80067         Web Inspector: Restore console messages when restoring inspector state
80068         https://bugs.webkit.org/show_bug.cgi?id=63146
80069
80070         No new tests (no change in functionality, only in display).
80071
80072         * inspector/InspectorConsoleAgent.cpp:
80073         (WebCore::InspectorConsoleAgent::restore):
80074         * inspector/InspectorConsoleAgent.h:
80075         * inspector/InspectorController.cpp:
80076         (WebCore::InspectorController::restoreInspectorStateFromCookie):
80077
80078 2011-06-22  Adam Barth  <abarth@webkit.org>
80079
80080         Attempt to fix the GTK build after my incomplete rollout of 88332.
80081
80082         * GNUmakefile.list.am:
80083
80084 2011-06-22  Sam Weinig  <sam@webkit.org>
80085
80086         Reviewed by Adam Barth.
80087
80088         HTML parser should limit element depth of produced tree
80089         https://bugs.webkit.org/show_bug.cgi?id=63082
80090
80091         Test by:
80092             fast/parser/block-nesting-cap.html
80093             fast/parser/element-nesting-cap.html
80094
80095         * html/parser/HTMLConstructionSite.cpp:
80096         (WebCore::HTMLConstructionSite::attach):
80097         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
80098         * html/parser/HTMLConstructionSite.h:
80099         Limit the DOM tree depth by turning attempts to add a child passed a certain
80100         threshold (configurable by Settings::maximumDOMTreeDepth) into a sibling.
80101
80102         * html/parser/HTMLDocumentParser.cpp:
80103         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
80104         (WebCore::HTMLDocumentParser::maximumDOMTreeDepth):
80105         * html/parser/HTMLDocumentParser.h:
80106         Pass the maximumDOMTreeDepth to the TreeBuilder.
80107
80108         * html/parser/HTMLElementStack.cpp:
80109         (WebCore::HTMLElementStack::HTMLElementStack):
80110         (WebCore::HTMLElementStack::popAll):
80111         (WebCore::HTMLElementStack::insertAbove):
80112         (WebCore::HTMLElementStack::pushCommon):
80113         (WebCore::HTMLElementStack::popCommon):
80114         (WebCore::HTMLElementStack::removeNonTopCommon):
80115         * html/parser/HTMLElementStack.h:
80116         (WebCore::HTMLElementStack::size):
80117         Keep track of the size of the element stack.
80118
80119         * html/parser/HTMLTreeBuilder.cpp:
80120         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
80121         * html/parser/HTMLTreeBuilder.h:
80122         (WebCore::HTMLTreeBuilder::create):
80123         Pass the maximumDOMTreeDepth to the construction site.
80124
80125         * page/Settings.cpp:
80126         (WebCore::Settings::Settings):
80127         * page/Settings.h:
80128         (WebCore::Settings::setMaximumHTMLParserDOMTreeDepth):
80129         (WebCore::Settings::maximumHTMLParserDOMTreeDepth):
80130         Add a setting to control the maximum DOM tree depth that the parser will produce.
80131
80132 2011-06-22  Adam Barth  <abarth@webkit.org>
80133
80134         Rollout 88332.  As discussed on webkit-dev, we'd like to iterate on
80135         both the API and it's implementation a bit.
80136
80137         * WebCore.gypi:
80138         * bindings/generic/RuntimeEnabledFeatures.cpp:
80139         * bindings/generic/RuntimeEnabledFeatures.h:
80140         * dom/DocumentMarker.h:
80141         (WebCore::DocumentMarker::activeMatch):
80142         * dom/DocumentMarkerController.cpp:
80143         * dom/DocumentMarkerController.h:
80144         * html/HTMLDivElement.cpp:
80145         * html/HTMLDivElement.h:
80146         * html/HTMLDivElement.idl:
80147         * html/HTMLInputElement.cpp:
80148         * html/HTMLInputElement.h:
80149         * html/HTMLInputElement.idl:
80150         * html/HTMLTextAreaElement.cpp:
80151         * html/HTMLTextAreaElement.h:
80152         * html/HTMLTextAreaElement.idl:
80153         * html/SpellcheckRange.cpp: Removed.
80154         * html/SpellcheckRange.h: Removed.
80155         * html/SpellcheckRange.idl: Removed.
80156         * html/SpellcheckRangeList.cpp: Removed.
80157         * html/SpellcheckRangeList.h: Removed.
80158         * html/SpellcheckRangeList.idl: Removed.
80159         * rendering/InlineTextBox.cpp:
80160         (WebCore::textCheckingLineStyleForMarkerType):
80161         (WebCore::InlineTextBox::paintDocumentMarkers):
80162
80163 2011-06-22  Mark Pilgrim  <pilgrim@chromium.org>
80164
80165         Reviewed by Adam Barth.
80166
80167         IndexedDB: fix multiple issues in IDBDatabase.idl
80168         https://bugs.webkit.org/show_bug.cgi?id=63140
80169
80170         Tests: storage/indexeddb/createObjectStore-name-argument-required.html
80171                storage/indexeddb/createObjectStore-null-name.html
80172                storage/indexeddb/deleteObjectStore-name-argument-required.html
80173                storage/indexeddb/deleteObjectStore-null-name.html
80174                storage/indexeddb/setVersion-null.html
80175                storage/indexeddb/transaction-storeNames-required.html
80176
80177         * storage/IDBDatabase.idl: remove LegacyDefaultOptionalArguments so
80178         all functions will throw TypeError when called with too few arguments,
80179         as per WebIDL spec. Also remove ConvertNullToNullString flags so null
80180         values are stringified as "null" (also as per WebIDL spec).
80181
80182 2011-06-22  Vsevolod Vlasov  <vsevik@chromium.org>
80183
80184         Reviewed by Pavel Feldman.
80185
80186         Web Inspector: Move logic for deciding whether resource content should be base64 encoded on backend.
80187         https://bugs.webkit.org/show_bug.cgi?id=63069
80188
80189         * inspector/Inspector.json:
80190         * inspector/InspectorPageAgent.cpp:
80191         (WebCore::InspectorPageAgent::cachedResourceContent):
80192         (WebCore::InspectorPageAgent::resourceContent):
80193         (WebCore::InspectorPageAgent::getResourceContent):
80194         (WebCore::InspectorPageAgent::searchInResources):
80195         * inspector/InspectorPageAgent.h:
80196         * inspector/InspectorResourceAgent.cpp:
80197         (WebCore::InspectorResourceAgent::getResourceContent):
80198         * inspector/InspectorResourceAgent.h:
80199         * inspector/InspectorStyleSheet.cpp:
80200         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
80201         * inspector/front-end/NetworkManager.js:
80202         (WebInspector.NetworkManager.prototype.requestContent):
80203         * inspector/front-end/Resource.js:
80204         (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
80205         (WebInspector.Resource.prototype._innerRequestContent):
80206
80207 2011-06-22  Luke Macpherson   <macpherson@chromium.org>
80208
80209         Reviewed by Dimitri Glazkov.
80210
80211         Support cast from CSSPrimitiveValue to short and use for CSSPropertyWidows and CSSPropertyOrphans.
80212         https://bugs.webkit.org/show_bug.cgi?id=62964
80213
80214         No new tests / refactoring only.
80215
80216         * css/CSSPrimitiveValueMappings.h:
80217         Support cast to/from short.
80218         * css/CSSStyleSelector.cpp:
80219         (WebCore::CSSStyleSelector::applyProperty):
80220         Use cast to short to allow CSSPropertWidows and CSSPropertyOrphans to use existing macro.
80221
80222 2011-06-22  Eunmi Lee  <eunmi15.lee@samsung.com>
80223
80224         Reviewed by Martin Robinson.
80225
80226         Change GtkWidgetBackingStore.h to WidgetBackingStore.h in order to use in the EFL port.
80227         https://bugs.webkit.org/show_bug.cgi?id=62848
80228
80229         This patch will make GtkWidgetBackingStore shareable with EFL port.
80230         It is a preparation to integrate WebKit2's BackingStoreGtk.cpp and
80231         BackingStoreEfl.cpp as a BackingStoreCairo.cpp.
80232
80233         * GNUmakefile.am:
80234         * GNUmakefile.list.am:
80235         * platform/graphics/cairo/CairoUtilities.cpp:
80236         (WebCore::copyRectFromOneSurfaceToAnother):
80237         * platform/graphics/cairo/CairoUtilities.h:
80238         * platform/cairo/WidgetBackingStore.h: Added.
80239         * platform/gtk/GtkWidgetBackingStore.h: Removed.
80240         * platform/gtk/GtkWidgetBackingStoreCairo.cpp:
80241         (WebCore::createSurfaceForBackingStore):
80242         (WebCore::WidgetBackingStorePrivate::create):
80243         (WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
80244         (WebCore::WidgetBackingStore::create):
80245         (WebCore::WidgetBackingStore::WidgetBackingStore):
80246         (WebCore::WidgetBackingStore::~WidgetBackingStore):
80247         (WebCore::WidgetBackingStore::cairoSurface):
80248         (WebCore::WidgetBackingStore::scroll):
80249         * platform/gtk/GtkWidgetBackingStoreX11.cpp:
80250         (WebCore::WidgetBackingStorePrivate::create):
80251         (WebCore::WidgetBackingStorePrivate::~WidgetBackingStorePrivate):
80252         (WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
80253         (WebCore::WidgetBackingStore::create):
80254         (WebCore::WidgetBackingStore::WidgetBackingStore):
80255         (WebCore::WidgetBackingStore::~WidgetBackingStore):
80256         (WebCore::WidgetBackingStore::cairoSurface):
80257         (WebCore::WidgetBackingStore::scroll):
80258
80259 2011-06-22  Simon Fraser  <simon.fraser@apple.com>
80260
80261         Reviewed by Dan Bernstein.
80262
80263         Update position, bounds and anchor point in GraphicsLayerCA all at once
80264         https://bugs.webkit.org/show_bug.cgi?id=63148
80265
80266         Since position, bounds and anchor point are inter-dependent, avoid
80267         redundant work by simply updating them all at the same time.
80268         
80269         No behavior changes, so no new tests.
80270
80271         * platform/graphics/ca/GraphicsLayerCA.cpp:
80272         (WebCore::GraphicsLayerCA::setPosition):
80273         (WebCore::GraphicsLayerCA::setAnchorPoint):
80274         (WebCore::GraphicsLayerCA::setSize):
80275         (WebCore::GraphicsLayerCA::setBoundsOrigin):
80276         (WebCore::GraphicsLayerCA::setAllowTiledLayer):
80277         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
80278         (WebCore::GraphicsLayerCA::updateGeometry):
80279         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
80280         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
80281         * platform/graphics/ca/GraphicsLayerCA.h:
80282
80283 2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
80284
80285         Reviewed by Darin Adler.
80286
80287         Make instantiation of legacy editing position more explicit
80288         https://bugs.webkit.org/show_bug.cgi?id=63037
80289
80290         Replaced the constructor of Position class that used to instantiate a legacy editing position
80291         by a function called createLegacyEditingPosition.
80292
80293         * WebCore.exp.in: Removed the constructor from the list.
80294         * accessibility/AXObjectCache.cpp:
80295         (WebCore::AXObjectCache::visiblePositionForTextMarkerData): Calls createLegacyEditingPosition.
80296         * accessibility/gtk/AXObjectCacheAtk.cpp:
80297         (WebCore::AXObjectCache::nodeTextChangePlatformNotification): No longer uses Positions to instantiate a range.
80298         * dom/Position.cpp:
80299         (WebCore::Position::Position): New constructor takes LegacyEditingOffset, which can only be instantiated
80300         by createLegacyEditingPosition.
80301         (WebCore::Position::previous): Calls createLegacyEditingPosition.
80302         (WebCore::Position::next): Ditto.
80303         (WebCore::Position::upstream): Ditto.
80304         (WebCore::Position::downstream): Ditto.
80305         * dom/Position.h: Added new Position::LegacyEditingOffset class to hide the legacy constructor from the world.
80306         (WebCore::Position::LegacyEditingOffset::value): Added.
80307         (WebCore::Position::LegacyEditingOffset::LegacyEditingOffset): Added.
80308         (WebCore::createLegacyEditingPosition): Added.
80309         * dom/PositionIterator.cpp:
80310         (WebCore::PositionIterator::operator Position): Calls createLegacyEditingPosition.
80311         * dom/RangeBoundaryPoint.h:
80312         (WebCore::RangeBoundaryPoint::toPosition): Ditto.
80313         * editing/InsertTextCommand.cpp:
80314         (WebCore::InsertTextCommand::performTrivialReplace): Instantiates new Position instead of old one; this is always
80315         safe since the anchor node is always a text node.
80316         * editing/VisiblePosition.cpp:
80317         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): Calls createLegacyEditingPosition.
80318         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Ditto.
80319         * editing/markup.cpp:
80320         (WebCore::StyledMarkupAccumulator::renderedText): Ditto.
80321         * editing/visible_units.cpp:
80322         (WebCore::previousBoundary): Ditto.
80323         (WebCore::previousLinePosition): Ditto.
80324         (WebCore::nextLinePosition): Ditto.
80325         * page/DOMSelection.cpp:
80326         (WebCore::DOMSelection::collapse): Ditto.
80327         (WebCore::DOMSelection::setBaseAndExtent): Ditto.
80328         (WebCore::DOMSelection::setPosition): Ditto.
80329         (WebCore::DOMSelection::extend): Ditto.
80330         * rendering/RenderBlock.cpp:
80331         (WebCore::RenderBlock::positionForBox): Ditto.
80332         * rendering/RenderBox.cpp:
80333         (WebCore::RenderBox::positionForPoint): Calls Position() instead of Position(0, 0).
80334         * rendering/RenderObject.cpp:
80335         (WebCore::RenderObject::createVisiblePosition): Calls createLegacyEditingPosition.s
80336
80337 2011-06-22  Pavel Feldman  <pfeldman@google.com>
80338
80339         Reviewed by Yury Semikhatsky.
80340
80341         Web Inspector: split setAttributes and setAttributeValue.
80342         https://bugs.webkit.org/show_bug.cgi?id=63138
80343
80344         * inspector/Inspector.json:
80345         * inspector/InspectorDOMAgent.cpp:
80346         (WebCore::InspectorDOMAgent::setAttributeValue):
80347         (WebCore::InspectorDOMAgent::setAttributesText):
80348         * inspector/InspectorDOMAgent.h:
80349         * inspector/front-end/DOMAgent.js:
80350         (WebInspector.DOMNode.prototype.setAttribute):
80351         (WebInspector.DOMNode.prototype.setAttributeValue):
80352
80353 2011-06-22  Dirk Schulze  <krit@webkit.org>
80354
80355         Reviewed by Nikolas Zimmermann.
80356
80357         Animate viewBox attribute in SVG
80358         https://bugs.webkit.org/show_bug.cgi?id=20057
80359
80360         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
80361         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGRect. With the new animator we support
80362         interpolation between SVGRects. A feature that can be used to get smooth zooming animations for SVGs.
80363         
80364         Added parseRect() to SVGParserUtilities for parsing Strings to FloatRects.
80365
80366         Tests: svg/animations/svgrect-animation-1.html
80367                svg/animations/svgrect-animation-2.html
80368
80369         * CMakeLists.txt: Added new file SVGAnimatedRect.cpp to build system.
80370         * GNUmakefile.list.am: Ditto.
80371         * WebCore.gypi: Ditto.
80372         * WebCore.pro: Ditto.
80373         * WebCore.xcodeproj/project.pbxproj: Ditto.
80374         * platform/graphics/FloatRect.h: Added new operators + and +=.
80375         (WebCore::operator+=):
80376         (WebCore::operator+):
80377         * svg/SVGAllInOne.cpp: Added SVGAnimatedRect.cpp for Win build.
80378         * svg/SVGAnimateElement.cpp: Handle AnimatedRect explicitly.
80379         (WebCore::SVGAnimateElement::determineAnimatedAttributeType): Ditto.
80380         (WebCore::SVGAnimateElement::calculateAnimatedValue): Ditto.
80381         (WebCore::SVGAnimateElement::calculateFromAndToValues): Ditto.
80382         (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto.
80383         (WebCore::SVGAnimateElement::resetToBaseValue): Ditto.
80384         (WebCore::SVGAnimateElement::applyResultsToTarget): Ditto.
80385         (WebCore::SVGAnimateElement::calculateDistance): Ditto.
80386         * svg/SVGAnimatedRect.cpp: Added. The new Animator for SVGRect.
80387         (WebCore::SVGAnimatedRectAnimator::SVGAnimatedRectAnimator):
80388         (WebCore::SVGAnimatedRectAnimator::constructFromString):
80389         (WebCore::SVGAnimatedRectAnimator::calculateFromAndToValues):
80390         (WebCore::SVGAnimatedRectAnimator::calculateFromAndByValues):
80391         (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
80392         (WebCore::SVGAnimatedRectAnimator::calculateDistance):
80393         * svg/SVGAnimatedRect.h:
80394         (WebCore::SVGAnimatedRectAnimator::~SVGAnimatedRectAnimator):
80395         * svg/SVGAnimatedType.cpp: Support for FloatRect.
80396         (WebCore::SVGAnimatedType::~SVGAnimatedType):
80397         (WebCore::SVGAnimatedType::createRect):
80398         (WebCore::SVGAnimatedType::rect):
80399         (WebCore::SVGAnimatedType::valueAsString):
80400         (WebCore::SVGAnimatedType::setValueAsString):
80401         * svg/SVGAnimatedType.h:
80402         * svg/SVGAnimatorFactory.h:
80403         (WebCore::SVGAnimatorFactory::create):
80404         * svg/SVGParserUtilities.cpp: Parse String as FloatRect.
80405         (WebCore::parseRect):
80406         * svg/SVGParserUtilities.h:
80407
80408 2011-06-20  Dimitri Glazkov  <dglazkov@chromium.org>
80409
80410         Reviewed by Kent Tamura.
80411
80412         FileChooser should be only created when we need to choose files.
80413         https://bugs.webkit.org/show_bug.cgi?id=63039
80414
80415         1) Introduce FileChooserSettings to decouple setting querying from
80416         FileChooser. It's a simple copyable settings object, which allows us
80417         to capture the settings atomically and treat them as discardable data.
80418
80419         2) Encapsulate lifetime management of FileChooser entirely in
80420         FileChooserClient. It's now a "smart" client, and allows us to
80421         completely remove FileChooser management concerns from a FileChooserClient
80422         implementor.
80423
80424         3) Change creation of FileChooser to be on-demand, only when we actually
80425         need to choose file.
80426
80427         4) Rearrange calling of dispatchFormControlChangeEvent to be at the end
80428         of a function and remove "am-I-dead" checks that are now unnecessary.
80429
80430         5) Clean up directory upload code a bit, and make use of FileChooserSettings
80431         to pass directory name.
80432
80433         Refactoring, covered by existing tests.
80434
80435         * WebCore.exp.in: Removed unneeded export.
80436         * loader/EmptyClients.h: Removed now-unneded param.
80437         (WebCore::EmptyChromeClient::enumerateChosenDirectory): Ditto.
80438         * page/Chrome.cpp:
80439         (WebCore::Chrome::enumerateChosenDirectory): Ditto.
80440         * page/Chrome.h: Ditto.
80441         * page/ChromeClient.h: Ditto.
80442         * platform/FileChooser.cpp:
80443         (WebCore::FileChooserClient::~FileChooserClient): Added discarding of chooser.
80444         (WebCore::FileChooserClient::newFileChooser): Added.
80445         (WebCore::FileChooserClient::discardChooser): Added.
80446         (WebCore::FileChooser::FileChooser): Changed to use FileChooserSettings.
80447         (WebCore::FileChooser::create): Ditto.
80448         (WebCore::FileChooser::~FileChooser): Removed unneeded code.
80449         (WebCore::FileChooser::chooseFiles): Changed to pass results to the client.
80450         * platform/FileChooser.h:
80451         (WebCore::FileChooser::settings): Added.
80452         * rendering/RenderFileUploadControl.cpp:
80453         (WebCore::filenamesFromFileList): Added a helper.
80454         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Changed to use the helper, removed
80455             chooser initialization code.
80456         (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Removed disconnection code, now
80457             handled in FileChooserClient.
80458         (WebCore::RenderFileUploadControl::filesChosen): Renamed from valueChanged, rearranged to
80459             fire dispatchFormControlChangeEvent last.
80460         (WebCore::RenderFileUploadControl::receiveDropForDirectoryUpload): Changed to use settings.
80461         (WebCore::RenderFileUploadControl::click): Ditto.
80462         (WebCore::RenderFileUploadControl::updateFromElement): Removed now-unneeded check.
80463         (WebCore::RenderFileUploadControl::receiveDroppedFiles): Changed to avoid using the chooser, since
80464             it is not necessary.
80465         (WebCore::RenderFileUploadControl::fileTextValue): Changed to use input data, not chooser data.
80466         * rendering/RenderFileUploadControl.h: Updated decls.
80467
80468 2011-06-22  Pavel Feldman  <pfeldman@google.com>
80469
80470         Reviewed by Yury Semikhatsky.
80471
80472         Web Inspector: DOMAgent.resolveNode should receive objectGroup.
80473         https://bugs.webkit.org/show_bug.cgi?id=63137
80474
80475         * inspector/InjectedScript.cpp:
80476         (WebCore::InjectedScript::wrapNode):
80477         * inspector/InjectedScript.h:
80478         * inspector/InjectedScriptSource.js:
80479         (.):
80480         * inspector/Inspector.json:
80481         * inspector/InspectorDOMAgent.cpp:
80482         (WebCore::InspectorDOMAgent::resolveNode):
80483         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
80484         * inspector/InspectorDOMAgent.h:
80485         * inspector/InspectorDOMDebuggerAgent.cpp:
80486         (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
80487         * inspector/InspectorDebuggerAgent.cpp:
80488         (WebCore::InspectorDebuggerAgent::resume):
80489         * inspector/InspectorDebuggerAgent.h:
80490         * inspector/front-end/ElementsTreeOutline.js:
80491         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
80492         * inspector/front-end/EventListenersSidebarPane.js:
80493         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
80494         (WebInspector.EventListenersSidebarPane.prototype.update):
80495         (.):
80496         ():
80497         * inspector/front-end/PropertiesSidebarPane.js:
80498         * inspector/front-end/RemoteObject.js:
80499         (WebInspector.RemoteObject.resolveNode):
80500         (WebInspector.RemoteObjectProperty.fromPrimitiveValue):
80501
80502 2011-06-22  Pavel Podivilov  <podivilov@chromium.org>
80503
80504         Reviewed by Yury Semikhatsky.
80505
80506         Web Inspector: fix exceptions in scripts panel.
80507         https://bugs.webkit.org/show_bug.cgi?id=62865
80508
80509         Resource.requestContent callback may be fired after navigation when scripts panel
80510         is already reset.
80511
80512         * inspector/front-end/DebuggerPresentationModel.js:
80513         (WebInspector.DebuggerPresentationModel.prototype._addScript.contentChanged):
80514         (WebInspector.DebuggerPresentationModel.prototype._addScript):
80515         * inspector/front-end/ScriptsPanel.js:
80516         (WebInspector.ScriptsPanel.prototype._showSourceFrameAndAddToHistory):
80517         (WebInspector.ScriptsPanel.prototype._filesSelectChanged):
80518         * inspector/front-end/SourceFile.js:
80519         (WebInspector.SourceFile.prototype.reload):
80520
80521 2011-06-21  Michael Saboff  <msaboff@apple.com>
80522
80523         Reviewed by Adam Roben.
80524
80525         REGRESSION (r88260): Assertion failure in FontCache::getCachedFontData when typing in Safari's address field
80526         https://bugs.webkit.org/show_bug.cgi?id=63078
80527
80528         Added FontCachePurgePreventer in WebCore::WebCoreTextFloatWidth to handle
80529         assertion failure when typing in address field on windows.  Investigated
80530         other possible code paths that need purge prevention.  Added 
80531         FontCachePurgeProtection to WebCore::createDragImageForLink and
80532         WebCore::doDrawTextAtPoint.
80533
80534         No change to functionality, therefore no new tests.
80535
80536         * platform/win/DragImageWin.cpp:
80537         (WebCore::createDragImageForLink):
80538         * platform/win/WebCoreTextRenderer.cpp:
80539         (WebCore::doDrawTextAtPoint):
80540         (WebCore::WebCoreTextFloatWidth):
80541
80542 2011-06-22  Darin Adler  <darin@apple.com>
80543
80544         Reviewed by Sam Weinig.
80545
80546         A couple setTextAsOfLastFormControlChangeEvent tweaks
80547         https://bugs.webkit.org/show_bug.cgi?id=63108
80548
80549         * html/HTMLFormControlElement.cpp:
80550         (WebCore::HTMLTextFormControlElement::insertedIntoDocument): Use
80551         emptyString() instead of String("") because it is better style and faster.
80552
80553         * html/HTMLFormControlElement.h: Make setTextAsOfLastFormControlChangeEvent
80554         non-virtual so it actually gets inlined, since there are no overrides of it.
80555         Also make it take a const String& to avoid unnecessary reference count churn.
80556
80557 2011-06-22  Sheriff Bot  <webkit.review.bot@gmail.com>
80558
80559         Unreviewed, rolling out r89402.
80560         http://trac.webkit.org/changeset/89402
80561         https://bugs.webkit.org/show_bug.cgi?id=63129
80562
80563         It made 6 tests crash (Requested by Ossy on #webkit).
80564
80565         * dom/DataTransferItem.cpp:
80566         (WebCore::DataTransferItem::DataTransferItem):
80567         * dom/DataTransferItem.h:
80568         * dom/DataTransferItems.cpp:
80569         (WebCore::DataTransferItems::DataTransferItems):
80570         * dom/DataTransferItems.h:
80571         * editing/CompositeEditCommand.cpp:
80572         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring):
80573         * editing/CompositeEditCommand.h:
80574         * page/WebKitAnimationList.cpp:
80575         (WebCore::WebKitAnimationList::append):
80576         (WebCore::WebKitAnimationList::insertAnimation):
80577         * page/WebKitAnimationList.h:
80578         (WebCore::WebKitAnimationList::create):
80579         * svg/graphics/filters/SVGFEImage.cpp:
80580         (WebCore::FEImage::FEImage):
80581         (WebCore::FEImage::create):
80582         * svg/graphics/filters/SVGFEImage.h:
80583         * svg/graphics/filters/SVGFilterBuilder.cpp:
80584         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
80585         (WebCore::SVGFilterBuilder::add):
80586         (WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
80587         * svg/graphics/filters/SVGFilterBuilder.h:
80588         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
80589         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
80590         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
80591         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
80592         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
80593         * websockets/ThreadableWebSocketChannelClientWrapper.h:
80594         * websockets/WorkerThreadableWebSocketChannel.cpp:
80595         (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
80596         (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
80597         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
80598         * websockets/WorkerThreadableWebSocketChannel.h:
80599         (WebCore::WorkerThreadableWebSocketChannel::Peer::create):
80600
80601 2011-06-22  Sheriff Bot  <webkit.review.bot@gmail.com>
80602
80603         Unreviewed, rolling out r89368.
80604         http://trac.webkit.org/changeset/89368
80605         https://bugs.webkit.org/show_bug.cgi?id=63128
80606
80607         It made http/tests/inspector/extensions-resources-
80608         redirect.html crash (Requested by Ossy on #webkit).
80609
80610         * inspector/Inspector.json:
80611         * inspector/InspectorPageAgent.cpp:
80612         (WebCore::InspectorPageAgent::cachedResourceContent):
80613         (WebCore::InspectorPageAgent::resourceContent):
80614         (WebCore::InspectorPageAgent::getResourceContent):
80615         (WebCore::InspectorPageAgent::searchInResources):
80616         * inspector/InspectorPageAgent.h:
80617         * inspector/InspectorResourceAgent.cpp:
80618         (WebCore::InspectorResourceAgent::getResourceContent):
80619         * inspector/InspectorResourceAgent.h:
80620         * inspector/InspectorStyleSheet.cpp:
80621         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
80622         * inspector/front-end/NetworkManager.js:
80623         (WebInspector.NetworkManager.prototype.requestContent):
80624         * inspector/front-end/Resource.js:
80625         (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
80626         (WebInspector.Resource.prototype._innerRequestContent):
80627
80628 2011-06-17  Pavel Podivilov  <podivilov@chromium.org>
80629
80630         Reviewed by Yury Semikhatsky.
80631
80632         Web Inspector: use stack trace to create anchors for console messages.
80633         https://bugs.webkit.org/show_bug.cgi?id=62856
80634
80635         * inspector/front-end/ConsoleView.js:
80636         (WebInspector.ConsoleView.prototype._completions.reportCompletions):
80637         (WebInspector.ConsoleView.prototype._completions):
80638         (WebInspector.ConsoleMessage.prototype._formatMessage):
80639         * inspector/front-end/DebuggerPresentationModel.js:
80640         (WebInspector.DebuggerPresentationModel.prototype._updateAnchor):
80641         * inspector/front-end/Panel.js:
80642         (WebInspector.Panel.prototype.createAnchor):
80643         * inspector/front-end/ScriptsPanel.js:
80644         (WebInspector.ScriptsPanel.prototype.createAnchor):
80645         (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
80646         (WebInspector.ScriptsPanel.prototype._updateAnchor):
80647         * inspector/front-end/inspector.js:
80648         (WebInspector.linkifyResourceAsNode):
80649         (WebInspector.linkifyCallFrameAsNode):
80650
80651 2011-06-21  Kent Tamura  <tkent@chromium.org>
80652
80653         Reviewed by Dimitri Glazkov.
80654
80655         Avoid custom layout code of RenderTextControlSingleLine
80656         https://bugs.webkit.org/show_bug.cgi?id=61415
80657
80658         If a text field has a search results button, a search cancel
80659         button, a speech button, or a spin button, the editable inner text
80660         element and they are wrapped by a flexible box container, and the
80661         editable inner text element has flexibility.
80662         As the result of applying the flexible box, we don't need any
80663         horizontal layout code in RenderTextControlSingleLine except the
80664         inner spin button.
80665
80666         Also, we remove custom hit-testing code in nodeAtPoint(). If a
80667         user clicks on a position left of the inner editable text but not
80668         on the search results button, the search results button doesn't
80669         work though it worked.
80670
80671         * css/html.css:
80672         (input::-webkit-textfield-decoration-container):
80673           New style definition for the "container" element.
80674         (input[type="search"]::-webkit-search-cancel-button):
80675           It should be a block element because it's a child of the flexible box.
80676           Also, this doesn't have flexibility.
80677         (input[type="search"]::-webkit-search-decoration): ditto.
80678         (input[type="search"]::-webkit-search-results-decoration): ditto.
80679         (input[type="search"]::-webkit-search-results-button): ditto.
80680         (input::-webkit-inner-spin-button): ditto.
80681         (input::-webkit-input-speech-button): ditto.
80682         * html/HTMLInputElement.cpp:
80683         (WebCore::HTMLInputElement::containerElement):
80684           Add an accessor of the flexible box container.
80685           It just calls InputType::containerElement().
80686         * html/HTMLInputElement.h: Declare it.
80687         * html/InputType.h:
80688         (WebCore::InputType::containerElement): New accessor for a shadow element.
80689         * html/SearchInputType.cpp:
80690         (WebCore::SearchInputType::SearchInputType):
80691           m_innerBlock is moved to TextFieldInputType.
80692         (WebCore::SearchInputType::needsContainer):
80693           A search field always needs the flexible box container because
80694           of the results button and the cancel button.
80695         (WebCore::SearchInputType::createShadowSubtree):
80696           Use TextFieldInputType::createShadowSubtree(), then modify the tree.
80697         (WebCore::SearchInputType::destroyShadowSubtree):
80698           m_innerBlock is moved to TextFieldInputType.
80699         * html/SearchInputType.h:
80700         * html/TextFieldInputType.cpp:
80701         (WebCore::TextFieldInputType::TextFieldInputType):
80702           Initialize the new members.
80703         (WebCore::TextFieldInputType::needsContainer):
80704           Returns true if x-webkit-speech. We check a spin button separately.
80705         (WebCore::TextFieldInputType::createShadowSubtree):
80706           Wrap everything with the flexible box container if needsContainer() or we need a spin button.
80707         (WebCore::TextFieldInputType::containerElement): Added an accessor.
80708         (WebCore::TextFieldInputType::innerBlockElement): ditto.
80709         (WebCore::TextFieldInputType::innerTextElement): ditto.
80710         (WebCore::TextFieldInputType::innerSpinButtonElement): ditto.
80711         (WebCore::TextFieldInputType::speechButtonElement): ditto.
80712         (WebCore::TextFieldInputType::destroyShadowSubtree):
80713           Clear references to new shadow nodes.
80714         * html/TextFieldInputType.h:
80715         * rendering/RenderTextControlSingleLine.cpp:
80716         (WebCore::RenderTextControlSingleLine::containerElement): Added an accessor.
80717         (WebCore::RenderTextControlSingleLine::innerTextElement):
80718         (WebCore::RenderTextControlSingleLine::layout):
80719          - Correct heights check
80720           Comparing with height(), not contentHeigth(), was incorrect.
80721          - Adjust the container height like the editable inner text.
80722          - Remove width adjustment
80723          - Remove the speech button layout code
80724           The flexible box layout is enough.
80725         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
80726           Remove custom code for results/cancel/speech buttons, and
80727           Simplify comments.
80728         (WebCore::RenderTextControlSingleLine::forwardEvent):
80729           Remove custom forwarding code for results/cancel buttons.
80730         (WebCore::RenderTextControlSingleLine::styleDidChange):
80731           Clear the style of the container because we update it in layout().
80732         (WebCore::RenderTextControlSingleLine::hasControlClip):
80733           Decoration buttons should be clipped by the container.
80734         (WebCore::RenderTextControlSingleLine::controlClipRect): ditto.
80735         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
80736           We don't need to use display:inline-block any more.
80737         (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
80738           The text wrapper element should have flexibility.
80739         (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
80740           Updated for the tree structure change.
80741         * rendering/RenderTextControlSingleLine.h:
80742
80743 2011-06-21  MORITA Hajime  <morrita@google.com>
80744
80745         Unreviewed, rolling out r89401 and r89403.
80746         http://trac.webkit.org/changeset/89401
80747         http://trac.webkit.org/changeset/89403
80748         https://bugs.webkit.org/show_bug.cgi?id=62970
80749
80750         Breaks mac build and mistakenly enables the spellcheck API
80751
80752         * CMakeLists.txt:
80753         * Configurations/FeatureDefines.xcconfig:
80754         * DerivedSources.make:
80755         * GNUmakefile.am:
80756         * GNUmakefile.list.am:
80757         * WebCore.pro:
80758         * WebCore.vcproj/WebCore.vcproj:
80759         * WebCore.xcodeproj/project.pbxproj:
80760         * features.pri:
80761
80762 2011-06-21  Kent Tamura  <tkent@chromium.org>
80763
80764         [Mac] Sort Xcode project files.
80765
80766         * WebCore.xcodeproj/project.pbxproj:
80767
80768 2011-06-21  Darin Adler  <darin@apple.com>
80769
80770         Reviewed by Ryosuke Niwa.
80771
80772         RefPtr misused as argument type in a few classes
80773         https://bugs.webkit.org/show_bug.cgi?id=62955
80774
80775         * dom/DataTransferItem.cpp:
80776         (WebCore::DataTransferItem::DataTransferItem):
80777         * dom/DataTransferItem.h:
80778         * dom/DataTransferItems.cpp:
80779         (WebCore::DataTransferItems::DataTransferItems):
80780         * dom/DataTransferItems.h:
80781         * editing/CompositeEditCommand.cpp:
80782         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring):
80783         * editing/CompositeEditCommand.h:
80784         * page/WebKitAnimationList.cpp:
80785         (WebCore::WebKitAnimationList::append):
80786         (WebCore::WebKitAnimationList::insertAnimation):
80787         * page/WebKitAnimationList.h:
80788         * svg/graphics/filters/SVGFEImage.cpp:
80789         (WebCore::FEImage::FEImage):
80790         (WebCore::FEImage::create):
80791         * svg/graphics/filters/SVGFEImage.h:
80792         * svg/graphics/filters/SVGFilterBuilder.cpp:
80793         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
80794         (WebCore::SVGFilterBuilder::add):
80795         (WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
80796         * svg/graphics/filters/SVGFilterBuilder.h:
80797         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
80798         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
80799         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
80800         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
80801         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
80802         * websockets/ThreadableWebSocketChannelClientWrapper.h:
80803         * websockets/WorkerThreadableWebSocketChannel.cpp:
80804         (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
80805         (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
80806         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
80807         * websockets/WorkerThreadableWebSocketChannel.h:
80808         Use PassRefPtr or raw pointer as appropriate for RefPtr arguments.
80809
80810 2011-06-20  MORITA Hajime  <morrita@google.com>
80811
80812         Reviewed by Kent Tamura.
80813
80814         Spellcheck API should be build-able.
80815         https://bugs.webkit.org/show_bug.cgi?id=62970
80816
80817         No new tests, changing only build related files
80818
80819         * CMakeLists.txt:
80820         * Configurations/FeatureDefines.xcconfig:
80821         * DerivedSources.make:
80822         * GNUmakefile.am:
80823         * GNUmakefile.list.am:
80824         * WebCore.pro:
80825         * WebCore.vcproj/WebCore.vcproj:
80826         * WebCore.xcodeproj/project.pbxproj:
80827         * features.pri:
80828
80829 2011-06-21  Matthew Delaney  <mdelaney@apple.com>
80830
80831         Reviewed by Simon Fraser.
80832
80833         beginTransparencyLayer leaves context color out of sync, bleeds color into text
80834         https://bugs.webkit.org/show_bug.cgi?id=63093
80835
80836         Test: fast/css/color-leakage.html
80837
80838         * platform/graphics/cg/GraphicsContextCG.cpp: Swap out CGContextSave/Restore with
80839         GraphicsContext::save/restore to keep the context in sync with its CG context
80840         (WebCore::GraphicsContext::beginTransparencyLayer): Added save(), removed redundant calls.
80841         (WebCore::GraphicsContext::endTransparencyLayer): Added restore(), removed redundant calls.
80842
80843 2011-06-21  Tony Chang  <tony@chromium.org>
80844
80845         Reviewed by Eric Seidel.
80846
80847         add css parsing of flex()
80848         https://bugs.webkit.org/show_bug.cgi?id=62050
80849
80850         Test: css3/flexbox/flex-parsing.html
80851
80852         * CMakeLists.txt: Add CSSFlexValue.*
80853         * GNUmakefile.list.am: Ditto.
80854         * WebCore.gypi: Ditto.
80855         * WebCore.pro: Ditto.
80856         * WebCore.vcproj/WebCore.vcproj: Ditto.
80857         * WebCore.xcodeproj/project.pbxproj: Ditto.
80858         * css/CSSFlexValue.cpp: Added.
80859         (WebCore::CSSFlexValue::~CSSFlexValue):
80860         (WebCore::CSSFlexValue::cssText):
80861         * css/CSSFlexValue.h: Added.
80862         (WebCore::CSSFlexValue::create): Hold positive flex, negative flex and sizing.
80863         (WebCore::CSSFlexValue::CSSFlexValue):
80864         * css/CSSParser.cpp:
80865         (WebCore::CSSParser::parseValidPrimitive): Pull out code from parseValue.
80866         (WebCore::CSSParser::parseValue):
80867         (WebCore::CSSParser::parseFlex): Parse the different version of flex().
80868         * css/CSSParser.h:
80869
80870 2011-06-21  Adrienne Walker  <enne@google.com>
80871
80872         Reviewed by Simon Fraser.
80873
80874         Add child layers to the overlap map if their parent belatedly becomes composited
80875         https://bugs.webkit.org/show_bug.cgi?id=62181
80876
80877         * rendering/RenderLayerCompositor.cpp:
80878         (WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
80879         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
80880         * rendering/RenderLayerCompositor.h:
80881
80882 2011-06-21  Zhenyao Mo  <zmo@google.com>
80883
80884         Reviewed by Kenneth Russell.
80885
80886         Implement drawingBufferWidth/drawingBufferHeight in WebGL
80887         https://bugs.webkit.org/show_bug.cgi?id=58497
80888
80889         * html/canvas/WebGLRenderingContext.cpp: Add drawingBufferWidth/Height method and call getInternalFramebufferSize().
80890         (WebCore::WebGLRenderingContext::drawingBufferWidth):
80891         (WebCore::WebGLRenderingContext::drawingBufferHeight):
80892         * html/canvas/WebGLRenderingContext.h:
80893         * html/canvas/WebGLRenderingContext.idl: Add readonly attributes drawingBufferWidth/Height.
80894         * platform/graphics/GraphicsContext3D.h:
80895         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Make getInternalFramebufferSize const.
80896         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
80897         * platform/graphics/qt/GraphicsContext3DQt.cpp: Ditto.
80898         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
80899
80900 2011-06-21  Dmitry Lomov  <dslomov@google.com>
80901
80902         Reviewed by Adam Barth.
80903
80904         https://bugs.webkit.org/show_bug.cgi?id=62653
80905         [V8][Chromium] Make StringCache in V8 bindings per-isolate
80906         This moves StringCache into V8BindingPerIsolateData.
80907
80908         * bindings/v8/V8Binding.cpp:
80909         (WebCore::cachedStringCallback):
80910         (WebCore::StringCache::remove):
80911         (WebCore::StringCache::v8ExternalStringSlow):
80912         * bindings/v8/V8Binding.h:
80913         (WebCore::StringCache::StringCache):
80914         (WebCore::StringCache::v8ExternalString):
80915         (WebCore::StringCache::clearOnGC):
80916         (WebCore::V8BindingPerIsolateData::stringCache):
80917         (WebCore::v8ExternalString):
80918         * bindings/v8/V8GCController.cpp:
80919         (WebCore::V8GCController::gcPrologue):
80920         * bindings/v8/WorkerContextExecutionProxy.cpp:
80921         (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
80922
80923
80924 2011-06-21  Alexey Proskuryakov  <ap@apple.com>
80925
80926         Clang build fix.
80927
80928         * platform/mac/WebCoreSystemInterface.h: Give the enum a name.
80929
80930 2011-06-21  Alexey Proskuryakov  <ap@apple.com>
80931
80932         Fix Mac build in some configurations.
80933
80934         * platform/mac/WebCoreSystemInterface.h: Added an enum matching WKSI one, since we cannot use
80935         WKSI in WebCore.
80936
80937         * platform/mac/WebVideoFullscreenHUDWindowController.mm: Removed an include of WebKitSystemInterface.h.
80938         It's not meant to be used from WebCore, and if included, a wrong copy may be used.
80939         (createControlWithMediaUIControlType): Added a FIXME about problems with Leopard build.
80940         (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Ditto. Switched enum values to
80941         WCSI style (lower level "wk").
80942
80943 2011-06-21  Sheriff Bot  <webkit.review.bot@gmail.com>
80944
80945         Unreviewed, rolling out r89354.
80946         http://trac.webkit.org/changeset/89354
80947         https://bugs.webkit.org/show_bug.cgi?id=63099
80948
80949         Broke tests on Mac (Requested by rniwa on #webkit).
80950
80951         * WebCore.exp.in:
80952         * WebCore.gypi:
80953         * WebCore.vcproj/WebCore.vcproj:
80954         * inspector/InspectorFrontendClientLocal.cpp:
80955         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
80956         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
80957         (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
80958         * inspector/InspectorFrontendClientLocal.h:
80959         * inspector/front-end/InspectorFrontendAPI.js: Removed.
80960         * inspector/front-end/ProfileView.js:
80961         (WebInspector.CPUProfileType):
80962         * inspector/front-end/ProfilesPanel.js:
80963         (WebInspector.ProfilesPanel.prototype._enableProfiling):
80964         * inspector/front-end/ScriptsPanel.js:
80965         (WebInspector.ScriptsPanel):
80966         (WebInspector.ScriptsPanel.prototype._enableDebugging):
80967         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
80968         * inspector/front-end/TimelinePanel.js:
80969         (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
80970         * inspector/front-end/WebKit.qrc:
80971         * inspector/front-end/inspector.html:
80972
80973 2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>
80974
80975         Reviewed by Adam Barth.
80976
80977         IndexedDB: IDBObjectStore methods should throw TypeError if required arguments are missing
80978         https://bugs.webkit.org/show_bug.cgi?id=63087
80979
80980         Test: storage/indexeddb/objectStore-required-arguments.html
80981
80982         * storage/IDBObjectStore.idl: Remove LegacyDefaultOptionalArguments flag
80983         so missing required arguments will throw TypeError, as per WebIDL spec.
80984
80985 2011-06-21  Rob Buis  <rbuis@rim.com>
80986
80987         Reviewed by Dirk Schulze.
80988
80989         All pointer-events fail if text has visibility="hidden"
80990         https://bugs.webkit.org/show_bug.cgi?id=62209
80991
80992         Use PointerEventsHitRules to make hit-testing for SVG text inline boxes work.
80993
80994         No new tests; covered by existing test pointer-events-text.svg.
80995
80996         * rendering/svg/SVGInlineTextBox.cpp:
80997         (WebCore::SVGInlineTextBox::nodeAtPoint):
80998         * rendering/svg/SVGInlineTextBox.h:
80999
81000 2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>
81001
81002         Reviewed by Adam Barth.
81003
81004         IndexedDB: keyrange methods should throw TypeError if required arguments are missing
81005         https://bugs.webkit.org/show_bug.cgi?id=63085
81006
81007         Test: storage/indexeddb/keyrange-required-arguments.html
81008
81009         * storage/IDBKeyRange.idl: remove LegacyDefaultOptionalArguments flag
81010         so missing required arguments throw TypeError, as per WebIDL spec.
81011
81012 2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>
81013
81014         Reviewed by Tony Chang.
81015
81016         IndexedDB: should throw TypeError when indexedDB.open() name argument is missing
81017         https://bugs.webkit.org/show_bug.cgi?id=63065
81018
81019         * storage/IDBFactory.idl: remove LegacyDefaultOptionalArguments flag
81020         and fix function argument flags
81021
81022 2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>
81023
81024         Reviewed by Tony Chang.
81025
81026         IndexedDB: should throw TypeError when index .get() key argument is missing
81027         https://bugs.webkit.org/show_bug.cgi?id=63079
81028
81029         Test: storage/indexeddb/index-get-key-argument-required.html
81030
81031         * storage/IDBIndex.idl: remove LegacyDefaultOptionalArguments flag
81032         so missing required arguments throw a TypeError as per WebIDL spec.
81033
81034 2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>
81035
81036         Reviewed by Tony Chang.
81037
81038         IndexedDB: cursor update() value argument is required
81039         https://bugs.webkit.org/show_bug.cgi?id=63032
81040
81041         Test: storage/indexeddb/cursor-update-value-argument-required.html
81042
81043         * storage/IDBCursor.idl: remove LegacyDefaultOptionalArguments flag so
81044           calling functions with missing required arguments will raise a TypeError
81045
81046 2011-06-21  Martin Robinson  <mrobinson@igalia.com>
81047
81048         Reviewed by Dirk Schulze.
81049
81050         [GTK] r89314 caused several shadow tests to start failing
81051         https://bugs.webkit.org/show_bug.cgi?id=63045
81052
81053         Use prepareForFilling and prepareForStroking when rendering the shadowed
81054         image of a path. This ensures that the shadowed image has the proper alpha.
81055
81056         * platform/graphics/cairo/GraphicsContextCairo.cpp:
81057         (WebCore::drawPathShadow): Properly prepare the shadow image.
81058
81059 2011-06-21  Mikhail Naganov  <mnaganov@chromium.org>
81060
81061         Reviewed by Pavel Feldman.
81062
81063         Web Inspector: [Chromium] Remove old (aggregating) heap profiler.
81064         https://bugs.webkit.org/show_bug.cgi?id=63049
81065
81066         * WebCore.gypi:
81067         * WebCore.vcproj/WebCore.vcproj:
81068         * bindings/v8/ScriptProfiler.cpp:
81069         (WebCore::ScriptProfiler::takeHeapSnapshot):
81070         * inspector/Inspector.json:
81071         * inspector/InspectorProfilerAgent.cpp:
81072         (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
81073         * inspector/InspectorProfilerAgent.h:
81074         * inspector/front-end/DetailedHeapshotView.js:
81075         (WebInspector.DetailedHeapshotView.prototype.get profile):
81076         (WebInspector.DetailedHeapshotView.prototype.get baseProfile):
81077         (WebInspector.DetailedHeapshotView.prototype._profiles):
81078         (WebInspector.DetailedHeapshotProfileType):
81079         (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
81080         * inspector/front-end/HeapSnapshotView.js: Removed.
81081         * inspector/front-end/ProfilesPanel.js:
81082         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
81083         (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
81084         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.parsed):
81085         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
81086         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
81087         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
81088         (WebInspector.ProfilesPanel.prototype._enableDetailedHeapProfiles):
81089         * inspector/front-end/WebKit.qrc:
81090         * inspector/front-end/heapProfiler.css:
81091         * inspector/front-end/inspector.html:
81092
81093 2011-06-21  Vsevolod Vlasov  <vsevik@chromium.org>
81094
81095         Reviewed by Pavel Feldman.
81096
81097         Web Inspector: Move logic for deciding whether resource content should be base64 encoded on backend.
81098         https://bugs.webkit.org/show_bug.cgi?id=63069
81099
81100         * inspector/Inspector.json:
81101         * inspector/InspectorPageAgent.cpp:
81102         (WebCore::InspectorPageAgent::cachedResourceContent):
81103         (WebCore::InspectorPageAgent::resourceContent):
81104         (WebCore::InspectorPageAgent::getResourceContent):
81105         (WebCore::InspectorPageAgent::searchInResources):
81106         * inspector/InspectorPageAgent.h:
81107         * inspector/InspectorResourceAgent.cpp:
81108         (WebCore::InspectorResourceAgent::getResourceContent):
81109         * inspector/InspectorResourceAgent.h:
81110         * inspector/InspectorStyleSheet.cpp:
81111         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
81112         * inspector/front-end/NetworkManager.js:
81113         (WebInspector.NetworkManager.prototype.requestContent):
81114         * inspector/front-end/Resource.js:
81115         (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
81116         (WebInspector.Resource.prototype._innerRequestContent):
81117
81118 2011-06-21  Dirk Schulze  <krit@webkit.org>
81119
81120         Reviewed by Rob Buis.
81121
81122         SVG no fallback to discrete animation on attribute 'values' for SVGString
81123         https://bugs.webkit.org/show_bug.cgi?id=57085
81124
81125         Check for AnimatedString, AnimatedBoolean and AnimatedEnumeration on 'values' calculation.
81126         If the property type matches one of the above values, fallback to discrete animation.
81127
81128         The patch also changes behavior for String animation. The animation code doesn't handle inheritance
81129         for strings anymore. This is done by the CSS parser itself now, we just need to handle inheritance
81130         on animations that interpolate between two values like for calcMode="linear".
81131
81132         Test: svg/animations/svgstring-animation-fallback-to-discrete.html
81133
81134         * svg/SVGAnimateElement.cpp:
81135         (WebCore::SVGAnimateElement::calculateAnimatedValue):
81136         * svg/SVGAnimateElement.h:
81137         * svg/SVGAnimationElement.cpp:
81138         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
81139
81140 2011-06-21  Cary Clark  <caryclark@google.com>
81141
81142         Reviewed by Eric Seidel.
81143
81144         Update GraphicsContextSkia when the Chromium platform is Mac
81145         https://bugs.webkit.org/show_bug.cgi?id=62867
81146
81147         No new tests. This does not modify existing code;
81148         there is no change in functionality.
81149
81150         * platform/graphics/skia/GraphicsContextSkia.cpp:
81151         (WebCore::drawOuterPath):
81152         (WebCore::drawInnerPath):
81153         (WebCore::getFocusRingOutset):
81154         (WebCore::GraphicsContext::drawFocusRing):
81155         The OS X framework draws a fatter focus ring than the
81156         Chromium port. Increase the diameter, and add an inner
81157         stroke with more transparency, to match the look of
81158         Chromium on Mac when Skia is the rendering engine.
81159
81160         (WebCore::deviceRGBColorSpaceRef):
81161         Add deviceRGBColorSpaceRef, a static cache of
81162         CGColorSpaceCreateDeviceRGB(). This is called by
81163         the Mac-specific UI when Skia is the rendering engine.
81164
81165 2011-06-21  Tony Chang  <tony@chromium.org>
81166
81167         Try to fix WinCE build.  Replace cat with perl -ne "print".
81168
81169         * CMakeLists.txt:
81170
81171 2011-06-21  Alexandru Chiculita  <achicu@adobe.com>
81172
81173         Reviewed by Tony Chang.
81174
81175         "WebCore/css/makeprop.pl" and "WebCore/css/makevalues.pl" should take ENABLE_ flags into account
81176         https://bugs.webkit.org/show_bug.cgi?id=62114
81177         
81178         Changed the line commenting style in WebCore/css/*.in files from "#" prefixed to "//" prefixed.
81179         That's needed because we now pre-process the files with the C++ pre-processor. Also, there's 
81180         no need to manually strip the comments anymore.
81181         
81182         Moved the duplication checks from project files to makeprop.pl and makevalues.pl.
81183         In addition makevalues.pl will also lower case the values.
81184
81185         This is a build script refactoring, so no tests are provided.
81186
81187         * CMakeLists.txt:
81188         * CodeGenerators.pri:
81189         * DerivedSources.make:
81190         * GNUmakefile.am:
81191         * WebCore.gyp/WebCore.gyp:
81192         * WebCore.gyp/scripts/action_csspropertynames.py:
81193         * WebCore.gyp/scripts/action_cssvaluekeywords.py:
81194         * css/CSSPropertyNames.in: comment style only
81195         * css/CSSValueKeywords.in: comment style only
81196         * css/SVGCSSPropertyNames.in: comment style only
81197         * css/SVGCSSValueKeywords.in: comment style only
81198         * css/WCSSValueKeywords.in: comment style only
81199         * css/makeprop.pl:
81200         * css/makevalues.pl:
81201
81202 2011-06-21  Peter Varga  <pvarga@webkit.org>
81203
81204         Reviewed by Andreas Kling.
81205
81206         [Qt][V8] Enable ScriptController::disableEval functionality in QtWebkit-V8 build
81207         https://bugs.webkit.org/show_bug.cgi?id=61187
81208
81209         No new tests needed.
81210
81211         * bindings/v8/ScriptController.cpp:
81212         (WebCore::ScriptController::disableEval):
81213
81214 2011-06-21  Peter Varga  <pvarga@webkit.org>
81215
81216         Reviewed by Andreas Kling.
81217
81218         [Qt][V8] Enable marking objects with complex GC rules
81219         https://bugs.webkit.org/show_bug.cgi?id=61291
81220
81221         No new tests needed.
81222
81223         * bindings/scripts/CodeGeneratorV8.pm:
81224         * bindings/scripts/test/V8/V8TestInterface.cpp:
81225         (WebCore::V8TestInterface::wrapSlow):
81226         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
81227         (WebCore::V8TestMediaQueryListListener::wrapSlow):
81228         * bindings/scripts/test/V8/V8TestObj.cpp:
81229         (WebCore::V8TestObj::wrapSlow):
81230         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
81231         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
81232
81233 2011-06-20  Pavel Feldman  <pfeldman@chromium.org>
81234
81235         Reviewed by Yury Semikhatsky.
81236
81237         Web Inspector: introduce InspectorFrontendAPI for actions initiated from the application menu.
81238         https://bugs.webkit.org/show_bug.cgi?id=62985
81239
81240         Both: inspector protocol and WebCore/InspectorController have a number of unnecessary
81241         methods for plumbing the menu action handlers through the WebKit and WebCore.
81242         I intend to remove this menu support from the protocol and WebCore/InspectorController API.
81243         I am starting with exposing the new front-end API in the WebCore and using it in the WebKit/mac port.
81244         WebKit/win and WebKit2 to follow.
81245
81246         * WebCore.exp.in:
81247         * WebCore.gypi:
81248         * WebCore.vcproj/WebCore.vcproj:
81249         * inspector/InspectorFrontendClientLocal.cpp:
81250         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
81251         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
81252         (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
81253         (WebCore::InspectorFrontendClientLocal::isDebuggingEnabled):
81254         (WebCore::InspectorFrontendClientLocal::setDebuggingEnabled):
81255         (WebCore::InspectorFrontendClientLocal::isJavaScriptProfilingEnabled):
81256         (WebCore::InspectorFrontendClientLocal::setJavaScriptProfilingEnabled):
81257         (WebCore::InspectorFrontendClientLocal::isTimelineProfilingEnabled):
81258         (WebCore::InspectorFrontendClientLocal::setTimelineProfilingEnabled):
81259         (WebCore::InspectorFrontendClientLocal::isProfilingJavaScript):
81260         (WebCore::InspectorFrontendClientLocal::startProfilingJavaScript):
81261         (WebCore::InspectorFrontendClientLocal::stopProfilingJavaScript):
81262         (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
81263         (WebCore::InspectorFrontendClientLocal::evaluateOnLoad):
81264         * inspector/InspectorFrontendClientLocal.h:
81265         * inspector/front-end/InspectorFrontendAPI.js: Added.
81266         (InspectorFrontendAPI.isDebuggingEnabled):
81267         (InspectorFrontendAPI.setDebuggingEnabled):
81268         (InspectorFrontendAPI.isJavaScriptProfilingEnabled):
81269         (InspectorFrontendAPI.setJavaScriptProfilingEnabled):
81270         (InspectorFrontendAPI.isTimelineProfilingEnabled):
81271         (InspectorFrontendAPI.setTimelineProfilingEnabled):
81272         (InspectorFrontendAPI.isProfilingJavaScript):
81273         (InspectorFrontendAPI.startProfilingJavaScript):
81274         (InspectorFrontendAPI.stopProfilingJavaScript):
81275         (InspectorFrontendAPI.setAttachedWindow):
81276         * inspector/front-end/ProfileView.js:
81277         (WebInspector.CPUProfileType):
81278         (WebInspector.CPUProfileType.prototype.isRecordingProfile):
81279         (WebInspector.CPUProfileType.prototype.startRecordingProfile):
81280         (WebInspector.CPUProfileType.prototype.stopRecordingProfile):
81281         * inspector/front-end/ProfilesPanel.js:
81282         (WebInspector.ProfilesPanel.prototype.get profilerEnabled):
81283         (WebInspector.ProfilesPanel.prototype.enableProfiler):
81284         (WebInspector.ProfilesPanel.prototype.disableProfiler):
81285         * inspector/front-end/ScriptsPanel.js:
81286         (WebInspector.ScriptsPanel):
81287         (WebInspector.ScriptsPanel.prototype.get debuggingEnabled):
81288         (WebInspector.ScriptsPanel.prototype.enableDebugging):
81289         (WebInspector.ScriptsPanel.prototype.disableDebugging):
81290         (WebInspector.ScriptsPanel.prototype.toggleDebugging):
81291         * inspector/front-end/TimelinePanel.js:
81292         (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
81293         (WebInspector.TimelinePanel.prototype.setTimelineProfilingEnabled):
81294         (WebInspector.TimelinePanel.prototype.get timelineProfilingEnabled):
81295         * inspector/front-end/WebKit.qrc:
81296         * inspector/front-end/inspector.html:
81297         * inspector/front-end/inspector.js:
81298
81299 2011-06-21  Sheriff Bot  <webkit.review.bot@gmail.com>
81300
81301         Unreviewed, rolling out r89185.
81302         http://trac.webkit.org/changeset/89185
81303         https://bugs.webkit.org/show_bug.cgi?id=63068
81304
81305         For breaking navigation with inspector opened. (Requested by
81306         pfeldman on #webkit).
81307
81308         * bindings/v8/V8Binding.cpp:
81309         (WebCore::enableStringImplCache):
81310         (WebCore::getStringCache):
81311         (WebCore::cachedStringCallback):
81312         (WebCore::v8ExternalStringSlow):
81313         * bindings/v8/V8Binding.h:
81314         (WebCore::v8ExternalString):
81315         * bindings/v8/V8GCController.cpp:
81316         (WebCore::V8GCController::gcPrologue):
81317
81318 2011-06-21  Pavel Feldman  <pfeldman@google.com>
81319
81320         Reviewed by Yury Semikhatsky.
81321
81322         Web Inspector: rename editScriptSource to setScriptSource.
81323         https://bugs.webkit.org/show_bug.cgi?id=63059
81324
81325         * bindings/js/ScriptDebugServer.cpp:
81326         (WebCore::ScriptDebugServer::setScriptSource):
81327         * bindings/js/ScriptDebugServer.h:
81328         * bindings/v8/DebuggerScript.js:
81329         ():
81330         * bindings/v8/ScriptDebugServer.cpp:
81331         (WebCore::ScriptDebugServer::setScriptSource):
81332         * bindings/v8/ScriptDebugServer.h:
81333         * inspector/Inspector.json:
81334         * inspector/InspectorDebuggerAgent.cpp:
81335         (WebCore::InspectorDebuggerAgent::setScriptSource):
81336         * inspector/InspectorDebuggerAgent.h:
81337         * inspector/front-end/DebuggerModel.js:
81338         (WebInspector.DebuggerModel.prototype.setScriptSource):
81339         * inspector/front-end/DebuggerPresentationModel.js:
81340         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didReceiveSource):
81341         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
81342         (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
81343         * inspector/front-end/Script.js:
81344         (WebInspector.Script.prototype.editSource):
81345         * inspector/front-end/ScriptsPanel.js:
81346         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSource):
81347         * inspector/front-end/SourceFrame.js:
81348         (WebInspector.SourceFrame.prototype.editContent):
81349         (WebInspector.SourceFrameDelegate.prototype.setScriptSource):
81350
81351 2011-06-21  Vsevolod Vlasov  <vsevik@chromium.org>
81352
81353         Reviewed by Pavel Feldman.
81354
81355         Web Inspector: Show content in network panel correctly when two resources were loaded from the same url with different content.
81356         https://bugs.webkit.org/show_bug.cgi?id=62992
81357
81358         Test: http/tests/inspector/network/network-cachedresources-with-same-urls.html
81359
81360         * inspector/InspectorPageAgent.cpp:
81361         (WebCore::InspectorPageAgent::cachedResourceContent):
81362         * inspector/InspectorPageAgent.h:
81363         * inspector/InspectorResourceAgent.cpp:
81364         (WebCore::InspectorResourceAgent::didReceiveResponse):
81365         (WebCore::InspectorResourceAgent::getResourceContent):
81366         * inspector/NetworkResourcesData.cpp:
81367         (WebCore::NetworkResourcesData::addCachedResource):
81368         * inspector/NetworkResourcesData.h:
81369         (WebCore::NetworkResourcesData::ResourceData::cachedResource):
81370         (WebCore::NetworkResourcesData::ResourceData::setCachedResource):
81371
81372 2011-06-21  Alexander Pavlov  <apavlov@chromium.org>
81373
81374         Reviewed by Pavel Feldman.
81375
81376         Web Inspector: Attached state changes do not affect the drawer height
81377         https://bugs.webkit.org/show_bug.cgi?id=63061
81378
81379         * inspector/front-end/Drawer.js:
81380         (WebInspector.Drawer.prototype.enterPanelMode):
81381         (WebInspector.Drawer.prototype.exitPanelMode):
81382         (WebInspector.Drawer.prototype.updateHeight):
81383         * inspector/front-end/inspector.js:
81384         (WebInspector.set attached):
81385
81386 2011-06-17  Pavel Podivilov  <podivilov@chromium.org>
81387
81388         Reviewed by Pavel Feldman.
81389
81390         Web Inspector: can't set breakpoint on the last script line.
81391         https://bugs.webkit.org/show_bug.cgi?id=62861
81392
81393         * inspector/InspectorDebuggerAgent.cpp:
81394         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
81395
81396 2011-06-20  Yury Semikhatsky  <yurys@chromium.org>
81397
81398         Reviewed by Pavel Feldman.
81399
81400         Web Inspector: console messages shouldn't prevent garbage collection of iframes
81401         https://bugs.webkit.org/show_bug.cgi?id=62996
81402
81403         When DOMWindow is detached from its frame run through all console messages and clear
81404         their arguments and ScriptState references. The message text in this case will be
81405         the first argument serialized to string.
81406
81407         Test: http/tests/inspector-enabled/console-clear-arguments-on-frame-remove.html
81408
81409         * bindings/js/ScriptState.cpp:
81410         (WebCore::domWindowFromScriptState):
81411         * bindings/js/ScriptState.h:
81412         * bindings/v8/ScriptState.cpp:
81413         (WebCore::ScriptState::domWindow):
81414         (WebCore::domWindowFromScriptState):
81415         * bindings/v8/ScriptState.h:
81416         * inspector/ConsoleMessage.cpp:
81417         (WebCore::ConsoleMessage::windowCleared):
81418         * inspector/ConsoleMessage.h:
81419         * inspector/InjectedScriptManager.cpp:
81420         (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
81421         * inspector/InjectedScriptManager.h:
81422         * inspector/InspectorConsoleAgent.cpp:
81423         (WebCore::InspectorConsoleAgent::domWindowCleared):
81424         * inspector/InspectorConsoleAgent.h:
81425         * inspector/InspectorInstrumentation.cpp:
81426         (WebCore::InspectorInstrumentation::pageDestroyedImpl):
81427         * inspector/InspectorInstrumentation.h:
81428         (WebCore::InspectorInstrumentation::pageDestroyed):
81429         * page/DOMWindow.cpp:
81430         (WebCore::DOMWindow::pageDestroyed):
81431
81432 2011-06-21  Mikhail Naganov  <mnaganov@chromium.org>
81433
81434         Reviewed by Yury Semikhatsky.
81435
81436         Web Inspector: [Chromium] Fix path finding to window objects.
81437         https://bugs.webkit.org/show_bug.cgi?id=63051
81438
81439         * inspector/front-end/DetailedHeapshotView.js:
81440         (WebInspector.HeapSnapshotRetainingPathsList.prototype._setRootChildrenForFinder):
81441
81442 2011-06-21  Pavel Feldman  <pfeldman@chromium.org>
81443
81444         Reviewed by Yury Semikhatsky.
81445
81446         Web Inspector: hovering over linkified nodes
81447         in the UI does not highlight elements on the page.
81448         https://bugs.webkit.org/show_bug.cgi?id=60630
81449
81450         * inspector/front-end/inspector.js:
81451         (WebInspector.wireElementWithDOMNode):
81452
81453 2011-06-20  Yuzo Fujishima  <yuzo@google.com>
81454
81455         Reviewed by Kent Tamura.
81456
81457         Fix for Bug 62975 - Refactor local variable usage in CSSFontFaceSource::getFontData
81458         https://bugs.webkit.org/show_bug.cgi?id=62975
81459
81460         No new tests because no behavioral changes.
81461
81462         * css/CSSFontFaceSource.cpp:
81463         (WebCore::CSSFontFaceSource::getFontData): Remove one of fontData variable.
81464
81465 2011-06-20  Andy Estes  <aestes@apple.com>
81466
81467         Reviewed by Darin Adler.
81468
81469         KURL::protocolIs(const char* protocol) asserts in Debug builds with
81470         valid protocols
81471         https://bugs.webkit.org/show_bug.cgi?id=61572
81472
81473         No new tests. No code currently calls protocolIs() with a protocol that
81474         contains a non-letter character.
81475
81476         * platform/KURL.cpp:
81477         (WebCore::isSchemeCharacterMatchIgnoringCase): A helper function that
81478         compares two characters ignoring case. It assumes (and asserts) that
81479         both characters are valid scheme characters, and that if the second
81480         argument is a letter that it is lowercase.
81481         (WebCore::KURL::protocolIs): Call isSchemeCharacterMatchIgnoringCase()
81482         instead of isLetterMatchIgnoringCase().
81483
81484 2011-06-20  Dai Mikurube  <dmikurube@chromium.org>
81485
81486         Reviewed by Kent Tamura.
81487
81488         Webkit allows disabled option as value of "required" select
81489         https://bugs.webkit.org/show_bug.cgi?id=62668
81490
81491         * html/HTMLSelectElement.cpp: Removed "disabled" checking due to spec change.
81492         (WebCore::HTMLSelectElement::hasPlaceholderLabelOption):
81493
81494 2011-06-20  Zhenyao Mo  <zmo@google.com>
81495
81496         Reviewed by Kenneth Russell.
81497
81498         Update ANGLE to r696.
81499         https://bugs.webkit.org/show_bug.cgi?id=56396
81500
81501         * platform/graphics/ANGLEWebKitBridge.cpp:
81502         (WebCore::ANGLEWebKitBridge::validateShaderSource): Specify backend.
81503
81504 2011-06-20  Eric Seidel  <eric@webkit.org>
81505
81506         Reviewed by Adam Barth.
81507
81508         Group load-initiating and stopping functions in FrameLoader.h
81509         https://bugs.webkit.org/show_bug.cgi?id=63030
81510
81511         No function change, thus no tests.
81512
81513         * loader/FrameLoader.h:
81514
81515 2011-06-20  Sailesh Agrawal  <sail@chromium.org>
81516
81517         Reviewed by Mihai Parparita.
81518
81519         [Chromium] Draw search tickmarks on overlay scrollbars
81520         https://bugs.webkit.org/show_bug.cgi?id=62783
81521
81522         This change adds search tickmark support for overlay scrollbars. Tickmarks are only drawn when the scroll track is visible.
81523
81524         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:Split the scrollbar drawing code into a track and knob version.
81525         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
81526         (wkScrollbarPainterPaint):
81527         (wkScrollbarPainterPaintTrack):
81528         (wkScrollbarPainterPaintKnob):
81529         * platform/chromium/ScrollbarThemeChromiumMac.h:
81530         * platform/chromium/ScrollbarThemeChromiumMac.mm:Factor out the paint tickmark code and call it from the overlay scrollbar drawing code.
81531         (WebCore::ScrollbarThemeChromiumMac::paint):
81532         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
81533
81534 2011-06-20  Adam Barth  <abarth@webkit.org>
81535
81536         Mac build fix.  In addition to adding the files to the project, we need
81537         to add them to the WebCore target.
81538
81539         * WebCore.xcodeproj/project.pbxproj:
81540
81541 2011-06-20  Adam Barth  <abarth@webkit.org>
81542
81543         Reviewed by Darin Adler.
81544
81545         Remove numRequests
81546         https://bugs.webkit.org/show_bug.cgi?id=63028
81547
81548         numRequests exists just to cargo-cult null-check m_frame->document(),
81549         which is always non-null.
81550
81551         * loader/FrameLoader.cpp:
81552         (WebCore::FrameLoader::checkCompleted):
81553         (WebCore::FrameLoader::numPendingOrLoadingRequests):
81554
81555 2011-06-20  Alexey Proskuryakov  <ap@apple.com>
81556
81557         Reviewed by Darin Adler.
81558
81559         startWordBoundary() in visible_units.cpp assumes that all characters are 16 bit
81560         https://bugs.webkit.org/show_bug.cgi?id=63027
81561
81562         No new tests, because I don't see this affect any webkit.org ports.
81563
81564         * editing/visible_units.cpp: (WebCore::startWordBoundary): Previous offset is not just minus
81565         one - we need to use a proper macro to iterate.
81566
81567 2011-06-20  Jay Civelli  <jcivelli@chromium.org>
81568
81569         Reviewed by Adam Barth.
81570
81571         Making SharedBufferCRLFLineReader more generic, so it can be used to read MHTML
81572         file with binary parts.
81573         https://bugs.webkit.org/show_bug.cgi?id=62966
81574
81575         * CMakeLists.txt:
81576         * GNUmakefile.list.am:
81577         * WebCore.gypi:
81578         * WebCore.pro:
81579         * WebCore.vcproj/WebCore.vcproj:
81580         * WebCore.xcodeproj/project.pbxproj:
81581         * loader/archive/mhtml/MHTMLParser.cpp:
81582         (WebCore::skipLinesUntilBoundaryFound):
81583         (WebCore::MHTMLParser::MHTMLParser):
81584         (WebCore::MHTMLParser::parseNextPart):
81585         * loader/archive/mhtml/MHTMLParser.h:
81586         * platform/SharedBufferChunkReader.cpp: Renamed from Source/WebCore/platform/SharedBufferCRLFLineReader.cpp.
81587         (WebCore::SharedBufferChunkReader::SharedBufferChunkReader):
81588         (WebCore::SharedBufferChunkReader::setSeparator):
81589         (WebCore::SharedBufferChunkReader::nextChunk):
81590         * platform/SharedBufferChunkReader.h: Renamed from Source/WebCore/platform/SharedBufferCRLFLineReader.h.
81591         * platform/network/MIMEHeader.cpp:
81592         (WebCore::retrieveKeyValuePairs):
81593         (WebCore::MIMEHeader::parseHeader):
81594         * platform/network/MIMEHeader.h:
81595
81596 2011-06-20  Martin Robinson  <mrobinson@igalia.com>
81597
81598         Reviewed by Xan Lopez.
81599
81600         [GTK] Windowless plugins sometimes crash with a BadMatch error
81601         https://bugs.webkit.org/show_bug.cgi?id=63020
81602
81603         Do not try to create an XPixmap with any of the dimensions as zero.
81604
81605         * plugins/gtk/PluginViewGtk.cpp:
81606         (WebCore::PluginView::updatePluginWidget): Guard against and empty window rect
81607         before trying to create a windowless plugin pixmap.
81608
81609 2011-06-20  Antonio Gomes  <agomes@rim.com>
81610
81611         Reviewed by Ryosuke Niwa.
81612
81613         Stop adding empty rects in FrameSelection::getClippedVisibleTextRectangles
81614         https://bugs.webkit.org/show_bug.cgi?id=63018
81615
81616         No new tests needed, since it causes no behavioral change.
81617
81618         * editing/FrameSelection.cpp:
81619         (WebCore::FrameSelection::getClippedVisibleTextRectangles):
81620
81621 2011-06-20  Joseph Pecoraro  <joepeck@webkit.org>
81622
81623         Reviewed by Pavel Feldman.
81624
81625         Web Inspector: CRASH if Expanding Event Listener on document
81626         https://bugs.webkit.org/show_bug.cgi?id=61834
81627
81628         Node::ownerDocument returns null for a document node. So, in
81629         the case of a document node in resolveNode, use Node::document
81630         which returns the node, as a document.
81631
81632         * inspector/InspectorDOMAgent.cpp:
81633         (WebCore::InspectorDOMAgent::resolveNode):
81634
81635 2011-06-20  Joseph Pecoraro  <joepeck@webkit.org>
81636
81637         Reviewed by Simon Fraser.
81638
81639         Minimize memory due to layer backing stores for pages in the Page Cache
81640         https://bugs.webkit.org/show_bug.cgi?id=62675
81641
81642         When a page enters the page cache there is now an option on
81643         the PageCache singleton to clear the backing stores and layers
81644         of the cached page. This can be useful to minimize the amount
81645         of memory the stored page consumes.
81646
81647         This only affects memory usage and is disabled by default, so no test.
81648
81649         * history/CachedFrame.h:
81650         * history/CachedFrame.cpp:
81651         (WebCore::CachedFrameBase::CachedFrameBase):
81652         Save whether or not the page had composited content or not
81653         in a new instance variable, m_isComposited.
81654
81655         (WebCore::CachedFrameBase::restore):
81656         When restoring, rebuild the compositing tree if it may have
81657         been destroyed.
81658
81659         (WebCore::CachedFrame::CachedFrame):
81660         When saving, clear the backing stores if the page is in
81661         compositing mode, and the PageCache setting is enabled.
81662         
81663         * history/PageCache.cpp:
81664         (WebCore::PageCache::PageCache):
81665         * history/PageCache.h:
81666         (WebCore::PageCache::shouldClearBackingStores):
81667         (WebCore::PageCache::setShouldClearBackingStores):
81668         A setting to opt-in to the new behavior of clearing
81669         the backing stores.
81670
81671         * page/FrameView.h:
81672         * page/FrameView.cpp:
81673         (WebCore::FrameView::clearBackingStores):
81674         (WebCore::FrameView::restoreBackingStores):
81675         To clear all backing stores we disable compositing
81676         for the frame, to detach the root platform layer,
81677         and recursively clear backing stores from the root
81678         layer of the FrameView.
81679
81680         * rendering/RenderLayer.h:
81681         * rendering/RenderLayer.cpp:
81682         (WebCore::RenderLayer::clearBackingIncludingDescendants):
81683         Recursively call clearBacking.
81684
81685 2011-06-20  Mark Pilgrim  <pilgrim@chromium.org>
81686
81687         Reviewed by Adam Barth.
81688
81689         IDL generator should throw TypeError instead of SyntaxError on not enough arguments
81690         https://bugs.webkit.org/show_bug.cgi?id=63011
81691
81692         To align with WebIDL, we should throw TypeError whenever a function
81693         is called with missing required arguments.
81694
81695         * bindings/scripts/CodeGeneratorJS.pm:
81696         * bindings/scripts/CodeGeneratorV8.pm:
81697         * bindings/scripts/test/V8/V8TestObj.cpp:
81698         (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
81699
81700 2011-05-03  Martin Robinson  <mrobinson@igalia.com>
81701
81702         Reviewed by Dirk Schulze.
81703
81704         REGRESSION: [CAIRO] wrong drawing of Gradients and Patterns on texts
81705         https://bugs.webkit.org/show_bug.cgi?id=31507
81706
81707         When painting text, be sure to set the pattern fill or gradient before modifying the Cairo
81708         context CTM. This ensures that gradients and patterns are scaled and positioned properly in
81709         the coordinate system of the page. Abstract out the fill preparation to avoid repeating this
81710         logic and perform a bit of cleanup.
81711
81712         * platform/graphics/cairo/FontCairo.cpp:
81713         (WebCore::prepareContextForGlyphDrawing): Now set the x and y position of the text using the glyph
81714         offsets. This avoids having to set a transformation matrix when there is no synthetic oblique.
81715         (WebCore::drawGlyphsToContext): Add a newline as part of cleanup. Call prepareContextForGlyphDrawing from here
81716         and restor the original CTM when exiting.
81717         (WebCore::drawGlyphsShadow): Use drawGlyphsToContext here to ensure that all glyph drawing goes through
81718         the same path.
81719         (WebCore::Font::drawGlyphs): Fix a C-style cast and use the glyph offsets to position the glyphs instead
81720         of adjusting the transformation matrix. Use GC::prepareForFilling and GC::prepareForStroking instead of
81721         setting up the fill and stroke manually.
81722         * platform/graphics/cairo/GraphicsContextCairo.cpp:
81723         (WebCore::fillRectWithColor): Renamed fillRectSourceOver to fillRectWithColor to make it clearer
81724         why this is different than the slower fill method. Moved the no transparency early return here.
81725         (WebCore::drawPathShadow): Instead of calling setPlatformFill, just perform a cheap fill and stroke
81726         with red color. Since the shadow is used as a mask, the actual fill shouldn't matter.
81727         (WebCore::reduceSourceByAlpha): Added this helper.
81728         (WebCore::GraphicsContext::prepareForFilling): Added this method adapted from setPlatformFill, which
81729         correctly handles the transformation matrix.
81730         (WebCore::GraphicsContext::prepareForStroking): Ditto for stroking.
81731         (WebCore::shadowAndFillCurrentCairoPath): Adapted from fillCurrentCairoPath, but renamed to clarify
81732         what it does and no uses prepareForFilling.
81733         (WebCore::shadowAndStrokeCurrentCairoPath): Ditto for stroking.
81734         (WebCore::GraphicsContext::drawRect): Update for new method names.
81735         (WebCore::GraphicsContext::drawLine): Ditto.
81736         (WebCore::GraphicsContext::fillPath): Ditto.
81737         (WebCore::GraphicsContext::strokePath): Ditto.
81738         (WebCore::GraphicsContext::fillRect): Ditto. Remove the unnecessary save/restore pair here.
81739         (WebCore::GraphicsContext::strokeRect): Update to reflect new method names.
81740         * platform/graphics/cairo/PlatformContextCairo.cpp:
81741         (WebCore::reduceSourceByAlpha): Added this helper.
81742         (WebCore::GraphicsContext::prepareForFilling): Added this method adapted from setPlatformFill, which
81743         correctly handles the transformation matrix.
81744         (WebCore::GraphicsContext::prepareForStroking): Ditto for stroking.
81745         (WebCore::reduceSourceByAlpha):
81746         * platform/graphics/cairo/PlatformContextCairo.h: Added new method declarations.
81747
81748 2011-06-20  Tim Horton  <timothy_horton@apple.com>
81749
81750         Reviewed by Darin Adler.
81751
81752         Incorrect clamping on SVG masks when root element is not located at (0,0)
81753         https://bugs.webkit.org/show_bug.cgi?id=63019
81754
81755         We should be using frameRect(), not contentBoxRect() for the rect to
81756         clamp to when creating an SVG mask image.
81757
81758         Test: svg/custom/absolute-root-position-masking.xhtml
81759
81760         * rendering/svg/SVGImageBufferTools.cpp:
81761         (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRectForRenderer):
81762
81763 2011-06-20  Adam Barth  <abarth@webkit.org>
81764
81765         Reviewed by Eric Seidel.
81766
81767         Remove FrameLoader::m_workingURL
81768         https://bugs.webkit.org/show_bug.cgi?id=63021
81769
81770         FrameLoader shouldn't keep the working URL in separate state.  It's
81771         just a function of other state.  m_workingURL exists only to create
81772         bugs and confusion.
81773
81774         * loader/DocumentLoader.cpp:
81775         (WebCore::DocumentLoader::documentURL):
81776         * loader/DocumentLoader.h:
81777         * loader/FrameLoader.cpp:
81778         (WebCore::FrameLoader::stopLoading):
81779         (WebCore::FrameLoader::didOpenURL):
81780         (WebCore::FrameLoader::receivedFirstData):
81781         (WebCore::FrameLoader::willSetEncoding):
81782         (WebCore::FrameLoader::commitProvisionalLoad):
81783         (WebCore::FrameLoader::open):
81784         (WebCore::FrameLoader::finishedLoadingDocument):
81785         * loader/FrameLoader.h:
81786
81787 2011-06-20  Kenneth Russell  <kbr@google.com>
81788
81789         Unreviewed.
81790
81791         Rolled out r89233 and r89235 because of crashes in http/tests/misc/acid3.html on Snow Leopard and other platforms
81792         https://bugs.webkit.org/show_bug.cgi?id=63022
81793
81794         * features.pri:
81795         * page/DOMWindow.idl:
81796         * platform/graphics/Font.cpp:
81797         (WebCore::Font::drawText):
81798         (WebCore::Font::drawEmphasisMarks):
81799         (WebCore::Font::width):
81800         (WebCore::Font::selectionRectForText):
81801         (WebCore::Font::offsetForPosition):
81802         (WebCore::Font::codePath):
81803         * platform/graphics/Font.h:
81804         * platform/graphics/FontFallbackList.h:
81805         * platform/graphics/FontFastPath.cpp:
81806         (WebCore::Font::glyphDataForCharacter):
81807         (WebCore::Font::getEmphasisMarkGlyphData):
81808         (WebCore::Font::drawGlyphBuffer):
81809         * platform/graphics/FontMetrics.h:
81810         * platform/graphics/GlyphPageTreeNode.cpp:
81811         (WebCore::fill):
81812         * platform/graphics/SVGGlyph.h:
81813         (WebCore::SVGGlyph::SVGGlyph):
81814         (WebCore::SVGGlyph::operator==):
81815         * platform/graphics/SimpleFontData.cpp:
81816         (WebCore::SimpleFontData::SimpleFontData):
81817         * platform/graphics/SimpleFontData.h:
81818         (WebCore::SimpleFontData::widthForGlyph):
81819         * platform/graphics/TextRun.h:
81820         * platform/graphics/WidthIterator.cpp:
81821         (WebCore::WidthIterator::advance):
81822         * platform/graphics/WidthIterator.h:
81823         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
81824         (WebCore::scaleEmToUnits):
81825         * platform/graphics/mac/SimpleFontDataMac.mm:
81826         (WebCore::scaleEmToUnits):
81827         * platform/graphics/win/SimpleFontDataCGWin.cpp:
81828         (WebCore::scaleEmToUnits):
81829         * rendering/svg/SVGTextMetrics.cpp:
81830         (WebCore::SVGTextMetrics::SVGTextMetrics):
81831         (WebCore::constructTextRun):
81832         (WebCore::SVGTextMetrics::measureCharacterRange):
81833         * rendering/svg/SVGTextMetrics.h:
81834         * rendering/svg/SVGTextRunRenderingContext.cpp:
81835         (WebCore::convertEmUnitToPixel):
81836         (WebCore::isVerticalWritingMode):
81837         (WebCore::firstParentRendererForNonTextNode):
81838         (WebCore::referencingRenderObjectFromRun):
81839         (WebCore::SVGTextRunWalker::SVGTextRunWalker):
81840         (WebCore::SVGTextRunWalker::walk):
81841         (WebCore::floatWidthUsingSVGFontCallback):
81842         (WebCore::floatWidthMissingGlyphCallback):
81843         (WebCore::floatWidthOfSubStringUsingSVGFont):
81844         (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont):
81845         (WebCore::drawTextUsingSVGFontCallback):
81846         (WebCore::drawTextMissingGlyphCallback):
81847         (WebCore::SVGTextRunRenderingContext::drawTextUsingSVGFont):
81848         (WebCore::SVGTextRunRenderingContext::selectionRectForTextUsingSVGFont):
81849         (WebCore::SVGTextRunRenderingContext::offsetForPositionForTextUsingSVGFont):
81850         * rendering/svg/SVGTextRunRenderingContext.h:
81851         * svg/SVGAltGlyphElement.cpp:
81852         (WebCore::SVGAltGlyphElement::glyphElement):
81853         * svg/SVGAltGlyphElement.h:
81854         * svg/SVGFontData.cpp:
81855         (WebCore::SVGFontData::initializeFontData):
81856         * svg/SVGFontData.h:
81857         * svg/SVGFontElement.cpp:
81858         (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
81859         (WebCore::SVGFontElement::ensureGlyphCache):
81860         * svg/SVGGlyphMap.h:
81861         (WebCore::SVGGlyphMap::addGlyphByUnicodeString):
81862         * svg/svgtags.in:
81863
81864 2011-06-20  Scott Byer  <scottbyer@chromium.org>
81865
81866         Reviewed by Adam Barth.
81867
81868         Smooth scrolling for Chromium, initial patch.
81869         https://bugs.webkit.org/show_bug.cgi?id=61878
81870
81871         Add in a default scrolling animator in the platform directory, with a run time enable switch, to provide
81872         animated / smooth scrolling on platforms and for input devices where it's not provided by the platform, and to
81873         be easily configurable to what situatuations the animations are provided for. The smooth scrolling code is
81874         compiled out by default.
81875
81876         Unit tests in chromium/ScrollAnimatorNoneTest.cpp
81877
81878         * WebCore.gypi:
81879         * page/FrameView.cpp:
81880         (WebCore::FrameView::scrollAnimatorEnabled):
81881         * page/FrameView.h:
81882         * page/Settings.cpp:
81883         (WebCore::Settings::Settings):
81884         * page/Settings.h:
81885         (WebCore::Settings::setEnableScrollAnimator):
81886         (WebCore::Settings::scrollAnimatorEnabled):
81887         * platform/ScrollAnimatorNone.cpp: Added.
81888         (WebCore::ScrollAnimator::create):
81889         (WebCore::ScrollAnimatorNone::Parameters::Parameters):
81890         (WebCore::ScrollAnimatorNone::PerAxisData::curveAt):
81891         (WebCore::ScrollAnimatorNone::PerAxisData::attackCurve):
81892         (WebCore::ScrollAnimatorNone::PerAxisData::releaseCurve):
81893         (WebCore::ScrollAnimatorNone::PerAxisData::curveDerivativeAt):
81894         (WebCore::ScrollAnimatorNone::PerAxisData::PerAxisData):
81895         (WebCore::ScrollAnimatorNone::PerAxisData::reset):
81896         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
81897         (WebCore::ScrollAnimatorNone::PerAxisData::animateScroll):
81898         (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
81899         (WebCore::ScrollAnimatorNone::~ScrollAnimatorNone):
81900         (WebCore::ScrollAnimatorNone::scroll):
81901         (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
81902         (WebCore::ScrollAnimatorNone::animationTimerFired):
81903         (WebCore::ScrollAnimatorNone::stopAnimationTimerIfNeeded):
81904         * platform/ScrollAnimatorNone.h: Added.
81905         * platform/ScrollableArea.h:
81906         (WebCore::ScrollableArea::scrollAnimatorEnabled):
81907
81908 2011-06-20  Julien Chaffraix  <jchaffraix@webkit.org>
81909
81910         Reviewed by Darin Adler.
81911
81912         Remove some unsafe static_cast in rendering/
81913         https://bugs.webkit.org/show_bug.cgi?id=63014
81914
81915         Mechanical refactoring, no test needed.
81916
81917         * rendering/InlineFlowBox.cpp:
81918         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
81919         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
81920         * rendering/InlineTextBox.cpp:
81921         (WebCore::InlineTextBox::getEmphasisMarkPosition):
81922         * rendering/RenderBlockLineLayout.cpp:
81923         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
81924         * rendering/RenderLayer.cpp:
81925         (WebCore::RenderLayer::destroyScrollbar):
81926         * rendering/RenderRuby.cpp:
81927         (WebCore::rubyBeforeBlock):
81928         (WebCore::rubyAfterBlock):
81929         (WebCore::lastRubyRun):
81930         (WebCore::findRubyRunParent):
81931         * rendering/RenderRubyBase.cpp:
81932         (WebCore::RenderRubyBase::rubyRun):
81933         * rendering/RenderRubyRun.cpp:
81934         (WebCore::RenderRubyRun::removeChild):
81935         Use the proper conversion methods at the previous call-sites.
81936
81937 2011-06-20  Anders Carlsson  <andersca@apple.com>
81938
81939         Reviewed by Sam Weinig.
81940
81941         Web archive resource loads are scheduled together with network loads
81942         https://bugs.webkit.org/show_bug.cgi?id=63024
81943         <rdar://problem/9508564>
81944
81945         If the resource being loaded is loaded from a web archive we don't need to schedule the load
81946         since it won't touch the network.
81947
81948         * loader/ResourceLoadScheduler.cpp:
81949         (WebCore::ResourceLoadScheduler::scheduleLoad):
81950
81951 2011-06-20  Pratik Solanki  <psolanki@apple.com>
81952
81953         Reviewed by David Kilzer.
81954
81955         HTTP pipelining functions on mac should match windows
81956         https://bugs.webkit.org/show_bug.cgi?id=63012
81957
81958         Use a CFURLRequestRef instead of NSURLRequest for the HTTP pipelining functions.
81959
81960         * platform/mac/WebCoreSystemInterface.h:
81961         * platform/mac/WebCoreSystemInterface.mm:
81962         * platform/network/mac/ResourceRequestMac.mm:
81963         (WebCore::ResourceRequest::doUpdateResourceRequest):
81964         (WebCore::ResourceRequest::doUpdatePlatformRequest):
81965
81966 2011-06-20  Ryosuke Niwa  <rniwa@webkit.org>
81967
81968         Fix bit flag collision.
81969
81970         * editing/FrameSelection.h:
81971
81972 2011-06-20  Jer Noble  <jer.noble@apple.com>
81973
81974         Unreviewed build fix; Fix Leopard WebCore build.
81975
81976         * platform/mac/WebVideoFullscreenHUDWindowController.mm: On Leopard, NSWindowDelegate
81977             is a category, not a protocol.
81978
81979 2011-06-20  Ryosuke Niwa  <rniwa@webkit.org>
81980
81981         Reviewed by Darin Adler.
81982
81983         Various editing functions take boolean userTriggered but should be replaced by an enum
81984         https://bugs.webkit.org/show_bug.cgi?id=62933
81985
81986         Replaced boolean userTriggered in many functions by new EUserTriggered enum.
81987
81988         * WebCore.exp.in: FrameSelection::modify's signature changed.
81989         * accessibility/AccessibilityRenderObject.cpp:
81990         (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange): Calls FrameSelection::moveTo.
81991         * editing/EditorCommand.cpp:
81992         (WebCore::executeMoveBackward): Calls FrameSelection::modify.
81993         (WebCore::executeMoveBackwardAndModifySelection): Ditto.
81994         (WebCore::executeMoveDown): Ditto.
81995         (WebCore::executeMoveDownAndModifySelection): Ditto.
81996         (WebCore::executeMoveForward): Ditto.
81997         (WebCore::executeMoveForwardAndModifySelection): Ditto.
81998         (WebCore::executeMoveLeft): Ditto.
81999         (WebCore::executeMoveLeftAndModifySelection): Ditto.
82000         (WebCore::executeMovePageDown): Ditto.
82001         (WebCore::executeMovePageDownAndModifySelection): Ditto.
82002         (WebCore::executeMovePageUp): Ditto.
82003         (WebCore::executeMovePageUpAndModifySelection): Ditto.
82004         (WebCore::executeMoveRight): Ditto.
82005         (WebCore::executeMoveRightAndModifySelection): Ditto.
82006         (WebCore::executeMoveToBeginningOfDocument): Ditto.
82007         (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): Ditto.
82008         (WebCore::executeMoveToBeginningOfLine): Ditto.
82009         (WebCore::executeMoveToBeginningOfLineAndModifySelection): Ditto.
82010         (WebCore::executeMoveToBeginningOfParagraph): Ditto.
82011         (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): Ditto.
82012         (WebCore::executeMoveToBeginningOfSentence): Ditto.
82013         (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): Ditto.
82014         (WebCore::executeMoveToEndOfDocument): Ditto.
82015         (WebCore::executeMoveToEndOfDocumentAndModifySelection): Ditto.
82016         (WebCore::executeMoveToEndOfSentence): Ditto.
82017         (WebCore::executeMoveToEndOfSentenceAndModifySelection): Ditto.
82018         (WebCore::executeMoveToEndOfLine): Ditto.
82019         (WebCore::executeMoveToEndOfLineAndModifySelection): Ditto.
82020         (WebCore::executeMoveToEndOfParagraph): Ditto.
82021         (WebCore::executeMoveToEndOfParagraphAndModifySelection): Ditto.
82022         (WebCore::executeMoveParagraphBackwardAndModifySelection): Ditto.
82023         (WebCore::executeMoveParagraphForwardAndModifySelection): Ditto.
82024         (WebCore::executeMoveUp): Ditto.
82025         (WebCore::executeMoveUpAndModifySelection): Ditto.
82026         (WebCore::executeMoveWordBackward): Ditto.
82027         (WebCore::executeMoveWordBackwardAndModifySelection): Ditto.
82028         (WebCore::executeMoveWordForward): Ditto.
82029         (WebCore::executeMoveWordForwardAndModifySelection): Ditto.
82030         (WebCore::executeMoveWordLeft): Ditto.
82031         (WebCore::executeMoveWordLeftAndModifySelection): Ditto.
82032         (WebCore::executeMoveWordRight): Ditto.
82033         (WebCore::executeMoveWordRightAndModifySelection): Ditto.
82034         (WebCore::executeMoveToLeftEndOfLine): Ditto.
82035         (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Ditto.
82036         (WebCore::executeMoveToRightEndOfLine): Ditto.
82037         (WebCore::executeMoveToRightEndOfLineAndModifySelection): Ditto.
82038         * editing/FrameSelection.cpp:
82039         (WebCore::FrameSelection::moveTo): Takes EUserTriggered instead of a boolean.
82040         (WebCore::FrameSelection::setSelection): Ditto.
82041         (WebCore::FrameSelection::modify): Ditto.
82042         (WebCore::FrameSelection::setStart): Ditto.
82043         (WebCore::FrameSelection::setEnd): Ditto.
82044         (WebCore::FrameSelection::setBase): Ditto.
82045         (WebCore::FrameSelection::setExtent): Ditto.
82046         (WebCore::FrameSelection::selectAll): Ditto.
82047         (WebCore::FrameSelection::notifyRendererOfSelectionChange): Ditto.
82048         * editing/FrameSelection.h: Extracted EUserTriggered out of SetSelectionOption; SetSelectionOptions
82049         now takes the union of values of SetSelectionOption and EUserTriggered.
82050         (WebCore::FrameSelection::selectionOptionsToUserTriggered): Converts SetSelectionOptions to
82051         EUserTriggered. 
82052         * page/DOMSelection.cpp:
82053         (WebCore::DOMSelection::modify): Calls FrameSelection::modify.
82054         * page/EventHandler.cpp:
82055         (WebCore::EventHandler::handleMouseReleaseEvent): Ditto.
82056         (WebCore::handleKeyboardSelectionMovement): Ditto.
82057
82058 2011-06-20  Jer Noble  <jer.noble@apple.com>
82059
82060         Unreviewed build fix; Fix 32-bit build.
82061
82062         Code recently moved from WebKit -> WebCore does not pass WebCore's more strict compiler warnings.  Use 
82063         CGFloat, and float constants wherever possible, and use narrowPrecisionToFloat() where not.
82064
82065         * WebCore.xcodeproj/project.pbxproj: Add '-Wno-undef' flag for WebVideoFullScreenController.mm 
82066         * platform/mac/WebVideoFullscreenController.mm:
82067         (constrainFrameToRatioOfFrame): Use CGFloat instead of Double.
82068         (-[WebVideoFullscreenWindow animateFromRect:toRect:withSubAnimation:controllerAction:]): Use float constant.
82069         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
82070         (-[WebVideoFullscreenHUDWindowController updateVolume]): Use float for volume.
82071         (-[WebVideoFullscreenHUDWindowController maxVolume]): Ditto.
82072         (-[WebVideoFullscreenHUDWindowController volumeChanged:]): Ditto.
82073         (-[WebVideoFullscreenHUDWindowController decrementVolume]): Ditto.
82074         (-[WebVideoFullscreenHUDWindowController incrementVolume]): Ditto.
82075         (-[WebVideoFullscreenHUDWindowController volume]): Ditto.
82076         (-[WebVideoFullscreenHUDWindowController setVolume:]): Ditto. 
82077         (timeToString): Narrow precision to float when converting to seconds.
82078         * platform/mac/WebWindowAnimation.mm:
82079         (scaledRect): Use CGFloat.
82080         (-[WebWindowScaleAnimation init]): Use float constant.
82081         (-[WebWindowScaleAnimation currentValue]): Ditto.
82082         (-[WebWindowScaleAnimation additionalDurationNeededToReachFinalFrame]): Ditto.
82083         (-[WebWindowFadeAnimation currentAlpha]): Ditto.
82084
82085 2011-06-20  Anders Carlsson  <andersca@apple.com>
82086
82087         Reviewed by Darin Adler.
82088
82089         Disallow assigning into PassOwnArrayPtr, PassOwnPtr and PassRefPtr
82090         https://bugs.webkit.org/show_bug.cgi?id=62940
82091
82092         Make sure that we never assign into any already existing PassRefPtr.
82093
82094         * accessibility/AccessibilityMediaControls.cpp:
82095         (WebCore::AccessibilityMediaControl::create):
82096         Remove local PassRefPtr variable.
82097
82098         * dom/Document.cpp:
82099         (WebCore::Document::setBody):
82100         Rename the PassRefPtr parameter and create a RefPtr variable.
82101
82102         (WebCore::Document::setFocusedNode):
82103         Ditto.
82104
82105         * editing/ApplyStyleCommand.cpp:
82106         (WebCore::ApplyStyleCommand::removeInlineStyle):
82107         There's no reason to use a PassRefPtr here. Use a RefPtr, and don't initialize it since it's implicitly initialized.
82108
82109         * editing/CompositeEditCommand.cpp:
82110         (WebCore::CompositeEditCommand::prune):
82111         Rename the PassRefPtr parameter and create a RefPtr variable.
82112
82113         * editing/ReplaceSelectionCommand.cpp:
82114         (WebCore::ReplaceSelectionCommand::insertAsListItems):
82115         Ditto.
82116
82117         * editing/htmlediting.cpp:
82118         (WebCore::createTabSpanElement):
82119         Ditto.
82120
82121         * html/canvas/CanvasRenderingContext2D.cpp:
82122         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
82123         (WebCore::CanvasRenderingContext2D::setFillStyle):
82124         Ditto.
82125
82126         * platform/network/mac/FormDataStreamMac.mm:
82127         (WebCore::formFinalize):
82128         Ditto.
82129
82130         (WebCore::setHTTPBody):
82131         Use an OwnPtr instead of explicitly deleting the form variable.
82132
82133 2011-06-20  Alex Milowski  <alex@milowski.com>
82134
82135         Reviewed by Darin Adler.
82136
82137         This patch addresses handling wrapping of child properly to maintain the layout regardless of whether 
82138         this is the initial build of the render tree or the result of DOM manipulation.
82139         https://bugs.webkit.org/show_bug.cgi?id=62098
82140
82141         Tests: mathml/presentation/msub-base-changed.xhtml
82142                mathml/presentation/msub-sub-changed.xhtml
82143                mathml/presentation/msubsup-base-changed.xhtml
82144                mathml/presentation/msubsup-sub-changed.xhtml
82145                mathml/presentation/msubsup-sup-changed.xhtml
82146                mathml/presentation/msup-base-changed.xhtml
82147                mathml/presentation/msup-sup-changed.xhtml
82148
82149         * rendering/mathml/RenderMathMLSubSup.cpp:
82150         (WebCore::RenderMathMLSubSup::addChild):
82151         (WebCore::RenderMathMLSubSup::stretchToHeight):
82152         (WebCore::RenderMathMLSubSup::baselinePosition):
82153
82154 2011-06-01  Jer Noble  <jer.noble@apple.com>
82155
82156         Reviewed by Eric Carlson.
82157
82158         Move Full Screen Controllers into WebCore.
82159
82160         Remove dependency on QTKit from wekitExitFullscreen()
82161         https://bugs.webkit.org/show_bug.cgi?id=61843
82162
82163         No new tests; the existing media full screen tests are sufficient.
82164
82165         * WebCore.exp.in: Add new exports.
82166         * WebCore.xcodeproj/project.pbxproj: Add references to moved files.
82167         * platform/mac/WebCoreSystemInterface.h: Add new WCSI interfaces to WKSI functions.
82168         * platform/mac/WebCoreSystemInterface.mm:
82169         * platform/mac/WebVideoFullscreenController.h: Renamed from Source/WebKit/mac/WebView/WebVideoFullscreenController.h.
82170         * platform/mac/WebVideoFullscreenController.mm: Renamed from Source/WebKit/mac/WebView/WebVideoFullscreenController.mm.
82171         
82172         The following functions have had UNUSED_PARAM added:
82173         (-[WebVideoFullscreenController applicationDidResignActive:]):
82174         (-[WebVideoFullscreenController applicationDidChangeScreenParameters:]):
82175         (-[WebVideoFullscreenWindow mouseMoved:]):
82176
82177 Source/WebKit/mac/WebView/WebVideoFullscreenHUDWindowController.h.
82178         * platform/mac/WebVideoFullscreenHUDWindowController.mm: Renamed from Source/WebKit/mac/WebView/WebVideoFullscreenHUDWindowController.mm.
82179         
82180         The following functions have had UNUSED_PARAM added:
82181         (-[WebVideoFullscreenHUDWindow cancelOperation:]):
82182         (-[WebVideoFullscreenHUDWindowController timelinePositionChanged:]):
82183         (-[WebVideoFullscreenHUDWindowController setVolumeToZero:]):
82184         (-[WebVideoFullscreenHUDWindowController setVolumeToMaximum:]):
82185         (-[WebVideoFullscreenHUDWindowController togglePlaying:]):
82186         (-[WebVideoFullscreenHUDWindowController mouseEntered:]):
82187         (-[WebVideoFullscreenHUDWindowController mouseExited:]):
82188         (-[WebVideoFullscreenHUDWindowController rewind:]):
82189         (-[WebVideoFullscreenHUDWindowController fastForward:]):
82190         (-[WebVideoFullscreenHUDWindowController windowDidExpose:]):
82191         (-[WebVideoFullscreenHUDWindowController windowDidClose:]):
82192
82193         The following functions have had WKSI calls converted to WCSI ones:
82194         (createControlWithMediaUIControlType):
82195         (createTimeTextField):
82196         
82197         * platform/mac/WebWindowAnimation.h: Renamed from Source/WebKit/mac/WebView/WebWindowAnimation.h.
82198         * platform/mac/WebWindowAnimation.mm: Renamed from Source/WebKit/mac/WebView/WebWindowAnimation.m.
82199         (WebWindowAnimationDurationFromDuration):
82200
82201         The following functions have had WKSI calls converted to WCSI ones:
82202         (-[WebWindowScaleAnimation setCurrentProgress:]):
82203         (-[WebWindowFadeAnimation initWithDuration:window:initialAlpha:finalAlpha:]):
82204
82205 2011-06-20  Mark Pilgrim  <pilgrim@chromium.org>
82206
82207         Reviewed by Adam Barth.
82208
82209         Remove LegacyDefaultOptionalArguments flag from IDL files where it would not change behavior
82210         https://bugs.webkit.org/show_bug.cgi?id=62904
82211
82212         After bug 62750, there are many IDL files that contain the new
82213         LegacyDefaultOptionalArguments flag that don't actually need it.
82214         Some examples:
82215
82216             - the IDL file contains no functions
82217             - the IDL file contains only functions with no arguments
82218             - the IDL file contains functions, *all* of which use the
82219               [RequiresAllArguments=raise] extended attribute
82220
82221         This patch simplifies such IDL files by removing the
82222         LegacyDefaultOptionalArguments flag and (if needed) removing the
82223         [RequiresAllArguments=raise] extended attribute from each function
82224         declaration. This patch does not make any required arguments optional
82225         or any optional arguments required. It changes no behavior at all.
82226
82227         No new tests needed, all existing tests pass.
82228
82229         * bindings/scripts/CodeGeneratorJS.pm:
82230         * bindings/scripts/test/TestInterface.idl:
82231         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
82232         * css/CSSCharsetRule.idl:
82233         * css/CSSFontFaceRule.idl:
82234         * css/CSSImportRule.idl:
82235         * css/CSSPageRule.idl:
82236         * css/CSSRule.idl:
82237         * css/CSSStyleRule.idl:
82238         * css/CSSUnknownRule.idl:
82239         * css/CSSValue.idl:
82240         * css/Counter.idl:
82241         * css/RGBColor.idl:
82242         * css/Rect.idl:
82243         * css/StyleSheet.idl:
82244         * css/WebKitCSSKeyframeRule.idl:
82245         * css/WebKitCSSTransformValue.idl:
82246         * dom/Attr.idl:
82247         * dom/CDATASection.idl:
82248         * dom/ClientRect.idl:
82249         * dom/Comment.idl:
82250         * dom/DOMCoreException.idl:
82251         * dom/DOMStringMap.idl:
82252         * dom/DocumentType.idl:
82253         * dom/Entity.idl:
82254         * dom/EntityReference.idl:
82255         * dom/EventException.idl:
82256         * dom/GeneratedStream.idl:
82257         * dom/MessageChannel.idl:
82258         * dom/NodeIterator.idl:
82259         * dom/Notation.idl:
82260         * dom/ProcessingInstruction.idl:
82261         * dom/RangeException.idl:
82262         * dom/Touch.idl:
82263         * dom/TreeWalker.idl:
82264         * fileapi/DOMFileSystem.idl:
82265         * fileapi/DOMFileSystemSync.idl:
82266         * fileapi/DirectoryReaderSync.idl:
82267         * fileapi/File.idl:
82268         * fileapi/FileEntrySync.idl:
82269         * fileapi/FileError.idl:
82270         * fileapi/FileException.idl:
82271         * fileapi/Metadata.idl:
82272         * fileapi/OperationNotAllowedException.idl:
82273         * fileapi/WebKitFlags.idl:
82274         * html/DOMSettableTokenList.idl:
82275         * html/HTMLAppletElement.idl:
82276         * html/HTMLAreaElement.idl:
82277         * html/HTMLBRElement.idl:
82278         * html/HTMLBaseElement.idl:
82279         * html/HTMLBaseFontElement.idl:
82280         * html/HTMLBlockquoteElement.idl:
82281         * html/HTMLBodyElement.idl:
82282         * html/HTMLDListElement.idl:
82283         * html/HTMLDataListElement.idl:
82284         * html/HTMLDetailsElement.idl:
82285         * html/HTMLDirectoryElement.idl:
82286         * html/HTMLEmbedElement.idl:
82287         * html/HTMLFontElement.idl:
82288         * html/HTMLFormElement.idl:
82289         * html/HTMLFrameElement.idl:
82290         * html/HTMLFrameSetElement.idl:
82291         * html/HTMLHRElement.idl:
82292         * html/HTMLHeadElement.idl:
82293         * html/HTMLHeadingElement.idl:
82294         * html/HTMLHtmlElement.idl:
82295         * html/HTMLIFrameElement.idl:
82296         * html/HTMLImageElement.idl:
82297         * html/HTMLIsIndexElement.idl:
82298         * html/HTMLLIElement.idl:
82299         * html/HTMLLabelElement.idl:
82300         * html/HTMLLegendElement.idl:
82301         * html/HTMLLinkElement.idl:
82302         * html/HTMLMapElement.idl:
82303         * html/HTMLMarqueeElement.idl:
82304         * html/HTMLMenuElement.idl:
82305         * html/HTMLMetaElement.idl:
82306         * html/HTMLMeterElement.idl:
82307         * html/HTMLModElement.idl:
82308         * html/HTMLOListElement.idl:
82309         * html/HTMLOptGroupElement.idl:
82310         * html/HTMLOptionElement.idl:
82311         * html/HTMLParagraphElement.idl:
82312         * html/HTMLParamElement.idl:
82313         * html/HTMLPreElement.idl:
82314         * html/HTMLProgressElement.idl:
82315         * html/HTMLQuoteElement.idl:
82316         * html/HTMLScriptElement.idl:
82317         * html/HTMLSourceElement.idl:
82318         * html/HTMLStyleElement.idl:
82319         * html/HTMLTableCaptionElement.idl:
82320         * html/HTMLTableCellElement.idl:
82321         * html/HTMLTableColElement.idl:
82322         * html/HTMLTitleElement.idl:
82323         * html/HTMLTrackElement.idl:
82324         * html/HTMLUListElement.idl:
82325         * html/ImageData.idl:
82326         * html/MediaError.idl:
82327         * html/SpellcheckRange.idl:
82328         * html/TextMetrics.idl:
82329         * html/ValidityState.idl:
82330         * html/VoidCallback.idl:
82331         * html/canvas/ArrayBuffer.idl:
82332         * html/canvas/ArrayBufferView.idl:
82333         * html/canvas/CanvasPattern.idl:
82334         * html/canvas/CanvasPixelArray.idl:
82335         * html/canvas/CanvasRenderingContext.idl:
82336         * html/canvas/DataView.idl:
82337         * html/canvas/OESStandardDerivatives.idl:
82338         * html/canvas/OESTextureFloat.idl:
82339         * html/canvas/WebGLActiveInfo.idl:
82340         * html/canvas/WebGLBuffer.idl:
82341         * html/canvas/WebGLContextAttributes.idl:
82342         * html/canvas/WebGLFramebuffer.idl:
82343         * html/canvas/WebGLProgram.idl:
82344         * html/canvas/WebGLRenderbuffer.idl:
82345         * html/canvas/WebGLShader.idl:
82346         * html/canvas/WebGLTexture.idl:
82347         * html/canvas/WebGLUniformLocation.idl:
82348         * html/canvas/WebGLVertexArrayObjectOES.idl:
82349         * html/canvas/WebKitLoseContext.idl:
82350         * inspector/ScriptProfile.idl:
82351         * inspector/ScriptProfileNode.idl:
82352         * page/AbstractView.idl:
82353         * page/BarInfo.idl:
82354         * page/Coordinates.idl:
82355         * page/Geoposition.idl:
82356         * page/MemoryInfo.idl:
82357         * page/NavigatorUserMediaError.idl:
82358         * page/Performance.idl:
82359         * page/PerformanceNavigation.idl:
82360         * page/PerformanceTiming.idl:
82361         * page/PositionError.idl:
82362         * page/Screen.idl:
82363         * page/SpeechInputEvent.idl:
82364         * page/SpeechInputResult.idl:
82365         * page/WebKitAnimation.idl:
82366         * page/WebKitPoint.idl:
82367         * page/WorkerNavigator.idl:
82368         * plugins/DOMMimeType.idl:
82369         * storage/Database.idl:
82370         * storage/DatabaseSync.idl:
82371         * storage/IDBAny.idl:
82372         * storage/IDBCursorWithValue.idl:
82373         * storage/IDBDatabaseError.idl:
82374         * storage/IDBDatabaseException.idl:
82375         * storage/IDBKey.idl:
82376         * storage/IDBVersionChangeEvent.idl:
82377         * storage/IDBVersionChangeRequest.idl:
82378         * storage/SQLError.idl:
82379         * storage/SQLException.idl:
82380         * storage/SQLResultSet.idl:
82381         * svg/SVGAElement.idl:
82382         * svg/SVGAltGlyphElement.idl:
82383         * svg/SVGAngle.idl:
82384         * svg/SVGAnimateColorElement.idl:
82385         * svg/SVGAnimateElement.idl:
82386         * svg/SVGAnimateMotionElement.idl:
82387         * svg/SVGAnimateTransformElement.idl:
82388         * svg/SVGAnimatedAngle.idl:
82389         * svg/SVGAnimatedBoolean.idl:
82390         * svg/SVGAnimatedEnumeration.idl:
82391         * svg/SVGAnimatedInteger.idl:
82392         * svg/SVGAnimatedLength.idl:
82393         * svg/SVGAnimatedLengthList.idl:
82394         * svg/SVGAnimatedNumber.idl:
82395         * svg/SVGAnimatedNumberList.idl:
82396         * svg/SVGAnimatedPreserveAspectRatio.idl:
82397         * svg/SVGAnimatedRect.idl:
82398         * svg/SVGAnimatedString.idl:
82399         * svg/SVGAnimatedTransformList.idl:
82400         * svg/SVGCircleElement.idl:
82401         * svg/SVGClipPathElement.idl:
82402         * svg/SVGColor.idl:
82403         * svg/SVGComponentTransferFunctionElement.idl:
82404         * svg/SVGCursorElement.idl:
82405         * svg/SVGDefsElement.idl:
82406         * svg/SVGDescElement.idl:
82407         * svg/SVGElement.idl:
82408         * svg/SVGEllipseElement.idl:
82409         * svg/SVGExternalResourcesRequired.idl:
82410         * svg/SVGFEBlendElement.idl:
82411         * svg/SVGFEColorMatrixElement.idl:
82412         * svg/SVGFEComponentTransferElement.idl:
82413         * svg/SVGFECompositeElement.idl:
82414         * svg/SVGFEConvolveMatrixElement.idl:
82415         * svg/SVGFEDiffuseLightingElement.idl:
82416         * svg/SVGFEDisplacementMapElement.idl:
82417         * svg/SVGFEDistantLightElement.idl:
82418         * svg/SVGFEFloodElement.idl:
82419         * svg/SVGFEFuncAElement.idl:
82420         * svg/SVGFEFuncBElement.idl:
82421         * svg/SVGFEFuncGElement.idl:
82422         * svg/SVGFEFuncRElement.idl:
82423         * svg/SVGFEImageElement.idl:
82424         * svg/SVGFEMergeElement.idl:
82425         * svg/SVGFEMergeNodeElement.idl:
82426         * svg/SVGFEOffsetElement.idl:
82427         * svg/SVGFEPointLightElement.idl:
82428         * svg/SVGFESpecularLightingElement.idl:
82429         * svg/SVGFESpotLightElement.idl:
82430         * svg/SVGFETileElement.idl:
82431         * svg/SVGFETurbulenceElement.idl:
82432         * svg/SVGFilterPrimitiveStandardAttributes.idl:
82433         * svg/SVGFitToViewBox.idl:
82434         * svg/SVGFontElement.idl:
82435         * svg/SVGFontFaceElement.idl:
82436         * svg/SVGFontFaceFormatElement.idl:
82437         * svg/SVGFontFaceNameElement.idl:
82438         * svg/SVGFontFaceSrcElement.idl:
82439         * svg/SVGFontFaceUriElement.idl:
82440         * svg/SVGForeignObjectElement.idl:
82441         * svg/SVGGElement.idl:
82442         * svg/SVGGlyphElement.idl:
82443         * svg/SVGGradientElement.idl:
82444         * svg/SVGHKernElement.idl:
82445         * svg/SVGImageElement.idl:
82446         * svg/SVGLangSpace.idl:
82447         * svg/SVGLength.idl:
82448         * svg/SVGLengthList.idl:
82449         * svg/SVGLineElement.idl:
82450         * svg/SVGLinearGradientElement.idl:
82451         * svg/SVGMPathElement.idl:
82452         * svg/SVGMaskElement.idl:
82453         * svg/SVGMatrix.idl:
82454         * svg/SVGMetadataElement.idl:
82455         * svg/SVGMissingGlyphElement.idl:
82456         * svg/SVGNumber.idl:
82457         * svg/SVGNumberList.idl:
82458         * svg/SVGPaint.idl:
82459         * svg/SVGPathSeg.idl:
82460         * svg/SVGPathSegArcAbs.idl:
82461         * svg/SVGPathSegArcRel.idl:
82462         * svg/SVGPathSegClosePath.idl:
82463         * svg/SVGPathSegCurvetoCubicAbs.idl:
82464         * svg/SVGPathSegCurvetoCubicRel.idl:
82465         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
82466         * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
82467         * svg/SVGPathSegCurvetoQuadraticAbs.idl:
82468         * svg/SVGPathSegCurvetoQuadraticRel.idl:
82469         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
82470         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
82471         * svg/SVGPathSegLinetoAbs.idl:
82472         * svg/SVGPathSegLinetoHorizontalAbs.idl:
82473         * svg/SVGPathSegLinetoHorizontalRel.idl:
82474         * svg/SVGPathSegLinetoRel.idl:
82475         * svg/SVGPathSegLinetoVerticalAbs.idl:
82476         * svg/SVGPathSegLinetoVerticalRel.idl:
82477         * svg/SVGPathSegList.idl:
82478         * svg/SVGPathSegMovetoAbs.idl:
82479         * svg/SVGPathSegMovetoRel.idl:
82480         * svg/SVGPatternElement.idl:
82481         * svg/SVGPoint.idl:
82482         * svg/SVGPointList.idl:
82483         * svg/SVGPolygonElement.idl:
82484         * svg/SVGPolylineElement.idl:
82485         * svg/SVGPreserveAspectRatio.idl:
82486         * svg/SVGRadialGradientElement.idl:
82487         * svg/SVGRect.idl:
82488         * svg/SVGRectElement.idl:
82489         * svg/SVGRenderingIntent.idl:
82490         * svg/SVGScriptElement.idl:
82491         * svg/SVGSetElement.idl:
82492         * svg/SVGStopElement.idl:
82493         * svg/SVGStringList.idl:
82494         * svg/SVGSwitchElement.idl:
82495         * svg/SVGSymbolElement.idl:
82496         * svg/SVGTRefElement.idl:
82497         * svg/SVGTSpanElement.idl:
82498         * svg/SVGTextElement.idl:
82499         * svg/SVGTextPathElement.idl:
82500         * svg/SVGTextPositioningElement.idl:
82501         * svg/SVGTitleElement.idl:
82502         * svg/SVGTransform.idl:
82503         * svg/SVGTransformList.idl:
82504         * svg/SVGTransformable.idl:
82505         * svg/SVGURIReference.idl:
82506         * svg/SVGUnitTypes.idl:
82507         * svg/SVGUseElement.idl:
82508         * svg/SVGVKernElement.idl:
82509         * svg/SVGViewElement.idl:
82510         * svg/SVGViewSpec.idl:
82511         * svg/SVGZoomAndPan.idl:
82512         * svg/SVGZoomEvent.idl:
82513         * testing/Internals.idl:
82514         * webaudio/AudioChannelMerger.idl:
82515         * webaudio/AudioChannelSplitter.idl:
82516         * webaudio/AudioDestinationNode.idl:
82517         * webaudio/AudioGain.idl:
82518         * webaudio/AudioGainNode.idl:
82519         * webaudio/AudioProcessingEvent.idl:
82520         * webaudio/AudioSourceNode.idl:
82521         * webaudio/BiquadFilterNode.idl:
82522         * webaudio/ConvolverNode.idl:
82523         * webaudio/DelayNode.idl:
82524         * webaudio/DynamicsCompressorNode.idl:
82525         * webaudio/HighPass2FilterNode.idl:
82526         * webaudio/JavaScriptAudioNode.idl:
82527         * webaudio/LowPass2FilterNode.idl:
82528         * webaudio/OfflineAudioCompletionEvent.idl:
82529         * workers/SharedWorker.idl:
82530         * workers/SharedWorkerContext.idl:
82531         * workers/WorkerLocation.idl:
82532         * xml/XMLHttpRequestException.idl:
82533         * xml/XMLHttpRequestProgressEvent.idl:
82534         * xml/XPathException.idl:
82535
82536 2011-06-20  Alex Milowski  <alex@milowski.com>
82537
82538         Reviewed by Darin Adler.
82539
82540         A change to mark wrapping blocks created by the renderer as anonymous to fix the crash for:
82541         https://bugs.webkit.org/show_bug.cgi?id=57901
82542
82543         * rendering/mathml/RenderMathMLUnderOver.cpp:
82544         (WebCore::RenderMathMLUnderOver::addChild):
82545         (WebCore::RenderMathMLUnderOver::nonOperatorHeight):
82546
82547 2011-06-20  Eric Seidel  <eric@webkit.org>
82548
82549         Reviewed by Adam Barth.
82550
82551         buildbots should run run-bindings-tests
82552         https://bugs.webkit.org/show_bug.cgi?id=63001
82553
82554         The test results were out of date, so I'm updating them.
82555         (This is exactly the problem that making the buildbots run them will solve.)
82556
82557         * bindings/scripts/test/JS/JSTestObj.cpp:
82558         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
82559         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
82560         * bindings/scripts/test/V8/V8TestCallback.cpp:
82561         (WebCore::V8TestCallback::callbackWithStringList):
82562         * bindings/scripts/test/V8/V8TestCallback.h:
82563         * bindings/scripts/test/V8/V8TestInterface.cpp:
82564         (WebCore::V8TestInterface::GetRawTemplate):
82565         (WebCore::V8TestInterface::GetTemplate):
82566         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
82567         (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
82568         (WebCore::V8TestMediaQueryListListener::GetTemplate):
82569         * bindings/scripts/test/V8/V8TestObj.cpp:
82570         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
82571         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
82572         (WebCore::V8TestObj::GetRawTemplate):
82573         (WebCore::V8TestObj::GetTemplate):
82574         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
82575         (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
82576         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
82577
82578 2011-06-20  Cary Clark  <caryclark@google.com>
82579
82580         Reviewed by Eric Seidel.
82581
82582         Add Font interface to support Skia on Mac Chrome port
82583         https://bugs.webkit.org/show_bug.cgi?id=62889
82584
82585         No new tests. This combination (using Skia as the
82586         WebCore renderer on Chrome for Mac) is not yet
82587         enabled, so adding this file has no functional
82588         change. The corresponding changes to the gyp files
82589         exclude FontSkia for all current builds.
82590
82591         * WebCore.gyp/WebCore.gyp:
82592         Exclude FontSkia for all non-mac builds. An existing
82593         rule excludes *Skia for mac builds.
82594
82595         * WebCore.gypi:
82596         Add FontSkia to the list of files.
82597
82598         * platform/graphics/skia/FontSkia.cpp: Added.
82599         (WebCore::Font::canReturnFallbackFontsForComplexText):
82600         (WebCore::Font::canExpandAroundIdeographsInComplexText):
82601         (WebCore::isCanvasMultiLayered):
82602         (WebCore::adjustTextRenderMode):
82603         (WebCore::setupPaint):
82604         (WebCore::Font::drawGlyphs):
82605         These functions are similar to their counterparts in
82606         platform/graphics/chromium/FontLinux.cpp.
82607         The differences are: 
82608         The setupPaint uses CTFont instead of FreeType.
82609         The width/height font metrics have different accessors.
82610         Harfbuzz is not needed in the Mac port. 
82611
82612 2011-06-20  Andras Becsi  <abecsi@webkit.org>
82613
82614         Reviewed by Csaba Osztrogonác.
82615
82616         make-hash-tools.pl: Perl 5.14 compatibility
82617         https://bugs.webkit.org/show_bug.cgi?id=61890
82618
82619         No new tests needed.
82620
82621         * make-hash-tools.pl: Use if/elsif instead of switch/case.
82622
82623 2011-06-20  Kevin Ollivier  <kevino@theolliviers.com>
82624
82625         [wx] Unreviewed build fix, fix the codepaths run under each CPU type.
82626
82627         * platform/image-decoders/wx/ImageDecoderWx.cpp:
82628         (WebCore::ImageFrame::asNewNativeImage):
82629
82630 2011-06-20  Ryosuke Niwa  <rniwa@webkit.org>
82631
82632         Reviewed by Ojan Vafai.
82633
82634         FrameSelection::modify should take verticalDisplacement instead of verticalDistance
82635         https://bugs.webkit.org/show_bug.cgi?id=62932
82636
82637         Added new VerticalDirection enum to the argument list of FrameSelection::modify that takes
82638         verticalDistance.  Also changed the type of verticalDistance from int to unsigned int
82639         to accidentally pass a negative distance in the future.
82640
82641         * editing/EditorCommand.cpp:
82642         (WebCore::verticalScrollDistance): Returns unsigned int instead of int.
82643         (WebCore::executeMovePageDown): Calls FrameSelection::modify.
82644         (WebCore::executeMovePageDownAndModifySelection): Ditto.
82645         (WebCore::executeMovePageUp): Ditto.
82646         (WebCore::executeMovePageUpAndModifySelection): Ditto.
82647         * editing/FrameSelection.cpp:
82648         (WebCore::FrameSelection::modify): Takes VerticalDirection as an argument.
82649         * editing/FrameSelection.h:
82650
82651 2011-06-20  Anders Carlsson  <andersca@apple.com>
82652
82653         Reviewed by Adam Barth.
82654
82655         Don't use PassRefPtr variables in the V8 bindings generator
82656         https://bugs.webkit.org/show_bug.cgi?id=62947
82657
82658         * bindings/scripts/CodeGeneratorV8.pm:
82659
82660 2011-06-20  Adam Barth  <abarth@webkit.org>
82661
82662         Reviewed by Alexey Proskuryakov.
82663
82664         ASSERT in WebCore::HTMLToken::appendToAttributeName when visiting www.nba.com
82665         https://bugs.webkit.org/show_bug.cgi?id=61774
82666
82667         This ASSERT triggers for the same underlying issue that causes
82668         Bug 62971: When we tokenize a </script> tag, we don't realize that
82669         we've already consumed the "</script>" from the input stream when we
82670         extracted the previous token.  That causes the source tracker to be
82671         out-of-sync, triggering the incorrect view-source highlighting and this
82672         ASSERT.
82673
82674         For now, let's just silence the assert while we work on Bug 62971.
82675
82676         Test: fast/parser/attributes-on-close-script.html
82677
82678         * html/parser/HTMLToken.h:
82679         (WebCore::HTMLToken::appendToAttributeName):
82680         (WebCore::AtomicHTMLToken::initializeAttributes):
82681
82682 2011-06-20  Andras Becsi  <abecsi@webkit.org>
82683
82684         Unreviewed build fix.
82685
82686         [Qt][V8] Include missing UnusedParam.h.
82687
82688         No new tests needed.
82689
82690         * rendering/svg/SVGTextLayoutEngineSpacing.cpp:
82691
82692 2011-06-20  Andras Becsi  <abecsi@webkit.org>
82693
82694         Rubber-stamped by Csaba Osztrogonác.
82695
82696         [Qt][V8] Remove non-existing headers from project file.
82697
82698         No new tests needed.
82699
82700         * WebCore.pro: Remove ChildThreadDOMData.h and MainThreadDOMData.h,
82701         since they have been already removed earlier from tree.
82702
82703 2011-06-20  Carlos Garcia Campos  <cgarcia@igalia.com>
82704
82705         Reviewed by Xan Lopez.
82706
82707         [GTK] Split libWebCore into two libWebCore and libWebCoreGtk
82708         https://bugs.webkit.org/show_bug.cgi?id=60539
82709
82710         libWebCore contains all the webcore files except the ones actually
82711         using gtk while libWebCoreGtk contains only the files using
82712         gtk. It allows us to build a common WebCore lib and two different
82713         gtk WebCore libs depending on the gtk version. In WeKit2 gtk2 is
82714         not supported, but the plugin process needs to be built using gtk2
82715         because plugins like flash still use gtk2. For WebKit2, we build
82716         the common libWebCore and two libWebCoreGtk, one using gtk3 and
82717         the other one using gtk2.
82718
82719         * GNUmakefile.am:
82720         * GNUmakefile.list.am:
82721
82722 2011-06-20  Mike Reed  <reed@google.com>
82723
82724         Reviewed by Stephen White.
82725
82726         [Skia] remove repeated calls to setColor, which ignored global-alpha (previous setupPaintFor... already set the color+alpha)
82727         https://bugs.webkit.org/show_bug.cgi?id=62988
82728
82729         No new tests. removing redundant calls
82730
82731         * platform/graphics/chromium/FontLinux.cpp:
82732         (WebCore::Font::drawGlyphs):
82733
82734 2011-06-19  Martin Robinson  <mrobinson@igalia.com>
82735
82736         Reviewed by Xan Lopez.
82737
82738         [GTK] ASSERTION FAILED: it != gFontDataCache->end() in FontCache.cpp:318
82739         https://bugs.webkit.org/show_bug.cgi?id=62942
82740
82741         Fix the == operator overload of the FreeType FontPlatformData to properly make the
82742         distinction between the hash table deleted value and the hash table empty value.
82743
82744         No new tests. This is covered by existing tests, which should no longer
82745         hit assertions.
82746
82747         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
82748         (WebCore::FontPlatformData::operator==): Reorder the logic for determining if two
82749         FontPlatformData instances are equal. Do a pointer comparison on the Fontconfig patterns,
82750         instead of using FcPatternEqual. If the two Fontconfig patterns have different pointers
82751         they were created at different times and the overload should return false.
82752
82753 2011-06-20  Ilya Tikhonovsky  <loislo@chromium.org>
82754
82755         Reviewed by Yury Semikhatsky.
82756
82757         Web Inspector: It would be useful to be able to pause on element's style change.
82758         https://bugs.webkit.org/show_bug.cgi?id=62982
82759
82760         Current workaround is to use mutation events but it's awkward and doesn't
82761         compare _usability-wise_ to what could be implemented as native support in web inspector.
82762         In complex applications, being able to see which code causes element to change its style is indispensable.
82763
82764         * inspector/InspectorDOMDebuggerAgent.cpp:
82765         (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
82766         * inspector/InspectorDOMDebuggerAgent.h:
82767         * inspector/InspectorInstrumentation.cpp:
82768         (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
82769
82770 2011-06-19  Mads Ager  <ager@chromium.org>
82771
82772         Reviewed by Adam Barth.
82773
82774         [V8] Fix WebGL bindings for subarrays
82775         https://bugs.webkit.org/show_bug.cgi?id=62864
82776
82777         Mark WebGL subarrays as independent of other DOM objects in the
82778         V8 bindings. This allows us to clean them up independently which
82779         greatly improves performance.
82780
82781         * bindings/v8/V8Proxy.h:
82782         (WebCore::toV8Independent):
82783         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
82784         (WebCore::constructWebGLArrayWithArrayBufferArgument):
82785         (WebCore::constructWebGLArray):
82786
82787 2011-06-20  Yuta Kitamura  <yutak@chromium.org>
82788
82789         Unreviewed build fix for Chromium Clang builders.
82790
82791         * platform/graphics/FontFallbackList.h: Declare SVGTextRunRenderingContext as class, not struct.
82792
82793 2011-06-20  MORITA Hajime <morrita@google.com>
82794
82795         Unreviewed GTK build fix.
82796         This change touched the file to make the build happen.
82797
82798         * dom/EventTarget.cpp:
82799
82800 2011-06-20  Nikolas Zimmermann  <nzimmermann@rim.com>
82801
82802         Reviewed by Rob Buis.
82803
82804         Integrate SVG Fonts within GlyphPage concept, removing the special SVG code paths from Font, making it possible to reuse the simple text code path for SVG Fonts
82805         https://bugs.webkit.org/show_bug.cgi?id=59085
82806
82807         font substitution doesn't work for HTML text using SVG fonts
82808         https://bugs.webkit.org/show_bug.cgi?id=17608
82809
82810         Selection rects are wrong for text with SVG fonts
82811         https://bugs.webkit.org/show_bug.cgi?id=25460
82812
82813         With @font-face, SVG fonts only work as primary, non-segmented
82814         https://bugs.webkit.org/show_bug.cgi?id=32227
82815
82816         When using SVG fonts with @font-face word-spacing and text-align: justify are not being honored
82817         https://bugs.webkit.org/show_bug.cgi?id=34236
82818
82819         SVG @font-face breaks text-overflow: ellipsis
82820         https://bugs.webkit.org/show_bug.cgi?id=36840
82821
82822         REGRESSION: SVG Font selection problems
82823         https://bugs.webkit.org/show_bug.cgi?id=41934
82824
82825         Tests: svg/custom/svg-fonts-fallback.xhtml (for bug 17608, extended the original test from Mark Ambachtsheer)
82826                svg/custom/svg-fonts-segmented.xhtml (for bug 32227)
82827                svg/custom/svg-fonts-word-spacing.html (for bug 34236, from Michael Lewis)
82828                svg/text/select-text-svgfont.html (for bug 25460/41934, from Emil Schutte)
82829                svg/text/text-overflow-ellipsis-svgfont.html (for 36840, from Emil Schutte)
82830
82831         Rewrite the SVG Fonts support to fully integrate within the GlyphPage concept and the "simple" code path used to render platform fonts.
82832         That means the special logic for measuring text using SVG Fonts, calculating offset for positions, computing selection rects etc. is all gone now.
82833         There's no difference anymore between using a native font or a SVG Font, in terms of these operations.
82834
82835         This makes text selection using SVG Fonts possible again.
82836
82837         * features.pri: Temporarily turn of SVG Fonts for Qt, as long as QRawFont support is not available and the fast path is disabled.
82838         * page/DOMWindow.idl: Touched file to force Qt regenerating the bindings.
82839         * platform/graphics/Font.cpp: Remove SVG Font special cases, the simple code path now handles SVG Fonts as well.
82840         (WebCore::Font::drawText):
82841         (WebCore::Font::drawEmphasisMarks):
82842         (WebCore::Font::width):
82843         (WebCore::Font::selectionRectForText):
82844         (WebCore::Font::offsetForPosition):
82845         (WebCore::Font::codePath):
82846         * platform/graphics/Font.h: Pass TextRun to drawGlyphBuffer/drawEmphasisMarks. Add new glyphDataAndPageForCharacter() method which returns a pair
82847                                     std::pair<GlyphData, GlyphPage*>, so we know the associated GlyphPage for a certain GlyphData object, which is needed to properly
82848                                     handle font fallback glyph matching for SVG Fonts..
82849         (WebCore::Font::fontList): Add FontFallbackList accessor.
82850         * platform/graphics/FontFallbackList.h: Add getters/setters for glyphPageZero -- SVG Fonts support needs access to these objects from SVGTextRunRenderingContext.
82851         (WebCore::FontFallbackList::glyphPageZero):
82852         (WebCore::FontFallbackList::glyphPages):
82853         (WebCore::FontFallbackList::setGlyphPageZero):
82854         (WebCore::FontFallbackList::setGlyphPages):
82855         * platform/graphics/FontFastPath.cpp:
82856         (WebCore::Font::glyphDataForCharacter): Move implementation to glyphDataAndPageForCharacter(), and use that method from here.
82857         (WebCore::Font::glyphDataAndPageForCharacter): Does the same as before, just returns an additional GlyphPage* pointer.
82858         (WebCore::Font::getEmphasisMarkGlyphData): Remove SVG Fonts special case.
82859         (WebCore::Font::drawGlyphBuffer): Ditto.
82860         * platform/graphics/FontMetrics.h:
82861         (WebCore::scaleEmToUnits): Refactored scaleEmToUnits free function from SimpleFontDataMac/CGWin to share with SVGFontData/SVGTextRunRenderingContext.
82862         * platform/graphics/GlyphPageTreeNode.cpp:
82863         (WebCore::fill): Stop skipping SVG Fonts, they now also fill the GlyphPage using the glyphs defined in the SVG Font.
82864         * platform/graphics/SVGGlyph.h: s/isValid/isPartOfLigature/. Its usage has been changed.
82865         (WebCore::SVGGlyph::SVGGlyph):
82866         (WebCore::SVGGlyph::operator==):
82867         * platform/graphics/SimpleFontData.cpp: Change font size to be a float, not an int.
82868         (WebCore::SimpleFontData::SimpleFontData):
82869         * platform/graphics/SimpleFontData.h: Add new pure virtual methods to the AdditionalFontData interface, to be implemented in SVGFontData.
82870         (WebCore::SimpleFontData::widthForGlyph): Call widthForSVGGlyph, if we encounter a SVG glyph.
82871         * platform/graphics/TextRun.h: 
82872         * platform/graphics/WidthIterator.cpp:
82873         (WebCore::WidthIterator::glyphDataForCharacter):
82874         (WebCore::WidthIterator::advance):
82875         * platform/graphics/WidthIterator.h: Store several new members needed for SVG Fonts support (last processed glyph name used for kerning pair lookup)
82876                                              and a map mapping each character of a text to its arabic-form (if needed, to perform SVG glyph selection for Arabic text).
82877         (WebCore::WidthIterator::run):
82878         (WebCore::WidthIterator::runWidthSoFar):
82879         (WebCore::WidthIterator::lastGlyphName):
82880         (WebCore::WidthIterator::setLastGlyphName):
82881         (WebCore::WidthIterator::arabicForms):
82882         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Use new scaleEmToUnits free function from FontMetrics.h.
82883         * platform/graphics/mac/SimpleFontDataMac.mm: Ditto.
82884         * platform/graphics/win/SimpleFontDataCGWin.cpp: Ditto.
82885         * rendering/svg/SVGTextMetrics.cpp:
82886         (WebCore::SVGTextMetrics::SVGTextMetrics):
82887         (WebCore::constructTextRun):
82888         (WebCore::SVGTextMetrics::measureCharacterRange):
82889         * rendering/svg/SVGTextMetrics.h:
82890         * rendering/svg/SVGTextRunRenderingContext.cpp: Remove drawTextUsingSVGFont/floatWidthUsingSVGFont/selectionRectForTextUsingSVGFont/offsetForPositionForTextUsingSVGFont.
82891         (WebCore::firstParentRendererForNonTextNode): Don't assert node() exists, doesn't hold true for generated render objects.
82892         (WebCore::renderObjectFromRun): Renamed from referencingRenderObjectFromRun.
82893         (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont): Remove extra "extraCharsAvailable" parameter, now solves via TextRun::charactersLength().
82894         (WebCore::calculateEmUnitToPixelScaleFactor): Add helper method.
82895         (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs): Main drawing method, this actually creates/renders Paths.
82896         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Part 1/2 of SVG Glyph selection code.
82897         * rendering/svg/SVGTextRunRenderingContext.h:
82898         * svg/SVGAltGlyphElement.cpp:
82899         (WebCore::SVGAltGlyphElement::hasValidGlyphElement):
82900         * svg/SVGAltGlyphElement.h:
82901         * svg/SVGFontData.cpp:
82902         (WebCore::calculateEmUnitToPixelScaleFactor): Add helper method.
82903         (WebCore::SVGFontData::initializeFontData): Changed font size from int to float.
82904         (WebCore::SVGFontData::widthForSVGGlyph): Lookup a SVGGlyph from a Glyph using the glyph table in SVGFontElement and calculate its width.
82905         (WebCore::SVGFontData::applySVGGlyphSelection): Part 2/2 of SVG Glyph selection code.
82906         (WebCore::SVGFontData::fillSVGGlyphPage): Fill GlyphPage using glyphs defined in the SVG Font.
82907         * svg/SVGFontData.h:
82908         * svg/SVGFontElement.cpp:
82909         (WebCore::SVGFontElement::registerLigaturesInGlyphCache): Enable ligature registration for the use within GlyphPage.
82910         (WebCore::SVGFontElement::ensureGlyphCache):
82911         * svg/SVGGlyphMap.h:
82912         (WebCore::SVGGlyphMap::addGlyphByUnicodeString): Remove setting isValid, it's not needed anymore and gone.
82913         * svg/svgtags.in: Surround vkern in ENABLE_SVG_FONTS block.
82914
82915 2011-06-19  MORITA Hajime  <morrita@google.com>
82916
82917         Reviewed by Dimitri Glazkov.
82918
82919         The internals object should have createShadowContentElement()
82920         https://bugs.webkit.org/show_bug.cgi?id=62432
82921
82922         This change:
82923         - added Internals::createShadowContentElement(), which creates,
82924           ShadowContentElement instance which includes all host children,
82925         - added Internals::elementRenderTreeAsText() to help content layout testing, and
82926         - Unabstracted ShadowContentElement by giving a default shouldInclude() implementation.
82927         
82928         Test: fast/dom/shadow/create-content-element.html
82929
82930         * WebCore.exp.in:
82931         * dom/ShadowContentElement.cpp:
82932         (WebCore::ShadowContentElement::create): Added.
82933         (WebCore::ShadowContentElement::ShadowContentElement):
82934         (WebCore::ShadowContentElement::~ShadowContentElement):
82935         (WebCore::ShadowContentElement::shouldInclude): Gave a default implementation which always returns true.
82936         * dom/ShadowContentElement.h:
82937         * html/HTMLSummaryElement.cpp:
82938         (WebCore::SummaryContentElement::SummaryContentElement):
82939         * rendering/RenderTreeAsText.cpp:
82940         (WebCore::externalRepresentation): Factored out for supportin per-element render tree dump.
82941         * rendering/RenderTreeAsText.h:
82942         * testing/Internals.cpp:
82943         (WebCore::Internals::createShadowContentElement): Added.
82944         (WebCore::Internals::elementRenderTreeAsText): dded.
82945         * testing/Internals.h:
82946         * testing/Internals.idl:
82947
82948 2011-06-19  Keishi Hattori  <keishi@webkit.org>
82949
82950         Reviewed by Kent Tamura.
82951
82952         Clicking indeterminate checkbox should flip checkedness state
82953         https://bugs.webkit.org/show_bug.cgi?id=62262
82954
82955         Test: fast/forms/checkbox-click-indeterminate.html
82956
82957         * html/CheckboxInputType.cpp:
82958         (WebCore::CheckboxInputType::willDispatchClick): Changed to flip checked flag when indeterminate.
82959
82960 2011-06-19  Adam Bergkvist  <adam.bergkvist@ericsson.com>
82961
82962         Reviewed by Martin Robinson.
82963
82964         [GTK] Enable Media Stream feature and make it default on
82965         https://bugs.webkit.org/show_bug.cgi?id=60394
82966
82967         * GNUmakefile.am:
82968
82969 2011-06-19  Una Sabovic  <una.sabovic@palm.com>
82970
82971         Reviewed by Darin Adler.
82972
82973         Optimization: avoid call to clearRect() when bgColor is valid when painting the root background in RenderBoxModelObject::paintFillLayerExtended
82974         https://bugs.webkit.org/show_bug.cgi?id=62908
82975
82976         When root layers base color is fully transparent backgroundRect was cleared before bgColor is applied.
82977         Instead of clearing the rect we apply CompositeCopy operation when painting the background color.
82978
82979         No new tests. This is an optimization, it doesn't change any existing functionality.
82980
82981         * platform/graphics/GraphicsContext.cpp:
82982         (WebCore::GraphicsContext::fillRect):
82983         * platform/graphics/GraphicsContext.h:
82984         * rendering/RenderBoxModelObject.cpp:
82985         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
82986
82987 2011-06-19  Dirk Schulze  <krit@webkit.org>
82988
82989         Reviewed by Nikolas Zimmermann.
82990
82991         SVGAnimatorFactory does not support SVGNumber
82992         https://bugs.webkit.org/show_bug.cgi?id=62938
82993
82994         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
82995         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGNumber. With the new animator for the
82996         With the new animator for SVGNumber we also support the scientific notation, and everything else that's supported by
82997         the SVGNumber parsing, removing the SVGAnimate* specific number parsing functionality.
82998
82999         Moving the content of SVGAnimatedType header into its own cpp.
83000         
83001         Changed behavior of parseNumberFromString(). It checks if the String simply consits of a number now. parseNumberFromString()
83002         is using genericParseNumber() for parsing numbers. But this method just stops at the first char that does not belong to a number and
83003         returns true. I added a check if the current char pointer is at the last char of the String and return false if not.
83004
83005         Tests: svg/animations/svgnumber-animation-1.html
83006                svg/animations/svgnumber-animation-2.html
83007                svg/animations/svgnumber-animation-3.html
83008
83009         * CMakeLists.txt: Added new files to build system.
83010         * GNUmakefile.list.am: Ditto.
83011         * WebCore.gypi: Ditto.
83012         * WebCore.pro: Ditto.
83013         * WebCore.xcodeproj/project.pbxproj: Ditto.
83014         * svg/SVGAllInOne.cpp: Ditto.
83015         * svg/SVGAnimateElement.cpp: Use SVGAnimatedNumberAnimator for animations of SVGNumbers.
83016         (WebCore::SVGAnimateElement::SVGAnimateElement):
83017         (WebCore::SVGAnimateElement::calculateAnimatedValue):
83018         (WebCore::SVGAnimateElement::calculateFromAndToValues):
83019         (WebCore::SVGAnimateElement::calculateFromAndByValues):
83020         (WebCore::SVGAnimateElement::resetToBaseValue):
83021         (WebCore::SVGAnimateElement::applyResultsToTarget):
83022         (WebCore::SVGAnimateElement::calculateDistance):
83023         * svg/SVGAnimateElement.h: Remove floats for value storage. This is done by SVGAnimatedTypes now.
83024         * svg/SVGAnimatedNumber.cpp: Added. Animator for SVGNumbers.
83025         (WebCore::SVGAnimatedNumberAnimator::SVGAnimatedNumberAnimator):
83026         (WebCore::SVGAnimatedNumberAnimator::constructFromString):
83027         (WebCore::SVGAnimatedNumberAnimator::calculateFromAndToValues):
83028         (WebCore::SVGAnimatedNumberAnimator::calculateFromAndByValues):
83029         (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
83030         (WebCore::SVGAnimatedNumberAnimator::calculateDistance):
83031         * svg/SVGAnimatedNumber.h:
83032         (WebCore::SVGAnimatedNumberAnimator::~SVGAnimatedNumberAnimator):
83033         * svg/SVGAnimatedType.cpp: Added. Moved content from header to cpp.
83034         (WebCore::SVGAnimatedType::SVGAnimatedType):
83035         (WebCore::SVGAnimatedType::~SVGAnimatedType):
83036         (WebCore::SVGAnimatedType::createAngle):
83037         (WebCore::SVGAnimatedType::createLength):
83038         (WebCore::SVGAnimatedType::createNumber):
83039         (WebCore::SVGAnimatedType::angle):
83040         (WebCore::SVGAnimatedType::length):
83041         (WebCore::SVGAnimatedType::number):
83042         (WebCore::SVGAnimatedType::valueAsString):
83043         (WebCore::SVGAnimatedType::setValueAsString):
83044         * svg/SVGAnimatedType.h: Removed method create(). Allways call type specific create funtcions.
83045         * svg/SVGAnimatorFactory.h:
83046         (WebCore::SVGAnimatorFactory::create):
83047         * svg/SVGParserUtilities.cpp:
83048         (WebCore::parseNumberFromString): Check if String simply consits of a number. Return false otherwise.
83049
83050 2011-06-18  Dimitri Glazkov  <dglazkov@chromium.org>
83051
83052         Reviewed by Darin Adler.
83053
83054         Separate concerns of loading file icons and choosing files.
83055         https://bugs.webkit.org/show_bug.cgi?id=62931
83056
83057         Loading an icon and choosing files have similar async nature, but completely different
83058         lifetimes: FileChooser should only exist when we are actually attempting to choose a file,
83059         not anytime we need to render an input with a proper icon.
83060
83061         This patch introduces FileIconLoader, a separate abstraction for loading an icon, and removes
83062         any notion of an icon from the FileChooser.
83063
83064         Also, the loaded icon is now stored on the RenderFileUploadControl, which better matches its
83065         purpose.
83066
83067         Refactoring, covered by existing tests.
83068
83069         * CMakeLists.txt: Added FileIconLoader to build system.
83070         * GNUmakefile.list.am: Ditto.
83071         * WebCore.exp.in: Updated.
83072         * WebCore.gypi: Added FileIconLoader to build system.
83073         * WebCore.pro: Ditto.
83074         * WebCore.vcproj/WebCore.vcproj: Ditto.
83075         * WebCore.xcodeproj/project.pbxproj: Ditto.
83076         * loader/EmptyClients.h: Updated.
83077         (WebCore::EmptyChromeClient::loadIconForFiles): Renamed function to better reflect what it does.
83078         * page/Chrome.cpp:
83079         (WebCore::Chrome::loadIconForFiles): Ditto.
83080         * page/Chrome.h: Ditto.
83081         * page/ChromeClient.h: Ditto.
83082         * platform/FileChooser.cpp:
83083         (WebCore::FileChooser::FileChooser): Removed now-unnecessary bool.
83084         (WebCore::FileChooser::create): Removed the tangled web.
83085         (WebCore::FileChooser::clear): Removed icon-related code.
83086         (WebCore::FileChooser::chooseFiles): Ditto.
83087         * platform/FileChooser.h:
83088         * platform/FileIconLoader.cpp: Copied from Source/WebCore/platform/FileChooser.cpp.
83089         (WebCore::FileIconLoaderClient::~FileIconLoaderClient): Added.
83090         (WebCore::FileIconLoader::create): Added.
83091         (WebCore::FileIconLoader::disconnectClient): Added.
83092         (WebCore::FileIconLoader::notifyFinished): Added.
83093         (WebCore::FileIconLoader::FileIconLoader): Added.
83094         * platform/FileIconLoader.h: Copied from Source/WebCore/platform/FileChooser.cpp.
83095         * rendering/RenderFileUploadControl.cpp:
83096         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Added new member initializations.
83097         (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Added FileIconLoader disconnect.s
83098         (WebCore::RenderFileUploadControl::requestIcon): Added a helper.
83099         (WebCore::RenderFileUploadControl::valueChanged): Changed to request an icon load.
83100         (WebCore::RenderFileUploadControl::updateRendering): Added implementation of FileIconLoaderClient func.
83101         (WebCore::RenderFileUploadControl::updateFromElement): Added clearing of icon.
83102         (WebCore::RenderFileUploadControl::maxFilenameWidth): Changed to use new member directly.
83103         (WebCore::RenderFileUploadControl::paintObject): Ditto.
83104         (WebCore::RenderFileUploadControl::fileTextValue): Ditto.
83105         * rendering/RenderFileUploadControl.h: Updated decls.
83106
83107 2011-06-19  Michael Saboff  <msaboff@apple.com>
83108
83109         Reviewed by Darin Adler.
83110
83111         Add notify handler to trigger MemoryPressureHandler in all builds
83112         https://bugs.webkit.org/show_bug.cgi?id=62679
83113
83114         Removed SIGUSR2 trigger and added a notify trigger for the
83115         MemoryPressureHandler.  The notify trigger is enabled for all builds.
83116
83117         No test added as only added new memory pressure trigger.
83118
83119         * platform/mac/MemoryPressureHandlerMac.mm:
83120         (WebCore::MemoryPressureHandler::install):
83121
83122 2011-06-19  Robert Hogan  <robert@webkit.org>
83123
83124         Reviewed by Alexey Proskuryakov.
83125
83126         [Qt] Qt Counterpart for http://trac.webkit.org/changeset/42078
83127         https://bugs.webkit.org/show_bug.cgi?id=62514
83128
83129         * platform/network/qt/ResourceHandleQt.cpp:
83130         (WebCore::WebCoreSynchronousLoader::willSendRequest):
83131
83132 2011-06-18  Yufeng Shen  <miletus@chromium.org>
83133
83134         Reviewed by Darin Fisher.
83135
83136         Adding "force" filed to Touch Event
83137         https://bugs.webkit.org/show_bug.cgi?id=62766
83138
83139         * dom/Document.cpp:
83140         (WebCore::Document::createTouch):
83141         * dom/Document.h:
83142         * dom/Document.idl:
83143         * dom/Touch.cpp:
83144         (WebCore::Touch::Touch):
83145         * dom/Touch.h:
83146         (WebCore::Touch::create):
83147         (WebCore::Touch::webkitForce):
83148         * dom/Touch.idl:
83149         * page/EventHandler.cpp:
83150         (WebCore::EventHandler::handleTouchEvent):
83151         * platform/PlatformTouchPoint.h:
83152         (WebCore::PlatformTouchPoint::force):
83153
83154 2011-06-18  Jer Noble  <jer.noble@apple.com>
83155
83156         Reviewed by Darin Adler.
83157
83158         Rename Document::setContainsFullScreenElementRecursively
83159         https://bugs.webkit.org/show_bug.cgi?id=62528
83160
83161         No new tests; no net change in functionality, so this is covered by existing tests.
83162
83163         The name of setContainsFullScreenElementRecursively is confusing, since it doesn't actually use
83164         recursion, and it walks the ancestor tree instead of the descendent tree (as recursive might
83165         otherwise imply).  Move the function into Element, turn it into a member function, and change 
83166         the behavior so that the function operates on the called object's parents (as opposed to the 
83167         object itself).
83168
83169         * dom/Element.h:
83170         * dom/Element.cpp:
83171         (WebCore::parentCrossingFrameBoundaries): Added.
83172         (WebCore::Element::setContainsFullScreenElementOnAncestorsCrossingFrameBoundaries): Renamed and 
83173             moved from Document.
83174         (WebCore::Element::willRemove): Use the newly renamed function.
83175         (WebCore::Element::insertedIntoTree): Ditto.
83176         * dom/Document.h:
83177         * dom/Document.cpp:
83178         (WebCore::Document::webkitWillEnterFullScreenForElement): Ditto.
83179         (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
83180         (WebCore::Document::fullScreenElementRemoved): Ditto.
83181
83182 2011-06-18  Alice Boxhall  <aboxhall@chromium.org>
83183
83184         Reviewed by Chris Fleizach.
83185
83186         Accessibility description for an element should make use of aria-labelledby.
83187         https://bugs.webkit.org/show_bug.cgi?id=61995
83188
83189         Tests: accessibility/aria-labelledby-overrides-aria-label.html
83190
83191         * accessibility/AccessibilityRenderObject.cpp:
83192         (WebCore::AccessibilityRenderObject::title): Don't return value from aria-labelledby.
83193         (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription): Return value from aria-labelledby in preference to value from aria-label.
83194
83195 2011-06-18  Christoph Mende  <mende.christoph@gmail.com>
83196
83197         Reviewed by Darin Adler.
83198
83199         compilation fails with libpng-1.5
83200         https://bugs.webkit.org/show_bug.cgi?id=61738
83201
83202         * platform/image-encoders/skia/PNGImageEncoder.cpp:
83203         (WebCore::writeOutput): Use getter function instead of direct access
83204
83205 2011-06-18  Jeremy Moskovich  <jeremy@chromium.org>
83206
83207         Reviewed by Eric Seidel.
83208
83209         Set text-align:-webkit-match-parent for li elements in the default style sheet.
83210         https://bugs.webkit.org/show_bug.cgi?id=57232
83211
83212         Test: fast/css/list-item-text-align.html
83213
83214         * css/html.css:
83215         (li): Specify text-align:-webkit-match-parent .
83216
83217 2011-06-18  Holger Hans Peter Freyther  <holger@moiji-mobile.com>
83218
83219         Reviewed by Brent Fulgham.
83220
83221         [misc] JSC/wtf/text/*.h should not be included via #include ""
83222         https://bugs.webkit.org/show_bug.cgi?id=60836
83223
83224         Adam Barth pointed out that one should not include files from
83225         JavaScriptCore/wtf/text using #include "File.h". This change
83226         is addressing it.
83227
83228         * CMakeListsEfl.txt: Remove JavaScriptCore/wtf/text.
83229         * CMakeListsWinCE.txt: Remove JavaScriptCore/wtf/text.
83230         * platform/graphics/freetype/FontCacheFreeType.cpp: Change CString.h include.
83231         * platform/graphics/pango/FontCachePango.cpp: Change CString.h include.
83232         * platform/graphics/wx/FontPlatformData.h: Change StringImpl.h include.
83233         * platform/network/soup/ResourceHandleSoup.cpp: Change CString.h include.
83234         * platform/network/soup/SocketStreamHandleSoup.cpp: Change CString.h include.
83235
83236 2011-06-18  Sam Weinig  <sam@webkit.org>
83237
83238         Reviewed by Darin Adler.
83239
83240         REGRESSION (r63854-63958): placeholder not shown for number inputs
83241         https://bugs.webkit.org/show_bug.cgi?id=61095
83242
83243         Refactor HTMLInputElement supportsPlaceholder support to delegate to the
83244         InputType. Make BaseTextInputType and NumberInputType return true, matching
83245         the current HTML5 spec.
83246
83247         * html/BaseTextInputType.cpp:
83248         (WebCore::BaseTextInputType::supportsPlaceholder):
83249         * html/BaseTextInputType.h:
83250         Add override implementation of supportsPlaceholder that returns true.
83251
83252         * html/HTMLInputElement.cpp:
83253         (WebCore::HTMLInputElement::supportsPlaceholder):
83254         Delegate to the InputType.
83255
83256         * html/InputType.cpp:
83257         (WebCore::InputType::supportsPlaceholder):
83258         * html/InputType.h:
83259         Add base implementation of supportsPlaceholder that returns false.
83260
83261         * html/NumberInputType.cpp:
83262         (WebCore::NumberInputType::supportsPlaceholder):
83263         * html/NumberInputType.h:
83264         Add override implementation of supportsPlaceholder that returns true.
83265
83266 2011-06-18  Sheriff Bot  <webkit.review.bot@gmail.com>
83267
83268         Unreviewed, rolling out r89154.
83269         http://trac.webkit.org/changeset/89154
83270         https://bugs.webkit.org/show_bug.cgi?id=62926
83271
83272         It broke debug build on Qt (Requested by Ossy_weekend on
83273         #webkit).
83274
83275         * platform/network/qt/ResourceHandleQt.cpp:
83276
83277 2011-06-18  Sheriff Bot  <webkit.review.bot@gmail.com>
83278
83279         Unreviewed, rolling out r89189.
83280         http://trac.webkit.org/changeset/89189
83281         https://bugs.webkit.org/show_bug.cgi?id=62925
83282
83283         It broke Qt build (Requested by Ossy_weekend on #webkit).
83284
83285         * bindings/scripts/test/TestInterface.idl:
83286         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
83287         * css/CSSCharsetRule.idl:
83288         * css/CSSFontFaceRule.idl:
83289         * css/CSSImportRule.idl:
83290         * css/CSSPageRule.idl:
83291         * css/CSSRule.idl:
83292         * css/CSSStyleRule.idl:
83293         * css/CSSUnknownRule.idl:
83294         * css/CSSValue.idl:
83295         * css/Counter.idl:
83296         * css/RGBColor.idl:
83297         * css/Rect.idl:
83298         * css/StyleSheet.idl:
83299         * css/WebKitCSSKeyframeRule.idl:
83300         * css/WebKitCSSTransformValue.idl:
83301         * dom/Attr.idl:
83302         * dom/CDATASection.idl:
83303         * dom/ClientRect.idl:
83304         * dom/Comment.idl:
83305         * dom/DOMCoreException.idl:
83306         * dom/DOMStringMap.idl:
83307         * dom/DocumentType.idl:
83308         * dom/Entity.idl:
83309         * dom/EntityReference.idl:
83310         * dom/EventException.idl:
83311         * dom/GeneratedStream.idl:
83312         * dom/MessageChannel.idl:
83313         * dom/NodeIterator.idl:
83314         * dom/Notation.idl:
83315         * dom/ProcessingInstruction.idl:
83316         * dom/RangeException.idl:
83317         * dom/Touch.idl:
83318         * dom/TreeWalker.idl:
83319         * fileapi/DOMFileSystem.idl:
83320         * fileapi/DOMFileSystemSync.idl:
83321         * fileapi/DirectoryReaderSync.idl:
83322         * fileapi/File.idl:
83323         * fileapi/FileEntrySync.idl:
83324         * fileapi/FileError.idl:
83325         * fileapi/FileException.idl:
83326         * fileapi/Metadata.idl:
83327         * fileapi/OperationNotAllowedException.idl:
83328         * fileapi/WebKitFlags.idl:
83329         * html/DOMSettableTokenList.idl:
83330         * html/HTMLAppletElement.idl:
83331         * html/HTMLAreaElement.idl:
83332         * html/HTMLBRElement.idl:
83333         * html/HTMLBaseElement.idl:
83334         * html/HTMLBaseFontElement.idl:
83335         * html/HTMLBlockquoteElement.idl:
83336         * html/HTMLBodyElement.idl:
83337         * html/HTMLDListElement.idl:
83338         * html/HTMLDataListElement.idl:
83339         * html/HTMLDetailsElement.idl:
83340         * html/HTMLDirectoryElement.idl:
83341         * html/HTMLEmbedElement.idl:
83342         * html/HTMLFontElement.idl:
83343         * html/HTMLFormElement.idl:
83344         * html/HTMLFrameElement.idl:
83345         * html/HTMLFrameSetElement.idl:
83346         * html/HTMLHRElement.idl:
83347         * html/HTMLHeadElement.idl:
83348         * html/HTMLHeadingElement.idl:
83349         * html/HTMLHtmlElement.idl:
83350         * html/HTMLIFrameElement.idl:
83351         * html/HTMLImageElement.idl:
83352         * html/HTMLIsIndexElement.idl:
83353         * html/HTMLLIElement.idl:
83354         * html/HTMLLabelElement.idl:
83355         * html/HTMLLegendElement.idl:
83356         * html/HTMLLinkElement.idl:
83357         * html/HTMLMapElement.idl:
83358         * html/HTMLMarqueeElement.idl:
83359         * html/HTMLMenuElement.idl:
83360         * html/HTMLMetaElement.idl:
83361         * html/HTMLMeterElement.idl:
83362         * html/HTMLModElement.idl:
83363         * html/HTMLOListElement.idl:
83364         * html/HTMLOptGroupElement.idl:
83365         * html/HTMLOptionElement.idl:
83366         * html/HTMLParagraphElement.idl:
83367         * html/HTMLParamElement.idl:
83368         * html/HTMLPreElement.idl:
83369         * html/HTMLProgressElement.idl:
83370         * html/HTMLQuoteElement.idl:
83371         * html/HTMLScriptElement.idl:
83372         * html/HTMLSourceElement.idl:
83373         * html/HTMLStyleElement.idl:
83374         * html/HTMLTableCaptionElement.idl:
83375         * html/HTMLTableCellElement.idl:
83376         * html/HTMLTableColElement.idl:
83377         * html/HTMLTitleElement.idl:
83378         * html/HTMLTrackElement.idl:
83379         * html/HTMLUListElement.idl:
83380         * html/ImageData.idl:
83381         * html/MediaError.idl:
83382         * html/SpellcheckRange.idl:
83383         * html/TextMetrics.idl:
83384         * html/ValidityState.idl:
83385         * html/VoidCallback.idl:
83386         * html/canvas/ArrayBuffer.idl:
83387         * html/canvas/ArrayBufferView.idl:
83388         * html/canvas/CanvasPattern.idl:
83389         * html/canvas/CanvasPixelArray.idl:
83390         * html/canvas/CanvasRenderingContext.idl:
83391         * html/canvas/DataView.idl:
83392         * html/canvas/OESStandardDerivatives.idl:
83393         * html/canvas/OESTextureFloat.idl:
83394         * html/canvas/WebGLActiveInfo.idl:
83395         * html/canvas/WebGLBuffer.idl:
83396         * html/canvas/WebGLContextAttributes.idl:
83397         * html/canvas/WebGLFramebuffer.idl:
83398         * html/canvas/WebGLProgram.idl:
83399         * html/canvas/WebGLRenderbuffer.idl:
83400         * html/canvas/WebGLShader.idl:
83401         * html/canvas/WebGLTexture.idl:
83402         * html/canvas/WebGLUniformLocation.idl:
83403         * html/canvas/WebGLVertexArrayObjectOES.idl:
83404         * html/canvas/WebKitLoseContext.idl:
83405         * inspector/ScriptProfile.idl:
83406         * inspector/ScriptProfileNode.idl:
83407         * page/AbstractView.idl:
83408         * page/BarInfo.idl:
83409         * page/Coordinates.idl:
83410         * page/Geoposition.idl:
83411         * page/MemoryInfo.idl:
83412         * page/NavigatorUserMediaError.idl:
83413         * page/Performance.idl:
83414         * page/PerformanceNavigation.idl:
83415         * page/PerformanceTiming.idl:
83416         * page/PositionError.idl:
83417         * page/Screen.idl:
83418         * page/SpeechInputEvent.idl:
83419         * page/SpeechInputResult.idl:
83420         * page/WebKitAnimation.idl:
83421         * page/WebKitPoint.idl:
83422         * page/WorkerNavigator.idl:
83423         * plugins/DOMMimeType.idl:
83424         * storage/Database.idl:
83425         * storage/DatabaseSync.idl:
83426         * storage/IDBAny.idl:
83427         * storage/IDBCursorWithValue.idl:
83428         * storage/IDBDatabaseError.idl:
83429         * storage/IDBDatabaseException.idl:
83430         * storage/IDBKey.idl:
83431         * storage/IDBVersionChangeEvent.idl:
83432         * storage/IDBVersionChangeRequest.idl:
83433         * storage/SQLError.idl:
83434         * storage/SQLException.idl:
83435         * storage/SQLResultSet.idl:
83436         * svg/SVGAElement.idl:
83437         * svg/SVGAltGlyphElement.idl:
83438         * svg/SVGAngle.idl:
83439         * svg/SVGAnimateColorElement.idl:
83440         * svg/SVGAnimateElement.idl:
83441         * svg/SVGAnimateMotionElement.idl:
83442         * svg/SVGAnimateTransformElement.idl:
83443         * svg/SVGAnimatedAngle.idl:
83444         * svg/SVGAnimatedBoolean.idl:
83445         * svg/SVGAnimatedEnumeration.idl:
83446         * svg/SVGAnimatedInteger.idl:
83447         * svg/SVGAnimatedLength.idl:
83448         * svg/SVGAnimatedLengthList.idl:
83449         * svg/SVGAnimatedNumber.idl:
83450         * svg/SVGAnimatedNumberList.idl:
83451         * svg/SVGAnimatedPreserveAspectRatio.idl:
83452         * svg/SVGAnimatedRect.idl:
83453         * svg/SVGAnimatedString.idl:
83454         * svg/SVGAnimatedTransformList.idl:
83455         * svg/SVGCircleElement.idl:
83456         * svg/SVGClipPathElement.idl:
83457         * svg/SVGColor.idl:
83458         * svg/SVGComponentTransferFunctionElement.idl:
83459         * svg/SVGCursorElement.idl:
83460         * svg/SVGDefsElement.idl:
83461         * svg/SVGDescElement.idl:
83462         * svg/SVGElement.idl:
83463         * svg/SVGEllipseElement.idl:
83464         * svg/SVGExternalResourcesRequired.idl:
83465         * svg/SVGFEBlendElement.idl:
83466         * svg/SVGFEColorMatrixElement.idl:
83467         * svg/SVGFEComponentTransferElement.idl:
83468         * svg/SVGFECompositeElement.idl:
83469         * svg/SVGFEConvolveMatrixElement.idl:
83470         * svg/SVGFEDiffuseLightingElement.idl:
83471         * svg/SVGFEDisplacementMapElement.idl:
83472         * svg/SVGFEDistantLightElement.idl:
83473         * svg/SVGFEFloodElement.idl:
83474         * svg/SVGFEFuncAElement.idl:
83475         * svg/SVGFEFuncBElement.idl:
83476         * svg/SVGFEFuncGElement.idl:
83477         * svg/SVGFEFuncRElement.idl:
83478         * svg/SVGFEImageElement.idl:
83479         * svg/SVGFEMergeElement.idl:
83480         * svg/SVGFEMergeNodeElement.idl:
83481         * svg/SVGFEOffsetElement.idl:
83482         * svg/SVGFEPointLightElement.idl:
83483         * svg/SVGFESpecularLightingElement.idl:
83484         * svg/SVGFESpotLightElement.idl:
83485         * svg/SVGFETileElement.idl:
83486         * svg/SVGFETurbulenceElement.idl:
83487         * svg/SVGFilterPrimitiveStandardAttributes.idl:
83488         * svg/SVGFitToViewBox.idl:
83489         * svg/SVGFontElement.idl:
83490         * svg/SVGFontFaceElement.idl:
83491         * svg/SVGFontFaceFormatElement.idl:
83492         * svg/SVGFontFaceNameElement.idl:
83493         * svg/SVGFontFaceSrcElement.idl:
83494         * svg/SVGFontFaceUriElement.idl:
83495         * svg/SVGForeignObjectElement.idl:
83496         * svg/SVGGElement.idl:
83497         * svg/SVGGlyphElement.idl:
83498         * svg/SVGGradientElement.idl:
83499         * svg/SVGHKernElement.idl:
83500         * svg/SVGImageElement.idl:
83501         * svg/SVGLangSpace.idl:
83502         * svg/SVGLength.idl:
83503         * svg/SVGLengthList.idl:
83504         * svg/SVGLineElement.idl:
83505         * svg/SVGLinearGradientElement.idl:
83506         * svg/SVGMPathElement.idl:
83507         * svg/SVGMaskElement.idl:
83508         * svg/SVGMatrix.idl:
83509         * svg/SVGMetadataElement.idl:
83510         * svg/SVGMissingGlyphElement.idl:
83511         * svg/SVGNumber.idl:
83512         * svg/SVGNumberList.idl:
83513         * svg/SVGPaint.idl:
83514         * svg/SVGPathSeg.idl:
83515         * svg/SVGPathSegArcAbs.idl:
83516         * svg/SVGPathSegArcRel.idl:
83517         * svg/SVGPathSegClosePath.idl:
83518         * svg/SVGPathSegCurvetoCubicAbs.idl:
83519         * svg/SVGPathSegCurvetoCubicRel.idl:
83520         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
83521         * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
83522         * svg/SVGPathSegCurvetoQuadraticAbs.idl:
83523         * svg/SVGPathSegCurvetoQuadraticRel.idl:
83524         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
83525         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
83526         * svg/SVGPathSegLinetoAbs.idl:
83527         * svg/SVGPathSegLinetoHorizontalAbs.idl:
83528         * svg/SVGPathSegLinetoHorizontalRel.idl:
83529         * svg/SVGPathSegLinetoRel.idl:
83530         * svg/SVGPathSegLinetoVerticalAbs.idl:
83531         * svg/SVGPathSegLinetoVerticalRel.idl:
83532         * svg/SVGPathSegList.idl:
83533         * svg/SVGPathSegMovetoAbs.idl:
83534         * svg/SVGPathSegMovetoRel.idl:
83535         * svg/SVGPatternElement.idl:
83536         * svg/SVGPoint.idl:
83537         * svg/SVGPointList.idl:
83538         * svg/SVGPolygonElement.idl:
83539         * svg/SVGPolylineElement.idl:
83540         * svg/SVGPreserveAspectRatio.idl:
83541         * svg/SVGRadialGradientElement.idl:
83542         * svg/SVGRect.idl:
83543         * svg/SVGRectElement.idl:
83544         * svg/SVGRenderingIntent.idl:
83545         * svg/SVGScriptElement.idl:
83546         * svg/SVGSetElement.idl:
83547         * svg/SVGStopElement.idl:
83548         * svg/SVGStringList.idl:
83549         * svg/SVGSwitchElement.idl:
83550         * svg/SVGSymbolElement.idl:
83551         * svg/SVGTRefElement.idl:
83552         * svg/SVGTSpanElement.idl:
83553         * svg/SVGTextElement.idl:
83554         * svg/SVGTextPathElement.idl:
83555         * svg/SVGTextPositioningElement.idl:
83556         * svg/SVGTitleElement.idl:
83557         * svg/SVGTransform.idl:
83558         * svg/SVGTransformList.idl:
83559         * svg/SVGTransformable.idl:
83560         * svg/SVGURIReference.idl:
83561         * svg/SVGUnitTypes.idl:
83562         * svg/SVGUseElement.idl:
83563         * svg/SVGVKernElement.idl:
83564         * svg/SVGViewElement.idl:
83565         * svg/SVGViewSpec.idl:
83566         * svg/SVGZoomAndPan.idl:
83567         * svg/SVGZoomEvent.idl:
83568         * testing/Internals.idl:
83569         * webaudio/AudioChannelMerger.idl:
83570         * webaudio/AudioChannelSplitter.idl:
83571         * webaudio/AudioDestinationNode.idl:
83572         * webaudio/AudioGain.idl:
83573         * webaudio/AudioGainNode.idl:
83574         * webaudio/AudioProcessingEvent.idl:
83575         * webaudio/AudioSourceNode.idl:
83576         * webaudio/BiquadFilterNode.idl:
83577         * webaudio/ConvolverNode.idl:
83578         * webaudio/DelayNode.idl:
83579         * webaudio/DynamicsCompressorNode.idl:
83580         * webaudio/HighPass2FilterNode.idl:
83581         * webaudio/JavaScriptAudioNode.idl:
83582         * webaudio/LowPass2FilterNode.idl:
83583         * webaudio/OfflineAudioCompletionEvent.idl:
83584         * workers/SharedWorker.idl:
83585         * workers/SharedWorkerContext.idl:
83586         * workers/WorkerLocation.idl:
83587         * xml/XMLHttpRequestException.idl:
83588         * xml/XMLHttpRequestProgressEvent.idl:
83589         * xml/XPathException.idl:
83590
83591 2011-06-17  Mark Pilgrim  <pilgrim@chromium.org>
83592
83593         Reviewed by Darin Adler.
83594
83595         Remove LegacyDefaultOptionalArguments flag from IDL files where it would not change behavior
83596         https://bugs.webkit.org/show_bug.cgi?id=62904
83597
83598         After bug 62750, there are many IDL files that contain the new
83599         LegacyDefaultOptionalArguments flag that don't actually need it.
83600         Some examples:
83601
83602             - the IDL file contains no functions
83603             - the IDL file contains only functions with no arguments
83604             - the IDL file contains functions, *all* of which use the
83605               [RequiresAllArguments=raise] extended attribute
83606
83607         This patch simplifies such IDL files by removing the
83608         LegacyDefaultOptionalArguments flag and (if needed) removing the
83609         [RequiresAllArguments=raise] extended attribute from each function
83610         declaration. This patch does not make any required arguments optional
83611         or any optional arguments required. It changes no behavior at all.
83612
83613         No new tests needed, all existing tests pass.
83614
83615         * bindings/scripts/test/TestInterface.idl:
83616         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
83617         * css/CSSCharsetRule.idl:
83618         * css/CSSFontFaceRule.idl:
83619         * css/CSSImportRule.idl:
83620         * css/CSSPageRule.idl:
83621         * css/CSSRule.idl:
83622         * css/CSSStyleRule.idl:
83623         * css/CSSUnknownRule.idl:
83624         * css/CSSValue.idl:
83625         * css/Counter.idl:
83626         * css/RGBColor.idl:
83627         * css/Rect.idl:
83628         * css/StyleSheet.idl:
83629         * css/WebKitCSSKeyframeRule.idl:
83630         * css/WebKitCSSTransformValue.idl:
83631         * dom/Attr.idl:
83632         * dom/CDATASection.idl:
83633         * dom/ClientRect.idl:
83634         * dom/Comment.idl:
83635         * dom/DOMCoreException.idl:
83636         * dom/DOMStringMap.idl:
83637         * dom/DocumentType.idl:
83638         * dom/Entity.idl:
83639         * dom/EntityReference.idl:
83640         * dom/EventException.idl:
83641         * dom/GeneratedStream.idl:
83642         * dom/MessageChannel.idl:
83643         * dom/NodeIterator.idl:
83644         * dom/Notation.idl:
83645         * dom/ProcessingInstruction.idl:
83646         * dom/RangeException.idl:
83647         * dom/Touch.idl:
83648         * dom/TreeWalker.idl:
83649         * fileapi/DOMFileSystem.idl:
83650         * fileapi/DOMFileSystemSync.idl:
83651         * fileapi/DirectoryReaderSync.idl:
83652         * fileapi/File.idl:
83653         * fileapi/FileEntrySync.idl:
83654         * fileapi/FileError.idl:
83655         * fileapi/FileException.idl:
83656         * fileapi/Metadata.idl:
83657         * fileapi/OperationNotAllowedException.idl:
83658         * fileapi/WebKitFlags.idl:
83659         * html/DOMSettableTokenList.idl:
83660         * html/HTMLAppletElement.idl:
83661         * html/HTMLAreaElement.idl:
83662         * html/HTMLBRElement.idl:
83663         * html/HTMLBaseElement.idl:
83664         * html/HTMLBaseFontElement.idl:
83665         * html/HTMLBlockquoteElement.idl:
83666         * html/HTMLBodyElement.idl:
83667         * html/HTMLDListElement.idl:
83668         * html/HTMLDataListElement.idl:
83669         * html/HTMLDetailsElement.idl:
83670         * html/HTMLDirectoryElement.idl:
83671         * html/HTMLEmbedElement.idl:
83672         * html/HTMLFontElement.idl:
83673         * html/HTMLFormElement.idl:
83674         * html/HTMLFrameElement.idl:
83675         * html/HTMLFrameSetElement.idl:
83676         * html/HTMLHRElement.idl:
83677         * html/HTMLHeadElement.idl:
83678         * html/HTMLHeadingElement.idl:
83679         * html/HTMLHtmlElement.idl:
83680         * html/HTMLIFrameElement.idl:
83681         * html/HTMLImageElement.idl:
83682         * html/HTMLIsIndexElement.idl:
83683         * html/HTMLLIElement.idl:
83684         * html/HTMLLabelElement.idl:
83685         * html/HTMLLegendElement.idl:
83686         * html/HTMLLinkElement.idl:
83687         * html/HTMLMapElement.idl:
83688         * html/HTMLMarqueeElement.idl:
83689         * html/HTMLMenuElement.idl:
83690         * html/HTMLMetaElement.idl:
83691         * html/HTMLMeterElement.idl:
83692         * html/HTMLModElement.idl:
83693         * html/HTMLOListElement.idl:
83694         * html/HTMLOptGroupElement.idl:
83695         * html/HTMLOptionElement.idl:
83696         * html/HTMLParagraphElement.idl:
83697         * html/HTMLParamElement.idl:
83698         * html/HTMLPreElement.idl:
83699         * html/HTMLProgressElement.idl:
83700         * html/HTMLQuoteElement.idl:
83701         * html/HTMLScriptElement.idl:
83702         * html/HTMLSourceElement.idl:
83703         * html/HTMLStyleElement.idl:
83704         * html/HTMLTableCaptionElement.idl:
83705         * html/HTMLTableCellElement.idl:
83706         * html/HTMLTableColElement.idl:
83707         * html/HTMLTitleElement.idl:
83708         * html/HTMLTrackElement.idl:
83709         * html/HTMLUListElement.idl:
83710         * html/ImageData.idl:
83711         * html/MediaError.idl:
83712         * html/SpellcheckRange.idl:
83713         * html/TextMetrics.idl:
83714         * html/ValidityState.idl:
83715         * html/VoidCallback.idl:
83716         * html/canvas/ArrayBuffer.idl:
83717         * html/canvas/ArrayBufferView.idl:
83718         * html/canvas/CanvasPattern.idl:
83719         * html/canvas/CanvasPixelArray.idl:
83720         * html/canvas/CanvasRenderingContext.idl:
83721         * html/canvas/DataView.idl:
83722         * html/canvas/OESStandardDerivatives.idl:
83723         * html/canvas/OESTextureFloat.idl:
83724         * html/canvas/WebGLActiveInfo.idl:
83725         * html/canvas/WebGLBuffer.idl:
83726         * html/canvas/WebGLContextAttributes.idl:
83727         * html/canvas/WebGLFramebuffer.idl:
83728         * html/canvas/WebGLProgram.idl:
83729         * html/canvas/WebGLRenderbuffer.idl:
83730         * html/canvas/WebGLShader.idl:
83731         * html/canvas/WebGLTexture.idl:
83732         * html/canvas/WebGLUniformLocation.idl:
83733         * html/canvas/WebGLVertexArrayObjectOES.idl:
83734         * html/canvas/WebKitLoseContext.idl:
83735         * inspector/ScriptProfile.idl:
83736         * inspector/ScriptProfileNode.idl:
83737         * page/AbstractView.idl:
83738         * page/BarInfo.idl:
83739         * page/Coordinates.idl:
83740         * page/Geoposition.idl:
83741         * page/MemoryInfo.idl:
83742         * page/NavigatorUserMediaError.idl:
83743         * page/Performance.idl:
83744         * page/PerformanceNavigation.idl:
83745         * page/PerformanceTiming.idl:
83746         * page/PositionError.idl:
83747         * page/Screen.idl:
83748         * page/SpeechInputEvent.idl:
83749         * page/SpeechInputResult.idl:
83750         * page/WebKitAnimation.idl:
83751         * page/WebKitPoint.idl:
83752         * page/WorkerNavigator.idl:
83753         * plugins/DOMMimeType.idl:
83754         * storage/Database.idl:
83755         * storage/DatabaseSync.idl:
83756         * storage/IDBAny.idl:
83757         * storage/IDBCursorWithValue.idl:
83758         * storage/IDBDatabaseError.idl:
83759         * storage/IDBDatabaseException.idl:
83760         * storage/IDBKey.idl:
83761         * storage/IDBVersionChangeEvent.idl:
83762         * storage/IDBVersionChangeRequest.idl:
83763         * storage/SQLError.idl:
83764         * storage/SQLException.idl:
83765         * storage/SQLResultSet.idl:
83766         * svg/SVGAElement.idl:
83767         * svg/SVGAltGlyphElement.idl:
83768         * svg/SVGAngle.idl:
83769         * svg/SVGAnimateColorElement.idl:
83770         * svg/SVGAnimateElement.idl:
83771         * svg/SVGAnimateMotionElement.idl:
83772         * svg/SVGAnimateTransformElement.idl:
83773         * svg/SVGAnimatedAngle.idl:
83774         * svg/SVGAnimatedBoolean.idl:
83775         * svg/SVGAnimatedEnumeration.idl:
83776         * svg/SVGAnimatedInteger.idl:
83777         * svg/SVGAnimatedLength.idl:
83778         * svg/SVGAnimatedLengthList.idl:
83779         * svg/SVGAnimatedNumber.idl:
83780         * svg/SVGAnimatedNumberList.idl:
83781         * svg/SVGAnimatedPreserveAspectRatio.idl:
83782         * svg/SVGAnimatedRect.idl:
83783         * svg/SVGAnimatedString.idl:
83784         * svg/SVGAnimatedTransformList.idl:
83785         * svg/SVGCircleElement.idl:
83786         * svg/SVGClipPathElement.idl:
83787         * svg/SVGColor.idl:
83788         * svg/SVGComponentTransferFunctionElement.idl:
83789         * svg/SVGCursorElement.idl:
83790         * svg/SVGDefsElement.idl:
83791         * svg/SVGDescElement.idl:
83792         * svg/SVGElement.idl:
83793         * svg/SVGEllipseElement.idl:
83794         * svg/SVGExternalResourcesRequired.idl:
83795         * svg/SVGFEBlendElement.idl:
83796         * svg/SVGFEColorMatrixElement.idl:
83797         * svg/SVGFEComponentTransferElement.idl:
83798         * svg/SVGFECompositeElement.idl:
83799         * svg/SVGFEConvolveMatrixElement.idl:
83800         * svg/SVGFEDiffuseLightingElement.idl:
83801         * svg/SVGFEDisplacementMapElement.idl:
83802         * svg/SVGFEDistantLightElement.idl:
83803         * svg/SVGFEFloodElement.idl:
83804         * svg/SVGFEFuncAElement.idl:
83805         * svg/SVGFEFuncBElement.idl:
83806         * svg/SVGFEFuncGElement.idl:
83807         * svg/SVGFEFuncRElement.idl:
83808         * svg/SVGFEImageElement.idl:
83809         * svg/SVGFEMergeElement.idl:
83810         * svg/SVGFEMergeNodeElement.idl:
83811         * svg/SVGFEOffsetElement.idl:
83812         * svg/SVGFEPointLightElement.idl:
83813         * svg/SVGFESpecularLightingElement.idl:
83814         * svg/SVGFESpotLightElement.idl:
83815         * svg/SVGFETileElement.idl:
83816         * svg/SVGFETurbulenceElement.idl:
83817         * svg/SVGFilterPrimitiveStandardAttributes.idl:
83818         * svg/SVGFitToViewBox.idl:
83819         * svg/SVGFontElement.idl:
83820         * svg/SVGFontFaceElement.idl:
83821         * svg/SVGFontFaceFormatElement.idl:
83822         * svg/SVGFontFaceNameElement.idl:
83823         * svg/SVGFontFaceSrcElement.idl:
83824         * svg/SVGFontFaceUriElement.idl:
83825         * svg/SVGForeignObjectElement.idl:
83826         * svg/SVGGElement.idl:
83827         * svg/SVGGlyphElement.idl:
83828         * svg/SVGGradientElement.idl:
83829         * svg/SVGHKernElement.idl:
83830         * svg/SVGImageElement.idl:
83831         * svg/SVGLangSpace.idl:
83832         * svg/SVGLength.idl:
83833         * svg/SVGLengthList.idl:
83834         * svg/SVGLineElement.idl:
83835         * svg/SVGLinearGradientElement.idl:
83836         * svg/SVGMPathElement.idl:
83837         * svg/SVGMaskElement.idl:
83838         * svg/SVGMatrix.idl:
83839         * svg/SVGMetadataElement.idl:
83840         * svg/SVGMissingGlyphElement.idl:
83841         * svg/SVGNumber.idl:
83842         * svg/SVGNumberList.idl:
83843         * svg/SVGPaint.idl:
83844         * svg/SVGPathSeg.idl:
83845         * svg/SVGPathSegArcAbs.idl:
83846         * svg/SVGPathSegArcRel.idl:
83847         * svg/SVGPathSegClosePath.idl:
83848         * svg/SVGPathSegCurvetoCubicAbs.idl:
83849         * svg/SVGPathSegCurvetoCubicRel.idl:
83850         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
83851         * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
83852         * svg/SVGPathSegCurvetoQuadraticAbs.idl:
83853         * svg/SVGPathSegCurvetoQuadraticRel.idl:
83854         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
83855         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
83856         * svg/SVGPathSegLinetoAbs.idl:
83857         * svg/SVGPathSegLinetoHorizontalAbs.idl:
83858         * svg/SVGPathSegLinetoHorizontalRel.idl:
83859         * svg/SVGPathSegLinetoRel.idl:
83860         * svg/SVGPathSegLinetoVerticalAbs.idl:
83861         * svg/SVGPathSegLinetoVerticalRel.idl:
83862         * svg/SVGPathSegList.idl:
83863         * svg/SVGPathSegMovetoAbs.idl:
83864         * svg/SVGPathSegMovetoRel.idl:
83865         * svg/SVGPatternElement.idl:
83866         * svg/SVGPoint.idl:
83867         * svg/SVGPointList.idl:
83868         * svg/SVGPolygonElement.idl:
83869         * svg/SVGPolylineElement.idl:
83870         * svg/SVGPreserveAspectRatio.idl:
83871         * svg/SVGRadialGradientElement.idl:
83872         * svg/SVGRect.idl:
83873         * svg/SVGRectElement.idl:
83874         * svg/SVGRenderingIntent.idl:
83875         * svg/SVGScriptElement.idl:
83876         * svg/SVGSetElement.idl:
83877         * svg/SVGStopElement.idl:
83878         * svg/SVGStringList.idl:
83879         * svg/SVGSwitchElement.idl:
83880         * svg/SVGSymbolElement.idl:
83881         * svg/SVGTRefElement.idl:
83882         * svg/SVGTSpanElement.idl:
83883         * svg/SVGTextElement.idl:
83884         * svg/SVGTextPathElement.idl:
83885         * svg/SVGTextPositioningElement.idl:
83886         * svg/SVGTitleElement.idl:
83887         * svg/SVGTransform.idl:
83888         * svg/SVGTransformList.idl:
83889         * svg/SVGTransformable.idl:
83890         * svg/SVGURIReference.idl:
83891         * svg/SVGUnitTypes.idl:
83892         * svg/SVGUseElement.idl:
83893         * svg/SVGVKernElement.idl:
83894         * svg/SVGViewElement.idl:
83895         * svg/SVGViewSpec.idl:
83896         * svg/SVGZoomAndPan.idl:
83897         * svg/SVGZoomEvent.idl:
83898         * testing/Internals.idl:
83899         * webaudio/AudioChannelMerger.idl:
83900         * webaudio/AudioChannelSplitter.idl:
83901         * webaudio/AudioDestinationNode.idl:
83902         * webaudio/AudioGain.idl:
83903         * webaudio/AudioGainNode.idl:
83904         * webaudio/AudioProcessingEvent.idl:
83905         * webaudio/AudioSourceNode.idl:
83906         * webaudio/BiquadFilterNode.idl:
83907         * webaudio/ConvolverNode.idl:
83908         * webaudio/DelayNode.idl:
83909         * webaudio/DynamicsCompressorNode.idl:
83910         * webaudio/HighPass2FilterNode.idl:
83911         * webaudio/JavaScriptAudioNode.idl:
83912         * webaudio/LowPass2FilterNode.idl:
83913         * webaudio/OfflineAudioCompletionEvent.idl:
83914         * workers/SharedWorker.idl:
83915         * workers/SharedWorkerContext.idl:
83916         * workers/WorkerLocation.idl:
83917         * xml/XMLHttpRequestException.idl:
83918         * xml/XMLHttpRequestProgressEvent.idl:
83919         * xml/XPathException.idl:
83920
83921 2011-06-17  Dirk Schulze  <krit@webkit.org>
83922
83923         Reviewed by Rob Buis.
83924
83925         SVGAnimation should use direct unit animation for SVGAngle
83926         https://bugs.webkit.org/show_bug.cgi?id=62807
83927
83928         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
83929         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAngle. We can animate the SVG primitive datatype SVGAngle
83930         with different unit types now.
83931         Removed number and unit parser from SVGAnimateElement. This is not needed anymore.
83932
83933         Tests: svg/animations/svgangle-animation-deg-to-grad.html
83934                svg/animations/svgangle-animation-deg-to-rad.html
83935                svg/animations/svgangle-animation-grad-to-deg.html
83936                svg/animations/svgangle-animation-grad-to-rad.html
83937                svg/animations/svgangle-animation-rad-to-deg.html
83938                svg/animations/svgangle-animation-rad-to-grad.html
83939
83940         * CMakeLists.txt: Added SVGAnimatedAngle.cpp.
83941         * GNUmakefile.list.am: Ditto.
83942         * WebCore.gypi: Ditto.
83943         * WebCore.pro: Ditto.
83944         * WebCore.xcodeproj/project.pbxproj: Ditto.
83945         * svg/SVGAllInOne.cpp: Ditto.
83946         * svg/SVGAnimateElement.cpp: Make use of SVGAnimator for AnimatedAngle.
83947         (WebCore::SVGAnimateElement::SVGAnimateElement):
83948         (WebCore::SVGAnimateElement::determineAnimatedAttributeType): Ditto.
83949         (WebCore::SVGAnimateElement::calculateAnimatedValue): Ditto.
83950         (WebCore::SVGAnimateElement::calculateFromAndToValues): Ditto.
83951         (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto.
83952         (WebCore::SVGAnimateElement::resetToBaseValue): Ditto.
83953         (WebCore::SVGAnimateElement::applyResultsToTarget): Ditto.
83954         (WebCore::SVGAnimateElement::calculateDistance): Ditto.
83955         * svg/SVGAnimateElement.h:
83956         * svg/SVGAnimatedAngle.cpp: Added. Added SVGAnimatedAngleAnimator for animation of SVGAngles.
83957         (WebCore::SVGAnimatedAngleAnimator::SVGAnimatedAngleAnimator):
83958         (WebCore::sharedSVGAngle):
83959         (WebCore::SVGAnimatedAngleAnimator::constructFromString):
83960         (WebCore::SVGAnimatedAngleAnimator::calculateFromAndToValues):
83961         (WebCore::SVGAnimatedAngleAnimator::calculateFromAndByValues):
83962         (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
83963         (WebCore::SVGAnimatedAngleAnimator::calculateDistance):
83964         * svg/SVGAnimatedAngle.h:
83965         (WebCore::SVGAnimatedAngleAnimator::~SVGAnimatedAngleAnimator):
83966         * svg/SVGAnimatedLength.cpp:
83967         (WebCore::sharedSVGLength): Use an ExceptionCode for SVGLength::setValueAsString.
83968         * svg/SVGAnimatedType.h:
83969         (WebCore::SVGAnimatedType::create):
83970         (WebCore::SVGAnimatedType::createAngle):
83971         (WebCore::SVGAnimatedType::createLength):
83972         (WebCore::SVGAnimatedType::~SVGAnimatedType):
83973         (WebCore::SVGAnimatedType::angle):
83974         (WebCore::SVGAnimatedType::valueAsString):
83975         (WebCore::SVGAnimatedType::setValueAsString):
83976         (WebCore::SVGAnimatedType::SVGAnimatedType):
83977         * svg/SVGAnimatorFactory.h:
83978         (WebCore::SVGAnimatorFactory::create):
83979         * svg/SVGLength.cpp:
83980         (WebCore::SVGLength::setValueAsString): Added an ExceptionCode for consistency reasons and as preparation for future error handling.
83981         * svg/SVGLength.h:
83982         * svg/SVGParserUtilities.cpp:
83983         (WebCore::parseNumberFromString): Added number parser for String objects.
83984         * svg/SVGParserUtilities.h:
83985
83986 2011-06-17  Anna Cavender  <annacc@chromium.org>
83987
83988         Reviewed by Eric Carlson.
83989
83990         Adding initial interfaces and stubs for track
83991         https://bugs.webkit.org/show_bug.cgi?id=60379
83992
83993         This marks the first patch of a series to implement out-of-band
83994         <track> support in WebKit. This patch adds some of the core header files
83995         and their corresponding stub .cpp files.
83996  
83997         No new tests because feature is hidden behind VIDEO_TRACK feature
83998         define, which is turned off.
83999
84000         * CMakeLists.txt:
84001         * WebCore.gyp/WebCore.gyp:
84002         * WebCore.gypi:
84003         * WebCore.pri:
84004         * WebCore.pro:
84005         * WebCore.xcodeproj/project.pbxproj:
84006         * html/CueIndex.cpp: Added.
84007         * html/CueIndex.h: Added.
84008         * html/LoadableTextTrack.cpp: Added.
84009         * html/LoadableTextTrack.h: Added.
84010         * html/LoadableTextTrackImpl.cpp: Added.
84011         * html/LoadableTextTrackImpl.h: Added.
84012         * html/MutableTextTrack.cpp: Added.
84013         * html/MutableTextTrack.h: Added.
84014         * html/MutableTextTrackImpl.cpp: Added.
84015         * html/MutableTextTrackImpl.h: Added.
84016         * html/TextTrack.cpp: Added.
84017         * html/TextTrack.h: Added.
84018         * html/TextTrackCue.cpp: Added.
84019         * html/TextTrackCue.h: Added.
84020         * html/TextTrackCueList.cpp: Added.
84021         * html/TextTrackCueList.h: Added.
84022         * html/TextTrackPrivate.h: Added.
84023         * loader/CueLoader.cpp: Added.
84024         * loader/CueLoader.h: Added.
84025         * platform/track/CueParser.cpp: Added.
84026         * platform/track/CueParser.h: Added.
84027         * platform/track/CueParserPrivate.h: Added.
84028
84029 2011-06-17  Dmitry Lomov  <dslomov@google.com>
84030
84031         Reviewed by Adam Barth.
84032
84033         https://bugs.webkit.org/show_bug.cgi?id=62653
84034         [V8][Chromium] Make StringCache in V8 bindings per-isolate
84035         This moves StringCache into V8BindingPerIsolateData.
84036
84037         * bindings/v8/V8Binding.cpp:
84038         (WebCore::cachedStringCallback):
84039         (WebCore::StringCache::remove):
84040         (WebCore::StringCache::v8ExternalStringSlow):
84041         * bindings/v8/V8Binding.h:
84042         (WebCore::StringCache::StringCache):
84043         (WebCore::StringCache::v8ExternalString):
84044         (WebCore::StringCache::clearOnGC):
84045         (WebCore::V8BindingPerIsolateData::stringCache):
84046         (WebCore::v8ExternalString):
84047         * bindings/v8/V8GCController.cpp:
84048         (WebCore::V8GCController::gcPrologue):
84049
84050 2011-06-17  Julien Chaffraix  <jchaffraix@webkit.org>
84051
84052         Reviewed by Darin Adler.
84053
84054         Assertion failure in SVGTextLayoutEngine constructor (!m_layoutAttributes.isEmpty())
84055         https://bugs.webkit.org/show_bug.cgi?id=62884
84056
84057         Test: svg/custom/assert-empty-layout-attributes.svg
84058
84059         * rendering/svg/SVGRootInlineBox.cpp:
84060         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Added a early return here.
84061         It is not needed to do the text layout algorithm if you don't have any layout information as
84062         your size is (0, 0) anyway.
84063
84064 2011-06-17  Alexey Proskuryakov  <ap@apple.com>
84065
84066         Reviewed by Dan Bernstein.
84067
84068         https://bugs.webkit.org/show_bug.cgi?id=62913
84069         Use ICU search collator when available
84070
84071         <rdar://problem/8830218> Search on a webpage in Safari conflates some Czech characters
84072         <rdar://problem/8468873> Safari search doesn't strip Hamza
84073
84074         This changes behaviors that depend on system language, and isn't practically testable.
84075
84076         * editing/TextIterator.cpp: (WebCore::createSearcher): Ask ICU for search collator, if available.
84077
84078 2011-06-17  Sheriff Bot  <webkit.review.bot@gmail.com>
84079
84080         Unreviewed, rolling out r89143.
84081         http://trac.webkit.org/changeset/89143
84082         https://bugs.webkit.org/show_bug.cgi?id=62912
84083
84084         Possible Chromeos test breakage (Requested by senorblanco on
84085         #webkit).
84086
84087         * platform/KURLGoogle.cpp:
84088         (WebCore::encodeWithURLEscapeSequences):
84089
84090 2011-06-17  Jer Noble  <jer.noble@apple.com>
84091
84092         Reviewed by Ada Chan.
84093
84094         Playing video from the manifest crashes on Windows
84095         https://bugs.webkit.org/show_bug.cgi?id=62901
84096
84097         No new tests. This will be covered by existing App Cache tests.
84098
84099         Two related fixes.  1) Null-check the CFStringRef and CFURLRef created in QTMovie::load() before
84100         passing them to CFRelease().  2) Use CFURL to create an appropriate file-URL on windows in 
84101         createFileURLForApplicationCacheResource.
84102
84103         * html/HTMLMediaElement.cpp:
84104         (WebCore::createFileURLForApplicationCacheResource):
84105         * platform/graphics/win/QTMovie.cpp:
84106         (QTMovie::load):
84107
84108 2011-06-17  Abhishek Arya  <inferno@chromium.org>
84109
84110         Reviewed by Dave Hyatt.
84111
84112         When we lose ability to propagate floats, need to find topmost
84113         parent with that overhanging float, and then iterate over its
84114         sibling blocks to remove the float.
84115         https://bugs.webkit.org/show_bug.cgi?id=62875
84116
84117         Test: fast/block/float/float-not-removed-from-next-sibling5.html
84118
84119         * rendering/RenderBlock.cpp:
84120         (WebCore::RenderBlock::styleDidChange):
84121         (WebCore::RenderBlock::hasOverhangingFloat):
84122         * rendering/RenderBlock.h:
84123
84124 2011-06-17  Vsevolod Vlasov  <vsevik@chromium.org>
84125
84126         Reviewed by Pavel Feldman.
84127
84128         Web Inspector: Network panel does not show main resource content for iframes deleted from the document
84129         https://bugs.webkit.org/show_bug.cgi?id=62810
84130
84131         Test: http/tests/inspector/network/network-iframe-load-and-delete.html
84132
84133         * inspector/InspectorInstrumentation.cpp:
84134         (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
84135         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
84136         * inspector/InspectorInstrumentation.h:
84137         (WebCore::InspectorInstrumentation::didFinishLoading):
84138         (WebCore::InspectorInstrumentation::didFailLoading):
84139         * inspector/InspectorPageAgent.cpp:
84140         (WebCore::cachedResourceContent):
84141         (WebCore::mainResourceContent):
84142         (WebCore::InspectorPageAgent::sharedBufferContent):
84143         (WebCore::InspectorPageAgent::resourceContent):
84144         (WebCore::InspectorPageAgent::getResourceContent):
84145         (WebCore::InspectorPageAgent::searchInResources):
84146         * inspector/InspectorPageAgent.h:
84147         * inspector/InspectorResourceAgent.cpp:
84148         (WebCore::InspectorResourceAgent::didReceiveResponse):
84149         (WebCore::InspectorResourceAgent::didFinishLoading):
84150         (WebCore::InspectorResourceAgent::didFailLoading):
84151         (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
84152         (WebCore::InspectorResourceAgent::getResourceContent):
84153         * inspector/InspectorResourceAgent.h:
84154         * inspector/InspectorStyleSheet.cpp:
84155         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
84156         * inspector/NetworkResourcesData.cpp:
84157         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
84158         (WebCore::NetworkResourcesData::setResourceType):
84159         (WebCore::NetworkResourcesData::resourceType):
84160         (WebCore::NetworkResourcesData::addResourceSharedBuffer):
84161         * inspector/NetworkResourcesData.h:
84162         (WebCore::NetworkResourcesData::ResourceData::type):
84163         (WebCore::NetworkResourcesData::ResourceData::setType):
84164         (WebCore::NetworkResourcesData::ResourceData::buffer):
84165         (WebCore::NetworkResourcesData::ResourceData::setBuffer):
84166         (WebCore::NetworkResourcesData::ResourceData::textEncodingName):
84167         (WebCore::NetworkResourcesData::ResourceData::setTextEncodingName):
84168         * loader/ResourceLoadNotifier.cpp:
84169         (WebCore::ResourceLoadNotifier::didFailToLoad):
84170         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
84171         * loader/appcache/ApplicationCacheGroup.cpp:
84172         (WebCore::ApplicationCacheGroup::didFinishLoading):
84173         (WebCore::ApplicationCacheGroup::didFail):
84174
84175 2011-06-17  Darin Adler  <darin@apple.com>
84176
84177         Fix clang build.
84178
84179         * loader/LinkLoader.h: Use struct, not class, to forward-declare struct.
84180
84181 2011-06-17  Chris Evans  <cevans@chromium.org>
84182
84183         Reviewed by Adam Barth.
84184
84185         Detect mixed-scripting involving https -> http redirects
84186         https://bugs.webkit.org/show_bug.cgi?id=62846
84187
84188         Test: http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe.html
84189
84190         * loader/cache/CachedResourceLoader.cpp:
84191         (WebCore::CachedResourceLoader::checkInsecureContent):
84192         (WebCore::CachedResourceLoader::canRequest): break out insecure content logic.
84193         * loader/cache/CachedResourceLoader.h:
84194         * loader/cache/CachedResourceRequest.cpp:
84195         (WebCore::CachedResourceRequest::willSendRequest): check the redirect target for possible insecure content issues.
84196
84197 2011-06-12  Robert Hogan  <robert@webkit.org>
84198
84199         Reviewed by Alexey Proskuryakov.
84200
84201         [Qt] Qt Counterpart for http://trac.webkit.org/changeset/42078
84202         https://bugs.webkit.org/show_bug.cgi?id=62514
84203
84204         * platform/network/qt/ResourceHandleQt.cpp:
84205         (WebCore::WebCoreSynchronousLoader::willSendRequest):
84206
84207 2011-06-17  Mark Pilgrim  <pilgrim@chromium.org>
84208
84209         Reviewed by Adam Barth.
84210
84211         Change IDL code generator to require all arguments by default
84212         https://bugs.webkit.org/show_bug.cgi?id=62750
84213
84214         As per discussion on public-webapps, WebIDL is changing the default
84215         behavior to require all function arguments by default and raise an
84216         exception when an argument is missing. (This behavior is currently
84217         opt-in in WebKit's IDL system, on a function-by-function basis, with
84218         the "RequiresAllArguments=Raise" flag.) To order to match WebIDL as
84219         closely as possible, this patch adds an interface-level
84220         "LegacyDefaultOptionalArguments" flag and sets it on all existing IDL
84221         files (500+), then changes the code generator Perl scripts to behave
84222         the old way in the presence of the flag.
84223
84224         No new tests required, all existing tests still pass.
84225
84226         * bindings/scripts/CodeGeneratorJS.pm: 
84227         * bindings/scripts/CodeGeneratorV8.pm:
84228         * bindings/scripts/test/TestCallback.idl:
84229         * bindings/scripts/test/TestInterface.idl:
84230         * bindings/scripts/test/TestMediaQueryListListener.idl:
84231         * bindings/scripts/test/TestObj.idl:
84232         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
84233         * css/CSSCharsetRule.idl:
84234         * css/CSSFontFaceRule.idl:
84235         * css/CSSImportRule.idl:
84236         * css/CSSMediaRule.idl:
84237         * css/CSSPageRule.idl:
84238         * css/CSSPrimitiveValue.idl:
84239         * css/CSSRule.idl:
84240         * css/CSSRuleList.idl:
84241         * css/CSSStyleDeclaration.idl:
84242         * css/CSSStyleRule.idl:
84243         * css/CSSStyleSheet.idl:
84244         * css/CSSUnknownRule.idl:
84245         * css/CSSValue.idl:
84246         * css/CSSValueList.idl:
84247         * css/Counter.idl:
84248         * css/MediaList.idl:
84249         * css/MediaQueryList.idl:
84250         * css/MediaQueryListListener.idl:
84251         * css/RGBColor.idl:
84252         * css/Rect.idl:
84253         * css/StyleMedia.idl:
84254         * css/StyleSheet.idl:
84255         * css/StyleSheetList.idl:
84256         * css/WebKitCSSKeyframeRule.idl:
84257         * css/WebKitCSSKeyframesRule.idl:
84258         * css/WebKitCSSMatrix.idl:
84259         * css/WebKitCSSTransformValue.idl:
84260         * dom/Attr.idl:
84261         * dom/BeforeLoadEvent.idl:
84262         * dom/BeforeProcessEvent.idl:
84263         * dom/CDATASection.idl:
84264         * dom/CharacterData.idl:
84265         * dom/ClientRect.idl:
84266         * dom/ClientRectList.idl:
84267         * dom/Clipboard.idl:
84268         * dom/Comment.idl:
84269         * dom/CompositionEvent.idl:
84270         * dom/CustomEvent.idl:
84271         * dom/DOMCoreException.idl:
84272         * dom/DOMImplementation.idl:
84273         * dom/DOMStringList.idl:
84274         * dom/DOMStringMap.idl:
84275         * dom/DataTransferItem.idl:
84276         * dom/DataTransferItems.idl:
84277         * dom/DeviceMotionEvent.idl:
84278         * dom/DeviceOrientationEvent.idl:
84279         * dom/Document.idl:
84280         * dom/DocumentFragment.idl:
84281         * dom/DocumentType.idl:
84282         * dom/Element.idl:
84283         * dom/Entity.idl:
84284         * dom/EntityReference.idl:
84285         * dom/ErrorEvent.idl:
84286         * dom/Event.idl:
84287         * dom/EventException.idl:
84288         * dom/EventListener.idl:
84289         * dom/EventTarget.idl:
84290         * dom/ExclusiveTrackList.idl:
84291         * dom/GeneratedStream.idl:
84292         * dom/HashChangeEvent.idl:
84293         * dom/KeyboardEvent.idl:
84294         * dom/MessageChannel.idl:
84295         * dom/MessageEvent.idl:
84296         * dom/MessagePort.idl:
84297         * dom/MouseEvent.idl:
84298         * dom/MultipleTrackList.idl:
84299         * dom/MutationEvent.idl:
84300         * dom/NamedNodeMap.idl:
84301         * dom/Node.idl:
84302         * dom/NodeFilter.idl:
84303         * dom/NodeIterator.idl:
84304         * dom/NodeList.idl:
84305         * dom/Notation.idl:
84306         * dom/OverflowEvent.idl:
84307         * dom/PageTransitionEvent.idl:
84308         * dom/PopStateEvent.idl:
84309         * dom/ProcessingInstruction.idl:
84310         * dom/ProgressEvent.idl:
84311         * dom/Range.idl:
84312         * dom/RangeException.idl:
84313         * dom/RequestAnimationFrameCallback.idl:
84314         * dom/Stream.idl:
84315         * dom/StreamEvent.idl:
84316         * dom/StreamList.idl:
84317         * dom/StringCallback.idl:
84318         * dom/Text.idl:
84319         * dom/TextEvent.idl:
84320         * dom/Touch.idl:
84321         * dom/TouchEvent.idl:
84322         * dom/TouchList.idl:
84323         * dom/TrackList.idl:
84324         * dom/TreeWalker.idl:
84325         * dom/UIEvent.idl:
84326         * dom/WebKitAnimationEvent.idl:
84327         * dom/WebKitTransitionEvent.idl:
84328         * dom/WheelEvent.idl:
84329         * fileapi/Blob.idl:
84330         * fileapi/DOMFileSystem.idl:
84331         * fileapi/DOMFileSystemSync.idl:
84332         * fileapi/DirectoryEntry.idl:
84333         * fileapi/DirectoryEntrySync.idl:
84334         * fileapi/DirectoryReader.idl:
84335         * fileapi/DirectoryReaderSync.idl:
84336         * fileapi/EntriesCallback.idl:
84337         * fileapi/Entry.idl:
84338         * fileapi/EntryArray.idl:
84339         * fileapi/EntryArraySync.idl:
84340         * fileapi/EntryCallback.idl:
84341         * fileapi/EntrySync.idl:
84342         * fileapi/ErrorCallback.idl:
84343         * fileapi/File.idl:
84344         * fileapi/FileCallback.idl:
84345         * fileapi/FileEntry.idl:
84346         * fileapi/FileEntrySync.idl:
84347         * fileapi/FileError.idl:
84348         * fileapi/FileException.idl:
84349         * fileapi/FileList.idl:
84350         * fileapi/FileReader.idl:
84351         * fileapi/FileReaderSync.idl:
84352         * fileapi/FileSystemCallback.idl:
84353         * fileapi/FileWriter.idl:
84354         * fileapi/FileWriterCallback.idl:
84355         * fileapi/FileWriterSync.idl:
84356         * fileapi/Metadata.idl:
84357         * fileapi/MetadataCallback.idl:
84358         * fileapi/OperationNotAllowedException.idl:
84359         * fileapi/WebKitBlobBuilder.idl:
84360         * fileapi/WebKitFlags.idl:
84361         * html/DOMFormData.idl:
84362         * html/DOMSettableTokenList.idl:
84363         * html/DOMTokenList.idl:
84364         * html/DOMURL.idl:
84365         * html/HTMLAllCollection.idl:
84366         * html/HTMLAnchorElement.idl:
84367         * html/HTMLAppletElement.idl:
84368         * html/HTMLAreaElement.idl:
84369         * html/HTMLAudioElement.idl:
84370         * html/HTMLBRElement.idl:
84371         * html/HTMLBaseElement.idl:
84372         * html/HTMLBaseFontElement.idl:
84373         * html/HTMLBlockquoteElement.idl:
84374         * html/HTMLBodyElement.idl:
84375         * html/HTMLButtonElement.idl:
84376         * html/HTMLCanvasElement.idl:
84377         * html/HTMLCollection.idl:
84378         * html/HTMLDListElement.idl:
84379         * html/HTMLDataListElement.idl:
84380         * html/HTMLDetailsElement.idl:
84381         * html/HTMLDirectoryElement.idl:
84382         * html/HTMLDivElement.idl:
84383         * html/HTMLDocument.idl:
84384         * html/HTMLElement.idl:
84385         * html/HTMLEmbedElement.idl:
84386         * html/HTMLFieldSetElement.idl:
84387         * html/HTMLFontElement.idl:
84388         * html/HTMLFormElement.idl:
84389         * html/HTMLFrameElement.idl:
84390         * html/HTMLFrameSetElement.idl:
84391         * html/HTMLHRElement.idl:
84392         * html/HTMLHeadElement.idl:
84393         * html/HTMLHeadingElement.idl:
84394         * html/HTMLHtmlElement.idl:
84395         * html/HTMLIFrameElement.idl:
84396         * html/HTMLImageElement.idl:
84397         * html/HTMLInputElement.idl:
84398         * html/HTMLIsIndexElement.idl:
84399         * html/HTMLKeygenElement.idl:
84400         * html/HTMLLIElement.idl:
84401         * html/HTMLLabelElement.idl:
84402         * html/HTMLLegendElement.idl:
84403         * html/HTMLLinkElement.idl:
84404         * html/HTMLMapElement.idl:
84405         * html/HTMLMarqueeElement.idl:
84406         * html/HTMLMediaElement.idl:
84407         * html/HTMLMenuElement.idl:
84408         * html/HTMLMetaElement.idl:
84409         * html/HTMLMeterElement.idl:
84410         * html/HTMLModElement.idl:
84411         * html/HTMLOListElement.idl:
84412         * html/HTMLObjectElement.idl:
84413         * html/HTMLOptGroupElement.idl:
84414         * html/HTMLOptionElement.idl:
84415         * html/HTMLOptionsCollection.idl:
84416         * html/HTMLOutputElement.idl:
84417         * html/HTMLParagraphElement.idl:
84418         * html/HTMLParamElement.idl:
84419         * html/HTMLPreElement.idl:
84420         * html/HTMLProgressElement.idl:
84421         * html/HTMLQuoteElement.idl:
84422         * html/HTMLScriptElement.idl:
84423         * html/HTMLSelectElement.idl:
84424         * html/HTMLSourceElement.idl:
84425         * html/HTMLStyleElement.idl:
84426         * html/HTMLTableCaptionElement.idl:
84427         * html/HTMLTableCellElement.idl:
84428         * html/HTMLTableColElement.idl:
84429         * html/HTMLTableElement.idl:
84430         * html/HTMLTableRowElement.idl:
84431         * html/HTMLTableSectionElement.idl:
84432         * html/HTMLTextAreaElement.idl:
84433         * html/HTMLTitleElement.idl:
84434         * html/HTMLTrackElement.idl:
84435         * html/HTMLUListElement.idl:
84436         * html/HTMLVideoElement.idl:
84437         * html/ImageData.idl:
84438         * html/MediaError.idl:
84439         * html/SpellcheckRange.idl:
84440         * html/SpellcheckRangeList.idl:
84441         * html/TextMetrics.idl:
84442         * html/TimeRanges.idl:
84443         * html/ValidityState.idl:
84444         * html/VoidCallback.idl:
84445         * html/canvas/ArrayBuffer.idl:
84446         * html/canvas/ArrayBufferView.idl:
84447         * html/canvas/CanvasGradient.idl:
84448         * html/canvas/CanvasPattern.idl:
84449         * html/canvas/CanvasPixelArray.idl:
84450         * html/canvas/CanvasRenderingContext.idl:
84451         * html/canvas/CanvasRenderingContext2D.idl:
84452         * html/canvas/DataView.idl:
84453         * html/canvas/Float32Array.idl:
84454         * html/canvas/Float64Array.idl:
84455         * html/canvas/Int16Array.idl:
84456         * html/canvas/Int32Array.idl:
84457         * html/canvas/Int8Array.idl:
84458         * html/canvas/OESStandardDerivatives.idl:
84459         * html/canvas/OESTextureFloat.idl:
84460         * html/canvas/OESVertexArrayObject.idl:
84461         * html/canvas/Uint16Array.idl:
84462         * html/canvas/Uint32Array.idl:
84463         * html/canvas/Uint8Array.idl:
84464         * html/canvas/WebGLActiveInfo.idl:
84465         * html/canvas/WebGLBuffer.idl:
84466         * html/canvas/WebGLContextAttributes.idl:
84467         * html/canvas/WebGLContextEvent.idl:
84468         * html/canvas/WebGLFramebuffer.idl:
84469         * html/canvas/WebGLProgram.idl:
84470         * html/canvas/WebGLRenderbuffer.idl:
84471         * html/canvas/WebGLRenderingContext.idl:
84472         * html/canvas/WebGLShader.idl:
84473         * html/canvas/WebGLTexture.idl:
84474         * html/canvas/WebGLUniformLocation.idl:
84475         * html/canvas/WebGLVertexArrayObjectOES.idl:
84476         * html/canvas/WebKitLoseContext.idl:
84477         * inspector/InjectedScriptHost.idl:
84478         * inspector/InspectorFrontendHost.idl:
84479         * inspector/JavaScriptCallFrame.idl:
84480         * inspector/ScriptProfile.idl:
84481         * inspector/ScriptProfileNode.idl:
84482         * loader/appcache/DOMApplicationCache.idl:
84483         * notifications/Notification.idl:
84484         * notifications/NotificationCenter.idl:
84485         * page/AbstractView.idl:
84486         * page/BarInfo.idl:
84487         * page/Console.idl:
84488         * page/Coordinates.idl:
84489         * page/Crypto.idl:
84490         * page/DOMSelection.idl:
84491         * page/DOMWindow.idl:
84492         * page/EventSource.idl:
84493         * page/Geolocation.idl:
84494         * page/Geoposition.idl:
84495         * page/History.idl:
84496         * page/Location.idl:
84497         * page/MemoryInfo.idl:
84498         * page/Navigator.idl:
84499         * page/NavigatorUserMediaError.idl:
84500         * page/NavigatorUserMediaErrorCallback.idl:
84501         * page/NavigatorUserMediaSuccessCallback.idl:
84502         * page/Performance.idl:
84503         * page/PerformanceNavigation.idl:
84504         * page/PerformanceTiming.idl:
84505         * page/PositionCallback.idl:
84506         * page/PositionError.idl:
84507         * page/PositionErrorCallback.idl:
84508         * page/Screen.idl:
84509         * page/SpeechInputEvent.idl:
84510         * page/SpeechInputResult.idl:
84511         * page/SpeechInputResultList.idl:
84512         * page/WebKitAnimation.idl:
84513         * page/WebKitAnimationList.idl:
84514         * page/WebKitPoint.idl:
84515         * page/WorkerNavigator.idl:
84516         * plugins/DOMMimeType.idl:
84517         * plugins/DOMMimeTypeArray.idl:
84518         * plugins/DOMPlugin.idl:
84519         * plugins/DOMPluginArray.idl:
84520         * storage/Database.idl:
84521         * storage/DatabaseCallback.idl:
84522         * storage/DatabaseSync.idl:
84523         * storage/IDBAny.idl:
84524         * storage/IDBCursor.idl:
84525         * storage/IDBCursorWithValue.idl:
84526         * storage/IDBDatabase.idl:
84527         * storage/IDBDatabaseError.idl:
84528         * storage/IDBDatabaseException.idl:
84529         * storage/IDBFactory.idl:
84530         * storage/IDBIndex.idl:
84531         * storage/IDBKey.idl:
84532         * storage/IDBKeyRange.idl:
84533         * storage/IDBObjectStore.idl:
84534         * storage/IDBRequest.idl:
84535         * storage/IDBTransaction.idl:
84536         * storage/IDBVersionChangeEvent.idl:
84537         * storage/IDBVersionChangeRequest.idl:
84538         * storage/SQLError.idl:
84539         * storage/SQLException.idl:
84540         * storage/SQLResultSet.idl:
84541         * storage/SQLResultSetRowList.idl:
84542         * storage/SQLStatementCallback.idl:
84543         * storage/SQLStatementErrorCallback.idl:
84544         * storage/SQLTransaction.idl:
84545         * storage/SQLTransactionCallback.idl:
84546         * storage/SQLTransactionErrorCallback.idl:
84547         * storage/SQLTransactionSync.idl:
84548         * storage/SQLTransactionSyncCallback.idl:
84549         * storage/Storage.idl:
84550         * storage/StorageEvent.idl:
84551         * storage/StorageInfo.idl:
84552         * storage/StorageInfoErrorCallback.idl:
84553         * storage/StorageInfoQuotaCallback.idl:
84554         * storage/StorageInfoUsageCallback.idl:
84555         * svg/ElementTimeControl.idl:
84556         * svg/SVGAElement.idl:
84557         * svg/SVGAltGlyphElement.idl:
84558         * svg/SVGAngle.idl:
84559         * svg/SVGAnimateColorElement.idl:
84560         * svg/SVGAnimateElement.idl:
84561         * svg/SVGAnimateMotionElement.idl:
84562         * svg/SVGAnimateTransformElement.idl:
84563         * svg/SVGAnimatedAngle.idl:
84564         * svg/SVGAnimatedBoolean.idl:
84565         * svg/SVGAnimatedEnumeration.idl:
84566         * svg/SVGAnimatedInteger.idl:
84567         * svg/SVGAnimatedLength.idl:
84568         * svg/SVGAnimatedLengthList.idl:
84569         * svg/SVGAnimatedNumber.idl:
84570         * svg/SVGAnimatedNumberList.idl:
84571         * svg/SVGAnimatedPreserveAspectRatio.idl:
84572         * svg/SVGAnimatedRect.idl:
84573         * svg/SVGAnimatedString.idl:
84574         * svg/SVGAnimatedTransformList.idl:
84575         * svg/SVGAnimationElement.idl:
84576         * svg/SVGCircleElement.idl:
84577         * svg/SVGClipPathElement.idl:
84578         * svg/SVGColor.idl:
84579         * svg/SVGComponentTransferFunctionElement.idl:
84580         * svg/SVGCursorElement.idl:
84581         * svg/SVGDefsElement.idl:
84582         * svg/SVGDescElement.idl:
84583         * svg/SVGDocument.idl:
84584         * svg/SVGElement.idl:
84585         * svg/SVGElementInstance.idl:
84586         * svg/SVGElementInstanceList.idl:
84587         * svg/SVGEllipseElement.idl:
84588         * svg/SVGException.idl:
84589         * svg/SVGExternalResourcesRequired.idl:
84590         * svg/SVGFEBlendElement.idl:
84591         * svg/SVGFEColorMatrixElement.idl:
84592         * svg/SVGFEComponentTransferElement.idl:
84593         * svg/SVGFECompositeElement.idl:
84594         * svg/SVGFEConvolveMatrixElement.idl:
84595         * svg/SVGFEDiffuseLightingElement.idl:
84596         * svg/SVGFEDisplacementMapElement.idl:
84597         * svg/SVGFEDistantLightElement.idl:
84598         * svg/SVGFEDropShadowElement.idl:
84599         * svg/SVGFEFloodElement.idl:
84600         * svg/SVGFEFuncAElement.idl:
84601         * svg/SVGFEFuncBElement.idl:
84602         * svg/SVGFEFuncGElement.idl:
84603         * svg/SVGFEFuncRElement.idl:
84604         * svg/SVGFEGaussianBlurElement.idl:
84605         * svg/SVGFEImageElement.idl:
84606         * svg/SVGFEMergeElement.idl:
84607         * svg/SVGFEMergeNodeElement.idl:
84608         * svg/SVGFEMorphologyElement.idl:
84609         * svg/SVGFEOffsetElement.idl:
84610         * svg/SVGFEPointLightElement.idl:
84611         * svg/SVGFESpecularLightingElement.idl:
84612         * svg/SVGFESpotLightElement.idl:
84613         * svg/SVGFETileElement.idl:
84614         * svg/SVGFETurbulenceElement.idl:
84615         * svg/SVGFilterElement.idl:
84616         * svg/SVGFilterPrimitiveStandardAttributes.idl:
84617         * svg/SVGFitToViewBox.idl:
84618         * svg/SVGFontElement.idl:
84619         * svg/SVGFontFaceElement.idl:
84620         * svg/SVGFontFaceFormatElement.idl:
84621         * svg/SVGFontFaceNameElement.idl:
84622         * svg/SVGFontFaceSrcElement.idl:
84623         * svg/SVGFontFaceUriElement.idl:
84624         * svg/SVGForeignObjectElement.idl:
84625         * svg/SVGGElement.idl:
84626         * svg/SVGGlyphElement.idl:
84627         * svg/SVGGradientElement.idl:
84628         * svg/SVGHKernElement.idl:
84629         * svg/SVGImageElement.idl:
84630         * svg/SVGLangSpace.idl:
84631         * svg/SVGLength.idl:
84632         * svg/SVGLengthList.idl:
84633         * svg/SVGLineElement.idl:
84634         * svg/SVGLinearGradientElement.idl:
84635         * svg/SVGLocatable.idl:
84636         * svg/SVGMPathElement.idl:
84637         * svg/SVGMarkerElement.idl:
84638         * svg/SVGMaskElement.idl:
84639         * svg/SVGMatrix.idl:
84640         * svg/SVGMetadataElement.idl:
84641         * svg/SVGMissingGlyphElement.idl:
84642         * svg/SVGNumber.idl:
84643         * svg/SVGNumberList.idl:
84644         * svg/SVGPaint.idl:
84645         * svg/SVGPathElement.idl:
84646         * svg/SVGPathSeg.idl:
84647         * svg/SVGPathSegArcAbs.idl:
84648         * svg/SVGPathSegArcRel.idl:
84649         * svg/SVGPathSegClosePath.idl:
84650         * svg/SVGPathSegCurvetoCubicAbs.idl:
84651         * svg/SVGPathSegCurvetoCubicRel.idl:
84652         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
84653         * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
84654         * svg/SVGPathSegCurvetoQuadraticAbs.idl:
84655         * svg/SVGPathSegCurvetoQuadraticRel.idl:
84656         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
84657         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
84658         * svg/SVGPathSegLinetoAbs.idl:
84659         * svg/SVGPathSegLinetoHorizontalAbs.idl:
84660         * svg/SVGPathSegLinetoHorizontalRel.idl:
84661         * svg/SVGPathSegLinetoRel.idl:
84662         * svg/SVGPathSegLinetoVerticalAbs.idl:
84663         * svg/SVGPathSegLinetoVerticalRel.idl:
84664         * svg/SVGPathSegList.idl:
84665         * svg/SVGPathSegMovetoAbs.idl:
84666         * svg/SVGPathSegMovetoRel.idl:
84667         * svg/SVGPatternElement.idl:
84668         * svg/SVGPoint.idl:
84669         * svg/SVGPointList.idl:
84670         * svg/SVGPolygonElement.idl:
84671         * svg/SVGPolylineElement.idl:
84672         * svg/SVGPreserveAspectRatio.idl:
84673         * svg/SVGRadialGradientElement.idl:
84674         * svg/SVGRect.idl:
84675         * svg/SVGRectElement.idl:
84676         * svg/SVGRenderingIntent.idl:
84677         * svg/SVGSVGElement.idl:
84678         * svg/SVGScriptElement.idl:
84679         * svg/SVGSetElement.idl:
84680         * svg/SVGStopElement.idl:
84681         * svg/SVGStringList.idl:
84682         * svg/SVGStylable.idl:
84683         * svg/SVGStyleElement.idl:
84684         * svg/SVGSwitchElement.idl:
84685         * svg/SVGSymbolElement.idl:
84686         * svg/SVGTRefElement.idl:
84687         * svg/SVGTSpanElement.idl:
84688         * svg/SVGTests.idl:
84689         * svg/SVGTextContentElement.idl:
84690         * svg/SVGTextElement.idl:
84691         * svg/SVGTextPathElement.idl:
84692         * svg/SVGTextPositioningElement.idl:
84693         * svg/SVGTitleElement.idl:
84694         * svg/SVGTransform.idl:
84695         * svg/SVGTransformList.idl:
84696         * svg/SVGTransformable.idl:
84697         * svg/SVGURIReference.idl:
84698         * svg/SVGUnitTypes.idl:
84699         * svg/SVGUseElement.idl:
84700         * svg/SVGVKernElement.idl:
84701         * svg/SVGViewElement.idl:
84702         * svg/SVGViewSpec.idl:
84703         * svg/SVGZoomAndPan.idl:
84704         * svg/SVGZoomEvent.idl:
84705         * testing/Internals.idl:
84706         * webaudio/AudioBuffer.idl:
84707         * webaudio/AudioBufferSourceNode.idl:
84708         * webaudio/AudioChannelMerger.idl:
84709         * webaudio/AudioChannelSplitter.idl:
84710         * webaudio/AudioContext.idl:
84711         * webaudio/AudioDestinationNode.idl:
84712         * webaudio/AudioGain.idl:
84713         * webaudio/AudioGainNode.idl:
84714         * webaudio/AudioListener.idl:
84715         * webaudio/AudioNode.idl:
84716         * webaudio/AudioPannerNode.idl:
84717         * webaudio/AudioParam.idl:
84718         * webaudio/AudioProcessingEvent.idl:
84719         * webaudio/AudioSourceNode.idl:
84720         * webaudio/BiquadFilterNode.idl:
84721         * webaudio/ConvolverNode.idl:
84722         * webaudio/DelayNode.idl:
84723         * webaudio/DynamicsCompressorNode.idl:
84724         * webaudio/HighPass2FilterNode.idl:
84725         * webaudio/JavaScriptAudioNode.idl:
84726         * webaudio/LowPass2FilterNode.idl:
84727         * webaudio/OfflineAudioCompletionEvent.idl:
84728         * webaudio/RealtimeAnalyserNode.idl:
84729         * websockets/CloseEvent.idl:
84730         * websockets/WebSocket.idl:
84731         * workers/AbstractWorker.idl:
84732         * workers/DedicatedWorkerContext.idl:
84733         * workers/SharedWorker.idl:
84734         * workers/SharedWorkerContext.idl:
84735         * workers/Worker.idl:
84736         * workers/WorkerContext.idl:
84737         * workers/WorkerLocation.idl:
84738         * xml/DOMParser.idl:
84739         * xml/XMLHttpRequest.idl:
84740         * xml/XMLHttpRequestException.idl:
84741         * xml/XMLHttpRequestProgressEvent.idl:
84742         * xml/XMLHttpRequestUpload.idl:
84743         * xml/XMLSerializer.idl:
84744         * xml/XPathEvaluator.idl:
84745         * xml/XPathException.idl:
84746         * xml/XPathExpression.idl:
84747         * xml/XPathNSResolver.idl:
84748         * xml/XPathResult.idl:
84749         * xml/XSLTProcessor.idl:
84750
84751 2011-06-17  Cary Clark  <caryclark@google.com>
84752
84753         Reviewed by Mihai Parparita.
84754
84755         Exclude isCALayerContext check if building Chrome to use Skia on Mac.
84756         https://bugs.webkit.org/show_bug.cgi?id=62859
84757
84758         No new tests. This change does not affect existing functionality.
84759
84760         * platform/chromium/ScrollbarThemeChromiumMac.mm:
84761         (WebCore::ScrollbarThemeChromiumMac::paint):
84762         Add a conditional to always set drawing into layer to false if
84763         Skia is the WebKit rendering engine. Once USE(SKIA) is enabled,
84764         this condition can be removed.
84765
84766 2011-06-17  Gavin Peters  <gavinp@chromium.org>
84767
84768         Reviewed by Adam Barth.
84769
84770         refactor HTMLLinkElement to allow Link header implementation
84771         https://bugs.webkit.org/show_bug.cgi?id=51941
84772
84773         This change moves the LinkRelAttribute helper struct into its own
84774         file in html/, since the LinkRelAttribute is used by the LinkLoader,
84775         and leaving it in HTMLLinkElement would have been too circular for
84776         my tastes.
84777
84778         The new LinkLoader class contains the loader code for icons, dns
84779         prefetching and prefetch/prerender/subresource into a common
84780         LinkLoader.  This is a step in getting the Link header working in
84781         WebKit, as discussed in webkit-dev For more information, see
84782         thread "beforeload & link
84783         (esp rel prefetch)".
84784
84785         No new tests, since this is a refactoring.
84786
84787         * CMakeLists.txt:
84788         * GNUmakefile.list.am:
84789         * WebCore.gypi:
84790         * WebCore.pro:
84791         * WebCore.vcproj/WebCore.vcproj:
84792         * WebCore.xcodeproj/project.pbxproj:
84793         * html/HTMLLinkElement.cpp:
84794         (WebCore::HTMLLinkElement::HTMLLinkElement):
84795         (WebCore::HTMLLinkElement::~HTMLLinkElement):
84796         (WebCore::HTMLLinkElement::parseMappedAttribute):
84797         (WebCore::HTMLLinkElement::shouldLoadLink):
84798         (WebCore::HTMLLinkElement::process):
84799         (WebCore::HTMLLinkElement::linkLoaded):
84800         (WebCore::HTMLLinkElement::linkLoadingErrored):
84801         * html/HTMLLinkElement.h:
84802         * html/LinkRelAttribute.cpp: Added.
84803         (WebCore::LinkRelAttribute::LinkRelAttribute):
84804         * html/LinkRelAttribute.h: Added.
84805         * html/parser/HTMLPreloadScanner.cpp:
84806         (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet):
84807         * loader/LinkLoader.cpp: Added.
84808         (WebCore::LinkLoader::LinkLoader):
84809         (WebCore::LinkLoader::~LinkLoader):
84810         (WebCore::LinkLoader::linkLoadedTimerFired):
84811         (WebCore::LinkLoader::notifyFinished):
84812         (WebCore::LinkLoader::loadLink):
84813         * loader/LinkLoader.h: Added.
84814         * loader/LinkLoaderClient.h: Added.
84815         (WebCore::LinkLoaderClient::~LinkLoaderClient):
84816
84817 2011-06-17  Annie Sullivan  <sullivan@chromium.org>
84818
84819         Reviewed by Ryosuke Niwa.
84820
84821         div can be a child of span on InsertParagraph
84822         https://bugs.webkit.org/show_bug.cgi?id=62687
84823
84824         Handle the special case where the insertion point is the first position in the enclosing block node.
84825         The div for the new paragraph should be inserted as a child of the enclosing block node, otherwise
84826         it could be inserted as a child of a span or other inline element.
84827
84828         * editing/InsertParagraphSeparatorCommand.cpp:
84829         (WebCore::InsertParagraphSeparatorCommand::doApply):
84830
84831 2011-06-17  Eric Uhrhane  <ericu@chromium.org>
84832
84833         Reviewed by Adam Barth.
84834
84835         [filesystem/Chromium] Filesystem paths need proper URL escaping
84836         https://bugs.webkit.org/show_bug.cgi?id=62811
84837
84838         Fix http://code.google.com/p/chromium/issues/detail?id=78860 by making
84839         KURLChromium.cpp's escaping code actually work.
84840
84841         Make encodeWithURLEscapeSequences call into googleurl to do proper
84842         escaping.  Tested in WebKit/chromium/tests/KURLTest.cpp.
84843         * platform/KURLGoogle.cpp:
84844         (WebCore::encodeWithURLEscapeSequences):
84845
84846 2011-06-17  Julien Chaffraix  <jchaffraix@google.com>
84847
84848         Reviewed by Darin Adler.
84849
84850         Avoid extra work in RenderStyle::visitedDependentColor
84851         https://bugs.webkit.org/show_bug.cgi?id=62868
84852
84853         Refactoring only, no new test required.
84854
84855         The code used to cache the result of borderStyleForColorProperty. However
84856         the value was either overwritten inside colorIncludingFallback or there was
84857         not border. Thus I removed borderStyleForColorProperty and inlined the logic in
84858         colorIncludingFallback.
84859
84860         This shows some nice performance improvements on the bug page (table of 22k rows with a link
84861         for each row). Using pprof, the time spend in RenderStyle::visitedDependentColor is reduced
84862         by ~10%, mostly due to removing the call to borderStyleForColorProperty.
84863
84864         * rendering/style/RenderStyle.cpp:
84865         (WebCore::RenderStyle::colorIncludingFallback): We now calculate the borderStyle
84866         inside this function (which was already the case I just made it explicit). Also
84867         simplified the final 'if' as the border will be set only for the right CSS border
84868         properties.
84869
84870         (WebCore::RenderStyle::visitedDependentColor): Removed the |borderStyle| variable
84871         as it was never read.
84872
84873         * rendering/style/RenderStyle.h: Removed the parameter.
84874
84875 2011-06-16  Pavel Podivilov  <podivilov@chromium.org>
84876
84877         Reviewed by Yury Semikhatsky.
84878
84879         Web Inspector: breakpointsWithoutSourceFile values should be a maps, not arrays.
84880         https://bugs.webkit.org/show_bug.cgi?id=62714
84881
84882         * inspector/front-end/DebuggerPresentationModel.js:
84883         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
84884         (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
84885         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpointsFromSettings):
84886         (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
84887         (WebInspector.DebuggerPresentationModel.prototype._reset):
84888         * inspector/front-end/Settings.js:
84889         (WebInspector.Settings):
84890         (WebInspector.Settings.prototype._set):
84891
84892 2011-06-17  Joone Hur  <joone.hur@collabora.co.uk>
84893
84894         Reviewed by Martin Robinson.
84895
84896         [GTK] Replace GdkRectangle by cairo_rectangle_int_t
84897         https://bugs.webkit.org/show_bug.cgi?id=60687
84898
84899         Replace GdkRectangle by cairo_rectangle_int_t.
84900
84901         * GNUmakefile.list.am: Added IntRectCairo.cpp instead of IntRectGtk.cpp
84902         * platform/graphics/IntRect.h: IntRect class can be instantiated through the given cairo_rectangle_int_t 
84903         instead of GdkRectangle.
84904         * platform/graphics/cairo/IntRectCairo.cpp: Add the constructor and operator for handling cairo_rectangle_int_t.
84905         (WebCore::IntRect::IntRect): 
84906         (WebCore::IntRect::operator cairo_rectangle_int_t):
84907         * platform/graphics/gtk/IntRectGtk.cpp: Include this file only for Gtk+2.
84908         * platform/gtk/GtkPluginWidget.cpp: Replace GdkRectangle by cairo_rectangle_int_t.
84909         (WebCore::GtkPluginWidget::invalidateRect):
84910
84911 2011-06-17  Alexander Pavlov  <apavlov@chromium.org>
84912
84913         Reviewed by David Hyatt.
84914
84915         Web Inspector: support for emulating element's pseudo class state in styleRulesForElement()
84916         https://bugs.webkit.org/show_bug.cgi?id=61070
84917
84918         This patch is a slight rework of a solution by Alexander Udalov.
84919         It is supposed to help implement a feature in Web Inspector to examine
84920         style rules matched for different states of a given element.
84921         Web Inspector is supposed to pass a mask of ForcePseudoClassFlags to
84922         styleRulesForElement(), so that it will filter only the rules whose state
84923         (a set of pseudo classes in their selectors) matches a given
84924         mask, ignoring the state of the element itself.
84925         DoNotForcePseudoClassMask is the default behaviour; it always examines
84926         the state of a given element to make a match.
84927
84928         Tests will be provided in a subsequent Web Inspector change employing this functionality.
84929
84930         * css/CSSStyleSelector.cpp:
84931         (WebCore::CSSStyleSelector::initForStyleResolve):
84932         (WebCore::CSSStyleSelector::styleRulesForElement):
84933         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
84934         (WebCore::CSSStyleSelector::checkSelector):
84935         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
84936         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
84937         * css/CSSStyleSelector.h:
84938
84939 2011-06-17  Yury Semikhatsky  <yurys@chromium.org>
84940
84941         Reviewed by Pavel Feldman.
84942
84943         Web Inspector: support preview mode for live edit changes
84944         https://bugs.webkit.org/show_bug.cgi?id=62851
84945
84946         Debugger.editScriptSource command now supports preview flag.
84947
84948         * bindings/js/ScriptDebugServer.cpp:
84949         (WebCore::ScriptDebugServer::editScriptSource):
84950         * bindings/js/ScriptDebugServer.h:
84951         * bindings/v8/ScriptDebugServer.cpp:
84952         (WebCore::ScriptDebugServer::editScriptSource):
84953         * bindings/v8/ScriptDebugServer.h:
84954         * inspector/Inspector.json:
84955         * inspector/InspectorDebuggerAgent.cpp:
84956         (WebCore::InspectorDebuggerAgent::editScriptSource):
84957         * inspector/InspectorDebuggerAgent.h:
84958
84959 2011-06-09  Hans Wennborg  <hans@chromium.org>
84960
84961         Reviewed by Tony Gentilcore.
84962
84963         IndexedDB: backingStoreMap is per backing store, not per database
84964         https://bugs.webkit.org/show_bug.cgi?id=62382
84965
84966         IDBFactoryBackendImpl::m_backingStoreMap should contain an entry per
84967         backing store, not per database. Otherwise, we might accidentally open
84968         the same backing store more than once, which is dangerous.
84969
84970         Also tweak the code that chooses backing store type. It should be
84971         simple: we default to SQLite; if LevelDB is specifically requested, we
84972         use that. If LevelDB is requested and there is a SQLite database, we
84973         migrate.
84974
84975         No new tests, just cleaning up the code.
84976
84977         * storage/IDBFactoryBackendImpl.cpp:
84978         (WebCore::IDBFactoryBackendImpl::addIDBBackingStore):
84979         (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
84980         (WebCore::IDBFactoryBackendImpl::open):
84981         (WebCore::IDBFactoryBackendImpl::migrateFromSQLiteToLevelDB):
84982         * storage/IDBFactoryBackendImpl.h:
84983
84984 2011-06-17  Andrey Adaikin  <aandrey@google.com>
84985
84986         Reviewed by Pavel Feldman.
84987
84988         Web Inspector: Source code which includes non-Latin character does not correspond to line number field on Inspector
84989         https://bugs.webkit.org/show_bug.cgi?id=62845
84990
84991         * inspector/front-end/TextViewer.js:
84992         (WebInspector.TextViewer.prototype._syncLineHeight):
84993         (WebInspector.TextEditorGutterPanel):
84994         (WebInspector.TextEditorGutterChunk.prototype.set expanded):
84995
84996 2011-06-16  Yury Semikhatsky  <yurys@chromium.org>
84997
84998         Reviewed by Pavel Feldman.
84999
85000         Web Inspector: return description of the changes applied in response to editScriptSource command
85001         https://bugs.webkit.org/show_bug.cgi?id=62801
85002
85003         Return description of the changes made in response to Debugger.editScriptSource command.
85004
85005         * bindings/js/ScriptDebugServer.cpp:
85006         (WebCore::ScriptDebugServer::editScriptSource):
85007         * bindings/js/ScriptDebugServer.h:
85008         * bindings/v8/DebuggerScript.js:
85009         ():
85010         * bindings/v8/ScriptDebugServer.cpp:
85011         (WebCore::ScriptDebugServer::editScriptSource):
85012         * bindings/v8/ScriptDebugServer.h:
85013         * inspector/Inspector.json:
85014
85015 2011-06-16  Gabor Loki  <loki@webkit.org>
85016
85017         [Qt] Unreviewed, build fix after r89118.
85018
85019         * dom/XMLDocumentParserQt.cpp:
85020         (WebCore::XMLDocumentParser::initializeParserContext):
85021
85022 2011-06-16  Yuta Kitamura  <yutak@chromium.org>
85023
85024         Unreviewed, rolling out r89073.
85025         http://trac.webkit.org/changeset/89073
85026         https://bugs.webkit.org/show_bug.cgi?id=62783
85027
85028         Broke Chromium Clang build.
85029
85030         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
85031         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
85032         (wkScrollbarPainterPaint):
85033         * platform/chromium/ScrollbarThemeChromiumMac.h:
85034         * platform/chromium/ScrollbarThemeChromiumMac.mm:
85035         (WebCore::ScrollbarThemeChromiumMac::paint):
85036
85037 2011-06-16  Jeffrey Pfau  <jpfau@apple.com>
85038
85039         Reviewed by Alexey Proskuryakov.
85040
85041         Using null bytes when setting innerHTML in XTHML results in assertion and a crash due to null-pointer dereference
85042         https://bugs.webkit.org/show_bug.cgi?id=61053
85043
85044         XML parsing in-memory XML chunks now passes around a string object instead of a C string, ensuring null characters are properly handled.
85045
85046         Tests: fast/parser/xhtml-innerhtml-null-byte-first.xhtml
85047                fast/parser/xhtml-innerhtml-null-byte.xhtml
85048
85049         * dom/XMLDocumentParser.h:
85050         * dom/XMLDocumentParserLibxml2.cpp:
85051         (WebCore::XMLParserContext::createMemoryParser):
85052         (WebCore::XMLDocumentParser::initializeParserContext):
85053         (WebCore::XMLDocumentParser::appendFragmentSource):
85054
85055 2011-06-16  Robin Dunn  <robin@alldunn.com>
85056
85057         Reviewed by Kevin Ollivier.
85058
85059         [wx] Account for differing byte order when decoding images in the PPC build.
85060         
85061         https://bugs.webkit.org/show_bug.cgi?id=62830
85062
85063         * platform/image-decoders/wx/ImageDecoderWx.cpp:
85064         (WebCore::ImageFrame::asNewNativeImage):
85065
85066 2011-06-16  Darin Adler  <darin@apple.com>
85067
85068         Reviewed by Dan Bernstein.
85069
85070         REGRESSION (r89035): HTMLTableRowsCollection constructor crashes; depends on compiler order of evaluation
85071         https://bugs.webkit.org/show_bug.cgi?id=62836
85072
85073         Covered by existing tests on platforms where it occurs.
85074
85075         * html/HTMLTableRowsCollection.cpp:
85076         (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection): Add a call to get()
85077         to prevent the passing behavior of PassRefPtr from kicking in and changing the
85078         table pointer to 0, possibly before it is dereferenced.
85079
85080 2011-06-16  Sheriff Bot  <webkit.review.bot@gmail.com>
85081
85082         Unreviewed, rolling out r89055.
85083         http://trac.webkit.org/changeset/89055
85084         https://bugs.webkit.org/show_bug.cgi?id=62835
85085
85086         Caused failures on all ports except GTK (Requested by
85087         mrobinson on #webkit).
85088
85089         * platform/network/soup/ResourceHandleSoup.cpp:
85090         (WebCore::statusWillBeHandledBySoup):
85091         (WebCore::soupErrorShouldCauseLoadFailure):
85092         (WebCore::convertSoupErrorToResourceError):
85093         (WebCore::sendRequestCallback):
85094
85095 2011-06-16  Ryosuke Niwa  <rniwa@webkit.org>
85096
85097         Reviewed by Darin Adler.
85098
85099         Support logical line movement in vertical writing mode
85100         https://bugs.webkit.org/show_bug.cgi?id=62743
85101
85102         Fixed the bug by making xOffsetForVerticalNavigation (now called lineDirectionPointForVerticalNavigation)
85103         aware of writing modes. Also extracted absoluteLineDirectionPointToLocalPointInBlock from previousLinePosition
85104         and nextLinePosition to convert a line direction point to a physical point relative to a root inline box.
85105
85106         Tests: editing/selection/vertical-lr-ltr-extend-line-backward-br.html
85107                editing/selection/vertical-lr-ltr-extend-line-forward-br.html
85108                editing/selection/vertical-rl-ltr-extend-line-backward-br.html
85109                editing/selection/vertical-rl-ltr-extend-line-backward-p.html
85110                editing/selection/vertical-rl-ltr-extend-line-backward-wrap.html
85111                editing/selection/vertical-rl-ltr-extend-line-forward-br.html
85112                editing/selection/vertical-rl-ltr-extend-line-forward-p.html
85113                editing/selection/vertical-rl-ltr-extend-line-forward-wrap.html
85114                editing/selection/vertical-rl-rtl-extend-line-backward-br.html
85115                editing/selection/vertical-rl-rtl-extend-line-backward-p.html
85116                editing/selection/vertical-rl-rtl-extend-line-forward-br.html
85117                editing/selection/vertical-rl-rtl-extend-line-forward-p.html
85118
85119         * editing/FrameSelection.cpp:
85120         (WebCore::FrameSelection::modifyExtendingForward): Calls lineDirectionPointForBlockDirectionNavigation.
85121         (WebCore::FrameSelection::modifyMovingForward): Ditto.
85122         (WebCore::FrameSelection::modifyExtendingBackward): Ditto.
85123         (WebCore::FrameSelection::modifyMovingBackward): Ditto.
85124         (WebCore::FrameSelection::modify): Ditto.
85125         (WebCore::FrameSelection::lineDirectionPointForBlockDirectionNavigation): Renamed from
85126         xPosForVerticalArrowNavigation; calls VisiblePosition::lineDirectionPointForVerticalNavigation.
85127         * editing/FrameSelection.h:
85128         * editing/VisiblePosition.cpp:
85129         (WebCore::VisiblePosition::lineDirectionPointForBlockDirectionNavigation): Renamed from
85130         xOffsetForVerticalNavigation. Returns line direction point instead of visual x coordinate.
85131         * editing/VisiblePosition.h:
85132         * editing/visible_units.cpp:
85133         (WebCore::absoluteLineDirectionPointToLocalPointInBlock): Extracted from previousLinePosition and
85134         nextLinePosition. Takes care or writing modes.
85135         (WebCore::previousLinePosition): Calls absoluteLineDirectionPointToLocalPointInBlock.
85136         (WebCore::nextLinePosition): Ditto.
85137         * editing/visible_units.h:
85138         * rendering/RootInlineBox.cpp:
85139         (WebCore::RootInlineBox::closestLeafChildForPoint): Added; takes a physical point and calls
85140         closestLeafChildForLogicalLeftPosition with logical x.
85141         * rendering/RootInlineBox.h:
85142
85143 2011-06-16  Nate Chapin  <japhet@chromium.org>
85144
85145         Reviewed by Alexey Proskuryakov.
85146
85147         Set the referrer on a ResourceRequest from a WorkerThreadableLoader
85148         as soon as the request reaches the main thread and remove the
85149         optionalOutgoingReferrer parameter from some functions.
85150         https://bugs.webkit.org/show_bug.cgi?id=62806
85151
85152         * loader/DocumentThreadableLoader.cpp:
85153         (WebCore::DocumentThreadableLoader::loadResourceSynchronously):
85154         (WebCore::DocumentThreadableLoader::create):
85155         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
85156         (WebCore::DocumentThreadableLoader::loadRequest):
85157         * loader/DocumentThreadableLoader.h:
85158         * loader/ResourceLoadScheduler.cpp:
85159         (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
85160         * loader/ResourceLoadScheduler.h:
85161         * loader/SubresourceLoader.cpp:
85162         (WebCore::SubresourceLoader::create):
85163         * loader/SubresourceLoader.h:
85164         * loader/WorkerThreadableLoader.cpp:
85165         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
85166
85167 2011-06-16  Eric Seidel  <eric@webkit.org>
85168
85169         Reviewed by Adam Barth.
85170
85171         FrameLoader doesn't need completeURL or baseURL
85172         https://bugs.webkit.org/show_bug.cgi?id=62818
85173
85174         No functional change, thus no tests.
85175
85176         * html/HTMLPlugInImageElement.cpp:
85177         (WebCore::HTMLPlugInImageElement::isImageType):
85178         (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
85179         * inspector/InspectorPageAgent.cpp:
85180         (WebCore::InspectorPageAgent::open):
85181         * loader/FrameLoader.cpp:
85182         * loader/FrameLoader.h:
85183         * loader/NavigationScheduler.cpp:
85184         (WebCore::NavigationScheduler::scheduleLocationChange):
85185         * page/History.cpp:
85186         (WebCore::History::urlForState):
85187
85188 2011-06-16  Dawit Alemayehu  <adawit@kde.org>
85189
85190         Reviewed by Antonio Gomes.
85191
85192         Support for gnash flash player plugin in QtWebKit
85193
85194         [Qt] Support for the gnash flash player plugin
85195         https://bugs.webkit.org/show_bug.cgi?id=62283
85196
85197         No new tests needed. Existing nsplugin tests are sufficient.
85198
85199         * plugins/qt/PluginPackageQt.cpp:
85200         (WebCore::PluginPackage::load):
85201
85202 2011-06-16  Sailesh Agrawal  <sail@chromium.org>
85203
85204         Reviewed by Mihai Parparita.
85205
85206         [Chromium] Draw search tickmarks on overlay scrollbars
85207         https://bugs.webkit.org/show_bug.cgi?id=62783
85208
85209         This change adds search tickmark support for overlay scrollbars. Tickmarks are only drawn when the scroll track is visible.
85210
85211         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:Split the scrollbar drawing code into a track and knob version.
85212         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
85213         (wkScrollbarPainterPaint):
85214         (wkScrollbarPainterPaintTrack):
85215         (wkScrollbarPainterPaintKnob):
85216         * platform/chromium/ScrollbarThemeChromiumMac.h:
85217         * platform/chromium/ScrollbarThemeChromiumMac.mm:Factor out the paint tickmark code and call it from the overlay scrollbar drawing code.
85218         (WebCore::ScrollbarThemeChromiumMac::paint):
85219         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
85220
85221 2011-06-16  Geoffrey Garen  <ggaren@apple.com>
85222
85223         Reviewed by Oliver Hunt.
85224
85225         Introduced SlotVisitor into the project
85226         https://bugs.webkit.org/show_bug.cgi?id=62820
85227
85228         This resolves a class vs typedef forward declaration issue, and gives all
85229         exported symbols the correct names.
85230
85231         * dom/EventListener.h:
85232         * dom/Node.h:
85233         * dom/NodeFilterCondition.h:
85234
85235 2011-06-16  Abhishek Arya  <inferno@chromium.org>
85236
85237         Reviewed by Adam Barth.
85238
85239         RefPtr frame since it can get removed in
85240         FrameLoader::finishedParsing.
85241         https://bugs.webkit.org/show_bug.cgi?id=62812
85242
85243         Tests: already tested by fast/parser/document-write-into-initial-document.html.
85244
85245         * dom/Document.cpp:
85246         (WebCore::Document::finishedParsing):
85247
85248 2011-06-16  Sailesh Agrawal  <sail@chromium.org>
85249
85250         Reviewed by Mihai Parparita.
85251
85252         [Chromium] Update forked ScrollAnimatorChromiumMac.mm/h
85253         https://bugs.webkit.org/show_bug.cgi?id=62779
85254
85255         Updated ScrollAnimatorChromiumMac.mm/h with the latest code in WebCore/platform/mac/ScrollAnimatorMac.mm/h
85256
85257         * platform/chromium/ScrollAnimatorChromiumMac.h:
85258         (WebCore::ScrollAnimatorChromiumMac::setNeedsScrollerStyleUpdate):
85259         (WebCore::ScrollAnimatorChromiumMac::needsScrollerStyleUpdate):
85260         * platform/chromium/ScrollAnimatorChromiumMac.mm:
85261         (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
85262         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
85263         (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
85264         (WebCore::ScrollAnimatorChromiumMac::scroll):
85265         (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPointForScrollAnimation):
85266         (WebCore::isScrollingLeftAndShouldNotRubberBand):
85267         (WebCore::isScrollingRightAndShouldNotRubberBand):
85268         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
85269         (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
85270         (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
85271         (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
85272         (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
85273         (WebCore::ScrollAnimatorChromiumMac::setIsActive):
85274         (WebCore::ScrollAnimatorChromiumMac::updateScrollerStyle):
85275         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
85276         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
85277         (wkScrollbarPainterControllerStyle):
85278
85279 2011-06-16  Sailesh Agrawal  <sail@chromium.org>
85280
85281         Reviewed by Mihai Parparita.
85282
85283         [Chromium] Overlay scrollbars leave glitches on web content
85284         https://bugs.webkit.org/show_bug.cgi?id=62383
85285
85286         Enable overlay scrollbars on Chromium Mac.
85287
85288         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
85289         (preferredScrollerStyle):
85290
85291 2011-06-16  una sabovic  <una.sabovic@palm.com>
85292
85293         Reviewed by Simon Fraser.
85294
85295         Optimization: do a single fillRect when painting the root background in RenderBoxModelObject::paintFillLayerExtended
85296         https://bugs.webkit.org/show_bug.cgi?id=62593
85297
85298         When painting the root background, instead of doing two fillRects blend the base with background color and do a single fillRect.
85299         
85300         No new tests. This is an optimization and it doesn't change any existing functionality.
85301
85302         * rendering/RenderBoxModelObject.cpp:
85303         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
85304
85305 2011-06-16  Ryosuke Niwa  <rniwa@webkit.org>
85306
85307         Reviewed by Eric Seidel.
85308
85309         Consider padding and border when looking for the next/previous line position
85310         https://bugs.webkit.org/show_bug.cgi?id=55481
85311
85312         The bug was caused by previousLinePosition and nextLinePosition passing y coordinate
85313         above the line in some cases. Fixed the bug by passing the larger of selectionTop and logicalTop.
85314
85315         This patch is based on a patch originally written by Mario Sanchez Prada <msanchez@igalia.com>.
85316
85317         Test: editing/selection/move-vertically-with-paddings-borders.html
85318
85319         * editing/visible_units.cpp:
85320         (WebCore::previousLinePosition):
85321         (WebCore::nextLinePosition):
85322         * rendering/RootInlineBox.h:
85323         (WebCore::RootInlineBox::blockDirectionPointInLine):
85324
85325 2011-06-16  Keunsoon Lee  <keunsoon.lee@samsung.com>
85326
85327         Reviewed by Martin Robinson.
85328
85329         [SOUP] Abnormal operation if server sends 5xx status code without HTTP body
85330         https://bugs.webkit.org/show_bug.cgi?id=60875
85331
85332         Handle status code 4xx and 5xx after receiving HTTP body
85333
85334         Webkit soup port premises that server always sends error page
85335         in case server sends error code, 4xx and 5xx.
85336         But, sometimes there is no HTTP body for error page.
85337         In that case, Webkit does nothing or tries to download the HTTP response
85338         according to received MIME Type even if there is no HTTP body. (abnormal operation)
85339
85340         With this modification,
85341         Browser will show received error page if server sends error page.
85342         Or it will show its own error page from each port if server sends nothing.
85343
85344         Modified algorithm
85345         1) libsoup sends status code 4xx or 5xx (client error or server error)
85346         2) Webkit soup port orders to accumulate HTTP body chunks to libsoup.
85347         3) Webkit soup port ignores gotHeadersCallback, contentSniffedCallback and gotChunkCallback.
85348         4) Webkit soup port checks there is HTTP body or not on sendRequestCallback and;
85349              4-1) if there is HTTP body, calls didReceiveResponse()
85350              4-2) if there is no HTTP body, calls didFail() - prevent the abnormal operation
85351
85352         Test: http/tests/loading/status-code-error-without-response-body.html
85353
85354         * platform/network/soup/ResourceHandleSoup.cpp:
85355         (WebCore::statusWillBeHandledBySoup):
85356             Add a new condition, SOUP_STATUS_IS_CLIENT_ERROR() and SOUP_STATUS_IS_SERVER_ERROR()
85357         (WebCore::soupErrorAndHaveNotReceivedBody):
85358             Add a new helper function, it checks received body is exist if soup sends error code
85359         (WebCore::soupErrorShouldCauseLoadFailure):
85360            Add a new condition, soupErrorAndHaveNotReceivedBody()
85361         (WebCore::convertSoupErrorToResourceError):
85362            Add a new condition, soupErrorAndHaveNotReceivedBody()
85363         (WebCore::sendRequestCallback):
85364            Check handle->client() again, because didReceiveResponse() can make it zero
85365
85366 2011-06-16  Vsevolod Vlasov  <vsevik@chromium.org>
85367
85368         Reviewed by Pavel Feldman.
85369
85370         Web Inspector: Network panel shows incorrect query parameters when url has fragment.
85371         https://bugs.webkit.org/show_bug.cgi?id=62723
85372
85373         * English.lproj/localizedStrings.js:
85374         * inspector/front-end/HAREntry.js:
85375         (WebInspector.HAREntry.prototype._buildRequest):
85376         (WebInspector.HAREntry.prototype._buildRequestURL):
85377         * inspector/front-end/Resource.js:
85378         (WebInspector.Resource.prototype.set url):
85379         (WebInspector.Resource.prototype.get queryParameters):
85380         * inspector/front-end/ResourceHeadersView.js:
85381         (WebInspector.ResourceHeadersView):
85382         (WebInspector.ResourceHeadersView.prototype._refreshUrlFragment):
85383
85384 2011-06-16  Dimitri Glazkov  <dglazkov@chromium.org>
85385
85386         Clang fix after r89039.
85387
85388         * rendering/RenderThemeMac.h: Removed spurious constipation.
85389         * rendering/RenderThemeMac.mm:
85390         (WebCore::RenderThemeMac::fileListNameForWidth): Ditto.
85391
85392 2011-06-16  Sheriff Bot  <webkit.review.bot@gmail.com>
85393
85394         Unreviewed, rolling out r89026.
85395         http://trac.webkit.org/changeset/89026
85396         https://bugs.webkit.org/show_bug.cgi?id=62804
85397
85398         These patches were likely correct.  I'll investigate the
85399         browser_test failures. (Requested by abarth on #webkit).
85400
85401         * WebCore.exp.in:
85402         * bindings/js/ScheduledAction.cpp:
85403         (WebCore::ScheduledAction::execute):
85404         * bindings/js/ScriptController.cpp:
85405         (WebCore::ScriptController::ScriptController):
85406         (WebCore::ScriptController::processingUserGesture):
85407         * bindings/js/ScriptController.h:
85408         * bindings/v8/ScriptController.cpp:
85409         (WebCore::ScriptController::ScriptController):
85410         (WebCore::ScriptController::processingUserGesture):
85411         * bindings/v8/ScriptController.h:
85412         * dom/Event.cpp:
85413         * dom/Event.h:
85414         * dom/UserGestureIndicator.cpp:
85415         (WebCore::isDefinite):
85416         (WebCore::UserGestureIndicator::UserGestureIndicator):
85417         (WebCore::UserGestureIndicator::~UserGestureIndicator):
85418         * dom/UserGestureIndicator.h:
85419         (WebCore::UserGestureIndicator::processingUserGesture):
85420         * html/HTMLMediaElement.cpp:
85421         (WebCore::HTMLMediaElement::removedFromDocument):
85422         (WebCore::HTMLMediaElement::load):
85423         (WebCore::HTMLMediaElement::play):
85424         (WebCore::HTMLMediaElement::pause):
85425         (WebCore::HTMLMediaElement::beginScrubbing):
85426         (WebCore::HTMLMediaElement::resume):
85427         * html/HTMLMediaElement.h:
85428         * html/HTMLMediaElement.idl:
85429         * html/HTMLVideoElement.cpp:
85430         (WebCore::HTMLVideoElement::webkitEnterFullscreen):
85431         * html/HTMLVideoElement.h:
85432         (WebCore::HTMLVideoElement::webkitEnterFullScreen):
85433         * html/HTMLVideoElement.idl:
85434         * html/MediaDocument.cpp:
85435         (WebCore::MediaDocument::defaultEventHandler):
85436         * html/shadow/MediaControlElements.cpp:
85437         (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
85438         * html/shadow/TextControlInnerElements.cpp:
85439         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
85440
85441 2011-06-16  Dimitri Glazkov  <dglazkov@chromium.org>
85442
85443         [Qt] Build fix after r89039.
85444
85445         * WebCore.pro: Added StringTruncator to build system.
85446         * platform/qt/RenderThemeQt.cpp: Reverted previous change.
85447
85448 2011-06-16  Dimitri Glazkov  <dglazkov@chromium.org>
85449
85450         [Qt] Build fix after r89039.
85451
85452         * platform/qt/RenderThemeQt.cpp: Added StringTruncator include.
85453
85454 2011-06-16  Dimitri Glazkov  <dglazkov@chromium.org>
85455
85456         [Qt] Build fix after r89039.
85457
85458         * platform/qt/RenderThemeQt.h: Renamed local variable f to font.
85459
85460 2011-06-16  Dimitri Glazkov  <dglazkov@chromium.org>
85461
85462         [Qt] Build fix after r89039.
85463
85464         * platform/qt/RenderThemeQt.h: Move decl out of ENABLE(VIDEO) ifdef.
85465
85466 2011-06-15  Dimitri Glazkov  <dglazkov@chromium.org>
85467
85468         Reviewed by Kent Tamura.
85469
85470         Move FileChooser::basenameForWidth to RenderTheme::fileListNameForWidth, eliminate gnarly FileChooserFoo proliferation.
85471         https://bugs.webkit.org/show_bug.cgi?id=62748
85472
85473         Refactoring, covered by existing tests.
85474
85475         * CMakeListsEfl.txt: Removed FileChooserFoo from build system.
85476         * CMakeListsWinCE.txt: Ditto.
85477         * GNUmakefile.list.am: Ditto.
85478         * WebCore.gypi: Ditto.
85479         * WebCore.order: Ditto.
85480         * WebCore.pro: Ditto.
85481         * WebCore.vcproj/WebCore.vcproj: Ditto.
85482         * WebCore.xcodeproj/project.pbxproj: Ditto.
85483         * platform/FileChooser.h: Removed baseNameForWidth decl.
85484         * platform/FileSystem.h: Removed now-unnecessary Chromium-specific cruft.
85485         * platform/android/FileChooserAndroid.cpp: Removed.
85486         * platform/brew/FileChooserBrew.cpp: Removed.
85487         * platform/chromium/FileChooserChromium.cpp: Removed.
85488         * platform/chromium/FileSystemChromiumLinux.cpp: Removed now-unnecessary code.
85489         * platform/chromium/FileSystemChromiumMac.mm: Ditto.
85490         * platform/chromium/FileSystemChromiumWin.cpp: Ditto.
85491         * platform/efl/FileChooserEfl.cpp: Removed.
85492         * platform/gtk/FileChooserGtk.cpp: Removed.
85493         * platform/gtk/RenderThemeGtk.cpp:
85494         (WebCore::stringByAdoptingFileSystemRepresentation): Moved from FileChooserGtk.
85495         (WebCore::RenderThemeGtk::fileListNameForWidth): Ditto.
85496         * platform/gtk/RenderThemeGtk.h: Added decl.
85497         * platform/haiku/FileChooserHaiku.cpp: Removed.
85498         * platform/mac/FileChooserMac.mm: Removed.
85499         * platform/qt/FileChooserQt.cpp: Removed.
85500         * platform/qt/RenderThemeQt.cpp:
85501         (WebCore::RenderThemeQt::RenderThemeQt): Moved from FileChooserQt.
85502         (WebCore::RenderThemeQt::fileListNameForWidth): Ditto.
85503         * platform/qt/RenderThemeQt.h: Adde decl.
85504         * platform/win/FileChooserWin.cpp: Removed.
85505         * platform/wx/FileChooserWx.cpp: Removed.
85506         * rendering/RenderFileUploadControl.cpp:
85507         (WebCore::RenderFileUploadControl::fileTextValue): Changed to use RenderTheme.
85508         * rendering/RenderTheme.cpp:
85509         (WebCore::RenderTheme::fileListNameForWidth): Added default impl.
85510         * rendering/RenderTheme.h: Added decl.
85511         * rendering/RenderThemeMac.h: Ditto.
85512         * rendering/RenderThemeMac.mm:
85513         (WebCore::RenderThemeMac::fileListNameForWidth): Added default Mac impl.
85514
85515 2011-06-16  Vsevolod Vlasov  <vsevik@chromium.org>
85516
85517         Reviewed by Pavel Feldman.
85518
85519         Web Inspector: Cache XHR content in backend, do not use initialContentSet for XHRs.
85520         https://bugs.webkit.org/show_bug.cgi?id=61205
85521
85522         Added inspector backend cache for XHR content.
85523
85524         Tests: http/tests/inspector/network/network-xhr-async.html
85525                http/tests/inspector/network/network-xhr-sync.html
85526
85527         * CMakeLists.txt:
85528         * GNUmakefile.list.am:
85529         * WebCore.gypi:
85530         * WebCore.pro:
85531         * WebCore.vcproj/WebCore.vcproj:
85532         * WebCore.xcodeproj/project.pbxproj:
85533         * fileapi/FileReaderLoader.cpp:
85534         (WebCore::FileReaderLoader::didReceiveResponse):
85535         * fileapi/FileReaderLoader.h:
85536         * inspector/Inspector.json:
85537         * inspector/InspectorInstrumentation.cpp:
85538         (WebCore::InspectorInstrumentation::didReceiveXHRResponseImpl):
85539         (WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl):
85540         (WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl):
85541         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
85542         * inspector/InspectorInstrumentation.h:
85543         (WebCore::InspectorInstrumentation::didReceiveXHRResponse):
85544         (WebCore::InspectorInstrumentation::willLoadXHRSynchronously):
85545         (WebCore::InspectorInstrumentation::didLoadXHRSynchronously):
85546         * inspector/InspectorResourceAgent.cpp:
85547         (WebCore::InspectorResourceAgent::willSendRequest):
85548         (WebCore::InspectorResourceAgent::didReceiveResponse):
85549         (WebCore::InspectorResourceAgent::setInitialXHRContent):
85550         (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
85551         (WebCore::InspectorResourceAgent::willLoadXHRSynchronously):
85552         (WebCore::InspectorResourceAgent::didLoadXHRSynchronously):
85553         (WebCore::InspectorResourceAgent::getResourceContent):
85554         (WebCore::InspectorResourceAgent::mainFrameNavigated):
85555         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
85556         * inspector/InspectorResourceAgent.h:
85557         * inspector/NetworkResourcesData.cpp: Added.
85558         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
85559         (WebCore::NetworkResourcesData::ResourceData::content):
85560         (WebCore::NetworkResourcesData::ResourceData::appendContent):
85561         (WebCore::NetworkResourcesData::ResourceData::purgeContent):
85562         (WebCore::NetworkResourcesData::NetworkResourcesData):
85563         (WebCore::NetworkResourcesData::~NetworkResourcesData):
85564         (WebCore::NetworkResourcesData::resourceCreated):
85565         (WebCore::NetworkResourcesData::responseReceived):
85566         (WebCore::NetworkResourcesData::didReceiveXHRResponse):
85567         (WebCore::NetworkResourcesData::addResourceContent):
85568         (WebCore::NetworkResourcesData::isXHR):
85569         (WebCore::NetworkResourcesData::data):
85570         (WebCore::NetworkResourcesData::clear):
85571         (WebCore::NetworkResourcesData::ensureNoDataForIdentifier):
85572         (WebCore::NetworkResourcesData::ensureFreeSpace):
85573         * inspector/NetworkResourcesData.h: Added.
85574         (WebCore::NetworkResourcesData::ResourceData::identifier):
85575         (WebCore::NetworkResourcesData::ResourceData::loaderId):
85576         (WebCore::NetworkResourcesData::ResourceData::frameId):
85577         (WebCore::NetworkResourcesData::ResourceData::setFrameId):
85578         (WebCore::NetworkResourcesData::ResourceData::url):
85579         (WebCore::NetworkResourcesData::ResourceData::setUrl):
85580         (WebCore::NetworkResourcesData::ResourceData::isXHR):
85581         (WebCore::NetworkResourcesData::ResourceData::setIsXHR):
85582         (WebCore::NetworkResourcesData::ResourceData::hasContent):
85583         (WebCore::NetworkResourcesData::ResourceData::isContentPurged):
85584         (WebCore::NetworkResourcesData::ResourceData::setIsContentPurged):
85585         * inspector/front-end/NetworkManager.js:
85586         (WebInspector.NetworkManager.prototype.requestContent):
85587         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
85588         * inspector/front-end/NetworkPanel.js:
85589         (WebInspector.NetworkPanel.prototype._appendResource):
85590         (WebInspector.NetworkPanel.prototype._frameNavigated):
85591         * loader/DocumentThreadableLoader.cpp:
85592         (WebCore::DocumentThreadableLoader::didReceiveResponse):
85593         (WebCore::DocumentThreadableLoader::receivedCancellation):
85594         (WebCore::DocumentThreadableLoader::loadRequest):
85595         * loader/DocumentThreadableLoader.h:
85596         * loader/ThreadableLoaderClient.h:
85597         (WebCore::ThreadableLoaderClient::didReceiveResponse):
85598         (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
85599         * loader/ThreadableLoaderClientWrapper.h:
85600         (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
85601         (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
85602         * loader/WorkerThreadableLoader.cpp:
85603         (WebCore::workerContextDidReceiveResponse):
85604         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
85605         (WebCore::workerContextDidReceiveAuthenticationCancellation):
85606         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
85607         * loader/WorkerThreadableLoader.h:
85608         * notifications/Notification.cpp:
85609         (WebCore::Notification::didReceiveResponse):
85610         (WebCore::Notification::didReceiveAuthenticationCancellation):
85611         * notifications/Notification.h:
85612         * page/EventSource.cpp:
85613         (WebCore::EventSource::didReceiveResponse):
85614         * page/EventSource.h:
85615         * workers/WorkerScriptLoader.cpp:
85616         (WebCore::WorkerScriptLoader::didReceiveResponse):
85617         (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
85618         * workers/WorkerScriptLoader.h:
85619         * xml/XMLHttpRequest.cpp:
85620         (WebCore::XMLHttpRequest::createRequest):
85621         (WebCore::XMLHttpRequest::didReceiveResponse):
85622         (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
85623         * xml/XMLHttpRequest.h:
85624
85625 2011-06-16  Julien Chaffraix  <jchaffraix@webkit.org>
85626
85627         Reviewed by Darin Adler.
85628
85629         HTMLTable should cache its 'rows' collection results
85630         https://bugs.webkit.org/show_bug.cgi?id=62800
85631
85632         Test: perf/table-rows-length-caching.html
85633
85634         Currently all our HTMLCollection's are recreated on call. This means that
85635         we don't cache the information about the collection between calls to, for
85636         example, table.rows.
85637
85638         This change adds a CollectionCache to HTMLTableElement. It is similar to what
85639         is done for HTMLFormElement.
85640
85641         * html/HTMLTableElement.cpp:
85642         (WebCore::HTMLTableElement::collectionCache): This method does
85643         lazy initialization of the table's collectionCache.
85644         * html/HTMLTableElement.h: Added a new member and the previous
85645         method.
85646
85647         * html/HTMLTableRowsCollection.cpp:
85648         (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection): Pass
85649         the HTMLTableElement's CollectionCache so that we reuse the cached
85650         results.
85651
85652 2011-06-16  Sheriff Bot  <webkit.review.bot@gmail.com>
85653
85654         Unreviewed, rolling out r89025.
85655         http://trac.webkit.org/changeset/89025
85656         https://bugs.webkit.org/show_bug.cgi?id=62799
85657
85658         "Some layout tests fail" (Requested by yurys on #webkit).
85659
85660         * CMakeLists.txt:
85661         * GNUmakefile.list.am:
85662         * WebCore.gypi:
85663         * WebCore.pro:
85664         * WebCore.vcproj/WebCore.vcproj:
85665         * WebCore.xcodeproj/project.pbxproj:
85666         * fileapi/FileReaderLoader.cpp:
85667         (WebCore::FileReaderLoader::didReceiveResponse):
85668         * fileapi/FileReaderLoader.h:
85669         * inspector/Inspector.json:
85670         * inspector/InspectorInstrumentation.cpp:
85671         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
85672         * inspector/InspectorInstrumentation.h:
85673         * inspector/InspectorResourceAgent.cpp:
85674         (WebCore::InspectorResourceAgent::willSendRequest):
85675         (WebCore::InspectorResourceAgent::didReceiveResponse):
85676         (WebCore::InspectorResourceAgent::setInitialXHRContent):
85677         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
85678         * inspector/InspectorResourceAgent.h:
85679         * inspector/NetworkResourcesData.cpp: Removed.
85680         * inspector/NetworkResourcesData.h: Removed.
85681         * inspector/front-end/NetworkManager.js:
85682         (WebInspector.NetworkManager.prototype.requestContent):
85683         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
85684         * inspector/front-end/NetworkPanel.js:
85685         (WebInspector.NetworkPanel.prototype._appendResource):
85686         (WebInspector.NetworkPanel.prototype._frameNavigated):
85687         * loader/DocumentThreadableLoader.cpp:
85688         (WebCore::DocumentThreadableLoader::didReceiveResponse):
85689         (WebCore::DocumentThreadableLoader::receivedCancellation):
85690         (WebCore::DocumentThreadableLoader::loadRequest):
85691         * loader/DocumentThreadableLoader.h:
85692         * loader/ThreadableLoaderClient.h:
85693         (WebCore::ThreadableLoaderClient::didReceiveResponse):
85694         (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
85695         * loader/ThreadableLoaderClientWrapper.h:
85696         (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
85697         (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
85698         * loader/WorkerThreadableLoader.cpp:
85699         (WebCore::workerContextDidReceiveResponse):
85700         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
85701         (WebCore::workerContextDidReceiveAuthenticationCancellation):
85702         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
85703         * loader/WorkerThreadableLoader.h:
85704         * notifications/Notification.cpp:
85705         (WebCore::Notification::didReceiveResponse):
85706         (WebCore::Notification::didReceiveAuthenticationCancellation):
85707         * notifications/Notification.h:
85708         * page/EventSource.cpp:
85709         (WebCore::EventSource::didReceiveResponse):
85710         * page/EventSource.h:
85711         * workers/WorkerScriptLoader.cpp:
85712         (WebCore::WorkerScriptLoader::didReceiveResponse):
85713         (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
85714         * workers/WorkerScriptLoader.h:
85715         * xml/XMLHttpRequest.cpp:
85716         (WebCore::XMLHttpRequest::createRequest):
85717         (WebCore::XMLHttpRequest::didReceiveResponse):
85718         (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
85719         * xml/XMLHttpRequest.h:
85720
85721 2011-06-16  Vitaly Repeshko  <vitalyr@chromium.org>
85722
85723         Unreviewed.
85724
85725         Revert Adam's user gesture patch series r89002, r89005, r89007, r89018
85726         https://bugs.webkit.org/show_bug.cgi?id=62796
85727
85728         The patches broke chromium browser tests.
85729
85730         * WebCore.exp.in:
85731         * bindings/js/ScheduledAction.cpp:
85732         (WebCore::ScheduledAction::execute):
85733         * bindings/js/ScriptController.cpp:
85734         (WebCore::ScriptController::ScriptController):
85735         (WebCore::ScriptController::processingUserGesture):
85736         (WebCore::ScriptController::isJavaScriptAnchorNavigation):
85737         * bindings/js/ScriptController.h:
85738         (WebCore::ScriptController::setProcessingTimerCallback):
85739         * bindings/v8/ScriptController.cpp:
85740         (WebCore::ScriptController::ScriptController):
85741         (WebCore::ScriptController::processingUserGesture):
85742         * bindings/v8/ScriptController.h:
85743         (WebCore::ScriptController::setProcessingTimerCallback):
85744         * dom/Event.cpp:
85745         (WebCore::Event::fromUserGesture):
85746         * dom/Event.h:
85747         * dom/UserGestureIndicator.cpp:
85748         (WebCore::UserGestureIndicator::UserGestureIndicator):
85749         (WebCore::UserGestureIndicator::~UserGestureIndicator):
85750         * dom/UserGestureIndicator.h:
85751         (WebCore::UserGestureIndicator::processingUserGesture):
85752         (WebCore::UserGestureIndicator::getUserGestureState):
85753         * html/HTMLMediaElement.cpp:
85754         (WebCore::HTMLMediaElement::removedFromDocument):
85755         (WebCore::HTMLMediaElement::load):
85756         (WebCore::HTMLMediaElement::play):
85757         (WebCore::HTMLMediaElement::pause):
85758         (WebCore::HTMLMediaElement::beginScrubbing):
85759         (WebCore::HTMLMediaElement::resume):
85760         (WebCore::HTMLMediaElement::processingUserGesture):
85761         * html/HTMLMediaElement.h:
85762         * html/HTMLMediaElement.idl:
85763         * html/HTMLVideoElement.cpp:
85764         (WebCore::HTMLVideoElement::webkitEnterFullscreen):
85765         * html/HTMLVideoElement.h:
85766         (WebCore::HTMLVideoElement::webkitEnterFullScreen):
85767         * html/HTMLVideoElement.idl:
85768         * html/MediaDocument.cpp:
85769         (WebCore::MediaDocument::defaultEventHandler):
85770         * html/shadow/MediaControlElements.cpp:
85771         (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
85772         * html/shadow/TextControlInnerElements.cpp:
85773         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
85774
85775 2011-06-16  Vsevolod Vlasov  <vsevik@chromium.org>
85776
85777         Reviewed by Yury Semikhatsky.
85778
85779         Web Inspector: Cache XHR content in backend, do not use initialContentSet for XHRs.
85780         https://bugs.webkit.org/show_bug.cgi?id=61205
85781
85782         Added inspector backend cache for XHR content.
85783
85784         Tests: http/tests/inspector/network/network-xhr-async.html
85785                http/tests/inspector/network/network-xhr-sync.html
85786
85787         * CMakeLists.txt:
85788         * GNUmakefile.list.am:
85789         * WebCore.gypi:
85790         * WebCore.pro:
85791         * WebCore.vcproj/WebCore.vcproj:
85792         * WebCore.xcodeproj/project.pbxproj:
85793         * fileapi/FileReaderLoader.cpp:
85794         (WebCore::FileReaderLoader::didReceiveResponse):
85795         * fileapi/FileReaderLoader.h:
85796         * inspector/Inspector.json:
85797         * inspector/InspectorInstrumentation.cpp:
85798         (WebCore::InspectorInstrumentation::didReceiveXHRResponseImpl):
85799         (WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl):
85800         (WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl):
85801         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
85802         * inspector/InspectorInstrumentation.h:
85803         (WebCore::InspectorInstrumentation::didReceiveXHRResponse):
85804         (WebCore::InspectorInstrumentation::willLoadXHRSynchronously):
85805         (WebCore::InspectorInstrumentation::didLoadXHRSynchronously):
85806         * inspector/InspectorResourceAgent.cpp:
85807         (WebCore::InspectorResourceAgent::willSendRequest):
85808         (WebCore::InspectorResourceAgent::didReceiveResponse):
85809         (WebCore::InspectorResourceAgent::setInitialXHRContent):
85810         (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
85811         (WebCore::InspectorResourceAgent::willLoadXHRSynchronously):
85812         (WebCore::InspectorResourceAgent::didLoadXHRSynchronously):
85813         (WebCore::InspectorResourceAgent::getResourceContent):
85814         (WebCore::InspectorResourceAgent::mainFrameNavigated):
85815         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
85816         * inspector/InspectorResourceAgent.h:
85817         * inspector/NetworkResourcesData.cpp: Added.
85818         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
85819         (WebCore::NetworkResourcesData::ResourceData::content):
85820         (WebCore::NetworkResourcesData::ResourceData::appendContent):
85821         (WebCore::NetworkResourcesData::ResourceData::purgeContent):
85822         (WebCore::NetworkResourcesData::NetworkResourcesData):
85823         (WebCore::NetworkResourcesData::~NetworkResourcesData):
85824         (WebCore::NetworkResourcesData::resourceCreated):
85825         (WebCore::NetworkResourcesData::responseReceived):
85826         (WebCore::NetworkResourcesData::didReceiveXHRResponse):
85827         (WebCore::NetworkResourcesData::addResourceContent):
85828         (WebCore::NetworkResourcesData::isXHR):
85829         (WebCore::NetworkResourcesData::data):
85830         (WebCore::NetworkResourcesData::clear):
85831         (WebCore::NetworkResourcesData::ensureFreeSpace):
85832         * inspector/NetworkResourcesData.h: Added.
85833         (WebCore::NetworkResourcesData::ResourceData::identifier):
85834         (WebCore::NetworkResourcesData::ResourceData::loaderId):
85835         (WebCore::NetworkResourcesData::ResourceData::frameId):
85836         (WebCore::NetworkResourcesData::ResourceData::setFrameId):
85837         (WebCore::NetworkResourcesData::ResourceData::url):
85838         (WebCore::NetworkResourcesData::ResourceData::setUrl):
85839         (WebCore::NetworkResourcesData::ResourceData::isXHR):
85840         (WebCore::NetworkResourcesData::ResourceData::setIsXHR):
85841         (WebCore::NetworkResourcesData::ResourceData::hasContent):
85842         (WebCore::NetworkResourcesData::ResourceData::isContentPurged):
85843         (WebCore::NetworkResourcesData::ResourceData::setIsContentPurged):
85844         * inspector/front-end/NetworkManager.js:
85845         (WebInspector.NetworkManager.prototype.requestContent):
85846         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
85847         * inspector/front-end/NetworkPanel.js:
85848         (WebInspector.NetworkPanel.prototype._appendResource):
85849         (WebInspector.NetworkPanel.prototype._frameNavigated):
85850         * loader/DocumentThreadableLoader.cpp:
85851         (WebCore::DocumentThreadableLoader::didReceiveResponse):
85852         (WebCore::DocumentThreadableLoader::receivedCancellation):
85853         (WebCore::DocumentThreadableLoader::loadRequest):
85854         * loader/DocumentThreadableLoader.h:
85855         * loader/ThreadableLoaderClient.h:
85856         (WebCore::ThreadableLoaderClient::didReceiveResponse):
85857         (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
85858         * loader/ThreadableLoaderClientWrapper.h:
85859         (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
85860         (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
85861         * loader/WorkerThreadableLoader.cpp:
85862         (WebCore::workerContextDidReceiveResponse):
85863         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
85864         (WebCore::workerContextDidReceiveAuthenticationCancellation):
85865         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
85866         * loader/WorkerThreadableLoader.h:
85867         * notifications/Notification.cpp:
85868         (WebCore::Notification::didReceiveResponse):
85869         (WebCore::Notification::didReceiveAuthenticationCancellation):
85870         * notifications/Notification.h:
85871         * page/EventSource.cpp:
85872         (WebCore::EventSource::didReceiveResponse):
85873         * page/EventSource.h:
85874         * workers/WorkerScriptLoader.cpp:
85875         (WebCore::WorkerScriptLoader::didReceiveResponse):
85876         (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
85877         * workers/WorkerScriptLoader.h:
85878         * xml/XMLHttpRequest.cpp:
85879         (WebCore::XMLHttpRequest::createRequest):
85880         (WebCore::XMLHttpRequest::didReceiveResponse):
85881         (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
85882         * xml/XMLHttpRequest.h:
85883
85884 2011-06-16  Hayato Ito  <hayato@chromium.org>
85885
85886         Reviewed by Hajime Morita.
85887
85888         Show child elements of a shadow host in Node::showTreeForThisAcrossFrame.
85889         https://bugs.webkit.org/show_bug.cgi?id=62782
85890
85891         To make an implementation simple, get rid of traverseNextNodeAcrossFrame
85892         and traverse each Node recursively.
85893
85894         No new tests since the function is only available in debug builds.
85895
85896         * dom/Node.cpp:
85897         (WebCore::showSubTreeAcrossFrame):
85898         (WebCore::Node::showTreeForThisAcrossFrame):
85899
85900 2011-06-16  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
85901
85902         Reviewed by Kent Tamura.
85903
85904         [EFL] Move Initialization of defaultFontSize to top of file.
85905         https://bugs.webkit.org/show_bug.cgi?id=62787
85906
85907         * platform/efl/RenderThemeEfl.cpp: Move Initialize code of defaultFontSize to top.
85908
85909 2011-06-16  Sheriff Bot  <webkit.review.bot@gmail.com>
85910
85911         Unreviewed, rolling out r88796.
85912         http://trac.webkit.org/changeset/88796
85913         https://bugs.webkit.org/show_bug.cgi?id=62790
85914
85915         It made fast/dom/nodesFromRect-basic.html time out on Qt,
85916         64-bit, debug mode (Requested by Ossy on #webkit).
85917
85918         * bridge/qt/qt_runtime.cpp:
85919         (JSC::Bindings::convertValueToQVariant):
85920
85921 2011-06-16  Adam Barth  <abarth@webkit.org>
85922
85923         Reviewed by Eric Seidel.
85924
85925         Remove HTMLVideoElement::processingUserGesture
85926         https://bugs.webkit.org/show_bug.cgi?id=62784
85927
85928         HTMLMediaElement shouldn't have its own notion of the user gesture
85929         state.  It should just use the normal user gesture state.  Also,
85930         there's no point in having the bindings send the user gesture state in
85931         a boolean parameter.
85932
85933         * WebCore.exp.in:
85934         * html/HTMLMediaElement.cpp:
85935         (WebCore::HTMLMediaElement::removedFromDocument):
85936         (WebCore::HTMLMediaElement::load):
85937         (WebCore::HTMLMediaElement::play):
85938         (WebCore::HTMLMediaElement::pause):
85939         (WebCore::HTMLMediaElement::beginScrubbing):
85940         (WebCore::HTMLMediaElement::resume):
85941         * html/HTMLMediaElement.h:
85942         * html/HTMLMediaElement.idl:
85943         * html/HTMLVideoElement.cpp:
85944         (WebCore::HTMLVideoElement::webkitEnterFullscreen):
85945         * html/HTMLVideoElement.h:
85946         (WebCore::HTMLVideoElement::webkitEnterFullScreen):
85947         * html/HTMLVideoElement.idl:
85948         * html/MediaDocument.cpp:
85949         (WebCore::MediaDocument::defaultEventHandler):
85950         * html/shadow/MediaControlElements.cpp:
85951         (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
85952
85953 2011-06-16  Sheriff Bot  <webkit.review.bot@gmail.com>
85954
85955         Unreviewed, rolling out r89011.
85956         http://trac.webkit.org/changeset/89011
85957         https://bugs.webkit.org/show_bug.cgi?id=62789
85958
85959         Broke mac build (Requested by vitalyr_ on #webkit).
85960
85961         * platform/chromium/ScrollAnimatorChromiumMac.h:
85962         * platform/chromium/ScrollAnimatorChromiumMac.mm:
85963         (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
85964         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
85965         (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
85966         (WebCore::ScrollAnimatorChromiumMac::scroll):
85967         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
85968         (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
85969         (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
85970         (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
85971         (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
85972         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
85973         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
85974
85975 2011-06-16  Sailesh Agrawal  <sail@chromium.org>
85976
85977         Reviewed by James Robinson.
85978
85979         [Chromium] Update forked ScrollAnimatorChromiumMac.mm/h
85980         https://bugs.webkit.org/show_bug.cgi?id=62779
85981
85982         Updated ScrollAnimatorChromiumMac.mm/h with the latest code in WebCore/platform/mac/ScrollAnimatorMac.mm/h
85983
85984         * platform/chromium/ScrollAnimatorChromiumMac.h:
85985         (WebCore::ScrollAnimatorChromiumMac::setNeedsScrollerStyleUpdate):
85986         (WebCore::ScrollAnimatorChromiumMac::needsScrollerStyleUpdate):
85987         * platform/chromium/ScrollAnimatorChromiumMac.mm:
85988         (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
85989         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
85990         (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
85991         (WebCore::ScrollAnimatorChromiumMac::scroll):
85992         (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPointForScrollAnimation):
85993         (WebCore::isScrollingLeftAndShouldNotRubberBand):
85994         (WebCore::isScrollingRightAndShouldNotRubberBand):
85995         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
85996         (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
85997         (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
85998         (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
85999         (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
86000         (WebCore::ScrollAnimatorChromiumMac::setIsActive):
86001         (WebCore::ScrollAnimatorChromiumMac::updateScrollerStyle):
86002         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
86003         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
86004         (wkScrollbarPainterControllerStyle):
86005
86006 2011-06-15  Mikhail Naganov  <mnaganov@chromium.org>
86007
86008         Reviewed by Pavel Feldman.
86009
86010         WebInspector [Chromium]: Make heap snapshots UI more responsive.
86011         https://bugs.webkit.org/show_bug.cgi?id=62360
86012
86013         Two changes have been made:
86014           - when we request elements, sort array only partially;
86015           - when populating children, do it in batches;
86016
86017         * WebCore.gypi:
86018         * WebCore.vcproj/WebCore.vcproj:
86019         * inspector/front-end/DetailedHeapshotGridNodes.js:
86020         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
86021         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
86022         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
86023         * inspector/front-end/HeapSnapshot.js:
86024         (WebInspector.HeapSnapshotFilteredOrderedIterator):
86025         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeNextItems):
86026         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind):
86027         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort):
86028         (WebInspector.HeapSnapshotNodesProvider.prototype.sort):
86029         * inspector/front-end/HeapSnapshotWorker.js:
86030         * inspector/front-end/PartialQuickSort.js: Added.
86031         * inspector/front-end/WebKit.qrc:
86032         * inspector/front-end/inspector.html:
86033
86034 2011-06-15  Adam Barth  <abarth@webkit.org>
86035
86036         Reviewed by Eric Seidel.
86037
86038         Remove Event::fromUserGesture
86039         https://bugs.webkit.org/show_bug.cgi?id=62778
86040
86041         This function is a remnant from the old user-gesture design.  The list
86042         of events here is redundant with our selection of call sites for
86043         setting the user gesture indicator.
86044
86045         As part of this patch, I've also cleaned up the implementation of
86046         UserGestureIndicator itself to always be definite about whether we're
86047         processing a user gesture.  We now start out in a definite state (no
86048         user gesture) and inductively state in a definite state.
86049
86050         * WebCore.exp.in:
86051         * bindings/js/ScriptController.cpp:
86052         (WebCore::ScriptController::processingUserGesture):
86053         * bindings/v8/ScriptController.cpp:
86054         (WebCore::ScriptController::processingUserGesture):
86055         * dom/Event.cpp:
86056         * dom/Event.h:
86057         * dom/UserGestureIndicator.cpp:
86058         (WebCore::isDefinite):
86059         (WebCore::UserGestureIndicator::UserGestureIndicator):
86060         (WebCore::UserGestureIndicator::~UserGestureIndicator):
86061         * dom/UserGestureIndicator.h:
86062         (WebCore::UserGestureIndicator::processingUserGesture):
86063         * html/MediaDocument.cpp:
86064         (WebCore::MediaDocument::defaultEventHandler):
86065         * html/shadow/MediaControlElements.cpp:
86066         (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
86067         * html/shadow/TextControlInnerElements.cpp:
86068         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
86069
86070 2011-06-08  Keishi Hattori  <keishi@webkit.org>
86071
86072         Reviewed by Kent Tamura.
86073
86074         Fix range element not updating when value attribute is set with JS
86075         https://bugs.webkit.org/show_bug.cgi?id=61857
86076
86077         Test: fast/forms/range-set-attribute.html
86078
86079         * html/RangeInputType.cpp:
86080         (WebCore::RangeInputType::minOrMaxAttributeChanged): Changed to only sanitize the value when the dirty value flag is true.
86081
86082 2011-06-15  Adam Barth  <abarth@webkit.org>
86083
86084         Unreviewed.  (Technically I should get this reviewed, but I
86085         accidentally committed part of this patch in my previous commit,
86086         causing a build break.)
86087
86088         Remove ScriptController::m_processingTimerCallback
86089         https://bugs.webkit.org/show_bug.cgi?id=62776
86090
86091         This variable is unused.  (It used to be used in a user gesture detection hack.)
86092
86093         * bindings/js/ScheduledAction.cpp:
86094         (WebCore::ScheduledAction::execute):
86095         * bindings/js/ScriptController.cpp:
86096         (WebCore::ScriptController::ScriptController):
86097         * bindings/js/ScriptController.h:
86098         * bindings/v8/ScriptController.cpp:
86099         (WebCore::ScriptController::ScriptController):
86100         * bindings/v8/ScriptController.h:
86101
86102 2011-06-15  Kent Tamura  <tkent@chromium.org>
86103
86104         Reviewed by Dimitri Glazkov.
86105
86106         [Chromium][Qt] Some slider clicking tests fail.
86107         https://bugs.webkit.org/show_bug.cgi?id=62683
86108
86109         When we pressed a mouse button on a slider thumb,
86110         SliderThumbElement::startDragging() were called twice.
86111          - From SliderThumbElement::defaultEventHandler(), and
86112          - from RangeInputType::handleMouseDownEvent()
86113         The latter is not needed. We should call setDefaultHandled() correctly.
86114
86115         * html/RangeInputType.cpp:
86116         (WebCore::RangeInputType::handleMouseDownEvent): Calls setDefaultHandled()
86117         * html/shadow/SliderThumbElement.cpp:
86118         (WebCore::SliderThumbElement::setPositionFromPoint): Remove FIXME comments.
86119         (WebCore::SliderThumbElement::defaultEventHandler): Calls setDefaultHandled()
86120
86121 2011-06-15  Adam Barth  <abarth@webkit.org>
86122
86123         Reviewed by Anders Carlsson.
86124
86125         Remove ScriptController::isJavaScriptAnchorNavigation
86126         https://bugs.webkit.org/show_bug.cgi?id=62775
86127
86128         This function no longer plays a role in the user gesture code now that
86129         we're not encoding the user gesture state into the ScriptSourceCode
86130         URL.
86131
86132         * bindings/js/ScriptController.cpp:
86133         (WebCore::ScriptController::processingUserGesture):
86134         * bindings/js/ScriptController.h:
86135         * bindings/v8/ScriptController.cpp:
86136         (WebCore::ScriptController::processingUserGesture):
86137
86138 2011-06-15  Adam Barth  <abarth@webkit.org>
86139
86140         Reviewed by Eric Seidel.
86141
86142         Remove ScriptController::setAllowPopupsFromPlugin
86143         https://bugs.webkit.org/show_bug.cgi?id=62706
86144
86145         This API is just a poor man's UserGestureIndicator.  We should use the
86146         real deal.
86147
86148         * bindings/js/ScriptController.cpp:
86149         (WebCore::ScriptController::ScriptController):
86150         (WebCore::ScriptController::processingUserGesture):
86151         * bindings/js/ScriptController.h:
86152         * bindings/v8/NPV8Object.cpp:
86153         (_NPN_EvaluateHelper):
86154         * bindings/v8/ScriptController.cpp:
86155         (WebCore::ScriptController::ScriptController):
86156         (WebCore::ScriptController::processingUserGesture):
86157         * bindings/v8/ScriptController.h:
86158
86159 2011-06-15  Adam Barth  <abarth@webkit.org>
86160
86161         Reviewed by Eric Seidel.
86162
86163         Remove forceUserGesture bool in favor of UserGestureIndicator
86164         https://bugs.webkit.org/show_bug.cgi?id=62702
86165
86166         This patch is an intermediate step towards removing the
86167         forceUserGesture bool.  In this patch, we use the user gesture
86168         indicator to store the gesture state instead of encoding it in the URL
86169         of the script source code.  In a future patch, we'll push the indicator
86170         higher up the stack, closer to the reason for setting it.
86171
86172         * bindings/ScriptControllerBase.cpp:
86173         (WebCore::ScriptController::executeScript):
86174         (WebCore::ScriptController::executeIfJavaScriptURL):
86175         * bindings/js/ScriptController.cpp:
86176         (WebCore::ScriptController::executeScriptInWorld):
86177
86178 2011-06-15  Rob Buis  <rbuis@rim.com>
86179
86180         Reviewed by Darin Adler.
86181
86182         Try to use fastGetAttribute where possible
86183         https://bugs.webkit.org/show_bug.cgi?id=62747
86184
86185         Use the fast versions of get/hasAttribute where we can.
86186
86187         No new tests since this is a simple cleanup.
86188
86189         * svg/SVGAElement.cpp:
86190         (WebCore::SVGAElement::title):
86191         (WebCore::SVGAElement::defaultEventHandler):
86192         * svg/SVGAltGlyphElement.cpp:
86193         (WebCore::SVGAltGlyphElement::glyphRef):
86194         (WebCore::SVGAltGlyphElement::format):
86195         (WebCore::SVGAltGlyphElement::glyphElement):
86196         * svg/SVGAnimateMotionElement.cpp:
86197         (WebCore::SVGAnimateMotionElement::rotateMode):
86198         (WebCore::SVGAnimateMotionElement::animationPath):
86199         * svg/SVGAnimationElement.cpp:
86200         (WebCore::SVGAnimationElement::animationMode):
86201         (WebCore::SVGAnimationElement::calcMode):
86202         (WebCore::SVGAnimationElement::attributeType):
86203         (WebCore::SVGAnimationElement::toValue):
86204         (WebCore::SVGAnimationElement::byValue):
86205         (WebCore::SVGAnimationElement::fromValue):
86206         (WebCore::SVGAnimationElement::isAdditive):
86207         (WebCore::SVGAnimationElement::isAccumulated):
86208         (WebCore::SVGAnimationElement::startedActiveInterval):
86209         * svg/SVGElement.cpp:
86210         (WebCore::SVGElement::xmlbase):
86211         * svg/SVGFontElement.cpp:
86212         (WebCore::SVGFontElement::ensureGlyphCache):
86213         * svg/SVGFontFaceElement.cpp:
86214         (WebCore::SVGFontFaceElement::unitsPerEm):
86215         (WebCore::SVGFontFaceElement::xHeight):
86216         (WebCore::SVGFontFaceElement::horizontalOriginX):
86217         (WebCore::SVGFontFaceElement::horizontalOriginY):
86218         (WebCore::SVGFontFaceElement::horizontalAdvanceX):
86219         (WebCore::SVGFontFaceElement::verticalOriginX):
86220         (WebCore::SVGFontFaceElement::verticalOriginY):
86221         (WebCore::SVGFontFaceElement::verticalAdvanceY):
86222         (WebCore::SVGFontFaceElement::ascent):
86223         (WebCore::SVGFontFaceElement::descent):
86224         * svg/SVGFontFaceNameElement.cpp:
86225         (WebCore::SVGFontFaceNameElement::srcValue):
86226         * svg/SVGFontFaceUriElement.cpp:
86227         (WebCore::SVGFontFaceUriElement::srcValue):
86228         (WebCore::SVGFontFaceUriElement::loadFont):
86229         * svg/SVGGlyphElement.cpp:
86230         (WebCore::parseSVGGlyphAttribute):
86231         (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier):
86232         (WebCore::SVGGlyphElement::buildGlyphIdentifier):
86233         * svg/SVGHKernElement.cpp:
86234         (WebCore::SVGHKernElement::buildHorizontalKerningPair):
86235         * svg/SVGSVGElement.cpp:
86236         (WebCore::SVGSVGElement::contentScriptType):
86237         (WebCore::SVGSVGElement::contentStyleType):
86238         * svg/SVGStyleElement.cpp:
86239         (WebCore::SVGStyleElement::type):
86240         (WebCore::SVGStyleElement::media):
86241         (WebCore::SVGStyleElement::title):
86242         * svg/SVGVKernElement.cpp:
86243         (WebCore::SVGVKernElement::buildVerticalKerningPair):
86244         * svg/animation/SVGSMILElement.cpp:
86245         (WebCore::SVGSMILElement::insertedIntoDocument):
86246         (WebCore::SVGSMILElement::parseMappedAttribute):
86247         (WebCore::SVGSMILElement::restart):
86248         (WebCore::SVGSMILElement::fill):
86249         (WebCore::SVGSMILElement::xlinkHref):
86250         (WebCore::SVGSMILElement::dur):
86251         (WebCore::SVGSMILElement::repeatDur):
86252         (WebCore::SVGSMILElement::repeatCount):
86253         (WebCore::SVGSMILElement::maxValue):
86254         (WebCore::SVGSMILElement::minValue):
86255
86256 2011-06-15  Abhishek Arya  <inferno@chromium.org>
86257
86258         Reviewed by Antti Koivisto.
86259
86260         Revert speculative fix in r84151. It caused some issues with
86261         stylesheet lifetimes.
86262         https://bugs.webkit.org/show_bug.cgi?id=62586
86263
86264         Tests: fast/dom/body-clone-link-decl-parent-crash.html
86265                fast/dom/styled-clone-inline-style-decl-parent-crash.html
86266                fast/dom/styled-not-in-document-clone-inline-style-decl-parent-crash.html
86267
86268         * dom/Document.cpp:
86269         (WebCore::Document::removedLastRef):
86270
86271 2011-06-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
86272
86273         Reviewed by Kent Tamura.
86274
86275         [EFL] Implement animationXXX functions for Progress Tag
86276         https://bugs.webkit.org/show_bug.cgi?id=62713
86277
86278         Progress tag need to implement acnimationXXX functions in order to show animation of 
86279         progress tag. Because, RenderProgress decides to show update progress bar's animation
86280         according to the functions.
86281
86282         * platform/efl/RenderThemeEfl.cpp:
86283         (WebCore::RenderThemeEfl::animationRepeatIntervalForProgressBar):
86284         (WebCore::RenderThemeEfl::animationDurationForProgressBar):
86285         * platform/efl/RenderThemeEfl.h:
86286
86287 2011-06-15  Sam Weinig  <sam@webkit.org>
86288
86289         Reviewed by Alexey Proskuryakov.
86290
86291         Frequent crashes due to null frame below ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache
86292         https://bugs.webkit.org/show_bug.cgi?id=62764
86293
86294         This is an non-reproducible high volume crash, so no test :(. 
86295
86296         * loader/DocumentLoader.cpp:
86297         (WebCore::DocumentLoader::detachFromFrame):
86298         Be conservative and stop loading when we detach a document loader from a frame.
86299
86300 2011-06-15  Beth Dakin  <bdakin@apple.com>
86301
86302         Reviewed by Simon Fraser.
86303
86304         https://bugs.webkit.org/show_bug.cgi?id=62746
86305         Crash possible when switching scrollbar appearance preference on Mac
86306         -and corresponding-
86307         <rdar://problem/9323983>
86308         
86309         This crash happens because the current mechanism that is intended to flag 
86310         ScrollAnimators as being in the page cache or not does not work correctly. 
86311         Long-term the fix for this is to move the ScrollableArea HashSet to a more 
86312         appropriate place. In the meantime, this patch addresses the crash by getting 
86313         rid of the m_isActive bool on ScrollAnimator that was intended to represent 
86314         whether or not the ScrollableArea is in the page cache. Instead, ScrollableArea 
86315         implementations now have their own functions to compute whether they are in 
86316         active pages. ScrollAnimator::setIsActive() needs to be kept around even though 
86317         there is no bool to flip anymore because scrollbars may need to be properly 
86318         updated if the appearance was switched while the document was in the page cache.
86319
86320         No longer call FrameView::setAnimatorsAreActive() from 
86321         Document::setIsInPageCache(), instead call it in 
86322         Document::documentDidBecomeActive()
86323         * dom/Document.cpp:
86324         (WebCore::Document::setInPageCache):
86325         (WebCore::Document::documentDidBecomeActive):
86326
86327         ScrollableAreas can now assess whether or not they are on active pages (ie, not 
86328         in the page cache).
86329         * platform/ScrollableArea.h:
86330         (WebCore::ScrollableArea::isOnActivePage):
86331         * rendering/RenderLayer.cpp:
86332         (WebCore::RenderLayer::isOnActivePage):
86333         * rendering/RenderLayer.h:
86334         * rendering/RenderListBox.cpp:
86335         (WebCore::RenderListBox::isOnActivePage):
86336         * rendering/RenderListBox.h:
86337
86338         A FrameView cannot access its Document when it's in the page cache, so it 
86339         usually determines whether it's in the page cache by checking if its frame 
86340         points to a FrameView other than itself.
86341         * page/FrameView.cpp:
86342         (WebCore::FrameView::isOnActivePage):
86343         
86344         Make sure ScrollableAreas are on active pages before setting them as 
86345         active. This will not be necessary when the HashSet become a per-web page 
86346         HashSet.
86347         (WebCore::FrameView::setAnimatorsAreActive):
86348         * page/FrameView.h:
86349         
86350         ScrollAnimator no longer tracks the m_isActive bool. 
86351         * platform/ScrollAnimator.cpp:
86352         (WebCore::ScrollAnimator::ScrollAnimator):
86353         * platform/ScrollAnimator.h:
86354         (WebCore::ScrollAnimator::setIsActive):
86355         
86356         setIsActive() now exclusively calls updateScrollStyle() if there is a pending 
86357         need to do so.
86358         * platform/mac/ScrollAnimatorMac.h:
86359         * platform/mac/ScrollAnimatorMac.mm:
86360         (WebCore::ScrollAnimatorMac::setIsActive):
86361         
86362         Return early if the ScrollableArea is in the page cache. 
86363         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
86364
86365 2011-06-15  Simon Fraser  <simon.fraser@apple.com>
86366
86367         Reviewed by Dan Bernstein.
86368
86369         Have Document keep track of whether scroll listeners are registered
86370         https://bugs.webkit.org/show_bug.cgi?id=62757
86371         
86372         To avoid extra work dispatching scroll events when there are no listeners,
86373         have Document keep track of whether any scroll listeners are registered,
86374         just like it does for some other event types.
86375
86376         * dom/Document.cpp:
86377         (WebCore::Document::addListenerTypeIfNeeded):
86378         * dom/Document.h:
86379         * dom/EventQueue.cpp:
86380         (WebCore::EventQueue::enqueueOrDispatchScrollEvent):
86381
86382 2011-06-15  Dimitri Glazkov  <dglazkov@chromium.org>
86383
86384         Reviewed by Adam Barth.
86385
86386         Clarify FileChooser creation code.
86387         https://bugs.webkit.org/show_bug.cgi?id=62756
86388
86389         initialize() method is only used once and that is not obvious, so just fold it into the create method.
86390
86391         Refactoring, no change in behavior.
86392
86393         * platform/FileChooser.cpp:
86394         (WebCore::FileChooser::create): Folded initialize() code there.
86395         * platform/FileChooser.h: Removed decl.
86396
86397 2011-06-15  Eric Carlson  <eric.carlson@apple.com>
86398
86399         Reviewed by Alexey Proskuryakov.
86400
86401         MediaPlayerPrivate should not know about application cache
86402         https://bugs.webkit.org/show_bug.cgi?id=62648
86403
86404         Test: http/tests/appcache/video.html
86405
86406         * html/HTMLMediaElement.cpp:
86407         (WebCore::createFileURLForApplicationCacheResource): Create a url for a file
86408             in the application cache folder.
86409         (WebCore::HTMLMediaElement::loadResource): Change url to point to file in the application
86410             cache if necessary.
86411         (WebCore::HTMLMediaElement::mediaLoadingFailed): Split failure logic out of setNetworkState
86412             so it can be called when asked to load a file that is not in the application cache.
86413         (WebCore::HTMLMediaElement::setNetworkState): Move failure logic out to mediaLoadingFailed.
86414         * html/HTMLMediaElement.h:
86415
86416         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
86417         (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Remove app cache logic.
86418         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
86419
86420         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
86421         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Ditto.
86422
86423         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
86424         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
86425         (WebCore::MediaPlayerPrivateQTKit::loadInternal): Ditto.
86426
86427         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
86428         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal): Ditto.
86429
86430 2011-06-15  Mark Pilgrim  <pilgrim@chromium.org>
86431
86432         Reviewed by Tony Chang.
86433
86434         IndexedDB: indexedDB.open() name argument is required
86435         https://bugs.webkit.org/show_bug.cgi?id=62398
86436
86437         Test: storage/indexeddb/database-name-undefined.html
86438
86439         * storage/IDBFactory.idl: use appropriate IDL magic to force undefined values to null, so we handle missing arguments as well as null arguments
86440
86441 2011-06-15  Tony Chang  <tony@chromium.org>
86442
86443         Reviewed by Ojan Vafai.
86444
86445         Rename RenderFlexibleBox to RenderDeprecatedFlexibleBox
86446         https://bugs.webkit.org/show_bug.cgi?id=62670
86447
86448         * CMakeLists.txt:
86449         * GNUmakefile.list.am:
86450         * WebCore.gypi:
86451         * WebCore.order:
86452         * WebCore.pro:
86453         * WebCore.vcproj/WebCore.vcproj:
86454         * WebCore.xcodeproj/project.pbxproj:
86455         * html/shadow/MediaControlElements.cpp:
86456         (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
86457         (WebCore::RenderMediaControlTimeDisplay::layout):
86458         * html/shadow/SliderThumbElement.cpp:
86459         (WebCore::RenderSliderContainer::RenderSliderContainer):
86460         (WebCore::RenderSliderContainer::layout):
86461         * rendering/RenderBlock.cpp:
86462         (WebCore::RenderBlock::createAnonymousBlock):
86463         * rendering/RenderBox.cpp:
86464         * rendering/RenderButton.cpp:
86465         (WebCore::RenderButton::RenderButton):
86466         (WebCore::RenderButton::addChild):
86467         (WebCore::RenderButton::removeChild):
86468         * rendering/RenderButton.h:
86469         * rendering/RenderDeprecatedFlexibleBox.cpp:
86470         (WebCore::FlexBoxIterator::FlexBoxIterator):
86471         (WebCore::FlexBoxIterator::reset):
86472         (WebCore::FlexBoxIterator::first):
86473         (WebCore::FlexBoxIterator::next):
86474         (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
86475         (WebCore::RenderDeprecatedFlexibleBox::~RenderDeprecatedFlexibleBox):
86476         (WebCore::marginWidthForChild):
86477         (WebCore::RenderDeprecatedFlexibleBox::calcHorizontalPrefWidths):
86478         (WebCore::RenderDeprecatedFlexibleBox::calcVerticalPrefWidths):
86479         (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
86480         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
86481         (WebCore::gatherFlexChildrenInfo):
86482         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
86483         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
86484         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
86485         (WebCore::RenderDeprecatedFlexibleBox::placeChild):
86486         (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
86487         (WebCore::RenderDeprecatedFlexibleBox::renderName):
86488         * rendering/RenderDeprecatedFlexibleBox.h:
86489         (WebCore::RenderDeprecatedFlexibleBox::avoidsFloats):
86490         (WebCore::RenderDeprecatedFlexibleBox::isFlexibleBox):
86491         (WebCore::RenderDeprecatedFlexibleBox::isFlexingChildren):
86492         (WebCore::RenderDeprecatedFlexibleBox::isStretchingChildren):
86493         (WebCore::RenderDeprecatedFlexibleBox::hasMultipleLines):
86494         (WebCore::RenderDeprecatedFlexibleBox::isVertical):
86495         (WebCore::RenderDeprecatedFlexibleBox::isHorizontal):
86496         * rendering/RenderDetails.h: Removed the header since it wasn't actually
86497               needed.  Looks like a copy/paste error from RenderButton.h.
86498         * rendering/RenderFullScreen.cpp:
86499         (RenderFullScreen::RenderFullScreen):
86500         (RenderFullScreen::destroy):
86501         * rendering/RenderFullScreen.h:
86502         * rendering/RenderMenuList.cpp:
86503         (WebCore::RenderMenuList::RenderMenuList):
86504         (WebCore::RenderMenuList::createInnerBlock):
86505         (WebCore::RenderMenuList::removeChild):
86506         * rendering/RenderMenuList.h:
86507         * rendering/RenderObject.cpp:
86508         (WebCore::RenderObject::createObject):
86509         * rendering/RenderingAllInOne.cpp:
86510
86511 2011-06-15  Alexander Pavlov  <apavlov@chromium.org>
86512
86513         Reviewed by Pavel Feldman.
86514
86515         Web Inspector: Serious performance regression during continuous focused element style updates
86516         https://bugs.webkit.org/show_bug.cgi?id=61038
86517
86518         Inline style invalidation events are coalesced in the backend and sent over the wire on timer.
86519
86520         * inspector/Inspector.json:
86521         * inspector/InspectorDOMAgent.cpp:
86522         (WebCore::RevalidateStyleAttributeTask::onTimer):
86523         (WebCore::InspectorDOMAgent::getAttributes):
86524         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
86525         (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
86526         * inspector/InspectorDOMAgent.h:
86527         * inspector/InspectorStyleSheet.cpp:
86528         (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
86529         (WebCore::InspectorStyleSheetForInlineStyle::text):
86530         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
86531         (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
86532         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
86533         * inspector/InspectorStyleSheet.h:
86534         * inspector/front-end/DOMAgent.js:
86535         (WebInspector.DOMAgent):
86536         (WebInspector.DOMAgent.prototype._attributesUpdated):
86537         (WebInspector.DOMAgent.prototype._loadNodeAttributesSoon):
86538         (WebInspector.DOMAgent.prototype._loadNodeAttributes):
86539         (WebInspector.DOMDispatcher.prototype.attributesUpdated):
86540         (WebInspector.DOMDispatcher.prototype.inlineStyleInvalidated):
86541
86542 2011-06-15  Jer Noble  <jer.noble@apple.com>
86543
86544         Reviewed by Timothy Hatcher.
86545
86546         Full-screen live streams have status text in wrong location
86547         https://bugs.webkit.org/show_bug.cgi?id=62733
86548
86549         Fix a misspelling in the user-agent stylesheet for full-screen mode.
86550
86551         * css/fullscreenQuickTime.css:
86552         (video:-webkit-full-screen::-webkit-media-controls-status-display):
86553
86554 2011-06-14  Jer Noble  <jer.noble@apple.com>
86555
86556         Reviewed by Eric Carlson.
86557
86558         (AVFoundation) Apple event video appears as live stream and is not seekable
86559         https://bugs.webkit.org/show_bug.cgi?id=62694
86560
86561         No new tests; There are no media-player port specific tests yet.
86562
86563         Work around a bug in apple.com live stream javascript controller library.  When an AVAsset returns an indefinite time
86564         for its duration, return 0 if the asset has no tracks, and infinity otherwise.  This keeps the apple.com controller 
86565         from identifying the stored stream as a live stream.
86566
86567         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
86568         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
86569
86570 2011-06-15  Andrey Kosyakov  <caseq@chromium.org>
86571
86572        Unreviewed, rolled out r88937 (broke build on mac)
86573
86574         * CMakeLists.txt:
86575         * GNUmakefile.list.am:
86576         * WebCore.gypi:
86577         * WebCore.pro:
86578         * WebCore.vcproj/WebCore.vcproj:
86579         * WebCore.xcodeproj/project.pbxproj:
86580         * fileapi/FileReaderLoader.cpp:
86581         (WebCore::FileReaderLoader::didReceiveResponse):
86582         * fileapi/FileReaderLoader.h:
86583         * inspector/Inspector.json:
86584         * inspector/InspectorInstrumentation.cpp:
86585         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
86586         * inspector/InspectorInstrumentation.h:
86587         * inspector/InspectorResourceAgent.cpp:
86588         (WebCore::InspectorResourceAgent::willSendRequest):
86589         (WebCore::InspectorResourceAgent::didReceiveResponse):
86590         (WebCore::InspectorResourceAgent::setInitialXHRContent):
86591         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
86592         * inspector/InspectorResourceAgent.h:
86593         * inspector/NetworkResourcesData.cpp: Removed.
86594         * inspector/NetworkResourcesData.h: Removed.
86595         * inspector/front-end/NetworkManager.js:
86596         (WebInspector.NetworkManager.prototype.requestContent):
86597         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
86598         * inspector/front-end/NetworkPanel.js:
86599         (WebInspector.NetworkPanel.prototype._appendResource):
86600         (WebInspector.NetworkPanel.prototype._frameNavigated):
86601         * loader/DocumentThreadableLoader.cpp:
86602         (WebCore::DocumentThreadableLoader::didReceiveResponse):
86603         (WebCore::DocumentThreadableLoader::receivedCancellation):
86604         (WebCore::DocumentThreadableLoader::loadRequest):
86605         * loader/DocumentThreadableLoader.h:
86606         * loader/ThreadableLoaderClientWrapper.h:
86607         (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
86608         (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
86609         * loader/WorkerThreadableLoader.cpp:
86610         (WebCore::workerContextDidReceiveResponse):
86611         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
86612         (WebCore::workerContextDidReceiveAuthenticationCancellation):
86613         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
86614         * loader/WorkerThreadableLoader.h:
86615         * notifications/Notification.cpp:
86616         (WebCore::Notification::didReceiveResponse):
86617         (WebCore::Notification::didReceiveAuthenticationCancellation):
86618         * notifications/Notification.h:
86619         * page/EventSource.cpp:
86620         (WebCore::EventSource::didReceiveResponse):
86621         * page/EventSource.h:
86622         * xml/XMLHttpRequest.cpp:
86623         (WebCore::XMLHttpRequest::createRequest):
86624         (WebCore::XMLHttpRequest::didReceiveResponse):
86625         (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
86626         * xml/XMLHttpRequest.h:
86627
86628 2011-06-15  Pavel Feldman  <pfeldman@google.com>
86629
86630         Reviewed by Yury Semikhatsky.
86631
86632         Web Inspector: introduce context menu on ImageView with Copy and Open in new tab actions.
86633         https://bugs.webkit.org/show_bug.cgi?id=62727
86634
86635         * English.lproj/localizedStrings.js:
86636         * inspector/front-end/ImageView.js:
86637         (WebInspector.ImageView.prototype._base64ToSize):
86638         (WebInspector.ImageView.prototype._contextMenu):
86639         (WebInspector.ImageView.prototype._copyImageURL):
86640         (WebInspector.ImageView.prototype._openInNewTab):
86641
86642 2011-06-15  Andrey Kosyakov  <caseq@chromium.org>
86643
86644         Reviewed by Pavel Feldman.
86645
86646         Web Inspector: provide unique identifiers for frames
86647         https://bugs.webkit.org/show_bug.cgi?id=62721
86648
86649         * inspector/InspectorInstrumentation.cpp:
86650         (WebCore::InspectorInstrumentation::frameDestroyedImpl):
86651         * inspector/InspectorInstrumentation.h:
86652         (WebCore::InspectorInstrumentation::frameDestroyed):
86653         * inspector/InspectorPageAgent.cpp:
86654         (WebCore::InspectorPageAgent::frameForId):
86655         (WebCore::InspectorPageAgent::frameId):
86656         (WebCore::InspectorPageAgent::frameDestroyed):
86657         * inspector/InspectorPageAgent.h:
86658         * page/Frame.cpp:
86659         (WebCore::Frame::~Frame):
86660
86661 2011-06-15  Andrey Kosyakov  <caseq@chromium.org>
86662
86663         Unreviewed build fix: comment unused parameter names.
86664
86665         * loader/ThreadableLoaderClient.h:
86666         (WebCore::ThreadableLoaderClient::didReceiveResponse):
86667         (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
86668
86669 2011-06-15  Pavel Podivilov  <podivilov@chromium.org>
86670
86671         Reviewed by Yury Semikhatsky.
86672
86673         Web Inspector: script select can be too wide.
86674         https://bugs.webkit.org/show_bug.cgi?id=62701
86675
86676         * inspector/front-end/ScriptsPanel.js:
86677         (WebInspector.ScriptsPanel.prototype._displayNameForScriptURL):
86678         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
86679         (WebInspector.SourceFrameDelegateForScriptsPanel):
86680         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
86681         * inspector/front-end/SourceFile.js:
86682
86683 2011-06-15  Noel Gordon  <noel.gordon@gmail.com>
86684
86685         Reviewed by Eric Seidel.
86686
86687         Draw CSS outline style for render widgets: iframe, embed, object, applet.
86688         https://bugs.webkit.org/show_bug.cgi?id=57439
86689
86690         Draw CSS outlines for render widgets: iframe, embed, object, applet. These elements can
86691         be focused (via clicks or tabIndex) but should not have a visible focus ring by default.
86692
86693         Tests: fast/replaced/no-focus-ring-embed.html
86694                fast/replaced/no-focus-ring-iframe.html
86695                fast/replaced/no-focus-ring-object.html
86696                fast/replaced/outline-replaced-elements.html
86697
86698         * css/html.css:
86699         (applet:focus, embed:focus, iframe:focus, object:focus): Default to no focus ring.
86700         * rendering/RenderWidget.cpp:
86701         (WebCore::RenderWidget::paint): Paint the render widget CSS outline style.
86702
86703 2011-06-15  Steve Block  <steveblock@google.com>
86704
86705         Reviewed by Tony Gentilcore.
86706
86707         V8PerformanceCustom.cpp lacks WEB_TIMING guards
86708         https://bugs.webkit.org/show_bug.cgi?id=62689
86709
86710         No new tests, build fix only.
86711
86712         * bindings/v8/custom/V8PerformanceCustom.cpp:
86713
86714 2011-06-15  Sheriff Bot  <webkit.review.bot@gmail.com>
86715
86716         Unreviewed, rolling out r88916.
86717         http://trac.webkit.org/changeset/88916
86718         https://bugs.webkit.org/show_bug.cgi?id=62728
86719
86720         Broke a bunch of layout tests on chromium (Requested by
86721         podivilov on #webkit).
86722
86723         * inspector/front-end/ScriptsPanel.js:
86724         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
86725         (WebInspector.SourceFrameDelegateForScriptsPanel):
86726         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
86727         * inspector/front-end/SourceFile.js:
86728         (WebInspector.SourceFile.prototype.get displayName):
86729
86730 2011-06-15  Pavel Podivilov  <podivilov@chromium.org>
86731
86732         Reviewed by Yury Semikhatsky.
86733
86734         Web Inspector: script links are displayed with original line number in pretty-print mode.
86735         https://bugs.webkit.org/show_bug.cgi?id=62282
86736
86737         * inspector/front-end/DebuggerPresentationModel.js:
86738         (WebInspector.DebuggerPresentationModel):
86739         (WebInspector.DebuggerPresentationModel.prototype.registerAnchor):
86740         (WebInspector.DebuggerPresentationModel.prototype._updateAnchor.didGetUILocation):
86741         (WebInspector.DebuggerPresentationModel.prototype._updateAnchor):
86742         (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
86743         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
86744         * inspector/front-end/NetworkPanel.js:
86745         (WebInspector.NetworkPanel.prototype.showAnchorLocation):
86746         (WebInspector.NetworkPanel.prototype._showResource):
86747         * inspector/front-end/Panel.js:
86748         (WebInspector.Panel.prototype.createAnchor):
86749         (WebInspector.Panel.prototype.formatAnchorText):
86750         * inspector/front-end/ResourcesPanel.js:
86751         (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
86752         * inspector/front-end/ScriptsPanel.js:
86753         (WebInspector.ScriptsPanel.prototype.createAnchor.):
86754         (WebInspector.ScriptsPanel.prototype.createAnchor):
86755         (WebInspector.ScriptsPanel.prototype.showAnchorLocation.didGetUILocation):
86756         (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
86757         * inspector/front-end/inspector.js:
86758         (WebInspector._showAnchorLocation):
86759         (WebInspector.linkifyResourceAsNode):
86760
86761 2011-06-14  Hans Wennborg  <hans@chromium.org>
86762
86763         Reviewed by Tony Gentilcore.
86764
86765         IndexedDB: Use fileExists() first when checking if SQLite db exists
86766         https://bugs.webkit.org/show_bug.cgi?id=62638
86767
86768         In IDBSQLiteBackingStore::backingStoreExists(), which is used to check
86769         if a SQLite database exists and should be considered for migration,
86770         check if the file exists first.
86771
86772         Trying to open a SQLite database for a non-existing file prints a
86773         noisy error message in debug builds.
86774
86775         No new functionality, no new tests.
86776
86777         * storage/IDBSQLiteBackingStore.cpp:
86778         (WebCore::IDBSQLiteBackingStore::backingStoreExists):
86779
86780 2011-06-14  Alexander Pavlov  <apavlov@chromium.org>
86781
86782         Reviewed by Yury Semikhatsky.
86783
86784         Web Inspector: "data" URLs not detected in CSS url(...) values properly
86785         https://bugs.webkit.org/show_bug.cgi?id=62643
86786
86787         * inspector/front-end/inspector.js:
86788         (WebInspector.completeURL):
86789
86790 2011-06-15  Pavel Feldman  <pfeldman@google.com>
86791
86792         Reviewed by Yury Semikhatsky.
86793
86794         Web Inspector: [REGRESSION] errors in watches and in console are not rendered in red.
86795         https://bugs.webkit.org/show_bug.cgi?id=62708
86796
86797         Test: inspector/debugger/error-in-watch-expressions.html
86798
86799         * inspector/front-end/RemoteObject.js:
86800         * inspector/front-end/WatchExpressionsSidebarPane.js:
86801         (WebInspector.WatchExpressionsSection.prototype.update.appendResult):
86802         (WebInspector.WatchExpressionsSection.prototype.update):
86803         (WebInspector.WatchExpressionTreeElement.prototype.update):
86804         * inspector/front-end/inspector.css:
86805         (.console-error-level .console-message-text, .console-error-level .section .header .title):
86806         (.console-formatted-object, .console-formatted-node):
86807
86808 2011-06-15  Carlos Garcia Campos  <cgarcia@igalia.com>
86809
86810         Unreviewed. Remove unneeded constructor declaration added by mistake in r88800.
86811
86812         * platform/gtk/GtkAuthenticationDialog.h:
86813
86814 2011-06-15  Pavel Podivilov  <podivilov@chromium.org>
86815
86816         Reviewed by Yury Semikhatsky.
86817
86818         Web Inspector: script select can be too wide.
86819         https://bugs.webkit.org/show_bug.cgi?id=62701
86820
86821         * inspector/front-end/ScriptsPanel.js:
86822         (WebInspector.ScriptsPanel.prototype._displayNameForScriptURL):
86823         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
86824         (WebInspector.SourceFrameDelegateForScriptsPanel):
86825         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
86826         * inspector/front-end/SourceFile.js:
86827
86828 2011-06-15  Nikolas Zimmermann  <nzimmermann@rim.com>
86829
86830         Reviewed by David Hyatt.
86831
86832         CSS 2.1: Support replaced elements with relative intrinsic sizes
86833         https://bugs.webkit.org/show_bug.cgi?id=15849
86834
86835         CSS 2.1 failure: html4/replaced-intrinsic-ratio-001
86836         https://bugs.webkit.org/show_bug.cgi?id=53099
86837
86838         Generalize the recently added SVG specific host <-> embedded document size-negotiation used
86839         to support embedding SVGs with intrinsic ratio/size via <iframe>/<object>/<embed> from 
86840         RenderPart right into RenderReplaced. It will be used to share the size-negotiation logic
86841         with RenderImage, which still has its own way to negotiate with the embedded SVG to figure
86842         out its size (and it's broken in several ways).
86843
86844         This fully implements intrinsic size/ratio support for replaced elements, as specified in:
86845         http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width
86846         http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height
86847
86848         RenderImage has not yet been converted to use the new size negotiation logic, this is just
86849         the ground work. As soon as this is done all ways of embedding SVG is unified in a single
86850         way: the same size negotiation logic used for object/embed/iframe/img for SVG documents.
86851
86852         To use it for non-SVG target documents, it's just a matter of implementing
86853         "RenderBox* embeddedContentBox()" which needs to return the root renderer of the embedded document.
86854         For SVG it's the embedded document RenderSVGRoot renderer, associated with the outermost <svg> element.
86855         It's easy to implement this for embedded MathML documents or PDF documents now, if needed.
86856
86857         Imported all CSS 2.1 tests named *replaced* and *intrinsic* tests, except the still failing background-intrinsic-*
86858         which embed SVGs through background-image or <img>, which still use the old size-negotiation logic.
86859
86860         Tests: css2.1/20110323/* (203 tests + support files)
86861                svg/zoom/page/zoom-replaced-intrinsic-ratio-001.htm (same as replaced-intrinsic-ratio-001.htm, but zooms in a few times, to see whether all boxes react properly)
86862                http/tests/misc/object-embedding-svg-delayed-size-negotiation-2.htm (same as replaced-intrinsic-ratio-001.htm, but with delayed loading of the SVG to test late-size-negotiation)
86863
86864         This fixes:
86865         css2.1/20110323/replaced-intrinsic-ratio-001.htm
86866         css2.1/20110323/replaced-intrinsic-003.htm
86867         css2.1/20110323/block-replaced-height-007.htm
86868         css2.1/20110323/float-replaced-height-007.htm
86869         css2.1/20110323/inline-block-replaced-height-007.htm
86870         css2.1/20110323/inline-replaced-height-007.htm
86871
86872         We're now the first to properly handle replaced-intrinsic-ratio-001.htm out of Opera/FF/IE9 :-)
86873         This is an important piece of embedding SVGs though, so glad that we finally have it.
86874
86875         * rendering/RenderBlock.cpp:
86876         (WebCore::RenderBlock::layoutBlockChildren): Use new helper needsPreferredWidthsRecalculation() to figure out whether pref widths need to be calculated.
86877         (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
86878         * rendering/RenderBlockLineLayout.cpp:
86879         (WebCore::RenderBlock::layoutInlineChildren): Ditto.
86880         * rendering/RenderBox.cpp:
86881         (WebCore::RenderBox::needsPreferredWidthsRecalculation): Refactored and extended from RenderBlock*. We have to recalculate pref widths upon layout
86882                                                                  if we embed a document with an intrinsic ratio/size, extensively covered by
86883                                                                  svg/zoom/page/zoom-replaced-intrinsic-ratio-001.htm
86884         * rendering/RenderBox.h:
86885         (WebCore::RenderBox::computeIntrinsicRatioInformation): New virtual function, only implemented in RenderPart so far. This generalizes the existing method from RenderPart.
86886         * rendering/RenderPart.cpp:
86887         (WebCore::RenderPart::needsPreferredWidthsRecalculation): Always recompute pref widths of we have an embeddedContentBox() - it may depend on our size.
86888         (WebCore::RenderPart::embeddedContentBox): Return the RenderSVGRoot box of the embedded SVG document, if we're embedded through object/embed/iframe (soon img as well).
86889         * rendering/RenderPart.h:
86890         * rendering/RenderReplaced.cpp:
86891         (WebCore::RenderReplaced::computeIntrinsicLogicalWidth): New helper function, that either returns a fixed intrinsic size (set by a class inheriting from us) or the embedded target document size.
86892         (WebCore::RenderReplaced::computeIntrinsicLogicalHeight): Ditto.
86893         (WebCore::RenderReplaced::computeReplacedLogicalWidth): Full implementation of: 10.3.2 Inline, replaced elements: http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width.
86894         (WebCore::RenderReplaced::computeReplacedLogicalHeight): Full implementation of: 10.6.2 Inline, replaced elements: http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height
86895         * rendering/RenderReplaced.h:
86896         (WebCore::RenderReplaced::embeddedContentBox):
86897         * rendering/svg/RenderSVGRoot.cpp:
86898         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Fix problem when zooming replaced-intrinsic-ratio-001.htm: if ownerWidth is auto, don't apply style()->effectiveZoom() twice.
86899         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto for ownerHeight auto.
86900         * rendering/svg/RenderSVGRoot.h: Mark 'computeIntrinsicRatioInformation' virtual.
86901         
86902 2011-06-09  MORITA Hajime  <morrita@google.com>
86903
86904         Reviewed by Dimitri Glazkov.
86905
86906         ShadowContentElement should detach its inclusions before attaching them.
86907         https://bugs.webkit.org/show_bug.cgi?id=62428
86908
86909         - On ShadowContentElement::attach(), changed inclusion attach scheme
86910           from per-node reattach() to detach()-all-and-attach()-them.  This
86911           eliminates attach() order problems which ShadowContentElement
86912           possibly has.
86913         - Changed ShadowContentElement to have m_inclusions as a member variable,
86914           which will be used by upcoming changes.
86915         - Moved attach() code from ShadowContentSelector to ShadowContentElement
86916           because the element now owns the inclusion list.
86917         
86918         No new tests. No visible behavioral change yet.
86919
86920         * dom/ShadowContentElement.cpp:
86921         (WebCore::ShadowContentElement::attach):
86922         (WebCore::ShadowContentElement::detach): Added.
86923         * dom/ShadowContentElement.h:
86924         (WebCore::ShadowContentElement::inclusionAt): Added.
86925         (WebCore::ShadowContentElement::inclusionCount): Added.
86926         (WebCore::toShadowContentElement):
86927         * dom/ShadowContentSelector.cpp: Removed attachChildrenFor()
86928         (WebCore::ShadowContentSelector::selectInclusion): Extracted from attachChildrenFor()
86929         (WebCore::ShadowContentSelector::willAttachContentFor): Extracted from attachChildrenFor()
86930         (WebCore::ShadowContentSelector::didAttachContent): Extracted from attachChildrenFor()
86931         (WebCore::ShadowContentSelector::activeElement):
86932         * dom/ShadowContentSelector.h:
86933
86934 2011-06-14  David Kilzer  <ddkilzer@apple.com>
86935
86936         <http://webkit.org/b/62677> Part 2/2: Remove duplicate header entries in WebCore project file
86937
86938         Reviewed by Darin Adler.
86939
86940         Most of the DOMSVG*.h headers were added in late 2006, and then
86941         duplicated by late 2007.  They've been in the tree a long time.
86942
86943         * WebCore.xcodeproj/project.pbxproj: Let Xcode 4 remove
86944         duplicate header entries.
86945
86946 2011-06-14  David Kilzer  <ddkilzer@apple.com>
86947
86948         <http://webkit.org/b/62677> Part 1/2: Remove duplicate header entries in WebCore project file
86949
86950         Reviewed by Darin Adler.
86951
86952         These headers were added as duplicates in r83256:
86953
86954             DefaultAudioDestinationNode.h
86955             JSOfflineAudioCompletionEvent.h
86956             OfflineAudioCompletionEvent.h
86957             OfflineAudioDestinationNode.h
86958
86959         The following duplicates were introduced in r84053 (after having
86960         been originally added in r83729):
86961
86962             StorageInfo.h
86963             StorageInfoErrorCallback.h
86964             StorageInfoQuotaCallback.h
86965             StorageInfoUsageCallback.h
86966
86967         * WebCore.xcodeproj/project.pbxproj: Remove duplicates using
86968         'uniq' since sort-Xcode-project-file did most of the work.
86969
86970 2011-06-14  Kent Tamura  <tkent@chromium.org>
86971
86972         Reviewed by Hajime Morita.
86973
86974         REGRESSION(r88757): [Chromium] Vertical position of media slider thumb is wrong.
86975         https://bugs.webkit.org/show_bug.cgi?id=62685
86976
86977         No new tests. Covered by existing tests.
86978
86979         * rendering/RenderSlider.cpp:
86980         (WebCore::RenderSlider::layout): Center the thumb position.
86981         * rendering/RenderSlider.h:
86982
86983 2011-06-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
86984
86985         Reviewed by Kent Tamura.
86986
86987         [EFL] Change color initialization with clear color constant
86988         https://bugs.webkit.org/show_bug.cgi?id=62691
86989
86990         Some color values are initialized by rbg value. Color constant value is more clear than
86991         rgb value.
86992
86993         * platform/efl/RenderThemeEfl.cpp:
86994         (WebCore::RenderThemeEfl::RenderThemeEfl):
86995
86996 2011-06-14  Julien Chaffraix  <jchaffraix@webkit.org>
86997
86998         Reviewed by James Robinson.
86999
87000         Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.fill.destination-in.html
87001         https://bugs.webkit.org/show_bug.cgi?id=48293
87002
87003         And
87004
87005         Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.pattern.destination-in.html
87006         https://bugs.webkit.org/show_bug.cgi?id=48303
87007
87008         * html/canvas/CanvasRenderingContext2D.cpp:
87009         (WebCore::CanvasRenderingContext2D::shouldDisplayTransparencyElsewhere): Added CompositeDestinationIn
87010         as this is the only one that needs a specific treatment.
87011
87012 2011-06-14  Naoki Takano  <takano.naoki@gmail.com>
87013
87014         Reviewed by Kent Tamura.
87015
87016         [Chromium] Forward modifiers + up/down key events to text field when autofill popup window is shown.
87017         https://bugs.webkit.org/show_bug.cgi?id=62350
87018         http://code.google.com/p/chromium/issues/detail?id=61349
87019
87020         Manual test: autofill-popup-shiftupdown.html
87021
87022         * manual-tests/chromium/autofill-popup-shiftupdown.hml: Added to check modifier + up/down key is working correctly for text area in autofill popup is shown.
87023         * platform/chromium/PopupMenuChromium.cpp:
87024         (WebCore::PopupListBox::handleKeyEvent): Check modifier key and menu style to decide if the event should be forwarded or not.
87025
87026 2011-06-14  Annie Sullivan  <sullivan@chromium.org>
87027         
87028         Reviewed by Ryosuke Niwa.
87029
87030         Span ID duplicated when pressing enter at beginning of span
87031         https://bugs.webkit.org/show_bug.cgi?id=62621
87032
87033         Strip id from cloned span, so that it is not duplicated.
87034         
87035         Test: editing/inserting/return-key-span-start.html
87036         
87037         * editing/InsertParagraphSeparatorCommand.cpp:
87038         (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
87039
87040 2011-06-13  Ryosuke Niwa  <rniwa@webkit.org>
87041
87042         Reviewed by David Hyatt.
87043
87044         Trailing tabs in a textarea become unselectable under certain conditions
87045         https://bugs.webkit.org/show_bug.cgi?id=54598
87046
87047         The bug was caused by WebKit's erroneously collapsing leading whitespace when white-space is
87048         set to pre-wrap. Per CSS 2.1 spec section 16.1.1, leading whitespace should not be removed
87049         in this case.
87050
87051         See also: http://www.w3.org/TR/CSS2/text.html#white-space-model
87052
87053         Fixed the bug by adding an extra argument to shouldCollapseWhiteSpace, indicating whether
87054         whitespace is leading or trailing. It defaults to leading because 16.1.1 does not allow allow
87055         collapsing of whitespace anywhere but at the end of each line.
87056
87057         Test: fast/text/pre-wrap-trailing-tab.html
87058
87059         * rendering/RenderBlockLineLayout.cpp:
87060         (WebCore::shouldCollapseWhiteSpace): Added WhitespacePosition as an argument. Returns false
87061         when whitespacePosition is not TrailingWhitespace even if white-space is pre-wrap.
87062         (WebCore::requiresLineBox): Takes WhitespacePosition as an argument and passes it to
87063         shouldCollapseWhiteSpace.
87064         (WebCore::RenderBlock::generatesLineBoxesForInlineChild): Calls requiresLineBox.
87065         (WebCore::RenderBlock::LineBreaker::skipTrailingWhitespace): Ditto.
87066         (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace): Ditto.
87067
87068 2011-06-14  Beth Dakin  <bdakin@apple.com>
87069
87070         Reviewed by Dan Bernstein.
87071
87072         https://bugs.webkit.org/show_bug.cgi?id=62678
87073         When the window is small enough, the scrollbars are misplaced with painting 
87074         artifacts, after changing the scrollbar appearance
87075         -and corresponding-
87076         <rdar://problem/9414015>
87077
87078         Get rid of the FrameView implementation of scrollbarStyleChanged(). Its approach 
87079         is just not good.
87080         * page/FrameView.cpp:
87081         * page/FrameView.h:
87082
87083         Implement scrollbarStyleChanged() on ScrollView instead. And just call 
87084         updatedScrollbars().
87085         * platform/ScrollView.cpp:
87086         (WebCore::ScrollView::scrollbarStyleChanged):
87087         * platform/ScrollView.h:
87088
87089         Invalidate the old scrollbar before changing it to the new scrollbar. This way 
87090         when the scrollbar gets smaller, the older, larger pieces still repaint properly.
87091         * platform/mac/ScrollAnimatorMac.mm:
87092         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
87093
87094 2011-06-14  Michael Saboff  <msaboff@apple.com>
87095
87096         Reviewed by Joseph Pecoraro.
87097
87098         Incorrect #if[n]def for building without DISPATCH_VM_PRESSURE
87099         https://bugs.webkit.org/show_bug.cgi?id=62649
87100
87101         Take 2.
87102         The #ifdef DISPATCH_VM_PRESSURE doesn't work.  Combined the code
87103         inside this #ifdef with the prior #ifndef DISPATCH_SOURCE_TYPE_VM.
87104
87105         No functional changes, fixing build issue therefore no tests.
87106
87107         * platform/mac/MemoryPressureHandlerMac.mm:
87108
87109 2011-06-14  Jeffrey Pfau  <jpfau@apple.com>
87110
87111         Reviewed by David Hyatt.
87112
87113         Null dereference in WebCore::RenderBlock::splitFlow regarding use of multicol, inline-block, and spanning elements
87114         https://bugs.webkit.org/show_bug.cgi?id=60028
87115
87116         Ensure that the parent block of a spanning element, if it is not itself
87117         a multicol element, is not inline.
87118
87119         Test: fast/multicol/span/span-as-nested-inline-block-child.html
87120
87121         * rendering/RenderBlock.cpp:
87122         (WebCore::RenderBlock::columnsBlockForSpanningElement):
87123
87124 2011-06-14  Jer Noble  <jer.noble@apple.com>
87125
87126         Reviewed by Eric Carlson.
87127
87128         REGRESSION: Drawing video into canvas gets about one frame every 5 seconds (AVFoundation)
87129         https://bugs.webkit.org/show_bug.cgi?id=62655
87130
87131         No new tests; we don't have any media-engine specific tests.
87132
87133         AVAssetImageGenerator will, by default, return the nearest keyframe.  To get the generator to return
87134         the image from the current time instead of the nearest keyframe, set the requested time tolerance to 
87135         zero (which defaults to infinity).
87136
87137         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
87138         (WebCore::MediaPlayerPrivateAVFoundationObjC::createContextVideoRenderer):
87139
87140 2011-06-14  Eric Uhrhane  <ericu@chromium.org>
87141
87142         Reviewed by Darin Fisher.
87143
87144         Clean up filesystem base path code.
87145         https://bugs.webkit.org/show_bug.cgi?id=60218
87146
87147         Change a bunch of url-held-in-a-string parameters into real KURLS and
87148         WebURLs.
87149
87150         No new tests--no change in functionality.
87151
87152         * fileapi/DOMFileSystem.cpp:
87153         (WebCore::DOMFileSystem::createWriter):
87154         (WebCore::DOMFileSystem::createFile):
87155         * fileapi/DOMFileSystemBase.cpp:
87156         (WebCore::DOMFileSystemBase::getMetadata):
87157         (WebCore::DOMFileSystemBase::move):
87158         (WebCore::DOMFileSystemBase::copy):
87159         (WebCore::DOMFileSystemBase::remove):
87160         (WebCore::DOMFileSystemBase::removeRecursively):
87161         (WebCore::DOMFileSystemBase::getParent):
87162         (WebCore::DOMFileSystemBase::getFile):
87163         (WebCore::DOMFileSystemBase::getDirectory):
87164         (WebCore::DOMFileSystemBase::readDirectory):
87165         * fileapi/DOMFileSystemSync.cpp:
87166         (WebCore::DOMFileSystemSync::createFile):
87167         (WebCore::DOMFileSystemSync::createWriter):
87168         * platform/AsyncFileSystem.cpp:
87169         (WebCore::AsyncFileSystem::openFileSystem):
87170         * platform/AsyncFileSystem.h:
87171         (WebCore::AsyncFileSystem::AsyncFileSystem):
87172
87173 2011-06-14  James Robinson  <jamesr@chromium.org>
87174
87175         Reviewed by Stephen White.
87176
87177         [chromium] Compositor shader initialization is inefficient
87178         https://bugs.webkit.org/show_bug.cgi?id=62618
87179
87180         This fixes several issues causing slowdowns in compositor shader initialization, mostly due to lack of
87181         parallelism:
87182
87183         - Avoid initializing all programs eagerly. We only use two programs on every page, the other programs depend on
87184         content and are constructed on demand.
87185
87186         - Defer querying uniform locations until draw time.  For the eagerly constructed programs (render surface +
87187         tiler) this means that the GPU process has a chance to compile the shader while the renderer is busy
87188         painting+uploading instead of blocking on shader compilation in order to get uniform locations.
87189
87190         - Calls to query COMPILE_STATUS/LINK_STATUS moved behind #ifndef NDEBUG guards since these should never fail in
87191         release builds and force synchronous compilation/linking.
87192
87193         This also adds a number of TRACE_EVENT()s to make analysing the performance of this bit of code easier.
87194
87195         * platform/graphics/chromium/LayerRendererChromium.cpp:
87196         (WebCore::LayerRendererChromium::updateLayers):
87197         (WebCore::LayerRendererChromium::initializeSharedObjects):
87198         (WebCore::LayerRendererChromium::borderProgram):
87199         (WebCore::LayerRendererChromium::headsUpDisplayProgram):
87200         (WebCore::LayerRendererChromium::renderSurfaceProgram):
87201         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
87202         (WebCore::LayerRendererChromium::tilerProgram):
87203         (WebCore::LayerRendererChromium::canvasLayerProgram):
87204         (WebCore::LayerRendererChromium::pluginLayerProgram):
87205         (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
87206         (WebCore::LayerRendererChromium::videoLayerYUVProgram):
87207         * platform/graphics/chromium/LayerRendererChromium.h:
87208         * platform/graphics/chromium/LayerTextureSubImage.cpp:
87209         (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
87210         (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
87211         * platform/graphics/chromium/ProgramBinding.cpp:
87212         (WebCore::ProgramBindingBase::init):
87213         (WebCore::ProgramBindingBase::loadShader):
87214         (WebCore::ProgramBindingBase::createShaderProgram):
87215         * platform/graphics/chromium/ProgramBinding.h:
87216         (WebCore::ProgramBinding::ProgramBinding):
87217         (WebCore::ProgramBinding::initialize):
87218         * platform/graphics/chromium/ShaderChromium.cpp:
87219         (WebCore::VertexShaderPosTex::init):
87220         (WebCore::VertexShaderPosTexYUVStretch::init):
87221         (WebCore::VertexShaderPos::init):
87222         (WebCore::VertexShaderPosTexTransform::init):
87223         (WebCore::FragmentTexAlphaBinding::init):
87224         (WebCore::FragmentShaderRGBATexAlphaMask::init):
87225         (WebCore::FragmentShaderYUVVideo::init):
87226         (WebCore::FragmentShaderColor::init):
87227         * platform/graphics/chromium/ShaderChromium.h:
87228
87229 2011-06-14  Stephanie Lewis  <slewis@apple.com>
87230
87231         Rubber stamped by Oliver Hunt.
87232
87233         <rdar://problem/9511169>
87234         Update order files.
87235
87236         Build system change, no change in functionality so no new tests.
87237
87238         * WebCore.order:
87239
87240 2011-06-14  Chris Fleizach  <cfleizach@apple.com>
87241
87242         Reviewed by David Kilzer.
87243
87244         VoiceOver cannot navigate the iTunes album view table
87245         https://bugs.webkit.org/show_bug.cgi?id=62335
87246
87247         This is a regression from https://bugs.webkit.org/show_bug.cgi?id=57463.
87248         Part of that patch made a change so that an ARIA table will only look at it's children and grandchildren
87249         for possible rows. That however, doesn't allow arbitrary hierarchies to work with ARIA, like in iTunes album view.
87250
87251         Test: platform/mac/accessibility/aria-grid-with-strange-hierarchy.html
87252
87253         * accessibility/AccessibilityARIAGrid.cpp:
87254         (WebCore::AccessibilityARIAGrid::addChild):
87255         (WebCore::AccessibilityARIAGrid::addChildren):
87256         * accessibility/AccessibilityARIAGrid.h:
87257
87258 2011-06-14  Sheriff Bot  <webkit.review.bot@gmail.com>
87259
87260         Unreviewed, rolling out r88823.
87261         http://trac.webkit.org/changeset/88823
87262         https://bugs.webkit.org/show_bug.cgi?id=62652
87263
87264         Broke the Lion build (Requested by estes on #webkit).
87265
87266         * platform/mac/MemoryPressureHandlerMac.mm:
87267
87268 2011-06-14  Michael Saboff  <msaboff@apple.com>
87269
87270         Reviewed by Joseph Pecoraro.
87271
87272         Incorrect #if[n]def for building without DISPATCH_VM_PRESSURE
87273         https://bugs.webkit.org/show_bug.cgi?id=62649
87274
87275         The #ifdef DISPATCH_VM_PRESSURE actually needs to be #ifndef
87276         to handle when DISPATCH_VM_PRESSURE is NOT defined in the
87277         system header files.
87278
87279         No functional changes, fixing build issue therefore no tests.
87280
87281         * platform/mac/MemoryPressureHandlerMac.mm:
87282
87283 2011-06-13  Adrienne Walker  <enne@google.com>
87284
87285         Reviewed by James Robinson.
87286
87287         [chromium] Disable drawing for huge mask layers
87288         https://bugs.webkit.org/show_bug.cgi?id=62607
87289
87290         Because masks have a different layer size than the layer they are
87291         masking, they are untiled.  If they are too large to be contained
87292         within a single texture, then they should just be disabled.
87293
87294         Test: platform/chromium/compositing/huge-mask-layer.html
87295
87296         * platform/graphics/chromium/ContentLayerChromium.cpp:
87297         (WebCore::ContentLayerChromium::drawsContent):
87298         (WebCore::ContentLayerChromium::paintContentsIfDirty):
87299         * platform/graphics/chromium/LayerTilerChromium.h:
87300         (WebCore::LayerTilerChromium::getSingleTexture):
87301         (WebCore::LayerTilerChromium::numTiles):
87302
87303 2011-06-14  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
87304
87305         Reviewed by Laszlo Gombos.
87306
87307         [Qt] [Symbian] GraphicsLayer: support plugins on symbian
87308         https://bugs.webkit.org/show_bug.cgi?id=57418
87309
87310         Implement graphics layer for plugins on Symbian.
87311
87312         * plugins/PluginView.h:
87313         * plugins/qt/PluginViewQt.cpp:
87314         (WebCore::PluginView::shouldUseAcceleratedCompositing):
87315         (WebCore::PluginView::platformStart):
87316         * plugins/symbian/PluginViewSymbian.cpp:
87317         (WebCore::PluginGraphicsLayerQt::PluginGraphicsLayerQt):
87318         (WebCore::PluginGraphicsLayerQt::~PluginGraphicsLayerQt):
87319         (WebCore::PluginGraphicsLayerQt::paint):
87320         (WebCore::PluginView::shouldUseAcceleratedCompositing):
87321         (WebCore::PluginView::paint):
87322         (WebCore::PluginView::invalidateRect):
87323         (WebCore::PluginView::platformStart):
87324         (WebCore::PluginView::platformLayer):
87325
87326 2011-06-14  Sreeram Ramachandran  <sreeram@chromium.org>
87327
87328         Reviewed by Pavel Feldman.
87329
87330         Web Inspector: Allow the console to persist on page refresh or navigation
87331         https://bugs.webkit.org/show_bug.cgi?id=53359
87332
87333         Adds a context menu checkbox to preserve the console log across
87334         navigations. However, the underlying messages and objects are actually
87335         deleted from the backend, so they are not expandable; their continued
87336         display in the console frontend is merely cosmetic.
87337
87338         Test: inspector/console/console-preserve-log.html
87339
87340         * English.lproj/localizedStrings.js:
87341         * inspector/front-end/ConsoleView.js:
87342         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messagesCleared):
87343         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
87344         (WebInspector.ConsoleView.prototype.requestClearMessages):
87345         (WebInspector.ConsoleView.prototype._handleContextMenuEvent.monitoringXHRItemAction):
87346         (WebInspector.ConsoleView.prototype._handleContextMenuEvent.preserveLogItemAction):
87347         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
87348         * inspector/front-end/Settings.js:
87349         (WebInspector.Settings):
87350         * inspector/front-end/inspector.js:
87351         (WebInspector.reset):
87352
87353 2011-06-14  Pavel Podivilov  <podivilov@chromium.org>
87354
87355         Reviewed by Pavel Feldman.
87356
87357         Web Inspector: add tooltip to file select options in scripts panel.
87358         https://bugs.webkit.org/show_bug.cgi?id=62537
87359
87360         * inspector/front-end/ScriptsPanel.js:
87361         (WebInspector.ScriptsPanel):
87362         (WebInspector.ScriptsPanel.prototype._sourceFileAdded):
87363         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.compare):
87364         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
87365         (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
87366         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
87367
87368 2011-06-14  Luke Macpherson   <macpherson@chromium.org>
87369
87370         Reviewed by Eric Seidel.
87371
87372         Implement CSS border radius properies in CSSStyleApplyProperty
87373         https://bugs.webkit.org/show_bug.cgi?id=62265
87374
87375         No new tests / refactoring only.
87376
87377         * css/CSSStyleApplyProperty.cpp:
87378         Implement new class to culculate border radius, initialize for appropriate properties.
87379         (WebCore::ApplyPropertyBorderRadius::ApplyPropertyBorderRadius):
87380         (WebCore::ApplyPropertyBorderRadius::applyValue):
87381         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
87382         * css/CSSStyleSelector.cpp:
87383         Remove old implementations.
87384         (WebCore::CSSStyleSelector::applyProperty):
87385         * page/animation/AnimationBase.cpp:
87386         Pass LengthSize by value.
87387         (WebCore::AnimationBase::ensurePropertyMap):
87388         * rendering/style/RenderStyle.h:
87389         Pass LengthSize by value consistently.
87390
87391 2011-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>
87392
87393         Reviewed by Martin Robinson.
87394
87395         [GTK] Rename convertWidgetRectToScreenRect() to convertWidgetPointToScreenPoint()
87396         https://bugs.webkit.org/show_bug.cgi?id=62626
87397
87398         The method actually converts coordinates, the rectangle size is
87399         not affected, so it can be modified to return a point
87400         instead. Fix also a bug in the implementation, it was translating
87401         the coordinates twice returning the wrong position when the given
87402         rectangle was not at 0,0.
87403
87404         * platform/gtk/GtkUtilities.cpp:
87405         (WebCore::convertWidgetPointToScreenPoint):
87406         * platform/gtk/GtkUtilities.h:
87407         * platform/gtk/PopupMenuGtk.cpp:
87408         (WebCore::PopupMenuGtk::show): Use
87409         convertWidgetPointToScreenPoint().
87410
87411 2011-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>
87412
87413         Reviewed by Martin Robinson.
87414
87415         [GTK] Support authentication dialogs in WebKit2
87416         https://bugs.webkit.org/show_bug.cgi?id=62366
87417
87418         Add a new class to show an authentication dialog that is used by
87419         both WebKit1 and WebKit2.
87420
87421         * GNUmakefile.list.am: Add new files to compilation.
87422         * platform/gtk/GtkAuthenticationDialog.cpp: Added.
87423         (WebCore::addEntryToTable):
87424         (WebCore::sessionCanSavePasswords):
87425         (WebCore::GtkAuthenticationDialog::~GtkAuthenticationDialog):
87426         (WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog):
87427         (WebCore::getSavedLogin):
87428         (WebCore::GtkAuthenticationDialog::show):
87429         (WebCore::GtkAuthenticationDialog::destroy):
87430         (WebCore::GtkAuthenticationDialog::savePasswordCallback):
87431         (WebCore::GtkAuthenticationDialog::savePassword):
87432         (WebCore::GtkAuthenticationDialog::authenticate):
87433         (WebCore::GtkAuthenticationDialog::authenticationDialogResponseCallback):
87434         * platform/gtk/GtkAuthenticationDialog.h: Added.
87435
87436 2011-06-14  Tommy Widenflycht  <tommyw@google.com>
87437
87438         Reviewed by Tony Gentilcore.
87439
87440         Media Stream PeerConnection API: adding the StreamList and supporting classes.
87441         https://bugs.webkit.org/show_bug.cgi?id=61539
87442
87443         * dom/StreamContainer.h: Added.
87444         (WebCore::StreamContainer::create):
87445         (WebCore::StreamContainer::~StreamContainer):
87446         (WebCore::StreamContainer::length):
87447         (WebCore::StreamContainer::item):
87448         (WebCore::StreamContainer::add):
87449         (WebCore::StreamContainer::remove):
87450         (WebCore::StreamContainer::contains):
87451         (WebCore::StreamContainer::get):
87452         (WebCore::StreamContainer::StreamContainer):
87453         * dom/StreamList.cpp: Added.
87454         (WebCore::StreamList::create):
87455         (WebCore::StreamList::StreamList):
87456         (WebCore::StreamList::~StreamList):
87457         (WebCore::StreamList::length):
87458         (WebCore::StreamList::item):
87459         * dom/StreamList.h: Added.
87460         * dom/StreamList.idl: Added.
87461
87462 2011-06-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
87463
87464         Reviewed by Andreas Kling.
87465
87466         [Qt] tst_QWebFrame::overloadedSlots() fails
87467         https://bugs.webkit.org/show_bug.cgi?id=37319
87468
87469         Increase the likeness that JSElements are converted to QWebElements. When hinted
87470         with QWebElement metatype, we qualify the conversion from JSElement as a "perfect
87471         match".
87472
87473         The test was failing because the wrong slot was called, since the QWebElement
87474         match was taken as equal to the others and not chosen when the metacall happened.
87475
87476         We also remove the implicit conversion between JSDocument (which is not an
87477         element) to QWebElement. The conversion only worked for calling slots, while
87478         without hint it returned a QVariantMap (as can be seen in domCycles test). It was
87479         added for supporting DRT, but since this change we can use it as QVariantMap and
87480         get the value for "documentElement".
87481
87482         This patch is based on Noam Rosenthal original patch in the same bug.
87483
87484         * bridge/qt/qt_runtime.cpp:
87485         (JSC::Bindings::hintForRealType):
87486         Extracted function to choose the metatype hint based on the JSValue type.  Add
87487         QWebElement metatype as a hint for JSElement objects, this way if no hint is
87488         provided, JSElement objects will always be converted to QWebElements.
87489
87490         (JSC::Bindings::convertValueToQVariant):
87491         Use previous function. Identify the conversion between JSElement to QWebElement
87492         as a "perfect match" (dist = 0). And remove the implicit conversion when the hint
87493         is QWebElement metatype and we have a JSDocument.  Changed from JSHTMLElement to
87494         JSElement to cover the 'documentElement'.
87495
87496 2011-06-14  Andreas Kling  <kling@webkit.org>
87497
87498         Reviewed by Benjamin Poulain.
87499
87500         Remove some unnecessary includes.
87501
87502         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
87503
87504 2011-06-14  Yael Aharon  <yael.aharon@nokia.com>
87505
87506         Reviewed by Kent Tamura.
87507
87508         <progress> should support :indeterminate pseudo-class
87509         https://bugs.webkit.org/show_bug.cgi?id=62430
87510
87511         Add support for :indeterminate pseudo class for progress element.
87512
87513         Tests: fast/dom/HTMLProgressElement/indeterminate-progress-001.html
87514                fast/dom/HTMLProgressElement/indeterminate-progress-002.html
87515
87516         * css/CSSStyleSelector.cpp:
87517         (WebCore::CSSStyleSelector::canShareStyleWithControl):
87518         (WebCore::CSSStyleSelector::canShareStyleWithElement):
87519         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
87520         * html/HTMLProgressElement.cpp:
87521         (WebCore::HTMLProgressElement::isDeterminate):
87522         (WebCore::HTMLProgressElement::didElementStateChange):
87523         * html/HTMLProgressElement.h:
87524
87525 2011-06-14  Pavel Feldman  <pfeldman@google.com>
87526
87527         Reviewed by Yury Semikhatsky.
87528
87529         Web Inspector: use ew-resize instead of col-resize for non-columns.
87530         https://bugs.webkit.org/show_bug.cgi?id=62640
87531
87532         * inspector/front-end/ElementsPanel.js:
87533         (WebInspector.ElementsPanel.prototype.rightSidebarResizerDragStart):
87534         * inspector/front-end/Panel.js:
87535         (WebInspector.Panel.prototype._startSidebarDragging):
87536         * inspector/front-end/ScriptsPanel.js:
87537         (WebInspector.ScriptsPanel.prototype._startSidebarResizeDrag):
87538         * inspector/front-end/TimelineOverviewPane.js:
87539         (WebInspector.TimelineOverviewPane.prototype._resizeWindow):
87540         (WebInspector.TimelineOverviewPane.prototype._dragWindow):
87541         * inspector/front-end/inspector.css:
87542         (body.attached #toolbar):
87543         (body.drawer-visible #main-status-bar):
87544         (#scripts-sidebar-resizer-widget):
87545         (.sidebar-resizer-vertical):
87546         (.timeline-window-resizer):
87547
87548 2011-06-14  Pavel Feldman  <pfeldman@google.com>
87549
87550         Reviewed by Yury Semikhatsky.
87551
87552         Web Inspector: reload from within inspector window does not work while debugger is paused.
87553         https://bugs.webkit.org/show_bug.cgi?id=62631
87554
87555         Test: inspector/debugger/debugger-reload-on-pause.html
87556
87557         * loader/FrameLoader.cpp:
87558         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
87559
87560 2011-06-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
87561
87562         Reviewed by Kent Tamura.
87563
87564         [EFL] Support for painting thumb of media slider
87565         https://bugs.webkit.org/show_bug.cgi?id=62174
87566
87567         Replace RenderObject parameter with RenderStyle's in adjustSliderThumbSize.
87568         Because, parameter of the function was changed. And, add constant variable to
87569         paintMediaSliderThumb().
87570
87571         * platform/efl/RenderThemeEfl.cpp:
87572         (WebCore::RenderThemeEfl::RenderThemeEfl):
87573         (WebCore::RenderThemeEfl::adjustSliderThumbSize):
87574         (WebCore::RenderThemeEfl::paintMediaSliderThumb):
87575         * platform/efl/RenderThemeEfl.h:
87576
87577 2011-06-14  Kent Tamura  <tkent@chromium.org>
87578
87579         [Qt] Attempt to fix a build break by r88757.
87580         https://bugs.webkit.org/show_bug.cgi?id=52920
87581
87582         * platform/qt/RenderThemeQt.cpp:
87583         (WebCore::RenderThemeQt::paintSliderTrack):
87584
87585 2011-06-13  Kent Tamura  <tkent@chromium.org>
87586
87587         [EFL] The second try to fix a build break.
87588
87589         * platform/efl/RenderThemeEfl.cpp:
87590         (WebCore::RenderThemeEfl::paintThemePart):
87591
87592 2011-06-13  Kent Tamura  <tkent@chromium.org>
87593
87594         [EFL] Fix a typo.
87595
87596         * platform/efl/RenderThemeEfl.cpp:
87597         (WebCore::RenderThemeEfl::paintThemePart):
87598
87599 2011-06-13  Kent Tamura  <tkent@chromium.org>
87600
87601         [EFL] Try to fix a build break by r88757.
87602
87603         * platform/efl/RenderThemeEfl.cpp:
87604         (WebCore::RenderThemeEfl::paintThemePart):
87605
87606 2011-06-10  Kent Tamura  <tkent@chromium.org>
87607
87608         Reviewed by Dimitri Glazkov.
87609
87610         Use CSS machinery to position slider thumb.
87611         https://bugs.webkit.org/show_bug.cgi?id=52920
87612
87613         Remove RenderSlider::layout().
87614         In order to remove it, we introduce new three shadow nodes:
87615          - A flex box container occupying the whole box
87616          - A flex box item representing a movable area of the thumb
87617          - A flex box item limiting the movable area of the thumb
87618         The thumb position is specified by percentage position in the second element.
87619
87620         This change also fixes Bug 60353.
87621
87622         Tests: fast/forms/input-appearance-range.html
87623                fast/forms/validation-message-on-range.html
87624
87625         * accessibility/AccessibilitySlider.cpp:
87626         (WebCore::AccessibilitySliderThumb::elementRect):
87627           Use Node::getRect() for the thumb element.
87628         * css/html.css: Add new style definitions for the new node layout.
87629         (input[type="range"]::-webkit-slider-container):
87630         (input[type="range"]::-webkit-slider-runnable-track):
87631         (input[type="range"]::-webkit-slider-thumb):
87632         * html/RangeInputType.cpp:
87633         (WebCore::RangeInputType::handleMouseDownEvent):
87634           Accepts events on shadow nodes, use sliderThumbElementOf().
87635         (WebCore::RangeInputType::createShadowSubtree):
87636           Creates new nodes layout.
87637         (WebCore::RangeInputType::valueChanged): Use sliderThumbElementOf().
87638         * html/RangeInputType.h: Remove shadowSliderThumb().
87639         * html/shadow/SliderThumbElement.cpp:
87640         (WebCore::sliderPosition): Moved from RenderSlider.cpp.
87641         (WebCore::hasVerticalAppearance): New utility function.
87642         (WebCore::sliderThumbElementOf): New utility function.
87643         (WebCore::RenderSliderThumb::layout):
87644           Sets CSS top/left values.
87645         (WebCore::RenderSliderContainer::RenderSliderContainer):
87646         (WebCore::RenderSliderContainer::layout):
87647           Add some adjustment code.
87648           - Setting box-orient
87649           - Adjust heights of some nodes. It is required to pass existing tests.
87650         (WebCore::SliderThumbElement::setPositionFromValue):
87651           Update comments.
87652         (WebCore::SliderThumbElement::setPositionFromPoint):
87653           Calculate the current position from absolute positions.
87654         (WebCore::SliderThumbElement::hostInput):
87655           Removed unnecessary variable.
87656         (WebCore::TrackLimiterElement::TrackLimiterElement):
87657         (WebCore::TrackLimiterElement::create): Adjust style.
87658         (WebCore::TrackLimiterElement::createRenderer):
87659           This node uses RenderSliderThumb.
87660         (WebCore::TrackLimiterElement::shadowPseudoId):
87661           This node also uses -webkit-slider-thumb.
87662         (WebCore::SliderContainerElement::SliderContainerElement):
87663         (WebCore::SliderContainerElement::create):
87664         (WebCore::SliderContainerElement::createRenderer):
87665           Uses RenderSliderContainer.
87666         (WebCore::SliderContainerElement::shadowPseudoId):
87667         * html/shadow/SliderThumbElement.h:
87668           Make hostInput() public, add declarations of TrackLimiterElement
87669           and SliderContainerElement.
87670         * rendering/RenderSlider.cpp:
87671         (WebCore::RenderSlider::RenderSlider): Added an assertion.
87672         (WebCore::RenderSlider::inDragMode): Uses sliderThumbElementOf().
87673         * rendering/RenderSlider.h: Remove declarations of removed functions.
87674         * rendering/RenderTheme.cpp:
87675         (WebCore::RenderTheme::adjustSliderThumbStyle):
87676           Calls adjustSliderThumbSize().
87677
87678 2011-06-13  Joone Hur  <joone.hur@collabora.co.uk>
87679
87680         Reviewed by Martin Robinson.
87681
87682         [GTK] Add configure option to enable/disable register protocol handler
87683         https://bugs.webkit.org/show_bug.cgi?id=62534
87684
87685         * GNUmakefile.am: Add ENABLE_REGISTER_PROTOCOL_HANDLER.
87686
87687 2011-06-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
87688
87689         Reviewed by Kent Tamura.
87690
87691         [EFL] Support for painting thumb of media slider
87692         https://bugs.webkit.org/show_bug.cgi?id=62174
87693
87694         Implement paintMediaSliderThumb() function to show thumb of media slider.
87695         adjustSliderThumbSize() should be implemented in order to call paintMediaSliderThumb().
87696
87697         * platform/efl/RenderThemeEfl.cpp:
87698         (WebCore::RenderThemeEfl::RenderThemeEfl):
87699         (WebCore::RenderThemeEfl::adjustSliderThumbSize):
87700         (WebCore::RenderThemeEfl::paintMediaSliderTrack):
87701         (WebCore::RenderThemeEfl::paintMediaSliderThumb):
87702         (WebCore::RenderThemeEfl::paintMediaCurrentTime):
87703         * platform/efl/RenderThemeEfl.h:
87704
87705 2011-06-13  Keishi Hattori  <keishi@webkit.org>
87706
87707         Sort WebCore.xcodeproj
87708         Accomplished using sort-Xcode-project-file.
87709
87710         * WebCore.xcodeproj/project.pbxproj:
87711
87712 2011-06-13  James Simonsen  <simonjam@chromium.org>
87713
87714         Reviewed by James Robinson.
87715
87716         [Chromium] Implement monotonicallyIncreasingClock()
87717         https://bugs.webkit.org/show_bug.cgi?id=62162
87718
87719         * platform/chromium/PlatformBridge.h:
87720         * platform/chromium/SystemTimeChromium.cpp:
87721         (WebCore::monotonicallyIncreasingTime): Use Chrome's implementation.
87722
87723 2011-06-13  Steve Block  <steveblock@google.com>
87724
87725         Reviewed by Darin Adler.
87726
87727         Remove Android defines from WebCore/config.h
87728         https://bugs.webkit.org/show_bug.cgi?id=62602
87729
87730         No new tests, build cleanup only.
87731
87732         * config.h:
87733
87734 2011-06-13  Adam Barth  <abarth@webkit.org>
87735
87736         Reviewed by David Levin.
87737
87738         Remove redundant "true" parameter to scheduleLocationChange
87739         https://bugs.webkit.org/show_bug.cgi?id=62612
87740
87741         This parameter defaults to true anyway.
87742
87743         * loader/appcache/ApplicationCacheGroup.cpp:
87744         (WebCore::ApplicationCacheGroup::selectCache):
87745
87746 2011-06-13  Kentaro Hara  <haraken@google.com>
87747
87748         Reviewed by Alexey Proskuryakov.
87749
87750         Add resizePageRectsKeepingRatio(), which expands/shrinks a page, keeping the ratio of the original page
87751         https://bugs.webkit.org/show_bug.cgi?id=61256
87752
87753         In order to prevent rounding error caused by expanding/shrinking a page
87754         using different calculation here and there, I added a common calculation
87755         method, resizePageRectsKeepingRatio(), which expands/shrinks a page,
87756         keeping the ratio of width and height of the original page.
87757         PrintContext::computePageRects() and PrintContext::begin()
87758         use resizePageRectsKeepingRatio() to expand/shrink a page.
87759
87760         Test: printing/page-count-with-one-word.html
87761
87762         * WebCore.exp.in:
87763         * page/Frame.cpp:
87764         (WebCore::Frame::resizePageRectsKeepingRatio):
87765         * page/Frame.h:
87766         * page/PrintContext.cpp:
87767         (WebCore::PrintContext::computePageRects):
87768         (WebCore::PrintContext::begin):
87769
87770 2011-06-13  Adam Barth  <abarth@webkit.org>
87771
87772         Reviewed by Darin Adler.
87773
87774         anyPageIsProcessingUserGesture is not longer needed because user gesture state is static
87775         https://bugs.webkit.org/show_bug.cgi?id=62601
87776
87777         Previously, our user-gesture state was per-frame.  Code needed to check
87778         the "global" user gesture state called anyPageIsProcessingUserGesture()
87779         to iterate through all the frames and look for one that was processing
87780         a user gesture.  Since we changed the user gesture state to be static,
87781         iterating over every frame in existence isn't needed.
87782
87783         This patch also cleans up a couple other user-gesture callsites I saw
87784         while I was in this code.  Code should just call
87785         ScriptController::processingUserGesture directly instead of
87786         trampolining through other functions.
87787
87788         * bindings/ScriptControllerBase.cpp:
87789         (WebCore::ScriptController::executeScript):
87790         * bindings/generic/BindingSecurity.h:
87791         (WebCore::::allowPopUp):
87792         * bindings/js/JSDOMBinding.cpp:
87793         * bindings/js/JSDOMBinding.h:
87794         * bindings/js/JSDocumentCustom.cpp:
87795         (WebCore::JSDocument::setLocation):
87796         * bindings/js/ScriptController.cpp:
87797         * bindings/js/ScriptController.h:
87798         * bindings/scripts/CodeGeneratorJS.pm:
87799         * bindings/scripts/CodeGeneratorV8.pm:
87800         * bindings/v8/ScriptController.cpp:
87801         * bindings/v8/ScriptController.h:
87802         (WebCore::ScriptController::setProcessingTimerCallback):
87803         * bindings/v8/V8Utilities.cpp:
87804         * bindings/v8/V8Utilities.h:
87805         * bindings/v8/specialization/V8BindingState.cpp:
87806         * bindings/v8/specialization/V8BindingState.h:
87807         * html/HTMLFormElement.cpp:
87808         (WebCore::HTMLFormElement::submitFromJavaScript):
87809         (WebCore::HTMLFormElement::submit):
87810         * page/DOMWindow.cpp:
87811         (WebCore::DOMWindow::setLocation):
87812         (WebCore::DOMWindow::createWindow):
87813         (WebCore::DOMWindow::open):
87814
87815 2011-06-13  Jeffrey Pfau  <jpfau@apple.com>
87816
87817         Reviewed by Darin Adler.
87818
87819         Crash in WebCore::RenderMathMLUnderOver::layout()
87820         https://bugs.webkit.org/show_bug.cgi?id=57900
87821
87822         Add more null checks so that removing children in MathML elements does not cause crashes.
87823         Note that this only half fixes the third repro in the Bugzilla bug, as another bug will
87824         still crash that repro.
87825
87826         Test: mathml/munderover-remove-children.html
87827
87828         * rendering/mathml/RenderMathMLSubSup.cpp:
87829         (WebCore::RenderMathMLSubSup::stretchToHeight):
87830         * rendering/mathml/RenderMathMLUnderOver.cpp:
87831         (WebCore::RenderMathMLUnderOver::layout):
87832         (WebCore::RenderMathMLUnderOver::nonOperatorHeight):
87833
87834 2011-06-13  Dmitry Lomov  <dslomov@google.com>
87835
87836         Reviewed by Adam Barth.
87837
87838         https://bugs.webkit.org/show_bug.cgi?id=62345
87839         Use per-isolate embedder data instead of statics for caches in bindings.
87840         This is a prerequisite for more than one v8 isolate per process.
87841
87842         * bindings/scripts/CodeGeneratorV8.pm:
87843         * bindings/v8/IDBBindingUtilities.cpp:
87844         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
87845         (WebCore::injectIDBKeyIntoSerializedValue):
87846         * bindings/v8/V8Binding.cpp:
87847         (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
87848         (WebCore::V8BindingPerIsolateData::~V8BindingPerIsolateData):
87849         (WebCore::V8BindingPerIsolateData::create):
87850         (WebCore::V8BindingPerIsolateData::ensureInitialized):
87851         (WebCore::V8BindingPerIsolateData::dispose):
87852         (WebCore::getToStringName):
87853         (WebCore::getToStringTemplate):
87854         * bindings/v8/V8Binding.h:
87855         (WebCore::V8BindingPerIsolateData::get):
87856         (WebCore::V8BindingPerIsolateData::current):
87857         (WebCore::V8BindingPerIsolateData::rawTemplateMap):
87858         (WebCore::V8BindingPerIsolateData::templateMap):
87859         (WebCore::V8BindingPerIsolateData::toStringName):
87860         (WebCore::V8BindingPerIsolateData::toStringTemplate):
87861         * bindings/v8/V8DOMWindowShell.cpp:
87862         (WebCore::V8DOMWindowShell::initContextIfNeeded):
87863         * bindings/v8/V8Utilities.cpp:
87864         (WebCore::V8LocalContext::V8LocalContext):
87865         (WebCore::V8LocalContext::~V8LocalContext):
87866         * bindings/v8/V8Utilities.h:
87867         * bindings/v8/WorkerContextExecutionProxy.cpp:
87868         (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
87869
87870 2011-06-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
87871
87872         Reviewed by Adam Barth.
87873
87874         Simplify logic in ProgressTracker::progressCompleted()
87875         https://bugs.webkit.org/show_bug.cgi?id=62598
87876
87877         Testing for "m_numProgressTrackedFrames != 0" is unnecessary because it is
87878         always true, otherwise we would entered in the first part of the conditional.
87879
87880         * loader/ProgressTracker.cpp:
87881         (WebCore::ProgressTracker::progressCompleted):
87882
87883 2011-06-13  Dimitri Glazkov  <dglazkov@chromium.org>
87884
87885         Unreviewed, rolling out r88704.
87886         http://trac.webkit.org/changeset/88704
87887         https://bugs.webkit.org/show_bug.cgi?id=62466
87888
87889         Caused layout test failures on Chromium Mac.
87890
87891         * platform/chromium/ClipboardChromium.cpp:
87892         (WebCore::ClipboardChromium::declareAndWriteDragImage):
87893
87894 2011-06-13   Morgan Winer  <mwiner@apple.com>
87895
87896         Reviewed by Enrica Casucci.
87897
87898         Frame::visiblePositionForPoint returns null position if the point is over an imagemap.
87899         https://bugs.webkit.org/show_bug.cgi?id=62562
87900         <rdar://problem/9313885>
87901
87902         The innerNode() of an imageMap is an area, and doesn't have a renderer and
87903         therefore can't report a position.
87904         Every result's innerNonSharedNode() should be the same as the innerNode(),
87905         except for imageMaps, which will have the actual image as its innerNonSharedNode(),
87906         and will therefore have a renderer and can report a position.
87907
87908         There are no layout tests for this, since it can be tested only at API level.
87909
87910         * page/Frame.cpp:
87911         (WebCore::Frame::visiblePositionForPoint): Changing innerNode() to innerNonSharedNode().
87912
87913 2011-06-13  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
87914
87915         Reviewed by Eric Seidel.
87916
87917         [CMAKE] Conditionally generate DerivedSources
87918         https://bugs.webkit.org/show_bug.cgi?id=62277
87919
87920         Speedup build by not generating DerivedSources of features that are
87921         disabled. This was already been done for some features like ENABLE_SVG
87922         and now it's extended the following features: ENABLE_DATABASE,
87923         ENABLE_INDEXED_DATABASE, ENABLE_DOM_STORAGE, ENABLE_XPATH,
87924         ENABLE_OFFLINE_WEB_APPLICATIONS, ENABLE_WEB_SOCKETS,
87925         ENABLE_DATA_TRANSFER_ITEMS.
87926
87927         No change in functionality so no new tests.
87928
87929         * CMakeLists.txt: move .idl files to be conditionally generated.
87930
87931 2011-06-13  Leandro Pereira  <leandro@profusion.mobi>
87932
87933         Reviewed by Eric Seidel.
87934
87935         [CMake] Allow building with ENABLE_NETSCAPE_PLUGIN_API on platforms
87936         without plugin support
87937         https://bugs.webkit.org/show_bug.cgi?id=62394
87938
87939         No behaviour changes, so no new tests.
87940
87941         * CMakeLists.txt: Remove references to Plugin{Package,View}.cpp and
87942         Plugin{Package,View}None.cpp and move them to CMakeListWinCE and
87943         CMakeListsEfl, respectively.
87944         * CMakeListsEfl.txt:
87945         * CMakeListsWinCE.txt:
87946
87947 2011-06-13  Andrey Kosyakov  <caseq@chromium.org>
87948
87949         Reviewed by Eric Seidel.
87950
87951         Web Inspector: [refactoring] remove dead code from NetworkPanel
87952         https://bugs.webkit.org/show_bug.cgi?id=62481
87953
87954         * inspector/front-end/NetworkPanel.js:
87955
87956 2011-06-13  Daniel Cheng  <dcheng@chromium.org>
87957
87958         Reviewed by Eric Seidel.
87959
87960         [chromium] Dragging images to Mail.app results in broken attachments
87961         https://bugs.webkit.org/show_bug.cgi?id=62466
87962
87963         No new tests.
87964
87965         * platform/chromium/ClipboardChromium.cpp:
87966         (WebCore::ClipboardChromium::declareAndWriteDragImage):
87967
87968 2011-06-13  Adrienne Walker  <enne@google.com>
87969
87970         Reviewed by Simon Fraser.
87971
87972         Overlap test needs to consider children of composited layers
87973         https://bugs.webkit.org/show_bug.cgi?id=62465
87974
87975         Any child layer with a compositing ancestor will be put into a
87976         composited layer even though they themselves don't need compositing.
87977         As layer bounds aren't hierarchical, these layer bounds themselves
87978         need to be put into the overlap map because the composited layer
87979         itself is not sufficient.
87980
87981         Test: compositing/layer-creation/overlap-animated-layer.html
87982
87983         * rendering/RenderLayerCompositor.cpp:
87984         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
87985
87986 2011-06-13  Xan Lopez  <xlopez@igalia.com>
87987
87988         Unreviewed build fix.
87989
87990         Touch this to try to fix the build...
87991
87992         * platform/gtk/WidgetGtk.cpp:
87993         (WebCore::Widget::~Widget):
87994
87995 2011-06-13  Xan Lopez  <xlopez@igalia.com>
87996
87997         Try to fix GTK+ build.
87998
87999         * GNUmakefile.list.am: remove CredentialStorage.cpp
88000
88001 2011-06-13  Stephen White  <senorblanco@chromium.org>
88002
88003         Reviewed by James Robinson.
88004
88005         Improve GPU canvas startup time on the SkiaGPU path.
88006         https://bugs.webkit.org/show_bug.cgi?id=62594
88007         
88008         Fixed by skipping creation of shaders used only by the legacy path.
88009
88010         Covered by existing canvas tests.
88011
88012         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
88013         (WebCore::SharedGraphicsContext3D::create):
88014
88015 2011-06-13  Michael Saboff  <msaboff@apple.com>
88016
88017         Reviewed by Oliver Hunt.
88018
88019         Additional FontCache::FontCachePurgePreventer instances needed
88020         https://bugs.webkit.org/show_bug.cgi?id=62498
88021
88022         Added some needed and speculative FontCachePurgePreventer objects.
88023         Built and ran Safari with debug version of webkit that purges all
88024         purgeable fonts in FontCache::purgeInactiveFontDataIfNeeded in order
88025         to find system fallback fonts access via code paths that aren't
88026         protected with FontCachePurgePreventer objects.  Also examined
88027         platform specific code that calls either Font::drawText() or
88028         Canvas::drawText().  For those methods that may be called from currently
88029         unprotected paths, added FontCachePurgePreventer objects.
88030
88031         No new functionality so no new tests.
88032
88033         * inspector/DOMNodeHighlighter.cpp:
88034         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
88035         (PlatformCALayerWinInternal::displayCallback):
88036         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
88037         (WebCore::CCHeadsUpDisplay::drawHudContents):
88038         * platform/mac/DragImageMac.mm:
88039         (WebCore::widthWithFont):
88040         (WebCore::drawAtPoint):
88041         * rendering/RenderMenuList.cpp:
88042         (WebCore::RenderMenuList::updateOptionsWidth):
88043
88044 2011-06-13  Ryosuke Niwa  <rniwa@webkit.org>
88045
88046         Reviewed by Dan Bernstein.
88047
88048         REGRESSION (r81518): Crash in makeRange() when invoking the dictionary panel over a file input
88049         https://bugs.webkit.org/show_bug.cgi?id=62544
88050
88051         Fixed the crash by adding null pointer checks.
88052
88053         No new tests since there's no way to open dictionary panel.
88054
88055         * dom/Position.cpp:
88056         (WebCore::Position::parentAnchoredEquivalent):
88057         * editing/VisiblePosition.cpp:
88058         (WebCore::makeRange):
88059         * page/Frame.cpp:
88060         (WebCore::Frame::rangeForPoint):
88061
88062 2011-06-13  Adam Barth  <abarth@webkit.org>
88063
88064         Reviewed by Nate Chapin.
88065
88066         Factor IconController out of FrameLoader
88067         https://bugs.webkit.org/show_bug.cgi?id=62509
88068
88069         This new class contains all the icon-related logic from FrameLoader.
88070         The icon-related logic and state has almost zero interaction with the
88071         rest of FrameLoader and is better handled as a separate concern.
88072
88073         * CMakeLists.txt:
88074         * GNUmakefile.list.am:
88075         * WebCore.gypi:
88076         * WebCore.pro:
88077         * WebCore.vcproj/WebCore.vcproj:
88078         * WebCore.xcodeproj/project.pbxproj:
88079         * dom/Document.cpp:
88080         (WebCore::Document::implicitClose):
88081         (WebCore::Document::setIconURL):
88082         * inspector/InspectorResourceAgent.cpp:
88083         (WebCore::InspectorResourceAgent::didReceiveResponse):
88084         * loader/DocumentLoader.cpp:
88085         (WebCore::DocumentLoader::iconLoadDecisionAvailable):
88086         (WebCore::DocumentLoader::continueIconLoadWithDecision):
88087         * loader/FrameLoader.cpp:
88088         (WebCore::FrameLoader::FrameLoader):
88089         (WebCore::FrameLoader::stop):
88090         * loader/FrameLoader.h:
88091         (WebCore::FrameLoader::icon):
88092         * loader/icon/IconLoader.cpp:
88093         (WebCore::IconLoader::startLoading):
88094         (WebCore::IconLoader::finishLoading):
88095         * loader/icon/IconLoader.h:
88096
88097 2011-06-13  Nate Chapin  <japhet@chromium.org>
88098
88099         Reviewed by Darin Fisher.
88100
88101         [V8] Cache V8NPObjects so that we don't create multiple
88102         NPObjects for the same v8::Object.
88103         https://bugs.webkit.org/show_bug.cgi?id=61482
88104
88105         Test: plugins/npruntime/embed-property-equality.html
88106
88107         * bindings/v8/NPV8Object.cpp:
88108         (WebCore::freeV8NPObject):
88109         (WebCore::npCreateV8ScriptObject):
88110
88111 2011-06-13  Xan Lopez  <xlopez@igalia.com>
88112
88113         Reviewed by Martin Robinson.
88114
88115         Distcheck fixes.
88116
88117         * GNUmakefile.am:
88118         * GNUmakefile.list.am:
88119
88120 2011-06-13  Dirk Schulze  <krit@webkit.org>
88121
88122         Reviewed build fix of mac.
88123
88124         SVGAnimation should use direct unit animation for SVGLength
88125         https://bugs.webkit.org/show_bug.cgi?id=61368
88126
88127         Forgot to add SVGAnimatedLength.cpp. 
88128
88129         * WebCore.xcodeproj/project.pbxproj:
88130
88131 2011-06-13  Dirk Schulze  <krit@webkit.org>
88132
88133         Reviewed by Nikolas Zimmermann.
88134
88135         SVGAnimation should use direct unit animation for SVGLength
88136         https://bugs.webkit.org/show_bug.cgi?id=61368
88137
88138         When running SMIL animations  within SVG, we unnecessarily transform the underlying SVG primitive datatype to strings, number+units, and back. As first step the target element
88139         gets asked for its current value. This value gets transformed to a string. In SVGAnimateElement we try to parse this string again and
88140         split it into a number and its unit. In the further steps we just animate the number. This number gets transformed back to a string
88141         together with the parsed unit. The string gets passed back to the target element, which is responsible for parsing the passed string back
88142         to a value as a SVG primitive datatype (like SVGLength, SVGNumber, SVGAngle, SVGColor, ...), relayout and rerendering.
88143
88144         In short: SVG primitive datatype -> string -> number + unit animation -> string -> SVG primitive datatype.
88145
88146         This patch does not attempt to change the string transformations, but addresses the parsing of the string back to a number and unit in the
88147         SVG animation code. There's no need to write a new parser in SVGAnimateElement to parse SVG primitive datatypes, we can instead reuse the existing ones.
88148         Also the current parser of SVGAnimateElement does not handle most unit types, nor is it possible to animate lists like SVGLengthList with the
88149         parsed content. An animation of values with different unit types is not possible:
88150
88151         <rect width="20" height="20">
88152             <animate animateAttribute="width" from="20px" to="10%" dur="4s"/>
88153         </rect>
88154
88155         For the example above we would animate the rect width from 20px to 10px in 4 seconds and jump to the 10% of the viewport at the end of the
88156         animation.
88157         With using the parsers of SVG primitive datatypes we will also use the SVG primitive datatypes in the animation code itself. And that makes
88158         it possible to do such animations.
88159
88160         In short: SVG primitive datatype -> string -> SVG primitive datatype animation -> string -> SVG primitive datatype.
88161
88162         It will be easier to avoid the string transformation once all SVG primitive datatypes are supported.
88163
88164         To hide the complexity of the animation code, the actual calculations of SVG animation specific values was moved to the corresponding
88165         SVGAnimated* files (SVGAnimatedLength.cpp for SVGLength). SVGAnimateElement itself just works with the new added generic datatype SVGAnimationType.
88166         SVGAnimatorFactory creates the SVG primitive datatype specific animators. This makes the main animation code a lot more readable and 
88167         maintainable.
88168
88169         With this patch I add the SVGAnimatorFactory and convert SVGLength animation to the new concept.
88170
88171         Tests: svg/animations/svglength-animation-LengthModeHeight.html
88172                svg/animations/svglength-animation-LengthModeOther.html
88173                svg/animations/svglength-animation-LengthModeWidth.html
88174                svg/animations/svglength-animation-invalid-value-1.html
88175                svg/animations/svglength-animation-invalid-value-2.html
88176                svg/animations/svglength-animation-invalid-value-3.html
88177                svg/animations/svglength-animation-number-to-number.html
88178                svg/animations/svglength-animation-px-to-cm.html
88179                svg/animations/svglength-animation-px-to-ems.html
88180                svg/animations/svglength-animation-px-to-exs.html
88181                svg/animations/svglength-animation-px-to-in.html
88182                svg/animations/svglength-animation-px-to-number.html
88183                svg/animations/svglength-animation-px-to-pc.html
88184                svg/animations/svglength-animation-px-to-percentage.html
88185                svg/animations/svglength-animation-px-to-pt.html
88186                svg/animations/svglength-animation-px-to-px.html
88187                svg/animations/svglength-animation-values.html
88188
88189         * CMakeLists.txt: Added new files to build system.
88190         * GNUmakefile.list.am: Ditto.
88191         * WebCore.gypi: Ditto.
88192         * WebCore.pro: Ditto.
88193         * WebCore.vcproj/WebCore.vcproj: Ditto.
88194         * WebCore.xcodeproj/project.pbxproj: Ditto.
88195         * svg/SVGAllInOne.cpp: Added SVGAnimatedLength.cpp for Win and other build systems.
88196         * svg/SVGAnimateElement.cpp:
88197         (WebCore::parseNumberValueAndUnit): Remove parsing code for SVGLength. Use SVGLength parser directly.
88198         (WebCore::SVGAnimateElement::adjustForCurrentColor): Made adjustForCurrentColor public as preperation for SVGAnimatedColor.
88199         (WebCore::getPropertyValue): Inline function to get computedStyle of CSS property.
88200         (WebCore::SVGAnimateElement::adjustForInheritance): Made adjustForInheritance as preperation for SVGAnimated* files.
88201         (WebCore::SVGAnimateElement::determineAnimatedAttributeType): SVGLength need special handling via SVGAnimator now.
88202         (WebCore::SVGAnimateElement::calculateAnimatedValue): Cleanup. Make use of SVGAnimator for SVGLength.
88203         (WebCore::SVGAnimateElement::calculateFromAndToValues): Ditto.
88204         (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto.
88205         (WebCore::SVGAnimateElement::resetToBaseValue): Ditto.
88206         (WebCore::SVGAnimateElement::applyResultsToTarget): Ditto.
88207         (WebCore::SVGAnimateElement::calculateDistance): Ditto.
88208         * svg/SVGAnimateElement.h:
88209         * svg/SVGAnimatedLength.cpp: Added.
88210         (WebCore::SVGAnimatedLengthAnimator::SVGAnimatedLengthAnimator):
88211         (WebCore::sharedSVGLength):
88212         (WebCore::SVGAnimatedLengthAnimator::constructFromString):
88213         (WebCore::SVGAnimatedLengthAnimator::calculateFromAndToValues):
88214         (WebCore::SVGAnimatedLengthAnimator::calculateFromAndByValues):
88215         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
88216         (WebCore::SVGAnimatedLengthAnimator::calculateDistance):
88217         * svg/SVGAnimatedLength.h: Added new class SVGAnimatedLengthAnimator which is responsible for the actual animation.
88218         (WebCore::SVGAnimatedLengthAnimator::~SVGAnimatedLengthAnimator):
88219         * svg/SVGAnimatedType.h: Added. Generic SVG unit type for animations in SVGAnimateElement.
88220         (WebCore::SVGAnimatedType::createLength):
88221         (WebCore::SVGAnimatedType::~SVGAnimatedType):
88222         (WebCore::SVGAnimatedType::type):
88223         (WebCore::SVGAnimatedType::length):
88224         (WebCore::SVGAnimatedType::SVGAnimatedType):
88225         * svg/SVGAnimatedTypeAnimator.h: Added. Base class for SVGAnimatedLengthAnimator and future SVG unit animators.
88226         (WebCore::SVGAnimatedTypeAnimator::~SVGAnimatedTypeAnimator):
88227         (WebCore::SVGAnimatedTypeAnimator::setContextElement):
88228         (WebCore::SVGAnimatedTypeAnimator::SVGAnimatedTypeAnimator):
88229         * svg/SVGAnimationElement.cpp:
88230         (WebCore::SVGAnimationElement::parseMappedAttribute): We do not use parseNumberValueAndUnit for SVGLength now. Have to strip white spaces here. Whitespaces shouldn't
88231           be stripped on the following attributes: 'from', 'to' and 'by'. This is not the case for SVGLength anymore. Added new tests to check this behavior.
88232         (WebCore::SVGAnimationElement::animationMode): Enum is accessible in WebCore namespace now.
88233         (WebCore::SVGAnimationElement::calcMode): Ditto.
88234         * svg/SVGAnimationElement.h:
88235         * svg/SVGAnimatorFactory.h: Added.
88236         (WebCore::SVGAnimatorFactory::create):
88237         * svg/SVGLength.cpp:
88238         (WebCore::SVGLength::setValueAsString): New setter with string and SVGLengthMode.
88239         (WebCore::SVGLength::lengthModeForAnimatedLengthAttribute): Get LengthMode for SVGLength depending on the attribute name.
88240         * svg/SVGLength.h:
88241
88242 2011-06-13  Adam Barth  <abarth@webkit.org>
88243
88244         Reviewed by Darin Adler.
88245
88246         r87539 broke HTMLMediaElement url logging
88247         https://bugs.webkit.org/show_bug.cgi?id=62551
88248
88249         Returning pointers to temporaries is bad times!
88250
88251         * html/HTMLMediaElement.cpp:
88252         (WebCore::urlForLogging):
88253         (WebCore::HTMLMediaElement::loadResource):
88254         (WebCore::HTMLMediaElement::isSafeToLoadURL):
88255         (WebCore::HTMLMediaElement::selectNextSourceChild):
88256         (WebCore::HTMLMediaElement::sourceWasAdded):
88257         (WebCore::HTMLMediaElement::sourceWillBeRemoved):
88258
88259 2011-06-13  Tony Chang  <tony@chromium.org>
88260
88261         Reviewed by Dimitri Glazkov.
88262
88263         rename ENABLE_NEW_FLEXBOX to ENABLE_CSS3_FLEXBOX
88264         https://bugs.webkit.org/show_bug.cgi?id=62578
88265
88266         * Configurations/FeatureDefines.xcconfig:
88267
88268 2011-06-13  Mark Pilgrim  <pilgrim@chromium.org>
88269
88270         Reviewed by Tony Chang.
88271
88272         IndexedDB: setVersion() version argument is required
88273         https://bugs.webkit.org/show_bug.cgi?id=62401
88274
88275         Test: storage/indexeddb/setVersion-undefined.html
88276
88277         * storage/IDBDatabase.cpp:
88278         (WebCore::IDBDatabase::setVersion): check for null version
88279         * storage/IDBDatabase.idl: add IDL magic to force undefined to null so we can handle both missing and null arguments
88280
88281 2011-06-13  Simon Fraser  <simon.fraser@apple.com>
88282
88283         Reviewed by Adele Peterson.
88284
88285         Print out bounds origin in layer dump
88286         https://bugs.webkit.org/show_bug.cgi?id=62583
88287
88288         Include m_boundsOrigin in the layer dump, which is used by layerTreeAsText().
88289
88290         * platform/graphics/GraphicsLayer.cpp:
88291         (WebCore::GraphicsLayer::dumpProperties):
88292
88293 2011-06-13  Simon Fraser  <simon.fraser@apple.com>
88294
88295         Reviewed by Adele Peterson.
88296
88297         Add utility method to report whether a RenderLayer has any scrollbars
88298         https://bugs.webkit.org/show_bug.cgi?id=62579
88299         
88300         New method that returns true with either scrollbar is present.
88301
88302         * rendering/RenderLayer.h:
88303         (WebCore::RenderLayer::hasScrollbars):
88304
88305 2011-06-11  Jer Noble  <jer.noble@apple.com>
88306
88307         Reviewed by Anders Carlsson.
88308
88309         Avoid flashing when exiting full-screen mode.
88310         https://bugs.webkit.org/show_bug.cgi?id=62338
88311
88312         No new tests; covered by the existing full-screen tests.
88313
88314         Now that we are forcing a repaint inside of setRootFullScreenLayer() instead of during
88315         the next run loop, make sure that we have disabled animation before calling 
88316         setRootFullScreenLayer() so that the RenderFullScreen renderer and its contents are
88317         painted.
88318
88319         * dom/Document.cpp:
88320         (WebCore::Document::webkitDidEnterFullScreenForElement):
88321
88322 2011-06-10  Jer Noble  <jer.noble@apple.com>
88323
88324         Reviewed by Darin Adler.
88325
88326         Flash of white on left and right edges of screen when showing fullscreen controller when movie doesn't fill the entire screen
88327         https://bugs.webkit.org/show_bug.cgi?id=62491
88328         <rdar://problem/9584427>
88329
88330         No new tests; should be covered by existing fullscreen pixel tests.
88331
88332         On certain displays, when a RenderFullScreen renderer is created, it is large enough to trigger the 
88333         creation of a tiled CALayer (instead of a normal CALayer).  Painting in these layers necessarily
88334         happens asynchronously, so the flash is occurring because of the async painting of the RenderFullScreen
88335         renderer's background color.  Since we know the RenderFullScreen does not otherwise paint its contents,
88336         we can add a special case in the RenderLayerBacking to set the GraphicsLayer contents to be the
88337         renderer's background color.  Fill in support for creating a contentLayer to contain the background 
88338         color inside GraphicsLayerCA.
88339
88340         * platform/graphics/GraphicsLayer.h:
88341         (WebCore::GraphicsLayer::setContentsToBackgroundColor): Renamed from setContentsBackgroundColor to match
88342             the other setContentsTo... functions.
88343         * platform/graphics/ca/GraphicsLayerCA.cpp:
88344         (WebCore::GraphicsLayerCA::setContentsToBackgroundColor): Added. Creates a contentsLayer to host the 
88345             background color.
88346         (WebCore::GraphicsLayerCA::updateLayerBackgroundColor): Removed a comment only.
88347         * platform/graphics/ca/GraphicsLayerCA.h:
88348         * rendering/RenderLayerBacking.cpp:
88349         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Special case the RenderFullScreen
88350             renderer to call updateBackgroundColor.
88351         (WebCore::RenderLayerBacking::updateBackgroundColor): Added.
88352         (WebCore::RenderLayerBacking::containsPaintedContent): Tell the backing that the RenderFullScreen
88353             renderer does not paint its contents.
88354         * rendering/RenderLayerBacking.h:
88355
88356 2011-06-13  Tim Horton  <timothy_horton@apple.com>
88357
88358         Reviewed by Simon Fraser.
88359
88360         REGRESSION(87152): Crash on page with svg fonts
88361         https://bugs.webkit.org/show_bug.cgi?id=61556
88362
88363         We can't assume that the parent of a SVG-font-styled
88364         text node won't be an anonymous block.
88365
88366         Test: svg/text/text-font-anonymous-parent.xhtml
88367
88368         * rendering/svg/SVGTextRunRenderingContext.cpp:
88369         (WebCore::firstParentRendererForNonTextNode):
88370         (WebCore::SVGTextRunWalker::walk):
88371         (WebCore::floatWidthOfSubStringUsingSVGFont):
88372         (WebCore::SVGTextRunRenderingContext::drawTextUsingSVGFont):
88373
88374 2011-06-13  Tony Chang  <tony@chromium.org>
88375
88376         Reviewed by Adam Barth.
88377
88378         rename ENABLE_FLEXBOX to ENABLE_NEW_FLEXBOX
88379         https://bugs.webkit.org/show_bug.cgi?id=62545
88380
88381         * Configurations/FeatureDefines.xcconfig:
88382
88383 2011-06-13  Xan Lopez  <xlopez@igalia.com>
88384
88385         Reviewed by Martin Robinson.
88386
88387         Some distcheck fixes. Still broken, but this is moves us closer to
88388         the target.
88389
88390         * GNUmakefile.am: fix vpath syntax and add missing files to
88391         EXTRA_DIST.
88392         * GNUmakefile.list.am: add missing files and remove dead files.
88393         * bindings/gobject/GNUmakefile.am: fix comment.
88394
88395 2011-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>
88396
88397         Reviewed by Kenneth Rohde Christiansen.
88398
88399         Add layer factory to GraphicsLayer for creating non-default layer type.
88400         https://bugs.webkit.org/show_bug.cgi?id=61925
88401
88402         Use the new factory function in TextureMapper.
88403
88404         No new functionality so no new tests.
88405
88406         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
88407         (WebCore::GraphicsLayer::create):
88408
88409 2011-06-13  Young Han Lee  <joybro@company100.net>
88410
88411         Reviewed by Kenneth Rohde Christiansen.
88412
88413         [Texmap][Qt] Accelerated animation is repeating as if its direction property is always 'alternate'.
88414         https://bugs.webkit.org/show_bug.cgi?id=62281
88415
88416         syncAnimations() has miscalculated a normalized progress value as if the animation always has alternate direction property.
88417
88418         Test: animations/animation-direction-normal.html
88419
88420         * platform/graphics/texmap/TextureMapperNode.cpp:
88421         (WebCore::TextureMapperNode::syncAnimations):
88422
88423 2011-06-13  Dirk Schulze  <krit@webkit.org>
88424
88425         Reviewed by Rob Buis.
88426
88427         SVG patternTransform not animatable
88428         https://bugs.webkit.org/show_bug.cgi?id=62538
88429
88430         SVG animation did not take attribute 'patternTransform' into account. Added support for combination of
88431         SVGPatternElement and attribute 'patternTransform' to SVGAnimateTransformElement.
88432
88433         Tests: svg/animations/animateTransform-pattern-transform.html
88434                svg/animations/animateTransform-transformable-transform.html
88435
88436         * svg/SVGAnimateTransformElement.cpp:
88437         (WebCore::transformListFor):
88438         (WebCore::SVGAnimateTransformElement::resetToBaseValue):
88439         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
88440
88441 2011-06-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
88442
88443         Reviewed by Andreas Kling.
88444
88445         [Qt] JSC Bridge: convert QtConnectionObject to use JSC API
88446         https://bugs.webkit.org/show_bug.cgi?id=62330
88447
88448         This patch is based on the draft patch by Noam Rosenthal in bug 60842.
88449         Qt API autotests cover the bridge behavior and pass after this patch.
88450
88451         * bridge/qt/qt_runtime.h: Change QtConnectionObject to use JSC API types. In
88452         particular, we got rid of Strong<JSObject> members. Renamed some members and
88453         arguments to follow existing naming in QObject::connect().
88454
88455         * bridge/qt/qt_runtime.cpp:
88456         (JSC::Bindings::QtRuntimeConnectionMethod::call): Use a new helper function
88457         to create a connection, passing the ExecState* that will be used when the
88458         connection is activated (signal emitted). Use JSC API types when looking up
88459         the matching signal to disconnect.
88460
88461         (JSC::Bindings::QtConnectionObject::QtConnectionObject): Use JSC API to
88462         protect the receiver and receiverFunction from being garbage
88463         collected. Removed the ASSERT() since we don't hold ProtectedPtrs (in current
88464         code were Strong<>) anymore.
88465
88466         (JSC::Bindings::QtConnectionObject::~QtConnectionObject): Explain why is safe
88467         to use m_originalSender here. Unprotect values that we protected in constructor.
88468
88469         (JSC::Bindings::isJavaScriptFunction): Helper function to identify whether a
88470         JSObjectRef is a JS function (in contrast to a native function exposed to JS).
88471
88472         (JSC::Bindings::QtConnectionObject::execute):
88473         (JSC::Bindings::QtConnectionObject::match):
88474         Both updated to use JSC API when appliable. Note that convertQVariantToValue
88475         still returns JSC internal types, will be handled in a different patch.
88476
88477         (JSC::Bindings::QtConnectionObject::createWithInternalJSC):
88478         Convenince for the existing caller until it is converted to JSC as well.
88479
88480 2011-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
88481
88482         Reviewed by Martin Robinson.
88483
88484         [GTK] Add context menu support for Webkit2
88485         https://bugs.webkit.org/show_bug.cgi?id=54827
88486
88487         * platform/ContextMenuItem.h: Add gtkAction().
88488         * platform/gtk/ContextMenuGtk.cpp:
88489         (WebCore::ContextMenu::ContextMenu): Implement constructor that
88490         receives a platform menu.
88491         (WebCore::ContextMenu::setPlatformDescription): Make sure we don't
88492         destroy the menu if the new context menu is the current one.
88493         (WebCore::contextMenuItemVector): Implement this method to return
88494         the list of menu items in the given context menu, required by WebKit2.
88495         (WebCore::platformMenuDescription): Implement this method to
88496         return a platform menu for the given menu items.
88497         * platform/gtk/ContextMenuItemGtk.cpp:
88498         (WebCore::createPlatformMenuItemDescription): Helper function to
88499         create a platform context menu item.
88500         (WebCore::ContextMenuItem::ContextMenuItem): Use
88501         createPlatformMenuItemDescription().
88502         (WebCore::ContextMenuItem::title): Convert the title from UTF-8.
88503         (WebCore::ContextMenuItem::setTitle): Use gtkAction().
88504         (WebCore::ContextMenuItem::setSubMenu): Implement setSubMenu()
88505         that receives a list of items.
88506         (WebCore::ContextMenuItem::setChecked): Use gtkAction().
88507         (WebCore::ContextMenuItem::checked): Implement this, required by WebKit2.
88508         (WebCore::ContextMenuItem::enabled): Ditto.
88509         (WebCore::ContextMenuItem::setEnabled): Use gtkAction().
88510         (WebCore::ContextMenuItem::gtkAction): Return the GtkAction
88511         associated to the context menu item.
88512
88513 2011-06-13  Keishi Hattori  <keishi@webkit.org>
88514
88515         Sort WebCore.xcodeproj
88516
88517         Accomplished using sort-Xcode-project-file.
88518
88519         * WebCore.xcodeproj/project.pbxproj:
88520
88521 2011-06-12  Jer Noble  <jer.noble@apple.com>
88522
88523         Reviewed by Darin Adler.
88524
88525         REGRESSION (full screen video): Watch Again button is obscured after full screen playback ends at Apple trailers page
88526         https://bugs.webkit.org/show_bug.cgi?id=62507
88527
88528         No new tests; DRT would have to be modified to delay between receiving exitFullScreenForElement() and calling 
88529         webkitWillExitFullScreenForElement() to be able to test this.
88530
88531         If the full-screen element is removed, and webkitWillExitFullScreenForElement() is not called before
88532         fullScreenElementRemoved() returns, then ancestors of the full-screen element will not have their
88533         containsFullScreenElement property removed.  To protect against this, reset the property by calling 
88534         setContainsFullScreenElementRecursively() from within fullScreenElementRemoved().
88535
88536         * dom/Document.cpp:
88537         (WebCore::Document::fullScreenElementRemoved): Added call to setContainsFullScreenElementRecursively.
88538
88539 2011-06-12  Adam Barth  <abarth@webkit.org>
88540
88541         Reviewed by Alexey Proskuryakov.
88542
88543         Rename FrameLoaderClient::interruptForPolicyChangeError to use the past tense
88544         https://bugs.webkit.org/show_bug.cgi?id=62516
88545
88546         As requested by Alexey in https://bugs.webkit.org/show_bug.cgi?id=62510.
88547
88548         * loader/EmptyClients.h:
88549         (WebCore::EmptyFrameLoaderClient::interruptedForPolicyChangeError):
88550         * loader/FrameLoaderClient.h:
88551         * loader/MainResourceLoader.cpp:
88552         (WebCore::MainResourceLoader::interruptedForPolicyChangeError):
88553         (WebCore::MainResourceLoader::stopLoadingForPolicyChange):
88554         (WebCore::MainResourceLoader::continueAfterContentPolicy):
88555         * loader/MainResourceLoader.h:
88556
88557 2011-06-12  Hironori Bono  <hbono@chromium.org>
88558
88559         Reviewed by Hajime Morita.
88560
88561         Add null checks to HTMLTextAreaElement::removeSpellcheckRange().
88562         https://bugs.webkit.org/show_bug.cgi?id=62526
88563
88564         This change adds null checks to the following function to prevent crashes
88565         when calling removeSpellcheckRange() with null:
88566         HTMLTextAreaElement::removeSpellcheckRange(),
88567         HTMLInputElement::removeSpellcheckRange(), and
88568         HTMLDivElement::removeSpellcheckRange().
88569
88570         Test: editing/spelling/spellcheck-api-crash.html
88571
88572         * html/HTMLDivElement.cpp:
88573         (WebCore::HTMLDivElement::removeSpellcheckRange):
88574         * html/HTMLInputElement.cpp:
88575         (WebCore::HTMLInputElement::removeSpellcheckRange):
88576         * html/HTMLTextAreaElement.cpp:
88577         (WebCore::HTMLTextAreaElement::removeSpellcheckRange):
88578
88579 2011-06-12  Adam Barth  <abarth@webkit.org>
88580
88581         Reviewed by Darin Adler.
88582
88583         DocumentParser::appendBytes should use size_t for length instead of int
88584         https://bugs.webkit.org/show_bug.cgi?id=62508
88585
88586         size_t is the proper type for distances in memory, especially on 64 bit
88587         machines.
88588
88589         * dom/DecodedDataDocumentParser.cpp:
88590         (WebCore::DecodedDataDocumentParser::appendBytes):
88591         * dom/DecodedDataDocumentParser.h:
88592         * dom/DocumentParser.h:
88593         * html/ImageDocument.cpp:
88594         (WebCore::ImageDocumentParser::appendBytes):
88595         * html/MediaDocument.cpp:
88596         (WebCore::MediaDocumentParser::appendBytes):
88597         * html/PluginDocument.cpp:
88598         (WebCore::PluginDocumentParser::appendBytes):
88599         * loader/SinkDocument.cpp:
88600         (WebCore::SinkDocumentParser::appendBytes):
88601
88602 2011-06-12  Adam Barth  <abarth@webkit.org>
88603
88604         Reviewed by Eric Seidel.
88605
88606         Remove FrameLoader::isProcessingUserGesture
88607         https://bugs.webkit.org/show_bug.cgi?id=62519
88608
88609         This function is a remnant of the old user gesture design, which
88610         involved per-frame state stored on FrameLoader.  Now that we're using
88611         static state, we don't need this function anymore.
88612
88613         This function used to check whether JavaScript was enabled for the
88614         top-level frame, but that check doesn't make any sense (like much of
88615         the old user gesture code).
88616
88617         * WebCore.exp.in:
88618         * html/HTMLMediaElement.cpp:
88619         (WebCore::HTMLMediaElement::processingUserGesture):
88620         * loader/FrameLoader.cpp:
88621         (WebCore::FrameLoader::submitForm):
88622         * loader/FrameLoader.h:
88623         * rendering/RenderFileUploadControl.cpp:
88624         (WebCore::RenderFileUploadControl::click):
88625
88626 2011-06-12  Adam Barth  <abarth@webkit.org>
88627
88628         Fix fullscreen/full-screen-iframe-legacy.html.
88629
88630         * html/HTMLVideoElement.idl:
88631
88632 2011-06-12  Adam Barth  <abarth@webkit.org>
88633
88634         Reviewed by Alexey Proskuryakov.
88635
88636         Remove trival "forward-to-client" member functions from FrameLoader
88637         https://bugs.webkit.org/show_bug.cgi?id=62510
88638
88639         Originally, FrameLoader was supposed to abstract FrameLoaderClient, but
88640         we lost that battle log ago.  Nowadays, it's easier if folks just call
88641         into FrameLoaderClient directly.  Many of these functions have direct
88642         callers already anyway.
88643
88644         * WebCore.exp.in:
88645         * html/HTMLMediaElement.cpp:
88646         (WebCore::HTMLMediaElement::createRenderer):
88647         (WebCore::HTMLMediaElement::attach):
88648         * loader/DocumentLoader.cpp:
88649         (WebCore::DocumentLoader::setRequest):
88650         (WebCore::DocumentLoader::setMainDocumentError):
88651         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
88652         * loader/FrameLoader.cpp:
88653         (WebCore::FrameLoader::didFirstLayout):
88654         * loader/FrameLoader.h:
88655             - cancelledError is slightly more delicate, so I'm going to move it in
88656               a separate patch.
88657         * loader/MainResourceLoader.cpp:
88658         (WebCore::MainResourceLoader::interruptForPolicyChangeError):
88659         (WebCore::MainResourceLoader::stopLoadingForPolicyChange):
88660         (WebCore::MainResourceLoader::continueAfterContentPolicy):
88661         (WebCore::MainResourceLoader::handleEmptyLoad):
88662         (WebCore::MainResourceLoader::loadNow):
88663         * loader/MainResourceLoader.h:
88664         * loader/NetscapePlugInStreamLoader.cpp:
88665         (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
88666         * loader/PingLoader.cpp:
88667         (WebCore::PingLoader::PingLoader):
88668         * loader/PolicyChecker.cpp:
88669         (WebCore::PolicyChecker::continueAfterNavigationPolicy):
88670         * loader/ResourceLoader.cpp:
88671         (WebCore::ResourceLoader::blockedError):
88672         (WebCore::ResourceLoader::cannotShowURLError):
88673         (WebCore::ResourceLoader::shouldUseCredentialStorage):
88674         (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace):
88675         * page/ContextMenuController.cpp:
88676         (WebCore::ContextMenuController::populate):
88677
88678 2011-06-12  Dan Bernstein  <mitz@apple.com>
88679
88680         Reviewed by Darin Adler.
88681
88682         <rdar://problem/9513180> REGRESSION (r84166): recalcStyle for display:inline to display:none transition has complexity N^2 where N is the number of child Text nodes
88683         https://bugs.webkit.org/show_bug.cgi?id=61557
88684
88685         Replaced the fix for bug 58500 with a refined version.
88686
88687         * rendering/RenderText.cpp:
88688         (WebCore::RenderText::clippedOverflowRectForRepaint): Use the containing block unless it is
88689         across a layer boundary.
88690
88691 2011-06-12  Adam Barth  <abarth@webkit.org>
88692
88693         Reviewed by Andreas Kling.
88694
88695         Minor user-gesture related cleanup
88696         https://bugs.webkit.org/show_bug.cgi?id=62511
88697
88698         In reading the user gesture code, I noticed that these lines of code
88699         should be deleted because they don't do anything.
88700
88701         * bindings/v8/NPV8Object.cpp:
88702         * html/HTMLAnchorElement.cpp:
88703         * html/HTMLVideoElement.idl:
88704
88705 2011-06-11  Nikolas Zimmermann  <nzimmermann@rim.com>
88706
88707         Reviewed by Dirk Schulze.
88708
88709         Add TextRun charactersLength member
88710         https://bugs.webkit.org/show_bug.cgi?id=62501
88711
88712         Preparation patch 2: Propagate the maximum length of the characters buffer the TextRun operates on, even when we're only measuring a substring.
88713         For example: In RenderText when we're measuring 'len' characters starting from "text()->characters() + start", there's a portion
88714         of "textLength() - start" characters that we're not processing. In order to support ligatures when integrating SVG Fonts
88715         within the GlyphPage concept, we need this extra information, to lookup ligatures even when single chars are measured.
88716         If a font defines an eg "ffl" ligature, and we're measuring the "f" of "ffl", it shall looukp the "ffl" glyph from the font,
88717         and skip the next two characters (this will be done in WidthIterator).
88718
88719         This doesn't yet affect any test, the new SVG Fonts code is not merged yet, this is the preparaion patch 2.
88720
88721         * platform/graphics/Font.h: Add yet-unused "const TextRun&" parameter to drawGlyphBuffer/drawEmphasisMarks.
88722         * platform/graphics/FontFastPath.cpp: Ditto. This parameter will be used to looukp the TextRunRenderingContext in a follow-up patch.
88723         (WebCore::Font::drawSimpleText):
88724         (WebCore::Font::drawEmphasisMarksForSimpleText):
88725         (WebCore::Font::drawGlyphBuffer):
88726         (WebCore::Font::drawEmphasisMarks):
88727         * platform/graphics/TextRun.h: Add "int m_charactersLength", similar to "int m_len". It denotes the maximum length of the characters buffer
88728                                        that we're holding. It defaults to the passed "len" value, but is overriden by explicit setCharactersLength calls.
88729         (WebCore::TextRun::TextRun):
88730         (WebCore::TextRun::charactersLength):
88731         (WebCore::TextRun::setCharactersLength):
88732         * platform/graphics/mac/FontComplexTextMac.cpp: Pass TextRun do drawGlyphBuffer/drawEmphasisMarks.
88733         (WebCore::Font::drawComplexText):
88734         (WebCore::Font::drawEmphasisMarksForComplexText):
88735         * platform/graphics/win/FontWin.cpp: Ditto.
88736         (WebCore::Font::drawComplexText):
88737         (WebCore::Font::drawEmphasisMarksForComplexText):
88738         * platform/graphics/wx/FontWx.cpp: Ditto.
88739         (WebCore::Font::drawComplexText):
88740         (WebCore::Font::drawEmphasisMarksForComplexText):
88741         * rendering/InlineTextBox.cpp: Call setCharactersLength on the processed TextRun.
88742         (WebCore::InlineTextBox::constructTextRun):
88743         * rendering/RenderBlockLineLayout.cpp: Ditto.
88744         (WebCore::textWidth):
88745         (WebCore::tryHyphenating):
88746         * rendering/RenderText.cpp: Ditto.
88747         (WebCore::RenderText::widthFromCache):
88748         (WebCore::RenderText::computePreferredLogicalWidths):
88749         (WebCore::RenderText::width):
88750         * rendering/svg/SVGInlineTextBox.cpp: Ditto.
88751         (WebCore::SVGInlineTextBox::constructTextRun):
88752
88753 2011-06-12  Robert Hogan  <robert@webkit.org>
88754
88755         Reviewed by Andreas Kling.
88756
88757         [Qt] Fix methods.html and methods-lower-case.html
88758         https://bugs.webkit.org/show_bug.cgi?id=62221
88759
88760         * platform/network/qt/QNetworkReplyHandler.cpp:
88761         (WebCore::QNetworkReplyHandler::clearContentsHeaders): Refactor code from sendNetworkRequest
88762         (WebCore::QNetworkReplyHandler::getIODevice): ditto
88763         (WebCore::QNetworkReplyHandler::sendNetworkRequest):
88764             - Remove ContentType and ContentLength headers from GET, DELETE and HEAD requests since
88765               we do not send data with any of these requests.
88766             - If a custom HTTP operation contains data, send it.
88767         * platform/network/qt/QNetworkReplyHandler.h:
88768
88769 2011-06-11  Michael Saboff  <msaboff@apple.com>
88770
88771         Reviewed by James Robinson.
88772
88773         REGRESSION(88260): 10-50% performance regression across many page cyclers
88774         https://bugs.webkit.org/show_bug.cgi?id=62349
88775
88776         Made CHROMIUM platform specific values for cMaxInactiveFontData and
88777         cTargetInactiveFontData to mitigate the current performance issue on Chromium
88778         page cycler tests.  Made the chromium value for cMaxInactiveFontData 250 based
88779         on recommendation from James Robinson.  Changed cTargetInactiveFontData to 200
88780         so that 50 inactive fonts will be cleaned up at a time.
88781
88782         Change made to address existing Chromium performance test regression.
88783
88784         * platform/graphics/FontCache.cpp:
88785
88786 2011-06-11  Adam Barth  <abarth@webkit.org>
88787
88788         Reviewed by Darin Adler.
88789
88790         Remove unnecessary strlen from DocumentWriter
88791         https://bugs.webkit.org/show_bug.cgi?id=62505
88792
88793         This ugly piece of code appears not to be needed.  Rejoice.
88794
88795         * WebCore.exp.in:
88796         * loader/DocumentLoader.cpp:
88797         (WebCore::DocumentLoader::commitData):
88798         * loader/DocumentLoader.h:
88799         * loader/DocumentWriter.cpp:
88800         (WebCore::DocumentWriter::addData):
88801         * loader/DocumentWriter.h:
88802
88803 2011-06-11  Adam Barth  <abarth@webkit.org>
88804
88805         Reviewed by Darin Adler.
88806
88807         DocumentParser::appendBytes shouldn't have a "flush" boolean parameter
88808         https://bugs.webkit.org/show_bug.cgi?id=62499
88809
88810         This patch removes the "flush" Boolean parameter from
88811         DocumentParser::appendBytes in favor of a new flush method.  This makes
88812         some code in DocumentWriter look less ridiculous.
88813
88814         There's still lots of on contorting to do here, but it's a start.
88815
88816         * dom/DecodedDataDocumentParser.cpp:
88817         (WebCore::DecodedDataDocumentParser::appendBytes):
88818         (WebCore::DecodedDataDocumentParser::flush):
88819         * dom/DecodedDataDocumentParser.h:
88820         * dom/DocumentParser.h:
88821         * dom/RawDataDocumentParser.h:
88822         (WebCore::RawDataDocumentParser::flush):
88823         * html/ImageDocument.cpp:
88824         (WebCore::ImageDocumentParser::appendBytes):
88825         * html/MediaDocument.cpp:
88826         (WebCore::MediaDocumentParser::appendBytes):
88827         * html/PluginDocument.cpp:
88828         (WebCore::PluginDocumentParser::appendBytes):
88829         * loader/DocumentWriter.cpp:
88830         (WebCore::DocumentWriter::reportDataReceived):
88831         (WebCore::DocumentWriter::addData):
88832         (WebCore::DocumentWriter::endIfNotLoadingMainResource):
88833         * loader/DocumentWriter.h:
88834         * loader/SinkDocument.cpp:
88835         (WebCore::SinkDocumentParser::appendBytes):
88836
88837 2011-06-11  Dimitri Glazkov  <dglazkov@chromium.org>
88838
88839         Unreviewed, rolling out r88569.
88840         http://trac.webkit.org/changeset/88569
88841         https://bugs.webkit.org/show_bug.cgi?id=62398
88842
88843         Broke Chromium browser test:
88844         IndexedDBBrowserTestWithGCExposed.DatabaseCallbacksTest
88845
88846         * storage/IDBFactory.idl:
88847
88848 2011-06-11  Dimitri Glazkov  <dglazkov@chromium.org>
88849
88850         Unreviewed, rolling out r88565.
88851         http://trac.webkit.org/changeset/88565
88852         https://bugs.webkit.org/show_bug.cgi?id=62401
88853
88854         Broke Chromium browser test:
88855         IndexedDBBrowserTestWithGCExposed.DatabaseCallbacksTest
88856
88857         * storage/IDBDatabase.cpp:
88858         (WebCore::IDBDatabase::setVersion):
88859         * storage/IDBDatabase.idl:
88860
88861 2011-06-10  Abhishek Arya  <inferno@chromium.org>
88862
88863         Reviewed by Simon Fraser.
88864
88865         Null parent element sheet pointers in CSSMutableStyleDeclaration consumers
88866         when removed from document, set them when reinserted into document.
88867         https://bugs.webkit.org/show_bug.cgi?id=62230
88868
88869         When a HTMLBodyElement, StyledElement are removed from document,
88870         we didn't clear out the parent pointers from their link, style declarations.
88871         These parent pointers pointed to the document's element sheet which will
88872         get removed when document is getting destroyed. It does make sense to
88873         clear out parent pointers when we are getting removed from document and
88874         readd them when we get inserted again.
88875
88876         Tests: fast/dom/body-link-decl-parent-crash.html
88877                fast/dom/styled-inline-style-decl-parent-crash.html
88878
88879         * dom/StyledElement.cpp:
88880         (WebCore::StyledElement::insertedIntoDocument):
88881         (WebCore::StyledElement::removedFromDocument):
88882         * dom/StyledElement.h:
88883         * html/HTMLBodyElement.cpp:
88884         (WebCore::HTMLBodyElement::parseMappedAttribute):
88885         (WebCore::HTMLBodyElement::insertedIntoDocument):
88886         (WebCore::HTMLBodyElement::removedFromDocument):
88887         (WebCore::HTMLBodyElement::didMoveToNewOwnerDocument):
88888         * html/HTMLBodyElement.h:
88889
88890 2011-06-10  Adam Barth  <abarth@webkit.org>
88891
88892         Remove bogus ASSERTs.  These ASSERTs used to be correct before I
88893         changed DocumentWriter to put the onus for ignoring empty writes onto
88894         the parser.
88895
88896         This patch should stop these test from triggering ASSERTs:
88897
88898         plugins/plugin-document-back-forward.html
88899         plugins/return-error-from-new-stream-callback-in-full-frame-plugin.html
88900         userscripts/user-script-plugin-document.html
88901
88902         * html/MediaDocument.cpp:
88903         (WebCore::MediaDocumentParser::appendBytes):
88904         * html/PluginDocument.cpp:
88905         (WebCore::PluginDocumentParser::appendBytes):
88906
88907 2011-06-09  Jer Noble  <jer.noble@apple.com>
88908
88909         Reviewed by Darin Adler.
88910
88911         REGRESSION: End of apple.com video in full-screen mode leads to unusable page.
88912         https://bugs.webkit.org/show_bug.cgi?id=62411
88913         
88914         Test: fullscreen/full-screen-remove-ancestor-after.html
88915
88916         The placeholder for RenderFullScreen was being created as a non-anonymous object, which led
88917         to the document's renderer being set to 0 when the placeholder was removed due to its parent
88918         being removed. Setting the placeholder to be anonymous, however, means that it will be
88919         coalesced with sibling anonymous blocks, so added the RenderFullScreenPlaceholder to the
88920         list of anonymous objects that are not considered anonymous blocks, to avoid the placeholder
88921         being so coalesced. To do so, made the placeholder object a true subclass, and add and
88922         override its destroy() function to notify the RenderFullScreen object that it has been
88923         destroyed.
88924
88925         * rendering/RenderFullScreen.cpp:
88926         (RenderFullScreenPlaceholder::RenderFullScreenPlaceholder): Added.
88927         (RenderFullScreenPlaceholder::~RenderFullScreenPlaceholder): Added.
88928         (RenderFullScreenPlaceholder::isRenderFullScreenPlaceholder): Added.
88929         (RenderFullScreenPlaceholder::destroy): Notify the owner renderer that its placeholder
88930             has been destroyed.
88931         (RenderFullScreen::destroy): Assert that the m_placeholder ivar is 0 after destroying it.
88932         (RenderFullScreen::setPlaceholder): Added.
88933         (RenderFullScreen::createPlaceholder): Do not make the placeholder anonymous.
88934         * rendering/RenderFullScreen.h:
88935         * rendering/RenderObject.h:
88936         (WebCore::RenderObject::isRenderFullScreenPlaceholder): Added.
88937         (WebCore::RenderObject::isAnonymousBlock): Added the placeholder class to the list of
88938             objects which are not anonymous blocks.
88939
88940 2011-06-10  Gavin Barraclough  <barraclough@apple.com>
88941
88942         Reviewed by Sam Weinig.
88943
88944         https://bugs.webkit.org/show_bug.cgi?id=16777
88945         Eliminate JSC::NaN and JSC::Inf
88946
88947         There's no good reason for -K-J-S- JSC to have its own NAN and infinity constants.
88948         The ones in std::numeric_limits are perfectly good.
88949         Remove JSC::Inf, JSC::NaN, switch some cases of (isnan || isinf) to !isfinite.
88950
88951         * bindings/js/JSDataViewCustom.cpp:
88952         (WebCore::getDataViewMember):
88953
88954 2011-06-10  James Simonsen  <simonjam@chromium.org>
88955
88956         Reviewed by Eric Seidel.
88957
88958         <script> inside <svg> should be executed
88959         https://bugs.webkit.org/show_bug.cgi?id=62412
88960
88961         Tests: svg/in-html/script-external.html
88962                svg/in-html/script-nested.html
88963                svg/in-html/script-write.html
88964                svg/in-html/script.html
88965
88966         * html/parser/HTMLTreeBuilder.cpp:
88967         (WebCore::HTMLTreeBuilder::processEndTag):
88968
88969 2011-06-10  Adam Barth  <abarth@webkit.org>
88970
88971         Reviewed by Darin Adler.
88972
88973         Script-created parsers should ignore data from the network
88974         https://bugs.webkit.org/show_bug.cgi?id=62336
88975
88976         If the network packet boundaries line up just right, we can end up
88977         feeding network data to a parser created by document.write (or
88978         document.open).  That's incorrect.
88979
88980         This patch causes DocumentWriter to grab hold of the original parser
88981         and direct all input to that parser.
88982
88983         Test: fast/parser/document-write-ignores-later-network-bytes.html
88984
88985         * dom/Document.cpp:
88986         (WebCore::Document::explicitClose):
88987         * loader/DocumentWriter.cpp:
88988         (WebCore::DocumentWriter::begin):
88989         (WebCore::DocumentWriter::addData):
88990         (WebCore::DocumentWriter::endIfNotLoadingMainResource):
88991         (WebCore::DocumentWriter::setDocumentWasLoadedAsPartOfNavigation):
88992         * loader/DocumentWriter.h:
88993
88994 2011-06-10  Simon Fraser  <simon.fraser@apple.com>
88995
88996         Reviewed by Dan Bernstein.
88997
88998         Keep overlap testing logic until real 3d transforms are being used
88999         https://bugs.webkit.org/show_bug.cgi?id=49857
89000         
89001         For pages that use the translateZ(0) hack to force compositing layers, it's
89002         advantageous to keep overlap testing, to avoid putting too many other
89003         elements into layers.
89004         
89005         Only turn off overlap testing if non-identity 3D transforms are used.
89006
89007         Tests: compositing/layer-creation/rotate3d-overlap.html
89008                compositing/layer-creation/translatez-overlap.html
89009
89010         * rendering/RenderLayerCompositor.cpp:
89011         (WebCore::RenderLayerCompositor::updateBacking):
89012         (WebCore::RenderLayerCompositor::hasNonIdentity3DTransform):
89013         * rendering/RenderLayerCompositor.h:
89014
89015 2011-06-10  David Levin  <levin@chromium.org>
89016
89017         Reviewed by Dmitry Titov.
89018
89019         Web Worker fails to fire error event when a resource fetch fails.
89020         https://bugs.webkit.org/show_bug.cgi?id=62475
89021
89022         Test: http/tests/workers/worker-workerScriptNotThere.html
89023
89024         * workers/WorkerScriptLoader.cpp:
89025         (WebCore::WorkerScriptLoader::didFinishLoading): Ensure that
89026         the client is notified of the error when it happens during loading.
89027
89028 2011-06-10  David Levin  <levin@chromium.org>
89029
89030         Reviewed by Dmitry Titov.
89031
89032         Fetching a Worker with url that isn't allowed from a file based test causes DRT to crash.
89033         https://bugs.webkit.org/show_bug.cgi?id=62469
89034
89035         Test: fast/workers/worker-crash-with-invalid-location.html
89036
89037         * workers/DefaultSharedWorkerRepository.cpp:
89038         (WebCore::SharedWorkerScriptLoader::load): Changed to using the RefCounted version of WorkerScriptLoader.
89039         * workers/Worker.cpp:
89040         (WebCore::Worker::create): Ditto.
89041         * workers/Worker.h: Ditto.
89042         * workers/WorkerContext.cpp:
89043         (WebCore::WorkerContext::importScripts):  Ditto.
89044         * workers/WorkerScriptLoader.cpp:
89045         (WebCore::WorkerScriptLoader::~WorkerScriptLoader): Created to
89046         allow removing some header includes in WorkerScriptLoader.h.
89047         (WebCore::WorkerScriptLoader::loadAsynchronously): Fix the ordering
89048         of setPendingActivity and keep WorkerScriptLoader alive during a
89049         potential callback.
89050         * workers/WorkerScriptLoader.h: Made this RefCounted to allow for
89051         keeping it alive during callbacks. Also, removed unnecessary header
89052         inclusions (and added a destructor to facilitate that).
89053         (WebCore::WorkerScriptLoader::create):
89054
89055 2011-06-10  Alok Priyadarshi  <alokp@chromium.org>
89056
89057         Reviewed by James Robinson.
89058
89059         [chromium] Top portion of page is rendered messed up with accelerated drawing
89060         https://bugs.webkit.org/show_bug.cgi?id=62484
89061
89062         Fixed the math in flipping the texture from bottom-up to top-down.
89063         Test: compositing/repaint/shrink-layer.html (existing)
89064
89065         * platform/graphics/chromium/LayerTilerChromium.cpp:
89066         (WebCore::LayerTilerChromium::draw):
89067
89068 2011-06-10  Tony Chang  <tony@chromium.org>
89069
89070         Reviewed by Ojan Vafai.
89071
89072         add a compile guard ENABLE(FLEXBOX)
89073         https://bugs.webkit.org/show_bug.cgi?id=62049
89074
89075         * Configurations/FeatureDefines.xcconfig:
89076
89077 2011-06-10  Sam Weinig  <sam@webkit.org>
89078
89079         Roll out r88568. It is not the right fix for the problem.
89080
89081         * loader/appcache/ApplicationCacheHost.cpp:
89082         (WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
89083
89084 2011-06-10  Mark Rowe  <mrowe@apple.com>
89085
89086         Reviewed by Dimitri Glazkov.
89087
89088         <rdar://problem/9562114> Fix DumpRenderTree build for production configuration.
89089
89090         Rename the built WebCoreTestSupport dylib to libWebCoreTestSupport.dylib so
89091         that it can be found via the library search path rather than requiring an
89092         absolute path be passed to the linker.
89093
89094         Install the library and its associated header file in a more appropriate location
89095         for the production configuration.
89096
89097         * Configurations/WebCoreTestSupport.xcconfig:
89098
89099 2011-06-10  Simon Fraser  <simon.fraser@apple.com>
89100
89101         Reviewed by Dave Hyatt.
89102
89103         Add a scheduleSetNeedsStyleRecalc() method to ContainerNode for use by RenderLayerCompositor
89104         https://bugs.webkit.org/show_bug.cgi?id=62471
89105
89106         RenderLayerCompositor had some code that did a setNeedsStyleRecalc(), but
89107         in a way that was safe to call during existing style recalc or layout.
89108         
89109         Move this code to ContainerElement so it can be called elsewhere.
89110         Also add a param to the node callback so we can pass the style change type.
89111
89112         * dom/ContainerNode.cpp:
89113         (WebCore::ContainerNode::queuePostAttachCallback):
89114         (WebCore::ContainerNode::dispatchPostAttachCallbacks):
89115         (WebCore::needsStyleRecalcCallback):
89116         (WebCore::ContainerNode::scheduleSetNeedsStyleRecalc):
89117         * dom/ContainerNode.h:
89118         * dom/Node.h:
89119         (WebCore::Node::scheduleSetNeedsStyleRecalc):
89120         * html/HTMLFormControlElement.cpp:
89121         (WebCore::focusPostAttach):
89122         (WebCore::updateFromElementCallback):
89123         * html/HTMLPlugInImageElement.cpp:
89124         (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
89125         * html/HTMLPlugInImageElement.h:
89126         * rendering/RenderLayerCompositor.cpp:
89127         (WebCore::RenderLayerCompositor::attachRootPlatformLayer):
89128         (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
89129         (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange):
89130         * rendering/RenderLayerCompositor.h:
89131         * svg/SVGUseElement.cpp:
89132         (WebCore::updateFromElementCallback):
89133
89134 2011-06-10  Mark Pilgrim  <pilgrim@chromium.org>
89135
89136         Reviewed by Tony Chang.
89137
89138         IndexedDB: indexedDB.open() name argument is required
89139         https://bugs.webkit.org/show_bug.cgi?id=62398
89140
89141         Test: storage/indexeddb/database-name-undefined.html
89142
89143         * storage/IDBFactory.idl: use appropriate IDL magic to force undefined values to null, so we handle missing arguments as well as null arguments
89144
89145 2011-06-10  Sam Weinig  <sam@webkit.org>
89146
89147         Reviewed by Beth Dakin.
89148
89149         Common crash in ApplicationCacheHost::isApplicationCacheEnabled
89150         <rdar://problem/9328684>
89151
89152         * loader/appcache/ApplicationCacheHost.cpp:
89153         (WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
89154         Speculative fix for a null frame on ApplicationCacheHost's DocumentLoader.
89155
89156 2011-06-10  Adam Barth  <abarth@webkit.org>
89157
89158         Reviewed by Eric Seidel.
89159
89160         Remove Document::finishParsing
89161         https://bugs.webkit.org/show_bug.cgi?id=62474
89162
89163         This function appears to exist only to confuse and befuddle us.  This
89164         patch prepares for DocumentWriter to grab hold of the parser.
89165
89166         This patch removes one of the print statements from
89167         INSTRUMENT_LAYOUT_SCHEDULING, but I'm not sure
89168         INSTRUMENT_LAYOUT_SCHEDULING works anymore anyway.
89169
89170         * dom/Document.cpp:
89171         * dom/Document.h:
89172         * dom/XMLDocumentParser.cpp:
89173         (WebCore::XMLDocumentParser::finish):
89174         * html/parser/HTMLDocumentParser.cpp:
89175         (WebCore::HTMLDocumentParser::finish):
89176         * loader/DocumentWriter.cpp:
89177         (WebCore::DocumentWriter::addData):
89178         (WebCore::DocumentWriter::endIfNotLoadingMainResource):
89179         * loader/FrameLoader.cpp:
89180         (WebCore::FrameLoader::stop):
89181
89182 2011-06-10  Mark Pilgrim  <pilgrim@chromium.org>
89183
89184         Reviewed by Tony Chang.
89185
89186         IndexedDB: setVersion() version argument is required
89187         https://bugs.webkit.org/show_bug.cgi?id=62401
89188
89189         Test: storage/indexeddb/setVersion-undefined.html
89190
89191         * storage/IDBDatabase.cpp:
89192         (WebCore::IDBDatabase::setVersion): check for null version
89193         * storage/IDBDatabase.idl: add IDL magic to force undefined to null so we can handle both missing and null arguments
89194
89195 2011-06-10  Simon Fraser  <simon.fraser@apple.com>
89196
89197         Reviewed by Dan Bernstein.
89198
89199         Null-check the layer owner again when painting layers
89200         https://bugs.webkit.org/show_bug.cgi?id=62473
89201
89202         Speculative fix for a crash that occurs when the layer's owner
89203         gets destroyed during painting.
89204
89205         * platform/graphics/mac/WebLayer.mm:
89206         (drawLayerContents):
89207
89208 2011-06-08  Robert Hogan  <robert@webkit.org>
89209
89210         Reviewed by Andreas Kling.
89211
89212         [Qt] Lighten the --no-svg build a little
89213         https://bugs.webkit.org/show_bug.cgi?id=62314
89214
89215         Only generate source from SVG*.idl if the build is svg-enabled.
89216
89217         * CodeGenerators.pri:
89218
89219 2011-06-10  Nikolas Zimmermann  <nzimmermann@rim.com>
89220
89221         Reviewed by Rob Buis.
89222
89223         Integrate SVG Fonts within GlyphPage concept, removing the special SVG code paths from Font, making it possible to reuse the simple text code path for SVG Fonts
89224         https://bugs.webkit.org/show_bug.cgi?id=59085
89225
89226         Add glyph table to SVGFontElement mapping between SVGGlyph <-> Glyph
89227         https://bugs.webkit.org/show_bug.cgi?id=62441
89228
89229         Preparation patch 1: Introduce the internal glyph table in SVGGlyphMap that will be used to identify each
89230         SVGGlyph identifier with a Glyph (which is just an ushort). It will be used by follow-up patches.
89231
89232         Doesn't affect any test so far.
89233
89234         * platform/graphics/SVGGlyph.h:
89235         (WebCore::SVGGlyph::SVGGlyph):
89236         (WebCore::SVGGlyph::operator==):
89237         * rendering/svg/SVGTextRunRenderingContext.cpp:
89238         (WebCore::SVGTextRunWalker::walk):
89239         * svg/SVGFontData.cpp:
89240         (WebCore::SVGFontData::initializeFontData):
89241         * svg/SVGFontElement.cpp:
89242         (WebCore::SVGFontElement::SVGFontElement):
89243         (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
89244         (WebCore::SVGFontElement::ensureGlyphCache):
89245         (WebCore::kerningForPairOfStringsAndGlyphs):
89246         (WebCore::SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs):
89247         (WebCore::SVGFontElement::verticalKerningForPairOfStringsAndGlyphs):
89248         (WebCore::SVGFontElement::collectGlyphsForString):
89249         (WebCore::SVGFontElement::collectGlyphsForGlyphName):
89250         (WebCore::SVGFontElement::svgGlyphForGlyph):
89251         (WebCore::SVGFontElement::missingGlyph):
89252         * svg/SVGFontElement.h:
89253         (WebCore::SVGKerningPair::SVGKerningPair):
89254         * svg/SVGGlyphMap.h:
89255         (WebCore::SVGGlyphMap::addGlyphByUnicodeString):
89256         (WebCore::SVGGlyphMap::addGlyphByName):
89257         (WebCore::SVGGlyphMap::appendToGlyphTable):
89258         (WebCore::SVGGlyphMap::collectGlyphsForString):
89259         (WebCore::SVGGlyphMap::clear):
89260         (WebCore::SVGGlyphMap::svgGlyphForGlyph):
89261         (WebCore::SVGGlyphMap::glyphIdentifierForGlyphName):
89262
89263 2011-06-10  Emil A Eklund  <eae@chromium.org>
89264
89265         Reviewed by Eric Seidel.
89266
89267         Regression r85573: Blank pages appear at the end of some wikipedia documents.
89268         https://bugs.webkit.org/show_bug.cgi?id=62343
89269
89270         Fix regression caused by r85573. Cached document size not updated after layout.
89271
89272         Test: printing/page-count-relayout-shrink.html
89273
89274         * page/FrameView.cpp:
89275         (WebCore::FrameView::forceLayoutForPagination):
89276
89277 2011-06-10  Rob Buis  <rbuis@rim.com>
89278
89279         Reviewed by Nikolas Zimmermann.
89280
89281         amation event handling broken: focusin
89282         https://bugs.webkit.org/show_bug.cgi?id=12894
89283
89284         focusin, focusout, activate not implemented in SVG
89285         https://bugs.webkit.org/show_bug.cgi?id=40545
89286
89287         Make elements that should support GraphicalEventAttribute handle focussing, since focusin, focusout is part of that:
89288
89289         http://www.w3.org/TR/SVG11/intro.html#TermGraphicalEventAttribute
89290
89291         Match Opera behaviour ; elements that support GraphicalEventAttribute can receive visual mouse focus when having either a focusin or focusout event handler. Elements that support GraphicalEventAttribute can receive visual keyboard focus when having either a focusin or focusout event handler. Keyboard focus does not advance to SVG elements that are not focusable at the time.
89292
89293         Tests: svg/custom/focus-event-handling-keyboard.xhtml
89294                svg/custom/focus-event-handling.xhtml
89295
89296         * rendering/svg/SVGRenderSupport.cpp:
89297         (WebCore::SVGRenderSupport::computeRectForRepaint):
89298         * svg/SVGCircleElement.h:
89299         (WebCore::SVGCircleElement::supportsFocus):
89300         * svg/SVGEllipseElement.h:
89301         (WebCore::SVGEllipseElement::supportsFocus):
89302         * svg/SVGGElement.h:
89303         (WebCore::SVGGElement::supportsFocus):
89304         * svg/SVGImageElement.h:
89305         (WebCore::SVGImageElement::supportsFocus):
89306         * svg/SVGLineElement.h:
89307         (WebCore::SVGLineElement::supportsFocus):
89308         * svg/SVGPathElement.h:
89309         (WebCore::SVGPathElement::supportsFocus):
89310         * svg/SVGPolyElement.h:
89311         (WebCore::SVGPolyElement::supportsFocus):
89312         * svg/SVGRectElement.h:
89313         (WebCore::SVGRectElement::supportsFocus):
89314         * svg/SVGSVGElement.h:
89315         (WebCore::SVGSVGElement::supportsFocus):
89316         * svg/SVGStyledElement.cpp:
89317         (WebCore::SVGStyledElement::isMouseFocusable):
89318         (WebCore::SVGStyledElement::isKeyboardFocusable):
89319         * svg/SVGStyledElement.h:
89320         * svg/SVGSwitchElement.h:
89321         (WebCore::SVGSwitchElement::supportsFocus):
89322         * svg/SVGSymbolElement.h:
89323         (WebCore::SVGSymbolElement::supportsFocus):
89324         * svg/SVGTextElement.h:
89325         (WebCore::SVGTextElement::supportsFocus):
89326         * svg/SVGUseElement.h:
89327         (WebCore::SVGUseElement::supportsFocus):
89328
89329 2011-06-10  Luke Macpherson   <macpherson@chromium.org>
89330
89331         Reviewed by Eric Seidel.
89332
89333         Clean up CSSPrimitiveValue::computeLength*
89334         https://bugs.webkit.org/show_bug.cgi?id=61612
89335
89336         No new tests as no functionality changed.
89337
89338         * css/CSSGradientValue.cpp:
89339         Use new computeLength functions.
89340         * css/CSSPrimitiveValue.cpp:
89341         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
89342         Reduce to a single function using default parameter values.
89343         (WebCore::CSSPrimitiveValue::computeLength):
89344         Redefine existing functions with separate names as a single function using templated function specialization.
89345         * css/CSSPrimitiveValue.h:
89346         Prototypes for computeLengthIntForLength and computeLength.
89347         * css/CSSStyleApplyProperty.cpp:
89348         Use new computeLength functions.
89349         * css/CSSStyleSelector.cpp:
89350         Use new computeLength functions.
89351         * css/MediaQueryEvaluator.cpp:
89352         Use new computeLength functions.
89353         * css/SVGCSSStyleSelector.cpp:
89354         Use new computeLength functions.
89355
89356 2011-06-10  Simon Fraser  <simon.fraser@apple.com>
89357
89358         Reviewed by Beth Dakin.
89359
89360         Add utility to RenderLayer to determine if the layer is scrollable
89361         https://bugs.webkit.org/show_bug.cgi?id=62467
89362
89363         New method that returns true if either scrollbar is present and enabled.
89364         Not called anywhere yet.
89365
89366         * rendering/RenderLayer.cpp:
89367         (WebCore::RenderLayer::allowsScrolling):
89368         * rendering/RenderLayer.h:
89369
89370 2011-06-10  Dimitri Glazkov  <dglazkov@chromium.org>
89371
89372         Reviewed by Tony Chang.
89373
89374         REGRESSION (r88332): prototype-inheritance-2 ASSERTS attempting to enumerate spellCheckRanges
89375         https://bugs.webkit.org/show_bug.cgi?id=62460
89376
89377         Test: fast/dom/prototype-inheritance-2.html
89378
89379         * dom/DocumentMarkerController.cpp:
89380         (WebCore::DocumentMarkerController::userSpellingMarkersForNode): Added an extra 0-check.
89381
89382 2011-06-10  James Simonsen  <simonjam@chromium.org>
89383
89384         Reviewed by Tony Gentilcore.
89385
89386         Don't execute scripts in shadow SVG.
89387         https://bugs.webkit.org/show_bug.cgi?id=62225
89388
89389         Test: svg/dom/use-style-recalc-script-execute-crash.html
89390
89391         * dom/ScriptElement.cpp:
89392         (WebCore::ScriptElement::prepareScript):
89393
89394 2011-06-10  Konstantin Tokarev  <ktokarev@smartlabs.tv>
89395
89396         Reviewed by Joseph Pecoraro.
89397
89398         Fixed build with enabled workers and disabled inspector
89399         https://bugs.webkit.org/show_bug.cgi?id=62461
89400
89401         * inspector/InspectorWorkerAgent.cpp: Added inspector guard
89402
89403 2011-06-10  Darin Adler  <darin@apple.com>
89404
89405         Reviewed by Eric Carlson.
89406
89407         REGRESSION: Fullscreen video controller can't be dragged
89408         https://bugs.webkit.org/show_bug.cgi?id=62462
89409
89410         No regression test because we don't have machinery for testing the fullscreen
89411         mode. We may find a way to add this in the future.
89412
89413         * html/shadow/MediaControlElements.cpp:
89414         (WebCore::MediaControlPanelElement::MediaControlPanelElement): Initialize new
89415         booleans related to dragging.
89416         (WebCore::MediaControlPanelElement::startDrag): Added. Starts drag if dragging
89417         is allowed and a drag isn't already in progress.
89418         (WebCore::MediaControlPanelElement::continueDrag): Added. Moves the window if
89419         dragging is already in progress.
89420         (WebCore::MediaControlPanelElement::endDrag): Added. Ends the capture that is
89421         done during the dragging process.
89422         (WebCore::MediaControlPanelElement::setPosition): Added. Positions the panel
89423         using explicit top/left.
89424         (WebCore::MediaControlPanelElement::resetPosition): Added. Removes the positioning
89425         done by setPosition.
89426         (WebCore::MediaControlPanelElement::defaultEventHandler): Added. Calls startDrag,
89427         continueDrag, and endDrag in response to mouse events.
89428         (WebCore::MediaControlPanelElement::setCanBeDragged): Added.
89429         * html/shadow/MediaControlElements.h: Added new function and data members
89430         as mentioned above.
89431
89432         * html/shadow/MediaControlRootElement.cpp:
89433         (WebCore::MediaControlRootElement::enteredFullscreen): Call setCanBeDragged(true)
89434         so you can drag the panel while in fullscreen.
89435         (WebCore::MediaControlRootElement::exitedFullscreen): Call setCanBeDragged(false)
89436         so you can't drag the panel while not in fullscreen. Also call resetPosition so
89437         position changes from dragging don't affect the panel in other contexts.
89438
89439 2011-06-10  Darin Adler  <darin@apple.com>
89440
89441         Reviewed by Eric Carlson.
89442
89443         REGRESSION: Full screen video HUD is positioned too low for standalone video documents
89444         https://bugs.webkit.org/show_bug.cgi?id=62463
89445
89446         No test because we don't currently have machinery for testing fullscreen.
89447
89448         * css/fullscreen.css: Removed rule that said bottom: 0px for the control panel
89449         for full page media in full screen mode. This is not needed because the control
89450         panel for full screen mode already has style rules to set its vertical position.
89451         (:-webkit-full-screen-ancestor:not(iframe)): Fixed typo where it said
89452         -webkit-tranform. This will fix a potential problem where fullscreen would
89453         malfunction on a page that had a media element inside a transform.
89454
89455 2011-06-10  Sergio Villar Senin  <svillar@igalia.com>
89456
89457         Reviewed by Gustavo Noronha Silva.
89458
89459         [GTK] Add support for non-ASCII filenames in Content-Disposition header
89460         https://bugs.webkit.org/show_bug.cgi?id=62454
89461
89462         Try latin1 as fallback for header parameter values as some servers
89463         do not follow RFC 2045 for example with filename parameter in
89464         Content-Disposition.
89465
89466         No new tests required as no functionality changed.
89467
89468         * platform/network/soup/ResourceResponseSoup.cpp:
89469         (WebCore::ResourceResponse::updateFromSoupMessage):
89470
89471 2011-06-10  No'am Rosenthal  <noam.rosenthal@nokia.com> and Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
89472
89473         Reviewed by Kenneth Rohde Christiansen.
89474
89475         Add layer factory to GraphicsLayer for creating non-default layer type.
89476         https://bugs.webkit.org/show_bug.cgi?id=61925
89477
89478         Added a static factory protected member to GraphicsLayer, which should be accessed from
89479         a port-specific implementation of GraphicsLayer::create. For now this is enabled for Qt only.
89480
89481         This is needed for accelerated compositing across processes in WebKit2, since WebCore
89482         doesn't know in compile time whether it's in WebKit or WebKit2, which makes having two
89483         different implementations of GraphicsLayer coexist impossible without some runtime
89484         factory that can be overridden by the web process.
89485
89486         Note that the use of the factory would be optional, and the port-specific GraphicsLayer::create
89487         would have to explicitly call it, in order to be unintrusive with current implementations.
89488
89489         No new functionality, so no new tests.
89490
89491         * platform/graphics/GraphicsLayer.cpp:
89492         (WebCore::GraphicsLayer::setGraphicsLayerFactory):
89493         * platform/graphics/GraphicsLayer.h:
89494
89495 2011-06-10  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
89496
89497         Reviewed by Kenneth Rohde Christiansen.
89498
89499         [CMAKE] Add generic support for building with WebGL
89500         https://bugs.webkit.org/show_bug.cgi?id=62376
89501
89502         Set new THIRDPARTY_DIR variable to compile sources under ThirdParty.
89503
89504         No change in functionality so no new tests.
89505
89506         * CMakeLists.txt:
89507
89508 2011-06-10  Ryuan Choi  <ryuan.choi@samsung.com>
89509
89510         Reviewed by Andreas Kling.
89511
89512         [GTK][EFL] m_imageInterpolationQuality is not initialized in PlatformContextCairo::PlatformContextCairo.
89513         https://bugs.webkit.org/show_bug.cgi?id=62435
89514
89515         No new tests required as just fixed warning.
89516
89517         * platform/graphics/cairo/PlatformContextCairo.cpp:
89518         (WebCore::PlatformContextCairo::PlatformContextCairo):
89519
89520 2011-06-11-06-09  Ilya Tikhonovsky  <loislo@chromium.org>
89521
89522         Reviewed by Yury Semikhatsky.
89523
89524         Web Inspector: protocol: json: Whitespace can be inserted between any pair of tokens.
89525         https://bugs.webkit.org/show_bug.cgi?id=62377
89526
89527         * inspector/InspectorValues.cpp:
89528
89529 2011-06-10  Sheriff Bot  <webkit.review.bot@gmail.com>
89530
89531         Unreviewed, rolling out r88530.
89532         http://trac.webkit.org/changeset/88530
89533         https://bugs.webkit.org/show_bug.cgi?id=62440
89534
89535         qt build was broken (Requested by loislo on #webkit).
89536
89537         * inspector/InspectorValues.cpp:
89538
89539 2011-06-09  Ilya Tikhonovsky  <loislo@chromium.org>
89540
89541         Reviewed by Yury Semikhatsky.
89542
89543         Web Inspector: protocol: json: Whitespace can be inserted between any pair of tokens.
89544         https://bugs.webkit.org/show_bug.cgi?id=62377
89545
89546         * inspector/InspectorValues.cpp:
89547
89548 2011-06-09  Jer Noble  <jer.noble@apple.com>
89549
89550         Reviewed by Darin Adler.
89551
89552         REGRESSION: Vertical scroll bar appears when taking videos into full screen at jerryseinfeld.com
89553         https://bugs.webkit.org/show_bug.cgi?id=62402
89554
89555         Sites are able to override the "overflow:hidden" rule for root full-screen nodes
89556         simply by adding a "html {}" rule.  Make this rule !important, and also make it apply
89557         to root nodes who are merely ancestors of full-screen elements, to cover the case of
89558         a root node containing an <iframe> whose contents have gone full-screen.
89559
89560         * css/fullscreen.css:
89561         (:root:-webkit-full-screen-document:not(:-webkit-full-screen),
89562             :root:-webkit-full-screen-ancestor): Apply the overflow rule to root elements
89563             who are full-screen ancestors, and make them !important.
89564
89565 2011-06-09  Luke Macpherson   <macpherson@chromium.org>
89566
89567         Reviewed by Eric Seidel.
89568
89569         Rename RenderStyle visuallyOrdered property and use an enum instead of a bool.
89570         https://bugs.webkit.org/show_bug.cgi?id=61495
89571
89572         No new tests required as no functionality changed.
89573
89574         * css/CSSPrimitiveValueMappings.h:
89575         Support cast to/from Order
89576         * css/CSSStyleSelector.cpp:
89577         (WebCore::CSSStyleSelector::styleForDocument):
89578         Convert from bool to enum type.
89579         (WebCore::CSSStyleSelector::applyProperty):
89580         Convert to macro that uses the cast defined in CSSPrimitiveValueMappings.
89581         * dom/Document.cpp:
89582         (WebCore::Document::setVisuallyOrdered):
89583         Change call to RenderStyle::setRTLOrdering using enum parameter.
89584         * rendering/style/RenderStyle.h:
89585         rename visuallyOrdered proerties rtlOrdering and use appropriate enum types.
89586         * rendering/style/RenderStyleConstants.h:
89587         Define enum type.
89588
89589 2011-06-09  Luke Macpherson   <macpherson@chromium.org>
89590
89591         Reviewed by Eric Seidel.
89592
89593         Implement CSSPropertyOutlineStyle handler in CSSStyleApplyProperty
89594         https://bugs.webkit.org/show_bug.cgi?id=61601
89595
89596         No new tests. No new functionality added / covered by existing tests.
89597
89598         * css/CSSPrimitiveValueMappings.h:
89599         (WebCore::CSSPrimitiveValue::operator EBorderStyle):
89600         Support CSSValueAuto as required by outline-style property.
89601         (WebCore::CSSPrimitiveValue::operator OutlineIsAuto):
89602         Add cast to new OutlineIsAuto enum.
89603         * css/CSSStyleApplyProperty.cpp:
89604         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
89605         Initialize handler for CSSPropertyOutlineStyle.
89606         * css/CSSStyleSelector.cpp:
89607         (WebCore::CSSStyleSelector::applyProperty):
89608         Remove old handler for CSSPropertyOutlineStyle.
89609         * rendering/style/OutlineValue.h:
89610         Use new OutlineIsAuto enum instead of bool.
89611         * rendering/style/RenderStyle.h:
89612         Split existing two-parameter setter setOutlineStyle into separate setters for style and auto properties.
89613         Use new OutlineIsAuto enum type.
89614         * rendering/style/RenderStyleConstants.h:
89615         Define new enum OutlineIsAuto.
89616
89617 2011-06-09  Luke Macpherson   <macpherson@chromium.org>
89618
89619         Reviewed by Eric Seidel.
89620
89621         Code cleanup - add wrappers for function pointer dereferences to improve readability in ApplyPropertyDefaultBase and derived classes.
89622         https://bugs.webkit.org/show_bug.cgi?id=62418
89623
89624         No new tests / cleanup only.
89625
89626         * css/CSSStyleApplyProperty.cpp:
89627         (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
89628         Use new wrapper functions.
89629         (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
89630         Use new wrapper functions.
89631         (WebCore::ApplyPropertyDefaultBase::setValue):
89632         Wrapper for calling m_setter function pointer.
89633         (WebCore::ApplyPropertyDefaultBase::value):
89634         Wrapper for calling m_getter function pointer.
89635         (WebCore::ApplyPropertyDefaultBase::initial):
89636         Wrapper for calling m_initial function pointer.
89637         (WebCore::ApplyPropertyDefault::applyValue):
89638         Use new setValue function.
89639         (WebCore::ApplyPropertyLength::applyValue):
89640         Use new setValue function.
89641         (WebCore::ApplyPropertyWidth::applyValue):
89642         Use new setValue function.
89643
89644 2011-06-09  Hyowon Kim  <hw1008.kim@samsung.com>
89645
89646         Reviewed by Antonio Gomes.
89647
89648         [EFL] Make accelerated compositing build in Webkit-EFL
89649         https://bugs.webkit.org/show_bug.cgi?id=62361
89650
89651         Add a new class, GraphicsLayerEfl - not yet implemented.
89652         Add ACCELERATED_COMPOSITING related files to CMakeLists.
89653
89654         * CMakeLists.txt:
89655         * CMakeListsEfl.txt:
89656         * platform/graphics/efl/GraphicsLayerEfl.cpp: Added.
89657         (WebCore::GraphicsLayer::create):
89658         (WebCore::GraphicsLayerEfl::GraphicsLayerEfl):
89659         (WebCore::GraphicsLayerEfl::~GraphicsLayerEfl):
89660         (WebCore::GraphicsLayerEfl::setNeedsDisplay):
89661         (WebCore::GraphicsLayerEfl::setNeedsDisplayInRect):
89662         * platform/graphics/efl/GraphicsLayerEfl.h: Added.
89663
89664 2011-06-09  Jian Li  <jianli@chromium.org>
89665
89666         Reviewed by David Levin.
89667
89668         Calling WebKitBlobBuilder.append with null argument should not crash
89669         https://bugs.webkit.org/show_bug.cgi?id=62419
89670
89671         Test: fast/files/blob-builder-crash.html
89672
89673         * fileapi/WebKitBlobBuilder.cpp:
89674         (WebCore::WebKitBlobBuilder::append):
89675
89676 2011-06-09  Jer Noble  <jer.noble@apple.com>
89677
89678         Reviewed by David Hyatt.
89679
89680         Roll out r88468, and fix bug #61911 without making Element::offset functions virtual.
89681         https://bugs.webkit.org/show_bug.cgi?id=62400
89682
89683         No new tests; covered by existing fullscreen/full-screen-video-offset.html test.
89684
89685         * rendering/RenderVideo.cpp:
89686         (WebCore::rendererPlaceholder): Added; returns the placeholder block, if it exists.
89687         (WebCore::RenderVideo::offsetLeft): Pass the offset request to the placeholder block.
89688         (WebCore::RenderVideo::offsetTop): Ditto.
89689         (WebCore::RenderVideo::offsetWidth): Ditto.
89690         (WebCore::RenderVideo::offsetHeight): Ditto.
89691         * rendering/RenderVideo.h: Added virtual overrides for the offset functions.
89692
89693 2011-06-09  James Robinson  <jamesr@chromium.org>
89694
89695         Reviewed by Kenneth Russell.
89696
89697         [chromium] Scissor rect not set for clipping layers set offscreen
89698         https://bugs.webkit.org/show_bug.cgi?id=62339
89699
89700         We set a scissorRect on each layer, but only layers with masksToBounds and their descendants should actually set
89701         a scissor.  Layers that didn't need to scissor had empty scissorRects.  Unfortunately layers with masksToBounds
89702         and their descendants that are scrolled offscreen also end up with an empty clipped scissor rect.
89703
89704         This patch sets an explicit bit on each layer that should scissor and then checks that bit instead of checking
89705         for an empty scissor rect at draw time.  RenderSurfaceChromiums have different requirements for
89706         setScissorToRect, so the old behavior is still available with a flag.  This can probably be cleaned up more.
89707
89708         Test: platform/chromium/compositing/scissor-out-of-viewport.html
89709
89710         * platform/graphics/chromium/LayerRendererChromium.cpp:
89711         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
89712         (WebCore::LayerRendererChromium::drawLayer):
89713         (WebCore::LayerRendererChromium::setScissorToRect):
89714         * platform/graphics/chromium/LayerRendererChromium.h:
89715         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
89716         (WebCore::RenderSurfaceChromium::draw):
89717         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
89718         (WebCore::CCLayerImpl::CCLayerImpl):
89719         * platform/graphics/chromium/cc/CCLayerImpl.h:
89720         (WebCore::CCLayerImpl::setUsesLayerScissor):
89721         (WebCore::CCLayerImpl::usesLayerScissor):
89722
89723 2011-06-09  Sheriff Bot  <webkit.review.bot@gmail.com>
89724
89725         Unreviewed, rolling out r88468.
89726         http://trac.webkit.org/changeset/88468
89727         https://bugs.webkit.org/show_bug.cgi?id=62408
89728
89729         It broke build if !ENABLE(FULLSCREEN_API) (Requested by Ossy
89730         on #webkit).
89731
89732         * dom/Element.cpp:
89733         (WebCore::adjustForLocalZoom):
89734         * dom/Element.h:
89735         * html/HTMLMediaElement.cpp:
89736         * html/HTMLMediaElement.h:
89737
89738 2011-06-09  Kenneth Russell  <kbr@google.com>
89739
89740         Reviewed by Adam Barth.
89741
89742         Disallow use of cross-domain media (images, video) in WebGL
89743         https://bugs.webkit.org/show_bug.cgi?id=62257
89744
89745         Updated WebGL implementation to track recent spec updates in this area.
89746
89747         Tests: http/tests/security/webgl-remote-read-remote-image-allowed-with-credentials.html
89748                http/tests/security/webgl-remote-read-remote-image-allowed.html
89749                http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin.html
89750
89751         * html/canvas/CanvasRenderingContext.cpp:
89752         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
89753         (WebCore::CanvasRenderingContext::checkOrigin):
89754         * html/canvas/CanvasRenderingContext.h:
89755         (WebCore::CanvasRenderingContext::checkOrigin):
89756         * html/canvas/WebGLRenderingContext.cpp:
89757         (WebCore::WebGLRenderingContext::readPixels):
89758         (WebCore::WebGLRenderingContext::texImage2D):
89759         (WebCore::WebGLRenderingContext::videoFrameToImage):
89760         (WebCore::WebGLRenderingContext::texSubImage2D):
89761         * html/canvas/WebGLRenderingContext.h:
89762
89763 2011-06-09  Adam Barth  <abarth@webkit.org>
89764
89765         Reviewed by Eric Seidel.
89766
89767         Add an ASSERT to HTMLTreeBuilder
89768         https://bugs.webkit.org/show_bug.cgi?id=62403
89769
89770         This ASSERT was useful in investigating a re-entrancy bug.  We should
89771         keep it.
89772
89773         * html/parser/HTMLTreeBuilder.cpp:
89774         (WebCore::HTMLTreeBuilder::processEndOfFile):
89775
89776 2011-06-09  Dan Bernstein  <mitz@apple.com>
89777
89778         Reviewed by Darin Adler.
89779
89780         Fix a regression from r88478.
89781
89782         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
89783         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Add the runs
89784         in reverse order in the RTL case here, since the whole vector is reversed by collectComplexTextRuns()
89785         afterwards.
89786
89787 2011-06-09  Julien Chaffraix  <jchaffraix@codeaurora.org>
89788
89789         Reviewed by Antti Koivisto.
89790
89791         REGRESSION(84329): Stylesheets on some pages do not load
89792         https://bugs.webkit.org/show_bug.cgi?id=61400
89793
89794         Test: fast/css/link-disabled-attr.html
89795
89796         Fixed r84329: the change did not take into account the fact
89797         that HTMLLinkElement did already contain the disabled information
89798         and the 2 information were not linked as they should have!
89799
89800         The new logic pushes the information to the stylesheet as this
89801         is what the spec mandates and what FF is doing. Also it keeps
89802         one bit of information (that JS enabled the stylesheet) as it
89803         is needed for the recalcStyleSelector logic.
89804
89805         * dom/Document.cpp:
89806         (WebCore::Document::recalcStyleSelector): s/isDisabled/disabled.
89807
89808         * html/HTMLLinkElement.cpp:
89809         (WebCore::HTMLLinkElement::HTMLLinkElement): Removed m_disabledState,
89810         replaced by m_isEnabledViaScript.
89811         (WebCore::HTMLLinkElement::setDisabled): Updated the logic after
89812         m_disabledState removal. It also matches the spec by forwarding
89813         the disabled state to our stylesheet if we have one.
89814         (WebCore::HTMLLinkElement::parseMappedAttribute): Removed harmful
89815         handling of the disabledAttr.
89816         (WebCore::HTMLLinkElement::process): Updated after m_disabledState removal.
89817         * html/HTMLLinkElement.h:
89818         (WebCore::HTMLLinkElement::isEnabledViaScript): Ditto.
89819         (WebCore::HTMLLinkElement::isAlternate): Ditto.
89820
89821 2011-06-09  Dan Bernstein  <mitz@apple.com>
89822
89823         Reviewed by Darin Adler.
89824
89825         Simplify ComplexTextController::collectComplexTextRuns()
89826         https://bugs.webkit.org/show_bug.cgi?id=62387
89827
89828         No new test, since functionality is unchanged.
89829
89830         * platform/graphics/mac/ComplexTextController.cpp:
89831         (WebCore::ComplexTextController::collectComplexTextRuns): Always iterate characters in logical order,
89832         then reverse the run vector for RTL.
89833
89834 2011-06-09  Dimitri Glazkov  <dglazkov@chromium.org>
89835
89836         Reviewed by Kent Tamura.
89837
89838         Fold isShadowBoundary into isShadowRoot.
89839         https://bugs.webkit.org/show_bug.cgi?id=62317
89840
89841         Since there are no longer cases where Node::isShadowBoundary() != Node::isShadowRoot, we can remove this function.
89842
89843         In one case where isShadowBoundary was also tested to find ShadowContentElemnt, added a new isContentElement function.
89844
89845         Refactoring, covered by existing tests.
89846
89847         * css/CSSStyleSelector.cpp:
89848         (WebCore::isAtShadowBoundary): Changed to use isShadowRoot.
89849         * dom/Element.cpp:
89850         (WebCore::Element::isSpellCheckingEnabled): Ditto.
89851         * dom/Node.cpp:
89852         (WebCore::Node::nonBoundaryShadowTreeRootNode): Ditto.
89853         (WebCore::Node::nonShadowBoundaryParentNode): Ditto.
89854         * dom/Node.h:
89855         (WebCore::Node::isContentElement): Added.
89856         * dom/NodeRenderingContext.cpp:
89857         (WebCore::NodeRenderingContext::NodeRenderingContext): Changed to use isShadowRoot.
89858         * dom/Position.cpp:
89859         (WebCore::Position::Position): Ditto.
89860         * dom/ShadowContentElement.h:
89861         (WebCore::ShadowContentElement::isContentElement): Added.
89862         * dom/ShadowRoot.cpp:
89863         (WebCore::ShadowRoot::hasContentElement): Changed to use isContentElement.
89864         * editing/CompositeEditCommand.cpp:
89865         (WebCore::CompositeEditCommand::insertNodeAfter): Changed to use isShadowRoot.
89866         * editing/htmlediting.cpp:
89867         (WebCore::visiblePositionBeforeNode): Ditto.
89868         (WebCore::visiblePositionAfterNode): Ditto.
89869         * page/DragController.cpp:
89870         (WebCore::asFileInput): Ditto.
89871         * rendering/RenderTreeAsText.cpp:
89872         (WebCore::nodePosition): Ditto.
89873
89874 2011-06-09  Simon Fraser  <simon.fraser@apple.com>
89875
89876         Reviewed by Darin Adler.
89877
89878         Crashes in RenderLayerBacking::paintingGoesToWindow
89879         https://bugs.webkit.org/show_bug.cgi?id=61159
89880
89881         Speculative fix for unreproducible crash that can occur when RenderObject::repaintUsingContainer()
89882         finds a repaintContainer that is not the RenderView, but that is also not
89883         composited (for unknown reasons), by checking to see if the layer is
89884         compositing before using backing(). An assertion remains to try to catch
89885         this in debug builds.
89886
89887         * rendering/RenderLayer.cpp:
89888         (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
89889
89890 2011-06-09  Julien Chaffraix  <jchaffraix@webkit.org>
89891
89892         Reviewed by Darin Adler.
89893
89894         WebCore::WebKitCSSKeyframesRuleInternal::nameAttrSetter() - crash
89895         https://bugs.webkit.org/show_bug.cgi?id=62384
89896
89897         Test: fast/css/webkit-keyframes-crash.html
89898
89899         * css/WebKitCSSKeyframesRule.cpp:
89900         (WebCore::WebKitCSSKeyframesRule::setName): stylesheet() is never garanteed
89901         to return a non-null pointer. Thus null-check here like the rest of the code.
89902
89903 2011-06-09  Julien Chaffraix  <jchaffraix@codeaurora.org>
89904
89905         Reviewed by David Hyatt.
89906
89907         chrome.dll!WebCore::RenderStyle::fontMetrics ReadAV@NULL (two crashes)
89908         https://bugs.webkit.org/show_bug.cgi?id=57756
89909
89910         Tests: fast/css/fontMetric-border-radius-null-crash.html
89911                fast/css/fontMetric-webkit-border-end-width-null-crash.html
89912
89913         * css/CSSStyleSelector.cpp:
89914         (WebCore::CSSStyleSelector::styleForElement): Added a call to Font::update
89915         so that our FontFallbackList is allocated if we ever need it when applying our
89916         style rules.
89917
89918 2011-06-09  Cary Clark  <caryclark@google.com>
89919
89920         Reviewed by Eric Seidel.
89921
89922         Create local CG context for Mac UI elements when Skia is renderer
89923         https://bugs.webkit.org/show_bug.cgi?id=62213
89924
89925         When building Mac Chrome using Skia as the WebKit renderer,
89926         add state to LocalCurrentGraphicsContext to convert the SkCanvas
89927         context passed by WebKit into the CGContext needed by UI
89928         rendering.
89929
89930         No new tests.  The define typo in question is
89931         not yet enabled, so this change has no functional
89932         impact.
89933
89934         * platform/mac/LocalCurrentGraphicsContext.h:
89935         Add SkiaBitLocker to create and release the converted CGContext.
89936         Add ContextContainer, a class for Skia to create and release
89937         the converted CGContext. If Skia is not used, the class has no effect.
89938
89939         * platform/mac/LocalCurrentGraphicsContext.mm:
89940         (WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext):
89941         When building with Skia, create the CGContext before passing it on.
89942
89943         (WebCore::LocalCurrentGraphicsContext::cgContext):
89944         Get the CGContext from the SkiaBitLocker, or the saved context,
89945         as appropriate.
89946
89947         * rendering/RenderThemeMac.mm:
89948         Get the CGContext from Skia conversion or native, as appropriate.
89949         Use the LocalCurrentGraphicsContext if there is one. Otherwise,
89950         add a ContextContainer to house the SkCanvas to CGContext conversion.
89951
89952         (WebCore::RenderThemeMac::paintCapsLockIndicator):
89953         (WebCore::RenderThemeMac::paintProgressBar):
89954         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
89955         (WebCore::RenderThemeMac::paintSliderTrack):
89956         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
89957         (WebCore::RenderThemeMac::paintMediaMuteButton):
89958         (WebCore::RenderThemeMac::paintMediaPlayButton):
89959         (WebCore::RenderThemeMac::paintMediaSeekBackButton):
89960         (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
89961         (WebCore::RenderThemeMac::paintMediaSliderTrack):
89962         (WebCore::RenderThemeMac::paintMediaSliderThumb):
89963         (WebCore::RenderThemeMac::paintMediaRewindButton):
89964         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
89965         (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
89966         (WebCore::RenderThemeMac::paintMediaControlsBackground):
89967         (WebCore::RenderThemeMac::paintMediaCurrentTime):
89968         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
89969         (WebCore::RenderThemeMac::paintMediaVolumeSliderContainer):
89970         (WebCore::RenderThemeMac::paintMediaVolumeSliderTrack):
89971         (WebCore::RenderThemeMac::paintMediaVolumeSliderThumb):
89972
89973 2011-06-02  Jer Noble  <jer.noble@apple.com>
89974
89975         Reviewed by Maciej Stachowiak.
89976
89977         REGRESSION: Page layout messed up after exiting full screen after video ends at jerryseinfeld.com
89978         https://bugs.webkit.org/show_bug.cgi?id=61911
89979         <rdar://problem/9523017>
89980
89981         Test: fullscreen/full-screen-video-offset.html
89982
89983         When the video element is taken full-screen in the new element full-screen API, return the
89984         offset width and height of the placeholder renderer which is filling in for the full-screen
89985         element.  To do so, override offsetWidth, Height, Left, and Top from Element.  These are
89986         non-virtual functions, so make them virtual.
89987
89988         * dom/Element.cpp:
89989         (WebCore::Element::adjustForLocalZoom): Made into a class-static function.
89990         * dom/Element.h: Made offset functions virtual.
89991         * html/HTMLMediaElement.cpp:
89992         (WebCore::elementPlaceholder): Added; utility function.
89993         (WebCore::HTMLMediaElement::offsetLeft): Added; virtual override of the 
89994             Element function. Will be called directly via javascript.
89995         (WebCore::HTMLMediaElement::offsetTop): Ditto.
89996         (WebCore::HTMLMediaElement::offsetWidth): Ditto.
89997         (WebCore::HTMLMediaElement::offsetHeight): Ditto.
89998         * html/HTMLMediaElement.h:
89999
90000 2011-06-09  Dave Tapuska  <dtapuska@rim.com>
90001
90002         Reviewed by Daniel Bates.
90003
90004         PingLoader destructor could dereference 0 if the Resource
90005         Handle creation failed.
90006
90007         https://bugs.webkit.org/show_bug.cgi?id=62304
90008
90009         * loader/PingLoader.cpp:
90010         (WebCore::PingLoader::~PingLoader):
90011
90012 2011-06-08  Abhishek Arya  <inferno@chromium.org>
90013
90014         Reviewed by Ryosuke Niwa.
90015
90016         Make indexForVisiblePosition and isSelectableElement static.
90017         https://bugs.webkit.org/show_bug.cgi?id=62329
90018
90019         This protects us when converting frame->selection->start() or end()
90020         to VisiblePosition which blows away the RenderTextControl from
90021         underneath (due to layout update).
90022
90023         Test: fast/forms/text-control-selection-crash.html
90024
90025         * accessibility/AccessibilityRenderObject.cpp:
90026         (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
90027         * rendering/RenderTextControl.cpp:
90028         (WebCore::RenderTextControl::selectionStart):
90029         (WebCore::RenderTextControl::selectionEnd):
90030         (WebCore::RenderTextControl::isSelectableElement):
90031         (WebCore::RenderTextControl::indexForVisiblePosition):
90032         * rendering/RenderTextControl.h:
90033
90034 2011-06-09  Ben Murdoch  <benm@google.com>
90035
90036         Reviewed by Yury Semikhatsky.
90037
90038         Build break in ScriptProfile.cpp and inspector disabled.
90039         https://bugs.webkit.org/show_bug.cgi?id=62373
90040
90041         No new tests - build fix only.
90042
90043         * bindings/v8/ScriptProfile.cpp: Add necessary guards.
90044         * bindings/v8/ScriptProfile.h: ditto.
90045
90046 2011-06-09  Vsevolod Vlasov  <vsevik@chromium.org>
90047
90048         Reviewed by Yury Semikhatsky.
90049
90050         Web Inspector: Network panel preview tab does not reattach SourceFrame when switching between preview and response tabs.
90051         https://bugs.webkit.org/show_bug.cgi?id=62298
90052
90053         * inspector/front-end/ResourcePreviewView.js:
90054         (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown.callback):
90055         (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown):
90056
90057 2011-06-09  Csaba Osztrogonác  <ossy@webkit.org>
90058
90059         [Qt][Mac] Speculative buildfix after r88286.
90060
90061         * platform/graphics/IntPoint.h:
90062
90063 2011-06-09  Mike Lawther  <mikelawther@chromium.org>
90064
90065         Reviewed by Kent Tamura.
90066
90067         Parsing issue with -webkit-calc
90068         https://bugs.webkit.org/show_bug.cgi?id=62276
90069
90070         Set the CSSParserString for the calc functions.
90071
90072         Test: css3/calc/regression-62276.html
90073
90074         * css/CSSParser.cpp:
90075         (WebCore::CSSParser::lex):
90076
90077 2011-06-09  Robert Hogan  <robert@webkit.org>
90078
90079         Reviewed by Andreas Kling.
90080
90081         Teach Qt about window.internals
90082         https://bugs.webkit.org/show_bug.cgi?id=61074
90083
90084         A weakness of the Qt DRT setup is that things like JSContextRef are abstracted
90085         away from the QtWebKit API so we need DumpRenderTreeSupportQt to access WebCore internals.
90086         Since the window.internals object requires JSContextRef we need to implement it in DumpRenderTreeSupportQt
90087         where we can access it. DumpRenderTreeSupportQt cannot be compiled outside Qt's WebCore and as it
90088         is our only possible route into the WebCoreTestSupport class neither can the new window.internals plumbing.
90089         Likewise we can't put the accessor in WebCoreTestSupport because it would then need to know about QWebFrame
90090         and others. The only alternative seems like a compile time guard which we would have to teach the bots about.
90091
90092         * CodeGenerators.pri:
90093         * WebCore.pri:
90094         * WebCore.pro:
90095
90096 2011-06-08  Mikołaj Małecki  <m.malecki@samsung.com>
90097
90098         Reviewed by Pavel Feldman.
90099
90100         Web Inspector: Crash by buffer overrun crash when serializing inspector object tree.
90101         https://bugs.webkit.org/show_bug.cgi?id=52791
90102
90103         No new tests. The problem can be reproduced by trying to create InspectorValue
90104         from 1.0e-100 and call ->toJSONString() on this.
90105
90106         * inspector/InspectorValues.cpp:
90107         (WebCore::InspectorBasicValue::writeJSON):
90108         Added checking the predicted buffer size and choosing exponential format, or
90109         eventually "NaN" if the buffer is too small for decimal format.
90110
90111 2011-06-09  Sheriff Bot  <webkit.review.bot@gmail.com>
90112
90113         Unreviewed, rolling out r88387.
90114         http://trac.webkit.org/changeset/88387
90115         https://bugs.webkit.org/show_bug.cgi?id=62368
90116
90117         New tests introduced in 88387 fail on Leopard,GTK,Qt bots
90118         (Requested by Ossy on #webkit).
90119
90120         * html/canvas/CanvasRenderingContext.cpp:
90121         (WebCore::CanvasRenderingContext::checkOrigin):
90122         * html/canvas/CanvasRenderingContext.h:
90123         * html/canvas/WebGLRenderingContext.cpp:
90124         (WebCore::WebGLRenderingContext::readPixels):
90125         (WebCore::WebGLRenderingContext::texImage2D):
90126         (WebCore::WebGLRenderingContext::videoFrameToImage):
90127         (WebCore::WebGLRenderingContext::texSubImage2D):
90128         * html/canvas/WebGLRenderingContext.h:
90129
90130 2011-06-09  Adam Barth  <abarth@webkit.org>
90131
90132         Reviewed by Eric Seidel.
90133
90134         Running script from attach can remove elements from the stack of open elements
90135         https://bugs.webkit.org/show_bug.cgi?id=62160
90136
90137         When the tree build runs script synchronously, that script can remove
90138         arbitrary elements from the stack of open elements.  We need to hold a
90139         reference to |parent| in attach instead of rely upon the reference in
90140         the stack of open elements.
90141
90142         Test: fast/parser/document-write-onload-clear.html
90143
90144         * html/parser/HTMLConstructionSite.cpp:
90145         (WebCore::HTMLConstructionSite::attach):
90146
90147 2011-06-08  Luke Macpherson   <macpherson@chromium.org>
90148
90149         Reviewed by Eric Seidel.
90150
90151         Make CSSPrimitiveValue support cast to EVerticalAlign.
90152         https://bugs.webkit.org/show_bug.cgi?id=62356
90153
90154         No new tests / refactoring only.
90155
90156         * css/CSSPrimitiveValueMappings.h:
90157         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
90158         (WebCore::CSSPrimitiveValue::operator EVerticalAlign):
90159         * css/CSSStyleSelector.cpp:
90160         (WebCore::CSSStyleSelector::applyProperty):
90161
90162 2011-06-08  Justin Novosad  <junov@chromium.org>
90163
90164         Reviewed by James Robinson.
90165
90166         [Chromium] Crash when closing a tab with accelerated 2d canvas
90167         https://bugs.webkit.org/show_bug.cgi?id=62324
90168         Upon graphics context destruction, it is important to signal skia
90169         to abandon all of its resource handles.  This prevents a crash caused
90170         by skia attempting to release resources that were in the destroyed
90171         graphics context.
90172
90173         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
90174         (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
90175
90176 2011-06-08  James Robinson  <jamesr@chromium.org>
90177
90178         Reviewed by Darin Fisher.
90179
90180         REGRESSION(88260): 10-50% performance regression across many page cyclers
90181         https://bugs.webkit.org/show_bug.cgi?id=62349
90182
90183         r88260 fixed a font cache resource leak and lowered the inactive font cache threshold.  The latter caused a
90184         significant performance regression across many chromium page cyclers, for example
90185         http://build.chromium.org/f/chromium/perf/linux-release-webkit-latest/moz/report.html?history=50&rev=88279.
90186
90187         This restores the previous inactive font size thresholds to their previous values, but retains the font cleanup
90188         logic.
90189
90190         * platform/graphics/FontCache.cpp:
90191
90192 2011-06-08  Hayato Ito  <hayato@chromium.org>
90193
90194         Reviewed by Dimitri Glazkov.
90195
90196         A forward/backward tab traversal now visits focusable elements in a shadow root.
90197         https://bugs.webkit.org/show_bug.cgi?id=61410
90198
90199         Test: fast/dom/shadow/tab-order-iframe-and-shadow.html
90200
90201         Like a iframe element, a shadow host becomes a scope of
90202         tabindex. That means all descendant elements in a shadow root are
90203         skipped if the host node of the shadow root is not focusable.
90204
90205         The patch doesn't affect HTMLInputElement and HTMLTextAreaElement,
90206         which uses a shadow root and do extra works in their focus()
90207         method.
90208
90209         A shadow root's <content> is not considered in this patch.
90210         That will be addressed in a following patch.
90211
90212         * page/FocusController.cpp:
90213         (WebCore::shadowRoot):
90214         (WebCore::isTreeScopeOwner):
90215         (WebCore::FocusController::deepFocusableNode):
90216         (WebCore::FocusController::advanceFocusInDocumentOrder):
90217         (WebCore::FocusController::findFocusableNodeAcrossTreeScope):
90218         (WebCore::FocusController::findFocusableNode):
90219         (WebCore::FocusController::nextFocusableNode):
90220         (WebCore::FocusController::previousFocusableNode):
90221         (WebCore::FocusController::ownerOfTreeScope):
90222         * page/FocusController.h:
90223
90224 2011-06-08  Hayato Ito  <hayato@chromium.org>
90225
90226         Reviewed by Hajime Morita.
90227
90228         Makes sure that document.activeElement won't be an element in shadow root.
90229
90230         https://bugs.webkit.org/show_bug.cgi?id=61413
90231
90232         Test: fast/dom/shadow/activeelement-should-be-shadowhost.html
90233
90234         * html/HTMLDocument.cpp:
90235         (WebCore::focusedFrameOwnerElement):
90236         (WebCore::HTMLDocument::activeElement):
90237
90238 2011-06-08  Kent Tamura  <tkent@chromium.org>
90239
90240         Reviewed by Dimitri Glazkov.
90241
90242         Allow drawing a slider thumb for any nodes.
90243         https://bugs.webkit.org/show_bug.cgi?id=62196
90244
90245         RenderObject::node() should provide various information which is
90246         necessary for rendering. We don't need to refer the parent renderer.
90247
90248         * dom/Node.cpp:
90249         (WebCore::Node::focusDe1egate): Added.
90250         * dom/Node.h: Added a declaration.
90251         * html/shadow/MediaControlElements.cpp:
90252         (WebCore::toParentMediaElement):
90253           Added an overload of toParentMediaElement() with Node* parameter.
90254         * html/shadow/MediaControlElements.h:
90255         (WebCore::toParentMediaElement): ditto.
90256         * html/shadow/SliderThumbElement.cpp:
90257         (WebCore::SliderThumbElement::isEnabledFormControl):
90258           Returns the status of the host node.
90259         (WebCore::SliderThumbElement::isReadOnlyFormControl): ditto.
90260         (WebCore::SliderThumbElement::focusDe1egate):
90261           Returns the host node so that RenderTheme::isFocused() returns true.
90262         (WebCore::SliderThumbElement::detach): Style nit.
90263         (WebCore::SliderThumbElement::hostInput):
90264           Make it const because it is called by const functions.
90265         * html/shadow/SliderThumbElement.h:
90266           - Remove inDragMode()
90267           - Update declarations
90268         * platform/qt/RenderThemeQt.cpp:
90269         (WebCore::RenderThemeQt::paintMediaSliderThumb):
90270           Use Node::shadowAncestorNode() instead of RenderObject::parent() to
90271           support deeper thumb nodes.
90272         * rendering/RenderMediaControlsChromium.cpp:
90273         (WebCore::paintMediaSliderThumb): ditto.
90274         (WebCore::paintMediaVolumeSliderThumb): Remove isSlider() check.
90275         * rendering/RenderSlider.cpp:
90276         (WebCore::RenderSlider::inDragMode):
90277           SliderThumbElement::inDragMode() was removed, and Node::active() has
90278           the same information.
90279         * rendering/RenderTheme.cpp:
90280         (WebCore::RenderTheme::paint): Remove isSlider() checks.
90281         (WebCore::RenderTheme::isFocused): Apply Node::focusDelegate().
90282         * rendering/RenderThemeChromiumLinux.cpp:
90283         (WebCore::RenderThemeChromiumLinux::paintSliderThumb):
90284           isPressed() is enough.
90285         * rendering/RenderThemeChromiumWin.cpp:
90286           isEnabled(), isFocused(), and isPressed() are enough.
90287         (WebCore::RenderThemeChromiumWin::determineSliderThumbState):
90288         (WebCore::RenderThemeChromiumWin::determineClassicState):
90289         * rendering/RenderThemeMac.mm:
90290         (WebCore::RenderThemeMac::paintSliderThumb):
90291           - Remove isSlider() check.
90292           - Passing 'o' to udpateFooState functions is enough.
90293           - isPressed() is enough.
90294         * rendering/RenderThemeSafari.cpp:
90295         (WebCore::RenderThemeSafari::paintSliderThumb):
90296           We don't need special handling anymore.
90297         * rendering/RenderThemeWin.cpp:
90298         (WebCore::RenderThemeWin::determineSliderThumbState):
90299           isEnabled(), isFocused(), and isPressed() are enough.
90300
90301 2011-06-08  Adam Barth  <abarth@webkit.org>
90302
90303         Reviewed by Eric Seidel.
90304
90305         constructTreeFromToken can re-enter parser, causing ASSERTs
90306         https://bugs.webkit.org/show_bug.cgi?id=62160
90307
90308         This patch clears the HTMLToken before constructing the tree from the
90309         token, putting the HTMLDocumentParser in a good state to be re-entered.
90310
90311         Tests: fast/parser/document-write-onload-nesting.html
90312                fast/parser/document-write-onload-ordering.html
90313
90314         * html/parser/HTMLDocumentParser.cpp:
90315         (WebCore::HTMLDocumentParser::pumpTokenizer):
90316         * html/parser/HTMLToken.h:
90317         (WebCore::HTMLToken::isUninitialized):
90318         * html/parser/HTMLTreeBuilder.cpp:
90319         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
90320
90321 2011-06-08  Kent Tamura  <tkent@chromium.org>
90322
90323         Fix Qt build for r88405.
90324         https://bugs.webkit.org/show_bug.cgi?id=62208
90325
90326         * platform/qt/RenderThemeQt.h:
90327
90328 2011-06-08  Kent Tamura  <tkent@chromium.org>
90329
90330         Reviewed by Dimitri Glazkov.
90331
90332         Change the argument of RenderTheme::adjustSliderThumbSize(): RenderObject* -> RenderStyle*
90333         https://bugs.webkit.org/show_bug.cgi?id=62208
90334
90335         Change the argument type of RenderTheme::adjustSliderThumbSize() and
90336         RenderMediaControls::adjustMediaSliderThumbSize() from RenderObject* to RenderStyle*.
90337
90338         Also, each of adjustSliderThumbStyle() overrides calls RenderTheme::
90339         adjustSliderThumbStyle() for future changes.
90340
90341         No new tests. This is a refactoring and should not change any behavior.
90342
90343         * html/shadow/SliderThumbElement.cpp:
90344         (WebCore::RenderSliderThumb::layout): Passing RenderStyle* and remove a FIXME comment.
90345         * platform/efl/RenderThemeEfl.cpp:
90346         (WebCore::RenderThemeEfl::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle().
90347         * platform/gtk/RenderThemeGtk.cpp:
90348         (WebCore::RenderThemeGtk::adjustSliderThumbStyle): ditto.
90349         (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
90350         * platform/gtk/RenderThemeGtk.h:
90351         * platform/gtk/RenderThemeGtk2.cpp:
90352         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
90353         * platform/gtk/RenderThemeGtk3.cpp:
90354         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
90355         * platform/qt/RenderThemeQt.cpp:
90356         (WebCore::RenderThemeQt::adjustSliderThumbStyle): ditto.
90357         (WebCore::RenderThemeQt::adjustSliderThumbSize):
90358         * rendering/RenderMediaControls.cpp:
90359         (WebCore::RenderMediaControls::adjustMediaSliderThumbSize):
90360         * rendering/RenderMediaControls.h:
90361         * rendering/RenderMediaControlsChromium.cpp:
90362         (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize):
90363         * rendering/RenderMediaControlsChromium.h:
90364         * rendering/RenderSlider.cpp:
90365         (WebCore::RenderSlider::layout): Passing RenderStyle* and remove a FIXME comment.
90366         * rendering/RenderTheme.cpp:
90367         (WebCore::RenderTheme::adjustSliderThumbStyle): Add a comment.
90368         (WebCore::RenderTheme::adjustSliderThumbSize):
90369         * rendering/RenderTheme.h:
90370         * rendering/RenderThemeChromiumLinux.cpp:
90371         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
90372         * rendering/RenderThemeChromiumLinux.h:
90373         * rendering/RenderThemeChromiumMac.h:
90374         * rendering/RenderThemeChromiumMac.mm:
90375         (WebCore::RenderThemeChromiumMac::adjustMediaSliderThumbSize):
90376         * rendering/RenderThemeChromiumSkia.cpp:
90377         (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize):
90378         * rendering/RenderThemeChromiumSkia.h:
90379         * rendering/RenderThemeChromiumWin.cpp:
90380         (WebCore::RenderThemeChromiumWin::adjustSliderThumbSize):
90381         * rendering/RenderThemeChromiumWin.h:
90382         * rendering/RenderThemeMac.h:
90383         * rendering/RenderThemeMac.mm:
90384         (WebCore::RenderThemeMac::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle().
90385         (WebCore::RenderThemeMac::adjustSliderThumbSize):
90386         (WebCore::RenderThemeMac::adjustMediaSliderThumbSize):
90387         * rendering/RenderThemeSafari.cpp:
90388         (WebCore::RenderThemeSafari::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle().
90389         (WebCore::RenderThemeSafari::adjustSliderThumbSize):
90390         * rendering/RenderThemeSafari.h:
90391         * rendering/RenderThemeWin.cpp:
90392         (WebCore::RenderThemeWin::adjustSliderThumbSize):
90393         * rendering/RenderThemeWin.h:
90394         * rendering/RenderThemeWinCE.cpp:
90395         (WebCore::RenderThemeWinCE::adjustSliderThumbSize):
90396         * rendering/RenderThemeWinCE.h:
90397
90398 2011-06-08  Brian Salomon  <bsalomon@google.com>
90399
90400         Reviewed by James Robinson.
90401
90402         Avoid always binding FBO 0 implicitly when deleting FBO in DrawingBuffer code because it invalidates Ganesh's cache of the current FBO.
90403         https://bugs.webkit.org/show_bug.cgi?id=62318
90404
90405         Chromium-only crash
90406         Failures takes multiple seconds to occur, relying on JS garbage-collection to occur 
90407         http://www.hotbazooka.com/privatejoe-large
90408
90409         * platform/graphics/gpu/DrawingBuffer.cpp:
90410         (WebCore::DrawingBuffer::clear):
90411
90412 2011-06-08  Emil A Eklund  <eae@chromium.org>
90413
90414         Reviewed by Eric Seidel.
90415
90416         RenderEmbeddedObject::getReplacementTextGeometry
90417         https://bugs.webkit.org/show_bug.cgi?id=62313
90418
90419         Replace the last use of tx, ty with IntPoint.
90420
90421         Covered by existing tests.
90422
90423         * platform/graphics/FloatRect.h:
90424         (WebCore::FloatRect::move):
90425         (WebCore::FloatRect::moveBy):
90426         * rendering/RenderEmbeddedObject.cpp:
90427         (WebCore::RenderEmbeddedObject::paintReplaced):
90428         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
90429         (WebCore::RenderEmbeddedObject::isInMissingPluginIndicator):
90430         * rendering/RenderEmbeddedObject.h:
90431
90432 2011-06-08  Tim Horton  <timothy_horton@apple.com>
90433
90434         Reviewed by Ryosuke Niwa.
90435
90436         Use correct CFURLStorageSessionRef definition on Leopard, as
90437         we created an inconsistency in const-ness between
90438         WebCoreSystemInterface.h and these two files in the case
90439         of Leopard only.
90440         https://bugs.webkit.org/show_bug.cgi?id=62223
90441
90442         * platform/network/ResourceHandle.h:
90443         * platform/network/cf/ResourceRequest.h:
90444
90445 2011-06-08  Sailesh Agrawal  <sail@chromium.org>
90446
90447         Reviewed by Mihai Parparita.
90448
90449         Chromium Mac: Enable overlay scrollbars
90450         https://bugs.webkit.org/show_bug.cgi?id=59756
90451
90452         Sync ScrollbarThemeChromiumMac.mm/.h with ScrollbarThemeMac.mm to pick up support for overlay scrollbars. The only changes are renaming ScrollbarThemeMac to ScrollbarThemeChromiumMac and using runtime checks instead of #ifdef's.
90453
90454         No new tests, since this code is only enabled on future versions of Mac OS X.
90455
90456         * platform/chromium/ScrollAnimatorChromiumMac.mm: All changes to this file except in scroll() were to swap #if USE(WK_SCROLLBAR_PAINTER) with runtime checks.
90457         (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
90458         (WebCore::ScrollAnimatorChromiumMac::~ScrollAnimatorChromiumMac):
90459         (WebCore::ScrollAnimatorChromiumMac::notityPositionChanged):
90460         (WebCore::ScrollAnimatorChromiumMac::contentAreaWillPaint):
90461         (WebCore::ScrollAnimatorChromiumMac::mouseEnteredContentArea):
90462         (WebCore::ScrollAnimatorChromiumMac::mouseExitedContentArea):
90463         (WebCore::ScrollAnimatorChromiumMac::mouseMovedInContentArea):
90464         (WebCore::ScrollAnimatorChromiumMac::willStartLiveResize):
90465         (WebCore::ScrollAnimatorChromiumMac::contentsResized):
90466         (WebCore::ScrollAnimatorChromiumMac::willEndLiveResize):
90467         (WebCore::ScrollAnimatorChromiumMac::contentAreaDidShow):
90468         (WebCore::ScrollAnimatorChromiumMac::contentAreaDidHide):
90469         (WebCore::ScrollAnimatorChromiumMac::didBeginScrollGesture):
90470         (WebCore::ScrollAnimatorChromiumMac::didEndScrollGesture):
90471         (WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
90472         (WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
90473         (WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
90474         (WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
90475         (WebCore::ScrollAnimatorChromiumMac::cancelAnimations):
90476         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
90477         (preferredScrollerStyle): Disabled overlay scrollbar styles due to trailing artifacts.
90478         (wkScrollbarPainterPaint): Fixed a problem where the scrollbar track wasn't being drawn.
90479         (wkScrollbarPainterKnobRect): Implemented a previously unimplemented function.
90480         (wkSetScrollbarPainterKnobStyle): Implemented a function that's now supported by the latest Mac OS X seeds.
90481         (isScrollbarOverlayAPIAvailable): Enabled new scrollbar code.
90482         * platform/chromium/ScrollbarThemeChromiumMac.h:
90483         * platform/chromium/ScrollbarThemeChromiumMac.mm: Sync with ScrollbarThemeMac.mm.
90484         (WebCore::scrollbarMap):
90485         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
90486         (WebCore::updateArrowPlacement):
90487         (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
90488         (WebCore::ScrollbarThemeChromiumMac::unregisterScrollbar):
90489         (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
90490         (WebCore::ScrollbarThemeChromiumMac::painterForScrollbar):
90491         (WebCore::ScrollbarThemeChromiumMac::scrollbarThickness):
90492         (WebCore::ScrollbarThemeChromiumMac::usesOverlayScrollbars):
90493         (WebCore::ScrollbarThemeChromiumMac::hasButtons):
90494         (WebCore::ScrollbarThemeChromiumMac::hasThumb):
90495         (WebCore::buttonRepaintRect):
90496         (WebCore::ScrollbarThemeChromiumMac::minimumThumbLength):
90497         (WebCore::ScrollbarThemeChromiumMac::shouldDragDocumentInsteadOfThumb):
90498         (WebCore::toScrollbarPainterKnobStyle):
90499         (WebCore::ScrollbarThemeChromiumMac::paint):
90500
90501 2011-06-06  Nate Chapin  <japhet@chromium.org>
90502
90503         Reviewed by Adam Barth.
90504
90505         Remove all knowledge of CachedResourceRequests from
90506         CachedResourceLoader. This puts the full burden of
90507         canceling these requests on DocumentLoader (via
90508         SubresourceLoader), and makes a CachedResourceRequest
90509         an OwnPtr in CachedResource.
90510
90511         https://bugs.webkit.org/show_bug.cgi?id=62308
90512
90513         * loader/FrameLoader.cpp:
90514         (WebCore::FrameLoader::stopLoading):
90515         * loader/cache/CachedResource.cpp:
90516         (WebCore::CachedResource::CachedResource):
90517         (WebCore::CachedResource::load):
90518         (WebCore::CachedResource::stopLoading):
90519         * loader/cache/CachedResource.h:
90520         * loader/cache/CachedResourceLoader.cpp:
90521         (WebCore::CachedResourceLoader::~CachedResourceLoader):
90522         (WebCore::CachedResourceLoader::loadDone):
90523         * loader/cache/CachedResourceLoader.h:
90524         * loader/cache/CachedResourceRequest.cpp:
90525         (WebCore::CachedResourceRequest::CachedResourceRequest):
90526         (WebCore::CachedResourceRequest::~CachedResourceRequest):
90527         (WebCore::CachedResourceRequest::load):
90528         (WebCore::CachedResourceRequest::didFinishLoading):
90529         (WebCore::CachedResourceRequest::didFail):
90530         (WebCore::CachedResourceRequest::didReceiveResponse):
90531         (WebCore::CachedResourceRequest::end):
90532         * loader/cache/CachedResourceRequest.h:
90533
90534 2011-06-08  Mike Reed  <reed@google.com>
90535
90536         Reviewed by James Robinson.
90537
90538         [Skia] check for null-shader from gradient factory
90539         https://bugs.webkit.org/show_bug.cgi?id=62319
90540
90541         * platform/graphics/skia/GradientSkia.cpp:
90542         (WebCore::Gradient::platformDestroy):
90543         (WebCore::Gradient::platformGradient):
90544
90545 2011-06-08  Kenneth Russell  <kbr@google.com>
90546
90547         Reviewed by Adam Barth.
90548
90549         Disallow use of cross-domain media (images, video) in WebGL
90550         https://bugs.webkit.org/show_bug.cgi?id=62257
90551
90552         Updated WebGL implementation to track recent spec updates in this area.
90553
90554         Tests: http/tests/security/webgl-remote-read-remote-image-allowed-with-credentials.html
90555                http/tests/security/webgl-remote-read-remote-image-allowed.html
90556                http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin.html
90557
90558         * html/canvas/CanvasRenderingContext.cpp:
90559         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
90560         (WebCore::CanvasRenderingContext::checkOrigin):
90561         * html/canvas/CanvasRenderingContext.h:
90562         (WebCore::CanvasRenderingContext::checkOrigin):
90563         * html/canvas/WebGLRenderingContext.cpp:
90564         (WebCore::WebGLRenderingContext::readPixels):
90565         (WebCore::WebGLRenderingContext::texImage2D):
90566         (WebCore::WebGLRenderingContext::videoFrameToImage):
90567         (WebCore::WebGLRenderingContext::texSubImage2D):
90568         * html/canvas/WebGLRenderingContext.h:
90569
90570 2011-06-08  John Bauman  <jbauman@chromium.org>
90571
90572         Reviewed by James Robinson.
90573
90574         Only draw portions of tiles in contentRect
90575         https://bugs.webkit.org/show_bug.cgi?id=62243
90576
90577         Old garbage data can remain in tiles, so make sure to draw only those
90578         portions that are supposed to be drawn.
90579
90580         Test: compositing/repaint/shrink-layer.html
90581
90582         * platform/graphics/chromium/LayerTilerChromium.cpp:
90583         (WebCore::LayerTilerChromium::draw):
90584
90585 2011-06-08  Emil A Eklund  <eae@chromium.org>
90586
90587         Reviewed by Eric Seidel.
90588
90589         Convert RenderBlock::isPointInOverflowControl to IntPoint
90590         https://bugs.webkit.org/show_bug.cgi?id=62312
90591
90592         Covered by existing tests.
90593
90594         * rendering/RenderBlock.cpp:
90595         (WebCore::RenderBlock::isPointInOverflowControl):
90596         (WebCore::RenderBlock::nodeAtPoint):
90597         * rendering/RenderBlock.h:
90598         * rendering/RenderListBox.cpp:
90599         (WebCore::RenderListBox::isPointInOverflowControl):
90600         * rendering/RenderListBox.h:
90601
90602 2011-06-08  James Simonsen  <simonjam@chromium.org>
90603
90604         Reviewed by Tony Gentilcore.
90605
90606         Fix clang issue, virtual function const mismatch
90607         https://bugs.webkit.org/show_bug.cgi?id=62307
90608
90609         No new tests. Built with clang & ran layout tests.
90610
90611         * page/MediaStreamFrameController.h:
90612         (WebCore::MediaStreamFrameController::GenericClient::isGenericClient):
90613
90614 2011-06-08  Chris Rogers  <crogers@google.com>
90615
90616         Reviewed by Kenneth Russell.
90617
90618         Implement BiquadFilterNode for filter types: LOWPASS, HIGHPASS, BANDPASS, LOWSHELF, HIGHSHELF, PEAKING, NOTCH, ALLPASS
90619         https://bugs.webkit.org/show_bug.cgi?id=62078
90620
90621         No new tests since audio API is not yet implemented.
90622
90623         * DerivedSources.make:
90624         * WebCore.gypi:
90625         * WebCore.xcodeproj/project.pbxproj:
90626         * platform/audio/Biquad.cpp:
90627         (WebCore::Biquad::Biquad):
90628         (WebCore::Biquad::reset):
90629         (WebCore::Biquad::setLowpassParams):
90630         (WebCore::Biquad::setHighpassParams):
90631         (WebCore::Biquad::setNormalizedCoefficients):
90632         (WebCore::Biquad::setLowShelfParams):
90633         (WebCore::Biquad::setHighShelfParams):
90634         (WebCore::Biquad::setPeakingParams):
90635         (WebCore::Biquad::setAllpassParams):
90636         (WebCore::Biquad::setNotchParams):
90637         (WebCore::Biquad::setBandpassParams):
90638         (WebCore::Biquad::setZeroPolePairs):
90639         (WebCore::Biquad::setAllpassPole):
90640         * platform/audio/Biquad.h:
90641         * webaudio/AudioContext.cpp:
90642         (WebCore::AudioContext::createBiquadFilter):
90643         (WebCore::AudioContext::createLowPass2Filter):
90644         (WebCore::AudioContext::createHighPass2Filter):
90645         * webaudio/AudioContext.h:
90646         * webaudio/AudioContext.idl:
90647         * webaudio/AudioNode.h:
90648         * webaudio/BiquadDSPKernel.cpp:
90649         (WebCore::BiquadDSPKernel::process):
90650         * webaudio/BiquadFilterNode.cpp: Added.
90651         (WebCore::BiquadFilterNode::BiquadFilterNode):
90652         * webaudio/BiquadFilterNode.h: Added.
90653         (WebCore::BiquadFilterNode::create):
90654         (WebCore::BiquadFilterNode::type):
90655         (WebCore::BiquadFilterNode::setType):
90656         (WebCore::BiquadFilterNode::frequency):
90657         (WebCore::BiquadFilterNode::q):
90658         (WebCore::BiquadFilterNode::gain):
90659         (WebCore::BiquadFilterNode::biquadProcessor):
90660         * webaudio/BiquadFilterNode.idl: Added.
90661         * webaudio/BiquadProcessor.cpp:
90662         (WebCore::BiquadProcessor::BiquadProcessor):
90663         * webaudio/BiquadProcessor.h:
90664         (WebCore::BiquadProcessor::setType):
90665         * webaudio/HighPass2FilterNode.cpp:
90666         (WebCore::HighPass2FilterNode::HighPass2FilterNode):
90667         * webaudio/LowPass2FilterNode.cpp:
90668         (WebCore::LowPass2FilterNode::LowPass2FilterNode):
90669
90670 2011-06-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
90671
90672         Reviewed by Kenneth Rohde Christiansen.
90673
90674         WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
90675         https://bugs.webkit.org/show_bug.cgi?id=61694
90676
90677         No new tests, code path is not activated yet.
90678
90679         * WebCore.xcodeproj/project.pbxproj: Changed the TransformOperation subclassed from "project" to "private"
90680
90681 2011-06-08  Tom Sepez  <tsepez@chromium.org>
90682
90683         Reviewed by Adam Barth.
90684
90685         Cause checks for insecure content blocking policy to callback to client.
90686         https://bugs.webkit.org/show_bug.cgi?id=61946
90687         Tests: platform/chromium/http/tests/security/mixedContent/insecure-image-in-main-frame-allowed.html
90688                platform/chromium/http/tests/security/mixedContent/insecure-image-in-main-frame-blocked.html
90689                platform/chromium/http/tests/security/mixedContent/insecure-script-in-main-frame-allowed.html
90690                platform/chromium/http/tests/security/mixedContent/insecure-script-in-main-frame-blocked.html
90691
90692         * loader/FrameLoader.cpp:
90693         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
90694         (WebCore::FrameLoader::checkIfRunInsecureContent):
90695         * loader/FrameLoaderClient.h:
90696         (WebCore::FrameLoaderClient::allowDisplayingInsecureContent):
90697         (WebCore::FrameLoaderClient::allowRunningInsecureContent):
90698
90699 2011-06-08  Kevin Ollivier  <kevino@theolliviers.com>
90700
90701         [wx] Build fix after introduction of FontCache::ShouldRetain
90702
90703         * platform/graphics/wx/FontCacheWx.cpp:
90704         (WebCore::FontCache::getFontDataForCharacters):
90705
90706 2011-06-08  Sheriff Bot  <webkit.review.bot@gmail.com>
90707
90708         Unreviewed, rolling out r88365.
90709         http://trac.webkit.org/changeset/88365
90710         https://bugs.webkit.org/show_bug.cgi?id=62301
90711
90712         windows bots broken (Requested by loislo_ on #webkit).
90713
90714         * inspector/InspectorValues.cpp:
90715         (WebCore::InspectorBasicValue::writeJSON):
90716
90717 2011-06-08  Mikołaj Małecki  <m.malecki@samsung.com>
90718
90719         Reviewed by Pavel Feldman.
90720
90721         Web Inspector: Crash by buffer overrun crash when serializing inspector object tree.
90722         https://bugs.webkit.org/show_bug.cgi?id=52791
90723
90724         No new tests. The problem can be reproduced by trying to create InspectorValue
90725         from 1.0e-100 and call ->toJSONString() on this.
90726
90727         * inspector/InspectorValues.cpp:
90728         (WebCore::InspectorBasicValue::writeJSON):
90729         Added checking the predicted buffer size and choosing exponential format, or
90730         eventually "NaN" if the buffer is too small for decimal format.
90731
90732 2011-06-08  Nico Weber  <thakis@chromium.org>
90733
90734         Reviewed by Darin Adler.
90735
90736         Fix a ?: precedence error in ScrollbarThemeMac and ScrollbarThemeChromium
90737         https://bugs.webkit.org/show_bug.cgi?id=62295
90738
90739         This was found by a new warning recently added to clang's -Wparentheses
90740
90741         * platform/chromium/ScrollbarThemeChromiumMac.mm:
90742         (WebCore::ScrollbarThemeChromiumMac::backButtonRect):
90743         * platform/mac/ScrollbarThemeMac.mm:
90744         (WebCore::ScrollbarThemeMac::backButtonRect):
90745
90746 2011-06-08  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
90747
90748         Reviewed by Andreas Kling.
90749
90750         [Qt] Remove dead code from our JSC bridge
90751         https://bugs.webkit.org/show_bug.cgi?id=62287
90752
90753         The m_defaultMethod member is not used since r36848 and QtMethod
90754         was replaced by QtRuntimeMethod and subclasses in r29729.
90755
90756         * bridge/qt/qt_instance.cpp:
90757         (JSC::Bindings::QtInstance::removeCachedMethod):
90758         (JSC::Bindings::QtInstance::visitAggregate):
90759         * bridge/qt/qt_instance.h:
90760         * bridge/qt/qt_runtime.h:
90761
90762 2011-06-08  Ryan Sleevi  <rsleevi@chromium.org>
90763
90764         Reviewed by Tony Chang.
90765
90766         Suppress C++0x compat warnings when compiling Chromium port with GCC 4.6
90767
90768         Compiling Chromium port under GCC 4.6 produces warnings about nullptr
90769         https://bugs.webkit.org/show_bug.cgi?id=62242
90770
90771         * WebCore.gyp/WebCore.gyp:
90772
90773 2011-05-25  Xiaomei Ji  <xji@chromium.org>
90774
90775         Reviewed by Ryosuke Niwa.
90776
90777         --webkit-visual-word does not work well in words separated by multiple spaces
90778         https://bugs.webkit.org/show_bug.cgi?id=61324
90779
90780         Remove positionBeforeNextWord and positionAfterPreviousWord short-cuts. They try to find the
90781         right word boundary (before the space or after the space) by using previousWordPosition and
90782         nextWordPosition. But they assume words are separated by single space and are not correct 
90783         for words separated by multiple spaces and words not separated by space.
90784
90785         Consider positionBeforeNextWord() for example, 
90786
90787         First, it checks whether the current position is after the current word by checking current
90788         position's previousWordPosition's nextWordPosition is the same as current position, which is
90789         wrong for words separated by multiple spaces. For example, given words A and B separated by 
90790         3 continuous spaces "A   B", position "A|", "A |", and "A  |" should all be considered as 
90791         position after current word. But for position "A |", its previousWordPosition's 
90792         nextWordPosition is position "A|", which is different from its current position, so the
90793         current position is not considered as a position after current word, consequently,
90794         instead of returning the right position as "A   |B", positionBeforeNextWord returns the
90795         position before next next word, as "A   B |C". Similar happens for position "A  |".
90796
90797         Second, given 3 Chinese words "ABC" that are not segmented by space, when cursor is at 
90798         "A|BC", positionBeforeNextWord() returns the same position after calling current position's
90799         nextWordPosition's previousWordPosition. It should returns position "AB|C".
90800
90801         For those cases, we will have to collect all the word breaks inside the box and look for
90802         the one at left or right of current position.
90803
90804         * editing/visible_units.cpp:
90805         (WebCore::leftWordPosition):
90806         (WebCore::rightWordPosition):
90807
90808 2011-06-08  Greg Simon  <gregsimon@chromium.org>
90809
90810         Reviewed by Dimitri Glazkov.
90811
90812         Control Indexeddb backends from LayoutTestController
90813         https://bugs.webkit.org/show_bug.cgi?id=61000
90814
90815         Test: storage/indexeddb/migrate-basics.html
90816
90817         * storage/IDBBackingStore.h:
90818         * storage/IDBFactoryBackendImpl.cpp:
90819         (WebCore::IDBFactoryBackendImpl::open):
90820         (WebCore::IDBFactoryBackendImpl::migrate):
90821         * storage/IDBFactoryBackendImpl.h:
90822         * storage/IDBFactoryBackendInterface.h:
90823         * storage/IDBLevelDBBackingStore.cpp:
90824         (WebCore::IDBLevelDBBackingStore::backingStoreExists):
90825         * storage/IDBLevelDBBackingStore.h:
90826         (WebCore::IDBLevelDBBackingStore::backingStoreType):
90827         * storage/IDBSQLiteBackingStore.cpp:
90828         (WebCore::IDBSQLiteBackingStore::backingStoreExists):
90829         * storage/IDBSQLiteBackingStore.h:
90830         (WebCore::IDBSQLiteBackingStore::backingStoreType):
90831
90832 2011-06-08  Dmitry Lomov  <dslomov@google.com>
90833
90834         Reviewed by Adam Barth.
90835
90836         https://bugs.webkit.org/show_bug.cgi?id=62164
90837         Remove "multi-threaded" logic in V8 DOMData, DOMDataStore and friends
90838         This functionality is untested and unused:
90839         This is an old code from Lockers-based implementation of WebWorkers in
90840         V8 bindings, to make sure that DOM objects are released on the right thread
90841         even though GC could have happened on any thread. It is currently unused (since
90842         current model is one worker per process) and is being removed because new implementation
90843         of WebWorkers will be using V8 isolates.
90844
90845         * WebCore.gypi:
90846         * WebCore.pro:
90847         * bindings/v8/ChildThreadDOMData.cpp: Removed.
90848         * bindings/v8/ChildThreadDOMData.h: Removed.
90849         * bindings/v8/DOMData.cpp:
90850         (WebCore::DOMData::DOMData):
90851         (WebCore::DOMData::getCurrent):
90852         (WebCore::DOMData::getMainThreadStore):
90853         * bindings/v8/DOMData.h:
90854         (WebCore::DOMData::getStore):
90855         (WebCore::DOMData::getCurrentMainThreadStore):
90856         (WebCore::DOMData::handleWeakObject):
90857         * bindings/v8/DOMDataStore.cpp:
90858         (WebCore::DOMDataStore::DOMDataStore):
90859         (WebCore::DOMDataStore::~DOMDataStore):
90860         (WebCore::DOMDataStore::weakNodeCallback):
90861         * bindings/v8/DOMDataStore.h:
90862         * bindings/v8/MainThreadDOMData.cpp: Removed.
90863         * bindings/v8/MainThreadDOMData.h: Removed.
90864         * bindings/v8/V8DOMMap.cpp:
90865         (WebCore::getDOMDataStore):
90866         (WebCore::removeAllDOMObjects):
90867         (WebCore::visitDOMNodes):
90868         (WebCore::visitDOMObjects):
90869         (WebCore::visitActiveDOMObjects):
90870         (WebCore::visitDOMSVGElementInstances):
90871         * bindings/v8/V8DOMMap.h:
90872         * bindings/v8/V8GCController.cpp:
90873         (WebCore::V8GCController::gcPrologue):
90874         (WebCore::V8GCController::gcEpilogue):
90875         * bindings/v8/WorkerScriptController.cpp:
90876         (WebCore::WorkerScriptController::~WorkerScriptController):
90877
90878 2011-06-08  Yael Aharon  <yael.aharon@nokia.com>
90879
90880         Reviewed by Andreas Kling.
90881
90882         [Qt] Build fix for building QtWebKit inside of Qt.
90883         https://bugs.webkit.org/show_bug.cgi?id=62280
90884
90885         Remove CONFIG=staticlib, because it causes the configure script to add -lwebcore
90886         into QtWebKit.prl.
90887
90888         No new tests, as this is just a build fix.
90889
90890         * WebCore.pri:
90891
90892 2011-06-08  Vsevolod Vlasov  <vsevik@chromium.org>
90893
90894         Reviewed by Pavel Feldman.
90895
90896         Web Inspector: Render non-document HTML resources as HTML
90897         https://bugs.webkit.org/show_bug.cgi?id=58886
90898
90899         * English.lproj/localizedStrings.js:
90900         * WebCore.gypi:
90901         * WebCore.vcproj/WebCore.vcproj:
90902         * inspector/front-end/NetworkItemView.js:
90903         (WebInspector.NetworkItemView):
90904         * inspector/front-end/Resource.js:
90905         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
90906         (WebInspector.Resource.prototype.hasErrorStatusCode):
90907         * inspector/front-end/ResourceHTMLView.js: Added.
90908         (WebInspector.ResourceHTMLView):
90909         (WebInspector.ResourceHTMLView.prototype.hasContent):
90910         (WebInspector.ResourceHTMLView.prototype.show):
90911         (WebInspector.ResourceHTMLView.prototype.hide):
90912         (WebInspector.ResourceHTMLView.prototype._createIFrame):
90913         * inspector/front-end/ResourcePreviewView.js: Added.
90914         (WebInspector.ResourcePreviewView):
90915         (WebInspector.ResourcePreviewView.prototype.hasContent):
90916         (WebInspector.ResourcePreviewView.prototype.show):
90917         (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown.callback):
90918         (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown):
90919         (WebInspector.ResourcePreviewView.prototype._createInnerView):
90920         * inspector/front-end/Settings.js:
90921         (WebInspector.Settings):
90922         * inspector/front-end/WebKit.qrc:
90923         * inspector/front-end/inspector.css:
90924         (.resource-view.html iframe):
90925         * inspector/front-end/inspector.html:
90926
90927 2011-05-18  Pavel Podivilov  <podivilov@chromium.org>
90928
90929         Reviewed by Yury Semikhatsky.
90930
90931         Web Inspector: hide script location to ui location conversion details from ScriptsPanel.
90932         https://bugs.webkit.org/show_bug.cgi?id=61035
90933
90934         * inspector/front-end/DebuggerPresentationModel.js:
90935         (WebInspector.DebuggerPresentationModel.prototype.sourceFileForScriptURL):
90936         (WebInspector.DebuggerPresentationModel.prototype.scriptLocationToUILocation.didRequestSourceMapping):
90937         (WebInspector.DebuggerPresentationModel.prototype.scriptLocationToUILocation):
90938         * inspector/front-end/ScriptsPanel.js:
90939         (WebInspector.ScriptsPanel.prototype.showAnchorLocation.didGetUILocation):
90940         (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
90941
90942 2011-06-08  Tommy Widenflycht  <tommyw@google.com>
90943
90944         Reviewed by Tony Gentilcore.
90945
90946         StreamEvent
90947
90948         Media Stream PeerConnection API: adding StreamEvent class
90949         https://bugs.webkit.org/show_bug.cgi?id=61537
90950
90951         Tests for the Media Stream API will be provided by the bug 56587.
90952
90953         * CMakeLists.txt:
90954         * CodeGenerators.pri:
90955         * DerivedSources.cpp:
90956         * DerivedSources.make:
90957         * GNUmakefile.list.am:
90958         * WebCore.gypi:
90959         * WebCore.pro:
90960         * WebCore.vcproj/WebCore.vcproj:
90961         * WebCore.xcodeproj/project.pbxproj:
90962         * bindings/js/JSEventCustom.cpp:
90963         (WebCore::toJS):
90964         * bindings/v8/custom/V8EventCustom.cpp:
90965         (WebCore::toV8):
90966         * dom/DOMAllInOne.cpp:
90967         * dom/Event.cpp:
90968         (WebCore::Event::isStreamEvent):
90969         * dom/Event.h:
90970         * dom/StreamEvent.cpp: Added.
90971         (WebCore::StreamEvent::create):
90972         (WebCore::StreamEvent::StreamEvent):
90973         (WebCore::StreamEvent::~StreamEvent):
90974         (WebCore::StreamEvent::initStreamEvent):
90975         (WebCore::StreamEvent::stream):
90976         * dom/StreamEvent.h: Added.
90977         (WebCore::StreamEvent::isStreamEvent):
90978         * dom/StreamEvent.idl: Added.
90979
90980 2011-06-08  Tommy Widenflycht  <tommyw@google.com>
90981
90982         Reviewed by Tony Gentilcore.
90983
90984         Media Stream API: integrate the Track List objects into the existing code.
90985         https://bugs.webkit.org/show_bug.cgi?id=60205
90986
90987         Tests for the Media Stream API will be provided by the bug 56587.
90988
90989         * dom/ExclusiveTrackList.cpp:
90990         (WebCore::ExclusiveTrackList::select):
90991         (WebCore::ExclusiveTrackList::trackFailed):
90992         * dom/ExclusiveTrackList.h:
90993         * dom/GeneratedStream.cpp:
90994         (WebCore::GeneratedStream::create):
90995         (WebCore::GeneratedStream::GeneratedStream):
90996         (WebCore::GeneratedStream::streamEnded):
90997         (WebCore::GeneratedStream::audioTracks):
90998         (WebCore::GeneratedStream::videoTracks):
90999         (WebCore::GeneratedStream::stop):
91000         * dom/GeneratedStream.h:
91001         * dom/GeneratedStream.idl:
91002         * dom/MultipleTrackList.cpp:
91003         (WebCore::MultipleTrackList::trackFailed):
91004         (WebCore::MultipleTrackList::enable):
91005         (WebCore::MultipleTrackList::disable):
91006         * dom/MultipleTrackList.h:
91007         * dom/Stream.h:
91008         * dom/TrackList.cpp:
91009         (WebCore::TrackList::clear):
91010         (WebCore::TrackList::associateStream):
91011         (WebCore::TrackList::associatedStreamLabel):
91012         (WebCore::TrackList::trackFailed):
91013         (WebCore::TrackList::scriptExecutionContext):
91014         * dom/TrackList.h:
91015         * page/MediaStreamClient.h:
91016         * page/MediaStreamController.cpp:
91017         (WebCore::MediaStreamController::enableAudioTrack):
91018         (WebCore::MediaStreamController::disableAudioTrack):
91019         (WebCore::MediaStreamController::selectVideoTrack):
91020         (WebCore::MediaStreamController::streamGenerated):
91021         (WebCore::MediaStreamController::audioTrackFailed):
91022         (WebCore::MediaStreamController::videoTrackFailed):
91023         * page/MediaStreamController.h:
91024         * page/MediaStreamFrameController.cpp:
91025         (WebCore::MediaStreamFrameController::unregister):
91026         (WebCore::MediaStreamFrameController::enterDetachedState):
91027         (WebCore::MediaStreamFrameController::disconnectFrame):
91028         (WebCore::MediaStreamFrameController::enableAudioTrack):
91029         (WebCore::MediaStreamFrameController::disableAudioTrack):
91030         (WebCore::MediaStreamFrameController::selectVideoTrack):
91031         (WebCore::MediaStreamFrameController::streamGenerated):
91032         (WebCore::MediaStreamFrameController::audioTrackFailed):
91033         (WebCore::MediaStreamFrameController::videoTrackFailed):
91034         * page/MediaStreamFrameController.h:
91035         (WebCore::MediaStreamFrameController::ClientBase::isGenericClient):
91036         (WebCore::MediaStreamFrameController::GenericClient::GenericClient):
91037         (WebCore::MediaStreamFrameController::GenericClient::~GenericClient):
91038         (WebCore::MediaStreamFrameController::GenericClient::isGenericClient):
91039         (WebCore::MediaStreamFrameController::GenericClient::unregister):
91040
91041 2011-06-08  Pavel Podivilov  <podivilov@chromium.org>
91042
91043         Reviewed by Yury Semikhatsky.
91044
91045         Web Inspector: [REGRESSION] breakpoints are not persisted.
91046         https://bugs.webkit.org/show_bug.cgi?id=62273
91047
91048         * inspector/front-end/Settings.js:
91049
91050 2011-06-08  Alexander Pavlov  <apavlov@chromium.org>
91051
91052         Reviewed by Yury Semikhatsky.
91053
91054         Web Inspector: node selection is slow in the Elements panel.
91055         https://bugs.webkit.org/show_bug.cgi?id=60813
91056
91057         Schedule full style updates rather than request all node styles from the backend immediately.
91058
91059         * inspector/front-end/StylesSidebarPane.js:
91060         (WebInspector.StylesSidebarPane.prototype.update.reloadAllStyles):
91061         (WebInspector.StylesSidebarPane.prototype.update):
91062
91063 2011-06-08  Andreas Kling  <andreas.kling@nokia.com>
91064
91065         Reviewed by Laszlo Gombos.
91066
91067         [Symbian] Float{32,64}Array and Int16Array fail to build.
91068         https://bugs.webkit.org/show_bug.cgi?id=62219
91069
91070         For some reason, RVCT 2.x is moaning about "class member designated by
91071         a using-declaration must be visible in a direct base class".
91072         Apply same fix as r69122 and r76592.
91073
91074         * html/canvas/Float32Array.h:
91075         (WebCore::Float32Array::set):
91076         * html/canvas/Float64Array.h:
91077         (WebCore::Float64Array::set):
91078         * html/canvas/Int16Array.h:
91079         (WebCore::Int16Array::set):
91080
91081 2011-06-08  Syed Idris Shah  <syed.idris-shah@nokia.com>
91082
91083         Reviewed by Andreas Kling.
91084
91085         [Qt] GL_POINT_SPRITE and GL_VERTEX_PROGRAM_POINT_SIZE should be enabled for desktop WebGL
91086         https://bugs.webkit.org/show_bug.cgi?id=61945
91087
91088         For OpenGL ES we do not need these features. 
91089         These features are available via shaders in OpenGL ES. But for desktop WebGL using QtWebKit they should be enabled.
91090
91091         LayoutTests/fast/canvas/webgl/point-size.html
91092
91093         * platform/graphics/qt/GraphicsContext3DQt.cpp:
91094         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
91095
91096 2011-06-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
91097
91098         Unreviewed. Fix style error.
91099
91100         * platform/efl/RenderThemeEfl.cpp:
91101         * platform/efl/RenderThemeEfl.h:
91102
91103 2011-06-08  Hironori Bono  <hbono@chromium.org>
91104
91105         Reviewed by Brent Fulgham.
91106
91107         Add SpellCheck API
91108         https://bugs.webkit.org/show_bug.cgi?id=59693
91109
91110         This change adds two SpellCheck API functions (addSpellcheckRange and
91111         removeSpellcheckRange) and one attribute (spellcheckRange) discussed in
91112         the public-webapps ML. This change is currently available only on Chromium.
91113
91114         Tests: editing/spelling/spellcheck-api-pixel.html
91115                editing/spelling/spellcheck-api.html
91116
91117         * WebCore.gypi:
91118         * bindings/generic/RuntimeEnabledFeatures.cpp:
91119         * bindings/generic/RuntimeEnabledFeatures.h:
91120         (WebCore::RuntimeEnabledFeatures::spellCheckAPIEnabled):
91121         (WebCore::RuntimeEnabledFeatures::setSpellCheckAPIEnabled):
91122         * dom/DocumentMarker.h:
91123         (WebCore::DocumentMarker::length):
91124         * dom/DocumentMarkerController.cpp:
91125         (WebCore::DocumentMarkerController::userSpellingMarkersForNode):
91126         (WebCore::DocumentMarkerController::addUserSpellingMarker):
91127         (WebCore::DocumentMarkerController::removeUserSpellingMarker):
91128         (WebCore::DocumentMarkerController::userSpellingNode):
91129         * dom/DocumentMarkerController.h:
91130         * html/HTMLDivElement.cpp:
91131         (WebCore::HTMLDivElement::spellcheckRanges):
91132         (WebCore::HTMLDivElement::addSpellcheckRange):
91133         (WebCore::HTMLDivElement::removeSpellcheckRange):
91134         * html/HTMLDivElement.h:
91135         * html/HTMLDivElement.idl:
91136         * html/HTMLInputElement.cpp:
91137         (WebCore::HTMLInputElement::spellcheckRanges):
91138         (WebCore::HTMLInputElement::addSpellcheckRange):
91139         (WebCore::HTMLInputElement::removeSpellcheckRange):
91140         * html/HTMLInputElement.h:
91141         * html/HTMLInputElement.idl:
91142         * html/HTMLTextAreaElement.cpp:
91143         (WebCore::HTMLTextAreaElement::spellcheckRanges):
91144         (WebCore::HTMLTextAreaElement::addSpellcheckRange):
91145         (WebCore::HTMLTextAreaElement::removeSpellcheckRange):
91146         * html/HTMLTextAreaElement.h:
91147         * html/HTMLTextAreaElement.idl:
91148         * html/SpellcheckRange.cpp: Added.
91149         (WebCore::SpellcheckRange::SpellcheckRange):
91150         (WebCore::SpellcheckRange::~SpellcheckRange):
91151         * html/SpellcheckRange.h: Added.
91152         (WebCore::SpellcheckRange::create):
91153         (WebCore::SpellcheckRange::start):
91154         (WebCore::SpellcheckRange::length):
91155         (WebCore::SpellcheckRange::suggestions):
91156         (WebCore::SpellcheckRange::options):
91157         * html/SpellcheckRange.idl: Added.
91158         * html/SpellcheckRangeList.cpp: Added.
91159         (WebCore::SpellcheckRangeList::SpellcheckRangeList):
91160         (WebCore::SpellcheckRangeList::~SpellcheckRangeList):
91161         (WebCore::SpellcheckRangeList::item):
91162         * html/SpellcheckRangeList.h: Added.
91163         (WebCore::SpellcheckRangeList::create):
91164         (WebCore::SpellcheckRangeList::isEmpty):
91165         (WebCore::SpellcheckRangeList::clear):
91166         (WebCore::SpellcheckRangeList::append):
91167         (WebCore::SpellcheckRangeList::remove):
91168         (WebCore::SpellcheckRangeList::length):
91169         * html/SpellcheckRangeList.idl: Added.
91170         * rendering/InlineTextBox.cpp:
91171         (WebCore::textCheckingLineStyleForMarkerType):
91172         (WebCore::InlineTextBox::paintDocumentMarkers):
91173
91174 2011-06-07  Andrey Kosyakov  <caseq@chromium.org>
91175
91176         Reviewed by Pavel Feldman.
91177
91178         Web Inspector: remove shadow dom inspection from Elements panel by default.
91179         https://bugs.webkit.org/show_bug.cgi?id=62188
91180
91181         This reverts r85751
91182
91183         * dom/Element.cpp:
91184         (WebCore::Element::ensureShadowRoot):
91185         (WebCore::Element::removeShadowRoot):
91186         * inspector/Inspector.json:
91187         * inspector/InspectorDOMAgent.cpp:
91188         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
91189         (WebCore::InspectorDOMAgent::buildObjectForNode):
91190         (WebCore::InspectorDOMAgent::didInsertDOMNode):
91191         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
91192         * inspector/InspectorDOMAgent.h:
91193         * inspector/front-end/DOMAgent.js:
91194         (WebInspector.DOMNode):
91195         (WebInspector.DOMNode.prototype._renumber):
91196         (WebInspector.DOMAgent.prototype._bindNodes):
91197         (WebInspector.DOMAgent.prototype.querySelectorAll):
91198         (WebInspector.DOMDispatcher.prototype.searchResults):
91199         * inspector/front-end/ElementsPanel.js:
91200         (WebInspector.ElementsPanel):
91201         (WebInspector.ElementsPanel.prototype._attributesUpdated):
91202         (WebInspector.ElementsPanel.prototype._characterDataModified):
91203         (WebInspector.ElementsPanel.prototype._nodeInserted):
91204         (WebInspector.ElementsPanel.prototype._nodeRemoved):
91205         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
91206         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
91207         * inspector/front-end/ElementsTreeOutline.js:
91208         (WebInspector.ElementsTreeElement):
91209         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
91210         (WebInspector.ElementsTreeElement.prototype._updateChildren):
91211         ():
91212         * inspector/front-end/inspector.css:
91213         * inspector/front-end/utilities.js:
91214         (Element.prototype.query):
91215
91216 2011-06-08  Mark Rowe  <mrowe@apple.com>
91217
91218         Fix the build.
91219
91220         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
91221         (WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
91222         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
91223
91224 2011-06-07  Keishi Hattori  <keishi@webkit.org>
91225
91226         Reviewed by Kent Tamura.
91227
91228         Rename HTMLInputElement::m_value to m_valueIfDirty
91229         https://bugs.webkit.org/show_bug.cgi?id=61990
91230
91231         No new tests because no behavior change.
91232
91233         * html/HTMLInputElement.cpp: Replaced m_value with m_valueIfDirty.
91234         (WebCore::HTMLInputElement::tooLong):
91235         (WebCore::HTMLInputElement::updateType):
91236         (WebCore::HTMLInputElement::parseMappedAttribute):
91237         (WebCore::HTMLInputElement::copyNonAttributeProperties):
91238         (WebCore::HTMLInputElement::value):
91239         (WebCore::HTMLInputElement::setValue):
91240         (WebCore::HTMLInputElement::setValueFromRenderer):
91241         (WebCore::HTMLInputElement::updateValueIfNeeded):
91242         * html/HTMLInputElement.h: Renamed m_value to m_valueIfDirty.
91243         (WebCore::HTMLInputElement::hasDirtyValue): Added. Returns the dirty value flag.
91244
91245 2011-06-07  Ian Henderson  <ianh@apple.com>
91246
91247         Reviewed by Dan Bernstein.
91248
91249         (CG) Sub-image drawing clips unnecessarily
91250         https://bugs.webkit.org/show_bug.cgi?id=62258
91251
91252         If destRect completely encompasses the adjustedDestRect into which we
91253         draw, clipping to destRect will do nothing.  Skip the call to
91254         CGContextClipToRect in this case.
91255
91256         * platform/graphics/cg/ImageCG.cpp:
91257         (WebCore::BitmapImage::draw):
91258
91259 2011-06-07  Emil A Eklund  <eae@chromium.org>
91260
91261         Reviewed by Eric Seidel.
91262
91263         Convert nodeAtPoint to IntPoint
91264         https://bugs.webkit.org/show_bug.cgi?id=62145
91265
91266         Convert nodeAtPoint to take an IntPoint instead of a pair of ints for the
91267         accumulated offset.
91268
91269         Covered by existing tests.
91270
91271         * platform/graphics/FloatPoint.h:
91272         (WebCore::FloatPoint::moveBy):
91273         Add moveBy(IntPoint) method
91274         
91275         * rendering/EllipsisBox.cpp:
91276         (WebCore::EllipsisBox::nodeAtPoint):
91277         * rendering/EllipsisBox.h:
91278         * rendering/InlineBox.cpp:
91279         (WebCore::InlineBox::nodeAtPoint):
91280         * rendering/InlineBox.h:
91281         * rendering/InlineFlowBox.cpp:
91282         (WebCore::InlineFlowBox::nodeAtPoint):
91283         * rendering/InlineFlowBox.h:
91284         * rendering/InlineTextBox.cpp:
91285         (WebCore::InlineTextBox::nodeAtPoint):
91286         * rendering/InlineTextBox.h:
91287         * rendering/RenderBlock.cpp:
91288         (WebCore::RenderBlock::nodeAtPoint):
91289         (WebCore::RenderBlock::hitTestContents):
91290         * rendering/RenderBlock.h:
91291         * rendering/RenderBox.cpp:
91292         (WebCore::RenderBox::nodeAtPoint):
91293         * rendering/RenderBox.h:
91294         * rendering/RenderFrameSet.cpp:
91295         (WebCore::RenderFrameSet::nodeAtPoint):
91296         * rendering/RenderFrameSet.h:
91297         * rendering/RenderImage.cpp:
91298         (WebCore::RenderImage::nodeAtPoint):
91299         * rendering/RenderImage.h:
91300         * rendering/RenderInline.cpp:
91301         (WebCore::RenderInline::nodeAtPoint):
91302         * rendering/RenderInline.h:
91303         * rendering/RenderLineBoxList.cpp:
91304         (WebCore::RenderLineBoxList::hitTest):
91305         * rendering/RenderListBox.cpp:
91306         (WebCore::RenderListBox::nodeAtPoint):
91307         * rendering/RenderListBox.h:
91308         * rendering/RenderObject.cpp:
91309         (WebCore::RenderObject::hitTest):
91310         * rendering/RenderObject.h:
91311         * rendering/RenderTable.cpp:
91312         (WebCore::RenderTable::nodeAtPoint):
91313         * rendering/RenderTable.h:
91314         * rendering/RenderTableRow.cpp:
91315         (WebCore::RenderTableRow::nodeAtPoint):
91316         * rendering/RenderTableRow.h:
91317         * rendering/RenderTableSection.cpp:
91318         (WebCore::RenderTableSection::nodeAtPoint):
91319         * rendering/RenderTableSection.h:
91320         * rendering/RenderText.h:
91321         (WebCore::RenderText::nodeAtPoint):
91322         * rendering/RenderTextControlMultiLine.cpp:
91323         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
91324         * rendering/RenderTextControlMultiLine.h:
91325         * rendering/RenderTextControlSingleLine.cpp:
91326         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
91327         * rendering/RenderTextControlSingleLine.h:
91328         * rendering/RenderWidget.cpp:
91329         (WebCore::RenderWidget::nodeAtPoint):
91330         * rendering/RenderWidget.h:
91331         * rendering/RootInlineBox.cpp:
91332         (WebCore::RootInlineBox::nodeAtPoint):
91333         * rendering/RootInlineBox.h:
91334         * rendering/svg/RenderSVGForeignObject.cpp:
91335         (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
91336         (WebCore::RenderSVGForeignObject::nodeAtPoint):
91337         * rendering/svg/RenderSVGForeignObject.h:
91338         * rendering/svg/RenderSVGModelObject.cpp:
91339         (WebCore::RenderSVGModelObject::nodeAtPoint):
91340         * rendering/svg/RenderSVGModelObject.h:
91341         * rendering/svg/RenderSVGRoot.cpp:
91342         (WebCore::RenderSVGRoot::nodeAtPoint):
91343         * rendering/svg/RenderSVGRoot.h:
91344         * rendering/svg/RenderSVGText.cpp:
91345         (WebCore::RenderSVGText::nodeAtFloatPoint):
91346         (WebCore::RenderSVGText::nodeAtPoint):
91347         * rendering/svg/RenderSVGText.h:
91348
91349 2011-06-07  Yi Shen  <yi.4.shen@nokia.com>
91350
91351         Reviewed by Simon Hausmann.
91352
91353         [Qt] Fix the error code for media resource failures when using QtMobility
91354         https://bugs.webkit.org/show_bug.cgi?id=55901
91355
91356         To indicate the media resource failures, set the network state to
91357         MediaPlayer::FormatError when receives QMediaPlayer::InvalidMedia or
91358         QMediaPlayer::ResourceError.
91359
91360         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
91361         (WebCore::MediaPlayerPrivateQt::updateStates):
91362
91363 2011-06-07  Emil A Eklund  <eae@chromium.org>
91364
91365         Reviewed by Eric Seidel.
91366
91367         Change RenderBlock::hitTestFloats to IntPoint
91368         https://bugs.webkit.org/show_bug.cgi?id=62176
91369
91370         Covered by existing tests.
91371
91372         * rendering/RenderBlock.cpp:
91373         (WebCore::RenderBlock::nodeAtPoint):
91374         (WebCore::RenderBlock::hitTestFloats):
91375         (WebCore::RenderBlock::hitTestColumns):
91376         * rendering/RenderBlock.h:
91377
91378 2011-06-07  Tim Horton  <timothy_horton@apple.com>
91379
91380         Reviewed by Alexey Proskuryakov.
91381
91382         Use correct CFURLStorageSessionRef definition on Snow Leopard
91383         https://bugs.webkit.org/show_bug.cgi?id=62223
91384
91385         * platform/mac/WebCoreSystemInterface.h:
91386         * platform/network/ResourceHandle.h:
91387         * platform/network/cf/ResourceRequest.h:
91388
91389 2011-06-07  Emil A Eklund  <eae@chromium.org>
91390
91391         Reviewed by Eric Seidel.
91392
91393         Change RenderBlock::hitTestColumns to IntPoint
91394         https://bugs.webkit.org/show_bug.cgi?id=62172
91395
91396         Covered by existing tests.
91397
91398         * rendering/RenderBlock.cpp:
91399         (WebCore::RenderBlock::nodeAtPoint):
91400         (WebCore::RenderBlock::hitTestColumns):
91401         * rendering/RenderBlock.h:
91402
91403 2011-06-07  Simon Fraser  <simon.fraser@apple.com>
91404
91405         Reviewed by Darin Adler.
91406
91407         Opacity transition doesn't work while content property is set.
91408         https://bugs.webkit.org/show_bug.cgi?id=59301
91409         
91410         StyleRareNonInheritedData's copy constructor omitted to copy
91411         the m_content data, which caused us to detach and re-attach the renderer
91412         at the start of the transition, thereby killing the transition.
91413         
91414         Fix by making StyleRareNonInheritedData's copy ctor do the right thing.
91415
91416         Test: transitions/transition-on-element-with-content.html
91417
91418         * rendering/style/ContentData.h:
91419         * rendering/style/ContentData.cpp:
91420         (WebCore::ContentData::clone): New method to do a deep clone. (Can't use a copy
91421         ctor because of the subclasses.)
91422         * rendering/style/CounterDirectives.h: Pack the data members to save space.
91423         Add a clone() function for the HashMap.
91424         * rendering/style/CounterDirectives.cpp:
91425         (WebCore::clone): Make a new HashMap and copy the contents over.
91426         * rendering/style/StyleRareNonInheritedData.cpp:
91427         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Copy
91428         the content and counter directives over.
91429         (WebCore::StyleRareNonInheritedData::operator==): Rather than just comparing
91430         for pointer equality, do a correct check for m_counterDirectives equality.
91431         (WebCore::StyleRareNonInheritedData::counterDataEquivalent):
91432         * rendering/style/StyleRareNonInheritedData.h:
91433
91434 2011-06-07  Robert Kroeger  <rjkroege@chromium.org>
91435
91436         Reviewed by Adam Barth.
91437
91438         [chromium] Add a basic gesture recognizer to the Chromium platform
91439         https://bugs.webkit.org/show_bug.cgi?id=54417
91440
91441         Adds a basic gesture recognizer to the Chromium platform. Adds an entry
91442         point to the GestureRecognizer to reset any internal state on a page reset.
91443         Resetting the gesture recognizer on page load is necesary for reliable
91444         layout test execution and improves gesture recognizer operational
91445         robustness.
91446
91447         Added an additional constructor to permit building a synthetic
91448         PlatformWheelEvent.
91449
91450         Small modifications to the PlatformGestureRecognizer as required to
91451         implement the simple Chromium platform gesture recognizer.
91452
91453         Tests: fast/events/touch/touch-gesture-click.html
91454
91455         * WebCore.gypi:
91456         * page/EventHandler.cpp:
91457         (WebCore::EventHandler::resetGestureRecognizer):
91458         * page/EventHandler.h:
91459         * page/FrameView.cpp:
91460         (WebCore::FrameView::reset):
91461         * platform/PlatformGestureRecognizer.h:
91462         * platform/PlatformWheelEvent.h:
91463         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
91464         * platform/chromium/GestureRecognizerChromium.cpp: Added.
91465         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
91466         (WebCore::InnerGestureRecognizer::reset):
91467         (WebCore::InnerGestureRecognizer::~InnerGestureRecognizer):
91468         (WebCore::InnerGestureRecognizer::addEdgeFunction):
91469         (WebCore::InnerGestureRecognizer::isInClickTimeWindow):
91470         (WebCore::InnerGestureRecognizer::isInsideManhattanSquare):
91471         (WebCore::InnerGestureRecognizer::dispatchSyntheticClick):
91472         (WebCore::InnerGestureRecognizer::processTouchEventForGesture):
91473         (WebCore::InnerGestureRecognizer::scrollViaTouchMotion):
91474         (WebCore::InnerGestureRecognizer::updateValues):
91475         (WebCore::InnerGestureRecognizer::signature):
91476         (WebCore::touchDown):
91477         (WebCore::noGesture):
91478         (WebCore::click):
91479         (WebCore::isClickOrScroll):
91480         (WebCore::inScroll):
91481         (WebCore::PlatformGestureRecognizer::create):
91482         (WebCore::PlatformGestureRecognizer::PlatformGestureRecognizer):
91483         (WebCore::PlatformGestureRecognizer::~PlatformGestureRecognizer):
91484         (WebCore::GestureRecognizerChromium::GestureRecognizerChromium):
91485         (WebCore::GestureRecognizerChromium::~GestureRecognizerChromium):
91486         * platform/chromium/GestureRecognizerChromium.h: Added.
91487         (WebCore::InnerGestureRecognizer::setState):
91488         (WebCore::InnerGestureRecognizer::state):
91489         (WebCore::GestureRecognizerChromium::reset):
91490         (WebCore::GestureRecognizerChromium::processTouchEventForGesture):
91491
91492 2011-06-07  No'am Rosenthal  <noam.rosenthal@nokia.com>
91493
91494         Reviewed by Andreas Kling.
91495
91496         [Texmap][Qt] Enable TextureMapper by default
91497         https://bugs.webkit.org/show_bug.cgi?id=61740
91498
91499         Enable TextureMapper on Windows+Symbian, disabling the direct OpenGL path. This would mean that
91500         for now QtWebKit on Windows/Symbian would use the Qt backend for TextureMapper.
91501
91502         No new functionality so no new tests.
91503
91504         * WebCore.pri:
91505         * WebCore.pro:
91506         * platform/graphics/qt/GraphicsContext3DQt.cpp:
91507         * platform/graphics/qt/TextureMapperQt.cpp:
91508         (WebCore::TextureMapper::create):
91509
91510 2011-06-07  Emil A Eklund  <eae@chromium.org>
91511
91512         Reviewed by Eric Seidel.
91513
91514         Convert RenderBox::absoluteRects to IntPoint
91515         https://bugs.webkit.org/show_bug.cgi?id=62130
91516
91517         Covered by existing tests.
91518
91519         * dom/Node.cpp:
91520         (WebCore::Node::hasNonEmptyBoundingBox):
91521         * rendering/InlineBox.h:
91522         (WebCore::InlineBox::size):
91523         * rendering/RenderBlock.cpp:
91524         (WebCore::RenderBlock::absoluteRects):
91525         * rendering/RenderBlock.h:
91526         * rendering/RenderBox.cpp:
91527         (WebCore::RenderBox::absoluteRects):
91528         * rendering/RenderBox.h:
91529         * rendering/RenderInline.cpp:
91530         (WebCore::RenderInline::absoluteRects):
91531         * rendering/RenderInline.h:
91532         * rendering/RenderObject.cpp:
91533         (WebCore::RenderObject::absoluteBoundingBoxRect):
91534         * rendering/RenderObject.h:
91535         (WebCore::RenderObject::absoluteRects):
91536         * rendering/RenderText.cpp:
91537         (WebCore::RenderText::absoluteRects):
91538         * rendering/RenderText.h:
91539         * rendering/RenderView.cpp:
91540         (WebCore::RenderView::absoluteRects):
91541         * rendering/RenderView.h:
91542         * rendering/svg/RenderSVGBlock.cpp:
91543         (WebCore::RenderSVGBlock::absoluteRects):
91544         * rendering/svg/RenderSVGBlock.h:
91545         * rendering/svg/RenderSVGModelObject.cpp:
91546         (WebCore::RenderSVGModelObject::absoluteRects):
91547         * rendering/svg/RenderSVGModelObject.h:
91548
91549 2011-06-07  Kent Tamura  <tkent@chromium.org>
91550
91551         Reviewed by Andreas Kling.
91552
91553         [Qt] RenderThemeQt::adjustSliderThumbSize() should not refer to the parent style.
91554         https://bugs.webkit.org/show_bug.cgi?id=62207
91555
91556         * css/mediaControlsQt.css: Add comments.
91557         (audio::-webkit-media-controls-timeline):
91558         (video::-webkit-media-controls-timeline):
91559         (audio::-webkit-media-controls-volume-slider):
91560         (video::-webkit-media-controls-volume-slider):
91561         * platform/qt/RenderThemeQt.cpp: Use fixed values to avoid referring to o->parent().
91562         (WebCore::RenderThemeQt::adjustSliderThumbSize):
91563
91564 2011-06-07  Sailesh Agrawal  <sail@chromium.org>
91565
91566         Reviewed by Mihai Parparita.
91567
91568         Chromium Mac: Fork ScrollAnimatorMac to ScrollAnimatorChromiumMac for overlay scrollbar support
91569         https://bugs.webkit.org/show_bug.cgi?id=59753
91570
91571         No new tests. Just forking ScrollAnimatorMac to ScrollAnimatorChromiumMac.
91572
91573         * WebCore.gyp/WebCore.gyp: Added IntPointMac.mm. This is used by some functions in ScrollAnimatorChromiumMac. Also added filters for conflicting class names in ScrollAnimatorChromiumMac.
91574         * WebCore.gypi: Added ScrollAnimatorChromiumMac.h/mm.
91575         * platform/ScrollAnimator.cpp: Extended the #ifdef around ScrollAnimator::create() so that the chromium version will be created.
91576         * platform/chromium/ScrollAnimatorChromiumMac.h: Added.
91577         (WebCore::ScrollAnimatorChromiumMac::setIsDrawingIntoLayer):
91578         (WebCore::ScrollAnimatorChromiumMac::isDrawingIntoLayer):
91579         (WebCore::ScrollAnimatorChromiumMac::haveScrolledSincePageLoad):
91580         * platform/chromium/ScrollAnimatorChromiumMac.mm: Added. Forked from ScrollAnimatorMac and replaced all instances of ScrollAnimatorMac with ScrollAnimatorChromiumMac and ScrollbarThemeMac with ScrollbarThemeChromiumMac. Removed the ENABLE(SMOOTH_SCROLLING) around the file. Stubbed out ScrollAnimatorChromiumMac::scroll() if smooth scrolling is disabled.
91581         (abs):
91582         (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
91583         (-[ScrollAnimationHelperDelegate scrollAnimatorDestroyed]):
91584         (-[ScrollAnimationHelperDelegate bounds]):
91585         (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
91586         (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
91587         (-[ScrollAnimationHelperDelegate convertSizeToBase:]):
91588         (-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
91589         (-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
91590         (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
91591         (-[ScrollAnimationHelperDelegate superview]):
91592         (-[ScrollAnimationHelperDelegate documentView]):
91593         (-[ScrollAnimationHelperDelegate window]):
91594         (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
91595         (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
91596         (-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]):
91597         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
91598         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
91599         (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
91600         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
91601         (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
91602         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
91603         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
91604         (-[ScrollbarPartAnimation setCurrentProgress:]):
91605         (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
91606         (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
91607         (-[ScrollbarPainterDelegate cancelAnimations]):
91608         (-[ScrollbarPainterDelegate convertRectToBacking:]):
91609         (-[ScrollbarPainterDelegate convertRectFromBacking:]):
91610         (-[ScrollbarPainterDelegate layer]):
91611         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
91612         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
91613         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
91614         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
91615         (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
91616         (WebCore::ScrollAnimator::create):
91617         (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
91618         (WebCore::ScrollAnimatorChromiumMac::~ScrollAnimatorChromiumMac):
91619         (WebCore::ScrollAnimatorChromiumMac::scroll):
91620         (WebCore::ScrollAnimatorChromiumMac::scrollToOffsetWithoutAnimation):
91621         (WebCore::ScrollAnimatorChromiumMac::adjustScrollXPositionIfNecessary):
91622         (WebCore::ScrollAnimatorChromiumMac::adjustScrollYPositionIfNecessary):
91623         (WebCore::ScrollAnimatorChromiumMac::adjustScrollPositionIfNecessary):
91624         (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
91625         (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaX):
91626         (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaY):
91627         (WebCore::ScrollAnimatorChromiumMac::notityPositionChanged):
91628         (WebCore::ScrollAnimatorChromiumMac::contentAreaWillPaint):
91629         (WebCore::ScrollAnimatorChromiumMac::mouseEnteredContentArea):
91630         (WebCore::ScrollAnimatorChromiumMac::mouseExitedContentArea):
91631         (WebCore::ScrollAnimatorChromiumMac::mouseMovedInContentArea):
91632         (WebCore::ScrollAnimatorChromiumMac::willStartLiveResize):
91633         (WebCore::ScrollAnimatorChromiumMac::contentsResized):
91634         (WebCore::ScrollAnimatorChromiumMac::willEndLiveResize):
91635         (WebCore::ScrollAnimatorChromiumMac::contentAreaDidShow):
91636         (WebCore::ScrollAnimatorChromiumMac::contentAreaDidHide):
91637         (WebCore::ScrollAnimatorChromiumMac::didBeginScrollGesture):
91638         (WebCore::ScrollAnimatorChromiumMac::didEndScrollGesture):
91639         (WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
91640         (WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
91641         (WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
91642         (WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
91643         (WebCore::ScrollAnimatorChromiumMac::cancelAnimations):
91644         (WebCore::elasticDeltaForTimeDelta):
91645         (WebCore::elasticDeltaForReboundDelta):
91646         (WebCore::reboundDeltaForElasticDelta):
91647         (WebCore::scrollWheelMultiplier):
91648         (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
91649         (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
91650         (WebCore::ScrollAnimatorChromiumMac::pinnedInDirection):
91651         (WebCore::ScrollAnimatorChromiumMac::allowsVerticalStretching):
91652         (WebCore::ScrollAnimatorChromiumMac::allowsHorizontalStretching):
91653         (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
91654         (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
91655         (WebCore::ScrollAnimatorChromiumMac::endScrollGesture):
91656         (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
91657         (WebCore::roundTowardZero):
91658         (WebCore::roundToDevicePixelTowardZero):
91659         (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
91660         (WebCore::ScrollAnimatorChromiumMac::startScrollbarPaintTimer):
91661         (WebCore::ScrollAnimatorChromiumMac::scrollbarPaintTimerIsActive):
91662         (WebCore::ScrollAnimatorChromiumMac::stopScrollbarPaintTimer):
91663         (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
91664         (WebCore::ScrollAnimatorChromiumMac::setVisibleScrollerThumbRect):
91665         * platform/graphics/IntPoint.h: Exposed NSPoint conversion routines to chromium mac.
91666
91667 2011-06-07  Sam Weinig  <sam@webkit.org>
91668
91669         Reviewed by Anders Carlsson.
91670
91671         Remove repeated IPC traffic from SetRenderTreeSize message
91672         https://bugs.webkit.org/show_bug.cgi?id=62244
91673
91674         * WebCore.xcodeproj/project.pbxproj:
91675         Make RenderArena.h private so it can be called from WebKit2.
91676
91677         * loader/FrameLoaderClient.h:
91678         (WebCore::FrameLoaderClient::dispatchDidLayout):
91679         Added.
91680
91681         * page/ChromeClient.h:
91682         Remove setRenderTreeSize.
91683
91684         * page/FrameView.cpp:
91685         (WebCore::FrameView::performPostLayoutTasks):
91686         Call dispatchDidLayout for all frames instead of calling setRenderTreeSize
91687         for the main frame.
91688
91689 2011-06-07  Emil A Eklund  <eae@chromium.org>
91690
91691         Reviewed by Eric Seidel.
91692
91693         Change RenderBlock::hitTestContents to IntPoint
91694         https://bugs.webkit.org/show_bug.cgi?id=62170
91695
91696         Covered by existing tests.
91697
91698         * rendering/RenderBlock.cpp:
91699         (WebCore::RenderBlock::nodeAtPoint):
91700         (WebCore::RenderBlock::hitTestColumns):
91701         (WebCore::RenderBlock::hitTestContents):
91702         * rendering/RenderBlock.h:
91703
91704 2011-06-07  Jer Noble  <jer.noble@apple.com>
91705
91706         Reviewed by Eric Carlson.
91707
91708         Video with poster attribute will not display new frames when scrubbing.
91709         https://bugs.webkit.org/show_bug.cgi?id=62036
91710
91711         Remove our "detection" about the end of a scrub now that there is an explicit seek completion
91712         handler available in AVFoundation.  Move what we used to do upon detection in timeChanged()
91713         into seekCompleted().
91714
91715         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
91716         (WebCore::MediaPlayerPrivateAVFoundation::timeChanged): 
91717         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
91718
91719 2011-06-07  James Simonsen  <simonjam@chromium.org>
91720
91721         Unreviewed, build fix, missing files from r88274.
91722
91723         * bindings/v8/ChildThreadDOMData.cpp: Added.
91724         (WebCore::ChildThreadDOMData::ChildThreadDOMData):
91725         (WebCore::ChildThreadDOMData::getStore):
91726         * bindings/v8/ChildThreadDOMData.h: Added.
91727         * bindings/v8/MainThreadDOMData.cpp: Added.
91728         (WebCore::MainThreadDOMData::MainThreadDOMData):
91729         (WebCore::MainThreadDOMData::getCurrent):
91730         (WebCore::MainThreadDOMData::getMainThreadStore):
91731         (WebCore::MainThreadDOMData::getCurrentMainThreadStore):
91732         * bindings/v8/MainThreadDOMData.h: Added.
91733         (WebCore::MainThreadDOMData::getStore):
91734
91735 2011-06-07  Abhishek Arya  <inferno@chromium.org>
91736
91737         Reviewed by Dan Bernstein.
91738
91739         Replicate WidthIterator.cpp fix from r88139.
91740         https://bugs.webkit.org/show_bug.cgi?id=62238
91741
91742         No new tests. Covered by existing layout tests on XP debug bots.
91743
91744         * platform/graphics/win/UniscribeController.cpp:
91745         (WebCore::UniscribeController::advance):
91746
91747 2011-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
91748
91749         Unreviewed, rolling out r88221, r88224, and r88231.
91750         http://trac.webkit.org/changeset/88221
91751         http://trac.webkit.org/changeset/88224
91752         http://trac.webkit.org/changeset/88231
91753         https://bugs.webkit.org/show_bug.cgi?id=62233
91754
91755         assert failure on chromium linux debug (Requested by simonjam
91756         on #webkit).
91757
91758         * WebCore.gypi:
91759         * WebCore.pro:
91760         * bindings/v8/ChildThreadDOMData.cpp: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
91761         (WebCore::ChildThreadDOMData::ChildThreadDOMData):
91762         (WebCore::ChildThreadDOMData::getStore):
91763         * bindings/v8/ChildThreadDOMData.h: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
91764         * bindings/v8/DOMData.cpp:
91765         (WebCore::DOMData::DOMData):
91766         (WebCore::DOMData::getCurrent):
91767         * bindings/v8/DOMData.h:
91768         (WebCore::DOMData::owningThread):
91769         (WebCore::DOMData::handleWeakObject):
91770         * bindings/v8/DOMDataStore.cpp:
91771         (WebCore::DOMDataStore::DOMDataStore):
91772         (WebCore::DOMDataStore::~DOMDataStore):
91773         (WebCore::DOMDataStore::allStoresMutex):
91774         (WebCore::DOMDataStore::weakNodeCallback):
91775         * bindings/v8/DOMDataStore.h:
91776         * bindings/v8/MainThreadDOMData.cpp: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
91777         (WebCore::MainThreadDOMData::MainThreadDOMData):
91778         (WebCore::MainThreadDOMData::getCurrent):
91779         (WebCore::MainThreadDOMData::getMainThreadStore):
91780         (WebCore::MainThreadDOMData::getCurrentMainThreadStore):
91781         * bindings/v8/MainThreadDOMData.h: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
91782         (WebCore::MainThreadDOMData::getStore):
91783         * bindings/v8/V8DOMMap.cpp:
91784         (WebCore::getDOMDataStore):
91785         (WebCore::removeAllDOMObjectsInCurrentThread):
91786         (WebCore::visitDOMNodesInCurrentThread):
91787         (WebCore::visitDOMObjectsInCurrentThread):
91788         (WebCore::visitActiveDOMObjectsInCurrentThread):
91789         (WebCore::visitDOMSVGElementInstancesInCurrentThread):
91790         * bindings/v8/V8DOMMap.h:
91791         * bindings/v8/V8GCController.cpp:
91792         (WebCore::V8GCController::gcPrologue):
91793         (WebCore::V8GCController::gcEpilogue):
91794         * bindings/v8/WorkerScriptController.cpp:
91795         (WebCore::WorkerScriptController::~WorkerScriptController):
91796
91797 2011-06-07  Simon Fraser  <simon.fraser@apple.com>
91798
91799         Reviewed by Dave Hyatt.
91800
91801         Clean up ContentData
91802         https://bugs.webkit.org/show_bug.cgi?id=62185
91803
91804         ContentData did manual ref()/deref() and had a lot of awkward
91805         code from using a union to store data.
91806         
91807         Clean this up by adding ContentData subclasses for different
91808         content types, which are then able to use RefPtr and OwnPtr
91809         as appropriate.
91810
91811         * css/CSSComputedStyleDeclaration.cpp:
91812         (WebCore::contentToCSSValue): Cast to different ContentData types as
91813         appropriate.
91814
91815         * css/CSSStyleSelector.cpp: 
91816         (WebCore::CSSStyleSelector::loadPendingImages): Cast to ImageContentData, and do some
91817         const gyrations.
91818
91819         * html/HTMLBRElement.cpp:
91820         (WebCore::HTMLBRElement::createRenderer): Use hasContent().
91821         * html/HTMLFrameSetElement.cpp:
91822         (WebCore::HTMLFrameSetElement::createRenderer): Ditto
91823         * html/HTMLImageElement.cpp:
91824         (WebCore::HTMLImageElement::createRenderer): Ditto
91825         * rendering/RenderObject.cpp:
91826         (WebCore::RenderObject::createObject): Cast to ImageContentData.
91827         * rendering/RenderObjectChildList.cpp:
91828         (WebCore::RenderObjectChildList::updateBeforeAfterContent): Cast to different ContentData types as
91829         appropriate.
91830
91831         * rendering/style/ContentData.h:
91832         (WebCore::ContentData::~ContentData):
91833         (WebCore::ContentData::isCounter):
91834         (WebCore::ContentData::isImage):
91835         (WebCore::ContentData::isQuote):
91836         (WebCore::ContentData::isText):
91837         (WebCore::ContentData::next):
91838         (WebCore::ContentData::setNext):
91839         (WebCore::ImageContentData::image):
91840         (WebCore::ImageContentData::setImage):
91841         (WebCore::ImageContentData::ImageContentData):
91842         (WebCore::ImageContentData::type):
91843         (WebCore::ImageContentData::isImage):
91844         (WebCore::TextContentData::text):
91845         (WebCore::TextContentData::setText):
91846         (WebCore::TextContentData::TextContentData):
91847         (WebCore::TextContentData::type):
91848         (WebCore::TextContentData::isText):
91849         (WebCore::CounterContentData::counter):
91850         (WebCore::CounterContentData::setCounter):
91851         (WebCore::CounterContentData::CounterContentData):
91852         (WebCore::CounterContentData::type):
91853         (WebCore::CounterContentData::isCounter):
91854         (WebCore::QuoteContentData::quote):
91855         (WebCore::QuoteContentData::setQuote):
91856         (WebCore::QuoteContentData::QuoteContentData):
91857         (WebCore::QuoteContentData::type):
91858         (WebCore::QuoteContentData::isQuote):
91859         Add subclasses for different content types, which are created
91860         via overloaded create() methods on the base class.
91861
91862         * rendering/style/ContentData.cpp:
91863         (WebCore::ContentData::create):
91864         (WebCore::operator==): Test for type equality, followed by comparing data.
91865         (WebCore::operator!=):
91866
91867         * rendering/style/RenderStyle.cpp:
91868         (WebCore::RenderStyle::clearContent):
91869         (WebCore::RenderStyle::appendContent): 
91870         (WebCore::RenderStyle::setContent): Replace the overly complex prepareToSetContent()
91871         code with code that either appends, or replaces the content.
91872         This loses an optimization where the existing ContentData object could get reused,
91873         but this seems to be rarely hit in practice.
91874         * rendering/style/RenderStyle.h:
91875         (WebCore::InheritedFlags::hasContent): Convenience method.
91876         * rendering/style/StyleRareNonInheritedData.cpp:
91877         (WebCore::StyleRareNonInheritedData::contentDataEquivalent): Test
91878         that the pointers are non-null, then use the != operator.
91879         * rendering/style/StyleRareNonInheritedData.h: ContentData is a class now.
91880
91881 2011-06-07  Brian Weinstein  <bweinstein@apple.com>
91882
91883         Build fix after r88260.
91884
91885         * platform/graphics/win/FontCacheWin.cpp:
91886         (WebCore::FontCache::getFontDataForCharacters): Update to use enum instead of bool.
91887         * platform/graphics/wince/FontCacheWinCE.cpp:
91888
91889 2011-06-07  Rob Buis  <rbuis@rim.com>
91890
91891         Reviewed by Dirk Schulze.
91892
91893         stroke-dasharray does not handle "none"
91894         https://bugs.webkit.org/show_bug.cgi?id=62203
91895
91896         Use the initial strokeDashArray style for stroke-dasharray="none" to apply to SVGRenderStyle rather than bailing out.
91897
91898         Tests: svg/W3C-SVG-1.1-SE/styling-css-04-f.svg
91899                svg/custom/invalid-dasharray.svg
91900
91901         * css/SVGCSSStyleSelector.cpp:
91902         (WebCore::CSSStyleSelector::applySVGProperty):
91903
91904 2011-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
91905
91906         Unreviewed, rolling out r88259 and r88263.
91907         http://trac.webkit.org/changeset/88259
91908         http://trac.webkit.org/changeset/88263
91909         https://bugs.webkit.org/show_bug.cgi?id=62228
91910
91911         broke builds (Requested by rniwa on #webkit).
91912
91913         * platform/mac/WebCoreSystemInterface.h:
91914         * platform/network/ResourceHandle.h:
91915         * platform/network/cf/ResourceRequest.h:
91916
91917 2011-06-07  Emil A Eklund  <eae@chromium.org>
91918
91919         Reviewed by Eric Seidel.
91920
91921         Switch ContainerNode to use IntPoint
91922         https://bugs.webkit.org/show_bug.cgi?id=61893
91923
91924         Covered by existing tests.
91925
91926         * dom/ContainerNode.cpp:
91927         (WebCore::ContainerNode::getUpperLeftCorner):
91928         (WebCore::ContainerNode::getLowerRightCorner):
91929         (WebCore::ContainerNode::getRect):
91930         Change to use maxX/maxY instead of x+width/y+height
91931         
91932         * platform/graphics/FloatPoint.h:
91933         (WebCore::FloatPoint::move):
91934         (WebCore::FloatPoint::moveBy):
91935         (WebCore::FloatPoint::expandedTo):
91936         Add move, moveBy and expandedTo mirroring the IntPoint implementation of the same.
91937
91938 2011-06-07  Ryosuke Niwa  <rniwa@webkit.org>
91939
91940         Speculative build fix after r88259.
91941
91942         * platform/network/cf/ResourceRequest.h:
91943
91944 2011-06-07  Michael Saboff  <msaboff@apple.com>
91945
91946         Reviewed by Geoffrey Garen.
91947
91948         Need to enable font cache purging in MemoryPressureHandler
91949         https://bugs.webkit.org/show_bug.cgi?id=62060
91950
91951         Improve memory usage under pressure.
91952         Added call to fontCache()->purgeInactiveFontData() in 
91953         MemoryPressureHandler::respondToMemoryPressure().  Added protection to 
91954         MemoryPressureHandler::install() being called multiple times.
91955
91956         No new tests as funtionality wasn't changed.
91957
91958         * platform/MemoryPressureHandler.cpp:
91959         (WebCore::MemoryPressureHandler::MemoryPressureHandler):
91960         * platform/MemoryPressureHandler.h:
91961         * platform/mac/MemoryPressureHandlerMac.mm:
91962         (WebCore::MemoryPressureHandler::install):
91963         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
91964
91965 2011-06-07  Michael Saboff  <msaboff@apple.com>
91966
91967         Reviewed by Geoffrey Garen.
91968
91969         Fonts returned by FontCache::getFontDataForCharacters() are never released
91970         https://bugs.webkit.org/show_bug.cgi?id=61875
91971
91972         This change allows fonts allocated as system fallback fonts to be 
91973         released.  Previously, the reference counts for these fonts grew 
91974         without bound.  This is implemented as an auto release class that wraps
91975         accesses to the cache for system fallback fonts. All such accesses are
91976         via the method FontCache::getFontDataForCharacters. The new class is
91977         called FontCachePurgePreventer. When such an object exists, it protects
91978         these fonts from deletion.
91979
91980         Most accesses to the font cache still use the reference counting
91981         implemented by FontCache::getCacheFontData() and 
91982         FontCache::releaseFontData() and that operation is not affected by
91983         this change.
91984
91985         Added local scoped instance of FontCachePurgePreventer to wrap code
91986         that directly or indirectly accesses fonts via getFontDataForCharacters.
91987         Did a few other miscellaneous bug fixes and changes to allow system
91988         fallback fonts to be pruned from the GlyphPageTree. Changed the
91989         calls to getFontData in the platform specific versions of
91990         Fontcache::getFontDataForCharacters to not increment the reference
91991         count.  Moved the purge font check
91992         outside of FontCache::getCachedFontData() into a separate method, 
91993         purgeInactiveFontDataIfNeeded() since almost all calls to 
91994         getCachedFontData() now happen when purging is not allowed.
91995         purgeInactiveFontDataIfNeeded is invoked in enablePurging() when
91996         m_purgePreventCount is 0.
91997
91998         No new test as the functionality has not changed. Improved font life
91999         cycle management.
92000
92001         * WebCore.exp.in: Added FontCache::purgeInactiveFontDataIfNeeded().
92002         * html/canvas/CanvasRenderingContext2D.cpp:
92003         (WebCore::CanvasRenderingContext2D::measureText):
92004         (WebCore::CanvasRenderingContext2D::drawTextInternal):
92005         Wrapped code accessing fallback fonts with local 
92006         FontCachePurgePreventer in these methods.
92007
92008         * page/FrameView.cpp:
92009         (WebCore::FrameView::layout):
92010         (WebCore::FrameView::paintContents):
92011         Wrapped code accessing fallback fonts with local 
92012         FontCachePurgePreventer in these methods.
92013
92014         * platform/graphics/FontCache.cpp:
92015         (WebCore::FontCache::FontCache):
92016         (WebCore::FontCache::getCachedFontData):
92017         Moved purge check to new method since it likely can't happen here.
92018         (WebCore::FontCache::releaseFontData):
92019         (WebCore::FontCache::purgeInactiveFontDataIfNeeded):
92020         (WebCore::FontCache::purgeInactiveFontData):
92021         Made purging conditional on m_purgePreventCount.  Now some fonts
92022         in the cache are reference counted while other can be purged 
92023         outside of code wrapped by in scope FontCachePurgePreventer objects.
92024
92025         * platform/graphics/FontCache.h:
92026         (WebCore::FontCache::disablePurging):
92027         (WebCore::FontCache::enablePurging):
92028         (WebCore::FontCachePurgePreventer::FontCachePurgePreventer):
92029         (WebCore::FontCachePurgePreventer::~FontCachePurgePreventer):
92030         Added new simple purge prevention wrapper class and methods
92031         that it calls in FontCache actually prevent purging.  The
92032         simple methods inlined to reduce overhead.
92033
92034         * platform/graphics/FontFastPath.cpp:
92035         (WebCore::Font::glyphDataForCharacter): Update level in 
92036         glyph page tree for system fallback fonts so pruning works.
92037
92038         * platform/graphics/GlyphPage.h:
92039         (WebCore::GlyphPage::clearForFontData): New method used for pruning
92040         * platform/graphics/GlyphPageTreeNode.cpp:
92041         (WebCore::GlyphPageTreeNode::pruneFontData):
92042         Now we prune system fallback fonts.
92043
92044         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
92045         (WebCore::FontCache::getFontDataForCharacters):
92046         * platform/graphics/freetype/FontCacheFreeType.cpp:
92047         (WebCore::FontCache::getFontDataForCharacters):
92048         * platform/graphics/haiku/FontCacheHaiku.cpp:
92049         (WebCore::FontCache::getFontDataForCharacters):
92050         * platform/graphics/mac/FontCacheMac.mm:
92051         (WebCore::FontCache::getFontDataForCharacters):
92052         * platform/graphics/qt/FontCacheQt.cpp:
92053         (WebCore::FontCache::getFontDataForCharacters):
92054         * platform/graphics/win/FontCacheWin.cpp:
92055         (WebCore::FontCache::getFontDataForCharacters):
92056         * platform/graphics/wince/FontCacheWinCE.cpp:
92057         * platform/graphics/wx/FontCacheWx.cpp:
92058         (WebCore::FontCache::getFontDataForCharacters):
92059         Changed the calls to getFontData() to not increment the reference
92060         count. The caller of this getFontDataForCharacters() (currently only
92061         Font::glyphDataForCharacter() in fontFastPath.cpp) and it's callers
92062         don't attempt to release the returned fonts so we use the purge
92063         protection described above.
92064
92065         * rendering/InlineTextBox.cpp:
92066         (WebCore::InlineTextBox::selectionRect):
92067         (WebCore::InlineTextBox::offsetForPosition):
92068         (WebCore::InlineTextBox::positionForOffset):
92069         Wrapped code accessing fallback fonts with local
92070         FontCachePurgePreventer in these methods.
92071
92072         * rendering/RenderImage.cpp:
92073         (WebCore::RenderImage::setImageSizeForAltText):
92074         Wrapped code accessing fallback fonts with local
92075         FontCachePurgePreventer in this method.
92076
92077         * rendering/RenderListBox.cpp:
92078         (WebCore::RenderListBox::updateFromElement):
92079         (WebCore::RenderListBox::paintItemForeground):
92080         Wrapped code accessing fallback fonts with local
92081         FontCachePurgePreventer in these methods
92082
92083         * rendering/svg/SVGInlineTextBox.cpp:
92084         (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
92085         Wrapped code accessing fallback fonts with local
92086         FontCachePurgePreventer in this method.
92087
92088 2011-06-07  Tim Horton  <timothy_horton@apple.com>
92089
92090         Reviewed by Alexey Proskuryakov.
92091
92092         Use correct CFURLStorageSessionRef definition on Snow Leopard
92093         https://bugs.webkit.org/show_bug.cgi?id=62223
92094
92095         * platform/mac/WebCoreSystemInterface.h:
92096         * platform/network/ResourceHandle.h:
92097         * platform/network/cf/ResourceRequest.h:
92098
92099 2011-06-07  Alok Priyadarshi  <alokp@chromium.org>
92100
92101         Reviewed by Stephen White.
92102
92103         [chromium] PlatformContextSkia leaks SkDeviceFactory
92104         https://bugs.webkit.org/show_bug.cgi?id=62163
92105
92106         Valgrind tests should have caught this.
92107
92108         * platform/graphics/skia/PlatformContextSkia.cpp:
92109         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
92110
92111 2011-06-07  Emil A Eklund  <eae@chromium.org>
92112
92113         Reviewed by Eric Seidel.
92114
92115         Convert RenderTextControl::hitInnerTextElement to IntPoint
92116         https://bugs.webkit.org/show_bug.cgi?id=62167
92117
92118         Covered by existing tests.
92119
92120         * rendering/RenderTextControl.cpp:
92121         (WebCore::RenderTextControl::hitInnerTextElement):
92122         * rendering/RenderTextControl.h:
92123         * rendering/RenderTextControlMultiLine.cpp:
92124         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
92125         * rendering/RenderTextControlSingleLine.cpp:
92126         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
92127
92128 2011-06-07  Levi Weintraub  <leviw@chromium.org>
92129
92130         Reviewed by Eric Seidel.
92131
92132         Switch paint to use IntPoint
92133         https://bugs.webkit.org/show_bug.cgi?id=62177
92134
92135         Flipping the switch on the remaining paint functions to have them all
92136         use IntPoint for the paint offset instead of tx/ty.
92137
92138         No new tests since this is just refactoring.
92139
92140         * page/FrameView.cpp:
92141         (WebCore::FrameView::paintScrollCorner):
92142         * rendering/InlineBox.cpp:
92143         (WebCore::InlineBox::paint):
92144         * rendering/RenderBlock.cpp:
92145         (WebCore::RenderBlock::paint):
92146         (WebCore::RenderBlock::paintContents):
92147         (WebCore::RenderBlock::paintChildren):
92148         (WebCore::RenderBlock::paintFloats):
92149         * rendering/RenderBlock.h:
92150         * rendering/RenderBox.cpp:
92151         (WebCore::RenderBox::paint):
92152         * rendering/RenderBox.h:
92153         * rendering/RenderBoxModelObject.cpp:
92154         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
92155         * rendering/RenderDetailsMarker.cpp:
92156         (WebCore::RenderDetailsMarker::paint):
92157         * rendering/RenderDetailsMarker.h:
92158         * rendering/RenderEmbeddedObject.cpp:
92159         (WebCore::RenderEmbeddedObject::paint):
92160         * rendering/RenderEmbeddedObject.h:
92161         * rendering/RenderFrameSet.cpp:
92162         (WebCore::RenderFrameSet::paint):
92163         * rendering/RenderFrameSet.h:
92164         * rendering/RenderImage.cpp:
92165         (WebCore::RenderImage::paint):
92166         * rendering/RenderImage.h:
92167         * rendering/RenderInline.cpp:
92168         (WebCore::RenderInline::paint):
92169         * rendering/RenderInline.h:
92170         * rendering/RenderLayer.cpp:
92171         (WebCore::RenderLayer::paintScrollCorner):
92172         (WebCore::RenderLayer::paintResizer):
92173         (WebCore::RenderLayer::paintLayer):
92174         * rendering/RenderLayerBacking.cpp:
92175         (WebCore::RenderLayerBacking::paintIntoLayer):
92176         * rendering/RenderLineBoxList.cpp:
92177         (WebCore::RenderLineBoxList::paint):
92178         * rendering/RenderLineBoxList.h:
92179         * rendering/RenderListItem.cpp:
92180         (WebCore::RenderListItem::paint):
92181         * rendering/RenderListItem.h:
92182         * rendering/RenderListMarker.cpp:
92183         (WebCore::RenderListMarker::paint):
92184         * rendering/RenderListMarker.h:
92185         * rendering/RenderObject.cpp:
92186         (WebCore::RenderObject::paint):
92187         * rendering/RenderObject.h:
92188         * rendering/RenderReplaced.cpp:
92189         (WebCore::RenderReplaced::paint):
92190         * rendering/RenderReplaced.h:
92191         * rendering/RenderReplica.cpp:
92192         (WebCore::RenderReplica::paint):
92193         * rendering/RenderReplica.h:
92194         * rendering/RenderScrollbar.cpp:
92195         (WebCore::RenderScrollbar::paintPart):
92196         * rendering/RenderScrollbarPart.cpp:
92197         (WebCore::RenderScrollbarPart::paintIntoRect):
92198         * rendering/RenderScrollbarPart.h:
92199         * rendering/RenderTable.cpp:
92200         (WebCore::RenderTable::paint):
92201         (WebCore::RenderTable::paintObject):
92202         * rendering/RenderTable.h:
92203         * rendering/RenderTableCell.cpp:
92204         (WebCore::RenderTableCell::paint):
92205         * rendering/RenderTableCell.h:
92206         * rendering/RenderTableRow.cpp:
92207         (WebCore::RenderTableRow::paint):
92208         * rendering/RenderTableRow.h:
92209         * rendering/RenderTableSection.cpp:
92210         (WebCore::RenderTableSection::paint):
92211         (WebCore::RenderTableSection::paintCell):
92212         * rendering/RenderTableSection.h:
92213         * rendering/RenderText.h:
92214         (WebCore::RenderText::paint):
92215         * rendering/RenderTextControlSingleLine.cpp:
92216         (WebCore::RenderTextControlSingleLine::paint):
92217         * rendering/RenderTextControlSingleLine.h:
92218         * rendering/RenderView.cpp:
92219         (WebCore::RenderView::paint):
92220         * rendering/RenderView.h:
92221         * rendering/RenderWidget.cpp:
92222         (WebCore::RenderWidget::paint):
92223         * rendering/RenderWidget.h:
92224         * rendering/mathml/RenderMathMLBlock.cpp:
92225         (WebCore::RenderMathMLBlock::paint):
92226         * rendering/mathml/RenderMathMLBlock.h:
92227         * rendering/mathml/RenderMathMLFraction.cpp:
92228         (WebCore::RenderMathMLFraction::paint):
92229         * rendering/mathml/RenderMathMLFraction.h:
92230         * rendering/mathml/RenderMathMLRoot.cpp:
92231         (WebCore::RenderMathMLRoot::paint):
92232         * rendering/mathml/RenderMathMLRoot.h:
92233         * rendering/mathml/RenderMathMLSquareRoot.cpp:
92234         (WebCore::RenderMathMLSquareRoot::paint):
92235         * rendering/mathml/RenderMathMLSquareRoot.h:
92236         * rendering/svg/RenderSVGContainer.cpp:
92237         (WebCore::RenderSVGContainer::paint):
92238         * rendering/svg/RenderSVGContainer.h:
92239         * rendering/svg/RenderSVGForeignObject.cpp:
92240         (WebCore::RenderSVGForeignObject::paint):
92241         * rendering/svg/RenderSVGForeignObject.h:
92242         * rendering/svg/RenderSVGHiddenContainer.cpp:
92243         (WebCore::RenderSVGHiddenContainer::paint):
92244         * rendering/svg/RenderSVGHiddenContainer.h:
92245         * rendering/svg/RenderSVGImage.cpp:
92246         (WebCore::RenderSVGImage::paint):
92247         * rendering/svg/RenderSVGImage.h:
92248         * rendering/svg/RenderSVGPath.cpp:
92249         (WebCore::RenderSVGPath::paint):
92250         * rendering/svg/RenderSVGPath.h:
92251         * rendering/svg/RenderSVGResourceMarker.cpp:
92252         (WebCore::RenderSVGResourceMarker::draw):
92253         * rendering/svg/RenderSVGRoot.cpp:
92254         (WebCore::RenderSVGRoot::paint):
92255         * rendering/svg/RenderSVGRoot.h:
92256         * rendering/svg/RenderSVGText.cpp:
92257         (WebCore::RenderSVGText::paint):
92258         * rendering/svg/RenderSVGText.h:
92259         * rendering/svg/SVGImageBufferTools.cpp:
92260         (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
92261
92262 2011-06-07  Young Han Lee  <joybro@company100.net>
92263
92264         Reviewed by Kenneth Rohde Christiansen.
92265
92266         [Texmap][Qt] Accelerated animation is not paused properly.
92267         https://bugs.webkit.org/show_bug.cgi?id=61446
92268
92269         The transform matrix of an accelerated animation shouldn't be synced with the matrix of the GraphicsLayer when the animation is paused.
92270
92271         Test: animations/play-state-paused.html
92272
92273         * platform/graphics/texmap/TextureMapperNode.cpp:
92274         (WebCore::TextureMapperNode::syncCompositingStateSelf):
92275         (WebCore::TextureMapperNode::hasOpacityAnimation):
92276         (WebCore::TextureMapperNode::hasTransformAnimation):
92277         * platform/graphics/texmap/TextureMapperNode.h:
92278
92279 2011-06-07  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
92280
92281         Reviewed by Antonio Gomes.
92282
92283         [EFL] Remove Ecore_X bits from PlatformScreenEfl
92284         https://bugs.webkit.org/show_bug.cgi?id=61649
92285
92286         Remove the need for Ecore_X and some X calls by always using
92287         new functions available in EFL to get the screen size.
92288
92289         No new tests since the same functionality are done inside EFL now.
92290
92291         * platform/efl/PlatformScreenEfl.cpp:
92292         (WebCore::screenRect):
92293
92294 2011-06-07  Carlos Garcia Campos  <cgarcia@igalia.com>
92295
92296         Reviewed by Martin Robinson.
92297
92298         [GTK] Move moduleMixesGtkSymbols() from PluginPackage to PluginView
92299         https://bugs.webkit.org/show_bug.cgi?id=62200
92300
92301         In WebKit2 PluginPackage is used by the UI process to load plugins
92302         in order to get information about them, but it doesn't use any GTK
92303         symbol. So the UI process should be able to load plugins even when
92304         building with GTK3, but we should not allow the plugin view to use
92305         the plugin if it mixes GTK2 and GTK3 symbols.
92306
92307         * plugins/PluginPackage.h:
92308         (WebCore::PluginPackage::module): New method to return the
92309         platform module.
92310         * plugins/gtk/PluginPackageGtk.cpp:
92311         (WebCore::PluginPackage::load): Remove moduleMixesGtkSymbols().
92312         * plugins/gtk/PluginViewGtk.cpp:
92313         (WebCore::PluginView::updatePluginWidget): Check whether plugin
92314         was successfully loaded before trying to create the drawable.
92315         (WebCore::PluginView::paint): Return early if plugin didn't start
92316         or was not successfully loaded.
92317         (WebCore::PluginView::handleKeyboardEvent): Ditto.
92318         (WebCore::PluginView::handleMouseEvent): Ditto.
92319         (WebCore::PluginView::handleFocusInEvent): Ditto.
92320         (WebCore::PluginView::handleFocusOutEvent): Ditto.
92321         (WebCore::moduleMixesGtkSymbols):
92322         (WebCore::PluginView::platformStart): Check whether module is
92323         mixing GTK+ 2 and GTK+ 3 symbols.
92324
92325 2011-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
92326
92327         Unreviewed, rolling out r88238.
92328         http://trac.webkit.org/changeset/88238
92329         https://bugs.webkit.org/show_bug.cgi?id=62216
92330
92331         Broke a couple of inspector tests (Requested by apavlov on
92332         #webkit).
92333
92334         * inspector/front-end/StylesSidebarPane.js:
92335         (WebInspector.StylesSidebarPane.prototype.update):
92336
92337 2011-06-07  Dinu Jacob  <dinu.jacob@nokia.com>
92338
92339         Reviewed by Dimitri Glazkov.
92340
92341         Inform ChromeClient touch events are not needed by the webpage when navigating away from the page instead of in both Document:detach/CachedFrame
92342         https://bugs.webkit.org/show_bug.cgi?id=61543
92343
92344         Inform chrome client that touch events are not needed by the webpage 
92345         when navigating away from the page only once to avoid the flag being 
92346         overwritten later if a page is removed from the page cache
92347
92348         * dom/Document.cpp:
92349         (WebCore::Document::detach):
92350         * history/CachedFrame.cpp:
92351         (WebCore::CachedFrame::CachedFrame):
92352         * loader/FrameLoader.cpp:
92353         (WebCore::FrameLoader::transitionToCommitted):
92354
92355 2011-06-07  Alexander Pavlov  <apavlov@chromium.org>
92356
92357         Reviewed by Yury Semikhatsky.
92358
92359         Web Inspector: node selection is slow in the Elements panel.
92360         https://bugs.webkit.org/show_bug.cgi?id=60813
92361
92362         Schedule full style updates rather than request all node styles from the backend immediately.
92363
92364         * inspector/front-end/StylesSidebarPane.js:
92365         (WebInspector.StylesSidebarPane.prototype.update.reloadAllStyles):
92366         (WebInspector.StylesSidebarPane.prototype.update):
92367
92368 2011-06-07  Yury Semikhatsky  <yurys@chromium.org>
92369
92370         Reviewed by Pavel Feldman.
92371
92372         Web Inspector: remove duplicate breakpoints from localStorage
92373         https://bugs.webkit.org/show_bug.cgi?id=62206
92374
92375         Perform one-time breakpoint storage cleanup to get rid of duplicate breakpoints in
92376         case when settings version is less than 1. 
92377
92378         * inspector/front-end/Settings.js:
92379         (WebInspector.Settings):
92380         (WebInspector.Settings.prototype._set):
92381         (WebInspector.Settings.prototype._migrateSettings.splitObjects):
92382         (WebInspector.Settings.prototype._migrateSettings.removeDuplicateObjects):
92383         (WebInspector.Settings.prototype._migrateSettings):
92384
92385 2011-06-03  Yury Semikhatsky  <yurys@chromium.org>
92386
92387         Reviewed by Pavel Feldman.
92388
92389         [Chromium] Web Inspector: correctly handle disconnect from worker when script execution is paused
92390         https://bugs.webkit.org/show_bug.cgi?id=62019
92391
92392         Dispatch disconnecFrontend message in debugger task mode to make sure
92393         it is processed even if execution is paused.
92394
92395         * bindings/v8/WorkerScriptDebugServer.cpp:
92396         (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
92397         (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
92398         * bindings/v8/WorkerScriptDebugServer.h:
92399
92400 2011-06-07  Felician Marton  <marton.felician.zoltan@stud.u-szeged.hu>
92401
92402         Reviewed by Nikolas Zimmermann.
92403
92404         SVG animation beginElement() does not restart the animation after endElement().
92405         https://bugs.webkit.org/show_bug.cgi?id=43452
92406
92407         Test: svg/animations/animate-endElement-beginElement.html
92408
92409         Calling beginElement() after calling endElement() previously does not restarted the animation when animation
92410         element's end attribute doesn't contains a bigger value than the current animation time.
92411
92412         * svg/animation/SVGSMILElement.cpp:
92413         (WebCore::SVGSMILElement::findInstanceTime):
92414
92415 2011-06-07  Naoki Takano  <takano.naoki@gmail.com>
92416
92417         Reviewed by Kent Tamura.
92418
92419         [Chromium] Click event is not fired for a menulist <select>
92420         https://bugs.webkit.org/show_bug.cgi?id=60563
92421
92422         Tests: SelectItemEventFire, SelectItemKeyEvent, SelectItemRemoveSelectOnChange and SelectItemRemoveSelectOnChange in webkit_unit_tests.
92423
92424         * platform/chromium/PopupMenuChromium.cpp:
92425         (WebCore::PopupContainer::showPopup): Set m_focusedNode from m_frameView.
92426         (WebCore::PopupListBox::handleMouseReleaseEvent): Call dispatchMouseEvent to forward the event only if select popup.
92427         (WebCore::PopupListBox::acceptIndex): Change to return accepted or not.
92428
92429 2011-06-07  Andras Becsi  <abecsi@webkit.org>
92430
92431         Reviewed by Yury Semikhatsky.
92432  
92433         REGRESSION(r88221): "Chromium debug compilation broken".
92434         https://bugs.webkit.org/show_bug.cgi?id=62197
92435
92436         No new tests needed.
92437
92438         * bindings/v8/V8GCController.cpp: Also rename call-sites.
92439         (WebCore::V8GCController::gcPrologue):
92440         (WebCore::V8GCController::gcEpilogue):
92441
92442 2011-06-07  MORITA Hajime  <morrita@google.com>
92443
92444         Unreviewed, rolling out r88212 and r88219.
92445         http://trac.webkit.org/changeset/88212
92446         http://trac.webkit.org/changeset/88219
92447         https://bugs.webkit.org/show_bug.cgi?id=57439
92448
92449         Tests get timeout at Snow Leopard
92450
92451         * css/html.css:
92452         (html:focus, body:focus, input[readonly]:focus):
92453         * rendering/RenderWidget.cpp:
92454         (WebCore::RenderWidget::paint):
92455
92456 2011-06-07  Andras Becsi  <abecsi@webkit.org>
92457
92458         Rubber-stamped by Csaba Osztrogonác.
92459
92460         [Qt][V8] Fix the build after 88221.
92461
92462         No new tests needed.
92463
92464         * WebCore.pro: Remove non-existing files.
92465         * bindings/v8/V8DOMMap.cpp: 
92466         (WebCore::removeAllDOMObjects): Also rename the definition of the function.
92467
92468 2011-06-06  Dmitry Lomov  <dslomov@google.com>
92469
92470         Reviewed by Adam Barth.
92471
92472         https://bugs.webkit.org/show_bug.cgi?id=62164
92473         Remove "multi-threaded" logic in V8 DOMData, DOMDataStore and friends
92474         This functionality is untested and unused:
92475         This is an old code from Lockers-based implementation of WebWorkers in
92476         V8 bindings, to make sure that DOM objects are released on the right thread
92477         even though GC could have happened on any thread. It is currently unused (since
92478         current model is one worker per process) and is being removed because new implementation
92479         of WebWorkers will be using V8 isolates.
92480
92481         * WebCore.gypi:
92482         * bindings/v8/ChildThreadDOMData.cpp: Removed.
92483         * bindings/v8/ChildThreadDOMData.h: Removed.
92484         * bindings/v8/DOMData.cpp:
92485         (WebCore::DOMData::DOMData):
92486         (WebCore::DOMData::getCurrent):
92487         (WebCore::DOMData::getMainThreadStore):
92488         * bindings/v8/DOMData.h:
92489         (WebCore::DOMData::getStore):
92490         (WebCore::DOMData::getCurrentMainThreadStore):
92491         (WebCore::DOMData::handleWeakObject):
92492         * bindings/v8/DOMDataStore.cpp:
92493         (WebCore::DOMDataStore::DOMDataStore):
92494         (WebCore::DOMDataStore::~DOMDataStore):
92495         (WebCore::DOMDataStore::weakNodeCallback):
92496         * bindings/v8/DOMDataStore.h:
92497         * bindings/v8/MainThreadDOMData.cpp: Removed.
92498         * bindings/v8/MainThreadDOMData.h: Removed.
92499         * bindings/v8/V8DOMMap.cpp:
92500         (WebCore::getDOMDataStore):
92501         (WebCore::visitDOMNodes):
92502         (WebCore::visitDOMObjects):
92503         (WebCore::visitActiveDOMObjects):
92504         (WebCore::visitDOMSVGElementInstances):
92505         * bindings/v8/V8DOMMap.h:
92506         * bindings/v8/V8GCController.cpp:
92507         (WebCore::V8GCController::gcPrologue):
92508         (WebCore::V8GCController::gcEpilogue):
92509         * bindings/v8/WorkerScriptController.cpp:
92510         (WebCore::WorkerScriptController::~WorkerScriptController):
92511
92512 2011-06-06  Nico Weber  <thakis@chromium.org>
92513
92514         Reviewed by Adam Barth.
92515
92516         [chromium] Make VideoFrameChromium's destructor virtual
92517         https://bugs.webkit.org/show_bug.cgi?id=62186
92518
92519         This fixes a real bug, since WebMediaPlayerClientImpl::putCurrentFrame
92520         deletes a VideoFrameChromium subclass type through this interface
92521         class, causing ~VideoFrameChromiumImpl's destructor not to run.
92522         (VideoFrameChroimumImpl happens to not have a destructor or any
92523         non-POD member variables, so it's more a latent bug.)
92524
92525         * platform/graphics/chromium/VideoFrameChromium.cpp:
92526         (WebCore::VideoFrameChromium::~VideoFrameChromium):
92527         * platform/graphics/chromium/VideoFrameChromium.h:
92528
92529 2011-06-06  Simon Fraser  <simon.fraser@apple.com>
92530
92531         Reviewed by Sammy Weinig.
92532
92533         Remove some unnecessary includes from AnimationBase.cpp
92534         https://bugs.webkit.org/show_bug.cgi?id=62183
92535
92536         * page/animation/AnimationBase.cpp:
92537
92538 2011-06-06  Kent Tamura  <tkent@chromium.org>
92539
92540         Unreviewed, a crash fix by a roll out.
92541
92542         REGRESSION(r87980): Null pointer dereference in RenderTextControl::setInnerText()
92543         https://bugs.webkit.org/show_bug.cgi?id=62116
92544
92545         Roll out the WebCore part of r87980.
92546
92547         * html/SearchInputType.cpp:
92548         (WebCore::SearchInputType::SearchInputType):
92549         (WebCore::SearchInputType::createShadowSubtree):
92550         (WebCore::SearchInputType::destroyShadowSubtree):
92551         * html/SearchInputType.h:
92552         (WebCore::SearchInputType::innerBlockElement):
92553         (WebCore::SearchInputType::resultsButtonElement):
92554         (WebCore::SearchInputType::cancelButtonElement):
92555         * html/TextFieldInputType.cpp:
92556         (WebCore::TextFieldInputType::TextFieldInputType):
92557         (WebCore::TextFieldInputType::createShadowSubtree):
92558         (WebCore::TextFieldInputType::destroyShadowSubtree):
92559         * html/TextFieldInputType.h:
92560         (WebCore::TextFieldInputType::innerTextElement):
92561         (WebCore::TextFieldInputType::innerSpinButtonElement):
92562         (WebCore::TextFieldInputType::speechButtonElement):
92563         (WebCore::TextFieldInputType::setInnerTextElement):
92564         (WebCore::TextFieldInputType::setSpeechButtonElement):
92565         * html/shadow/TextControlInnerElements.cpp:
92566         * html/shadow/TextControlInnerElements.h:
92567
92568 2011-06-06  No'am Rosenthal  <noam.rosenthal@nokia.com>
92569
92570         Reviewed by Simon Fraser.
92571
92572         Allow copying of KeyframeValueList.
92573         https://bugs.webkit.org/show_bug.cgi?id=62171
92574
92575         Make a deep copy of KeyframeValueList, copying each of the keyframes with a virtual clone() function.
92576
92577         No new functionality so no new tests.
92578
92579         * platform/graphics/GraphicsLayer.h:
92580         (WebCore::FloatAnimationValue::clone):
92581         (WebCore::TransformAnimationValue::TransformAnimationValue):
92582         (WebCore::TransformAnimationValue::clone):
92583         (WebCore::TransformAnimationValue::value):
92584         (WebCore::KeyframeValueList::KeyframeValueList):
92585
92586 2011-06-06  Simon Fraser  <simon.fraser@apple.com>
92587
92588         Reviewed by Dan Bernstein.
92589
92590         Incorrect rounding of color values during transitions
92591         https://bugs.webkit.org/show_bug.cgi?id=62141
92592         
92593         When blending integers, round to the nearest integer, instead of always rounding down.
92594
92595         Test: transitions/color-transition-rounding.html
92596
92597         * page/animation/AnimationBase.cpp:
92598         (WebCore::blendFunc):
92599
92600 2011-06-06  Sheriff Bot  <webkit.review.bot@gmail.com>
92601
92602         Unreviewed, rolling out r88202.
92603         http://trac.webkit.org/changeset/88202
92604         https://bugs.webkit.org/show_bug.cgi?id=62182
92605
92606         This broke the mac clang bot (Requested by koz__ on #webkit).
92607
92608         * dom/Node.cpp:
92609         (WebCore::Node::hasNonEmptyBoundingBox):
92610         * rendering/InlineBox.h:
92611         * rendering/RenderBlock.cpp:
92612         (WebCore::RenderBlock::absoluteRects):
92613         * rendering/RenderBlock.h:
92614         * rendering/RenderBox.cpp:
92615         (WebCore::RenderBox::absoluteRects):
92616         * rendering/RenderBox.h:
92617         * rendering/RenderInline.cpp:
92618         (WebCore::RenderInline::absoluteRects):
92619         * rendering/RenderInline.h:
92620         * rendering/RenderObject.cpp:
92621         (WebCore::RenderObject::absoluteBoundingBoxRect):
92622         * rendering/RenderObject.h:
92623         (WebCore::RenderObject::absoluteRects):
92624         * rendering/RenderText.cpp:
92625         (WebCore::RenderText::absoluteRects):
92626         * rendering/RenderText.h:
92627         * rendering/RenderView.cpp:
92628         (WebCore::RenderView::absoluteRects):
92629         * rendering/RenderView.h:
92630
92631 2011-06-06  Noel Gordon  <noel.gordon@gmail.com>
92632
92633         Reviewed by Hajime Morita.
92634
92635         Draw CSS outline style for render widgets: iframe, embed, object, applet.
92636         https://bugs.webkit.org/show_bug.cgi?id=57439
92637
92638         Draw CSS outlines for render widgets: iframe, embed, object, applet. These elements can
92639         be focused (via clicks or tabIndex) but should not have a visible focus ring by default.
92640
92641         Tests: fast/replaced/no-focus-ring-embed-1.html
92642                fast/replaced/no-focus-ring-embed-2.html
92643                fast/replaced/no-focus-ring-iframe.html
92644                fast/replaced/no-focus-ring-object-1.html
92645                fast/replaced/no-focus-ring-object-2.html
92646                fast/replaced/outline-replaced-elements.html
92647
92648         * css/html.css:
92649         (applet:focus, embed:focus, iframe:focus, object:focus):  Default to no focus ring.
92650         * rendering/RenderWidget.cpp:
92651         (WebCore::RenderWidget::paint): Paint the render widget CSS outline style.
92652
92653 2011-06-06  MORITA Hajime  <morrita@google.com>
92654
92655         Reviewed by Kent Tamura.
92656
92657         Assertion fails in TextCheckingHelper by right-clicking on <input type=search>
92658         https://bugs.webkit.org/show_bug.cgi?id=61991
92659
92660         Added a guard bofore TextCheckingHelper construction sites.
92661
92662         Test: editing/spelling/spellcheck-input-search-crash.html
92663
92664         * editing/Editor.cpp:
92665         (WebCore::Editor::isSelectionUngrammatical):
92666         (WebCore::Editor::guessesForUngrammaticalSelection):
92667         (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
92668
92669 2011-06-06  Emil A Eklund  <eae@chromium.org>
92670
92671         Reviewed by Eric Seidel.
92672
92673         Update RenderBlock::paint to use IntPoint internally
92674         https://bugs.webkit.org/show_bug.cgi?id=62140
92675
92676         Covered by existing tests.
92677
92678         * rendering/RenderBlock.cpp:
92679         (WebCore::RenderBlock::paint):
92680
92681 2011-06-06  Emil A Eklund  <eae@chromium.org>
92682
92683         Reviewed by Eric Seidel.
92684
92685         Convert RenderBox::absoluteRects to IntPoint
92686         https://bugs.webkit.org/show_bug.cgi?id=62130
92687
92688         Covered by existing tests.
92689
92690         * dom/Node.cpp:
92691         (WebCore::Node::hasNonEmptyBoundingBox):
92692         * rendering/RenderBlock.cpp:
92693         (WebCore::RenderBlock::absoluteRects):
92694         * rendering/RenderBlock.h:
92695         * rendering/RenderBox.cpp:
92696         (WebCore::RenderBox::absoluteRects):
92697         * rendering/RenderBox.h:
92698         * rendering/RenderInline.cpp:
92699         (WebCore::RenderInline::absoluteRects):
92700         * rendering/RenderInline.h:
92701         * rendering/RenderObject.cpp:
92702         (WebCore::RenderObject::absoluteBoundingBoxRect):
92703         * rendering/RenderObject.h:
92704         (WebCore::RenderObject::absoluteRects):
92705         * rendering/RenderText.cpp:
92706         (WebCore::RenderText::absoluteRects):
92707         * rendering/RenderText.h:
92708         * rendering/RenderView.cpp:
92709         (WebCore::RenderView::absoluteRects):
92710         * rendering/RenderView.h:
92711
92712 2011-06-06  Levi Weintraub  <leviw@chromium.org>
92713
92714         Reviewed by Eric Seidel.
92715
92716         Switch shouldPaint to use IntPoint
92717         https://bugs.webkit.org/show_bug.cgi?id=62158
92718
92719         Switching shouldPaint to take an IntPoint representing the paint offset instead
92720         of a pair of ints.
92721
92722         No new tests as this is simple refactoring.
92723
92724         * rendering/RenderReplaced.cpp:
92725         (WebCore::RenderReplaced::paint):
92726         (WebCore::RenderReplaced::shouldPaint):
92727         * rendering/RenderReplaced.h:
92728         * rendering/RenderWidget.cpp:
92729         (WebCore::RenderWidget::paint):
92730
92731 2011-06-06  James Simonsen  <simonjam@chromium.org>
92732
92733         Reviewed by James Robinson.
92734
92735         Add monotonicallyIncreasingTime() to get monotonically increasing time
92736         https://bugs.webkit.org/show_bug.cgi?id=37743
92737
92738         * platform/chromium/SystemTimeChromium.cpp:
92739         (WebCore::monotonicallyIncreasingTime): Add primitive monotonicallyIncreasingTime() which just wraps currentTime().
92740
92741 2011-06-06  Emil A Eklund  <eae@chromium.org>
92742
92743         Reviewed by Eric Seidel.
92744
92745         Convert RenderBox::pushContentsClip to IntPoint
92746         https://bugs.webkit.org/show_bug.cgi?id=62133
92747
92748         Covered by existing tests.
92749
92750         * rendering/RenderBlock.cpp:
92751         (WebCore::Covered by existing tests.RenderBlock::paint):
92752         * rendering/RenderBox.cpp:
92753         (WebCore::RenderBox::pushContentsClip):
92754         * rendering/RenderBox.h:
92755         * rendering/RenderTable.cpp:
92756         (WebCore::RenderTable::paint):
92757         * rendering/RenderTableSection.cpp:
92758         (WebCore::RenderTableSection::paint):
92759
92760 2011-06-06  Levi Weintraub  <leviw@chromium.org>
92761
92762         Reviewed by Eric Seidel.
92763
92764         Switch InlineFlowBox::paintMask to use IntPoint
92765         https://bugs.webkit.org/show_bug.cgi?id=62156
92766
92767         Switching InlineFlowBox::paintMask to take an IntPoint representing the paint
92768         offset instead of a pair of ints.
92769
92770         No new tests as this is simple refactoring.
92771
92772         * rendering/InlineFlowBox.cpp:
92773         (WebCore::InlineFlowBox::paint):
92774         (WebCore::InlineFlowBox::paintMask):
92775         * rendering/InlineFlowBox.h:
92776
92777 2011-06-06  Emil A Eklund  <eae@chromium.org>
92778
92779         Reviewed by Eric Seidel.
92780
92781         Convert hitTest to IntPoint
92782         https://bugs.webkit.org/show_bug.cgi?id=62144
92783
92784         Covered by existing tests.
92785
92786         * rendering/InlineBox.cpp:
92787         (WebCore::InlineBox::nodeAtPoint):
92788         * rendering/RenderBlock.cpp:
92789         (WebCore::RenderBlock::hitTestFloats):
92790         (WebCore::RenderBlock::hitTestContents):
92791         * rendering/RenderInline.cpp:
92792         (WebCore::RenderInline::nodeAtPoint):
92793         * rendering/RenderLayer.cpp:
92794         (WebCore::RenderLayer::hitTestContents):
92795         * rendering/RenderLayer.h:
92796         (WebCore::RenderLayer::renderBoxLocation):
92797         (WebCore::RenderLayer::renderBoxX):
92798         (WebCore::RenderLayer::renderBoxY):
92799         * rendering/RenderLineBoxList.cpp:
92800         (WebCore::RenderLineBoxList::hitTest):
92801         * rendering/RenderLineBoxList.h:
92802         * rendering/RenderObject.cpp:
92803         (WebCore::RenderObject::hitTest):
92804         * rendering/RenderObject.h:
92805
92806 2011-06-06  Levi Weintraub  <leviw@chromium.org>
92807
92808         Reviewed by Eric Seidel.
92809
92810         Switch paintScrollbar to use IntPoint
92811         https://bugs.webkit.org/show_bug.cgi?id=62151
92812
92813         Switching paintScrollbar to use IntPoint instead of a pair of ints.
92814
92815         No new tests since this is simple refactoring.
92816
92817         * rendering/RenderListBox.cpp:
92818         (WebCore::RenderListBox::paintObject):
92819         (WebCore::RenderListBox::paintScrollbar):
92820         * rendering/RenderListBox.h:
92821
92822 2011-06-06  Daniel Cheng  <dcheng@chromium.org>
92823
92824         Reviewed by Tony Chang.
92825
92826         [chromium] Delete dead clipboard code.
92827         https://bugs.webkit.org/show_bug.cgi?id=62113
92828
92829         No new tests since this change only deleted unused code.
92830
92831         * WebCore.gypi:
92832         * platform/chromium/ChromiumDataObjectLegacy.cpp: Removed.
92833         * platform/chromium/ChromiumDataObjectLegacy.h: Removed.
92834         * platform/chromium/ReadableDataObject.cpp: Removed.
92835         * platform/chromium/ReadableDataObject.h: Removed.
92836         * platform/chromium/WritableDataObject.cpp: Removed.
92837         * platform/chromium/WritableDataObject.h: Removed.
92838
92839 2011-06-06  Levi Weintraub  <leviw@chromium.org>
92840
92841         Reviewed by Eric Seidel.
92842
92843         Switch paintOutline, paintContinuationOutlines, and paintOutlineForLine to use IntPoint
92844         https://bugs.webkit.org/show_bug.cgi?id=62137
92845
92846         Switching paintOutline, paintContinuationOutlines, and paintOutlineForLine to take an IntPoint
92847         representing the paint offset instead of a pair of ints.
92848
92849         No new tests as this is simple refactoring.
92850
92851         * rendering/RenderBlock.cpp:
92852         (WebCore::RenderBlock::paintObject):
92853         (WebCore::RenderBlock::paintContinuationOutlines):
92854         * rendering/RenderBlock.h:
92855         * rendering/RenderInline.cpp:
92856         (WebCore::RenderInline::paintOutline):
92857         (WebCore::RenderInline::paintOutlineForLine):
92858         * rendering/RenderInline.h:
92859         * rendering/RenderLineBoxList.cpp:
92860         (WebCore::RenderLineBoxList::paint):
92861
92862 2011-06-06  Emil A Eklund  <eae@chromium.org>
92863
92864         Reviewed by Eric Seidel.
92865
92866         Convert RenderBox::popContentsClip to IntPoint
92867         https://bugs.webkit.org/show_bug.cgi?id=62132
92868
92869         Covered by existing tests.
92870
92871         * rendering/RenderBlock.cpp:
92872         (WebCore::RenderBlock::paint):
92873         * rendering/RenderBox.cpp:
92874         (WebCore::RenderBox::popContentsClip):
92875         * rendering/RenderBox.h:
92876         * rendering/RenderTable.cpp:
92877         (WebCore::RenderTable::paint):
92878         * rendering/RenderTableSection.cpp:
92879         (WebCore::RenderTableSection::paint):
92880
92881 2011-06-06  Levi Weintraub  <leviw@chromium.org>
92882
92883         Reviewed by Eric Seidel.
92884
92885         Remove tx/ty offset from selectionRect
92886         https://bugs.webkit.org/show_bug.cgi?id=62146
92887
92888         Removing unused offset parameters from selectionRect.
92889
92890         No new tests since this is just cleanup.
92891
92892         * rendering/EllipsisBox.cpp:
92893         (WebCore::EllipsisBox::selectionRect):
92894         * rendering/EllipsisBox.h:
92895         * rendering/InlineTextBox.cpp:
92896         (WebCore::InlineTextBox::selectionRect):
92897         * rendering/InlineTextBox.h:
92898         * rendering/RenderText.cpp:
92899         (WebCore::RenderText::absoluteRectsForRange):
92900         (WebCore::ellipsisRectForBox):
92901         (WebCore::RenderText::absoluteQuadsForRange):
92902         (WebCore::RenderText::selectionRectForRepaint):
92903         * rendering/svg/RenderSVGInlineText.cpp:
92904         (WebCore::RenderSVGInlineText::localCaretRect):
92905         * rendering/svg/SVGInlineTextBox.cpp:
92906         (WebCore::SVGInlineTextBox::selectionRect):
92907         * rendering/svg/SVGInlineTextBox.h:
92908
92909 2011-06-06  Paul Kinlan  <paulkinlan@google.com>
92910
92911         Reviewed by Jeremy Orlow.
92912
92913         Let developers call createEvent("PopStateEvent"), previously it wasn't
92914         exposed and threw an exeception. 
92915         https://bugs.webkit.org/show_bug.cgi?id=62099
92916
92917         * WebCore/dom/Document.cpp:
92918         * WebCore/dom/PopStateEvent.cpp:
92919         * WebCore/dom/PopStateEvent.h:
92920
92921 2011-06-03  Levi Weintraub  <leviw@chromium.org>
92922
92923         Reviewed by Eric Seidel.
92924
92925         Switch paintSelection to use IntPoint
92926         https://bugs.webkit.org/show_bug.cgi?id=62059
92927
92928         Switching paintSelection to use an IntPoint to represent the paint offset
92929         instead of a pair of ints.
92930
92931         No new tests since this is simple refactoring.
92932
92933         * rendering/EllipsisBox.cpp:
92934         (WebCore::EllipsisBox::paint):
92935         (WebCore::EllipsisBox::paintSelection):
92936         * rendering/EllipsisBox.h:
92937         * rendering/RenderBlock.cpp:
92938         (WebCore::RenderBlock::paintObject):
92939         (WebCore::RenderBlock::paintSelection):
92940         * rendering/RenderBlock.h:
92941
92942 2011-06-06  Emil A Eklund  <eae@chromium.org>
92943
92944         Reviewed by Eric Seidel.
92945
92946         Convert RenderBox::clipRect to IntPoint
92947         https://bugs.webkit.org/show_bug.cgi?id=62045
92948
92949         Covered by existing tests.
92950
92951         * rendering/RenderBox.cpp:
92952         (WebCore::RenderBox::clipRect):
92953         * rendering/RenderBox.h:
92954         * rendering/RenderLayer.cpp:
92955         (WebCore::RenderLayer::calculateClipRects):
92956         (WebCore::RenderLayer::calculateRects):
92957         (WebCore::RenderLayer::repaintBlockSelectionGaps):
92958         * rendering/RenderLayerBacking.cpp:
92959         (WebCore::clipBox):
92960
92961 2011-06-06  Peter Kasting  <pkasting@google.com>
92962
92963         Reviewed by Antonio Gomes.
92964
92965         Remove unnecessary args from scroll functions.
92966         https://bugs.webkit.org/show_bug.cgi?id=61648
92967
92968         No behavior change, so no tests.
92969
92970         * WebCore.exp.in:
92971         * WebCore.order:
92972         * dom/Element.cpp:
92973         (WebCore::Element::scrollIntoView):
92974         (WebCore::Element::scrollIntoViewIfNeeded):
92975         * editing/FrameSelection.cpp:
92976         (WebCore::FrameSelection::revealSelection):
92977         * page/EventHandler.cpp:
92978         (WebCore::EventHandler::handleMousePressEvent):
92979         * page/FrameView.cpp:
92980         (WebCore::FrameView::scrollToAnchor):
92981         * rendering/RenderBox.cpp:
92982         (WebCore::RenderBox::canBeScrolledAndHasScrollableArea):
92983         (WebCore::RenderBox::canBeProgramaticallyScrolled):
92984         * rendering/RenderBox.h:
92985         * rendering/RenderLayer.cpp:
92986         (WebCore::RenderLayer::scrollRectToVisible):
92987         (WebCore::RenderLayer::autoscroll):
92988         * rendering/RenderLayer.h:
92989         * rendering/RenderListBox.h:
92990         (WebCore::RenderListBox::canBeProgramaticallyScrolled):
92991         * rendering/RenderTextControl.h:
92992         (WebCore::RenderTextControl::canBeProgramaticallyScrolled):
92993
92994 2011-06-06  Levi Weintraub  <leviw@chromium.org>
92995
92996         Reviewed by Eric Seidel.
92997
92998         Switch paintContents, paintColumnContents, paintColumnRules, and paintSelection to use IntPoint
92999         https://bugs.webkit.org/show_bug.cgi?id=62134
93000
93001         Switching paintContents, paintColumnContents, paintColumnRules, and paintSelection to take an
93002         IntPoint representing the paint offset instead of a pair of ints.
93003
93004         No new tests as this simple refactoring.
93005
93006         * rendering/RenderBlock.cpp:
93007         (WebCore::RenderBlock::paintColumnRules):
93008         (WebCore::RenderBlock::paintColumnContents):
93009         (WebCore::RenderBlock::paintContents):
93010         (WebCore::RenderBlock::paintObject):
93011         (WebCore::RenderBlock::paintSelection):
93012         * rendering/RenderBlock.h:
93013
93014 2011-06-06  Yael Aharon  <yael.aharon@nokia.com>
93015
93016         Reviewed by Eric Seidel.
93017
93018         Inline elements are wrapped prematurely with non-zero border, margin or padding.
93019         https://bugs.webkit.org/show_bug.cgi?id=60459
93020
93021         When an inline element has a right border/margin/padding and it has more than one descendant with no siblings,
93022         the width of the right border/margin/padding should be included in line breaking calculation only once,
93023         and not for each descendant.
93024
93025         Test: fast/inline/inline-wrap-with-parent-padding.html
93026
93027         * rendering/RenderBlockLineLayout.cpp:
93028         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
93029
93030 2011-06-06  Shishir Agrawal  <shishir@chromium.org>
93031
93032         Reviewed by Tony Gentilcore.
93033
93034         Add a "prerender" state for page visibility.
93035         https://bugs.webkit.org/show_bug.cgi?id=62062
93036
93037         * page/PageVisibilityState.cpp:
93038         (WebCore::pageVisibilityStateString):
93039         * page/PageVisibilityState.h:
93040
93041 2011-06-06  Cary Clark  <caryclark@google.com>
93042
93043         Reviewed by Eric Seidel.
93044
93045         Fix typo in CachedFont.cpp #define
93046         https://bugs.webkit.org/show_bug.cgi?id=62127
93047
93048         No new tests. The define typo in question is
93049         not yet enabled, so this change has no functional
93050         impact.
93051
93052         * loader/cache/CachedFont.cpp:
93053         change SKIA_MAC_ON_CHROME to SKIA_ON_MAC_CHROME
93054
93055 2011-06-03  Levi Weintraub  <leviw@chromium.org>
93056
93057         Reviewed by Eric Seidel.
93058
93059         Switch paintFloats, paintChildren, and paintEllipsisBoxes to use IntPoint
93060         https://bugs.webkit.org/show_bug.cgi?id=62058
93061
93062         Switching paintFloats, paintChildren, and paintEllipsisBoxes to take IntPoints representing
93063         their paint offsets instead of pairs of ints.
93064
93065         No new tests since this is simple refactoring.
93066
93067         * rendering/RenderBlock.cpp:
93068         (WebCore::RenderBlock::paintColumnContents):
93069         (WebCore::RenderBlock::paintContents):
93070         (WebCore::RenderBlock::paintChildren):
93071         (WebCore::RenderBlock::paintObject):
93072         (WebCore::RenderBlock::paintFloats):
93073         (WebCore::RenderBlock::paintEllipsisBoxes):
93074         * rendering/RenderBlock.h:
93075
93076 2011-06-06  Steve Block  <steveblock@google.com>
93077
93078         Reviewed by Yury Semikhatsky.
93079
93080         Use of ENABLE(INSPECTOR) is inconsistent
93081         https://bugs.webkit.org/show_bug.cgi?id=62118
93082
93083         Correctly guard implementation of ScriptProfiler.
93084
93085         No new tests, build fix only.
93086
93087         * bindings/v8/ScriptProfiler.cpp:
93088         (WebCore::ScriptProfiler::initialize):
93089
93090 2011-06-04  Dominic Cooney  <dominicc@chromium.org>
93091
93092         Reviewed by Dimitri Glazkov.
93093
93094         Add WebCoreTestSupport project.
93095         https://bugs.webkit.org/show_bug.cgi?id=61076
93096
93097         * WebCore.vcproj/WebCoreCommon.vsprops:
93098         * WebCore.vcproj/WebCoreTestSupport.vcproj: Added.
93099         * WebCore.vcproj/copyForwardingHeaders.cmd: Copy WebCoreTestSupport.h.
93100
93101 2011-06-06  Alexandru Chiculita  <achicu@adobe.com>
93102
93103         Reviewed by Kent Tamura.
93104
93105         Add ENABLE_CSS_EXCLUSIONS support for build-webkit script
93106         https://bugs.webkit.org/show_bug.cgi?id=61628
93107
93108         This patch modifies only the build system. Therefore,
93109         there are no new tests.
93110
93111         * Configurations/FeatureDefines.xcconfig:
93112
93113 2011-06-06  Mihnea Ovidenie  <mihnea@adobe.com>
93114
93115         Reviewed by Kent Tamura.
93116
93117         Add ENABLE(CSS_REGIONS) guard for CSS Regions support
93118         https://bugs.webkit.org/show_bug.cgi?id=61631
93119         
93120         This patch modifies only the build system. Therefore,
93121         there are no new tests.
93122
93123         * Configurations/FeatureDefines.xcconfig:
93124
93125 2011-06-03  Hans Wennborg  <hans@chromium.org>
93126
93127         Reviewed by Tony Gentilcore.
93128
93129         IndexedDB: Clean-up function prototypes in IDBLevelDBBackingStore.cpp
93130         https://bugs.webkit.org/show_bug.cgi?id=62013
93131
93132         Clean up the prototypes for cursor open functions by introducing the
93133         CursorOptions struct.
93134
93135         Just clean-up, no new functionality so no new tests.
93136
93137         * storage/IDBLevelDBBackingStore.cpp:
93138         (WebCore::CursorOptions::CursorImplCommon::CursorImplCommon):
93139         (WebCore::CursorOptions::CursorImplCommon::firstSeek):
93140         (WebCore::CursorOptions::CursorImplCommon::continueFunction):
93141         (WebCore::CursorOptions::ObjectStoreCursorImpl::create):
93142         (WebCore::CursorOptions::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
93143         (WebCore::CursorOptions::IndexKeyCursorImpl::create):
93144         (WebCore::CursorOptions::IndexKeyCursorImpl::IndexKeyCursorImpl):
93145         (WebCore::CursorOptions::IndexCursorImpl::create):
93146         (WebCore::CursorOptions::IndexCursorImpl::IndexCursorImpl):
93147         (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
93148         (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
93149         (WebCore::IDBLevelDBBackingStore::openIndexCursor):
93150
93151 2011-06-06  Mustafizur Rahaman  <mustaf.here@gmail.com>
93152
93153         Reviewed by Darin Adler.
93154
93155         Fix LayoutTests/canvas/philip/tests/2d.composite.operation.highlight.html
93156         https://bugs.webkit.org/show_bug.cgi?id=48290
93157         
93158         "highlight" is not a valid globalComposite operation
93159         as per http://www.w3.org/TR/2011/WD-2dcontext-20110525/#compositing
93160         Therefore, removed the option from the source code.
93161         
93162         Tests: No new tests required.
93163         LayoutTests\canvas\philip\tests\2d.composite.operation.highlight.html can be used for testing.
93164
93165         * css/CSSPrimitiveValueMappings.h:
93166         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
93167         (WebCore::CSSPrimitiveValue::operator CompositeOperator):
93168         * platform/graphics/GraphicsTypes.cpp:
93169         * platform/graphics/GraphicsTypes.h:
93170         * platform/graphics/cairo/CairoUtilities.cpp:
93171         (WebCore::toCairoOperator):
93172         * platform/graphics/cg/GraphicsContextCG.cpp:
93173         (WebCore::GraphicsContext::setPlatformCompositeOperation):
93174         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
93175         (WebCore::SharedGraphicsContext3D::applyCompositeOperator):
93176         * platform/graphics/openvg/PainterOpenVG.cpp:
93177         (WebCore::PlatformPainterState::applyBlending):
93178         * platform/graphics/qt/GraphicsContextQt.cpp:
93179         (WebCore::toQtCompositionMode):
93180         * platform/graphics/skia/SkiaUtils.cpp:
93181
93182 2011-06-04  Abhishek Arya  <inferno@chromium.org>
93183
93184         Reviewed by Kent Tamura.
93185
93186         Add some asserts for array boundary checks in TextRun. Fix
93187         an integer issue in linux text controller code.
93188         https://bugs.webkit.org/show_bug.cgi?id=62085
93189
93190         Testing ComplexTextControllerLinux change requires a testcase
93191         > 32 kb which is not feasible. All other changes are tested by
93192         existing layouttests.
93193
93194         * platform/graphics/TextRun.h:
93195         (WebCore::TextRun::operator[]): add assert.
93196         (WebCore::TextRun::data): add assert.
93197         * platform/graphics/WidthIterator.cpp:
93198         (WebCore::WidthIterator::advance): bail early and prevent access
93199         to one byte across the text run boundary.
93200         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
93201         (WebCore::ComplexTextController::getNormalizedTextRun): wrong
93202         int16 vs int comparison.
93203         * rendering/svg/SVGTextRunRenderingContext.cpp:
93204         (WebCore::SVGTextRunWalker::walk): bail early when from and to
93205         is outside the text run boundary. this hit easily after adding
93206         the assert when from = to = end and read in run.data(from). 
93207
93208 2011-06-05  Kent Tamura  <tkent@chromium.org>
93209
93210         Reviewed by Dimitri Glazkov.
93211
93212         Rolling out r84528.
93213         http://trac.webkit.org/changeset/84528
93214         https://bugs.webkit.org/show_bug.cgi?id=62100
93215
93216         It made several problems on elements with new shadow DOM.
93217
93218         * dom/Element.cpp:
93219         (WebCore::Element::copyNonAttributeProperties):
93220
93221 2011-06-05  Igor Oliveira  <igor.oliveira@openbossa.org>
93222
93223         Reviewed by Kenneth Rohde Christiansen.
93224
93225         fast/viewport/viewport-45.html fails in GTK+/Qt
93226         https://bugs.webkit.org/show_bug.cgi?id=47481
93227
93228         computeViewportAttributes does many math operations with float point arithmetic
93229         and in some cases there is loss of precision making tests have incorrect values.
93230
93231         * dom/ViewportArguments.cpp:
93232         (WebCore::computeViewportAttributes):
93233
93234 == Rolled over to ChangeLog-2011-06-04 ==