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