12011-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
72011-10-19  Adam Barth  <abarth@webkit.org>
8
9        Attempt to fix the Qt build.
10
11        * CodeGenerators.pri:
12
132011-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
432011-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
892011-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
1082011-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
1702011-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
1862011-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
2082011-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
2222011-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
3132011-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
3292011-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
3492011-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
3732011-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
3912011-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
4532011-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
4672011-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
5152011-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
5252011-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
5402011-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
5552011-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
5672011-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
5912011-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
6102011-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
6272011-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
6472011-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
6602011-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
6722011-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
7782011-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
7912011-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
8122011-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
9702011-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
9792011-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
10302011-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
11302011-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
12092011-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
12652011-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
13202011-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
13302011-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
13622011-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
13762011-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
14072011-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
14192011-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
14442011-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
14552011-10-18  Sam Weinig  <sam@webkit.org>
1456
1457        Try to jostle the windows build back to life.
1458
1459        * rendering/HitTestResult.h:
1460
14612011-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
14832011-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
15332011-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
15542011-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
15622011-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
15682011-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
15822011-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
16112011-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
16232011-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
16362011-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
16452011-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
16622011-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
16732011-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
16872011-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
16992011-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
17112011-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
17282011-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
17442011-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
17742011-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
18312011-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
18622011-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
18782011-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
18892011-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
19792011-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
20682011-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
20852011-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
21282011-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
21542011-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
21672011-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
21812011-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
21972011-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
22172011-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
22592011-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
22752011-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
22932011-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
23482011-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
23792011-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
23952011-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
24212011-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
24522011-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
24672011-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
25162011-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
25272011-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
25682011-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
25772011-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
26032011-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
26152011-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
26532011-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
26942011-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
27102011-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
27442011-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
27682011-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
28012011-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
28222011-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
28332011-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
28492011-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
28632011-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
28752011-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
29022011-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
29502011-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
30042011-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
30112011-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
30312011-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
30502011-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
30972011-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
31272011-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
31402011-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
31492011-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
31612011-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
31752011-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
32292011-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
33032011-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
33252011-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
33362011-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
33472011-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
33582011-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
34102011-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
34222011-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
34322011-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
34492011-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
34692011-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
34912011-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
35042011-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
35232011-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
36172011-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
36572011-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
36712011-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
36822011-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
36882011-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
37152011-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
37272011-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
37442011-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
37542011-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
38062011-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
38192011-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
38402011-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
38602011-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
38782011-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
38932011-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
39012011-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
39142011-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
39342011-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
39522011-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
39692011-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
39912011-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
40242011-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
40452011-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
40592011-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
41442011-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
41772011-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
41912011-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
43012011-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
43212011-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
43412011-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
43892011-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
44012011-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
44242011-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
44662011-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
44902011-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
45262011-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
45532011-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
45682011-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
45752011-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
45852011-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
45952011-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
46782011-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
46852011-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
48302011-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
48862011-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
48982011-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
49172011-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
49552011-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
49662011-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
49802011-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
50192011-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
50452011-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
50672011-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
50802011-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
50992011-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
51462011-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
51692011-10-14  Ryosuke Niwa  <rniwa@webkit.org>
5170
5171        Mac build fix after r97497.
5172
5173        * editing/markup.cpp:
5174        (WebCore::isNonTableCellHTMLBlockElement):
5175
51762011-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
52082011-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
52172011-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
52332011-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
52452011-10-14  Beth Dakin  <bdakin@apple.com>
5246
5247        Attempted Leopard build fix.
5248
5249        * platform/graphics/GraphicsContext.cpp:
5250        (WebCore::GraphicsContext::createCompatibleBuffer):
5251
52522011-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
53322011-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
53432011-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
53612011-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
53932011-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
54052011-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
54242011-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
54812011-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
55142011-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
55212011-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
55642011-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
55842011-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
56162011-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
56222011-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
56382011-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
56592011-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
56762011-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
58972011-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
59112011-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
59172011-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
59292011-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
59622011-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
59782011-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
59952011-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
60072011-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
60282011-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
60382011-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
60582011-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
61362011-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
61482011-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
61812011-10-13  Chris Marrin  <cmarrin@apple.com>
6182
6183        Fix Leopard build
6184
6185        Unreviewed.
6186
6187        * platform/graphics/DisplayRefreshMonitor.h: Added.
6188
61892011-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
62532011-10-13  Abhishek Arya  <inferno@chromium.org>
6254
6255        Unreviewed. Qt compile fix.
6256
6257        * css/CSSFontFaceSource.cpp: include Document.h.
6258
62592011-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
62972011-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
63112011-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
63262011-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
63442011-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
63632011-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
63732011-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
64042011-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
64212011-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
64592011-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
64842011-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
65252011-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
65392011-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
65912011-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
66112011-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
66552011-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
67412011-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
68262011-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
68702011-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
68932011-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
69092011-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
69652011-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
69772011-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
70092011-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
70212011-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
70472011-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
70822011-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
71072011-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
71352011-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
71912011-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
72102011-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
72282011-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
72552011-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
73672011-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
73852011-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
73962011-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
74242011-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
74402011-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
74862011-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
75172011-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
75302011-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
75422011-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
75612011-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
76142011-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
76302011-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
76382011-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
76982011-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
77052011-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
77242011-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
77302011-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
78172011-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
78522011-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
78672011-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
78882011-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
79052011-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
79272011-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
79462011-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
79602011-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
79672011-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
79742011-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
80032011-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
80222011-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
80372011-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
80692011-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
81002011-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
81162011-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
81282011-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
81472011-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
81572011-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
81702011-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
81822011-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
81992011-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
82132011-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
82592011-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
82712011-10-11  Alexey Proskuryakov  <ap@apple.com>
8272
8273        Build fix.
8274
8275        * WebCore.exp.in: Export GraphicsContext::clearShadow().
8276
82772011-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
83532011-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
83872011-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
84292011-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
84552011-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
84962011-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
85142011-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
85312011-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
86112011-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
86302011-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
86432011-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
86642011-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
86772011-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
87292011-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
88092011-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
88242011-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
88642011-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
88802011-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
88972011-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
89072011-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
89192011-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
89742011-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
90202011-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
90352011-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
90572011-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
90732011-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
90852011-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
91072011-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
91372011-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
91552011-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
91812011-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
92762011-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
92862011-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
93142011-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
93422011-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
93612011-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
93732011-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
93952011-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
94022011-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
94152011-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
94392011-10-10  Pavel Podivilov  <podivilov@chromium.org>
9440
9441        Unreviewed, attempt to fix chromium mac build after r97034.
9442
9443        * platform/ScrollAnimatorNone.h:
9444
94452011-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
94592011-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
95142011-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
95622011-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
96362011-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
96482011-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
96582011-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
96682011-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
96822011-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
97432011-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
97612011-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
98122011-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
98232011-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
98392011-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
98542011-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
98852011-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
99182011-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
99462011-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
99612011-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
99952011-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
100432011-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
100492011-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
100722011-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
100932011-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
101052011-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
101492011-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
101782011-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
102212011-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
102322011-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
102592011-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
102752011-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
102872011-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
103352011-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
103692011-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
103822011-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
104162011-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
104342011-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
104552011-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
105292011-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
105622011-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
106142011-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
106262011-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
106382011-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
106582011-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
106742011-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
106842011-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
107582011-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
107752011-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
107882011-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
108052011-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
108412011-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
108522011-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
108692011-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
109232011-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
109342011-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
109562011-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
109672011-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
109762011-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
109912011-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
110532011-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
110712011-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
110832011-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
110942011-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
112162011-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
112272011-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
112382011-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
112512011-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
112702011-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
112852011-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
113052011-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
113272011-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
113382011-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
113512011-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
113772011-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
113882011-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
113972011-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
114522011-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
114672011-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
114792011-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
114912011-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
115762011-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
115862011-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
116022011-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
116222011-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
116322011-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
116452011-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
116712011-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
116852011-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
117282011-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
117562011-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
117672011-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
117792011-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
117972011-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
118112011-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
118232011-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
118352011-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
118582011-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
118832011-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
119062011-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
119172011-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
119582011-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
119922011-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
120212011-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
120502011-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
120612011-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
120712011-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
120962011-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
121292011-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
121402011-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
121832011-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
122002011-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
122152011-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
122262011-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
122882011-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
123262011-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
123492011-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
123672011-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
123792011-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
124152011-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
124272011-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
124402011-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
124562011-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
124692011-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
124792011-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
125032011-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
125762011-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
125862011-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
125992011-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
126142011-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
126372011-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
126432011-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
126562011-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
126632011-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
128882011-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
129092011-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
129232011-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
129762011-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
129962011-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
130072011-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
130272011-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
130402011-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
130642011-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
130732011-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
130912011-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
130972011-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
131192011-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
131262011-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
131482011-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
131982011-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
132322011-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
132682011-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
132752011-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
132912011-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
133202011-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
133342011-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
133412011-10-05  Ilya Tikhonovsky  <loislo@chromium.org>
13342
13343        Unreviewed build fix for windows bots after r96679.
13344
13345        * html/NumberInputType.h:
13346
133472011-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
133892011-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
134442011-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
134632011-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
134742011-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
134902011-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
135142011-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
135262011-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
135512011-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
135762011-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
136222011-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
136452011-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
136712011-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
136812011-10-04  Anders Carlsson  <andersca@apple.com>
13682
13683        Ignore the warning about using 'override'.
13684
13685        * WebCore.vcproj/WebCore.vcproj:
13686
136872011-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
136952011-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
137022011-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
137292011-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
137612011-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
137742011-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
137942011-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
138642011-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
138752011-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
138992011-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
139182011-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
139332011-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
139562011-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
139822011-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
139942011-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
140222011-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
140402011-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
140522011-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
140692011-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
141042011-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
141162011-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
141302011-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
141502011-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
141692011-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
142052011-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
142212011-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
142512011-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
144792011-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
144942011-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
145122011-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
145472011-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
145562011-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
145762011-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
146022011-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
146182011-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
146652011-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
146852011-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
147352011-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
147462011-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
147612011-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
147732011-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
148142011-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
148242011-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
148672011-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
148752011-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
149152011-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
149632011-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
149862011-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
149982011-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
150212011-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
150312011-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
150682011-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
150872011-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
151372011-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
151462011-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
151542011-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
151842011-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
152452011-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
152972011-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
153232011-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
153512011-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
153822011-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
153972011-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
154042011-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
154392011-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
154582011-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
155212011-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
155582011-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
155702011-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
156002011-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
156142011-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
156272011-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
156852011-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
157082011-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
157312011-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
157782011-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
158182011-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
158322011-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
158482011-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
158622011-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
158722011-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
158862011-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
159412011-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
159942011-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
160172011-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
160342011-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
160512011-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
160762011-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
160992011-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
161272011-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
161852011-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
161962011-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
162112011-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
162272011-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
162462011-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
162662011-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
162822011-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
163002011-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
163102011-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
163922011-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
164202011-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
164412011-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
164532011-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
164642011-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
164772011-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
164902011-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
165022011-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
165382011-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
165522011-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
165652011-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
165832011-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
165972011-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
166372011-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
166562011-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
166702011-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
166822011-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
166922011-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
168652011-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
168872011-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
169032011-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
169172011-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
169372011-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
169812011-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
170132011-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
170262011-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
170352011-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
170572011-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
170662011-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
170842011-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
171002011-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
171182011-09-29  Adam Barth  <abarth@webkit.org>
17119
17120        Fixenate the build.
17121
17122        * bindings/v8/V8DOMWindowShell.cpp:
17123        (WebCore::V8DOMWindowShell::namedItemAdded):
17124
171252011-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
171632011-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
171722011-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
171932011-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
172042011-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
172162011-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
172452011-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
172922011-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
173132011-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
173442011-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
173662011-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
173822011-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
174222011-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
174562011-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
174732011-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
174992011-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
175112011-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
175272011-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
175592011-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
175802011-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
176012011-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
176132011-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
176232011-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
176492011-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
176672011-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
176932011-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
178222011-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
178412011-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
178582011-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
178702011-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
178832011-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
178942011-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
179082011-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
179252011-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
179452011-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
179572011-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
179732011-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
179852011-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
180072011-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
180192011-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
180362011-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
180522011-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
180632011-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
180802011-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
180912011-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
181122011-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
181252011-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
181512011-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
181602011-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
181702011-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
182022011-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
182142011-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
182312011-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
182462011-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
182632011-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
182802011-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
182932011-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
183082011-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
183482011-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):
184372011-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
184522011-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
184642011-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
185062011-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
185212011-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
186022011-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
186182011-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
186342011-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
186442011-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
187502011-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
188152011-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
188222011-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
188352011-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
188522011-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
188742011-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
188882011-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
189212011-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
189372011-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
189582011-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
189752011-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
189922011-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
190362011-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
191232011-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
192132011-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
192332011-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
192702011-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
192772011-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
192912011-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
193442011-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
193572011-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
193712011-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
193882011-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
194102011-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
194252011-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
194552011-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
194762011-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
195242011-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
195482011-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
195582011-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
195892011-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
196022011-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
196182011-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
196452011-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
196602011-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
196792011-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
197312011-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
197672011-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
197832011-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
198372011-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
198802011-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
198962011-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
199422011-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
199872011-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
200032011-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
200242011-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
200362011-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
200482011-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
200592011-09-26  Ryosuke Niwa  <rniwa@webkit.org>
20060
20061        Leopard build fix.
20062
20063        * testing/Internals.cpp:
20064        (WebCore::Internals::setZoomAnimatorTransform):
20065
200662011-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
200832011-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
201012011-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
201162011-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
201352011-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
201692011-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
201802011-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
202042011-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
202222011-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
202332011-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
202582011-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
203402011-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
204152011-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
204272011-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
204422011-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
204602011-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
204732011-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
205012011-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
205122011-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
205222011-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
205292011-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
205362011-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
205722011-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
205962011-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
206162011-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
206282011-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
206432011-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
206922011-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
207182011-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
207912011-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
208112011-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
208322011-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
208442011-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
208692011-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
209782011-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
209852011-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
211102011-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
211452011-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
211682011-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
211782011-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
211852011-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
212062011-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
212192011-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
212332011-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
212472011-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
212602011-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
212792011-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
212942011-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
213172011-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
213392011-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
213502011-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
213642011-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
213902011-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
214042011-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
214222011-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
214402011-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
214552011-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
214692011-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
215192011-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
215502011-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
216052011-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
217112011-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
217202011-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
217322011-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
217442011-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
217522011-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
217642011-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
217762011-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
217882011-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
218062011-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
218222011-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
218372011-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
218502011-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
218602011-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
218722011-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
218902011-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
219082011-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
219472011-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
219592011-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
219712011-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
219892011-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
220052011-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
220232011-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
220652011-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
220742011-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
220882011-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
221082011-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
221342011-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.
221562011-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
222282011-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
222522011-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
222732011-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
222872011-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
223022011-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
223182011-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
223252011-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
223362011-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
223532011-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
223912011-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
224282011-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
224452011-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
224622011-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
224772011-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
224912011-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
225002011-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
225242011-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
225642011-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
225892011-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
226022011-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
226532011-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
227072011-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
227412011-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
227572011-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
227722011-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
227842011-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
227972011-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
228492011-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
228632011-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
228812011-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
229022011-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
229222011-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
229482011-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
229642011-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
229762011-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
230062011-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
230142011-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
230412011-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
230512011-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
230652011-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
230802011-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
230922011-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
231172011-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
231312011-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
231422011-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
231642011-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
231802011-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
231922011-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
232052011-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
232202011-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
232382011-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
232642011-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
232872011-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
233012011-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
233222011-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
233492011-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
233612011-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
234012011-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
234142011-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
234482011-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
234712011-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
234852011-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
235122011-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
235292011-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
235432011-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
235582011-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
235692011-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
236012011-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
236112011-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
236292011-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
236562011-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
236742011-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
237102011-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
237262011-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
237562011-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
237772011-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
237962011-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
238072011-09-20  Geoffrey Garen  <ggaren@apple.com>
23808
23809        Build fix.
23810
23811        * WebCorePrefix.h: Removed stray text from accidental paste.
23812
238132011-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
238482011-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
238582011-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
238652011-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
238802011-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
238932011-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
239082011-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
239182011-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
239652011-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
239742011-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
240182011-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
240582011-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
240842011-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
241002011-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
241242011-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
241452011-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
241532011-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
241892011-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
242082011-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
242192011-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
242412011-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
242902011-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
243212011-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
243382011-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
243492011-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
243602011-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
243872011-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
244042011-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
244242011-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
244422011-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
244652011-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
244792011-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
245062011-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
245242011-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
245412011-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
245672011-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
246122011-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
246312011-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
246492011-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
247772011-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
248212011-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
248372011-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
248542011-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
248622011-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
248802011-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
248932011-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
249142011-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
249652011-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
249742011-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
249862011-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
249922011-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
249982011-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
250102011-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
250172011-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
250242011-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
250942011-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
251132011-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
251272011-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
251462011-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
251562011-09-17  Jeff Miller  <jeffm@apple.com>
25157
25158        Build fix after r95372.
25159
25160        * dom/DOMAllInOne.cpp: #include "EventListenerMap.cpp"
25161
251622011-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
251782011-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
252072011-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
252832011-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
253062011-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
253222011-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
253402011-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
253662011-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
254132011-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
254272011-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
254412011-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
254562011-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
254822011-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
255032011-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
255422011-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
255702011-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
255852011-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
256052011-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
256162011-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
256512011-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
256642011-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
256922011-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
257042011-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
257202011-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
257292011-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
257502011-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
257712011-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
257852011-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
258102011-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
258272011-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
258372011-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
258772011-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
259112011-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
259312011-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
259432011-09-16  Csaba Osztrogonác  <ossy@webkit.org>
25944
25945        Unreviewed typo fix after r95271.
25946
25947        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
25948
259492011-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
259762011-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
260212011-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
260372011-09-16  Alejandro G. Castro  <alex@igalia.com>
26038
26039        Fix GTK build after r95245.
26040
26041        * GNUmakefile.list.am:
26042
260432011-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
260602011-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
262242011-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
262792011-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
262972011-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
263102011-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
263222011-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
263872011-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
264162011-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
264322011-09-15  Simon Fraser  <simon.fraser@apple.com>
26433
26434        Attempt to fix Windows build after r95243.
26435
26436        * WebCore.vcproj/WebCore.vcproj:
26437
264382011-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
264722011-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
264972011-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
265202011-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
265332011-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
265912011-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
266092011-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
266232011-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
266482011-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
266662011-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
266872011-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
267342011-09-15  Peter Kasting  <pkasting@google.com>
26735
26736        Fix WebCore.gypi after r95130.
26737
26738        Unreviewed, build fix.
26739
26740        * WebCore.gypi:
26741
267422011-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
267562011-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
267692011-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
267842011-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
268132011-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
268232011-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
268372011-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
268902011-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
269032011-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
269122011-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
269382011-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
269642011-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
269782011-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
269932011-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
270022011-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
270282011-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
270602011-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
270732011-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
270862011-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
271462011-09-14  Anders Carlsson  <andersca@apple.com>
27147
27148        Try to fix GTK+ build.
27149        
27150        * GNUmakefile.list.am:
27151
271522011-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
272062011-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
272202011-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
272352011-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
272532011-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
272682011-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
272912011-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
273122011-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
273292011-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
273472011-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
273632011-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
274932011-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
275052011-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
275232011-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
275442011-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
275922011-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
276252011-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
276382011-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
276672011-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
276952011-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
277152011-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
277662011-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
278012011-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
278142011-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
278282011-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
278472011-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
278712011-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
278982011-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
279182011-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
279352011-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
279492011-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
279632011-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
279752011-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
279902011-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
280232011-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
280372011-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
280522011-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
280672011-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
280742011-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
281042011-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
281232011-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
281332011-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
281462011-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
281652011-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
281992011-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
282252011-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
282372011-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
282512011-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
282682011-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
282792011-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
282922011-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
283072011-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
283272011-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
283392011-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
283552011-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
284602011-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
284772011-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
284972011-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
285122011-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
285322011-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
286992011-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
287172011-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
287302011-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
287442011-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
287622011-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
287802011-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
287942011-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
288042011-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
288182011-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
288352011-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
288832011-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
288952011-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
289142011-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
289352011-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
289552011-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
289672011-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
289762011-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
289872011-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
289992011-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
290112011-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
290272011-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
290442011-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
290582011-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
290772011-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
291642011-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
291862011-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
292012011-09-10  Kevin Ollivier  <kevino@theolliviers.com>
29202
29203        [wx] Unreviewed build fix. MSW build fixes.
29204
29205        * config.h:
29206
292072011-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
293392011-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
293472011-09-10  Ryosuke Niwa  <rniwa@webkit.org>
29348
29349        Remove printf added by r94900.
29350
29351        * rendering/RenderLayer.cpp:
29352        (WebCore::RenderLayer::drawPlatformResizerImage):
29353
293542011-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
293802011-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
293932011-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
294202011-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
294692011-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
294782011-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
295252011-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
295482011-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
296232011-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
296372011-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
296542011-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
296802011-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
297372011-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
297512011-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
297852011-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
298002011-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
298272011-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
298412011-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
298602011-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
298762011-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
298992011-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
299792011-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
299942011-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
300092011-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
300212011-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
300382011-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
300712011-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
300932011-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
301262011-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
301392011-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
301512011-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
301612011-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
301732011-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
302062011-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
302212011-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
302352011-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
302492011-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
302902011-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
303052011-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
303182011-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
303632011-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
303752011-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
303962011-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
304102011-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
304242011-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
304382011-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
304472011-09-08  Adam Barth  <abarth@webkit.org>
30448
30449        Second attempt to fix Chromium build.
30450
30451        * dom/Document.h:
30452
304532011-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
304642011-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
304772011-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
305032011-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
305172011-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
305372011-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
305532011-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
305652011-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
305792011-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
305922011-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
306282011-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
306472011-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
306762011-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
306962011-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
307182011-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
307322011-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
307472011-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
307702011-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
308142011-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
309542011-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
309772011-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
309942011-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
310212011-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
310512011-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
310632011-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
310762011-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
310892011-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
311562011-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
311692011-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
312002011-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
312202011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
31221
31222        Windows build fix after r94737.
31223
31224        * rendering/RenderBlock.cpp:
31225        (WebCore::RenderBlock::adjustRectForColumns):
31226
312272011-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
312352011-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
312482011-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
313162011-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
313382011-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
314132011-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
314572011-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
315012011-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
315242011-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
316402011-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
316702011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
31671
31672        Mac build fix after r94694.
31673
31674        * WebCore.xcodeproj/project.pbxproj:
31675
316762011-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
316902011-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
317132011-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
317422011-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
317672011-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
317812011-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
317972011-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
318212011-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
318422011-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
318602011-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
318902011-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
319102011-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
319472011-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
319662011-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
320272011-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
320662011-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
320762011-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
321702011-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
321842011-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
322462011-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
322752011-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
324362011-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
324832011-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
324982011-09-06  Adam Barth  <abarth@webkit.org>
32499
32500        Attempt to fix GTK build.
32501
32502        * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
32503        (WebKit::createHTMLElementWrapper):
32504
325052011-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
325212011-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
326012011-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
326202011-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
326422011-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
326712011-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
327102011-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
327272011-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
327342011-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
327502011-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
328122011-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
328322011-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
328512011-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
329842011-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
330062011-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
330192011-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
330412011-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
330582011-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
330782011-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
330922011-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
331082011-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
331232011-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
331482011-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
331792011-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
332292011-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
332402011-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
332542011-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
332962011-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
333142011-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
333642011-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
333952011-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
334252011-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
334602011-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
334762011-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
334912011-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
335132011-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
335252011-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
335482011-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
335612011-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
335712011-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
335842011-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
335962011-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
336202011-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
336382011-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
336462011-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
336622011-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
336852011-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
337192011-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
337492011-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
337662011-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
337892011-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
338442011-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
338602011-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
338802011-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
338912011-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
339272011-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
339402011-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
339552011-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
339982011-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
340122011-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
340552011-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
340702011-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
341032011-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
341152011-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
341672011-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
342002011-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
342122011-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
342372011-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
342472011-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
342782011-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
343392011-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
343462011-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
345782011-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
345892011-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
346142011-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
346372011-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
346492011-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
346612011-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
348972011-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
349642011-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
349762011-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
349892011-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
350032011-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
350152011-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
350312011-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
350922011-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
351202011-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
351292011-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
351452011-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
351652011-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
351752011-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
351892011-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
352302011-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
352462011-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
352522011-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
352682011-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
352832011-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
352992011-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
353352011-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
353422011-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
353552011-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
353712011-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
353842011-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
353972011-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
354342011-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
354742011-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
354872011-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
355272011-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
355372011-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
355432011-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
355512011-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
356032011-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
356392011-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
356592011-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
356812011-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
357202011-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
357352011-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
357462011-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
357752011-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
359372011-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
359562011-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
359692011-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
359902011-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
360092011-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
360342011-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
360442011-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
360592011-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
360712011-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
360862011-09-01  Philippe Normand  <pnormand@igalia.com>
36087
36088        Unreviewed, GTK build fix after r94299.
36089
36090        * GNUmakefile.list.am:
36091
360922011-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
361142011-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
361362011-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
361542011-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
361692011-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
361792011-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
362142011-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
362282011-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
362422011-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
362582011-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
362742011-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
363012011-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
363082011-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
363232011-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
363392011-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
364592011-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
364702011-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
364842011-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
365172011-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
365282011-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
365522011-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
365672011-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
365812011-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
365962011-09-01  Adam Barth  <abarth@webkit.org>
36597
36598        Attempt to fix Windows build.
36599
36600        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
36601
366022011-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
368022011-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
368472011-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
368592011-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
368802011-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
368982011-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
369102011-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
369242011-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
369372011-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
369642011-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
369752011-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
369922011-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
370322011-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
370472011-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
370652011-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
371042011-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
371162011-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
371312011-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
371532011-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
371732011-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
371872011-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
372022011-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
372222011-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
372422011-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
372522011-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
372632011-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
373022011-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
373192011-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
373482011-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
373622011-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
373732011-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
373862011-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
373972011-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
374082011-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
374182011-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
374312011-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
374382011-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
374492011-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
375422011-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
375772011-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
376012011-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
376222011-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
376752011-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
377002011-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
377592011-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
377722011-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
378002011-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
378572011-08-30  Ryosuke Niwa  <rniwa@webkit.org>
37858
37859        Speculative WinCairo build fix after r94093.
37860
37861        * platform/network/ResourceHandle.h:
37862
378632011-08-30  Ryosuke Niwa  <rniwa@webkit.org>
37864
37865        Mac build fix after r94128.
37866
37867        * WebCore.xcodeproj/project.pbxproj:
37868
378692011-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
378852011-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
379132011-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
379312011-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
379592011-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        
379712011-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
379942011-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
380132011-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
380782011-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
381122011-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
381242011-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
381412011-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
381602011-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
381822011-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
381972011-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
382162011-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
382322011-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
382452011-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
382712011-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
382922011-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
383072011-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
383422011-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
383522011-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
383652011-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
384502011-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
384732011-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    
385252011-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
385452011-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
385572011-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
386112011-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
387872011-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
388062011-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
388212011-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
388312011-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
388412011-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
388642011-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
388802011-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
389022011-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
389152011-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
389332011-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
389392011-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
389842011-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
390012011-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
390112011-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
390582011-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
390762011-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
390942011-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
391202011-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
391332011-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
391462011-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
391632011-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
391792011-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
392032011-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
392202011-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
392442011-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
393072011-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
393192011-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
393342011-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
393622011-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
393762011-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
393912011-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
393982011-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
394122011-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
394282011-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
394342011-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
394512011-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
395102011-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
395752011-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
395922011-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
396042011-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
396252011-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
396382011-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
396982011-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
397102011-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
397272011-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
397382011-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
397492011-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
397612011-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
397742011-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
397822011-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
397962011-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
398102011-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
398522011-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
398632011-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
398942011-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
399112011-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
399232011-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
399422011-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
399542011-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
399852011-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
400072011-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
400342011-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
400442011-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
400572011-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
400862011-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
400982011-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
401282011-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
401382011-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
401862011-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
402082011-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
402192011-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
402262011-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
402422011-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
402582011-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
402962011-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
403092011-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
403242011-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
403562011-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
403712011-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
403882011-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
404032011-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
404292011-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
404502011-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
404602011-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
404892011-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
405002011-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
405112011-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
405362011-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
405432011-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
405612011-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
405962011-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
406282011-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
406412011-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
406542011-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
406652011-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
406722011-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
407012011-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
407332011-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
408012011-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
408202011-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
408412011-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
408842011-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
409152011-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
409282011-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
409762011-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
409902011-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
410322011-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
410522011-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
410642011-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
410792011-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
411142011-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
411512011-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
411662011-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
411962011-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
412082011-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
412312011-08-25  Pavel Feldman  <pfeldman@google.com>
41232
41233        Not reviewed: rollout r93768 for breaking build.
41234
41235        * inspector/DOMNodeHighlighter.cpp:
41236
412372011-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
413092011-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
413212011-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
413602011-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
413792011-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
414172011-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
414312011-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
414482011-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
414862011-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
415012011-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
415152011-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
415262011-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
415372011-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
415502011-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
415602011-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
415782011-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
416052011-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
416222011-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
416372011-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
416502011-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
416652011-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
416842011-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
417182011-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
417302011-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
417542011-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
418182011-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
418492011-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
418732011-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
419272011-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
419432011-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
419542011-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
419732011-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
420072011-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
420242011-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
420402011-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
420612011-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
420742011-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
421202011-08-23  Anders Carlsson  <andersca@apple.com>
42121
42122        Fix build.
42123
42124        * inspector/InstrumentingAgents.cpp:
42125
421262011-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
421532011-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
421712011-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
421892011-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
422102011-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
422212011-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
422522011-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
422652011-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
422772011-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
422892011-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
423002011-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
423142011-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
423302011-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
423772011-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
424002011-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
424142011-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
424322011-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
424722011-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
425342011-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
425752011-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
425852011-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
425922011-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
426292011-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
426382011-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
426912011-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
427032011-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
427262011-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
427382011-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
427552011-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
427802011-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
427932011-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
428032011-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
428352011-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
428752011-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
428812011-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
429032011-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
429632011-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
429862011-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
430012011-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
430162011-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
430282011-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
430662011-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
430842011-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
431132011-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
431302011-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
431492011-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
431672011-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
432092011-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
432292011-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
432472011-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
432732011-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
433022011-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
433202011-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
433302011-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
433462011-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
433922011-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
434032011-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
434162011-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
434462011-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
434562011-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
434752011-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
434932011-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
435122011-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
435212011-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
435362011-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
435522011-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
435842011-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
435962011-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
436072011-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
436482011-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
436552011-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
436692011-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
436842011-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
436972011-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
437122011-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
437282011-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
437442011-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
437612011-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
437742011-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
437872011-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
437962011-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
438102011-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
438702011-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
439002011-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
439312011-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
439672011-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
439842011-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
440102011-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
440222011-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
440372011-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
440692011-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
440852011-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
441122011-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
441322011-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
441512011-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
441982011-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
443072011-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
443142011-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
443242011-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
443652011-08-19  Adam Roben  <aroben@apple.com>
44366
44367        Fix typo
44368
44369        * dom/DOMAllInOne.cpp:
44370
443712011-08-19  Adam Roben  <aroben@apple.com>
44372
44373        Windows build fix after r93385
44374
44375        * dom/DOMAllInOne.cpp: Added EventDispatcMediator.cpp.
44376
443772011-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
443912011-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
444042011-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
444292011-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
444392011-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
444832011-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
445062011-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
445212011-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
445342011-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
445482011-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
445552011-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
445842011-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
446082011-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
446532011-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
446672011-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
446792011-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
447012011-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
447252011-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
447792011-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
447922011-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
448222011-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
448372011-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
448572011-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
448732011-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
449462011-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
449602011-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
449842011-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
450062011-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
450352011-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
451002011-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
451232011-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
451612011-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
451762011-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
451932011-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
452392011-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
452552011-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
452712011-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
452882011-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
453042011-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
453142011-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
453462011-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
453872011-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
453972011-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
454702011-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
454812011-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
454932011-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
455072011-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
455382011-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
455592011-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
456242011-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
456512011-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
456942011-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
457432011-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
457622011-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
457742011-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
457992011-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
458292011-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
458552011-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
458732011-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
459022011-08-18  Csaba Osztrogonác  <ossy@webkit.org>
45903
45904        Unreviewed buildfix after r93268.
45905
45906        * dom/Document.cpp:
45907        (WebCore::disableRangeMutation):
45908
459092011-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
459842011-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
460062011-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
460672011-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
461152011-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
461272011-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
461652011-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
462022011-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
462272011-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
462462011-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
463192011-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
463622011-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
463952011-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
464062011-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
464182011-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
464392011-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
464532011-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
464692011-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
464932011-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
465052011-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
465242011-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
465402011-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
465532011-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
465752011-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
465822011-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
466052011-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
466232011-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
466452011-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
466812011-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
467022011-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
467192011-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
467252011-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
467372011-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
467522011-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
467802011-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
468012011-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
469262011-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
469552011-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
469662011-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
469812011-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
470132011-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
470282011-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
470492011-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
470822011-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
470972011-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
471052011-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
471962011-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
472032011-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
472182011-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
472302011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
47231
47232        Unreviewed Chromium Windows build fix after r93140.
47233
47234        * platform/graphics/FontCache.h:
47235
472362011-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
472492011-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
472662011-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
472922011-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
473372011-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
473652011-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
474372011-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
474592011-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
474762011-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
474862011-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
475022011-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
475382011-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
475582011-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
475862011-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
476042011-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
476182011-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
476382011-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
476472011-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
476602011-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
476992011-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
477242011-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
477372011-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
477592011-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
477762011-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
477862011-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
478052011-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
478162011-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
478502011-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
478662011-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
478762011-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
479092011-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
479592011-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
479792011-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
479962011-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
480172011-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
480442011-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
480972011-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
481152011-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
481732011-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
481892011-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
482042011-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
482232011-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
482372011-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
482762011-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
482932011-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
483232011-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
483382011-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
483592011-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
483952011-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
484112011-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
484202011-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
484262011-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
484332011-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
484432011-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
484562011-08-13  Adam Barth  <abarth@webkit.org>
48457
48458        Fix clang build.
48459
48460        * platform/chromium/PopupMenuChromium.h:
48461
484622011-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
484712011-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
484942011-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
485412011-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
485582011-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
485742011-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
486742011-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
486822011-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
486892011-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
487262011-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
487352011-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
487832011-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
488042011-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
488422011-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
488582011-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
488692011-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
489662011-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
489862011-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
490132011-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
490232011-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
490602011-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
491602011-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
491692011-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
491852011-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
492382011-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
492552011-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
492692011-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
492762011-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
492882011-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
493082011-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
493182011-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
493962011-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
494022011-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
495042011-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
495172011-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
495402011-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
495862011-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
496052011-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
496272011-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
496422011-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
496582011-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
497372011-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
497502011-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
498322011-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
498492011-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
498702011-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
499062011-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
499202011-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
499342011-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
499522011-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
499852011-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
500082011-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
500302011-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
500412011-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
500532011-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
500642011-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
500802011-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
500912011-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
501142011-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
501222011-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
501312011-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
501522011-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
501642011-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
501722011-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
501942011-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
502062011-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
502182011-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
502272011-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
502462011-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
502852011-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
503082011-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
503222011-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
503382011-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
503512011-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
503652011-08-10  David Hyatt  <hyatt@apple.com>
50366
50367        Add missing regions/exclusions-related files to EFL.
50368
50369        * CMakeLists.txt:
50370
503712011-08-10  David Hyatt  <hyatt@apple.com>
50372
50373        Add missing regions/exclusions-related files to Chromium.
50374
50375        * WebCore.gypi:
50376
503772011-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
503832011-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
504572011-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
504682011-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
504792011-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
504992011-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
505162011-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
505312011-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
505492011-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
505692011-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
506012011-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
506132011-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
506312011-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
506552011-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
507102011-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
507422011-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
507542011-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
507802011-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
507962011-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
508162011-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
508522011-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
508672011-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
508792011-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
508982011-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
509142011-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
509332011-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
509712011-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
510242011-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
510662011-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
510812011-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
510952011-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
511172011-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
512092011-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
512412011-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
512822011-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
513082011-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
513242011-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
513522011-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
513662011-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
513802011-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
514012011-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
514352011-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
514452011-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
514732011-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
514942011-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
515082011-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
515372011-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
515632011-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
516032011-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
516232011-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
516312011-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
516652011-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
516992011-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
517202011-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
517402011-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
517602011-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
517722011-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
518012011-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
518162011-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
518752011-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
519052011-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
519262011-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
519582011-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
519962011-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
520102011-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
520332011-08-08  Anders Carlsson  <andersca@apple.com>
52034
52035        Fix build.
52036
52037        * platform/PODRedBlackTree.h:
52038        (WebCore::PODRedBlackTree::Counter::visit):
52039
520402011-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
521322011-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
521472011-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
521542011-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
521642011-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
522102011-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
522362011-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
522452011-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
523012011-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
523452011-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
523612011-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
523822011-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
524282011-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
524352011-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
524542011-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
524612011-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
524802011-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
525062011-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
525162011-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
525352011-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
525462011-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
525602011-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
525752011-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
525942011-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
526112011-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
526932011-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
527052011-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
527212011-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
527352011-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
527582011-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
527742011-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
528042011-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
528102011-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
528222011-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
528362011-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
528432011-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
528672011-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
528982011-08-05  Anders Carlsson  <andersca@apple.com>
52899
52900        Fix Chromium build.
52901
52902        * WebCore.gypi:
52903
529042011-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
529432011-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
529542011-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
529812011-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
530422011-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
530522011-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
530592011-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
530782011-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
530892011-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
531242011-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
531332011-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
531442011-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
531542011-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
531652011-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
531792011-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
532392011-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
532502011-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
532562011-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
532682011-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
532822011-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
533042011-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
533282011-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
533362011-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
533872011-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
534002011-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
534172011-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
534372011-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
534892011-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
535162011-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
535682011-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
535792011-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
535862011-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
536342011-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
536682011-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
536772011-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
536982011-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
537112011-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
537292011-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
537412011-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
537902011-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
538362011-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
538522011-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
538632011-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
538782011-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
538922011-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
539192011-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
539302011-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
540642011-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
541042011-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
541102011-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
541192011-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
541432011-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
541652011-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
541782011-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
541972011-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
542152011-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
542332011-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
542762011-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
542922011-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
543062011-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
543212011-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
543852011-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
544212011-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
544432011-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
545372011-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
545482011-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
545622011-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
545922011-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
546082011-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
546262011-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
546652011-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
546812011-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
546892011-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
546972011-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
547112011-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
547342011-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
547452011-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
547792011-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
548222011-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
548352011-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
548462011-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
548572011-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
548712011-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
548832011-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
548942011-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
549072011-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
549222011-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
549282011-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
549532011-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
550772011-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
550962011-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
551182011-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
551322011-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
551452011-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
551582011-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
551862011-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
552002011-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
552332011-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
552472011-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
552682011-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
552842011-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
553102011-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
553462011-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
553592011-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
553712011-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
553832011-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
553932011-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
554062011-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
554322011-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
554662011-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
555312011-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
555482011-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
555692011-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
556522011-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
556812011-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
556982011-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
557092011-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
557202011-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
558672011-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
558872011-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
558982011-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
559092011-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
559252011-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
559472011-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
559752011-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
559982011-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
560662011-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
560832011-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
561002011-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
561162011-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
561332011-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
561492011-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
561662011-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
561922011-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
562052011-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
562432011-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
562542011-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
562632011-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
562822011-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
562922011-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
563222011-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
563342011-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
563462011-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
563552011-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
563702011-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
563872011-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
563942011-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
564012011-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
564102011-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
564192011-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
564312011-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
564482011-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
564612011-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
564932011-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
565052011-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
565292011-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
565392011-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
565562011-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
566062011-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
566252011-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
566582011-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
566952011-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
567162011-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
567232011-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
567422011-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
567542011-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
567682011-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
567872011-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
567932011-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
568082011-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
568232011-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
568622011-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
568802011-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
569292011-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
569712011-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
569892011-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
570002011-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
570142011-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
570602011-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
570712011-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
570842011-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
571002011-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
571592011-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
571722011-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
571802011-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
571892011-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
571962011-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
572642011-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
572902011-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
573122011-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
573782011-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
573882011-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
574052011-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
574222011-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
574392011-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
574822011-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
574982011-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
575112011-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
575322011-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
575542011-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
576252011-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
576362011-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
576422011-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
576482011-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
576632011-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
577522011-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
577712011-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
578222011-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
578342011-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
578462011-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
578592011-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
578812011-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
579052011-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
579212011-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
579352011-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
579492011-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
579812011-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
580002011-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
580132011-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
580492011-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
580672011-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
580852011-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
581092011-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
581222011-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
581472011-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
581642011-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
582112011-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
582432011-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
582552011-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
582892011-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
583032011-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
583532011-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
583642011-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
583782011-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
583942011-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
584052011-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
584432011-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
584612011-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
584712011-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
584892011-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
585052011-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
585212011-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
585472011-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
585572011-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
585932011-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
586072011-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
586202011-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
586352011-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
586542011-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
586682011-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
586942011-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
587042011-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
587152011-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
587582011-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
587712011-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
587862011-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
587962011-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
588132011-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
588322011-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
588462011-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
588792011-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
588902011-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
589332011-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
589652011-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
589792011-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
590092011-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
590722011-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
590882011-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
591042011-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
591162011-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
591282011-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
591422011-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
591712011-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
591912011-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
592272011-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
593062011-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
593422011-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
593662011-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
593942011-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
594082011-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
594212011-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
594382011-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
594592011-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
594712011-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
594982011-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
595532011-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
595682011-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
595792011-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
595942011-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
596122011-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
596342011-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
596822011-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
597212011-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
597342011-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
597462011-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
597522011-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
597702011-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
597902011-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
598032011-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
598122011-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
598232011-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
598382011-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
598572011-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
598682011-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
598832011-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
599052011-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
599242011-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
599372011-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
599522011-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
599842011-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
600022011-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
600202011-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
600412011-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
600502011-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
600632011-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
600772011-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
601142011-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
601322011-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
601482011-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
601592011-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
601942011-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
602052011-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
602162011-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
602372011-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
602492011-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
602642011-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
602762011-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
602902011-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
603102011-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
603742011-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
603922011-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
604102011-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
604312011-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
604612011-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
605052011-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
605442011-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
605602011-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
605732011-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
606282011-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
606392011-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
606532011-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
606602011-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
606782011-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
606992011-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
607202011-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
607352011-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
607512011-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
607772011-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
607902011-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
608042011-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
608202011-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
608462011-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
608672011-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
608802011-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
608962011-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
609102011-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
609222011-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
609442011-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
609592011-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
609902011-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
610032011-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
610142011-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
610262011-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
610442011-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
610602011-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
610732011-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
611432011-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
611612011-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
611892011-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
612272011-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
612402011-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
612542011-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
612702011-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
612842011-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
613242011-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
613392011-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
613712011-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
613802011-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
613992011-07-21  Pavel Feldman  <pfeldman@google.com>
61400
61401        Not reviewed: one liner typo fix in Inspector.json.
61402
61403        * inspector/Inspector.json:
61404
614052011-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
614312011-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
614622011-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
614982011-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
615152011-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
615302011-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
615432011-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
615632011-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
615732011-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
616412011-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
616592011-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
616662011-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
617222011-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
617292011-07-20  Ryosuke Niwa  <rniwa@webkit.org>
61730
61731        Build fix after r91435.
61732
61733        * platform/mac/ScrollViewMac.mm:
61734        (WebCore::ScrollView::platformSetScrollbarOverlayStyle):
61735
617362011-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
617622011-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
617872011-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
618312011-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
618512011-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
618582011-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
619142011-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
619292011-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
619602011-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
619752011-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
619832011-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
620112011-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
621572011-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
621642011-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
623262011-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
623412011-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
623532011-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
624012011-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
624152011-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
624222011-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
624382011-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
624662011-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
624802011-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
624932011-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
625072011-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
625192011-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
625352011-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
625612011-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
625682011-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
626402011-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
627562011-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
627682011-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
627812011-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
627902011-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
628392011-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
628782011-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
629172011-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
629292011-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
629382011-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
629522011-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
629712011-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
629902011-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
630082011-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
630252011-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
630652011-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
631302011-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
631382011-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
631542011-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
632002011-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
632182011-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
632292011-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
632522011-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
632652011-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
632782011-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
632912011-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
633042011-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
633882011-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
634132011-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
634452011-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
634612011-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
634752011-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
635172011-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
635342011-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
635462011-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
635602011-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
635882011-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
636002011-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
636672011-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
636792011-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
636912011-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
637052011-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
637172011-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
637472011-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
637722011-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
637882011-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
638042011-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
638202011-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
638822011-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
639122011-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
639262011-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
639812011-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
640032011-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
640102011-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
640222011-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
640482011-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
640582011-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
640792011-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
641422011-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
641612011-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
642112011-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
642192011-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
642372011-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
642462011-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
642562011-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
642892011-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
643022011-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
643162011-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
643322011-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
643582011-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
643742011-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
643932011-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
644062011-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
644282011-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
644502011-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
644772011-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
644932011-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
645752011-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
645952011-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
646072011-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
646202011-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
646332011-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
646592011-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
646712011-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
646992011-07-16  Jon Honeycutt  <jhoneycutt@apple.com>
64700
64701        WinCE build fix. Unreviewed.
64702
64703        * dom/SelectElement.cpp:
64704
647052011-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
647232011-07-15  Simon Fraser  <simon.fraser@apple.com>
64724
64725        Fix the build.
64726
64727        * platform/mac/ScrollbarThemeMac.mm:
64728        (WebCore::ScrollbarThemeMac::updateEnabledState):
64729
647302011-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
647372011-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
647442011-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
647522011-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
648332011-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
648412011-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
648532011-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
648602011-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
649232011-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
649622011-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
649822011-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
650072011-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
650202011-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
650342011-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
650572011-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
650892011-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
651082011-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
651282011-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
651412011-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
651532011-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
651832011-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
651972011-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
652112011-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
652312011-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
652642011-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
652762011-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
653232011-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
653422011-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
653562011-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
653732011-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
653802011-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
654142011-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
654522011-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
654852011-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
655012011-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
655192011-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
655402011-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
655492011-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
655642011-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
655862011-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
656092011-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
656282011-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
656452011-07-14  Dan Bernstein  <mitz@apple.com>
65646
65647        LLVM Compiler build fix.
65648
65649        * css/CSSStyleApplyProperty.cpp:
65650        (WebCore::ApplyPropertyComputeLength::applyValue):
65651
656522011-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
656662011-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
656932011-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
657062011-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
657262011-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
657372011-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
657462011-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
657872011-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
658322011-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
658582011-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
658802011-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
658972011-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
659172011-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
659302011-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
659482011-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
659622011-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
659972011-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
660242011-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
660352011-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
660792011-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
661342011-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
661532011-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
662522011-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
662682011-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
662952011-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
663722011-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
663862011-07-13  Simon Fraser  <simon.fraser@apple.com>
66387
66388        Fix non-debug builds.
66389
66390        * rendering/RenderLayerBacking.cpp:
66391        (WebCore::RenderLayerBacking::createGraphicsLayer):
66392
663932011-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
664022011-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
664252011-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
664512011-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
664592011-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
664722011-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
665242011-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
665522011-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
665812011-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
665982011-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
666182011-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
666372011-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
666512011-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
666722011-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
667082011-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
667332011-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
667452011-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
667582011-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
667762011-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
668082011-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
668352011-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
668472011-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
668992011-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
669112011-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
669412011-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
669662011-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
670122011-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
670302011-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
670452011-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
670752011-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
671032011-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
671102011-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
671312011-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
672302011-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
672922011-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
673082011-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
674072011-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
674462011-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
675022011-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
675702011-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
675882011-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
676102011-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
676612011-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
676752011-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
677612011-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
677732011-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
677962011-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
678182011-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
678622011-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
679612011-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
679742011-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
680222011-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
680412011-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
680512011-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
680742011-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
680862011-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
680982011-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
681152011-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
681302011-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
681552011-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
681722011-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
681892011-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
682042011-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
682702011-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
682852011-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
682932011-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
683042011-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
683282011-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
683712011-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
684012011-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
684172011-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
684532011-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
684692011-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
685052011-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
685212011-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
685492011-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
685822011-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
685922011-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
686072011-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
686192011-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
686692011-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
686852011-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
687422011-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
687602011-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
687782011-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
687952011-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
688132011-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
688442011-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
688552011-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
688672011-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
689022011-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
689132011-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
689412011-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
689482011-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
689602011-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
689692011-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
694732011-07-09  Patrick Gansterer  <paroga@webkit.org>
69474
69475        Unreviewed build fix after r90676.
69476
69477        * platform/graphics/ImageBuffer.cpp:
69478
694792011-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
695002011-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
695832011-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
696152011-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
696272011-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
696652011-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
697052011-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
697402011-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
697562011-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
697872011-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
697962011-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
698732011-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
698852011-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
699002011-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
699332011-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
699472011-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
699602011-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
699702011-07-08  Alexander Pavlov  <apavlov@chromium.org>
69971
69972        [Chromium] Unreviewed, clang build fix.
69973
69974        * inspector/InspectorStyleTextEditor.h:
69975
699762011-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
699892011-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
700112011-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
700342011-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
700722011-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
700862011-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
700952011-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
701172011-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
701332011-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
701562011-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
702442011-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
702652011-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
703192011-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
703402011-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
703572011-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
704062011-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
704442011-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
704702011-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
704932011-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
705062011-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
705242011-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
705532011-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
705742011-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
705842011-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
705982011-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
706092011-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
706292011-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
706392011-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
706492011-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
706642011-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
707282011-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
707422011-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
707652011-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
707772011-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
708032011-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
708182011-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
708302011-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
708592011-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
708822011-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
708932011-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
709322011-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
709742011-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
710082011-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
710622011-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
711492011-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
711762011-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
711822011-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
711942011-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
712162011-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
712752011-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
712902011-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
713162011-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
713362011-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
713572011-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
713742011-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
714072011-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
714172011-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
714282011-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
714382011-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
714542011-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
714682011-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
714872011-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
715372011-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
715502011-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
715662011-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
715892011-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
716202011-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
716462011-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
716602011-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
717222011-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:
717352011-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
717432011-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
718272011-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
718422011-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
718762011-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
719012011-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
719172011-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
719332011-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
719632011-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
719872011-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
719972011-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
720612011-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
721402011-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
721502011-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
721652011-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
722632011-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
722822011-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
722922011-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
723022011-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
723112011-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
723242011-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
723342011-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
723462011-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
723712011-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
723882011-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
724012011-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
724262011-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
724562011-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
724742011-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
724932011-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
725202011-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
725322011-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
725532011-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
725692011-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
726242011-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
726372011-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
726452011-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
726662011-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
726782011-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
727472011-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
727612011-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
727752011-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
727932011-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
728322011-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
728732011-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
728872011-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
730602011-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
731012011-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
731402011-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
731702011-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
731842011-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
732282011-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
732372011-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
732462011-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
732572011-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
732722011-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
732832011-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
733072011-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
733542011-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
733662011-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
733792011-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
733932011-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
734052011-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
734282011-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
734412011-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
734522011-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
734612011-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
734852011-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
735302011-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
735522011-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
735892011-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
736182011-06-30  Patrick Gansterer  <paroga@webkit.org>
73619
73620        Unreviewed build fix for !ENABLE(DATABASE) after r84789.
73621
73622        * bindings/js/JSDOMBinding.cpp:
73623
736242011-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
736772011-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
736892011-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
737182011-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
737252011-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
737402011-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
737572011-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
737742011-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
737862011-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
738062011-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
738182011-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
738302011-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
738422011-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
738782011-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
738992011-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
739122011-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
739212011-06-30  Ilya Tikhonovsky  <loislo@chromium.org>
73922
73923        Unreviewed build fix for chromium.
73924
73925        * inspector/CodeGeneratorInspector.pm:
73926
739272011-06-30  Ilya Tikhonovsky  <loislo@chromium.org>
73928
73929        Unreviewed build fix for mac.
73930
73931        * inspector/CodeGeneratorInspector.pm:
73932
739332011-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
739462011-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
739572011-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
739672011-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
739802011-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
739962011-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
740372011-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
740672011-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
740782011-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        
741122011-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
741322011-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
742232011-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
742302011-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
742512011-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
742702011-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
742822011-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
742922011-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
743362011-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
743612011-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
744372011-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
744562011-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
744642011-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
744762011-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
744882011-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
744952011-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
745212011-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
745372011-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
745452011-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
745572011-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
745782011-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
746602011-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
746762011-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
746952011-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
747152011-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
747462011-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
747722011-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
747882011-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
748222011-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
748362011-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
748512011-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
748632011-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
748772011-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
748952011-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
749232011-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
749362011-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
749472011-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
749912011-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
750212011-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
750372011-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
750852011-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
751002011-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
751302011-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
751482011-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
751882011-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
752122011-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
752422011-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
752882011-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
753102011-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
753212011-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
753362011-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
753712011-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
753912011-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
754282011-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
754562011-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
754802011-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
754932011-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
755382011-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
755952011-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
756272011-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
756432011-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
756662011-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
756942011-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
757012011-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
757072011-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
757182011-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
757312011-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
757502011-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
757632011-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
757822011-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
757892011-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
758202011-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
758432011-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
758642011-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
758752011-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
758962011-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
759462011-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
759862011-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
759952011-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
760032011-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
760092011-06-27  Brian Weinstein  <bweinstein@apple.com>
76010
76011        Fix the WebCore vcproj file after r89851.
76012
76013        * WebCore.vcproj/WebCore.vcproj:
76014
760152011-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
760312011-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
760522011-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
760722011-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
761072011-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
761212011-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
761522011-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
761732011-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
761852011-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
762752011-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
763092011-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
763582011-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
763762011-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
763942011-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
764142011-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
764272011-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
764382011-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
764542011-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
764732011-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
764942011-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
765132011-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
765282011-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
765362011-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
765482011-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
765642011-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
765922011-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
766142011-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
766262011-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
766332011-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
766482011-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
767012011-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
767162011-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
767482011-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
767592011-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
767782011-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
767952011-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
768112011-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
768632011-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
768812011-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
768972011-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
769062011-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
769722011-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
770082011-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
770182011-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
770702011-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
771232011-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
771342011-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
771562011-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
771702011-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
772562011-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
773752011-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
773872011-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
774152011-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
774342011-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
774422011-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
774952011-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
775072011-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
775202011-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
775582011-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
775722011-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
775962011-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
776332011-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
776642011-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
777142011-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
777252011-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
777572011-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
777662011-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
777932011-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
778832011-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
778952011-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
779332011-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
779652011-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
780152011-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
780312011-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
780772011-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
780962011-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
781222011-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
781442011-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
781562011-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
782012011-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
782372011-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
782512011-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
782762011-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
783022011-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
783282011-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
783632011-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
783782011-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
783882011-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
784202011-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
784782011-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
784902011-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
785172011-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
785732011-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
786052011-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
786352011-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
786562011-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
786762011-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
787182011-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
787472011-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
787632011-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
787752011-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
787992011-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
788142011-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
788292011-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
788432011-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
788822011-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
789202011-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
789592011-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
790542011-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
790722011-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
791212011-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
791512011-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
791622011-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
792632011-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
792742011-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
792842011-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
792972011-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
793252011-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
793382011-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
793502011-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
793992011-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
794462011-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
794672011-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
794772011-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
794972011-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
795052011-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
795142011-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
795312011-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
795462011-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
795792011-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
795932011-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
796082011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
79609
79610        Yet another build fix after r89472.
79611
79612        * html/parser/HTMLFormattingElementList.cpp:
79613
796142011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
79615
79616        Another build fix after r89472.
79617
79618        * dom/DocumentMarkerController.cpp:
79619
796202011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
79621
79622        Build fix after r89472.
79623
79624        * css/CSSStyleDeclaration.cpp:
79625
796262011-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
796362011-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
796662011-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
796812011-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
797072011-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
797212011-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
797582011-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
797712011-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
797882011-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
798082011-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
798532011-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
798632011-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
798992011-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
799132011-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
799262011-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
799392011-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
799602011-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
799812011-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
800332011-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
800632011-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
800782011-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
800842011-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
801322011-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
801632011-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
801822011-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
802072011-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
802222011-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
802592011-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
802832011-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
803372011-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
803532011-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
804082011-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
804682011-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
805022011-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
805212011-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
805422011-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
805572011-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
806012011-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
806282011-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
806512011-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
807432011-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
807622011-06-21  Kent Tamura  <tkent@chromium.org>
80763
80764        [Mac] Sort Xcode project files.
80765
80766        * WebCore.xcodeproj/project.pbxproj:
80767
807682011-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
808102011-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
808292011-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
808432011-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
808702011-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
808822011-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
809002011-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
809242011-06-21  Alexey Proskuryakov  <ap@apple.com>
80925
80926        Clang build fix.
80927
80928        * platform/mac/WebCoreSystemInterface.h: Give the enum a name.
80929
809302011-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
809432011-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
809732011-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
809852011-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
810002011-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
810122011-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
810222011-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
810342011-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
810462011-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
810592011-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
810932011-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
811182011-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
811402011-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
811652011-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
811712011-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
812022011-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
812142011-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
812332011-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
812992011-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
813182011-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
813512011-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
813722011-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
813862011-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
813962011-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
814322011-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
814422011-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
814532011-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
814652011-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
814842011-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
814942011-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
815042011-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
815152011-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
815342011-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
815412011-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
815552011-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
815672011-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
815962011-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
816092011-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
816212011-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
816352011-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
816852011-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
817002011-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
817482011-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
817632011-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
817872011-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
818642011-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
819082011-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
819372011-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
819512011-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
819662011-06-20  Ryosuke Niwa  <rniwa@webkit.org>
81967
81968        Fix bit flag collision.
81969
81970        * editing/FrameSelection.h:
81971
819722011-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
819792011-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
820582011-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
820852011-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
821332011-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
821542011-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
82177Source/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
822052011-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
825362011-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
825472011-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
825782011-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
826122011-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
826232011-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
826302011-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
826512011-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
826602011-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
826822011-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
826922011-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
827032011-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
827222011-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
827342011-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
827532011-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
827702011-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
827872011-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
827932011-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
828002011-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
829152011-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
829482011-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
829602011-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
829692011-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
829872011-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
830502011-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
831072011-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
831222011-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
831322011-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
831542011-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
831822011-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
831952011-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
832052011-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
832172011-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
832362011-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
832662011-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
832772011-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
835912011-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
839212011-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
839862011-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
840292011-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
840502011-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
840642011-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
840782011-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
840902011-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
841082011-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
841242011-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
841752011-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
841812011-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
841972011-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
842072011-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
847512011-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
847662011-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
848172011-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
848312011-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
848462011-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
848752011-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
848922011-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
849112011-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
849392011-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
849592011-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
849842011-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
849962011-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
850152011-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
850222011-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
850372011-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
850552011-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
850662011-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
850802011-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
850952011-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
851432011-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
851672011-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
851882011-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
852022011-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
852212011-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
852352011-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
852482011-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
852792011-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
852912011-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
853052011-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
853252011-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
853662011-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
853842011-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
853922011-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
854412011-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
854482011-06-16  Dimitri Glazkov  <dglazkov@chromium.org>
85449
85450        [Qt] Build fix after r89039.
85451
85452        * platform/qt/RenderThemeQt.cpp: Added StringTruncator include.
85453
854542011-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
854602011-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
854662011-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
855152011-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
856252011-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
856522011-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
857212011-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
857752011-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
858842011-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
859002011-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
859092011-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
859212011-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
859532011-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
859752011-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
860062011-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
860342011-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
860702011-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
860822011-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
861022011-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
861212011-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
861382011-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
861592011-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
861782011-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
862562011-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
862712011-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
862872011-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
863002011-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
863652011-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
863822011-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
863972011-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
864302011-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
864412011-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
865112011-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
865422011-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
865542011-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
865702011-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
866282011-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
866422011-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
866612011-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
866692011-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
866832011-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
867032011-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
867142011-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
867302011-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
867612011-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
867802011-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
867902011-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
868082011-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
868142011-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
868282011-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        
869022011-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
869342011-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
869462011-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
869702011-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
869832011-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
869962011-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
870122011-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
870262011-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
870402011-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
870682011-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
870942011-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
871092011-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
871242011-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
871402011-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
871732011-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
872292011-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
872402011-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
872582011-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
872682011-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
872832011-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
873032011-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
873262011-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
873532011-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
873682011-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
873912011-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
874112011-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
874362011-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
874622011-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
874962011-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
875042011-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
875252011-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
875482011-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
875602011-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
875772011-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
875852011-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
875922011-06-13  Kent Tamura  <tkent@chromium.org>
87593
87594        [EFL] Fix a typo.
87595
87596        * platform/efl/RenderThemeEfl.cpp:
87597        (WebCore::RenderThemeEfl::paintThemePart):
87598
875992011-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
876062011-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
876782011-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
876872011-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
877052011-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
877122011-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
877232011-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
877342011-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
877462011-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
877702011-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
878152011-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
878342011-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
878702011-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
878832011-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
878942011-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
879132011-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
879312011-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
879472011-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
879562011-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
879682011-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
879862011-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
879952011-06-13  Xan Lopez  <xlopez@igalia.com>
87996
87997        Try to fix GTK+ build.
87998
87999        * GNUmakefile.list.am: remove CredentialStorage.cpp
88000
880012011-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
880152011-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
880442011-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
880622011-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
880972011-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
881112011-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
881202011-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
881312011-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
882422011-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
882592011-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
882682011-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
882812011-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
882932011-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
883052011-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
883222011-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
883562011-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
883742011-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
883832011-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
883952011-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
884092011-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
884232011-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
884412011-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
884802011-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
885132011-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
885212011-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
885392011-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
885572011-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
885792011-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
886022011-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
886262011-06-12  Adam Barth  <abarth@webkit.org>
88627
88628        Fix fullscreen/full-screen-iframe-legacy.html.
88629
88630        * html/HTMLVideoElement.idl:
88631
886322011-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
886782011-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
886912011-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
887052011-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
887532011-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
887692011-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
887862011-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
888032011-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
888372011-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
888482011-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
888612011-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
888902011-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
889072011-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
889402011-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
889542011-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
889692011-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
889942011-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
890152011-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
890282011-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
890552011-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
890682011-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
890772011-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
890842011-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
890992011-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
891342011-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
891452011-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
891562011-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
891822011-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
891952011-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
892082011-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
892192011-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
892632011-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
892772011-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
893292011-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
893562011-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
893702011-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
893822011-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
893942011-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
894032011-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
894392011-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
894552011-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
894712011-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
894952011-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
895082011-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
895202011-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
895292011-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
895392011-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
895482011-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
895652011-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
895892011-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
896172011-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
896442011-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
896642011-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
896762011-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
896932011-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
897232011-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
897382011-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
897632011-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
897762011-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
897872011-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
898212011-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
898342011-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
898742011-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
898902011-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
899032011-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
899182011-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
899732011-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
900002011-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
900122011-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
900342011-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
900462011-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
900572011-06-09  Csaba Osztrogonác  <ossy@webkit.org>
90058
90059        [Qt][Mac] Speculative buildfix after r88286.
90060
90061        * platform/graphics/IntPoint.h:
90062
900632011-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
900772011-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
900962011-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
901112011-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
901302011-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
901472011-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
901622011-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
901762011-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
901922011-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
902242011-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
902382011-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
903012011-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
903212011-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
903282011-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
903982011-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
904122011-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
904322011-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
904452011-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
905012011-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
905342011-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
905452011-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
905702011-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
905852011-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
906022011-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
906142011-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
906702011-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
906812011-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
906992011-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
907062011-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
907172011-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
907322011-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
907462011-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
907622011-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
907732011-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
908082011-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
908322011-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
908782011-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
908922011-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
909272011-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
909422011-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
909802011-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
910412011-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
910502011-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
910632011-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
910812011-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
910962011-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
911032011-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
911742011-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
912162011-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
912242011-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
912452011-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
912592011-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
913492011-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
913632011-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
913782011-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
913892011-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
914032011-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
914342011-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
914922011-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
915102011-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
915492011-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
915642011-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
916672011-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
916892011-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
917042011-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
917192011-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
917352011-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
917472011-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
917972011-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
918812011-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
918892011-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
919042011-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
919172011-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
919382011-06-07  Ryosuke Niwa  <rniwa@webkit.org>
91939
91940        Speculative build fix after r88259.
91941
91942        * platform/network/cf/ResourceRequest.h:
91943
919442011-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
919652011-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
920882011-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
920992011-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
921112011-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
921282011-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
922622011-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
922792011-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
922942011-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
923252011-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
923372011-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
923552011-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
923682011-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
923852011-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
924002011-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
924152011-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
924292011-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
924422011-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
924562011-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
924682011-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
925122011-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
925292011-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
925382011-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
925682011-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
925862011-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
926002011-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
926312011-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
926532011-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
926692011-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
926812011-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
927122011-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
927312011-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
927412011-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
927602011-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
927772011-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
928062011-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
928222011-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
928392011-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
928622011-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
928812011-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
929092011-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
929212011-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
929422011-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
929612011-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
929942011-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
930142011-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
930302011-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
930412011-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
930552011-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
930762011-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
930902011-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
931012011-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
931132011-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
931252011-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
931512011-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
931822011-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
932082011-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
932212011-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 ==
93235