Address lifetime issues in OfflineAudioDestinationNode
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-09-12  Chris Rogers  <crogers@google.com>
2
3         Address lifetime issues in OfflineAudioDestinationNode
4         https://bugs.webkit.org/show_bug.cgi?id=67949
5
6         Reviewed by Kenneth Russell.
7
8         No new tests.  This does not change JavaScript API.
9
10         * webaudio/OfflineAudioDestinationNode.cpp:
11         (WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
12         (WebCore::OfflineAudioDestinationNode::render):
13         (WebCore::OfflineAudioDestinationNode::notifyCompleteDispatch):
14
15 2011-09-12  Jeff Timanus  <twiz@chromium.org>
16
17         [chromium]  Prevent a crash when tearing down an ImageBuffer that was not successfully initialized.
18         https://bugs.webkit.org/show_bug.cgi?id=67944
19
20         Reviewed by Stephen White.
21         
22         * platform/graphics/skia/ImageBufferSkia.cpp:
23         (WebCore::ImageBuffer::~ImageBuffer):
24
25 2011-09-12  Michael Saboff  <msaboff@apple.com>
26
27         Update RegExp and related classes to use 8 bit strings when available
28         https://bugs.webkit.org/show_bug.cgi?id=67337
29
30         Updated call to match to use UString& instead of UChar*.
31
32         Reviewed by Gavin Barraclough.
33
34         No new tests, Covered by existing tests.
35
36         * platform/text/RegularExpression.cpp:
37         (WebCore::RegularExpression::match):
38
39 2011-09-12  Beth Dakin  <bdakin@apple.com>
40
41         https://bugs.webkit.org/show_bug.cgi?id=67898
42         REGRESSION(r94900): fast/images/support-broken-image-delegate.html fails on Mac
43
44         Reviewed by Simon Fraser.
45
46         New function willPaintBrokenImage() returns true when there has been an error 
47         loading the image and the broken image icon will be used in its place. This is 
48         necessary since it is possible to have an error loading an image and to NOT use 
49         the broken image icon. 
50         * loader/cache/CachedImage.cpp:
51         (WebCore::CachedImage::willPaintBrokenImage):
52         * loader/cache/CachedImage.h:
53         * rendering/RenderImage.cpp:
54         (WebCore::RenderImage::imageSizeForError):
55
56 2011-09-12  James Robinson  <jamesr@chromium.org>
57
58         [chromium] Move contents texture manager from LayerRendererChromium to CCLayerTreeHost
59         https://bugs.webkit.org/show_bug.cgi?id=67440
60
61         Reviewed by Kenneth Russell.
62
63         This moves the contents TextureManager over to the CCLayerTreeHost, where it belongs, and adds in a commit path
64         to make sure that textures are deleted even if the page is not visible.  This move also removed the need for
65         LayerRendererChromium's CCLayerTreeHost pointer, so I removed that as well.  That meant moving the
66         layerTreeAsText() logic over to the CCLayerImpl side, which is where it really belonged anyway.
67
68         Covered by existing compositing/ tests and
69         platform/chromium/compositor/lost-compositor-context-with-rendersurface.html
70
71         * platform/graphics/chromium/LayerRendererChromium.cpp:
72         (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
73         (WebCore::LayerRendererChromium::drawLayers):
74         (WebCore::LayerRendererChromium::initializeSharedObjects):
75         (WebCore::LayerRendererChromium::cleanupSharedObjects):
76         * platform/graphics/chromium/LayerRendererChromium.h:
77         (WebCore::LayerRendererChromium::setContentsTextureMemoryUseBytes):
78         * platform/graphics/chromium/TextureManager.cpp:
79         (WebCore::TextureManager::highLimitBytes):
80         (WebCore::TextureManager::reclaimLimitBytes):
81         (WebCore::TextureManager::lowLimitBytes):
82         * platform/graphics/chromium/TextureManager.h:
83         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
84         (WebCore::CCLayerTreeHost::initialize):
85         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
86         (WebCore::CCLayerTreeHost::deleteContentsTextures):
87         (WebCore::CCLayerTreeHost::commitTo):
88         (WebCore::CCLayerTreeHost::setVisible):
89         (WebCore::CCLayerTreeHost::contentsTextureManager):
90         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
91         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
92         (WebCore::CCLayerTreeHostImpl::setVisible):
93         * platform/graphics/chromium/cc/CCProxy.h:
94         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
95         (WebCore::CCSingleThreadProxy::setNeedsCommit):
96         (WebCore::CCSingleThreadProxy::stop):
97         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
98         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
99         (WebCore::CCThreadProxy::setNeedsCommit):
100         (WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
101         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
102         * platform/graphics/chromium/cc/CCThreadProxy.h:
103
104 2011-09-12  Chris Rogers  <crogers@google.com>
105
106         DelayNode delay buffer is not correctly wrapping around
107         https://bugs.webkit.org/show_bug.cgi?id=67872
108
109         Reviewed by Kenneth Russell.
110
111         Test: webaudio/delaynode.html
112
113         * webaudio/DelayDSPKernel.cpp:
114         (WebCore::DelayDSPKernel::process):
115
116 2011-09-12  Arko Saha  <arko@motorola.com>
117
118         Selectstart is not fired when selection was created by arrow keys.
119         https://bugs.webkit.org/show_bug.cgi?id=60430
120
121         Reviewed by Ryosuke Niwa.
122
123         Fire selectstart when a user starts extending the selection using arrow key.
124         Fixed by Arko Saha  <arko@motorola.com> and Kaustubh Atrawalkar  <kaustubh@motorola.com>
125
126         Tests: fast/events/selectstart-by-arrow-keys-prevent-default.html
127                fast/events/selectstart-by-arrow-keys.html
128
129         * editing/FrameSelection.cpp:
130         (WebCore::FrameSelection::modify):
131         (WebCore::FrameSelection::shouldChangeSelection):
132         (WebCore::FrameSelection::dispatchSelectStart):
133         * editing/FrameSelection.h:
134
135 2011-09-12  James Robinson  <jamesr@chromium.org>
136
137         [chromium] REGRESSION(94353): Compositor textures and resources leaked when tab closed that is not last tab in the process
138         https://bugs.webkit.org/show_bug.cgi?id=67816
139
140         Reviewed by Kenneth Russell.
141
142         We lack infrastructure to construct an automated test for this today. To test manually, open up a composited
143         page (like the poster circle), duplicate the tab many times, close all the duplicates, and verify that the
144         memory use returns to the single tab level.
145
146         * platform/graphics/chromium/LayerChromium.h:
147         * platform/graphics/chromium/TiledLayerChromium.cpp:
148         (WebCore::TiledLayerChromium::setLayerTreeHost):
149         * platform/graphics/chromium/VideoLayerChromium.cpp:
150         (WebCore::VideoLayerChromium::setLayerTreeHost):
151         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
152         (WebCore::CCLayerTreeHost::clearRenderSurfacesRecursive):
153         (WebCore::CCLayerTreeHost::setRootLayer):
154         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
155
156 2011-09-12  Kentaro Hara  <haraken@google.com>
157
158         Implement a HashChangeEvent constructor for JSC
159         https://bugs.webkit.org/show_bug.cgi?id=67924
160
161         Reviewed by Sam Weinig.
162
163         The spec for the HashChangeEvent constructor is here:
164         http://www.whatwg.org/specs/web-apps/current-work/#hashchangeevent
165
166         Test: fast/events/constructors/hash-change-event-constructor.html
167
168         * bindings/generic/EventConstructors.h: Added a definition for the HashChangeEvent constructor.
169         * bindings/js/JSEventConstructors.cpp: Added #includes for HashChangeEvent.
170         * dom/HashChangeEvent.h: Added a definition for HashChangeEventInit.
171         (WebCore::HashChangeEventInit::HashChangeEventInit):
172         (WebCore::HashChangeEvent::create):
173         (WebCore::HashChangeEvent::HashChangeEvent):
174         * dom/HashChangeEvent.idl: Makes HashChangeEvent constructible.
175
176 2011-09-12  Mike Reed  <reed@google.com>
177
178         [skia] remove dead code, no functionality change
179         https://bugs.webkit.org/show_bug.cgi?id=67844
180
181         Reviewed by Kenneth Russell.
182
183         No new tests. just removing dead-code, existing tests apply
184
185         * platform/graphics/chromium/FontChromiumWin.cpp:
186         (WebCore::Font::drawGlyphs):
187
188 2011-09-12  Pavel Feldman  <pfeldman@google.com>
189
190         Web Inspector: Runtime.callFunctionOn does not accept arguments that evaluate to false.
191         https://bugs.webkit.org/show_bug.cgi?id=67934
192
193         Reviewed by Tony Gentilcore.
194
195         * inspector/InjectedScriptSource.js:
196
197 2011-09-12  Pavel Feldman  <pfeldman@google.com>
198
199         Web Inspector: event dividers do not update timeline boundaries.
200         https://bugs.webkit.org/show_bug.cgi?id=67932
201
202         * inspector/front-end/NetworkPanel.js:
203         (WebInspector.NetworkLogView.prototype._onLoadEventFired):
204         (WebInspector.NetworkLogView.prototype._domContentLoadedEventFired):
205         (WebInspector.NetworkLogView.prototype.refresh):
206         (WebInspector.NetworkTimeCalculator.prototype.updateBoundariesForEventTime):
207
208 2011-09-12  Kentaro Hara  <haraken@google.com>
209
210         Implement a WebKitAnimationEvent constructor for V8
211         https://bugs.webkit.org/show_bug.cgi?id=67922
212
213         Reviewed by Adam Barth.
214
215         Test: fast/events/constructors/webkit-animation-event-constructor.html
216
217         * bindings/v8/custom/V8EventConstructors.cpp: Added the WebKitAnimationEvent constructor.
218         * dom/WebKitAnimationEvent.idl: Added a 'V8CustomConstructor' attribute.
219
220 2011-09-12  Andreas Kling  <kling@webkit.org>
221
222         Shrink CanvasGradient for builds without ENABLE(DASHBOARD_SUPPORT).
223         https://bugs.webkit.org/show_bug.cgi?id=67916
224
225         Reviewed by Kenneth Rohde Christiansen.
226
227         * html/canvas/CanvasGradient.cpp:
228         (WebCore::CanvasGradient::CanvasGradient):
229         (WebCore::CanvasGradient::addColorStop):
230         * html/canvas/CanvasGradient.h:
231
232 2011-09-12  Shinya Kawanaka  <shinyak@google.com>
233
234         Characters beyond U+10000 should be deleted by one pressing delete key.
235         https://bugs.webkit.org/show_bug.cgi?id=40351
236
237         Reviewed by Kent Tamura.
238
239         If a character is the trail part of unicode surrogate pair, the lead part of it
240         should also be deleted. Also, If in MacOSX, the deletion should honor Mac's behavior.
241
242         Test: editing/deleting/delete-surrogatepair.html
243
244         * rendering/RenderText.cpp:
245         (WebCore::RenderText::previousOffsetForBackwardDeletion):
246           Added if-macro to support chromium on mac, and added trail part check for unicode character.
247
248 2011-09-11  Kentaro Hara  <haraken@google.com>
249
250         Implement a ProgressEvent constructor for V8
251         https://bugs.webkit.org/show_bug.cgi?id=67800
252
253         Reviewed by Sam Weinig.
254
255         Test: fast/events/constructors/progress-event-constructor.html
256
257         * bindings/js/JSDictionary.cpp:
258         (WebCore::JSDictionary::convertValue): Replaced UnsignedLongLongMax with std::numeric_limits<unsigned long long>::max().
259         * bindings/v8/OptionsObject.cpp:
260         (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
261         * bindings/v8/OptionsObject.h:
262         * bindings/v8/custom/V8EventConstructors.cpp: Added the ProgressEvent constructor.
263         * dom/ProgressEvent.idl: Added a 'V8CustomConstructor' attribute.
264
265 2011-09-11  Dimitri Glazkov  <dglazkov@chromium.org>
266
267         REGRESSION (r87351): toggling display of lots (thousands) of elements with display:none is very slow
268         https://bugs.webkit.org/show_bug.cgi?id=67581
269
270         Reviewed by Darin Adler.
271
272         Test: perf/show-hide-table-rows.html
273
274         * dom/NodeRenderingContext.cpp:
275         (WebCore::NodeRendererFactory::createRendererAndStyle): Moved style-creating code into createRendererIfNeeded, renamed
276             to createRenderer.
277         (WebCore::NodeRendererFactory::createRendererIfNeeded): Re-arrange code to avoid unnecessary creation of renderers.
278
279 2011-09-11  Jeremy Moskovich  <jeremy@chromium.org>
280
281         [Chromium] Change OOP Font loading code to use CGFont*() APIs.
282         https://bugs.webkit.org/show_bug.cgi?id=66935
283
284         This change is necessary due a bug in ATSFontDeactivate() on 10.7.
285         See crbug.com/93191 for details.
286
287         Reviewed by Eric Seidel.
288
289         No new tests - covered by existing tests.
290
291         * platform/chromium/PlatformBridge.h:
292         * platform/graphics/chromium/CrossProcessFontLoading.h:
293         * platform/graphics/chromium/CrossProcessFontLoading.mm:
294         (WebCore::MemoryActivatedFont::create):
295         (WebCore::MemoryActivatedFont::MemoryActivatedFont):
296         (WebCore::MemoryActivatedFont::~MemoryActivatedFont):
297
298 2011-09-09  Oliver Hunt  <oliver@apple.com>
299
300         Remove support for anonymous storage from jsobjects
301         https://bugs.webkit.org/show_bug.cgi?id=67881
302
303         Reviewed by Sam Weinig.
304
305         Remove all use of anonymous slots, this required modifying
306         bindings generation to add member variables for cached attributes,
307         and override visitChildren with the necessary logic to mark those
308         new members.
309
310         I added bindings generation tests for these values.
311
312         * bindings/js/JSAudioConstructor.h:
313         (WebCore::JSAudioConstructor::createStructure):
314         * bindings/js/JSDOMBinding.h:
315         (WebCore::DOMConstructorObject::createStructure):
316         * bindings/js/JSDOMGlobalObject.h:
317         (WebCore::JSDOMGlobalObject::createStructure):
318         * bindings/js/JSDOMWindowBase.h:
319         (WebCore::JSDOMWindowBase::createStructure):
320         * bindings/js/JSDOMWindowShell.h:
321         (WebCore::JSDOMWindowShell::createStructure):
322         * bindings/js/JSDOMWrapper.h:
323         (WebCore::JSDOMWrapper::createStructure):
324         * bindings/js/JSImageConstructor.h:
325         (WebCore::JSImageConstructor::createStructure):
326         * bindings/js/JSMessageEventCustom.cpp:
327         (WebCore::JSMessageEvent::data):
328         (WebCore::JSMessageEvent::initMessageEvent):
329         * bindings/js/JSOptionConstructor.h:
330         (WebCore::JSOptionConstructor::createStructure):
331         * bindings/js/JSWorkerContextBase.h:
332         (WebCore::JSWorkerContextBase::createStructure):
333         * bindings/scripts/CodeGeneratorJS.pm:
334         (GenerateHeader):
335         (GenerateImplementation):
336         (GenerateConstructorDeclaration):
337         * bindings/scripts/test/JS/JSTestInterface.cpp:
338         (WebCore::JSTestInterfaceConstructor::createStructure):
339         * bindings/scripts/test/JS/JSTestInterface.h:
340         (WebCore::JSTestInterface::createStructure):
341         (WebCore::JSTestInterfacePrototype::createStructure):
342         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
343         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
344         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
345         (WebCore::JSTestMediaQueryListListener::createStructure):
346         (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
347         * bindings/scripts/test/JS/JSTestObj.cpp:
348         (WebCore::JSTestObjConstructor::createStructure):
349         (WebCore::jsTestObjCachedAttribute1):
350         (WebCore::jsTestObjCachedAttribute2):
351         (WebCore::JSTestObj::visitChildren):
352         * bindings/scripts/test/JS/JSTestObj.h:
353         (WebCore::JSTestObj::createStructure):
354         (WebCore::JSTestObjPrototype::createStructure):
355         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
356         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
357         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
358         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
359         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
360         * bindings/scripts/test/TestObj.idl:
361         * bindings/scripts/test/V8/V8TestObj.cpp:
362         (WebCore::TestObjInternal::cachedAttribute1AttrGetter):
363         (WebCore::TestObjInternal::cachedAttribute2AttrGetter):
364         * bridge/c/CRuntimeObject.h:
365         (JSC::Bindings::CRuntimeObject::createStructure):
366         * bridge/c/c_instance.cpp:
367         (JSC::Bindings::CRuntimeMethod::createStructure):
368         * bridge/jni/jsc/JavaInstanceJSC.cpp:
369         (JavaRuntimeMethod::createStructure):
370         * bridge/jni/jsc/JavaRuntimeObject.h:
371         (JSC::Bindings::JavaRuntimeObject::createStructure):
372         * bridge/objc/ObjCRuntimeObject.h:
373         (JSC::Bindings::ObjCRuntimeObject::createStructure):
374         * bridge/objc/objc_instance.mm:
375         (ObjCRuntimeMethod::createStructure):
376         * bridge/objc/objc_runtime.h:
377         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
378         * bridge/runtime_array.h:
379         (JSC::RuntimeArray::createStructure):
380         * bridge/runtime_method.h:
381         (JSC::RuntimeMethod::createStructure):
382         * bridge/runtime_object.h:
383         (JSC::Bindings::RuntimeObject::createStructure):
384
385 2011-09-01  Filip Pizlo  <fpizlo@apple.com>
386
387         The executable allocator makes it difficult to free individual
388         chunks of executable memory
389         https://bugs.webkit.org/show_bug.cgi?id=66363
390
391         Reviewed by Oliver Hunt.
392         
393         Introduced a best-fit, balanced-tree based allocator. The allocator
394         required a balanced tree that does not allocate memory and that
395         permits the removal of individual nodes directly (as opposed to by
396         key); neither AVLTree nor WebCore's PODRedBlackTree supported this.
397         Changed all references to executable code to use a reference counted
398         handle.
399
400         No new layout tests because behavior is not changed.  New API unit
401         tests:
402         Tests/WTF/RedBlackTree.cpp
403         Tests/WTF/MetaAllocator.cpp
404
405         * ForwardingHeaders/wtf/MetaAllocatorHandle.h: Added.
406
407 2011-09-10  Sam Weinig  <sam@webkit.org>
408
409         Add isInterruptedExecutionException and isTerminatedExecutionException predicates
410         https://bugs.webkit.org/show_bug.cgi?id=67892
411
412         Reviewed by Andy "First Time Reviewer" Estes.
413
414         * bindings/js/JSDOMBinding.cpp:
415         (WebCore::reportException):
416         * bindings/js/JSEventListener.cpp:
417         (WebCore::JSEventListener::handleEvent):
418         * bindings/js/WorkerScriptController.cpp:
419         (WebCore::WorkerScriptController::evaluate):
420         Use the new predicates instead of probing the ClassInfo directly.
421
422 2011-09-10  Kevin Ollivier  <kevino@theolliviers.com>
423
424         [wx] Unreviewed build fix. MSW build fixes.
425
426         * config.h:
427
428 2011-09-09  David Hyatt  <hyatt@apple.com>
429
430         https://bugs.webkit.org/show_bug.cgi?id=67861
431         
432         Implement border-image-outset (and the mask equivalents).
433
434         Reviewed by Beth Dakin.
435
436         Added new tests in fast/borders and fast/reflections.
437
438         * css/CSSBorderImageValue.cpp:
439         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
440         (WebCore::CSSBorderImageValue::cssText):
441         * css/CSSBorderImageValue.h:
442         (WebCore::CSSBorderImageValue::create):
443         Add m_outset field to CSSBorderImageValue and teach it how to dump the field as
444         part of cssText().
445
446         * css/CSSComputedStyleDeclaration.cpp:
447         (WebCore::valueForNinePieceImageQuad):
448         (WebCore::valueForNinePieceImage):
449         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
450         Add support for border-image-outset and -webkit-mask-box-image-outset. Refactor
451         the code so that border-image-width and border-image-outset use a common
452         function.
453
454         * css/CSSParser.cpp:
455         (WebCore::CSSParser::parseValue):
456         (WebCore::BorderImageParseContext::BorderImageParseContext):
457         (WebCore::BorderImageParseContext::allowOutset):
458         (WebCore::BorderImageParseContext::commitSlash):
459         (WebCore::BorderImageParseContext::commitBorderWidth):
460         (WebCore::BorderImageParseContext::commitBorderOutset):
461         (WebCore::BorderImageParseContext::commitRepeat):
462         (WebCore::BorderImageParseContext::commitBorderImage):
463         (WebCore::CSSParser::parseBorderImage):
464         Teach the border image parsing code about outsets. This code will soon be
465         replaced by true shorthand parsing code, but for now keep it working and add
466         outset support to it.
467
468         (WebCore::BorderImageQuadParseContext::BorderImageQuadParseContext):
469         (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
470         (WebCore::CSSParser::parseBorderImageQuad):
471         (WebCore::CSSParser::parseBorderImageWidth):
472         (WebCore::CSSParser::parseBorderImageOutset):
473         * css/CSSParser.h:
474         Refactor the border-image-width code so that it can be shared by border-image-outset, since
475         they are extremely similar.
476
477         * css/CSSPropertyNames.in:
478         Add the new properties.
479
480         * css/CSSStyleSelector.cpp:
481         (WebCore::CSSStyleSelector::applyProperty):
482         (WebCore::CSSStyleSelector::mapNinePieceImage):
483         (WebCore::CSSStyleSelector::mapNinePieceImageQuad):
484         (WebCore::CSSStyleSelector::loadPendingImages):
485         * css/CSSStyleSelector.h:
486         Refactor the code so that width/outset share common mapping functions. Add support for outset.
487
488         * rendering/InlineFlowBox.cpp:
489         (WebCore::InlineFlowBox::addToLine):
490         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
491         (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
492         (WebCore::InlineFlowBox::computeOverflow):
493         Add new functions for computing the visual overflow caused by border outsets. Fix bugs in
494         the shadow overflow code as well.
495
496         (WebCore::clipRectForNinePieceImageStrip):
497         (WebCore::InlineFlowBox::paintBoxDecorations):
498         (WebCore::InlineFlowBox::paintMask):
499         * rendering/InlineFlowBox.h:
500         Make sure the clip rect pushed when painting one piece of a split inline strip is expanded to
501         include the border and mask outsets. Always include the block direction expansion, and conditionally
502         include the inline direction expansion based off includeLogicalLeftEdge()/includeLogicalRightEdge().
503         clipRectForNinePieceImageStrip is a common function shared by masks and border images that does this
504         work.
505
506         * rendering/RenderBlock.cpp:
507         (WebCore::RenderBlock::computeOverflow):
508         * rendering/RenderBox.cpp:
509         (WebCore::RenderBox::maskClipRect):
510         (WebCore::RenderBox::addBoxShadowAndBorderOverflow):
511         * rendering/RenderBox.h:
512         Rename addShadowOverflow to addBoxShadowAndBorderOverflow. Have it compute both shadow and border image
513         outset overflow. Fix bugs with shadow overflow computation.
514
515         * rendering/RenderBoxModelObject.cpp:
516         (WebCore::RenderBoxModelObject::paintNinePieceImage):
517         Change painting to apply the outsets to inflate the border image drawing area.
518
519         * rendering/RenderEmbeddedObject.cpp:
520         (WebCore::RenderEmbeddedObject::layout):
521         * rendering/RenderIFrame.cpp:
522         (WebCore::RenderIFrame::layout):
523         Patched to call the renamed addBoxShadowAndBorderOverflow function instead of addShadowOverflow.
524
525         * rendering/RenderLayer.cpp:
526         (WebCore::RenderLayer::calculateRects):
527         Patched to no longer apply box-shadow to overflow clip areas when inflating the intersection area for the
528         layer bounds. Instead we generically apply all visual overflow so that border image outsets will also be
529         included. This fixes https://bugs.webkit.org/show_bug.cgi?id=37467.
530
531         * rendering/RenderReplaced.cpp:
532         (WebCore::RenderReplaced::layout):
533         Patched to call the renamed addBoxShadowAndBorderOverflow function instead of addShadowOverflow.
534
535         * rendering/style/NinePieceImage.cpp:
536         (WebCore::NinePieceImage::operator==):
537         * rendering/style/NinePieceImage.h:
538         (WebCore::NinePieceImage::NinePieceImage):
539         (WebCore::NinePieceImage::outset):
540         (WebCore::NinePieceImage::setOutset):
541         (WebCore::NinePieceImage::computeOutset):
542         (WebCore::NinePieceImage::copyOutsetFrom):
543         Add the outset field to NinePieceImage along with some helpers for manipulating outsets.
544
545         * rendering/style/RenderStyle.cpp:
546         (WebCore::RenderStyle::getImageOutsets):
547         (WebCore::RenderStyle::getImageHorizontalOutsets):
548         (WebCore::RenderStyle::getImageVerticalOutsets):
549         * rendering/style/RenderStyle.h:
550         (WebCore::InheritedFlags::hasBorderImageOutsets):
551         (WebCore::InheritedFlags::getBorderImageOutsets):
552         (WebCore::InheritedFlags::getBorderImageHorizontalOutsets):
553         (WebCore::InheritedFlags::getBorderImageVerticalOutsets):
554         (WebCore::InheritedFlags::getBorderImageInlineDirectionOutsets):
555         (WebCore::InheritedFlags::getBorderImageBlockDirectionOutsets):
556         (WebCore::InheritedFlags::getImageInlineDirectionOutsets):
557         (WebCore::InheritedFlags::getImageBlockDirectionOutsets):
558         Helpers for outset computation used by painting and overflow functions.
559
560 2011-09-10  Dan Bernstein  <mitz@apple.com>
561
562         Actually prevent unnecessary casts to MediaControls*.
563
564         Reviewed by Oliver Hunt.
565
566         * html/shadow/MediaControls.h:
567
568 2011-09-10  Ryosuke Niwa  <rniwa@webkit.org>
569
570         Remove printf added by r94900.
571
572         * rendering/RenderLayer.cpp:
573         (WebCore::RenderLayer::drawPlatformResizerImage):
574
575 2011-09-09  Chris Marrin  <cmarrin@apple.com>
576
577         requestAnimationFrame doesn't throttle on Mac
578         https://bugs.webkit.org/show_bug.cgi?id=67171
579
580         Reviewed by Simon Fraser.
581
582         Changed requestAnimationFrame to use a Timer in ScriptedAnimationController
583         on Mac, rather than runLoopObservers. The Timer is throttled to fire no
584         faster than every 15ms. It is behind a WTF_USE_REQUEST_ANIMATION_FRAME_TIMER
585         flag and can be used by any implementation, but currently it is only enabled
586         by PLATFORM(MAC).
587
588         * dom/ScriptedAnimationController.cpp:
589         (WebCore::ScriptedAnimationController::ScriptedAnimationController):
590         (WebCore::ScriptedAnimationController::resume):
591         (WebCore::ScriptedAnimationController::registerCallback):
592         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
593         (WebCore::ScriptedAnimationController::scheduleAnimation):
594         (WebCore::ScriptedAnimationController::animationTimerFired):
595         * dom/ScriptedAnimationController.h:
596         * loader/EmptyClients.h:
597         * page/Chrome.cpp:
598         (WebCore::Chrome::scheduleAnimation):
599         * page/ChromeClient.h:
600
601 2011-09-10  Jarred Nicholls  <jarred@sencha.com>
602
603         [Qt] QWebSettings::setUserStyleSheetUrl() does not work with windows paths that contain drive letters
604         https://bugs.webkit.org/show_bug.cgi?id=34884
605         
606         KURL::path() alone does not handle removing the leading slash from a windows file path.
607         Using QUrl::toLocalFile() will turn file:///C:/path into C:/path appropriately.
608
609         Reviewed by Andreas Kling.
610
611         * platform/qt/KURLQt.cpp:
612         (WebCore::KURL::fileSystemPath):
613
614 2011-09-10  Ken Buchanan <kenrb@chromium.org>
615
616         Crash due to bad data in SVGDocumentExtensions m_pendingResources
617         https://bugs.webkit.org/show_bug.cgi?id=67488
618
619         Reviewed by Nikolas Zimmermann.
620
621         Resolving a crash condition caused by the deletion of
622         elements while pending resource entries for those elements are still
623         recorded.
624
625         * rendering/svg/RenderSVGResourceContainer.cpp:
626         (WebCore::RenderSVGResourceContainer::registerResource)
627         * svg/SVGDocumentExtensions.h:
628         (WebCore::SVGDocumentExtensions::isElementInPendingResources)
629         * svg/SVGDocumentExtensions.cpp:
630         (WebCore::SVGDocumentExtensions::addPendingResource)
631         (WebCore::SVGDocumentExtensions::isElementInPendingResources)
632         (WebCore::SVGDocumentExtensions::removeElementFromPendingResources)
633         * svg/SVGStyledElement.h:
634         (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible)
635         * svg/SVGStyledElement.cpp:
636         (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded)
637         (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible)
638         * svg/SVGUseElement.cpp:
639         (WebCore::SVGUseElement::svgAttributeChanged)
640
641 2011-09-10  Adam Barth  <abarth@webkit.org>
642
643         Remove DocumentWriter::deprecatedFrameEncoding()
644         https://bugs.webkit.org/show_bug.cgi?id=67882
645
646         Reviewed by Eric Seidel.
647
648         Three years ago, in http://trac.webkit.org/changeset/39026, Alexey
649         Proskuryakov added ContentDispositionEncodingFallbackArray to work
650         around a web site compatibility issue with a non-ASCII file name
651         becoming garbled when received in the Content-Disposition header.
652
653         Since that time, there has been copious discussion of this topic among
654         browser vendors, in the IETF, and in the broader web community.  For
655         example, here is a Stack Overflow thread about this topic:
656
657         http://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content-disposition-header-in-http
658
659         Eric Lawrence has written a blog post that summarizes IE's perspective
660         on this issue:
661
662         http://blogs.msdn.com/b/ieinternals/archive/2010/06/07/content-disposition-attachment-and-international-unicode-characters.aspx
663
664         The current consensus is that browsers should implement RFC 6266,
665         which is a new RFC that updates the definition of the
666         Content-Disposition header.  Chrome and Firefox have both implemented
667         RFC 6266 and have encountered only one issue, which was then fixed by
668         the web site operator.  IE has also implemented RFC 6266, but I don't
669         have detailed information about their compatibility experience.
670
671         This patch add explicit PLATFORM #ifdefs around the quirky
672         implementation previously used in Apple's Mac and Windows ports.  This
673         code is already only used on Apple's ports, so this patch introduces no
674         functional changes.  It does, however, discourage other ports from
675         adopting this quirk.  IMHO, Apple should remove this quirk as soon as
676         compatibility allows and converge behavior with the other major browser
677         vendors.
678
679         See bug for manual test (the bug manifests in Safari download UI).
680
681         * loader/DocumentWriter.cpp:
682         * loader/DocumentWriter.h:
683         * loader/FrameLoader.cpp:
684         (WebCore::FrameLoader::addExtraFieldsToRequest):
685         * platform/network/ResourceRequestBase.cpp:
686         (WebCore::ResourceRequestBase::adopt):
687         (WebCore::ResourceRequestBase::copyData):
688         * platform/network/ResourceRequestBase.h:
689
690 2011-09-09  Beth Dakin  <bdakin@apple.com>
691
692         Attempted Leopard build fix.
693
694         * rendering/RenderImage.cpp:
695         (WebCore::RenderImage::paintReplaced):
696         * rendering/RenderLayer.cpp:
697         (WebCore::RenderLayer::drawPlatformResizerImage):
698
699 2011-09-09  Beth Dakin  <bdakin@apple.com>
700
701         Fix for https://bugs.webkit.org/show_bug.cgi?id=67819
702         Use high resolution platform images when the deviceScaleFactor > 1
703         -and corresponding-
704         <rdar://problem/10003098>
705
706         Reviewed by Darin Adler.
707
708         Add all of the new high resolution images. I also removed some tiffs from the 
709         project and replaced them with png equivalents (that are already checked into 
710         WebCore anyway). Since the high resolution images are pngs, it makes sense to use 
711         pngs for all of the images that load through Image::loadPlatformResource()
712         * WebCore.xcodeproj/project.pbxproj:
713         * platform/graphics/mac/ImageMac.mm:
714         (WebCore::Image::loadPlatformResource):
715
716         Load the @2x resource for deviceScaleFactors >= 2.
717         * editing/DeleteButtonController.cpp:
718         (WebCore::DeleteButtonController::createDeletionUI):
719
720         CachedImage::brokenImage() is no longer a static helper function, but a real 
721         member function. It also now loads the @2x resource for deviceScaleFactors >= 2 
722         and takes a parameter for the deviceScaleFactor. When CachedImage::image() returns 
723         the brokenImage(), it just returns the 1x version. brokenImage() has to be called 
724         directly to reliably return the deviceScaleFactor-appropriate resource.
725         * loader/cache/CachedImage.cpp:
726         (WebCore::CachedImage::brokenImage):
727         (WebCore::CachedImage::image):
728         * loader/cache/CachedImage.h:
729         * rendering/RenderLayer.cpp:
730         (WebCore::RenderLayer::drawPlatformResizerImage):
731         (WebCore::RenderLayer::paintResizer):
732         * rendering/RenderLayer.h:
733
734         New static function to retrieve the deviceScaleFactor for callers that do not have 
735         direct access to a Page.
736         * page/Page.cpp:
737         (WebCore::Page::deviceScaleFactor):
738         * page/Page.h:
739
740         Call CachedImage::brokenImage() for the broken-image image at an accurate 
741         resolution.
742         * rendering/RenderImage.cpp:
743         (WebCore::RenderImage::imageSizeForError):
744         (WebCore::RenderImage::paintReplaced):
745
746 2011-09-09  Erik Arvidsson  <arv@chromium.org>
747
748         Move Element.contains to Node
749         https://bugs.webkit.org/show_bug.cgi?id=67651
750
751         Reviewed by Darin Adler.
752
753         This moves the contains method from Element to Node as in the DOM4 working draft: 
754         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-contains
755
756         This also special cases Document contains to make it O(1) instead of O(depth).
757
758         Tests: fast/dom/Node/contains-method.html
759                perf/document-contains.html
760
761         * bindings/objc/PublicDOMInterfaces.h: Move contains from DOMElement to DOMNode.
762         * dom/Element.idl:
763         * dom/Node.cpp:
764         (WebCore::Node::contains): Added document special case.
765         * dom/Node.idl:
766         * editing/DeleteSelectionCommand.cpp:
767         (WebCore::DeleteSelectionCommand::mergeParagraphs): Added a null check.
768
769 2011-09-09  Tim Horton  <timothy_horton@apple.com>
770
771         Text rendered with a simple (i.e. 0px blur) shadow inside a transparency layer has a double shadow
772         https://bugs.webkit.org/show_bug.cgi?id=67543
773         <rdar://problem/10070536>
774
775         Reviewed by Darin Adler.
776
777         Generalize (begin|end)TransparencyLayer, which now forward
778         through to (begin|end)PlatformTransparencyLayer, so that
779         isInTransparencyLayer can exist on every platform.
780
781         Make use of isInTransparencyLayer in FontMac to disable
782         "simple" shadow drawing when the text is being rendered
783         into a transparency layer.
784
785         Test: svg/custom/simple-text-double-shadow.svg
786
787         * platform/graphics/GraphicsContext.cpp:
788         (WebCore::GraphicsContext::GraphicsContext):
789         (WebCore::GraphicsContext::~GraphicsContext):
790         (WebCore::GraphicsContext::beginTransparencyLayer):
791         (WebCore::GraphicsContext::endTransparencyLayer):
792         (WebCore::GraphicsContext::isInTransparencyLayer):
793         * platform/graphics/GraphicsContext.h:
794         * platform/graphics/cairo/GraphicsContextCairo.cpp:
795         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
796         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
797         (WebCore::GraphicsContext::supportsTransparencyLayers):
798         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
799         * platform/graphics/cg/GraphicsContextCG.cpp:
800         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
801         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
802         (WebCore::GraphicsContext::supportsTransparencyLayers):
803         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
804         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
805         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
806         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
807         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
808         (WebCore::GraphicsContext::supportsTransparencyLayers):
809         * platform/graphics/mac/FontMac.mm:
810         (WebCore::Font::drawGlyphs):
811         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
812         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
813         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
814         (WebCore::GraphicsContext::supportsTransparencyLayers):
815         * platform/graphics/qt/GraphicsContextQt.cpp:
816         (WebCore::GraphicsContext::isInTransparencyLayer):
817         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
818         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
819         (WebCore::GraphicsContext::supportsTransparencyLayers):
820         * platform/graphics/skia/GraphicsContextSkia.cpp:
821         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
822         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
823         (WebCore::GraphicsContext::supportsTransparencyLayers):
824         * platform/graphics/win/FontCGWin.cpp:
825         (WebCore::drawGDIGlyphs):
826         * platform/graphics/win/GraphicsContextCGWin.cpp:
827         (WebCore::GraphicsContext::releaseWindowsContext):
828         * platform/graphics/win/GraphicsContextCairoWin.cpp:
829         (WebCore::GraphicsContext::releaseWindowsContext):
830         * platform/graphics/win/GraphicsContextWin.cpp:
831         (WebCore::GraphicsContext::getWindowsContext):
832         * platform/graphics/wince/GraphicsContextWinCE.cpp:
833         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
834         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
835         (WebCore::GraphicsContext::supportsTransparencyLayers):
836         * platform/graphics/wx/GraphicsContextWx.cpp:
837         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
838         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
839         (WebCore::GraphicsContext::supportsTransparencyLayers):
840         * platform/win/ScrollbarThemeWin.cpp:
841         * plugins/win/PluginViewWin.cpp:
842         * rendering/RenderThemeWin.cpp:
843
844 2011-09-09  Julien Chaffraix  <jchaffraix@webkit.org>
845
846         [V8] V8WebKitPoint::constructorCallback leaks
847         https://bugs.webkit.org/show_bug.cgi?id=67865
848
849         Reviewed by Adam Barth.
850
851         Covered by fast/js/instanceof-XMLHttpRequest.html under Valgrind.
852
853         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
854         (WebCore::V8WebKitPoint::constructorCallback): Changed the code
855         to use a RefPtr (per our usual style). Also use toV8 that will
856         take care of properly wrapping the object.
857
858 2011-09-09  Chris Rogers  <crogers@google.com>
859
860         HRTFDatabaseLoader should not call WTF::waitForThreadCompletion() more than once
861         https://bugs.webkit.org/show_bug.cgi?id=67866
862
863         Reviewed by David Levin.
864
865         No new tests since this is difficult to test.
866         This is designed to fix existing webaudio layout test failures.
867
868         * platform/audio/HRTFDatabaseLoader.cpp:
869         (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
870         (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
871         (WebCore::HRTFDatabaseLoader::loadAsynchronously):
872         (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
873         * platform/audio/HRTFDatabaseLoader.h:
874
875 2011-09-09  Jessie Berlin  <jberlin@apple.com>
876
877         Cookies are not available after turning off Private Browsing after the last window has been
878         closed.
879         https://bugs.webkit.org/show_bug.cgi?id=67874
880
881         Reviewed by Darin Adler.
882
883         The private browsing storage session is a global setting that is being incorrectly set on a
884         per-page basis (see http://webkit.org/b/67870).
885
886         In this case, the global value was getting out of sync with the per-page setting:
887         1. The global value was getting set to true when setPrivateBrowsingEnabled(true) was called.
888         2. All Pages were then closed, destroying their Settings objects.
889         3. When a new Page was created, a new Settings object was created and its
890            m_privateBrowsingEnabled value was getting set to false.
891         4. The WebPage settings were then applied to the new Settings object, resulting in
892            setPrivateBrowsingEnabled(false) to be called.
893         5. An if (m_privateBrowsingEnabled == privateBrowsingEnabled) early return prevented the
894            global value for the storage session from being destroyed.
895
896         * page/Settings.cpp:
897         (WebCore::Settings::setPrivateBrowsingEnabled):
898         Move the early return to be after setting the global private browsing values, and add a
899         clearer comment + FIXME.
900
901 2011-09-09  Kentaro Hara  <haraken@google.com>
902
903         Generate a WebKitCSSMatrix constructor of V8 using the IDL 'Constructor' extended attribute
904         https://bugs.webkit.org/show_bug.cgi?id=67458
905
906         Reviewed by Adam Barth.
907
908         Added a 'CallWithNullValue' extended attribute.
909         If a parameter is optional and missing, 'CallWithDefaultValue'
910         handles it as a string "undefined". On the other hand,
911         'CallWithNullValue' handles it as a null string
912         (Note: not a string "null", but a null string).
913
914         Tests: fast/dom/Window/custom-constructors.html
915                transforms/svg-vs-css.xhtml
916                transforms/cssmatrix-2d-interface.xhtml
917                transforms/cssmatrix-3d-interface.xhtmlGenerate a WebKitCSSMatrix constructor
918
919         * WebCore.gypi: Removed V8WebKitCSSMatrixConstructor.cpp.
920         * WebCore.pro: Removed V8WebKitCSSMatrixConstructor.cpp.
921         * bindings/scripts/CodeGeneratorV8.pm:
922         (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.
923         (RequiresCustomSignature):
924         * bindings/scripts/test/V8/V8TestInterface.cpp: Updated test results.
925         (WebCore::V8TestInterface::constructorCallback):
926         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Ditto.
927         (WebCore::TestMediaQueryListListenerInternal::methodCallback):
928         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
929         (WebCore::TestObjInternal::voidMethodWithArgsCallback):
930         (WebCore::TestObjInternal::intMethodWithArgsCallback):
931         (WebCore::TestObjInternal::objMethodWithArgsCallback):
932         (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
933         (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
934         (WebCore::TestObjInternal::optionsObjectCallback):
935         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
936         (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
937         (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
938         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
939         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
940         (WebCore::TestObjInternal::methodWithOptionalArgCallback):
941         (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
942         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
943         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
944         (WebCore::TestObjInternal::overloadedMethod1Callback):
945         (WebCore::TestObjInternal::overloadedMethod2Callback):
946         (WebCore::TestObjInternal::overloadedMethod3Callback):
947         (WebCore::TestObjInternal::overloadedMethod4Callback):
948         (WebCore::TestObjInternal::classMethodWithOptionalCallback):
949         (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
950         (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
951         * bindings/v8/V8Binding.h:
952         (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.
953         (WebCore::::prepare): If V8ParameterBase does not have any object, then we set a null string.
954         * 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.
955         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: Removed.
956         * css/WebKitCSSMatrix.idl: Added the 'Constructor' extended attribute.
957
958 2011-09-09  Geoffrey Garen  <ggaren@apple.com>
959
960         Reviewed by Dan Bernstein.
961
962         Removed ENABLE(SINGLE_THREADED) support, since it is always false
963         https://bugs.webkit.org/show_bug.cgi?id=67862
964
965         Next step toward making the baseline platform assumption that threads exist.
966
967         * WebCore.pri:
968         * features.pri: 
969         * platform/sql/SQLiteDatabase.cpp:
970         (WebCore::SQLiteDatabase::interrupt): Removed now-dead code.
971
972 2011-09-09  Fady Samuel  <fsamuel@chromium.org>
973
974         Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp}
975         https://bugs.webkit.org/show_bug.cgi?id=67250
976
977         Reviewed by Simon Fraser.
978
979         No new tests because there's no change in functionality.
980
981         * WebCore.exp.in:
982         * css/CSSStyleSelector.cpp:
983         (WebCore::CSSStyleSelector::styleForDocument):
984         * dom/Element.cpp:
985         (WebCore::Element::getClientRects):
986         (WebCore::Element::getBoundingClientRect):
987         * dom/Range.cpp:
988         (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
989         * loader/HistoryController.cpp:
990         (WebCore::HistoryController::restoreScrollPositionAndViewState):
991         * page/Frame.cpp:
992         (WebCore::Frame::Frame):
993         (WebCore::Frame::pageScaleFactor):
994         * page/Frame.h:
995         * page/Page.cpp:
996         (WebCore::Page::Page):
997         (WebCore::Page::setPageScaleFactor):
998         * page/Page.h:
999         (WebCore::Page::pageScaleFactor):
1000         * rendering/RenderLayerCompositor.cpp:
1001         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
1002         (WebCore::RenderLayerCompositor::pageScaleFactor):
1003         * rendering/RenderView.cpp:
1004         (WebCore::RenderView::paintBoxDecorations):
1005
1006 2011-09-09  Dominic Mazzoni  <dmazzoni@google.com>
1007
1008         AX: Images within anchors causes crash
1009         https://bugs.webkit.org/show_bug.cgi?id=44149
1010
1011         Reviewed by Chris Fleizach.
1012
1013         Fixes the way parent RenderObject of an AccessibilityRenderObject
1014         is computed in the presence of adjacent continuations.
1015
1016         Test: accessibility/div-within-anchors-causes-crash.html
1017
1018         * accessibility/AccessibilityRenderObject.cpp:
1019         (WebCore::AccessibilityRenderObject::renderParentObject):
1020
1021 2011-09-09  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
1022
1023         CSS rules not being applied when a hidden field is inserted between an input[type=checkbox] and a label
1024         https://bugs.webkit.org/show_bug.cgi?id=66887
1025
1026         Reviewed by David Hyatt.
1027
1028         Test: fast/css/adjacent-sibling-selector.html
1029
1030         This patch addresses the problem of elements not getting their style recomputed
1031         when they are affected by direct adjacent sibling rules and one of their sibling in
1032         their corresponding rules is modified dynamically.
1033
1034         * css/CSSStyleSelector.cpp:
1035         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1036         (WebCore::parentStylePreventsSharing):
1037         * css/SelectorChecker.cpp:
1038         (WebCore::SelectorChecker::checkSelector):
1039         * dom/Element.cpp:
1040         (WebCore::Element::recalcStyle):
1041         (WebCore::checkForSiblingStyleChanges):
1042         * rendering/style/RenderStyle.cpp:
1043         (WebCore::RenderStyle::RenderStyle):
1044         * rendering/style/RenderStyle.h:
1045         (WebCore::InheritedFlags::affectedByDirectAdjacentRules):
1046         (WebCore::InheritedFlags::setAffectedByDirectAdjacentRules):
1047
1048 2011-09-09  Rafael Antognolli  <antognolli@profusion.mobi>
1049
1050         Make the EFL port use the correct rendering file.
1051         https://bugs.webkit.org/show_bug.cgi?id=66323
1052
1053         Reviewed by Martin Robinson.
1054
1055         When compiling with Pango support, the EFL port should use
1056         FontPango.cpp instead of FontEfl.cpp (which is just full of stubs).
1057
1058         No new functionality so no new tests.
1059
1060         * CMakeListsEfl.txt:
1061
1062 2011-09-09  Chris Rogers  <crogers@google.com>
1063
1064         AudioBufferSourceNode must validate AudioBuffer in .buffer attribute setter
1065         https://bugs.webkit.org/show_bug.cgi?id=67749
1066
1067         Reviewed by Kenneth Russell.
1068
1069         Test: webaudio/audiobuffersource-channels.html
1070
1071         * WebCore.gypi:
1072         * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
1073         (WebCore::JSAudioBufferSourceNode::setBuffer):
1074         * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp: Copied from Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp.
1075         (WebCore::V8AudioBufferSourceNode::bufferAccessorSetter):
1076         * webaudio/AudioBufferSourceNode.cpp:
1077         (WebCore::AudioBufferSourceNode::setBuffer):
1078         * webaudio/AudioBufferSourceNode.h:
1079         * webaudio/AudioBufferSourceNode.idl:
1080
1081 2011-09-09  Dan Bernstein  <mitz@apple.com>
1082
1083         RenderBlock::addOverhangingFloats() takes superfluous parameters
1084         https://bugs.webkit.org/show_bug.cgi?id=67863
1085
1086         Reviewed by Dave Hyatt.
1087
1088         No new tests, because behavior is unchanged.
1089
1090         * rendering/RenderBlock.cpp:
1091         (WebCore::RenderBlock::layoutBlock):
1092         (WebCore::RenderBlock::layoutBlockChild):
1093         (WebCore::RenderBlock::addOverhangingFloats): Removed the logical{Left, Top}Offset parameters,
1094         since they were always the inverse of the logical{Left, Top}() of the child parameter.
1095         * rendering/RenderBlock.h:
1096
1097 2011-09-09  Rafael Antognolli  <antognolli@profusion.mobi>
1098
1099         Add replacement functions for gdk ones.
1100         https://bugs.webkit.org/show_bug.cgi?id=66323
1101
1102         Reviewed by Martin Robinson.
1103
1104         This will allow the EFL port to don't depend on gdk anymore.
1105
1106         No new functionality so no new tests.
1107
1108         * CMakeListsEfl.txt:
1109         * platform/graphics/cairo/CairoUtilities.cpp:
1110         (WebCore::appendRegionToCairoContext):
1111         * platform/graphics/cairo/CairoUtilities.h:
1112         * platform/graphics/pango/FontPango.cpp:
1113         (WebCore::drawGlyphsShadow):
1114         (WebCore::Font::drawComplexText):
1115         * platform/graphics/pango/PangoUtilities.cpp: Added.
1116         (WebCore::getLineClipRegionFromLayoutIter):
1117         (WebCore::getClipRegionFromPangoLayoutLine):
1118         * platform/graphics/pango/PangoUtilities.h: Added.
1119
1120 2011-09-09  Mark Hahnenberg  <mhahnenberg@apple.com>
1121
1122         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
1123         https://bugs.webkit.org/show_bug.cgi?id=67420
1124
1125         Reviewed by Geoffrey Garen.
1126
1127         No new tests.
1128
1129         Completed the fifth level of the refactoring to add finishCreation() 
1130         methods to all classes within the JSCell hierarchy with non-trivial 
1131         constructor bodies.
1132
1133         This primarily consists of pushing the calls to finishCreation() down 
1134         into the constructors of the subclasses of the second level of the hierarchy 
1135         as well as pulling the finishCreation() calls out into the class's corresponding
1136         create() method if it has one.  Doing both simultaneously allows us to 
1137         maintain the invariant that the finishCreation() method chain is called exactly 
1138         once during the creation of an object, since calling it any other number of 
1139         times (0, 2, or more) will cause an assertion failure.
1140
1141         * WebCore.exp.in:
1142         * bindings/js/JSDOMBinding.h:
1143         (WebCore::DOMConstructorObject::DOMConstructorObject):
1144         * bindings/js/JSDOMGlobalObject.cpp:
1145         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
1146         (WebCore::JSDOMGlobalObject::finishCreation):
1147         * bindings/js/JSDOMGlobalObject.h:
1148         * bindings/js/JSDOMWindowShell.cpp:
1149         * bindings/js/JSDOMWindowShell.h:
1150         (WebCore::JSDOMWindowShell::create):
1151         * bindings/js/JSDOMWrapper.h:
1152         (WebCore::JSDOMWrapper::JSDOMWrapper):
1153         * bindings/scripts/CodeGeneratorJS.pm:
1154         (GenerateImplementation):
1155         * bindings/scripts/test/JS/JSTestInterface.cpp:
1156         (WebCore::JSTestInterface::JSTestInterface):
1157         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1158         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
1159         * bindings/scripts/test/JS/JSTestObj.cpp:
1160         (WebCore::JSTestObj::JSTestObj):
1161         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1162         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
1163         * bridge/c/CRuntimeObject.cpp:
1164         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
1165         (JSC::Bindings::CRuntimeObject::finishCreation):
1166         * bridge/c/CRuntimeObject.h:
1167         * bridge/jni/jsc/JavaRuntimeObject.cpp:
1168         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
1169         (JSC::Bindings::JavaRuntimeObject::finishCreation):
1170         * bridge/jni/jsc/JavaRuntimeObject.h:
1171         * bridge/objc/ObjCRuntimeObject.h:
1172         * bridge/objc/ObjCRuntimeObject.mm:
1173         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
1174         (JSC::Bindings::ObjCRuntimeObject::finishCreation):
1175         * bridge/objc/objc_runtime.h:
1176         (JSC::Bindings::ObjcFallbackObjectImp::create):
1177         * bridge/objc/objc_runtime.mm:
1178         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1179         * bridge/qt/qt_instance.cpp:
1180         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
1181         * bridge/qt/qt_pixmapruntime.cpp:
1182         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
1183         * bridge/qt/qt_runtime.cpp:
1184         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
1185         (JSC::Bindings::QtRuntimeMethod::finishCreation):
1186         * bridge/qt/qt_runtime.h:
1187         * bridge/runtime_array.cpp:
1188         (JSC::RuntimeArray::RuntimeArray):
1189         * bridge/runtime_array.h:
1190         (JSC::RuntimeArray::create):
1191         * bridge/runtime_method.cpp:
1192         (JSC::RuntimeMethod::RuntimeMethod):
1193         (JSC::RuntimeMethod::finishCreation):
1194         * bridge/runtime_method.h:
1195         * bridge/runtime_object.cpp:
1196         (JSC::Bindings::RuntimeObject::RuntimeObject):
1197         * bridge/runtime_object.h:
1198         (JSC::Bindings::RuntimeObject::create):
1199
1200 2011-09-09  Rafael Antognolli  <antognolli@profusion.mobi>
1201
1202         Rename FontGtk.cpp to FontPango.cpp
1203         https://bugs.webkit.org/show_bug.cgi?id=66323
1204
1205         Reviewed by Martin Robinson.
1206
1207         This file will be used by the EFL port too, and since it's not GTK
1208         specific anymore, rename it to something better.
1209
1210         No new functionality so no new tests.
1211
1212         * GNUmakefile.list.am:
1213         * platform/graphics/pango/FontPango.cpp: Renamed from Source/WebCore/platform/graphics/gtk/FontGtk.cpp.
1214
1215 2011-09-09  Adam Klein  <adamk@chromium.org>
1216
1217         Initialize ExceptionCode in Element::removeAttribute
1218         https://bugs.webkit.org/show_bug.cgi?id=67820
1219
1220         Reviewed by Darin Adler.
1221
1222         Silences valgrind warning reported in http://crbug.com/76490.
1223
1224         No new tests since this would only very occasionally be flaky,
1225         and in the codepath in the valgrind report, the ec is ignored anyway.
1226
1227         * dom/Element.cpp:
1228         (WebCore::Element::removeAttribute): Initialize ec to 0.
1229
1230 2011-09-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1231
1232         [Qt] Remove common.pri
1233         https://bugs.webkit.org/show_bug.cgi?id=67814
1234
1235         Reviewed by Andreas Kling.
1236
1237         No new tests, no change in functionality.
1238
1239         * CodeGenerators.pri:
1240         * WebCore.pri:
1241
1242 2011-09-09  Dominic Mazzoni  <dmazzoni@google.com>
1243
1244         Assert being hit in AccessibilityRenderObject::addChildren()
1245         https://bugs.webkit.org/show_bug.cgi?id=61805
1246
1247         Reviewed by Chris Fleizach.
1248
1249         Fix nextSibling and previousSibling to handle adjacent continuations
1250         properly, otherwise nodes end up appearing in the accessibility
1251         tree twice (or a debug assertion could be raised).
1252
1253         Test: accessibility/adjacent-continuations-cause-assertion-failure.html
1254
1255         * accessibility/AccessibilityRenderObject.cpp:
1256         (WebCore::AccessibilityRenderObject::previousSibling):
1257         (WebCore::AccessibilityRenderObject::nextSibling):
1258
1259 2011-09-08  Kentaro Hara  <haraken@google.com>
1260
1261         Implement a WebKitAnimationEvent constructor.
1262         https://bugs.webkit.org/show_bug.cgi?id=67825
1263
1264         Reviewed by Sam Weinig.
1265
1266         There is no spec for the WebKitAnimationEvent constructor
1267         since it is WebKit-specific. However, based on the current
1268         IDL of initWebKitAnimationEvent(), the constructor IDL
1269         should be as follows.
1270
1271         [Constructor(DOMString type, optional WebKitAnimationEventInit eventInitDict)]
1272         interface WebKitAnimationEvent : Event {
1273             ...;
1274         }
1275
1276         dictionary WebKitAnimationEventInit : EventInit {
1277             DOMString animationName;
1278             double elapsedTime;
1279         }
1280
1281         Test: fast/events/constructors/webkit-animation-event-constructor.html
1282
1283         * bindings/generic/EventConstructors.h: Added a definition for the WebKitAnimationEvent constructor.
1284         * bindings/js/JSEventConstructors.cpp: Added #includes for WebKitAnimationEvent.
1285         * dom/WebKitAnimationEvent.cpp:
1286         (WebCore::WebKitAnimationEventInit::WebKitAnimationEventInit):
1287         (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
1288         * dom/WebKitAnimationEvent.h: Added a definition for WebKitAnimationEventInit.
1289         (WebCore::WebKitAnimationEvent::create):
1290         * dom/WebKitAnimationEvent.idl: Makes WebKitAnimationEvent constructible.
1291
1292 2011-09-08  Abhishek Arya  <inferno@chromium.org>
1293
1294         :before content rendering issues with list markers and run-ins.
1295         https://bugs.webkit.org/show_bug.cgi?id=67735
1296
1297         1) Remove the isAnonymous checks for run-in detection since the
1298         run-in can belong to a node.
1299         2) When the parent has block children, then the list marker will
1300         be enclosed in an anonymous block. In that case, for going to the
1301         next list marker, we need to traverse one level up. We don't need
1302         this check when searching for generated run-in (loop 2), since we
1303         know parent will have inline children, so the list marker wont be
1304         enclosed in an anonymous block.
1305
1306         Reviewed by Dave Hyatt.
1307
1308         Tests: fast/lists/list-marker-before-content-table.html
1309                fast/runin/runin-generated-before-content.html
1310
1311         * rendering/RenderObjectChildList.cpp:
1312         (WebCore::RenderObjectChildList::beforePseudoElementRenderer):
1313
1314 2011-09-09  Pavel Podivilov  <podivilov@chromium.org>
1315
1316         Web Inspector: introduce JavaScriptSourceFrame class.
1317         https://bugs.webkit.org/show_bug.cgi?id=67838
1318
1319         SourceFrame should not deal with JavaScript debugging since it is a base class for all source frame implementations.
1320
1321         Reviewed by Pavel Feldman.
1322
1323         * WebCore.gypi:
1324         * WebCore.vcproj/WebCore.vcproj:
1325         * inspector/front-end/JavaScriptSourceFrame.js: Added.
1326         (WebInspector.JavaScriptSourceFrame):
1327         (WebInspector.SourceFrameDelegateForScriptsPanel): moved from ScriptsPanel.js
1328         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
1329         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.debuggingSupported):
1330         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint):
1331         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint):
1332         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint):
1333         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint):
1334         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine):
1335         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.canEditScriptSource):
1336         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSource):
1337         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSourceIsBeingEdited):
1338         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.debuggerPaused):
1339         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame):
1340         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult):
1341         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
1342         * inspector/front-end/ScriptsPanel.js:
1343         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
1344         * inspector/front-end/WebKit.qrc:
1345         * inspector/front-end/inspector.html:
1346
1347 2011-09-09  Sheriff Bot  <webkit.review.bot@gmail.com>
1348
1349         Unreviewed, rolling out r94845.
1350         http://trac.webkit.org/changeset/94845
1351         https://bugs.webkit.org/show_bug.cgi?id=67839
1352
1353         This patch kicked Qt-SL bots, but we don't need this
1354         modification. (Requested by ossy_ on #webkit).
1355
1356         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1357         * platform/mac/WebVideoFullscreenController.mm:
1358         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
1359
1360 2011-09-09  Csaba Osztrogon√°c  <ossy@webkit.org>
1361
1362         [Qt][Mac]REGRESSION(r94774): Build is broken
1363         https://bugs.webkit.org/show_bug.cgi?id=67799
1364
1365         It seems these files didn't rebuilt because of a
1366         dependency bug. Touch them to trigger a rebuild.
1367
1368         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1369         * platform/mac/WebVideoFullscreenController.mm:
1370         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
1371
1372 2011-09-09  Alexander Pavlov  <apavlov@chromium.org>
1373
1374         Unreviewed, Chromium valgrind build fix.
1375
1376         Web Inspector: [Chromium] Valgrind signals use of uninitialized field in InspectorStyleSheetForInlineStyle
1377         https://bugs.webkit.org/show_bug.cgi?id=67837
1378
1379         * inspector/InspectorStyleSheet.cpp:
1380         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
1381
1382 2011-09-09  Sheriff Bot  <webkit.review.bot@gmail.com>
1383
1384         Unreviewed, rolling out r94536.
1385         http://trac.webkit.org/changeset/94536
1386         https://bugs.webkit.org/show_bug.cgi?id=67836
1387
1388         breaks absoluteLocation() of RelatedMouseEvent (Requested by
1389         jknotten on #webkit).
1390
1391         * dom/MouseRelatedEvent.cpp:
1392         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
1393
1394 2011-09-08  Alexander Pavlov  <apavlov@chromium.org>
1395
1396         Web Inspector: live edit both for JS and CSS is not discoverable.
1397         https://bugs.webkit.org/show_bug.cgi?id=65962
1398
1399         Add the "Edit" button to SourceFrame, so that resources/scripts can be edited both in the
1400         Resources and the Scripts panels. The button is grayed out if the resource/script is not editable.
1401
1402         Reviewed by Yury Semikhatsky.
1403
1404         * inspector/front-end/Images/statusbarButtonGlyphs.png:
1405         * inspector/front-end/ResourceView.js:
1406         (WebInspector.EditableResourceSourceFrame.prototype.canEditSource):
1407         * inspector/front-end/ScriptsPanel.js:
1408         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
1409         (WebInspector.ScriptsPanel.prototype.set visibleView):
1410         * inspector/front-end/SourceFrame.js:
1411         (WebInspector.SourceFrame):
1412         (WebInspector.SourceFrame.prototype.get statusBarItems):
1413         (WebInspector.SourceFrame.prototype._initializeTextViewer):
1414         (WebInspector.SourceFrame.prototype._editButtonClicked):
1415         (WebInspector.SourceFrame.prototype.canEditSource):
1416         (WebInspector.SourceFrame.prototype.startEditing):
1417         (WebInspector.SourceFrame.prototype.commitEditing):
1418         (WebInspector.SourceFrame.prototype._setReadOnly):
1419         (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
1420         * inspector/front-end/TextViewer.js:
1421         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
1422         (WebInspector.TextEditorMainPanel.prototype._updateSelectionOnStartEditing):
1423         * inspector/front-end/inspector.css:
1424         (button.edit-source-status-bar-item .glyph):
1425         (button.edit-source-status-bar-item.toggled-on .glyph):
1426
1427 2011-09-09  Shinya Kawanaka  <shinyak@google.com>
1428
1429         Crashes in WebCore::AppendNodeCommand::create().
1430         https://bugs.webkit.org/show_bug.cgi?id=67767
1431
1432         Reviewed by Darin Adler.
1433
1434         In CompositeEditCommand::closeParagraphUnderNewElement(), lastNode could be a non Element node.
1435         The current code assumes lastNode is an Element node. This patch checks it.
1436
1437         Test: editing/execCommand/ident-crashes-topnode-is-text.html
1438
1439         * editing/CompositeEditCommand.cpp:
1440         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): Added an element node check.
1441
1442 2011-09-09  Shinya Kawanaka  <shinyak@google.com>
1443
1444         Crashes in WebCore::ApplyStyleCommand.doApply()
1445         https://bugs.webkit.org/show_bug.cgi?id=67765
1446
1447         Reviewed by Ryosuke Niwa.
1448
1449         WebCore::enclosingBlock may return null, but ApplyStyleCommand::applyBlockStyle did not check it. This patch make it to be checked.
1450
1451         Test: editing/style/remove-format-without-enclosing-block.html
1452
1453         * editing/ApplyStyleCommand.cpp:
1454         (WebCore::ApplyStyleCommand::applyBlockStyle): Added null check.
1455
1456 2011-09-09  James Simonsen  <simonjam@chromium.org>
1457
1458         [Chromium] Fix leak of Skia stream with custom CSS fonts
1459         https://bugs.webkit.org/show_bug.cgi?id=67815
1460
1461         Reviewed by Adam Barth.
1462
1463         Test: fast/css/font-face-opentype.html under valgrind
1464
1465         * platform/graphics/mac/FontCustomPlatformData.cpp:
1466         (WebCore::createFontCustomPlatformData):
1467         * platform/graphics/skia/FontCustomPlatformData.cpp:
1468         (WebCore::createFontCustomPlatformData):
1469
1470 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
1471
1472         Push more code from HTMLInputElement::setValue to TextFieldInputType::setValue
1473         https://bugs.webkit.org/show_bug.cgi?id=67742
1474
1475         Reviewed by Darin Adler.
1476
1477         Moved more code in HTMLInputElement::setValue to TextFieldInputType::setValue, and merged
1478         InputType::valueChanged into InputType::setValue. Also introduced
1479         InputType::dispatchChangeEventInResponseToSetValue to be overridden by TextFieldInputType.
1480
1481         * html/BaseButtonInputType.cpp:
1482         (WebCore::BaseButtonInputType::setValue):
1483         * html/BaseButtonInputType.h:
1484         * html/BaseCheckableInputType.cpp:
1485         (WebCore::BaseCheckableInputType::setValue):
1486         * html/BaseCheckableInputType.h:
1487         * html/ColorInputType.cpp:
1488         * html/ColorInputType.h:
1489         * html/FileInputType.cpp:
1490         (WebCore::FileInputType::setValue):
1491         * html/FileInputType.h:
1492         * html/HTMLInputElement.cpp:
1493         (WebCore::HTMLInputElement::setValue):
1494         * html/HTMLInputElement.h:
1495         (WebCore::HTMLInputElement::cacheSelectionInResponseToSetValue):
1496         * html/HiddenInputType.cpp:
1497         (WebCore::HiddenInputType::setValue):
1498         * html/HiddenInputType.h:
1499         * html/InputType.cpp:
1500         (WebCore::InputType::setValue):
1501         (WebCore::InputType::dispatchChangeEventInResponseToSetValue):
1502         * html/InputType.h:
1503         * html/RangeInputType.cpp:
1504         (WebCore::RangeInputType::setValue):
1505         * html/RangeInputType.h:
1506         * html/TextFieldInputType.cpp:
1507         (WebCore::TextFieldInputType::setValue):
1508         (WebCore::TextFieldInputType::dispatchChangeEventInResponseToSetValue):
1509         * html/TextFieldInputType.h:
1510
1511 2011-09-08  Annie Sullivan  <sullivan@chromium.org>
1512
1513         Crashes in WebCore::InsertNodeBeforeCommand constructor.
1514         https://bugs.webkit.org/show_bug.cgi?id=67763
1515
1516         Reviewed by Ryosuke Niwa.
1517
1518         Changes editableRootForPosition() to use the position's containerNode instead of deprecatedNode so that
1519         positions which are before or after a given node cannot return that node as the editable root.
1520
1521         Test: editing/inserting/insert-paragraph-selection-outside-contenteditable.html
1522
1523         * editing/htmlediting.cpp:
1524         (WebCore::editableRootForPosition): use containerNode instead of deprecatedNode.
1525
1526 2011-09-08  James Weatherall  <wez@chromium.org>
1527
1528         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.
1529         https://bugs.webkit.org/show_bug.cgi?id=66181
1530
1531         Reviewed by Anders Carlsson.
1532
1533         No new tests - no functional change.
1534
1535         * html/HTMLPlugInElement.cpp:
1536         (WebCore::HTMLPlugInElement::removedFromDocument):
1537         * html/HTMLPlugInElement.h:
1538
1539 2011-09-08  Daniel Bates  <dbates@webkit.org>
1540
1541         XSS filter bypass via non-standard URL encoding
1542         https://bugs.webkit.org/show_bug.cgi?id=66588
1543
1544         Reviewed by Adam Barth.
1545
1546         Tests: http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html
1547                http/tests/security/xssAuditor/script-tag-with-16bit-unicode.html
1548                http/tests/security/xssAuditor/script-tag-with-16bit-unicode2.html
1549                http/tests/security/xssAuditor/script-tag-with-16bit-unicode3.html
1550                http/tests/security/xssAuditor/script-tag-with-16bit-unicode4.html
1551                http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html
1552                http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html
1553                http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html
1554
1555         Implement support for decoding non-standard 16-bit Unicode escape sequences of
1556         the form %u26C4 as described in <http://www.w3.org/International/iri-edit/draft-duerst-iri.html#anchor29>.
1557
1558         See also <http://en.wikipedia.org/wiki/Percent-encoding#Non-standard_implementations>.
1559
1560         * GNUmakefile.list.am: Added DecodeEscapeSequences.h.
1561         * WebCore.gypi: Ditto.
1562         * WebCore.pro: Ditto.
1563         * WebCore.vcproj/WebCore.vcproj: Ditto.
1564         * WebCore.xcodeproj/project.pbxproj: Ditto.
1565         * html/parser/XSSAuditor.cpp:
1566         (WebCore::decode16BitUnicodeEscapeSequences): Added.
1567         (WebCore::decodeStandardURLEscapeSequences): Added.
1568         (WebCore::fullyDecodeString): Modified to call decode16BitUnicodeEscapeSequences().
1569         (WebCore::XSSAuditor::init): Modified to return early when the URL of the document
1570         is the empty string. This can happen when opening a new browser window or calling
1571         window.open("").
1572         * platform/KURL.cpp:
1573         (WebCore::decodeURLEscapeSequences): Abstracted code into template-function decodeEscapeSequences().
1574         This function just calls decodeEscapeSequences<URLEscapeSequence>().
1575         * platform/text/DecodeEscapeSequences.h: Added.
1576         (WebCore::Unicode16BitEscapeSequence::findInString):
1577         (WebCore::Unicode16BitEscapeSequence::matchStringPrefix):
1578         (WebCore::Unicode16BitEscapeSequence::decodeRun):
1579         (WebCore::URLEscapeSequence::findInString):
1580         (WebCore::URLEscapeSequence::matchStringPrefix):
1581         (WebCore::URLEscapeSequence::decodeRun):
1582         (WebCore::decodeEscapeSequences):
1583
1584 2011-09-08  Adam Barth  <abarth@webkit.org>
1585
1586         DocumentWriter::deprecatedFrameEncoding doesn't need to refert to Settings
1587         https://bugs.webkit.org/show_bug.cgi?id=67812
1588
1589         Reviewed by Eric Seidel.
1590
1591         The one caller of this function does this work already.
1592
1593         * loader/DocumentWriter.cpp:
1594         (WebCore::DocumentWriter::deprecatedFrameEncoding):
1595
1596 2011-09-08  Adam Klein  <adamk@chromium.org>
1597
1598         Always zero-out m_sortedTextBoxesPosition to avoid uninitialized read in TextIterator
1599         https://bugs.webkit.org/show_bug.cgi?id=67810
1600
1601         Reviewed by Tony Chang.
1602
1603         Reported as a valgrind failure in http://crbug.com/84777.
1604
1605         No possible change in behavior, so no tests. The unitialized read
1606         could never have an impact:
1607
1608            if (m_sortedTextBoxesPosition + 1 < m_sortedTextBoxes.size()) ...
1609
1610         Since m_sortedTextBoxes.size() will be zero here if
1611         m_sortedTextBoxesPosition is uninitialized, and they're both unsigned,
1612         so no possible value of m_sortedTextBoxesPosition could be < 0.
1613
1614         * editing/TextIterator.cpp:
1615         (WebCore::TextIterator::TextIterator):
1616
1617 2011-09-08  Tony Chang  <tony@chromium.org>
1618
1619         Cleanup of switch statements with default cases
1620         https://bugs.webkit.org/show_bug.cgi?id=67808
1621
1622         Reviewed by Adam Barth.
1623
1624         No new tests, just a small refactoring.
1625
1626         * page/WebKitAnimation.cpp:
1627         (WebCore::WebKitAnimation::fillMode):
1628         * platform/audio/Distance.cpp:
1629         (WebCore::DistanceEffect::gain):
1630
1631 2011-09-08  Eric Seidel  <eric@webkit.org>
1632
1633         [BiDi] Add support for the BDI element
1634         https://bugs.webkit.org/show_bug.cgi?id=50913
1635
1636         Reviewed by Ryosuke Niwa.
1637
1638         This patch is ridiculously trivial now that we have unicode-bidi: isolate support in WebKit.
1639
1640         Test: css3/bdi-element.html
1641
1642         * css/html.css:
1643         (bdi):
1644
1645 2011-09-08  David Levin  <levin@chromium.org>
1646
1647         [chromium] KURL::copy doesn't produce something usable on another thread.
1648         https://bugs.webkit.org/show_bug.cgi?id=67809
1649
1650         Reviewed by Adam Barth.
1651
1652         No new functionality exposed so no new test. This was caught by testing code: the thread
1653         sanitizer run in Chromium (http://code.google.com/p/chromium/issues/detail?id=93708).
1654
1655         * platform/KURLGoogle.cpp:
1656         (WebCore::KURLGooglePrivate::copyTo): Clear out the invalid String so that it will
1657         not be used on another thread.
1658
1659 2011-09-08  Alexey Proskuryakov  <ap@apple.com>
1660
1661         REGRESSION (r66874): Missing RefPtr in ScriptController
1662         https://bugs.webkit.org/show_bug.cgi?id=67748
1663
1664         Reviewed by Adam Barth.
1665
1666         * bindings/ScriptControllerBase.cpp: (WebCore::ScriptController::executeScript):
1667
1668 2011-09-08  Adam Barth  <abarth@webkit.org>
1669
1670         Second attempt to fix Chromium build.
1671
1672         * dom/Document.h:
1673
1674 2011-09-08  Oliver Hunt  <oliver@apple.com>
1675
1676         Use bump allocator for initial property storage
1677         https://bugs.webkit.org/show_bug.cgi?id=67494
1678
1679         Reviewed by Geoffrey Garen.
1680
1681         Add a forwarding header.
1682
1683         * ForwardingHeaders/runtime/StorageBarrier.h: Added.
1684
1685 2011-09-08  Roland Steiner  <rolandsteiner@chromium.org>
1686
1687         Unreviewed, rolling out r94809.
1688         http://trac.webkit.org/changeset/94809
1689         https://bugs.webkit.org/show_bug.cgi?id=67718
1690
1691         commit _still_ premature, despite CQ eagerness
1692
1693         * html/HTMLAttributeNames.in:
1694         * html/HTMLStyleElement.cpp:
1695         * html/HTMLStyleElement.h:
1696         * html/HTMLStyleElement.idl:
1697
1698 2011-09-08  Sam Weinig  <sam@webkit.org>
1699
1700         Remove the Completion object from JSC, I have never liked it
1701         https://bugs.webkit.org/show_bug.cgi?id=67755
1702
1703         Reviewed by Gavin Barraclough.
1704
1705         * bindings/js/JSDOMBinding.cpp:
1706         (WebCore::reportException):
1707         * bindings/js/JSEventListener.cpp:
1708         (WebCore::JSEventListener::handleEvent):
1709         * bindings/js/JSInjectedScriptManager.cpp:
1710         (WebCore::InjectedScriptManager::createInjectedScript):
1711         * bindings/js/JSMainThreadExecState.h:
1712         (WebCore::JSMainThreadExecState::evaluate):
1713         * bindings/js/ScriptController.cpp:
1714         (WebCore::ScriptController::evaluateInWorld):
1715         * bindings/js/WorkerScriptController.cpp:
1716         (WebCore::WorkerScriptController::evaluate):
1717         * bindings/objc/WebScriptObject.mm:
1718         (-[WebScriptObject evaluateWebScript:]):
1719         * bridge/NP_jsobject.cpp:
1720         (_NPN_Evaluate):
1721         * bridge/jni/jni_jsobject.mm:
1722         (JavaJSObject::eval):
1723
1724 2011-09-08  Adam Barth  <abarth@webkit.org>
1725
1726         Inline DocumentWriter::encoding() into it's only caller: deprecatedFrameEncoding()
1727         https://bugs.webkit.org/show_bug.cgi?id=67807
1728
1729         Reviewed by Eric Seidel.
1730
1731         This function is super nutty.  We don't want any more folks to call it
1732         thinking that it does something sane.
1733
1734         * loader/DocumentWriter.cpp:
1735         (WebCore::DocumentWriter::deprecatedFrameEncoding):
1736         * loader/DocumentWriter.h:
1737
1738 2011-09-08  Roland Steiner  <rolandsteiner@chromium.org>
1739
1740         <style scoped>: Add 'scoped' attribute
1741         https://bugs.webkit.org/show_bug.cgi?id=67718
1742
1743         Add 'scoped' attribute to IDL and attribute list,
1744         implement and test setting/resetting of the attribute.
1745
1746         Reviewed by Dimitri Glazkov.
1747
1748         Test: fast/css/style-scoped/basic-attribute.html
1749
1750         * html/HTMLAttributeNames.in:
1751         * html/HTMLStyleElement.cpp:
1752         (WebCore::HTMLStyleElement::scoped):
1753         (WebCore::HTMLStyleElement::setScoped):
1754         (WebCore::HTMLStyleElement::scopingElement):
1755         * html/HTMLStyleElement.h:
1756         * html/HTMLStyleElement.idl:
1757
1758 2011-09-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1759
1760         Unreviewed, rolling out r94781.
1761         http://trac.webkit.org/changeset/94781
1762         https://bugs.webkit.org/show_bug.cgi?id=67806
1763
1764         Broke Objective-C binding on Mac (Requested by rniwa on
1765         #webkit).
1766
1767         * dom/Element.idl:
1768         * dom/Node.cpp:
1769         (WebCore::Node::contains):
1770         * dom/Node.idl:
1771         * editing/DeleteSelectionCommand.cpp:
1772         (WebCore::DeleteSelectionCommand::mergeParagraphs):
1773
1774 2011-09-08  Eric Seidel  <eric@webkit.org>
1775
1776         Remove DocumentWriter::setDecoder as a grep of WebKit shows no callers
1777         https://bugs.webkit.org/show_bug.cgi?id=67803
1778
1779         Reviewed by Adam Barth.
1780
1781         Smells like dead code.
1782
1783         * loader/DocumentWriter.cpp:
1784         * loader/DocumentWriter.h:
1785
1786 2011-09-08  Shinya Kawanaka  <shinyak@google.com>
1787
1788         Crashes in WebCore::ReplaceSelectionCommand::doApply
1789         https://bugs.webkit.org/show_bug.cgi?id=67762
1790
1791         Reviewed by Ryosuke Niwa.
1792
1793         WebCore::enclosingBlock may return null, but its return value was not checked. This patch checks it.
1794
1795         Tests: editing/inserting/insert-without-enclosing-block.html
1796
1797         * editing/ReplaceSelectionCommand.cpp:
1798         (WebCore::ReplaceSelectionCommand::doApply): Added null check.
1799
1800 2011-09-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1801
1802         Unreviewed, rolling out r94784.
1803         http://trac.webkit.org/changeset/94784
1804         https://bugs.webkit.org/show_bug.cgi?id=67796
1805
1806         Commit was premature (Requested by rolandsteiner on #webkit).
1807
1808         * html/HTMLAttributeNames.in:
1809         * html/HTMLStyleElement.cpp:
1810         * html/HTMLStyleElement.h:
1811         * html/HTMLStyleElement.idl:
1812
1813 2011-09-08  W. James MacLean  <wjmaclean@chromium.org>
1814
1815         [chromium] Add backend compositor support for rescaling (zooming) textures during zoom animation.
1816         https://bugs.webkit.org/show_bug.cgi?id=66472
1817
1818         This patch contains plumbing from Internals to WebViewImpl that can be removed
1819         at a later time when the zoom animator code is complete.
1820
1821         Reviewed by James Robinson.
1822
1823         Test: platform/chromium/compositing/zoom-animator-scale-test.html
1824
1825         * page/Settings.cpp:
1826         (WebCore::Settings::Settings):
1827         * page/Settings.h:
1828         (WebCore::Settings::setZoomAnimatorScale):
1829         (WebCore::Settings::zoomAnimatorScale):
1830         * platform/graphics/chromium/LayerRendererChromium.cpp:
1831         (WebCore::LayerRendererChromium::LayerRendererChromium):
1832         (WebCore::LayerRendererChromium::drawLayersInternal):
1833         * platform/graphics/chromium/LayerRendererChromium.h:
1834         (WebCore::LayerRendererChromium::setZoomAnimatorScale):
1835         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1836         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1837         (WebCore::CCLayerTreeHost::commitTo):
1838         (WebCore::CCLayerTreeHost::setZoomAnimatorScale):
1839         (WebCore::CCLayerTreeHost::updateLayers):
1840         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1841         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1842         (WebCore::CCLayerTreeHostImpl::setZoomAnimatorScale):
1843         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1844         * testing/Internals.cpp:
1845         (WebCore::Internals::setZoomAnimatorScale):
1846         * testing/Internals.h:
1847         * testing/Internals.idl:
1848
1849 2011-09-08  Eric Carlson  <eric.carlson@apple.com>
1850
1851         HTMLMediaElement is missing initialTime attribute
1852         https://bugs.webkit.org/show_bug.cgi?id=67791
1853
1854         Reviewed by Darin Adler.
1855
1856         Test: media/media-initialTime.html
1857
1858         * html/HTMLMediaElement.cpp:
1859         (WebCore::HTMLMediaElement::initialTime):
1860         * html/HTMLMediaElement.h:
1861         * html/HTMLMediaElement.idl:
1862         * platform/graphics/MediaPlayer.cpp:
1863         (WebCore::MediaPlayer::initialTime):
1864         * platform/graphics/MediaPlayer.h:
1865         * platform/graphics/MediaPlayerPrivate.h:
1866         (WebCore::MediaPlayerPrivateInterface::initialTime):
1867
1868 2011-09-03  Robert Hogan  <robert@webkit.org>
1869
1870         Elements with position:absolute don't move to correct position after images load
1871         https://bugs.webkit.org/show_bug.cgi?id=54611
1872
1873         Reviewed by Simon Fraser.
1874
1875         Test: fast/block/positioning/absolute-layout-after-image-load.html
1876
1877         In the test the 'label' block is an absolutely positioned child of an inline flow. So during layout, 
1878         this RenderBlock::layoutPositionedObjects fails to dirty it for rendering because it requires 
1879         the parent to be a BlockFlow. The code to do this was introduced in http://trac.webkit.org/changeset/8284. 
1880         There doesn't seem to be a good reason for requiring a BlockFlow, so remove the check. 
1881
1882         Note: Although the issue is encountered only on first load without a fragment identifier, it 
1883         happens reliably when you include the fragment identifier in the url (#Footnote_1). This is so 
1884         because scrolling to the fragment always happens before the image has loaded, rendering the page 
1885         and clearing the initial dirty bits in the positioned element's renderer. When the image finally 
1886         loads in this scenario, the positioned element is otherwise clean and relies on the above code to get 
1887         re-rendered.
1888
1889         Note: This was originally landed in r94755 but positioned-float-layout-after-image-load.html exposed
1890               an ASSERT bug, unrelated to this change, and was rolled out. That issue is tracked separately
1891               in bug 67759.
1892
1893         * rendering/RenderBlock.cpp:
1894         (WebCore::RenderBlock::layoutPositionedObjects): remove the check for r->parent()->isBlockFlow() when 
1895                                                          deciding whether to mark children for layout
1896
1897 2011-09-08  Roland Steiner  <rolandsteiner@chromium.org>
1898
1899         <style scoped>: Add 'scoped' attribute
1900         https://bugs.webkit.org/show_bug.cgi?id=67718
1901
1902         Add 'scoped' attribute to IDL and attribute list,
1903         implement and test setting/resetting of the attribute.
1904
1905         Reviewed by Dimitri Glazkov.
1906
1907         Test: fast/css/style-scoped/basic-attribute.html
1908
1909         * html/HTMLAttributeNames.in:
1910         * html/HTMLStyleElement.cpp:
1911         (WebCore::HTMLStyleElement::scoped):
1912         (WebCore::HTMLStyleElement::setScoped):
1913         (WebCore::HTMLStyleElement::scopingElement):
1914         * html/HTMLStyleElement.h:
1915         * html/HTMLStyleElement.idl:
1916
1917 2011-09-08  Erik Arvidsson  <arv@chromium.org>
1918
1919         Move Element.contains to Node
1920         https://bugs.webkit.org/show_bug.cgi?id=67651
1921
1922         Reviewed by Darin Adler.
1923
1924         This moves the contains method from Element to Node as in the DOM4 working draft: 
1925         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-contains
1926
1927         This also special cases Document contains to make it O(1) instead of O(depth).
1928
1929         Tests: fast/dom/Node/contains-method.html
1930                perf/document-contains.html
1931
1932         * dom/Element.idl:
1933         * dom/Node.cpp:
1934         (WebCore::Node::contains): Added document special case.
1935         * dom/Node.idl:
1936         * editing/DeleteSelectionCommand.cpp:
1937         (WebCore::DeleteSelectionCommand::mergeParagraphs): Added a null check.
1938
1939 2011-09-08  Chris Rogers  <crogers@google.com>
1940
1941         Check AudioContext createChannelMerger() for thread safety
1942         https://bugs.webkit.org/show_bug.cgi?id=67247
1943
1944         Reviewed by Kenneth Russell.
1945
1946         Test: webaudio/audiochannelmerger-stereo.html
1947
1948         * webaudio/AudioChannelMerger.cpp:
1949         (WebCore::AudioChannelMerger::process):
1950         (WebCore::AudioChannelMerger::checkNumberOfChannelsForInput):
1951         * webaudio/AudioChannelMerger.h:
1952
1953 2011-09-08  Ned Holbrook  <nholbrook@apple.com>
1954
1955         Refactor hyphen measurement
1956         https://bugs.webkit.org/show_bug.cgi?id=67728
1957
1958         Reviewed by Darin Adler.
1959
1960         No new tests, purely refactoring.
1961
1962         * rendering/RenderBlockLineLayout.cpp:
1963         (WebCore::measureHyphenWidth): Added.
1964         (WebCore::setLogicalWidthForTextRun): Use measureHyphenWidth().
1965         (WebCore::tryHyphenating): Ditto.
1966         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Ditto.
1967
1968 2011-09-08  Julien Chaffraix  <jchaffraix@webkit.org>
1969
1970         Remove LayoutStateDisabler instances from RenderLayer
1971         https://bugs.webkit.org/show_bug.cgi?id=66896
1972
1973         Reviewed by Simon Fraser.
1974
1975         As part of r93614, scrollTo does not call updateLayerPositions anymore.
1976         This means that we don't need to disable LayoutState from the scrolling code
1977         in RenderLayer.
1978
1979         This change is covered by the existing tests.
1980
1981         * rendering/RenderLayer.cpp:
1982         (WebCore::RenderLayer::updateLayerPositions): Updated the comment
1983         that was not accurate anymore. Also explained what is wrong with
1984         LayoutState vs RenderLayer now. Note that the ASSERT is still
1985         valid and will not trigger as the remaining calls to updateLayerPositions
1986         are done *outside* layout() where LayoutState is not set (thus disabled).
1987
1988         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed
1989         2 LayoutStateDisabler surrounding scrollToOffset.
1990
1991 2011-09-08  Julien Chaffraix  <jchaffraix@webkit.org>
1992
1993         Factor out the code to get the first non-null RenderTableSection in RenderTable
1994         https://bugs.webkit.org/show_bug.cgi?id=66972
1995
1996         Reviewed by Darin Adler.
1997
1998         Refactoring only, covered by existing tests.
1999
2000         * accessibility/AccessibilityTable.cpp:
2001         (WebCore::AccessibilityTable::addChildren):
2002         (WebCore::AccessibilityTable::cellForColumnAndRow):
2003         * accessibility/AccessibilityTableCell.cpp:
2004         (WebCore::AccessibilityTableCell::rowIndexRange):
2005         Updated those for the signature change in sectionBelow. Also added
2006         a FIXME where topSection should be used instead of iterating
2007         over the section (and likely missing some corner cases).
2008
2009         * rendering/FixedTableLayout.cpp:
2010         (WebCore::FixedTableLayout::calcWidthArray):
2011         * rendering/RenderTable.cpp:
2012         (WebCore::RenderTable::calcBorderStart):
2013         (WebCore::RenderTable::calcBorderEnd):
2014         (WebCore::RenderTable::outerBorderBefore):
2015         (WebCore::RenderTable::sectionAbove):
2016         (WebCore::RenderTable::sectionBelow):
2017         (WebCore::RenderTable::firstLineBoxBaseline):
2018         Updated all those functions to use the newly added functions. Also changed
2019         the variable names to match the functions.
2020
2021         (WebCore::RenderTable::layout):
2022         (WebCore::RenderTable::topNonEmptySection): Newly added function
2023         that returns the top non null section of the table that has at least a
2024         row.
2025
2026         (WebCore::RenderTable::cellAbove):
2027         (WebCore::RenderTable::cellBelow):
2028         Update the signature of those 2 functions to take an enum as it makes the
2029         rest of the code more readable.
2030
2031         * rendering/RenderTable.h:
2032         (WebCore::RenderTable::topSection): Newly added function to return
2033         the top non null section in the table.
2034
2035 2011-04-19  Eric Seidel  <eric@webkit.org>
2036
2037         Reviewed by Ryosuke Niwa.
2038
2039         [BiDi] [CSS3] MASTER: Add support for the unicode-bidi:isolate CSS property
2040         https://bugs.webkit.org/show_bug.cgi?id=50912
2041
2042         This patch adds support for CSS3 unicode-bidi: isolate property, under the -webkit- vendor prefix.
2043         Parsing support was added in a previous patch, this wires up the RenderStyle values
2044         to code changes in the BidiResolver.
2045
2046         The effect of this patch is that it makes it possible to "isolate" runs of text
2047         so that their RTL-ness or LTR-ness does not bleed out into the rest of your text
2048         and effect layout.  This is important because many unicode characters (like parenthesis, ':', '-', etc.)
2049         do not have intrinsic directionality and are affected by whatever characters come before/after.
2050         If you have usernames which include RTL text, if you inject those usernames in your page
2051         you might end up with nearby characters moving!
2052         (like 'RTL USERNAME - my awesome site' as a title, could end up as
2053         'my awesome site - USERNAME RTL' when correct would be 'USERNAME RTL - my awesome site'.)
2054         This patch makes it possible to wrap sections of text in isolated spans, so that
2055         they correctly order all their RTL/LTR contents, but also correctly participate in the
2056         larger RTL/LTR ordering without affecting nearby characters.
2057
2058         Because much of this code is old and rarely touched, I've included extra background
2059         information in hopes of expanding my set of potential reviewers:
2060
2061         WebKit uses the standard "Unicode Bidi Algorithm" henceforth known as the UBA.
2062         The UBA is defined at http://unicode.org/reports/tr9/ for those not faint of heart.
2063
2064         Text layout is done per-block (<div>, <p>, etc), and begins with a string of text
2065         (which in our case comes from the rendering tree) and a specified width.
2066         First:  Text is measured and wrapped into lines.
2067         Second: The UBA is run over the lines of text.
2068         Third:  WebKit builds InlineBoxes (its linebox tree) and eventually render the text.
2069
2070         This patch modifies our UBA to ignore all text content inside "isolated" inlines (treating them as neutral characters)
2071         and then adds another step after running the UBA, where we run the UBA recursively on any
2072         previously identified "isolated" content.
2073
2074         The result of the UBA is an ordered list of "runs" of text with the RTL runs
2075         correctly RTL and the LTR runs LTR.
2076
2077         The UBA does three things:
2078         1.  It assigns a "class" to each character in a text stream (like neutral, strongly-RTL, strongly-LTR, etc.)
2079         2.  Divides the text stream up into "runs" of characters of the same directionality (all RTL, all LTR).
2080         3.  Re-orders those runs.
2081
2082         The UBA in WebKit is implemented by BidiResolver<T> in BidiResolver.h
2083
2084         The InlineBidiResolver (BidiResolver specialization which knows about the rendering tree)
2085         walks along its InlineIterators, looking at each character and running the
2086         Unicode Bidi Algorithm (UBA).  It walks through the rendering tree subtree under
2087         a block, using a (poorly named) bidiNext function which returns the next inline object.
2088         Each inline object (or text character there-in) has a corresponding meaning in the UBA
2089         such as a "strong RTL" character or a "neutral" character.  The UBA reads these sequence
2090         of characters, and figures out what direction (RTL or LTR) to assign to any neutral
2091         characters it encounters, based on surrounding characters.
2092
2093         As the InlineBidiResolver is walking the rendering tree, the InlineIterator::advance()
2094         function calls bidiNext(), which in turn can call notifyObserverEnteredObject/notifyObserverWillExitObject
2095         notifying InlineBidiResolver that it is entering or exiting an "isolated"
2096         span, at which point it will either start or stop ignoring the stream of characters
2097         from the InlineIterator.  When the InlineBidiResolver is ignoring the stream of
2098         characters, instead of creating separate BidiRuns at each RTL/LTR boundary
2099         as it normally would, it instead creates one "fake" run for the entire
2100         isolated span.  These fake runs participate in the normal UBA run ordering process,
2101         but after the main UBA, a second pass is made where we examine
2102         the list of isolatedRuns() and run the UBA on each of them, replacing the fake
2103         run we previously inserted, with the resulting list of runs from that inner UBA run.
2104         The way it "ignores" characters is by treating them all as neutral when inside an isolate.
2105         Thus all the characters end up grouped in a single run, but their directionality (as a group)
2106         is correctly affected by any surrounding strong characters.
2107
2108         If you understood that last paragraph, than the rest of the change is just plumbing.
2109
2110         I added a huge number of FIXMEs to this code, because this code has a variety of
2111         design choices (or lack there of) which make some of this very difficult.
2112
2113         For example the bidiNext iterator function has two sets of mutually exclusive
2114         parameters and can be used optionally with or without an observer.  Prior to this
2115         change there was only ever one object which cared about observing a walk over inlines
2116         and that was InlineBidiResolver.  This patch (regretfully) templatizes bidiNext
2117         to support a new Observer type.  The correct fix would be to rip bidiNext into
2118         multiple functions and rip need for observation out of InlineBidiResolver.
2119         Unfortunately I've tried both in separate bugs and failed.  This code is very very
2120         old and very poorly understood.  We're slowly moving forward, this is another tiny step.
2121
2122         This is my fourth iteration of this patch (I'm happy to do more!), but I believe
2123         it's a good compromise between fixing all of the design gotcha's of our bidi
2124         system and doing the minimum amount to add this killer CSS feature.
2125
2126         I ran the PLT.  (It averaged 0.2% faster with this change, but I attribute that to noise).
2127
2128         Test: css3/unicode-bidi-isolate-basic.html and css3/unicode-bidi-isolate-aharon.html
2129
2130         * platform/text/BidiResolver.h:
2131         (WebCore::BidiCharacterRun::setNext):
2132          - Needed by the new replaceRunWithRuns function.
2133         (WebCore::BidiResolver::BidiResolver):
2134         (WebCore::BidiResolver::~BidiResolver):
2135         (WebCore::BidiResolver::enterIsolate):
2136         (WebCore::BidiResolver::exitIsolate):
2137         (WebCore::BidiResolver::inIsolate):
2138         (WebCore::BidiResolver::isolatedRuns):
2139          - Used to track isolated spans of text as they're encoutered.
2140            They're stuffed away here to be processed recursively
2141            after the main UBA has done its thang.
2142         (WebCore::::appendRun):
2143         (WebCore::::embed):
2144         (WebCore::::commitExplicitEmbedding):
2145         (WebCore::::createBidiRunsForLine):
2146         * platform/text/BidiRunList.h:
2147         (WebCore::::replaceRunWithRuns):
2148          - This effectively takes all the runs from one runlist and adds them to
2149            this one, replacing the fake run we inserted during a previous pass of the UBA.
2150          - This RunList now owns the runs, so we call clear() on the other RunList
2151            so that we don't end up double-freeing the runs.
2152         (WebCore::::clear):
2153          - This allows us to "take" runs from another run list and then clear it.
2154         * rendering/BidiRun.h:
2155         (WebCore::BidiRun::object):
2156         * rendering/InlineIterator.h:
2157         (WebCore::InlineIterator::object):
2158         (WebCore::InlineIterator::offset):
2159         (WebCore::notifyObserverEnteredObject): Mostly just renaming and adding a FIXME about plaintext.
2160         (WebCore::notifyObserverWillExitObject): Mostly just renaming.
2161         (WebCore::addPlaceholderRunForIsolatedInline):
2162         (WebCore::isIsolatedInline):
2163         (WebCore::InlineBidiResolver::appendRun):
2164         * rendering/RenderBlockLineLayout.cpp:
2165         (WebCore::statusWithDirection):
2166         (WebCore::constructBidiRuns):
2167          - This is the heavy-lifting of this change.  This function
2168            runs the UBA recursively on all the previously identified isolated spans.
2169          - If we encounter more isolated spans in our run, we just add them to the
2170            main list an keep going.  Because the runs are linked lists and we have
2171            direct pointers to our placeholder objects, we don't care what order
2172            we process the placeholders in, so long as when we're done, they're all processed.
2173         (WebCore::RenderBlock::layoutInlineChildren):
2174
2175 2011-09-08  Kentaro Hara  <haraken@google.com>
2176
2177         Implement a ProgressEvent constructor for JSC
2178         https://bugs.webkit.org/show_bug.cgi?id=67537
2179
2180         Reviewed by Sam Weinig.
2181
2182         The spec for the ProgressEvent constructor is here:
2183         http://www.w3.org/TR/progress-events/#interface-progressevent
2184
2185         Test: fast/events/constructors/progress-event-constructor.html
2186
2187         * bindings/generic/EventConstructors.h: Added a definition for the ProgressEvent constructor.
2188         * bindings/js/JSDictionary.cpp:
2189         (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
2190         * bindings/js/JSEventConstructors.cpp: Added #includes for ProgressEvent.
2191         * dom/ProgressEvent.cpp:
2192         (WebCore::ProgressEventInit::ProgressEventInit):
2193         (WebCore::ProgressEvent::ProgressEvent):
2194         * dom/ProgressEvent.h: Added a definition for ProgressEventInit.
2195         (WebCore::ProgressEvent::create):
2196         * dom/ProgressEvent.idl: Makes ProgressEvent constructible.
2197
2198 2011-09-08  Ryosuke Niwa  <rniwa@webkit.org>
2199
2200         Make bindings tests quiet after r94701.
2201
2202         * bindings/scripts/test/JS/JSTestInterface.cpp:
2203         * bindings/scripts/test/JS/JSTestInterface.h:
2204         (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
2205         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2206         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2207         (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
2208         * bindings/scripts/test/JS/JSTestObj.cpp:
2209         * bindings/scripts/test/JS/JSTestObj.h:
2210         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
2211         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2212         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2213         (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
2214
2215 2011-09-07  Pavel Podivilov  <podivilov@chromium.org>
2216
2217         Web Inspector: get rid of RawSourceCode.createSourceMappingIfNeeded.
2218         https://bugs.webkit.org/show_bug.cgi?id=67717
2219
2220         Listen to SourceMappingUpdated event instead of using createSourceMappingIfNeeded.
2221
2222         Reviewed by Yury Semikhatsky.
2223
2224         * inspector/front-end/DebuggerPresentationModel.js:
2225         (WebInspector.DebuggerPresentationModel):
2226         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
2227         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
2228         (WebInspector.DebuggerPresentationModel.prototype._updateSourceMapping):
2229         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
2230         (WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages):
2231         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
2232         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
2233         (WebInspector.DebuggerPresentationModel.prototype._createPresentationMessage):
2234         (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
2235         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
2236         (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
2237         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2238         (WebInspector.PresentationCallFrame.prototype.sourceLine.sourceMappingUpdated):
2239         (WebInspector.PresentationCallFrame.prototype.sourceLine):
2240         * inspector/front-end/SourceFile.js:
2241
2242 2011-09-06  Pavel Podivilov  <podivilov@chromium.org>
2243
2244         Web Inspector: do not re-create RawSourceCode when toggling pretty-print mode.
2245         https://bugs.webkit.org/show_bug.cgi?id=67647
2246
2247         1) Implement RawSourceCode.setFormatted that allows toggling pretty-print mode on the fly without resetting everything.
2248         2) Add RawSourceCode unit tests.
2249         3) Remove source mapping listeners and console messages from presentation model (they live in RawSourceCode now).
2250
2251         Reviewed by Yury Semikhatsky.
2252
2253         Test: inspector/debugger/raw-source-code.html
2254
2255         * inspector/front-end/DebuggerPresentationModel.js:
2256         (WebInspector.DebuggerPresentationModel):
2257         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
2258         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2259         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
2260         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
2261         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
2262         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2263         * inspector/front-end/ScriptsPanel.js:
2264         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
2265         * inspector/front-end/SourceFile.js:
2266         (WebInspector.RawSourceCode):
2267         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
2268         (WebInspector.RawSourceCode.prototype.setFormatted):
2269         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
2270         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
2271
2272 2011-09-08  Alexander Pavlov  <apavlov@chromium.org>
2273
2274         Web Inspector: [REGRESSION] Clear console shortcut Ctrl + L broken
2275         https://bugs.webkit.org/show_bug.cgi?id=67711
2276
2277         Reviewed by Yury Semikhatsky.
2278
2279         * inspector/front-end/ConsoleView.js:
2280         (WebInspector.ConsoleView.prototype._consoleCleared):
2281         (WebInspector.ConsoleView.prototype._registerShortcuts):
2282         (WebInspector.ConsoleView.prototype._promptKeyDown):
2283
2284 2011-09-08  Andras Becsi  <andras.becsi@nokia.com>
2285
2286         [Qt] Build fails with strict compiler
2287         https://bugs.webkit.org/show_bug.cgi?id=67778
2288
2289         Reviewed by Csaba Osztrogon√°c.
2290
2291         No new tests needed.
2292
2293         * platform/graphics/TiledBackingStore.cpp:
2294         (WebCore::TiledBackingStore::resizeEdgeTiles): Remove unused contentsRect variable
2295         which's usage was removed in r94681 to fix the build with [-Werror=unused-but-set-variable].
2296
2297 2011-09-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2298
2299         Unreviewed, rolling out r94695.
2300         http://trac.webkit.org/changeset/94695
2301         https://bugs.webkit.org/show_bug.cgi?id=67776
2302
2303         Hitting an assertion on Snow Leopard, Qt, GTK (Requested by
2304         Zoltan on #webkit).
2305
2306         * rendering/RenderBlock.cpp:
2307         (WebCore::RenderBlock::positionedFloatsNeedRelayout):
2308         (WebCore::RenderBlock::layoutPositionedObjects):
2309
2310 2011-09-08  Alexander Pavlov  <apavlov@chromium.org>
2311
2312         Unreviewed, strip trailing whitespace in the Web Inspector frontend (*.js and *.css).
2313
2314         * inspector/front-end/ApplicationCacheItemsView.js:
2315         * inspector/front-end/AuditResultView.js:
2316         * inspector/front-end/BinarySearch.js:
2317         * inspector/front-end/CSSStyleModel.js:
2318         * inspector/front-end/ConsoleMessage.js:
2319         * inspector/front-end/ConsoleModel.js:
2320         * inspector/front-end/ConsoleView.js:
2321         * inspector/front-end/CookieItemsView.js:
2322         * inspector/front-end/CookieParser.js:
2323         * inspector/front-end/DOMAgent.js:
2324         * inspector/front-end/DOMStorage.js:
2325         * inspector/front-end/DOMStorageItemsView.js:
2326         * inspector/front-end/DataGrid.js:
2327         * inspector/front-end/Database.js:
2328         * inspector/front-end/DatabaseQueryView.js:
2329         * inspector/front-end/DetailedHeapshotGridNodes.js:
2330         * inspector/front-end/DetailedHeapshotView.js:
2331         * inspector/front-end/ElementsTreeOutline.js:
2332         * inspector/front-end/EmptyView.js:
2333         * inspector/front-end/EventListenersSidebarPane.js:
2334         * inspector/front-end/ExtensionCommon.js:
2335         * inspector/front-end/GoToLineDialog.js:
2336         * inspector/front-end/HeapSnapshot.js:
2337         * inspector/front-end/HeapSnapshotProxy.js:
2338         * inspector/front-end/HeapSnapshotWorkerDispatcher.js:
2339         * inspector/front-end/ImageView.js:
2340         * inspector/front-end/InjectedFakeWorker.js:
2341         * inspector/front-end/InspectorFrontendHostStub.js:
2342         * inspector/front-end/MetricsSidebarPane.js:
2343         * inspector/front-end/NetworkManager.js:
2344         * inspector/front-end/NetworkPanel.js:
2345         * inspector/front-end/ObjectPropertiesSection.js:
2346         * inspector/front-end/PartialQuickSort.js:
2347         * inspector/front-end/ProfileView.js:
2348         * inspector/front-end/ProfilesPanel.js:
2349         * inspector/front-end/RemoteObject.js:
2350         * inspector/front-end/Resource.js:
2351         * inspector/front-end/ResourceCategory.js:
2352         * inspector/front-end/ResourceHTMLView.js:
2353         * inspector/front-end/ResourceHeadersView.js:
2354         * inspector/front-end/ResourceJSONView.js:
2355         * inspector/front-end/ResourceTimingView.js:
2356         * inspector/front-end/ResourceTreeModel.js:
2357         * inspector/front-end/ResourceView.js:
2358         * inspector/front-end/ResourcesPanel.js:
2359         * inspector/front-end/SearchController.js:
2360         * inspector/front-end/SettingsScreen.js:
2361         * inspector/front-end/ShortcutsScreen.js:
2362         * inspector/front-end/SourceCSSTokenizer.js:
2363         * inspector/front-end/SourceHTMLTokenizer.js:
2364         * inspector/front-end/SourceJavaScriptTokenizer.js:
2365         * inspector/front-end/StatusBarButton.js:
2366         * inspector/front-end/TextEditorModel.js:
2367         * inspector/front-end/TimelineGrid.js:
2368         * inspector/front-end/View.js:
2369         * inspector/front-end/heapProfiler.css:
2370         * inspector/front-end/inspector.css:
2371         * inspector/front-end/inspector.js:
2372         * inspector/front-end/inspectorSyntaxHighlight.css:
2373         * inspector/front-end/networkPanel.css:
2374         * inspector/front-end/treeoutline.js:
2375         * inspector/front-end/utilities.js:
2376
2377 2011-09-07  Andrey Kosyakov  <caseq@chromium.org>
2378
2379         Web Inspector: trying to scroll mouse wheel when in TextViewer's gutter pane causes EventException::DISPATCH_REQUEST_ERR
2380         https://bugs.webkit.org/show_bug.cgi?id=67715
2381
2382         Reviewed by Yury Semikhatsky.
2383
2384         - avoid exception on attempt to dispatch an event that is being dispatched by cloning the event.
2385
2386         * inspector/front-end/TextViewer.js:
2387         (WebInspector.TextViewer.forwardWheelEvent):
2388         (WebInspector.TextViewer):
2389
2390 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2391
2392         Unreviewed, rolling out r94674 and r94689.
2393         http://trac.webkit.org/changeset/94674
2394         http://trac.webkit.org/changeset/94689
2395         https://bugs.webkit.org/show_bug.cgi?id=67754
2396
2397         Broke inspector/debugger/script-formatter.html (Requested by
2398         rniwa on #webkit).
2399
2400         * inspector/front-end/DebuggerPresentationModel.js:
2401         (WebInspector.DebuggerPresentationModel):
2402         (WebInspector.DebuggerPresentationModel.prototype.addSourceMappingListener):
2403         (WebInspector.DebuggerPresentationModel.prototype.removeSourceMappingListener):
2404         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
2405         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2406         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
2407         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
2408         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
2409         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
2410         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2411         * inspector/front-end/ScriptsPanel.js:
2412         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
2413         * inspector/front-end/SourceFile.js:
2414         (WebInspector.RawSourceCode):
2415         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
2416         (WebInspector.RawSourceCode.prototype.get rawSourceCode):
2417         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
2418         (WebInspector.RawSourceCode.prototype.requestContent):
2419         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
2420
2421 2011-09-07  Julien Chaffraix  <jchaffraix@webkit.org>
2422
2423         offsetFromRoot optimization is disabled after r93837
2424         https://bugs.webkit.org/show_bug.cgi?id=67677
2425
2426         Reviewed by Simon Fraser.
2427
2428         Unfortunately not covered by any test as it does not change updateLayerPosition complexity (it is still O(n^2)
2429         because of clippedOverflowRectForRepaint). However it is a noticeable slowdown on some use cases but we don't
2430         have a good test harness to cover such slowdown.
2431
2432         * rendering/RenderLayer.cpp:
2433         (WebCore::RenderLayer::updateLayerPositions): Pass offsetFromRoot as not doing so means that we miss
2434         the optimization altogether.
2435
2436         (WebCore::RenderLayer::computeRepaintRects):
2437         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
2438         * rendering/RenderLayer.h:
2439         Renamed |cachedOffset| to |offsetFromRoot| to be consistent with our latest renaming.
2440
2441 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
2442
2443         Windows build fix after r94737.
2444
2445         * rendering/RenderBlock.cpp:
2446         (WebCore::RenderBlock::adjustRectForColumns):
2447
2448 2011-09-07  Dan Bernstein  <mitz@apple.com>
2449
2450         Removed hyphenation function implementations for an usupported build configuration.
2451
2452         Reviewed by Sam Weinig.
2453
2454         * platform/text/cf/HyphenationCF.cpp:
2455
2456 2011-09-07  David Hyatt  <hyatt@apple.com>
2457
2458         https://bugs.webkit.org/show_bug.cgi?id=67739
2459
2460         adjustRectForColumns is O(# of columns) when it can be O(1). Fix the slow performance of this
2461         function by removing the loop and just computing the start and end column for a repaint rect
2462         and uniting everything in between.
2463
2464         Reviewed by Dan Bernstein.
2465
2466         * rendering/RenderBlock.cpp:
2467         (WebCore::RenderBlock::adjustRectForColumns):
2468
2469 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2470
2471         Unreviewed, rolling out r94714 and r94723.
2472         http://trac.webkit.org/changeset/94714
2473         http://trac.webkit.org/changeset/94723
2474         https://bugs.webkit.org/show_bug.cgi?id=67746
2475
2476         breaks gtk-linux tests with assertion failure (Requested by
2477         thorton on #webkit).
2478
2479         * platform/graphics/GraphicsContext.cpp:
2480         (WebCore::GraphicsContext::GraphicsContext):
2481         (WebCore::GraphicsContext::~GraphicsContext):
2482         * platform/graphics/GraphicsContext.h:
2483         (WebCore::GraphicsContext::inTransparencyLayer):
2484         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2485         (WebCore::GraphicsContext::beginTransparencyLayer):
2486         (WebCore::GraphicsContext::endTransparencyLayer):
2487         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
2488         (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
2489         (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
2490         * platform/graphics/cg/GraphicsContextCG.cpp:
2491         (WebCore::GraphicsContext::beginTransparencyLayer):
2492         (WebCore::GraphicsContext::endTransparencyLayer):
2493         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
2494         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2495         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
2496         (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
2497         (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
2498         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
2499         (WebCore::GraphicsContext::beginTransparencyLayer):
2500         (WebCore::GraphicsContext::endTransparencyLayer):
2501         * platform/graphics/mac/FontMac.mm:
2502         (WebCore::Font::drawGlyphs):
2503         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
2504         (WebCore::GraphicsContext::beginTransparencyLayer):
2505         (WebCore::GraphicsContext::endTransparencyLayer):
2506         * platform/graphics/qt/GraphicsContextQt.cpp:
2507         (WebCore::GraphicsContext::inTransparencyLayer):
2508         (WebCore::GraphicsContext::beginTransparencyLayer):
2509         (WebCore::GraphicsContext::endTransparencyLayer):
2510         * platform/graphics/skia/GraphicsContextSkia.cpp:
2511         (WebCore::GraphicsContext::beginTransparencyLayer):
2512         (WebCore::GraphicsContext::endTransparencyLayer):
2513         * platform/graphics/win/FontCGWin.cpp:
2514         (WebCore::drawGDIGlyphs):
2515         * platform/graphics/win/GraphicsContextCGWin.cpp:
2516         (WebCore::GraphicsContext::releaseWindowsContext):
2517         * platform/graphics/win/GraphicsContextCairoWin.cpp:
2518         (WebCore::GraphicsContext::releaseWindowsContext):
2519         * platform/graphics/win/GraphicsContextWin.cpp:
2520         (WebCore::GraphicsContext::inTransparencyLayer):
2521         (WebCore::GraphicsContext::getWindowsContext):
2522         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2523         (WebCore::GraphicsContext::beginTransparencyLayer):
2524         (WebCore::GraphicsContext::endTransparencyLayer):
2525         * platform/graphics/wx/GraphicsContextWx.cpp:
2526         (WebCore::GraphicsContext::beginTransparencyLayer):
2527         (WebCore::GraphicsContext::endTransparencyLayer):
2528         * platform/win/ScrollbarThemeWin.cpp:
2529         (WebCore::ScrollbarThemeWin::paintTrackPiece):
2530         (WebCore::ScrollbarThemeWin::paintButton):
2531         (WebCore::ScrollbarThemeWin::paintThumb):
2532         * plugins/win/PluginViewWin.cpp:
2533         (WebCore::PluginView::paint):
2534         * rendering/RenderThemeWin.cpp:
2535         (WebCore::drawControl):
2536
2537 2011-09-07  Chris Fleizach  <cfleizach@apple.com>
2538
2539         Changes to aria-hidden don't change VO navigation
2540         https://bugs.webkit.org/show_bug.cgi?id=67722
2541
2542         Reviewed by Darin Adler.
2543
2544         When altering aria-hidden, WebCore needs to update the children caches of 
2545         affected elements. However, for elements that were children, but ignored, their
2546         caches did not get updated, and stale information would be propagated.
2547
2548         The fix is to always clearChildren() when a parent is asking for children. This 
2549         ensures information is always up to date when the parent itself is asking for new data.
2550
2551         Test: accessibility/aria-hidden-updates-alldescendants.html
2552
2553         * accessibility/AccessibilityObject.h:
2554         * accessibility/AccessibilityRenderObject.cpp:
2555         (WebCore::AccessibilityRenderObject::ariaIsHidden):
2556         (WebCore::AccessibilityRenderObject::childrenChanged):
2557         (WebCore::AccessibilityRenderObject::addChildren):
2558
2559 2011-09-07  Tim Horton  <timothy_horton@apple.com>
2560
2561         Text rendered with a simple (i.e. 0px blur) shadow inside a transparency layer has a double shadow
2562         https://bugs.webkit.org/show_bug.cgi?id=67543
2563         <rdar://problem/10070536>
2564
2565         Reviewed by Simon Fraser.
2566
2567         Generalize (begin|end)TransparencyLayer, which now forward
2568         through to (begin|end)PlatformTransparencyLayer, so that
2569         isInTransparencyLayer can exist on every platform.
2570
2571         Make use of isInTransparencyLayer in FontMac to disable
2572         "simple" shadow drawing when the text is being rendered
2573         into a transparency layer.
2574
2575         Test: svg/custom/simple-text-double-shadow.svg
2576
2577         * platform/graphics/GraphicsContext.cpp:
2578         (WebCore::GraphicsContext::GraphicsContext):
2579         (WebCore::GraphicsContext::~GraphicsContext):
2580         (WebCore::GraphicsContext::beginTransparencyLayer):
2581         (WebCore::GraphicsContext::endTransparencyLayer):
2582         (WebCore::GraphicsContext::isInTransparencyLayer):
2583         * platform/graphics/GraphicsContext.h:
2584         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2585         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2586         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
2587         (WebCore::GraphicsContext::supportsTransparencyLayers):
2588         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
2589         * platform/graphics/cg/GraphicsContextCG.cpp:
2590         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2591         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
2592         (WebCore::GraphicsContext::supportsTransparencyLayers):
2593         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
2594         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2595         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
2596         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2597         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
2598         (WebCore::GraphicsContext::supportsTransparencyLayers):
2599         * platform/graphics/mac/FontMac.mm:
2600         (WebCore::Font::drawGlyphs):
2601         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
2602         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2603         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
2604         (WebCore::GraphicsContext::supportsTransparencyLayers):
2605         * platform/graphics/qt/GraphicsContextQt.cpp:
2606         (WebCore::GraphicsContext::isInTransparencyLayer):
2607         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2608         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
2609         (WebCore::GraphicsContext::supportsTransparencyLayers):
2610         * platform/graphics/skia/GraphicsContextSkia.cpp:
2611         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2612         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
2613         (WebCore::GraphicsContext::supportsTransparencyLayers):
2614         * platform/graphics/win/FontCGWin.cpp:
2615         (WebCore::drawGDIGlyphs):
2616         * platform/graphics/win/GraphicsContextCGWin.cpp:
2617         (WebCore::GraphicsContext::releaseWindowsContext):
2618         * platform/graphics/win/GraphicsContextCairoWin.cpp:
2619         (WebCore::GraphicsContext::releaseWindowsContext):
2620         * platform/graphics/win/GraphicsContextWin.cpp:
2621         (WebCore::GraphicsContext::getWindowsContext):
2622         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2623         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2624         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
2625         (WebCore::GraphicsContext::supportsTransparencyLayers):
2626         * platform/graphics/wx/GraphicsContextWx.cpp:
2627         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2628         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
2629         (WebCore::GraphicsContext::supportsTransparencyLayers):
2630         * platform/win/ScrollbarThemeWin.cpp:
2631         * plugins/win/PluginViewWin.cpp:
2632         * rendering/RenderThemeWin.cpp:
2633
2634 2011-09-07  Dan Bernstein  <mitz@apple.com>
2635
2636         <rdar://problem/8881922> Support the hyphenate-limit-lines property
2637         https://bugs.webkit.org/show_bug.cgi?id=67730
2638
2639         Reviewed by Dave Hyatt.
2640
2641         Tests: fast/css/parsing-hyphenate-limit-lines.html
2642                fast/text/hyphenate-limit-lines.html
2643
2644         * css/CSSComputedStyleDeclaration.cpp:
2645         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added hyphenate-limit-lines.
2646         * css/CSSParser.cpp:
2647         (WebCore::CSSParser::parseValue): Ditto. Valid values are non-negative integers and the keyword
2648         "no-limit".
2649         * css/CSSPropertyNames.in: Added -webkit-hyphenate-limit-lines.
2650         * css/CSSStyleSelector.cpp:
2651         (WebCore::CSSStyleSelector::applyProperty): Added hyphenate-limit-lines.
2652         * css/CSSValueKeywords.in: Added the "no-limit" value keyword.
2653         * rendering/RenderBlock.h:
2654         * rendering/RenderBlockLineLayout.cpp:
2655         (WebCore::RenderBlock::layoutRunsAndFloats): Count the number of consecutive hyphenated lines
2656         before the start line and pass it to layoutRunsAndFloatsInRange().
2657         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Keep track of the number of consecutive
2658         hyphenated lines before the current line and pass it to LineBreaker::nextLineBreak().
2659         (WebCore::tryHyphenating): Added parameters for the number of consecutive hyphenated lines before
2660         the current line and the limit on consecutive hyphenated lines, and an early return if the limit
2661         has been reached.
2662         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Added a parameter for the number of consecutive
2663         hyphenated lines before the current line, which is passed through to tryHyphenating, along with
2664         the value of hyphenate-limit-lines.
2665         * rendering/RootInlineBox.cpp:
2666         (WebCore::RootInlineBox::isHyphenated): Added. Returns true if the line was hyphenated.
2667         * rendering/RootInlineBox.h:
2668         * rendering/style/RenderStyle.h:
2669         (WebCore::InheritedFlags::hyphenationLimitLines): Added this getter.
2670         (WebCore::InheritedFlags::setHyphenationLimitLines): Added this setter.
2671         (WebCore::InheritedFlags::initialHyphenationLimitLines): Added. The initial value is -1,
2672         corresponding to "no-limit".
2673         * rendering/style/StyleRareInheritedData.cpp:
2674         (WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize new member variable.
2675         (WebCore::StyleRareInheritedData::operator==): Compare new member variable.
2676         * rendering/style/StyleRareInheritedData.h:
2677
2678 2011-09-02  Ojan Vafai  <ojan@chromium.org>
2679
2680         split overrideSize into overrideHeight and overrideWidth
2681         https://bugs.webkit.org/show_bug.cgi?id=67550
2682
2683         Reviewed by Sam Weinig.
2684
2685         All uses of overrideSize only set one of the width or the height.
2686         This change removes a bool from RenderObject and removes some
2687         flexbox specific logic from RenderBox.
2688
2689         The only downside is that we have two global maps where we used
2690         to have one.
2691
2692         No functional changes so existing tests are sufficient.
2693
2694         * rendering/RenderBox.cpp:
2695         (WebCore::RenderBox::hasOverrideHeight):
2696         (WebCore::RenderBox::hasOverrideWidth):
2697         (WebCore::RenderBox::setOverrideHeight):
2698         (WebCore::RenderBox::setOverrideWidth):
2699         (WebCore::RenderBox::clearOverrideSize):
2700         (WebCore::RenderBox::overrideWidth):
2701         (WebCore::RenderBox::overrideHeight):
2702         (WebCore::RenderBox::computeLogicalWidth):
2703         (WebCore::RenderBox::computeLogicalHeight):
2704         (WebCore::RenderBox::computePercentageLogicalHeight):
2705         * rendering/RenderBox.h:
2706         * rendering/RenderDeprecatedFlexibleBox.cpp:
2707         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
2708         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
2709         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
2710         * rendering/RenderFlexibleBox.cpp:
2711         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenHorizontal):
2712         * rendering/RenderObject.cpp:
2713         (WebCore::RenderObject::RenderObject):
2714         * rendering/RenderObject.h:
2715         * rendering/RenderTableCell.cpp:
2716         (WebCore::RenderTableCell::setOverrideHeightFromRowHeight):
2717         * rendering/RenderTableCell.h:
2718         * rendering/RenderTableSection.cpp:
2719         (WebCore::RenderTableSection::calcRowLogicalHeight):
2720         (WebCore::RenderTableSection::layoutRows):
2721
2722 2011-09-07  Alexei Svitkine  <asvitkine@chromium.org>
2723
2724         Add test infrastructure to test rubber-banding overhang drawing along with layout tests for existing Chromium Mac overhang drawing in the non-gpu path.
2725         https://bugs.webkit.org/show_bug.cgi?id=67511
2726
2727         Reviewed by Dimitri Glazkov.
2728
2729         Tests: platform/chromium-mac/rubberbanding/overhang-e.html
2730                platform/chromium-mac/rubberbanding/overhang-n.html
2731                platform/chromium-mac/rubberbanding/overhang-ne.html
2732                platform/chromium-mac/rubberbanding/overhang-nw.html
2733                platform/chromium-mac/rubberbanding/overhang-s.html
2734                platform/chromium-mac/rubberbanding/overhang-se.html
2735                platform/chromium-mac/rubberbanding/overhang-sw.html
2736                platform/chromium-mac/rubberbanding/overhang-w.html
2737
2738         * WebCore.exp.in:
2739         * platform/ScrollableArea.h:
2740         * testing/Internals.cpp:
2741         (WebCore::Internals::setScrollViewPosition):
2742         * testing/Internals.h:
2743         * testing/Internals.idl:
2744
2745 2011-09-07  David Reveman  <reveman@chromium.org>
2746
2747         [Chromium] Render surface anti-aliasing.
2748         https://bugs.webkit.org/show_bug.cgi?id=66437
2749
2750         Reviewed by James Robinson.
2751
2752         Add CCLayerQuad class and CCLayerQuad::Edge subclass to allow
2753         edge computations to be shared between tiled layers and render
2754         surfaces. Move isCCW utility function to FloatQuad class and
2755         add to2dTransform method to TransformationMatrix class. Add
2756         necessary anti-aliasing shaders for render surfaces and use them
2757         to avoid aliased edges.
2758
2759         Tests: compositing/reflections/nested-reflection-transformed.html (existing)
2760
2761         * WebCore.gypi:
2762         * platform/graphics/FloatQuad.cpp:
2763         (WebCore::FloatQuad::isCounterclockwise):
2764         * platform/graphics/FloatQuad.h:
2765         * platform/graphics/chromium/LayerChromium.cpp:
2766         (WebCore::LayerChromium::drawTexturedQuad):
2767         * platform/graphics/chromium/LayerChromium.h:
2768         * platform/graphics/chromium/LayerRendererChromium.cpp:
2769         (WebCore::LayerRendererChromium::LayerRendererChromium):
2770         (WebCore::LayerRendererChromium::headsUpDisplayProgram):
2771         (WebCore::LayerRendererChromium::renderSurfaceProgram):
2772         (WebCore::LayerRendererChromium::renderSurfaceProgramAA):
2773         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
2774         (WebCore::LayerRendererChromium::renderSurfaceMaskProgramAA):
2775         (WebCore::LayerRendererChromium::tilerProgramSwizzle):
2776         (WebCore::LayerRendererChromium::canvasLayerProgram):
2777         (WebCore::LayerRendererChromium::pluginLayerProgram):
2778         (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
2779         (WebCore::LayerRendererChromium::videoLayerYUVProgram):
2780         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2781         * platform/graphics/chromium/LayerRendererChromium.h:
2782         (WebCore::LayerRendererChromium::sharedGeometryQuad):
2783         * platform/graphics/chromium/ShaderChromium.cpp:
2784         (WebCore::VertexShaderQuad::VertexShaderQuad):
2785         (WebCore::VertexShaderQuad::init):
2786         (WebCore::VertexShaderQuad::getShaderString):
2787         (WebCore::FragmentShaderRGBATexAlphaAA::FragmentShaderRGBATexAlphaAA):
2788         (WebCore::FragmentShaderRGBATexAlphaAA::init):
2789         (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
2790         (WebCore::FragmentTexClampAlphaAABinding::FragmentTexClampAlphaAABinding):
2791         (WebCore::FragmentTexClampAlphaAABinding::init):
2792         (WebCore::FragmentShaderRGBATexClampAlphaAA::getShaderString):
2793         (WebCore::FragmentShaderRGBATexClampSwizzleAlphaAA::getShaderString):
2794         (WebCore::FragmentShaderRGBATexAlphaMaskAA::FragmentShaderRGBATexAlphaMaskAA):
2795         (WebCore::FragmentShaderRGBATexAlphaMaskAA::init):
2796         (WebCore::FragmentShaderRGBATexAlphaMaskAA::getShaderString):
2797         * platform/graphics/chromium/ShaderChromium.h:
2798         (WebCore::VertexShaderQuad::matrixLocation):
2799         (WebCore::VertexShaderQuad::pointLocation):
2800         (WebCore::FragmentShaderRGBATexAlphaAA::alphaLocation):
2801         (WebCore::FragmentShaderRGBATexAlphaAA::samplerLocation):
2802         (WebCore::FragmentShaderRGBATexAlphaAA::edgeLocation):
2803         (WebCore::FragmentShaderRGBATexAlphaMaskAA::alphaLocation):
2804         (WebCore::FragmentShaderRGBATexAlphaMaskAA::samplerLocation):
2805         (WebCore::FragmentShaderRGBATexAlphaMaskAA::maskSamplerLocation):
2806         (WebCore::FragmentShaderRGBATexAlphaMaskAA::edgeLocation):
2807         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
2808         (WebCore::CCCanvasLayerImpl::draw):
2809         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2810         (WebCore::CCHeadsUpDisplay::draw):
2811         * platform/graphics/chromium/cc/CCLayerQuad.cpp: Added.
2812         (WebCore::CCLayerQuad::Edge::Edge):
2813         (WebCore::CCLayerQuad::CCLayerQuad):
2814         (WebCore::CCLayerQuad::floatQuad):
2815         (WebCore::CCLayerQuad::toFloatArray):
2816         * platform/graphics/chromium/cc/CCLayerQuad.h: Added.
2817         (WebCore::CCLayerQuad::Edge::Edge):
2818         (WebCore::CCLayerQuad::Edge::x):
2819         (WebCore::CCLayerQuad::Edge::y):
2820         (WebCore::CCLayerQuad::Edge::z):
2821         (WebCore::CCLayerQuad::Edge::setX):
2822         (WebCore::CCLayerQuad::Edge::setY):
2823         (WebCore::CCLayerQuad::Edge::setZ):
2824         (WebCore::CCLayerQuad::Edge::set):
2825         (WebCore::CCLayerQuad::Edge::moveX):
2826         (WebCore::CCLayerQuad::Edge::moveY):
2827         (WebCore::CCLayerQuad::Edge::moveZ):
2828         (WebCore::CCLayerQuad::Edge::move):
2829         (WebCore::CCLayerQuad::Edge::scaleX):
2830         (WebCore::CCLayerQuad::Edge::scaleY):
2831         (WebCore::CCLayerQuad::Edge::scaleZ):
2832         (WebCore::CCLayerQuad::Edge::scale):
2833         (WebCore::CCLayerQuad::Edge::intersect):
2834         (WebCore::CCLayerQuad::CCLayerQuad):
2835         (WebCore::CCLayerQuad::left):
2836         (WebCore::CCLayerQuad::top):
2837         (WebCore::CCLayerQuad::right):
2838         (WebCore::CCLayerQuad::bottom):
2839         (WebCore::CCLayerQuad::inflateX):
2840         (WebCore::CCLayerQuad::inflateY):
2841         (WebCore::CCLayerQuad::inflate):
2842         (WebCore::CCLayerQuad::inflateAntiAliasingDistance):
2843         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
2844         (WebCore::CCPluginLayerImpl::draw):
2845         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2846         (WebCore::CCRenderSurface::draw):
2847         (WebCore::CCRenderSurface::drawLayer):
2848         (WebCore::CCRenderSurface::drawSurface):
2849         * platform/graphics/chromium/cc/CCRenderSurface.h:
2850         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2851         (WebCore::CCTiledLayerImpl::draw):
2852         (WebCore::CCTiledLayerImpl::drawTiles):
2853         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2854         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2855         (WebCore::CCVideoLayerImpl::drawYUV):
2856         (WebCore::CCVideoLayerImpl::drawRGBA):
2857         * platform/graphics/transforms/TransformationMatrix.cpp:
2858         (WebCore::TransformationMatrix::to2dTransform):
2859         * platform/graphics/transforms/TransformationMatrix.h:
2860
2861 2011-09-06  Oliver Hunt  <oliver@apple.com>
2862
2863         Remove JSObjectWithGlobalObject
2864         https://bugs.webkit.org/show_bug.cgi?id=67689
2865
2866         Reviewed by Geoff Garen.
2867
2868         Remove use of anonymous storage and JSObjectWithGlobalObject for
2869         accessing a JSObject's global object now that they're available
2870         on the object's structure.
2871
2872         * bindings/js/JSDOMWindowShell.cpp:
2873         (WebCore::JSDOMWindowShell::setWindow):
2874         * bindings/js/JSDOMWrapper.h:
2875         (WebCore::JSDOMWrapper::globalObject):
2876         (WebCore::JSDOMWrapper::JSDOMWrapper):
2877         * bindings/js/WorkerScriptController.cpp:
2878         (WebCore::WorkerScriptController::initScript):
2879         * bindings/scripts/CodeGeneratorJS.pm:
2880         (GenerateHeader):
2881         (GenerateImplementation):
2882         * bridge/objc/objc_runtime.h:
2883         * bridge/objc/objc_runtime.mm:
2884         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
2885         (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
2886         * bridge/runtime_object.cpp:
2887         (JSC::Bindings::RuntimeObject::RuntimeObject):
2888         (JSC::Bindings::RuntimeObject::finishCreation):
2889         * bridge/runtime_object.h:
2890
2891 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
2892
2893         Mac build fix after r94694.
2894
2895         * WebCore.xcodeproj/project.pbxproj:
2896
2897 2011-09-07  Tim Horton  <timothy_horton@apple.com>
2898
2899         FELighting is using width instead of height to determine skip for parallel(n>2) case
2900         https://bugs.webkit.org/show_bug.cgi?id=67719
2901         <rdar://problem/10086178>
2902
2903         Reviewed by Dirk Schulze.
2904
2905         No new tests, because the bug only exhibits under conditions which are currently
2906         impossible by default (using more than 2 cores) on some platforms.
2907
2908         * platform/graphics/filters/FELighting.cpp:
2909         (WebCore::FELighting::platformApplyGeneric):
2910
2911 2011-09-07  W. James MacLean  <wjmaclean@chromium.org>
2912
2913         Eliminate motion jitter in animated, blurred SVG image
2914         https://bugs.webkit.org/show_bug.cgi?id=67503
2915
2916         Fixes filter shear-free transform applied to SVG images.
2917
2918         In applyResource() the shearFreeAbsoluteTransform is applied to the drawing region,
2919         which is based on the object bounding box (which doesn't move). For a rotation
2920         around the centre of the box, this should really just be the identity matrix,
2921         since the BB should neither change size nor location. So really, we're just interested
2922         in the scale change of the BB here, and not in moving it.
2923
2924         This impacts how slices are extracted, and affects the {x|y}Mid and {x|y}Max extractions
2925         for vertical and horizontal slices, so the test verifies these.
2926
2927         Reviewed by Dirk Schulze.
2928
2929         Test: svg/W3C-SVG-1.1-SE/filters-image-05-f.svg
2930
2931         * rendering/svg/RenderSVGResourceFilter.cpp:
2932         (WebCore::RenderSVGResourceFilter::applyResource):
2933
2934 2011-09-03  Robert Hogan  <robert@webkit.org>
2935
2936         Elements with position:absolute don't move to correct position after images load
2937         https://bugs.webkit.org/show_bug.cgi?id=54611
2938
2939         Reviewed by Simon Fraser.
2940
2941         Test: fast/block/positioning/absolute-layout-after-image-load.html
2942               fast/block/positioning/positioned-float-layout-after-image-load.html
2943
2944         In the test the 'label' block is an absolutely positioned child of an inline flow. So during layout, 
2945         this RenderBlock::layoutPositionedObjects fails to dirty it for rendering because it requires 
2946         the parent to be a BlockFlow. The code to do this was introduced in http://trac.webkit.org/changeset/8284. 
2947         There doesn't seem to be a good reason for requiring a BlockFlow, so remove the check. Do the same
2948         for positioned floats in RenderBlock::positionedFloatsNeedRelayout(), although currently layoutPositionedObjects()
2949         takes care of it this at least ensures no regression in future.
2950
2951         Note: Although the issue is encountered only on first load without a fragment identifier, it 
2952         happens reliably when you include the fragment identifier in the url (#Footnote_1). This is so 
2953         because scrolling to the fragment always happens before the image has loaded, rendering the page 
2954         and clearing the initial dirty bits in the positioned element's renderer. When the image finally 
2955         loads in this scenario, the positioned element is otherwise clean and relies on the above code to get 
2956         re-rendered.
2957
2958         * rendering/RenderBlock.cpp:
2959         (WebCore::RenderBlock::layoutPositionedObjects): remove the check for r->parent()->isBlockFlow() when 
2960                                                          deciding whether to mark children for layout
2961         (WebCore::RenderBlock::positionedFloatsNeedRelayout): ditto
2962
2963 2011-09-07  Anna Cavender  <annacc@chromium.org>
2964
2965         Moving platform/track to html/track to avoid layering violation.
2966         https://bugs.webkit.org/show_bug.cgi?id=67680
2967
2968         Reviewed by Adam Barth.
2969
2970         No new tests. No new functionality.
2971
2972         * CMakeLists.txt:
2973         * GNUmakefile.am:
2974         * GNUmakefile.list.am:
2975         * WebCore.gyp/WebCore.gyp:
2976         * WebCore.gypi:
2977         * WebCore.pri:
2978         * WebCore.pro:
2979         * html/track/CueParser.cpp: Renamed from Source/WebCore/platform/track/CueParser.cpp.
2980         * html/track/CueParser.h: Renamed from Source/WebCore/platform/track/CueParser.h.
2981         * html/track/CueParserPrivate.h: Renamed from Source/WebCore/platform/track/CueParserPrivate.h.
2982         * html/track/WebVTTParser.cpp: Renamed from Source/WebCore/platform/track/WebVTTParser.cpp.
2983         * html/track/WebVTTParser.h: Renamed from Source/WebCore/platform/track/WebVTTParser.h.
2984         * html/track/WebVTTToken.h: Renamed from Source/WebCore/platform/track/WebVTTToken.h.
2985         * html/track/WebVTTTokenizer.cpp: Renamed from Source/WebCore/platform/track/WebVTTTokenizer.cpp.
2986         * html/track/WebVTTTokenizer.h: Renamed from Source/WebCore/platform/track/WebVTTTokenizer.h.
2987
2988 2011-09-07  David Hyatt  <hyatt@apple.com>
2989
2990         https://bugs.webkit.org/show_bug.cgi?id=67286
2991
2992         REGRESSION: css2.1/t090204-display-change-01-b-ao.html fails after r94084.
2993
2994         Make sure that the trailing floats line box explicitly sets the line top with leading and line bottom with
2995         leading to just be the block height.
2996
2997         Reviewed by Dan Bernstein.
2998
2999         * rendering/RenderBlockLineLayout.cpp:
3000         (WebCore::RenderBlock::linkToEndLineIfNeeded):
3001
3002 2011-09-06  Abhishek Arya  <inferno@chromium.org>
3003
3004         Null owningRenderer crash in RenderScrollbar::updateScrollbarParts.
3005         https://bugs.webkit.org/show_bug.cgi?id=67669
3006
3007         Reviewed by James Robinson.
3008
3009         Owning renderer can be cleared for custom scrollbars in clearOwningRenderer()
3010         call. We need a null check in updateScrollbarParts, so that we do not crash.
3011
3012         No tests since issue seen in crash reports only and I donot know a way to
3013         reproduce.
3014
3015         * rendering/RenderScrollbar.cpp:
3016         (WebCore::RenderScrollbar::updateScrollbarParts):
3017
3018 2011-09-05  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3019
3020         [Qt][WK2] Make TiledDrawingArea request tiles only in the direction the viewport is panned to.
3021         https://bugs.webkit.org/show_bug.cgi?id=67606
3022
3023         Reviewed by Noam Rosenthal.
3024
3025         TiledBackingStore previously used different values for horizontal and vertial multiplication
3026         to calculate the cover area.
3027         This patch replaces this mechanism, used to give a bigger panning range to vertical panning,
3028         with the possibility to use the motion vector of the viewport to request tiles ahead instead.
3029         This allows economies on rendering resources as tiles won't be rendered beside the trajectory
3030         of the viewport.
3031
3032         * platform/graphics/TiledBackingStore.cpp:
3033         (WebCore::TiledBackingStore::TiledBackingStore):
3034         (WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers):
3035         (WebCore::TiledBackingStore::setCoverAreaFocusVector):
3036         (WebCore::TiledBackingStore::createTiles):
3037         (WebCore::TiledBackingStore::calculateKeepRect):
3038         (WebCore::TiledBackingStore::calculateCoverRect):
3039         * platform/graphics/TiledBackingStore.h:
3040         (WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers):
3041
3042 2011-09-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3043
3044         [Qt] TiledBackingStore: Import the resizeEdgeTiles logic from TiledDrawindAreaProxy.
3045         https://bugs.webkit.org/show_bug.cgi?id=67416
3046
3047         Reviewed by Kenneth Rohde Christiansen.
3048
3049         Original code by Antti Koivisto.
3050         With the current code, when the page is layouted during load, edge tiles will
3051         get removed instead of continuing to show their front buffer while the tile
3052         is being rendered for the new size.
3053
3054         * platform/graphics/Tile.h:
3055         * platform/graphics/TiledBackingStore.cpp:
3056         (WebCore::TiledBackingStore::createTiles):
3057         (WebCore::TiledBackingStore::resizeEdgeTiles):
3058         * platform/graphics/TiledBackingStore.h:
3059         * platform/graphics/qt/TileQt.cpp:
3060         (WebCore::TileQt::resize):
3061         * platform/graphics/qt/TileQt.h:
3062
3063 2011-09-07  Tim Horton  <timothy_horton@apple.com>
3064
3065         Don't round-trip through TransformationMatrix in SVGImageBufferTools::clearAffineTransform2DRotation
3066         https://bugs.webkit.org/show_bug.cgi?id=67242
3067         <rdar://problem/10069770>
3068
3069         Reviewed by Dirk Schulze.
3070
3071         No new tests, minor performance improvement.
3072
3073         * platform/graphics/transforms/AffineTransform.cpp:
3074         (WebCore::AffineTransform::blend):
3075         (WebCore::AffineTransform::decompose):
3076         (WebCore::AffineTransform::recompose):
3077         * platform/graphics/transforms/AffineTransform.h:
3078         * rendering/svg/SVGImageBufferTools.cpp:
3079         (WebCore::SVGImageBufferTools::clear2DRotation):
3080
3081 2011-09-06  Pavel Podivilov  <podivilov@chromium.org>
3082
3083         Web Inspector: do not re-create RawSourceCode when toggling pretty-print mode.
3084         https://bugs.webkit.org/show_bug.cgi?id=67647
3085
3086         1) Implement RawSourceCode.setFormatted that allows toggling pretty-print mode on the fly without resetting everything.
3087         2) Add RawSourceCode unit tests.
3088         3) Remove source mapping listeners and console messages from presentation model (they live in RawSourceCode now).
3089
3090         Reviewed by Yury Semikhatsky.
3091
3092         Test: inspector/debugger/raw-source-code.html
3093
3094         * inspector/front-end/DebuggerPresentationModel.js:
3095         (WebInspector.DebuggerPresentationModel):
3096         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
3097         (WebInspector.DebuggerPresentationModel.prototype._addScript):
3098         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
3099         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
3100         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
3101         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
3102         * inspector/front-end/ScriptsPanel.js:
3103         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
3104         * inspector/front-end/SourceFile.js:
3105         (WebInspector.RawSourceCode):
3106         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
3107         (WebInspector.RawSourceCode.prototype.setFormatted):
3108         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
3109         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
3110
3111 2011-09-07  Alexander Pavlov  <apavlov@chromium.org>
3112
3113         Web Inspector: Implement circular tabbing through the Styles sidebar pane contents
3114         https://bugs.webkit.org/show_bug.cgi?id=67127
3115
3116         Reviewed by Yury Semikhatsky.
3117
3118         * inspector/front-end/Section.js:
3119         (WebInspector.Section.prototype.get firstSibling):
3120         (WebInspector.Section.prototype.get lastSibling):
3121         * inspector/front-end/StylesSidebarPane.js:
3122         (WebInspector.StylePropertiesSection.prototype.nextEditableSibling):
3123         (WebInspector.StylePropertiesSection.prototype.previousEditableSibling):
3124         (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
3125         (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):
3126         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
3127         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
3128         (WebInspector.StylePropertyTreeElement.prototype):
3129         (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
3130
3131 2011-09-02  Andrey Kosyakov  <caseq@chromium.org>
3132
3133         Web Inspector: [Extensions API] expose console API
3134         https://bugs.webkit.org/show_bug.cgi?id=67506
3135
3136         Reviewed by Pavel Feldman.
3137
3138         Test: inspector/extensions/extensions-console.html
3139
3140         * inspector/front-end/ConsoleMessage.js:
3141         (WebInspector.ConsoleMessage.prototype.get text):
3142         (WebInspector.ConsoleMessage.prototype.get parameters):
3143         * inspector/front-end/ExtensionAPI.js:
3144         (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
3145         (WebInspector.injectedExtensionAPI):
3146         (WebInspector.injectedExtensionAPI.Console.prototype.getMessages):
3147         (WebInspector.injectedExtensionAPI.Console.prototype.addMessage):
3148         (WebInspector.injectedExtensionAPI.Console.prototype.get MessageLevel):
3149         (WebInspector.injectedExtensionAPI.Network.dispatchRequestEvent):
3150         (WebInspector.injectedExtensionAPI.Network):
3151         (WebInspector.injectedExtensionAPI.AuditCategoryImpl.dispatchAuditEvent):
3152         (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
3153         (WebInspector.injectedExtensionAPI.InspectedWindow.dispatchResourceEvent):
3154         (WebInspector.injectedExtensionAPI.InspectedWindow.dispatchResourceContentEvent):
3155         (WebInspector.injectedExtensionAPI.InspectedWindow):
3156         * inspector/front-end/ExtensionCommon.js:
3157         (WebInspector.commonExtensionSymbols):
3158         * inspector/front-end/ExtensionServer.js:
3159         (WebInspector.ExtensionServer):
3160         (WebInspector.ExtensionServer.prototype._notifyConsoleMessageAdded):
3161         (WebInspector.ExtensionServer.prototype._onGetConsoleMessages):
3162         (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
3163         (WebInspector.ExtensionServer.prototype._makeConsoleMessage):
3164         (WebInspector.ExtensionServer.prototype._makeConsoleMessage.convertParameter):
3165         (WebInspector.ExtensionServer.prototype._dispatchCallback):
3166         (WebInspector.ExtensionServer.prototype.initExtensions):
3167
3168 2011-09-05  Andrey Kosyakov  <caseq@chromium.org>
3169
3170         Web Inspector: disable popover when a mouse button is pressed
3171         https://bugs.webkit.org/show_bug.cgi?id=67610
3172
3173         Reviewed by Pavel Feldman.
3174
3175         - disable popover when a mouse button is pressed
3176         - disable popover in a SourceFrame when the source is being edited
3177
3178         * inspector/front-end/Popover.js:
3179         (WebInspector.PopoverHelper):
3180         (WebInspector.PopoverHelper.prototype._mouseUp):
3181         (WebInspector.PopoverHelper.prototype._mouseDown):
3182         (WebInspector.PopoverHelper.prototype._handleMouseAction):
3183         * inspector/front-end/SourceFrame.js:
3184         (WebInspector.SourceFrame.prototype._onHidePopover):
3185         (WebInspector.SourceFrame.prototype.doubleClick):
3186
3187 2011-09-07  Antti Koivisto  <antti@apple.com>
3188
3189         https://bugs.webkit.org/show_bug.cgi?id=67634
3190         De-virtualize styleForRenderer()
3191
3192         Reviewed by Sam Weinig.
3193         
3194         This has performance and code clarity benefits.
3195
3196         - move styleForRenderer from Node to Element
3197         - get rid of the now unnecessary NodeRenderingContext parameter
3198         - de-virtualize, add virtual customStyleForRenderer()
3199
3200         * dom/Element.cpp:
3201         (WebCore::Element::customStyleForRenderer):
3202         (WebCore::Element::styleForRenderer):
3203         (WebCore::Element::recalcStyle):
3204         * dom/Element.h:
3205         * dom/Node.cpp:
3206         * dom/Node.h:
3207         (WebCore::Node::hasCustomWillOrDidRecalcStyle):
3208         (WebCore::Node::setHasCustomWillOrDidRecalcStyle):
3209         (WebCore::Node::hasCustomStyleForRenderer):
3210         (WebCore::Node::setHasCustomStyleForRenderer):
3211         
3212             Move styleForRenderer, add customStyleForRenderer, add a bit.
3213         
3214         * dom/NodeRenderingContext.cpp:
3215         (WebCore::NodeRendererFactory::createRendererAndStyle): 
3216         
3217             Handle non-element case separately since styleForRenderer was moved from Node to Element.
3218
3219         * html/HTMLNoScriptElement.cpp:
3220         (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
3221         (WebCore::HTMLNoScriptElement::customStyleForRenderer):
3222         * html/HTMLNoScriptElement.h:
3223         
3224             Move a strange XHTMLMP special case to where it belongs.
3225
3226         * html/HTMLOptGroupElement.cpp:
3227         (WebCore::HTMLOptGroupElement::attach):
3228         * html/HTMLOptionElement.cpp:
3229         (WebCore::HTMLOptionElement::attach):
3230         * html/HTMLTitleElement.cpp:
3231         (WebCore::HTMLTitleElement::textWithDirection):
3232         * html/shadow/TextControlInnerElements.cpp:
3233         (WebCore::TextControlInnerElement::TextControlInnerElement):
3234         (WebCore::TextControlInnerElement::customStyleForRenderer):
3235         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
3236         (WebCore::TextControlInnerTextElement::customStyleForRenderer):
3237         * html/shadow/TextControlInnerElements.h:
3238         * rendering/svg/SVGShadowTreeElements.cpp:
3239         (WebCore::SVGShadowTreeContainerElement::customStyleForRenderer):
3240         * rendering/svg/SVGShadowTreeElements.h:
3241         * svg/SVGElement.cpp:
3242         (WebCore::SVGElement::SVGElement):
3243         (WebCore::SVGElement::customStyleForRenderer):
3244         * svg/SVGElement.h:
3245         
3246             Adopt customStyleForRenderer().
3247
3248 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
3249
3250         Change event is not fired for input[type=number] when the user reverts a change made by script
3251         https://bugs.webkit.org/show_bug.cgi?id=67697
3252
3253         Reviewed by Kent Tamura.
3254
3255         The bug was caused by HTMLInputElement::setValue not calling setTextAsOfLastFormControlChangeEvent
3256         for text fields other than type=text.
3257
3258         Also fixed a that stepUpFromRenderer does not call setTextAsOfLastFormControlChangeEvent at appropriate
3259         timing due to setValueAsNumber always passing sendChangeEvent=false to setValue by propagating values
3260         through setValueAsNumber and applyStep. This refactoring allows us to remove calls to dispatch* in
3261         stepUpFromRenderer because they're now called in setValueAsNumber or applyStep.
3262
3263         Test: fast/forms/number-input-changeevent.html
3264
3265         * html/BaseDateAndTimeInputType.cpp:
3266         (WebCore::BaseDateAndTimeInputType::setValueAsNumber):
3267         * html/BaseDateAndTimeInputType.h:
3268         * html/HTMLInputElement.cpp:
3269         (WebCore::HTMLInputElement::applyStep):
3270         (WebCore::HTMLInputElement::stepUp):
3271         (WebCore::HTMLInputElement::stepDown):
3272         (WebCore::HTMLInputElement::setValue):
3273         (WebCore::HTMLInputElement::setValueAsNumber):
3274         (WebCore::HTMLInputElement::stepUpFromRenderer):
3275         * html/HTMLInputElement.h:
3276         * html/InputType.cpp:
3277         (WebCore::InputType::setValueAsNumber):
3278         * html/InputType.h:
3279         * html/NumberInputType.cpp:
3280         (WebCore::NumberInputType::setValueAsNumber):
3281         * html/NumberInputType.h:
3282         * html/RangeInputType.cpp:
3283         (WebCore::RangeInputType::setValueAsNumber):
3284         (WebCore::RangeInputType::handleKeydownEvent):
3285         * html/RangeInputType.h:
3286
3287 2011-09-07  Antti Koivisto  <antti@apple.com>
3288
3289         Try to fix Qt build by moving the Qt specific include (which is not really allowed here!).
3290
3291         Not reviewed.
3292
3293         * css/CSSStyleSelector.cpp:
3294         * css/SelectorChecker.cpp:
3295         (WebCore::SelectorChecker::determineLinkStateSlowCase):
3296
3297 2011-09-07  Antti Koivisto  <antti@apple.com>
3298
3299         Move SelectorChecker out from CSSStyleSelector scope
3300         https://bugs.webkit.org/show_bug.cgi?id=67648
3301
3302         Reviewed by Sam Weinig.
3303
3304         - Move SelectorChecker to SelectorChecker.h/cpp
3305         - Make private functions private
3306         - Make members private, add accessors
3307         - Move m_sameOriginOnly to CSSStyleSelector as it is not used by SelectorChecker
3308
3309         * CMakeLists.txt:
3310         * GNUmakefile.list.am:
3311         * WebCore.gypi:
3312         * WebCore.pro:
3313         * WebCore.vcproj/WebCore.vcproj:
3314         * WebCore.xcodeproj/project.pbxproj:
3315         * css/CSSStyleSelector.cpp:
3316         (WebCore::CSSStyleSelector::CSSStyleSelector):
3317         (WebCore::CSSStyleSelector::matchRules):
3318         (WebCore::CSSStyleSelector::matchRulesForList):
3319         (WebCore::CSSStyleSelector::sortMatchedRules):
3320         (WebCore::CSSStyleSelector::initForStyleResolve):
3321         (WebCore::CSSStyleSelector::matchUARules):
3322         (WebCore::CSSStyleSelector::styleForElement):
3323         (WebCore::CSSStyleSelector::pseudoStyleForElement):
3324         (WebCore::CSSStyleSelector::styleForPage):
3325         (WebCore::CSSStyleSelector::adjustRenderStyle):
3326         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
3327         (WebCore::CSSStyleSelector::checkSelector):
3328         (WebCore::RuleData::RuleData):
3329         (WebCore::CSSStyleSelector::applyProperty):
3330         (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
3331         (WebCore::CSSStyleSelector::setFontSize):
3332         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
3333         * css/CSSStyleSelector.h:
3334         (WebCore::CSSStyleSelector::style):
3335         (WebCore::CSSStyleSelector::parentStyle):
3336         (WebCore::CSSStyleSelector::rootElementStyle):
3337         (WebCore::CSSStyleSelector::element):
3338         (WebCore::CSSStyleSelector::fontDescription):
3339         (WebCore::CSSStyleSelector::parentFontDescription):
3340         (WebCore::CSSStyleSelector::setFontDescription):
3341         (WebCore::CSSStyleSelector::setZoom):
3342         (WebCore::CSSStyleSelector::setEffectiveZoom):
3343         (WebCore::CSSStyleSelector::setTextSizeAdjust):
3344         (WebCore::CSSStyleSelector::setStyle):
3345         (WebCore::CSSStyleSelector::fontSelector):
3346         (WebCore::CSSStyleSelector::allVisitedStateChanged):
3347         (WebCore::CSSStyleSelector::visitedStateChanged):
3348         (WebCore::CSSStyleSelector::usesSiblingRules):
3349         (WebCore::CSSStyleSelector::usesFirstLineRules):
3350         (WebCore::CSSStyleSelector::usesBeforeAfterRules):
3351         (WebCore::CSSStyleSelector::usesLinkRules):
3352         (WebCore::CSSStyleSelector::addMatchedRule):
3353         (WebCore::CSSStyleSelector::isRightPage):
3354         (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
3355         (WebCore::CSSStyleSelector::styleNotYetAvailable):
3356         * css/SelectorChecker.cpp: Added.
3357         (WebCore::SelectorChecker::SelectorChecker):
3358         (WebCore::linkAttribute):
3359         (WebCore::SelectorChecker::determineLinkStateSlowCase):
3360         (WebCore::SelectorChecker::checkSelector):
3361         (WebCore::SelectorChecker::fastCheckSelector):
3362         (WebCore::SelectorChecker::isFastCheckableSelector):
3363         (WebCore::addLocalNameToSet):
3364         (WebCore::createHtmlCaseInsensitiveAttributesSet):
3365         (WebCore::htmlAttributeHasCaseInsensitiveValue):
3366         (WebCore::attributeQualifiedNameMatches):
3367         (WebCore::attributeValueMatches):
3368         (WebCore::anyAttributeMatches):
3369         (WebCore::SelectorChecker::checkOneSelector):
3370         (WebCore::SelectorChecker::checkScrollbarPseudoClass):
3371         (WebCore::SelectorChecker::allVisitedStateChanged):
3372         (WebCore::SelectorChecker::visitedStateChanged):
3373         * css/SelectorChecker.h: Added.
3374         (WebCore::SelectorChecker::document):
3375         (WebCore::SelectorChecker::strictParsing):
3376         (WebCore::SelectorChecker::isCollectingRulesOnly):
3377         (WebCore::SelectorChecker::setCollectingRulesOnly):
3378         (WebCore::SelectorChecker::isMatchingVisitedPseudoClass):
3379         (WebCore::SelectorChecker::setMatchingVisitedPseudoClass):
3380         (WebCore::SelectorChecker::pseudoStyle):
3381         (WebCore::SelectorChecker::setPseudoStyle):
3382         (WebCore::SelectorChecker::hasUnknownPseudoElements):
3383         (WebCore::SelectorChecker::clearHasUnknownPseudoElements):
3384         (WebCore::SelectorChecker::determineLinkState):
3385         * dom/Element.cpp:
3386         (WebCore::Element::webkitMatchesSelector):
3387         * dom/SelectorQuery.cpp:
3388         (WebCore::SelectorQuery::SelectorQuery):
3389         * dom/SelectorQuery.h:
3390
3391 2011-09-07  Dmitry Lomov  <dslomov@google.com>
3392
3393         https://bugs.webkit.org/show_bug.cgi?id=67413 
3394         [Chromium]Web Inspector: inspected page with dedicated worker crashes on refresh.
3395         This patch enforces lifetime ordering between WorkerInspectorController and WorkerScriptController.
3396
3397         Reviewed by Yury Semikhatsky.
3398
3399         * workers/WorkerContext.cpp:
3400         (WebCore::WorkerContext::clearInspector):
3401         * workers/WorkerContext.h:
3402         * workers/WorkerThread.cpp:
3403         (WebCore::WorkerThreadShutdownFinishTask::performTask):
3404
3405 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
3406
3407         Unreviewed, rolling out r94627 and r94632.
3408         http://trac.webkit.org/changeset/94627
3409         http://trac.webkit.org/changeset/94632
3410         https://bugs.webkit.org/show_bug.cgi?id=67698
3411
3412         It broke tests on GTK and Qt (Requested by Ossy on #webkit).
3413
3414         * WebCore.exp.in:
3415         * bindings/js/JSDOMBinding.h:
3416         (WebCore::DOMConstructorObject::DOMConstructorObject):
3417         * bindings/js/JSDOMGlobalObject.cpp:
3418         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
3419         * bindings/js/JSDOMGlobalObject.h:
3420         * bindings/js/JSDOMWindowShell.cpp:
3421         (WebCore::JSDOMWindowShell::create):
3422         * bindings/js/JSDOMWindowShell.h:
3423         * bindings/js/JSDOMWrapper.h:
3424         (WebCore::JSDOMWrapper::JSDOMWrapper):
3425         * bindings/scripts/CodeGeneratorJS.pm:
3426         (GenerateImplementation):
3427         * bindings/scripts/test/JS/JSTestInterface.cpp:
3428         (WebCore::JSTestInterface::JSTestInterface):
3429         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3430         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
3431         * bindings/scripts/test/JS/JSTestObj.cpp:
3432         (WebCore::JSTestObj::JSTestObj):
3433         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3434         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
3435         * bridge/c/CRuntimeObject.cpp:
3436         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
3437         * bridge/c/CRuntimeObject.h:
3438         * bridge/jni/jsc/JavaRuntimeObject.cpp:
3439         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
3440         * bridge/jni/jsc/JavaRuntimeObject.h:
3441         * bridge/objc/ObjCRuntimeObject.h:
3442         * bridge/objc/ObjCRuntimeObject.mm:
3443         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
3444         * bridge/objc/objc_runtime.h:
3445         (JSC::Bindings::ObjcFallbackObjectImp::create):
3446         * bridge/objc/objc_runtime.mm:
3447         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
3448         * bridge/qt/qt_instance.cpp:
3449         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
3450         * bridge/qt/qt_pixmapruntime.cpp:
3451         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
3452         * bridge/qt/qt_runtime.cpp:
3453         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
3454         * bridge/qt/qt_runtime.h:
3455         * bridge/runtime_array.cpp:
3456         (JSC::RuntimeArray::RuntimeArray):
3457         * bridge/runtime_array.h:
3458         (JSC::RuntimeArray::create):
3459         * bridge/runtime_method.cpp:
3460         (JSC::RuntimeMethod::RuntimeMethod):
3461         * bridge/runtime_method.h:
3462         * bridge/runtime_object.cpp:
3463         (JSC::Bindings::RuntimeObject::RuntimeObject):
3464         * bridge/runtime_object.h:
3465         (JSC::Bindings::RuntimeObject::create):
3466
3467 2011-08-31  Yury Semikhatsky  <yurys@chromium.org>
3468
3469         fast/workers/worker-script-error.html fails on Chromium after r94061
3470         https://bugs.webkit.org/show_bug.cgi?id=67206
3471
3472         Default action should be prevented if window.onerror returned true and stay
3473         not prevented otherwise.
3474
3475         Reviewed by Dmitry Titov.
3476
3477         Tests: fast/events/window-onerror14.html
3478                fast/events/window-onerror15.html
3479                fast/events/window-onerror16.html
3480
3481         * bindings/v8/V8AbstractEventListener.cpp:
3482         (WebCore::V8AbstractEventListener::invokeEventHandler):
3483         (WebCore::V8AbstractEventListener::shouldPreventDefault): allow specific
3484         event listeners to decide when to prevent default action based on the handler
3485         return value.
3486         * bindings/v8/V8AbstractEventListener.h:
3487         * bindings/v8/V8WindowErrorHandler.cpp:
3488         (WebCore::V8WindowErrorHandler::callListenerFunction):
3489         (WebCore::V8WindowErrorHandler::shouldPreventDefault):
3490         * bindings/v8/V8WindowErrorHandler.h:
3491         * bindings/v8/V8WorkerContextErrorHandler.cpp:
3492         (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
3493         (WebCore::V8WorkerContextErrorHandler::shouldPreventDefault):
3494         * bindings/v8/V8WorkerContextErrorHandler.h:
3495
3496 2011-09-06  Xianzhu Wang  <wangxianzhu@chromium.org>
3497
3498         Replace usages of Vector<UChar> with existing StringBuilder
3499         https://bugs.webkit.org/show_bug.cgi?id=67079
3500
3501         Reviewed by Gavin Barraclough.
3502
3503         No new tests. All existing unit tests and layout tests should run
3504         as before.
3505
3506         * css/CSSOMUtils.cpp:
3507         (WebCore::appendCharacter):
3508         (WebCore::serializeCharacter):
3509         (WebCore::serializeCharacterAsCodePoint):
3510         (WebCore::serializeIdentifier):
3511         (WebCore::serializeString):
3512         * css/CSSOMUtils.h:
3513         * css/CSSPrimitiveValue.cpp:
3514         (WebCore::CSSPrimitiveValue::cssText):
3515         * css/CSSStyleSelector.cpp:
3516         (WebCore::CSSStyleSelector::SelectorChecker::determineLinkStateSlowCase):
3517         * css/CSSWrapShapes.cpp:
3518         (WebCore::CSSWrapShapeRect::cssText):
3519         (WebCore::CSSWrapShapeCircle::cssText):
3520         (WebCore::CSSWrapShapeEllipse::cssText):
3521         (WebCore::CSSWrapShapePolygon::cssText):
3522         * editing/HTMLInterchange.cpp:
3523         (WebCore::convertHTMLTextToInterchangeFormat):
3524         * editing/MarkupAccumulator.cpp:
3525         (WebCore::appendCharactersReplacingEntities):
3526         (WebCore::MarkupAccumulator::serializeNodes):
3527         (WebCore::MarkupAccumulator::appendStartTag):
3528         (WebCore::MarkupAccumulator::appendEndTag):
3529         (WebCore::MarkupAccumulator::concatenateMarkup):
3530         (WebCore::MarkupAccumulator::appendAttributeValue):
3531         (WebCore::MarkupAccumulator::appendCustomAttributes):
3532         (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
3533         (WebCore::MarkupAccumulator::appendNodeValue):
3534         (WebCore::MarkupAccumulator::appendNamespace):
3535         (WebCore::MarkupAccumulator::appendText):
3536         (WebCore::MarkupAccumulator::appendComment):
3537         (WebCore::MarkupAccumulator::appendDocumentType):
3538         (WebCore::MarkupAccumulator::appendProcessingInstruction):
3539         (WebCore::MarkupAccumulator::appendElement):
3540         (WebCore::MarkupAccumulator::appendOpenTag):
3541         (WebCore::MarkupAccumulator::appendCloseTag):
3542         (WebCore::MarkupAccumulator::appendAttribute):
3543         (WebCore::MarkupAccumulator::appendCDATASection):
3544         (WebCore::MarkupAccumulator::appendStartMarkup):
3545         (WebCore::MarkupAccumulator::appendEndMarkup):
3546         * editing/MarkupAccumulator.h:
3547         * editing/markup.cpp:
3548         (WebCore::StyledMarkupAccumulator::appendElement):
3549         (WebCore::StyledMarkupAccumulator::wrapWithNode):
3550         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
3551         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
3552         (WebCore::StyledMarkupAccumulator::takeResults):
3553         (WebCore::StyledMarkupAccumulator::appendText):
3554         (WebCore::urlToMarkup):
3555         * html/DOMTokenList.cpp:
3556         (WebCore::DOMTokenList::removeToken):
3557         * html/HTMLFontElement.cpp:
3558         (WebCore::parseFontSize):
3559         * html/HTMLTextFormControlElement.cpp:
3560         (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
3561         * html/parser/CSSPreloadScanner.cpp:
3562         (WebCore::CSSPreloadScanner::emitRule):
3563         * html/parser/CSSPreloadScanner.h:
3564         * html/parser/HTMLEntityParser.cpp:
3565         (WebCore::consumeHTMLEntity):
3566         * html/parser/HTMLEntityParser.h:
3567         * html/parser/HTMLParserIdioms.cpp:
3568         (WebCore::parseHTMLInteger):
3569         (WebCore::parseHTMLNonNegativeInteger):
3570         * html/parser/HTMLTokenizer.cpp:
3571         (WebCore::HTMLTokenizer::processEntity):
3572         (WebCore::HTMLTokenizer::nextToken):
3573         * html/parser/HTMLTreeBuilder.cpp:
3574         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::giveRemainingTo):
3575         (WebCore::HTMLTreeBuilder::defaultForInTableText):
3576         * html/parser/HTMLTreeBuilder.h:
3577         * inspector/InspectorValues.cpp:
3578         (WebCore::InspectorValue::toJSONString):
3579         (WebCore::InspectorValue::writeJSON):
3580         (WebCore::InspectorBasicValue::writeJSON):
3581         (WebCore::InspectorString::writeJSON):
3582         (WebCore::InspectorObject::writeJSON):
3583         (WebCore::InspectorArray::writeJSON):
3584         * inspector/InspectorValues.h:
3585         * loader/CrossOriginAccessControl.cpp:
3586         (WebCore::createAccessControlPreflightRequest):
3587         * loader/appcache/ApplicationCacheStorage.cpp:
3588         (WebCore::ApplicationCacheStorage::store):
3589         * page/Chrome.cpp:
3590         (WebCore::Chrome::setToolTip):
3591         * page/PageSerializer.cpp:
3592         (WebCore::SerializerMarkupAccumulator::appendText):
3593         (WebCore::SerializerMarkupAccumulator::appendElement):
3594         (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
3595         * page/SecurityOrigin.cpp:
3596         (WebCore::SecurityOrigin::toString):
3597         * platform/KURL.cpp:
3598         (WebCore::KURL::deprecatedString):
3599         (WebCore::decodeURLEscapeSequences):
3600         * platform/LinkHash.cpp:
3601         (WebCore::squeezeOutNullCharacters):
3602         (WebCore::cleanSlashDotDotSlashes):
3603         (WebCore::mergeDoubleSlashes):
3604         (WebCore::cleanSlashDotSlashes):
3605         (WebCore::cleanPath):
3606         (WebCore::visitedURLInline):
3607         (WebCore::visitedURL):
3608         (WebCore::visitedLinkHash):
3609         * platform/LinkHash.h:
3610         * platform/gtk/DataObjectGtk.cpp:
3611         (WebCore::DataObjectGtk::setURL):
3612         * platform/network/HTTPParsers.cpp:
3613         (WebCore::extractMIMETypeFromMediaType):
3614         * platform/text/TextCodecICU.cpp:
3615         (WebCore::TextCodecICU::decode):
3616         * platform/text/TextStream.cpp:
3617         (WebCore::TextStream::operator<<):
3618         (WebCore::TextStream::release):
3619         * platform/text/TextStream.h:
3620         * plugins/PluginStream.cpp:
3621         (WebCore::PluginStream::startStream):
3622         * rendering/InlineTextBox.cpp:
3623         (WebCore::adjustCharactersAndLengthForHyphen):
3624         * rendering/InlineTextBox.h:
3625         (WebCore::BufferForAppendingHyphen::BufferForAppendingHyphen):
3626         * rendering/RenderListItem.cpp:
3627         (WebCore::RenderListItem::markerTextWithSuffix):
3628         * rendering/RenderListMarker.cpp:
3629         (WebCore::toSymbolic):
3630         (WebCore::RenderListMarker::paint):
3631         (WebCore::RenderListMarker::suffix):
3632         * rendering/RenderTreeAsText.cpp:
3633         (WebCore::quoteAndEscapeNonPrintables):
3634         * rendering/mathml/RenderMathMLFenced.cpp:
3635         (WebCore::RenderMathMLFenced::updateFromElement):
3636         * storage/IDBLevelDBCoding.cpp:
3637         (WebCore::IDBLevelDBCoding::decodeString):
3638         * xml/XMLHttpRequest.cpp:
3639         (WebCore::XMLHttpRequest::getAllResponseHeaders):
3640         * xml/XPathFunctions.cpp:
3641         (WebCore::XPath::FunId::evaluate):
3642         (WebCore::XPath::FunConcat::evaluate):
3643         * xml/XPathUtil.cpp:
3644         (WebCore::XPath::stringValue):
3645         * xml/XSLTProcessorLibxslt.cpp:
3646         (WebCore::writeToStringBuilder):
3647         (WebCore::saveResultToString):
3648         * xml/parser/CharacterReferenceParserInlineMethods.h:
3649         (WebCore::unconsumeCharacters):
3650         (WebCore::consumeCharacterReference):
3651         * xml/parser/XMLCharacterReferenceParser.cpp:
3652         (WebCore::consumeXMLCharacterReference):
3653         * xml/parser/XMLCharacterReferenceParser.h:
3654         * xml/parser/XMLTokenizer.cpp:
3655         (WebCore::XMLTokenizer::nextToken):
3656
3657 2011-09-05  Kent Tamura  <tkent@chromium.org>
3658
3659         REGRESSION (Safari 5.1 - ToT): File input retains its file icon when the value is reset
3660         https://bugs.webkit.org/show_bug.cgi?id=67567
3661
3662         Reviewed by Dimitri Glazkov.
3663
3664         - Introduce InputType::setValue(), which is called by HTMLInputElement::setValue().
3665         - Clear m_icon in FileInputType::setValue().
3666
3667         Tests: fast/forms/file/file-reset-in-change-expected.html
3668                fast/forms/file/file-reset-in-change.html
3669
3670         * html/BaseButtonInputType.cpp:
3671         (WebCore::BaseButtonInputType::setValue):
3672         Implemenation for the "default" mode.
3673         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-default
3674         * html/BaseButtonInputType.h:
3675         * html/BaseCheckableInputType.cpp:
3676         (WebCore::BaseCheckableInputType::setValue):
3677         Implemenation for the "default/on" mode.
3678         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-default-on
3679         * html/BaseCheckableInputType.h:
3680         * html/FileInputType.cpp:
3681         (WebCore::FileInputType::setValue):
3682         Implemenation for the "filename" mode, and clearing m_icon.
3683         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-filename
3684         * html/FileInputType.h:
3685         * html/HTMLInputElement.cpp:
3686         (WebCore::HTMLInputElement::setValue):
3687         Move some code to InputType::setValue().
3688         (WebCore::HTMLInputElement::setValueInternal): A helper for InputType::setValue().
3689         * html/HTMLInputElement.h:
3690         * html/HiddenInputType.cpp:
3691         (WebCore::HiddenInputType::setValue):
3692         Implementation for the "default" mode.
3693         * html/HiddenInputType.h:
3694         * html/InputType.cpp:
3695         (WebCore::InputType::setValue):
3696         Implementation for the "value" mode.
3697         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-value
3698         * html/InputType.h:
3699         * html/TextFieldInputType.cpp:
3700         (WebCore::TextFieldInputType::setValue):
3701         In addition to the "value" mode processing, updates placeholder visibililty.
3702         * html/TextFieldInputType.h:
3703
3704 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
3705
3706         REGRESSION(r94274): The inner text value of an input element is not updated when input.value is set
3707         https://bugs.webkit.org/show_bug.cgi?id=67681
3708
3709         Reviewed by Kent Tamura.
3710
3711         The bug was caused by HTMLInputElement::setValue's not clearing m_suggestedValue before updateInnerTextValue is called.
3712         Since updateInnerTextValue uses the suggested value when one is present, we need to clear m_suggestedValue in advance.
3713
3714         Test: fast/forms/suggested-value-after-setvalue.html
3715
3716         * html/HTMLInputElement.cpp:
3717         (WebCore::HTMLInputElement::setValue):
3718
3719 2011-09-06  Adam Barth  <abarth@webkit.org>
3720
3721         Attempt to fix GTK build.
3722
3723         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
3724         (WebKit::createHTMLElementWrapper):
3725
3726 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
3727
3728         fast/forms/suggested-value-crash.html crashes on Windows
3729         https://bugs.webkit.org/show_bug.cgi?id=67688
3730
3731         Reviewed by Adam Barth.
3732
3733         The crash was caused because functions in internals were accessing uninitialized QualifiedNames.
3734         Fixed the bug by avoiding to link to inputTag and textareaTag. Instead, we resort to toInputElement
3735         and string comparison.
3736
3737         * testing/Internals.cpp:
3738         (WebCore::Internals::wasLastChangeUserEdit):
3739         (WebCore::Internals::suggestedValue):
3740         (WebCore::Internals::setSuggestedValue):
3741
3742 2011-09-06  Mark Hahnenberg  <mhahnenberg@apple.com>
3743
3744         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
3745         https://bugs.webkit.org/show_bug.cgi?id=67420
3746
3747         Reviewed by Geoffrey Garen.
3748
3749         No new tests.
3750
3751         Completed the fifth level of the refactoring to add finishCreation() 
3752         methods to all classes within the JSCell hierarchy with non-trivial 
3753         constructor bodies.
3754
3755         This primarily consists of pushing the calls to finishCreation() down 
3756         into the constructors of the subclasses of the second level of the hierarchy 
3757         as well as pulling the finishCreation() calls out into the class's corresponding
3758         create() method if it has one.  Doing both simultaneously allows us to 
3759         maintain the invariant that the finishCreation() method chain is called exactly 
3760         once during the creation of an object, since calling it any other number of 
3761         times (0, 2, or more) will cause an assertion failure.
3762
3763         * WebCore.exp.in:
3764         * bindings/js/JSDOMBinding.h:
3765         (WebCore::DOMConstructorObject::DOMConstructorObject):
3766         * bindings/js/JSDOMGlobalObject.cpp:
3767         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
3768         (WebCore::JSDOMGlobalObject::finishCreation):
3769         * bindings/js/JSDOMGlobalObject.h:
3770         * bindings/js/JSDOMWindowShell.cpp:
3771         * bindings/js/JSDOMWindowShell.h:
3772         (WebCore::JSDOMWindowShell::create):
3773         * bindings/js/JSDOMWrapper.h:
3774         (WebCore::JSDOMWrapper::JSDOMWrapper):
3775         * bindings/scripts/CodeGeneratorJS.pm:
3776         (GenerateImplementation):
3777         * bindings/scripts/test/JS/JSTestInterface.cpp:
3778         (WebCore::JSTestInterface::JSTestInterface):
3779         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3780         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
3781         * bindings/scripts/test/JS/JSTestObj.cpp:
3782         (WebCore::JSTestObj::JSTestObj):
3783         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3784         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
3785         * bridge/c/CRuntimeObject.cpp:
3786         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
3787         (JSC::Bindings::CRuntimeObject::finishCreation):
3788         * bridge/c/CRuntimeObject.h:
3789         * bridge/jni/jsc/JavaRuntimeObject.cpp:
3790         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
3791         (JSC::Bindings::JavaRuntimeObject::finishCreation):
3792         * bridge/jni/jsc/JavaRuntimeObject.h:
3793         * bridge/objc/ObjCRuntimeObject.h:
3794         * bridge/objc/ObjCRuntimeObject.mm:
3795         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
3796         (JSC::Bindings::ObjCRuntimeObject::finishCreation):
3797         * bridge/objc/objc_runtime.h:
3798         (JSC::Bindings::ObjcFallbackObjectImp::create):
3799         * bridge/objc/objc_runtime.mm:
3800         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
3801         * bridge/qt/qt_instance.cpp:
3802         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
3803         * bridge/qt/qt_pixmapruntime.cpp:
3804         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
3805         * bridge/qt/qt_runtime.cpp:
3806         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
3807         (JSC::Bindings::QtRuntimeMethod::finishCreation):
3808         * bridge/qt/qt_runtime.h:
3809         * bridge/runtime_array.cpp:
3810         (JSC::RuntimeArray::RuntimeArray):
3811         * bridge/runtime_array.h:
3812         (JSC::RuntimeArray::create):
3813         * bridge/runtime_method.cpp:
3814         (JSC::RuntimeMethod::RuntimeMethod):
3815         (JSC::RuntimeMethod::finishCreation):
3816         * bridge/runtime_method.h:
3817         * bridge/runtime_object.cpp:
3818         (JSC::Bindings::RuntimeObject::RuntimeObject):
3819         * bridge/runtime_object.h:
3820         (JSC::Bindings::RuntimeObject::create):
3821
3822 2011-09-06  Luke Macpherson   <macpherson@chromium.org>
3823
3824         Implement list style properties in CSSStyleApplyProperty.
3825         https://bugs.webkit.org/show_bug.cgi?id=67103
3826
3827         Reviewed by Eric Seidel.
3828
3829         No new tests / no behavioral changes.
3830
3831         * css/CSSStyleApplyProperty.cpp:
3832         Add class to wrap call to CSSStyleSelector::styleImage().
3833         (WebCore::ApplyPropertyStyleImage::ApplyPropertyStyleImage):
3834         (WebCore::ApplyPropertyStyleImage::applyValue):
3835         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3836         Initialize handlers for list style properties.
3837         * css/CSSStyleSelector.cpp:
3838         (WebCore::CSSStyleSelector::applyProperty):
3839         Remove existing property implementations.
3840
3841 2011-09-06  Alexis Menard  <alexis.menard@openbossa.org>
3842
3843         [Qt] Move away from QPointer as it is slow and it has a replacement QWeakPointer.
3844         https://bugs.webkit.org/show_bug.cgi?id=67673
3845
3846         Reviewed by Ariya Hidayat.
3847
3848         Move away from QPointer to QWeakPointer, it is faster.
3849
3850         No new tests, the existing ones should cover.
3851
3852         * bridge/qt/qt_instance.cpp:
3853         (JSC::Bindings::QtInstance::~QtInstance):
3854         (JSC::Bindings::QtInstance::getClass):
3855         (JSC::Bindings::QtField::name):
3856         (JSC::Bindings::QtField::valueFromInstance):
3857         * bridge/qt/qt_instance.h:
3858         (JSC::Bindings::QtInstance::getObject):
3859         * bridge/qt/qt_runtime.h:
3860         * platform/qt/SharedTimerQt.cpp:
3861         (WebCore::SharedTimerQt::inst):
3862
3863 2011-09-06  Oliver Hunt  <oliver@apple.com>
3864
3865         Update expected results of bindings tests.
3866
3867         * bindings/scripts/test/JS/JSTestInterface.cpp:
3868         (WebCore::JSTestInterfaceConstructor::createStructure):
3869         (WebCore::JSTestInterface::createPrototype):
3870         * bindings/scripts/test/JS/JSTestInterface.h:
3871         (WebCore::JSTestInterface::createStructure):
3872         (WebCore::JSTestInterfacePrototype::createStructure):
3873         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3874         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
3875         (WebCore::JSTestMediaQueryListListener::createPrototype):
3876         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
3877         (WebCore::JSTestMediaQueryListListener::createStructure):
3878         (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
3879         * bindings/scripts/test/JS/JSTestObj.cpp:
3880         (WebCore::JSTestObjConstructor::createStructure):
3881         (WebCore::JSTestObj::createPrototype):
3882         * bindings/scripts/test/JS/JSTestObj.h:
3883         (WebCore::JSTestObj::createStructure):
3884         (WebCore::JSTestObjPrototype::createStructure):
3885         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3886         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
3887         (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
3888         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3889         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
3890         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
3891
3892 2011-09-06  Eric Seidel  <eric@webkit.org>
3893
3894         Remove window.HTMLBlockquoteElement per HTML5 (and DOM Core 1)
3895         https://bugs.webkit.org/show_bug.cgi?id=67678
3896
3897         Reviewed by Darin Adler.
3898
3899         This is why we can't have nice things.
3900
3901         There was some confusion in the original DOM HTML 1 spec about
3902         the existence of HTMlBlockquoteElement which was clarified by
3903         a later errata, removing HTMLBlockquoteElement:
3904         http://www.w3.org/DOM/updates/REC-DOM-Level-1-19981001-errata.html
3905         "This interface is an error and must be ignored. The Interface HTMLQuoteElement is used for both the Q and BLOCKQUOTE elements"
3906
3907         Le sigh.  Personally I think having a separate HTMLBlockquoteElement
3908         is clearer, but thats not how the web works.  Removed it and updated test results.
3909
3910         * CMakeLists.txt:
3911         * CodeGenerators.pri:
3912         * DerivedSources.cpp:
3913         * DerivedSources.make:
3914         * GNUmakefile.list.am:
3915         * WebCore.gypi:
3916         * WebCore.pro:
3917         * WebCore.vcproj/WebCore.vcproj:
3918         * WebCore.xcodeproj/project.pbxproj:
3919         * bindings/gobject/GNUmakefile.am:
3920         * editing/IndentOutdentCommand.cpp:
3921         * html/HTMLBlockquoteElement.cpp: Removed.
3922         * html/HTMLBlockquoteElement.h: Removed.
3923         * html/HTMLBlockquoteElement.idl: Removed.
3924         * html/HTMLElementsAllInOne.cpp:
3925         * html/HTMLQuoteElement.cpp:
3926         (WebCore::HTMLQuoteElement::HTMLQuoteElement):
3927         (WebCore::HTMLQuoteElement::insertedIntoDocument):
3928         * html/HTMLTagNames.in:
3929         * page/DOMWindow.idl:
3930
3931 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
3932
3933         Rename confirmCompositionWithoutDisturbingSelection to cancelComposition
3934         https://bugs.webkit.org/show_bug.cgi?id=67569
3935
3936         Reviewed by Antonio Gomes.
3937
3938         Renamed Editor::confirmCompositionWithoutDisturbingSelection to Editor::cancelComposition.
3939         Also renamed the shared function from confirmComposition to setComposition.
3940
3941         * WebCore.exp.in:
3942         * editing/Editor.cpp:
3943         (WebCore::Editor::confirmComposition):
3944         (WebCore::Editor::cancelComposition):
3945         (WebCore::Editor::setComposition):
3946         * editing/Editor.h:
3947
3948 2011-09-06  Sam Weinig  <sam@webkit.org>
3949
3950         WebVTTTokenizer files in the wrong place in the Xcode project.
3951
3952         * WebCore.xcodeproj/project.pbxproj:
3953         Move WebVTTTokenizer files so they are in the right place in the project.
3954
3955 2011-09-06  Chris Rogers  <crogers@google.com>
3956
3957         MediaElementAudioSourceNode destruction triggers ASSERTS
3958         https://bugs.webkit.org/show_bug.cgi?id=67665
3959
3960         Reviewed by Nate Chapin.
3961
3962         Test: webaudio/mediaelementaudiosourcenode-gc.html
3963
3964         * html/HTMLMediaElement.cpp:
3965         (WebCore::HTMLMediaElement::setAudioSourceNode):
3966         * webaudio/AudioContext.cpp:
3967         (WebCore::AudioContext::uninitializeDispatch):
3968         (WebCore::AudioContext::stop):
3969         * webaudio/AudioContext.h:
3970
3971 2011-09-05  Oliver Hunt  <oliver@apple.com>
3972
3973         An object's structure should reference the global object responsible for its creation
3974         https://bugs.webkit.org/show_bug.cgi?id=67624
3975
3976         Reviewed by Gavin Barraclough.
3977
3978         Update calls to Structure::create() to pass the globalObject in,
3979         and update the CodeGenerator to generate appropriate createStructure
3980         methods.
3981
3982         * bindings/js/JSAudioConstructor.h:
3983         (WebCore::JSAudioConstructor::createStructure):
3984         * bindings/js/JSDOMBinding.h:
3985         (WebCore::DOMConstructorObject::createStructure):
3986         (WebCore::getDOMStructure):
3987         * bindings/js/JSDOMGlobalObject.h:
3988         (WebCore::JSDOMGlobalObject::createStructure):
3989         (WebCore::getDOMConstructor):
3990         * bindings/js/JSDOMWindowBase.h:
3991         (WebCore::JSDOMWindowBase::createStructure):
3992         * bindings/js/JSDOMWindowShell.cpp:
3993         (WebCore::JSDOMWindowShell::setWindow):
3994         * bindings/js/JSDOMWindowShell.h:
3995         (WebCore::JSDOMWindowShell::createStructure):
3996         * bindings/js/JSDOMWrapper.h:
3997         (WebCore::JSDOMWrapper::createStructure):
3998         * bindings/js/JSImageConstructor.h:
3999         (WebCore::JSImageConstructor::createStructure):
4000         * bindings/js/JSImageDataCustom.cpp:
4001         (WebCore::toJS):
4002         * bindings/js/JSOptionConstructor.h:
4003         (WebCore::JSOptionConstructor::createStructure):
4004         * bindings/js/JSWorkerContextBase.h:
4005         (WebCore::JSWorkerContextBase::createStructure):
4006         * bindings/js/WorkerScriptController.cpp:
4007         (WebCore::WorkerScriptController::initScript):
4008         * bindings/scripts/CodeGeneratorJS.pm:
4009         (GenerateHeader):
4010         (GenerateImplementation):
4011         (GenerateConstructorDeclaration):
4012         * bridge/c/CRuntimeObject.h:
4013         (JSC::Bindings::CRuntimeObject::createStructure):