Unreviewed, rolling out r100856.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-11-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2
3         Unreviewed, rolling out r100856.
4         http://trac.webkit.org/changeset/100856
5         https://bugs.webkit.org/show_bug.cgi?id=72867
6
7         New test fast/css/style-tag-display-none.html fails on
8         Chromium (Requested by steveblock on #webkit).
9
10         * css/CSSStyleSelector.cpp:
11         (WebCore::CSSStyleSelector::matchUARules):
12
13 2011-11-21  Jochen Eisinger  <jochen@chromium.org>
14
15         Implement Meta referrer
16         https://bugs.webkit.org/show_bug.cgi?id=72674
17
18         Reviewed by Adam Barth.
19
20         http://wiki.whatwg.org/wiki/Meta_referrer
21
22         Tests: http/tests/security/referrer-policy-always.html
23                http/tests/security/referrer-policy-default.html
24                http/tests/security/referrer-policy-https-always.html
25                http/tests/security/referrer-policy-https-default.html
26                http/tests/security/referrer-policy-https-never.html
27                http/tests/security/referrer-policy-https-origin.html
28                http/tests/security/referrer-policy-never.html
29                http/tests/security/referrer-policy-origin.html
30                http/tests/security/referrer-policy-redirect.html
31                http/tests/security/referrer-policy-rel-noreferrer.html
32
33         * WebCore.exp.in: updated
34         * dom/Document.cpp:
35         (WebCore::Document::Document):
36         (WebCore::Document::processReferrerPolicy):
37         * dom/Document.h:
38         (WebCore::Document::referrerPolicy):
39         * html/HTMLAnchorElement.cpp:
40         (WebCore::HTMLAnchorElement::handleClick):
41         * html/HTMLMetaElement.cpp:
42         (WebCore::HTMLMetaElement::process):
43         * loader/FrameLoader.cpp:
44         (WebCore::FrameLoader::loadFrameRequest):
45         (WebCore::FrameLoader::loadResourceSynchronously):
46         * loader/PingLoader.cpp:
47         (WebCore::PingLoader::loadImage):
48         (WebCore::PingLoader::sendPing):
49         (WebCore::PingLoader::reportContentSecurityPolicyViolation):
50         * loader/SubframeLoader.cpp:
51         (WebCore::SubframeLoader::loadSubframe):
52         * loader/SubresourceLoader.cpp:
53         (WebCore::SubresourceLoader::create):
54         * page/SecurityPolicy.cpp:
55         (WebCore::SecurityPolicy::generateReferrerHeader):
56         * page/SecurityPolicy.h:
57
58 2011-11-21  Vsevolod Vlasov  <vsevik@chromium.org>
59
60         Web Inspector: ApplicationCache view should show navigator.onLine indicator.
61         https://bugs.webkit.org/show_bug.cgi?id=72618
62
63         Reviewed by Pavel Feldman.
64
65         * inspector/InspectorApplicationCacheAgent.cpp:
66         (WebCore::InspectorApplicationCacheAgent::enable):
67         * inspector/front-end/ApplicationCacheItemsView.js:
68         (WebInspector.ApplicationCacheItemsView):
69         (WebInspector.ApplicationCacheItemsView.prototype.wasShown):
70         * inspector/front-end/ApplicationCacheModel.js:
71         (WebInspector.ApplicationCacheModel):
72         (WebInspector.ApplicationCacheModel.prototype.get onLine):
73         (WebInspector.ApplicationCacheModel.prototype._networkStateUpdated):
74         * inspector/front-end/ResourcesPanel.js:
75         (WebInspector.ResourcesPanel.prototype.showApplicationCache):
76         (WebInspector.ResourcesPanel.prototype._applicationCacheNetworkStateChanged):
77
78 2011-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
79
80         Unreviewed. Fix make distcheck build.
81
82         * GNUmakefile.list.am:
83
84 2011-11-21  Dominic Mazzoni  <dmazzoni@google.com>
85
86         Accessibility: Multiselect list boxes need to report the active option in addition to which items are selected.
87         https://bugs.webkit.org/show_bug.cgi?id=72479
88
89         Reviewed by Chris Fleizach.
90
91         Test: accessibility/multiselect-list-reports-active-option.html
92
93         * accessibility/AccessibilityListBoxOption.cpp:
94         (WebCore::AccessibilityListBoxOption::isSelectedOptionActive):
95         * accessibility/AccessibilityListBoxOption.h:
96         * accessibility/AccessibilityObject.h:
97         (WebCore::AccessibilityObject::isSelectedOptionActive):
98
99 2011-11-21  Yuta Kitamura  <yutak@chromium.org>
100
101         [Qt] WebSocket close tests are failing
102         https://bugs.webkit.org/show_bug.cgi?id=72865
103
104         Reviewed by Simon Hausmann.
105
106         * platform/network/qt/SocketStreamHandleQt.cpp:
107         (WebCore::SocketStreamHandlePrivate::close):
108         Emit didCloseSocketStream() callback even before the connection is established.
109         Call m_socket->abort() to prevent "connected" signal from firing.
110
111 2011-11-21  Shinya Kawanaka  <shinyak@google.com>
112
113         Refactoring: SpellChecker::requestCheckingFor should take Range instead of Node.
114         https://bugs.webkit.org/show_bug.cgi?id=72847
115
116         Reviewed by Hajime Morita.
117
118         Covered by existing test.
119
120         * editing/Editor.cpp:
121         (WebCore::Editor::replaceSelectionWithFragment):
122           Passes Range to requestCheckingFor instead of Node.
123         * editing/SpellChecker.cpp:
124           Changed argument type from Node to Range.
125           The corresponding changes are also done in dependent methods.
126         (WebCore::SpellChecker::initRequest):
127         (WebCore::SpellChecker::clearRequest):
128         (WebCore::SpellChecker::canCheckAsynchronously):
129         (WebCore::SpellChecker::isBusy):
130         (WebCore::SpellChecker::isValid):
131         (WebCore::SpellChecker::isCheckable):
132         (WebCore::SpellChecker::requestCheckingFor):
133           Changed argument type from Node to Range.
134         (WebCore::SpellChecker::doRequestCheckingFor):
135         (WebCore::SpellChecker::didCheck):
136         * editing/SpellChecker.h:
137
138 2011-11-20  Kenichi Ishibashi  <bashi@chromium.org>
139
140         [Chromium] Remove old getFontFamilyForCharacters() and familyForChars() APIs.
141         https://bugs.webkit.org/show_bug.cgi?id=72844
142
143         Respects bold and italic properties that is given by fontconfig.
144
145         Reviewed by Darin Fisher.
146
147         * platform/graphics/chromium/FontCacheLinux.cpp:
148         (WebCore::FontCache::getFontDataForCharacters): Removed #if and old logic.
149
150 2011-11-20  Noel Gordon  <noel.gordon@gmail.com>
151
152         [chromium] Remove qt/QtMobileWebStyle from the gyp projects
153         https://bugs.webkit.org/show_bug.cgi?id=72843
154
155         Reviewed by Antonio Gomes.
156
157         platform/qt/QtMobileWebStyle.{h,cpp} were removed in r100123
158
159         * WebCore.gypi: remove platform/qt/QtMobileWebStyle.{h,cpp}
160
161 2011-11-20  Kentaro Hara  <haraken@chromium.org>
162
163         Unreviewed. Rebaselined run-bindings-tests results.
164
165         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
166         (WebDOMFloat64Array::WebDOMFloat64Array):
167         (WebDOMFloat64Array::impl):
168         (toWebCore):
169         (toWebKit):
170         * bindings/scripts/test/CPP/WebDOMFloat64Array.h:
171
172 2011-11-20  Adam Barth  <abarth@webkit.org>
173
174         REGRESSION(r100691): Safari error pages and Growl notifications fail to load stylesheets
175         https://bugs.webkit.org/show_bug.cgi?id=72836
176
177         Reviewed by Sam Weinig.
178
179         This patch removes a (minor) security mitigation.  Previously, we tried
180         sequester "directory listings" into unique origins to make it more
181         difficult for an attacker to crawl the user's local file system.
182         Unfortunately, this mitigation doesn't really buy us much security
183         because if the attacker has access to local files, we've probably lost
184         anyway.
185
186         The larger problem, however, is that this condition is overly
187         complicated and has broken in sublte ways several times in its
188         (relatively short) lifetime.  In the cases reported in this bug, we see
189         that this check affects error pages in Safari and Growl notifications,
190         even those have nothing to do with directory listings.
191
192         If we have our heart set on this directory listing mitigation, we'll
193         need a more robust way of triggering the behavior than examining URLs
194         and guess whether they contain directory listings.  For example, if we
195         implement Allow-From or Access-Control-Deny-Origin, then the embedder
196         can supply those policies along with the directory listings.  Those
197         seem like much better solutions than the in-engine hack this patch
198         removes.
199
200         * page/SecurityOrigin.cpp:
201         (WebCore::shouldTreatAsUniqueOrigin):
202
203 2011-10-17  Antonio Gomes  <agomes@rim.com>
204
205         Pass a Frame* parameter in EditorClient::respondToChangedSelection
206         https://bugs.webkit.org/show_bug.cgi?id=70248
207
208         Reviewed by Ryosuke Niwa.
209
210         Most of the port specific implementations of EditorClient::respondToChangedSelection
211         (like EditorClient{Qt,Gtk,etc}) are wrongly relying on FocusController::focusedOrMainFrame
212         method to get the Frame where the selection is happening on.
213         It is not right, since a selection can be easily triggered in an inner
214         frame that is not focused.
215
216         No new tests since it is a hard thing to test without
217         to hook into editor client in layout tests. We could
218         change the "Dumped Delegate" messages, but it would
219         require a rebasile of +1200 for a minor change.
220
221         * editing/Editor.cpp: Pass the Frame on where the selection is changing to the client.
222         (WebCore::Editor::respondToChangedSelection): Ditto.
223         (WebCore::Editor::changeSelectionAfterCommand): Ditto.
224         (WebCore::EmptyEditorClient::respondToChangedSelection):
225         * page/EditorClient.h:  Pass Frame* to indicate where the selection is happening.
226         * loader/EmptyClients.h: Changed signature as per base class change.
227
228 2011-11-17  Mark Rowe  <mrowe@apple.com>
229
230         <http://webkit.org/b/72646> Disable deprecation warnings around code where we cannot easily
231         switch away from the deprecated APIs.
232
233         Reviewed by Sam Weinig.
234
235         * platform/mac/WebCoreNSStringExtras.mm:
236         * platform/network/cf/SocketStreamHandleCFNet.cpp:
237         (WebCore::SocketStreamHandle::reportErrorToClient):
238
239 2011-11-19  Kevin Ollivier  <kevino@theolliviers.com>
240
241         [wx] C++ bindings build fix for move of array classes to WTF.
242         
243         * bindings/scripts/CodeGeneratorCPP.pm:
244         (GetCPPTypeGetter):
245         (GetNamespaceForClass):
246         (GenerateHeader):
247         (GenerateImplementation):
248
249 2011-11-19  Scott Graham  <scottmg@chromium.org>
250
251         Move gamepad to Modules/ (+ some cleanup)
252         https://bugs.webkit.org/show_bug.cgi?id=72785
253
254         Reviewed by Adam Barth.
255
256         Move main files from page/ to Modules/gamepad/. #include guard the
257         gamepad header inclusions in Navigator.cpp to avoid including for
258         ports that do not enable GAMEPAD.
259
260         * Modules/gamepad/Gamepad.cpp: Renamed from Source/WebCore/page/Gamepad.cpp.
261         (WebCore::Gamepad::Gamepad):
262         (WebCore::Gamepad::axes):
263         (WebCore::Gamepad::buttons):
264         (WebCore::Gamepad::~Gamepad):
265         * Modules/gamepad/Gamepad.h: Renamed from Source/WebCore/page/Gamepad.h.
266         * Modules/gamepad/Gamepad.idl: Renamed from Source/WebCore/page/Gamepad.idl.
267         * Modules/gamepad/GamepadList.cpp: Renamed from Source/WebCore/page/GamepadList.cpp.
268         (WebCore::GamepadList::~GamepadList):
269         (WebCore::GamepadList::set):
270         (WebCore::GamepadList::length):
271         (WebCore::GamepadList::item):
272         * Modules/gamepad/GamepadList.h: Renamed from Source/WebCore/page/GamepadList.h.
273         (WebCore::GamepadList::create):
274         (WebCore::GamepadList::GamepadList):
275         * Modules/gamepad/GamepadList.idl: Renamed from Source/WebCore/page/GamepadList.idl.
276         * WebCore.gyp/WebCore.gyp:
277         * WebCore.gypi:
278         * page/Navigator.cpp:
279
280 2011-11-19  Sheriff Bot  <webkit.review.bot@gmail.com>
281
282         Unreviewed, rolling out r100834.
283         http://trac.webkit.org/changeset/100834
284         https://bugs.webkit.org/show_bug.cgi?id=72806
285
286         this patch makes Qt run-webkit-test exit before finishing
287         (Requested by igoroliveira on #webkit).
288
289         * platform/graphics/texmap/TextureMapperNode.cpp:
290         * platform/graphics/texmap/TextureMapperNode.h:
291
292 2011-11-19  Huang Dongsung  <luxtella@company100.net>
293
294         Remove WebCore/ForwardingHeaders/runtime/JSObjectWithGlobalObject.h because
295         JSObjectWithGlobalObject.h has been removed.
296         https://bugs.webkit.org/show_bug.cgi?id=72794
297
298         r94701 removed JSObjectWithGlobalObject.h.
299
300         Reviewed by Oliver Hunt.
301
302         * ForwardingHeaders/runtime/JSObjectWithGlobalObject.h: Removed.
303
304 2011-11-19  Vsevolod Vlasov  <vsevik@chromium.org>
305
306         Web Inspector:[protocol] actual JSON messages do not conform to Inspector.json in InspectorApplicationCacheAgent.cpp
307         https://bugs.webkit.org/show_bug.cgi?id=72734
308
309         Reviewed by Timothy Hatcher.
310
311         * inspector/Inspector.json:
312
313 2011-11-19  David Barr  <davidbarr@chromium.org>
314
315         REGRESSION(r98542): Chromium: CSS text is rendered on page
316         https://bugs.webkit.org/show_bug.cgi?id=71703
317
318         Reviewed by Antti Koivisto.
319
320         Matched UA declarations uncacheable when using simpleDefaultStyleSheet.
321
322         Test: fast/css/style-tag-display-none.html
323
324         * css/CSSStyleSelector.cpp:
325         (WebCore::CSSStyleSelector::matchUARules):
326
327 2011-11-19  Jay Civelli  <jcivelli@chromium.org>
328
329         When loading a MHTML document, make sure we set the base URL before
330         we notify the frame was committed (so the document has the right base
331         URL when the notification happens). 
332         https://bugs.webkit.org/show_bug.cgi?id=72788
333
334         Reviewed by Adam Barth.
335
336         * loader/FrameLoader.cpp:
337         (WebCore::FrameLoader::receivedFirstData):
338
339 2011-11-19  Adam Barth  <abarth@webkit.org>
340
341         Integrate Source/WTF with the Chromium build system
342         https://bugs.webkit.org/show_bug.cgi?id=72790
343
344         Reviewed by Eric Seidel.
345
346         Add a dependency on the new WTF.
347
348         * WebCore.gyp/WebCore.gyp:
349
350 2011-11-18  Takashi Toyoshima  <toyoshim@chromium.org>
351
352         [Chromium] [WebSocket] export WebSocketChannel interface for plugins
353         https://bugs.webkit.org/show_bug.cgi?id=72016
354
355         Reviewed by Darin Fisher.
356
357         Add a interface to send raw binary data.
358         This interface is used by WebWebSocketChannel implementation
359         in WebKit API.
360
361         No new tests because just export a interface.
362
363         * websockets/WebSocketChannel.cpp:
364         (WebCore::WebSocketChannel::send):
365         * websockets/WebSocketChannel.h:
366
367 2011-11-18  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
368
369         https://bugs.webkit.org/show_bug.cgi?id=72591
370         Remove document.width / document.height
371
372         Reviewed by Darin Adler.
373
374         Removed document.width/document.height from JS bindings,
375         but keeping the same for ObjC bindings. Also it should use
376         document.body.clientWidth and document.body.clientHeight instead.
377
378         * html/HTMLDocument.idl:
379
380 2011-11-18  Martin Robinson  <mrobinson@igalia.com>
381
382         Fix the GTK+ build.
383
384         * page/Navigator.idl: Properly disable the webkitGamepads API if gamepad
385         isn't enabled at compile time.
386
387 2011-11-18  Daniel Bates  <dbates@rim.com>
388
389         Add CMake build infrastructure for the BlackBerry port
390         https://bugs.webkit.org/show_bug.cgi?id=72768
391
392         Reviewed by Antonio Gomes.
393
394         * CMakeLists.txt: At this time the BlackBerry port doesn't support generating
395           DOM bindings from the SVG IDLs. See WebKit bug #72773.
396         * PlatformBlackBerry.cmake: Added.
397
398 2011-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
399
400         Unreviewed, rolling out r100826.
401         http://trac.webkit.org/changeset/100826
402         https://bugs.webkit.org/show_bug.cgi?id=72786
403
404         Broke Chromium Mac build (Requested by aklein on #webkit).
405
406         * page/ChromeClient.h:
407         * page/FrameView.cpp:
408         * page/FrameView.h:
409         * platform/ScrollView.cpp:
410         (WebCore::ScrollView::wheelEvent):
411         * platform/ScrollView.h:
412         * platform/ScrollableArea.h:
413         (WebCore::ScrollableArea::scrollbarStyleChanged):
414         * platform/mac/ScrollAnimatorMac.mm:
415         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
416
417 2011-11-18  Alpha Lam  <hclam@chromium.org>
418
419         [chromium] composited layers are blurry with a zoom-in page scale factor
420         https://bugs.webkit.org/show_bug.cgi?id=71225
421
422         Reviewed by James Robinson.
423
424         Pass contents scale factor to the compositor such that it can:
425         1. Adjust contentBounds() of the compositoer layers with content scale.
426         2. Apply the content scale in the painter for texture update in better resolution.
427         3. Apply the content scale to the dirty rect in CanvasLayerTextureUpdater.
428
429         This change fixed blurry problem for all tiled layer types and is not limited to
430         position:fixed layers.
431
432         Tests: compositing/geometry/fixed-position-composited-page-scale-down.html
433                compositing/geometry/fixed-position-composited-page-scale.html
434                compositing/geometry/fixed-position-iframe-composited-page-scale-down.html
435                compositing/geometry/fixed-position-iframe-composited-page-scale.html
436                compositing/geometry/fixed-position-transform-composited-page-scale-down.html
437                compositing/geometry/fixed-position-transform-composited-page-scale.html
438
439         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
440         (WebCore::GraphicsLayerChromium::setTransform):
441         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
442         (WebCore::GraphicsLayerChromium::updateContentsScale):
443         (WebCore::GraphicsLayerChromium::contentsScale):
444         (WebCore::GraphicsLayerChromium::deviceOrPageScaleFactorChanged):
445         * platform/graphics/chromium/GraphicsLayerChromium.h:
446         * platform/graphics/chromium/ImageLayerChromium.cpp:
447         (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
448         (WebCore::ImageLayerChromium::needsContentsScale):
449         * platform/graphics/chromium/ImageLayerChromium.h:
450         * platform/graphics/chromium/LayerChromium.cpp:
451         (WebCore::LayerChromium::LayerChromium):
452         (WebCore::LayerChromium::setContentsScale):
453         * platform/graphics/chromium/LayerChromium.h:
454         (WebCore::LayerChromium::needsContentsScale):
455         (WebCore::LayerChromium::contentsScale):
456         * platform/graphics/chromium/LayerTextureUpdater.h:
457         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
458         (WebCore::LayerTextureUpdaterCanvas::paintContents):
459         (WebCore::LayerTextureUpdaterBitmap::prepareToUpdate):
460         (WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
461         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
462         * platform/graphics/chromium/TiledLayerChromium.cpp:
463         (WebCore::TiledLayerChromium::needsContentsScale):
464         (WebCore::TiledLayerChromium::contentBounds):
465         (WebCore::TiledLayerChromium::prepareToUpdate):
466         * platform/graphics/chromium/TiledLayerChromium.h:
467
468 2011-11-18  Igor Oliveira  <igor.oliveira@openbossa.org>
469
470         [WK2][Qt] Move Accelerated Composite animations to UIProcess
471         https://bugs.webkit.org/show_bug.cgi?id=72753
472
473         Add helper method to synchronize animations in TextureMapper.
474
475         Reviewed by Noam Rosenthal.
476
477         * platform/graphics/texmap/TextureMapperNode.cpp:
478         (WebCore::TextureMapperNode::syncAnimationsRecursively):
479         * platform/graphics/texmap/TextureMapperNode.h:
480
481 2011-11-18  Scott Graham  <scottmg@chromium.org>
482
483         IDL changes for gamepad support
484         https://bugs.webkit.org/show_bug.cgi?id=71753
485
486         Reviewed by Adam Barth.
487
488         IDL changes and associated plumbing to expose list of gamepad objects
489         on navigator object (per current spec). Full patch is
490         https://bugs.webkit.org/show_bug.cgi?id=69451. Only basic existence
491         test until more plumbing in future patches.
492
493         Test: gamepad/gamepad-api.html
494
495         * WebCore.gypi:
496         * bindings/generic/RuntimeEnabledFeatures.h:
497         (WebCore::RuntimeEnabledFeatures::setWebkitGamepadsEnabled):
498         (WebCore::RuntimeEnabledFeatures::webkitGamepadsEnabled):
499         * page/Gamepad.cpp: Added.
500         (WebCore::Gamepad::Gamepad):
501         (WebCore::Gamepad::axes):
502         (WebCore::Gamepad::buttons):
503         (WebCore::Gamepad::~Gamepad):
504         * page/Gamepad.h: Added.
505         * page/Gamepad.idl: Added.
506         * page/GamepadList.cpp: Added.
507         (WebCore::GamepadList::~GamepadList):
508         (WebCore::GamepadList::set):
509         (WebCore::GamepadList::length):
510         (WebCore::GamepadList::item):
511         * page/GamepadList.h: Added.
512         (WebCore::GamepadList::create):
513         (WebCore::GamepadList::GamepadList):
514         * page/GamepadList.idl: Added.
515         * page/Navigator.cpp:
516         (WebCore::Navigator::webkitGamepads):
517         * page/Navigator.h:
518         * page/Navigator.idl:
519
520 2011-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
521
522         Unreviewed, rolling out r100693.
523         http://trac.webkit.org/changeset/100693
524         https://bugs.webkit.org/show_bug.cgi?id=72779
525
526         This patch caused a rendering regression (see bug 72770)
527         (Requested by philip__ on #webkit).
528
529         * rendering/RenderObject.cpp:
530         (WebCore::RenderObject::setStyle):
531         * rendering/style/RenderStyle.cpp:
532         (WebCore::RenderStyle::diff):
533
534 2011-11-18  Simon Fraser  <simon.fraser@apple.com>
535
536         Reflection on composited element doesn't update if the element changes to show no content
537         https://bugs.webkit.org/show_bug.cgi?id=72774
538
539         Reviewed by Chris Marrin.
540         
541         When a style change results in a reflected element losing its backing store,
542         we need to clear the backing stores on the layer clones as well.
543
544         Test: compositing/reflections/become-simple-composited-reflection.html
545
546         * platform/graphics/ca/GraphicsLayerCA.cpp:
547         (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
548
549 2011-11-18  Daniel Cheng  <dcheng@chromium.org>
550
551         [chromium] Use correct backing store for ChromiumDataObject in pasteboard writes.
552         https://bugs.webkit.org/show_bug.cgi?id=72767
553
554         Reviewed by Tony Chang.
555
556         Covered by existing tests.
557
558         * editing/chromium/EditorChromium.cpp:
559         (WebCore::Editor::newGeneralClipboard):
560         * page/chromium/EventHandlerChromium.cpp:
561         (WebCore::EventHandler::createDraggingClipboard):
562         * platform/chromium/ChromiumDataObject.cpp:
563         (WebCore::ChromiumDataObject::types):
564         (WebCore::ChromiumDataObject::getData):
565         (WebCore::ChromiumDataObject::containsFilenames):
566         (WebCore::ChromiumDataObject::ChromiumDataObject):
567         * platform/chromium/ChromiumDataObject.h:
568         (WebCore::ChromiumDataObject::createFromPasteboard):
569         (WebCore::ChromiumDataObject::create):
570         (WebCore::ChromiumDataObject::storageMode):
571         * platform/chromium/ClipboardChromium.cpp:
572         (WebCore::ClipboardChromium::hasData):
573
574 2011-11-18  Chris Evans  <cevans@google.com>
575
576         Crash with ranges across a detached, reparented node tree
577         https://bugs.webkit.org/show_bug.cgi?id=72757
578
579         Reviewed by Adam Barth.
580
581         Test: fast/dom/move-detached-child-in-range.html
582
583         * dom/RangeBoundaryPoint.h:
584         (WebCore::RangeBoundaryPoint::childBefore): protect the raw child node from getting pulled from under us.
585
586 2011-11-18  Beth Dakin  <bdakin@apple.com>
587
588         https://bugs.webkit.org/show_bug.cgi?id=72551
589         When the recommended scrollbar style changes, WKView's tracking options should 
590         adjust accordingly
591         -and corresponding-
592         <rdar://problem/10409328>
593
594         Reviewed by Darin Adler.
595
596         This new ChromeClient function is called when the recommended scrollbar style 
597         changes. This way, WebKit can respond to the change by adjusting its mouse 
598         tracking.
599         * page/ChromeClient.h:
600         (WebCore::ChromeClient::recommendedScrollbarStyleDidChange):
601
602         Existing ScrollableArea function scrollbarStyleChanged() now takes an int 
603         indicating the new scrollbar style and a bool indicating whether it is necessary 
604         to force an update. It used to be the case that this function was ONLY used to 
605         force an update (and only called when an updated was needed), but now that it must 
606         also call into the ChromeClient, it is necessary to include a bool tracking 
607         whether we need to force an update. New implementation on FrameView is responsible 
608         for calling ChromeClient, and then that calls into the pre-existing ScrollView 
609         function for the forceUpdate part.
610         * page/FrameView.cpp:
611         (WebCore::FrameView::scrollbarStyleChanged):
612         * page/FrameView.h:
613         * platform/ScrollView.cpp:
614         (WebCore::ScrollView:: scrollbarStyleChanged):
615         * platform/ScrollView.h:
616         * platform/ScrollableArea.h:
617         (WebCore::ScrollableArea::scrollbarStyleChanged):
618         * platform/mac/ScrollAnimatorMac.mm:
619         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
620
621 2011-11-18  Kelly Norton  <knorton@google.com>
622
623         Fixes several more void functions in RenderObject that return values.
624         https://bugs.webkit.org/show_bug.cgi?id=72750
625
626         Reviewed by Adam Barth.
627
628         * rendering/RenderBlock.cpp:
629         (WebCore::RenderBlock::updateBeforeAfterContent):
630         (WebCore::RenderBlock::addChildToContinuation):
631         (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
632         (WebCore::RenderBlock::addChild):
633         (WebCore::RenderBlock::addChildIgnoringContinuation):
634
635 2011-11-18  Shawn Singh  <shawnsingh@chromium.org>
636
637         [chromium] Add some useful text to existing debug dump
638         https://bugs.webkit.org/show_bug.cgi?id=72576
639
640         Reviewed by James Robinson.
641
642         No new tests needed.
643
644         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
645         (WebCore::CCLayerImpl::dumpLayerProperties):
646         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
647         (WebCore::CCRenderSurface::dumpSurface):
648
649 2011-11-18  Xiaomei Ji  <xji@chromium.org>
650
651         REGRESSION: rtl horizontal scrollbar / resize bug - Body shifts on resize when scrolled all the way to the left
652         https://bugs.webkit.org/show_bug.cgi?id=70395
653
654         Reviewed by Tony Chang.
655
656         This patch fixes the problem in Mac and Chromium Mac.
657    
658         The existing test fast/dom/rtl-scroll-to-leftmost-and-resize.html seems does not really work in Mac DRT
659         (the browswer window is not resized). It works in Chromium-Mac. And Chromium-Mac's code
660         is forked from Mac.
661
662         * platform/chromium/ScrollAnimatorChromiumMac.mm:
663         (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
664         * platform/mac/ScrollAnimatorMac.mm:
665         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
666
667 2011-11-18  Martin Robinson  <mrobinson@igalia.com>
668
669         REGRESSION (r99924): broke 2 pasteboard tests on GTK
670         https://bugs.webkit.org/show_bug.cgi?id=72131
671
672         Reviewed by Tony Chang.
673
674         * platform/gtk/ClipboardGtk.cpp:
675         (WebCore::ClipboardGtk::clearData): Call clearAll now.
676         (WebCore::ClipboardGtk::clearAllData): Call clearAllExceptFilenames now.
677         * platform/gtk/DataObjectGtk.cpp:
678         (WebCore::DataObjectGtk::clearAllExceptFilenames): Renamed from clear.
679         (WebCore::DataObjectGtk::clearAll): Added this method which also clear filenames.
680         * platform/gtk/DataObjectGtk.h:
681         * platform/gtk/PasteboardGtk.cpp: Call clear before setting new clipboard data.
682         (WebCore::Pasteboard::writeSelection): Ditto.
683         (WebCore::Pasteboard::writePlainText): Ditto.
684         (WebCore::Pasteboard::writeURL): Ditto.
685         (WebCore::Pasteboard::writeImage): Ditto.
686         * platform/gtk/PasteboardHelper.cpp:
687         (WebCore::clearClipboardContentsCallback): Use the clearAll method now.
688
689 2011-11-18  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
690
691         Access key should work on all elements.
692         https://bugs.webkit.org/show_bug.cgi?id=71854
693
694         Reviewed by Ryosuke Niwa.
695
696         All HTML elements can have the accesskey content attribute set.
697         Specification http://dev.w3.org/html5/spec/Overview.html#the-accesskey-attribute
698         Adding "accessKey" attribute to HTMLElement.idl file as [Reflect].
699
700         Test: fast/forms/access-key-for-all-elements.html
701
702         * bindings/objc/PublicDOMInterfaces.h: Moved properties form subclass to base class.
703         * html/BaseButtonInputType.cpp: 
704         (WebCore::BaseButtonInputType::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
705         * html/BaseButtonInputType.h: Ditto
706         * html/BaseCheckableInputType.cpp:
707         (WebCore::BaseCheckableInputType::accessKeyAction): Ditto
708         * html/BaseCheckableInputType.h: Ditto
709         * html/HTMLAnchorElement.cpp:
710         (WebCore::HTMLAnchorElement::accessKeyAction): Ditto
711         * html/HTMLAnchorElement.h: Ditto
712         * html/HTMLAnchorElement.idl: Removed redundant IDL attribute entries.
713         * html/HTMLAreaElement.idl: Removed redundant IDL attribute entries.
714         * html/HTMLButtonElement.cpp:
715         (WebCore::HTMLButtonElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
716         * html/HTMLButtonElement.h: Ditto
717         * html/HTMLButtonElement.idl: Removed redundant IDL attribute entries.
718         * html/HTMLElement.cpp:
719         (WebCore::HTMLElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
720         If the element does not have a defined activation behavior, fire a click event at the element.
721         * html/HTMLElement.h: Ditto
722         * html/HTMLElement.idl: Added accessKey IDL attribute.
723         * html/HTMLInputElement.cpp:
724         (WebCore::HTMLInputElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
725         * html/HTMLInputElement.h: Ditto
726         * html/HTMLInputElement.idl: Removed redundant IDL attribute entries.
727         * html/HTMLLabelElement.cpp:
728         (WebCore::HTMLLabelElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
729         * html/HTMLLabelElement.h: Ditto
730         * html/HTMLLabelElement.idl: Removed redundant IDL attribute entries.
731         * html/HTMLLegendElement.cpp:
732         (WebCore::HTMLLegendElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
733         * html/HTMLLegendElement.h: Ditto
734         * html/HTMLLegendElement.idl: Removed redundant IDL attribute entries.
735         * html/HTMLOptGroupElement.h: Renamed variable sendToAnyElement to sendMouseEvents.
736         * html/HTMLSelectElement.cpp:
737         (WebCore::HTMLSelectElement::accessKeyAction): Ditto
738         * html/HTMLSelectElement.h: Ditto
739         * html/HTMLTextAreaElement.h: Ditto
740         * html/HTMLTextAreaElement.idl: Removed redundant IDL attribute entries.
741         * html/HiddenInputType.h: Renamed variable sendToAnyElement to sendMouseEvents.
742         * html/InputType.h: Ditto
743         * html/RangeInputType.cpp:
744         (WebCore::RangeInputType::accessKeyAction): Ditto
745         * html/RangeInputType.h: Ditto
746
747 2011-11-18  Simon Fraser  <simon.fraser@apple.com>
748
749         Appearance of compound transform animations under apps linked on SnowLeopard is incorrect
750         https://bugs.webkit.org/show_bug.cgi?id=72641
751         and
752         <rdar://problem/10314267>
753
754         Reviewed by Dean Jackson.
755
756         GraphicsLayerCA contains a "linked on or after" check to account for a bug in
757         Core Animation on SnowLeopard and earlier, which is that CA would apply the list
758         of animations in reverse order.
759         
760         Our previous fix was incorrect, because it only adjusted the 'additive' property
761         of the animation list based on ordering, rather than flipping the entire list.
762         This change reverses the list of animations before giving them to CA, which fixes
763         the bug.
764                 
765         Test: animations/additive-transform-animations.html
766
767         * platform/graphics/ca/GraphicsLayerCA.cpp:
768         (WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
769         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
770         * platform/graphics/ca/GraphicsLayerCA.h:
771
772 2011-11-18  Tim Horton  <timothy_horton@apple.com>
773
774         -webkit-cross-fade rendered incorrectly in overflow divs
775         https://bugs.webkit.org/show_bug.cgi?id=72693
776         <rdar://problem/10468564>
777
778         Reviewed by Simon Fraser.
779
780         Respect the desired source rectangle when rendering the cross-fade.
781
782         Test: css3/images/cross-fade-overflow-position.html
783
784         * platform/graphics/CrossfadeGeneratedImage.cpp:
785         (WebCore::CrossfadeGeneratedImage::drawCrossfade):
786         (WebCore::CrossfadeGeneratedImage::draw):
787         (WebCore::CrossfadeGeneratedImage::drawPattern):
788         * platform/graphics/CrossfadeGeneratedImage.h:
789
790 2011-11-18  Raphael Kubo da Costa  <kubo@profusion.mobi>
791
792         Unreviewed build fix; r100686 broke the EFL build when Geolocation
793         support is enabled.
794
795         * platform/efl/GeolocationServiceEfl.cpp: Only declare
796         s_factoryFunction if CLIENT_BASED_GEOLOCATION is off, otherwise it is
797         also declared in GeolocationService.cpp.
798
799 2011-11-18  Igor Oliveira  <igor.oliveira@openbossa.org>
800
801         [TextureMapper] computePerspectiveTransformIfNeeded is called twice in TextureMapperNode::syncCompositingState
802         https://bugs.webkit.org/show_bug.cgi?id=72727
803
804         TextureMapperNode::computeAllTransforms already has a call to TextureMapperNode::computePerspectiveTransformIfNeeded,
805         so it does not need to be called again after TextureMapperNode::computeAllTransforms.
806
807         Reviewed by Noam Rosenthal.
808
809         * platform/graphics/texmap/TextureMapperNode.cpp:
810         (WebCore::TextureMapperNode::syncCompositingState):
811
812 2011-11-18  Mihnea Ovidenie  <mihnea@adobe.com>
813
814         Fix compilation warning in ComplexTextControllerCoreText.mm
815         https://bugs.webkit.org/show_bug.cgi?id=72702
816
817         Reviewed by Andreas Kling.
818
819         No functionality changed, so no new tests.
820
821         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
822         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
823
824 2011-11-18  Pavel Feldman  <pfeldman@google.com>
825
826         Not reviewed: restore front-end compilability via updating externs and JS generator.
827
828         * inspector/front-end/ElementsPanel.js:
829         (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult):
830         (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
831         * inspector/front-end/externs.js:
832         (WebInspector.showPanelForAnchorNavigation):
833         * inspector/generate-protocol-externs:
834
835 2011-11-17  Pavel Feldman  <pfeldman@google.com>
836
837         Web Inspector: dispatch messages from the front-end to the backend asynchronously.
838         https://bugs.webkit.org/show_bug.cgi?id=72621
839
840         We should align the way we dispatch messages from the front-end to backend across the environments:
841           - WebKit has it synchronoulsly
842           - Chromium has it asynchronously
843           - Remote debugging has it asynchronously
844         Making it asynchronous made a number of flaky Qt tests pass.
845
846         Tests uncovered console agent problem that was also fixed.
847
848         Reviewed by Yury Semikhatsky.
849
850         * inspector/InspectorConsoleAgent.cpp:
851         (WebCore::InspectorConsoleAgent::clearFrontend):
852         * inspector/InspectorFrontendClient.h:
853         * inspector/InspectorFrontendClientLocal.cpp:
854         (WebCore::InspectorBackendDispatchTask::InspectorBackendDispatchTask):
855         (WebCore::InspectorBackendDispatchTask::dispatch):
856         (WebCore::InspectorBackendDispatchTask::reset):
857         (WebCore::InspectorBackendDispatchTask::onTimer):
858         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
859         (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
860         (WebCore::InspectorFrontendClientLocal::sendMessageToBackend):
861         * inspector/InspectorFrontendClientLocal.h:
862
863 2011-11-18  Iain Merrick  <husky@google.com>
864
865         [chromium] Pass screen refresh rate into compositor.
866         https://bugs.webkit.org/show_bug.cgi?id=71040
867
868         Reviewed by Tony Gentilcore.
869
870         Covered by CCLayerTreeHostTest.
871
872         * platform/PlatformScreen.h:
873         * platform/chromium/PlatformScreenChromium.cpp:
874         (WebCore::screenRefreshRate):
875         * platform/chromium/PlatformSupport.h:
876         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
877         (WebCore::CCSettings::CCSettings):
878         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
879         (WebCore::CCThreadProxy::initializeImplOnImplThread):
880
881 2011-11-18  Alexandru Chiculita  <achicu@adobe.com>
882
883         [CSSShaders] Implement the computed style for mesh parameters of the custom() filter
884         https://bugs.webkit.org/show_bug.cgi?id=72478
885
886         Reviewed by Dean Jackson.
887
888         Added parsing and computed style for the mesh rows, columns, mesh box type 
889         (filter-box, border-box, content-box and padding-box) and the detached mode.
890         
891         Also fixed a case where "custom(none, 10, 10 filter-box)" was incorrectly
892         treated as "custom(none, 10)".
893
894         * css/CSSComputedStyleDeclaration.cpp:
895         (WebCore::CSSComputedStyleDeclaration::valueForFilter):
896         * css/CSSParser.cpp:
897         (WebCore::CSSParser::parseCustomFilter): Fixed a case where invalid syntax was parsed as correct syntax.
898         * css/CSSPrimitiveValueMappings.h:
899         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
900         (WebCore::CSSPrimitiveValue::operator CustomFilterOperation::MeshBoxType):
901         * css/CSSStyleSelector.cpp:
902         (WebCore::CSSStyleSelector::createCustomFilterOperation):
903         * css/CSSValueList.h:
904         (WebCore::CSSValueListIterator::isPrimitiveValue):
905         * platform/graphics/filters/CustomFilterOperation.h:
906
907 2011-11-18  Adam Barth  <abarth@webkit.org>
908
909         Remove unneeded include (and ifdef) from V8DOMWindowCustom.cpp
910         https://bugs.webkit.org/show_bug.cgi?id=72705
911
912         Reviewed by Eric Seidel.
913
914         Death to ifdefs!
915
916         * bindings/v8/custom/V8DOMWindowCustom.cpp:
917
918 2011-11-18  Adam Barth  <abarth@webkit.org>
919
920         Move some mediastream related files into the mediastream directory
921         https://bugs.webkit.org/show_bug.cgi?id=72695
922
923         Reviewed by Eric Seidel.
924
925         Just moving the files to the proper directory.
926
927         * GNUmakefile.list.am:
928         * WebCore.gypi:
929         * mediastream/NavigatorUserMediaError.h: Renamed from Source/WebCore/page/NavigatorUserMediaError.h.
930         (WebCore::NavigatorUserMediaError::create):
931         (WebCore::NavigatorUserMediaError::~NavigatorUserMediaError):
932         (WebCore::NavigatorUserMediaError::code):
933         (WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
934         * mediastream/NavigatorUserMediaError.idl: Renamed from Source/WebCore/page/NavigatorUserMediaError.idl.
935         * mediastream/NavigatorUserMediaErrorCallback.h: Renamed from Source/WebCore/page/NavigatorUserMediaErrorCallback.h.
936         (WebCore::NavigatorUserMediaErrorCallback::~NavigatorUserMediaErrorCallback):
937         * mediastream/NavigatorUserMediaErrorCallback.idl: Renamed from Source/WebCore/page/NavigatorUserMediaErrorCallback.idl.
938         * mediastream/NavigatorUserMediaSuccessCallback.h: Renamed from Source/WebCore/page/NavigatorUserMediaSuccessCallback.h.
939         (WebCore::NavigatorUserMediaSuccessCallback::~NavigatorUserMediaSuccessCallback):
940         * mediastream/NavigatorUserMediaSuccessCallback.idl: Renamed from Source/WebCore/page/NavigatorUserMediaSuccessCallback.idl.
941
942 2011-11-18  Andrey Kosyakov  <caseq@chromium.org>
943
944         Web Inspector: [Extensions API] Provide a way for extension to create a status bar icon
945         https://bugs.webkit.org/show_bug.cgi?id=45955
946
947         Reviewed by Pavel Feldman.
948
949         * inspector/front-end/ExtensionAPI.js:
950         (injectedExtensionAPI.ExtensionPanelImpl.prototype.createStatusBarButton):
951         (injectedExtensionAPI):
952         (injectedExtensionAPI.ButtonImpl.prototype.update):
953         * inspector/front-end/ExtensionPanel.js:
954         (WebInspector.ExtensionPanel):
955         (WebInspector.ExtensionPanel.prototype.get statusBarItems):
956         (WebInspector.ExtensionPanel.prototype.addStatusBarItem):
957         (WebInspector.ExtensionButton):
958         (WebInspector.ExtensionButton.prototype.update):
959         (WebInspector.ExtensionButton.prototype._onClicked):
960         * inspector/front-end/ExtensionServer.js:
961         (WebInspector.ExtensionServer):
962         (WebInspector.ExtensionServer.prototype.notifyButtonClicked):
963         (WebInspector.ExtensionServer.prototype._onCreateStatusBarButton):
964         (WebInspector.ExtensionServer.prototype._onUpdateButton):
965         (WebInspector.ExtensionServer.prototype._onCreateSidebarPane):
966         * inspector/front-end/inspector.css:
967         (button.status-bar-item.extension):
968
969 2011-11-18  Tommy Widenflycht  <tommyw@google.com>
970
971         MediaStream API: Merging the PeerConnectionHandler.h files
972         https://bugs.webkit.org/show_bug.cgi?id=72611
973
974         Reviewed by Adam Barth.
975
976         No actual code changes.
977
978         * GNUmakefile.am:
979         * GNUmakefile.list.am:
980         * WebCore.gyp/WebCore.gyp:
981         * WebCore.gypi:
982         * platform/mediastream/PeerConnectionHandler.h: Renamed from Source/WebCore/platform/mediastream/chromium/PeerConnectionHandler.h.
983         * platform/mediastream/gstreamer/PeerConnectionHandler.h: Removed.
984
985 2011-11-17  Simon Hausmann  <simon.hausmann@nokia.com>
986
987         [Qt] Layer violation: ThirdPartyCookiesQt.cpp uses QWebSettings in two places
988         https://bugs.webkit.org/show_bug.cgi?id=72597
989
990         Reviewed by Kenneth Rohde Christiansen.
991
992         Moved code that queries the third party cookie policy from QWebSettings
993         out of WebCore. Instead NetworkingContext has now the interface that allows
994         delegating the functionality into WebKit/qt.
995
996         In order to do that we need to pass the NetworkingContext around, which is used to
997         retrieve the cookie jar and the originating frame object pointer.
998
999         * platform/network/NetworkingContext.h: Add interface.
1000         * platform/network/qt/QNetworkReplyHandler.cpp:
1001         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): Pass NetworkingContext to ResourceRequest::toNetworkRequest.
1002         (WebCore::QNetworkReplyHandler::redirect): Ditto.
1003         * platform/network/qt/ResourceRequest.h: Replaced originatingObject parameter with NetworkingContext, which can
1004         also provide the same plus more (cookie jar, policy callback).
1005         * platform/network/qt/ResourceRequestQt.cpp:
1006         (WebCore::ResourceRequest::toNetworkRequest): Ditto.
1007         * platform/qt/CookieJarQt.cpp: Simplify to use NetworkingContext to get cookie jar and
1008         call new thirdPartyCookiePolicyPermits API that takes the context as parameter.
1009         (WebCore::networkingContext):
1010         (WebCore::setCookies):
1011         (WebCore::cookies):
1012         (WebCore::cookieRequestHeaderFieldValue):
1013         (WebCore::cookiesEnabled):
1014         * platform/qt/ThirdPartyCookiesQt.cpp: Replace up-casting to QWebFrame and use of QWebSettings
1015         with useage of NetworkingContext.
1016         (WebCore::thirdPartyCookiePolicyPermits):
1017         * platform/qt/ThirdPartyCookiesQt.h:
1018
1019 2011-11-17  Kenichi Ishibashi  <bashi@chromium.org>
1020
1021         crash: WebCore::FontPlatformData::roundsGlyphAdvances on Lion
1022         https://bugs.webkit.org/show_bug.cgi?id=71997
1023
1024         Reviewed by Dan Bernstein.
1025
1026         The cause is a null dereference of a fontData that is stored in
1027         ComplexTextRun. The fontData is initialized by using the
1028         fontCache, but it could be null when the font is in fallback
1029         list. The reason a font from the fallback list might not be in the
1030         font Cache is that it may be a web font. Before looking up the
1031         fontCache, try to see whether the font is in the fallback list.
1032
1033         No new tests. We don't have webfonts that can produce the problem.
1034
1035         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
1036         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): See fallback list first, then lookup cache.
1037
1038 2011-11-17  Kaustubh Atrawalkar  <kaustubh@motorola.com>
1039
1040         Remove initProgressEvent method
1041         https://bugs.webkit.org/show_bug.cgi?id=71340
1042
1043         Reviewed by Adam Barth.
1044
1045         This method has been removed from the spec draft.
1046         http://www.w3.org/TR/progress-events/#interface-progressevent
1047
1048         No new tests. Removed method.
1049
1050         * dom/ProgressEvent.cpp:
1051         * dom/ProgressEvent.h:
1052         * dom/ProgressEvent.idl:
1053
1054 2011-11-17  Eunmi Lee  <eunmi15.lee@samsung.com>
1055
1056         [EFL] Move keyIdentifierForEvasKeyName() and windowsKeyCodeForEvasKeyName() to the
1057         EflKeyboardUtilities.cpp to use in the WebKit2
1058         https://bugs.webkit.org/show_bug.cgi?id=62451
1059
1060         Reviewed by Martin Robinson.
1061
1062         The keyIdentifierForEvasKeyName() and windowsKeyCodeForEvasKeyName() were static functions
1063         in the PlatformKeyboardEventEfl.cpp. But they are also needed in the WebKit2 EFL port, so I
1064         moved them to the separated file - EflKeyboardUtilities.cpp.
1065
1066         * PlatformEfl.cmake:
1067         * platform/efl/EflKeyboardUtilities.cpp: Copied from Source/WebCore/platform/efl/PlatformKeyboardEventEfl.cpp.
1068         (WebCore::createKeyMap):
1069         (WebCore::createWindowsKeyMap):
1070         (WebCore::keyIdentifierForEvasKeyName):
1071         (WebCore::windowsKeyCodeForEvasKeyName):
1072         * platform/efl/EflKeyboardUtilities.h: Added.
1073         * platform/efl/PlatformKeyboardEventEfl.cpp:
1074
1075 2011-11-17  Martin Robinson  <mrobinson@igalia.com>
1076
1077         [GTK] The process freezes when you right click on windowless Flash
1078         https://bugs.webkit.org/show_bug.cgi?id=69123
1079
1080         Reviewed by Xan Lopez.
1081
1082         No new tests. I tried to create a layout test that exercised this
1083         issue, but it appears that EventSender clicks do not trigger
1084         it. This is covered by the manual tests containing Flash.
1085
1086         * plugins/PluginPackage.cpp:
1087         (WebCore::PluginPackage::determineQuirks): Always activate the
1088         windowless Flash quirk if on x86_64 and X11.
1089         * plugins/gtk/PluginViewGtk.cpp:
1090         (WebCore::PluginView::handleMouseEvent): Avoid sending right-click
1091         events if we have the quirk.
1092
1093 2011-11-17  Peter Rybin  <peter.rybin@gmail.com>
1094
1095         Web Inspector: clear fixme in generator script
1096         https://bugs.webkit.org/show_bug.cgi?id=71372
1097
1098         Remove unnecessary field name map and update license year number.
1099
1100         Reviewed by Pavel Feldman.
1101
1102         * inspector/CodeGeneratorInspector.py:
1103
1104 2011-11-17  Raphael Kubo da Costa  <kubo@profusion.mobi>
1105
1106         [EFL] Clean up the use of DATA_DIR in the buildsystem
1107         https://bugs.webkit.org/show_bug.cgi?id=72681
1108
1109         Reviewed by Daniel Bates.
1110
1111         Add the -DDATA_DIR definition here instead of defining it globally in
1112         OptionsEfl.cmake, as WebCore is the only place which needs it.
1113
1114         No new tests, this is a buildsystem change.
1115
1116         * PlatformEfl.cmake:
1117
1118 2011-11-17  Adam Klein  <adamk@chromium.org>
1119
1120         Move JS recursion counter from V8Proxy to V8BindingPerIsolateData
1121         https://bugs.webkit.org/show_bug.cgi?id=72645
1122
1123         Reviewed by Adam Barth.
1124
1125         With the JS recursion level stored as a member of V8Proxy, it's tied
1126         to a frame. But this is incorrect, as there's no reason that a JS call
1127         stack need be restricted to a single frame (see my new test case for
1128         an example of code going across frames).
1129
1130         In order to get the correct accounting of JS recursion level, per-Isolate
1131         is the right granularity (per dslomov), which is what this patch accomplishes.
1132
1133         Test: storage/indexeddb/transaction-abort-with-js-recursion-cross-frame.html
1134
1135         * bindings/v8/V8Binding.cpp:
1136         (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
1137         * bindings/v8/V8Binding.h:
1138         (WebCore::V8BindingPerIsolateData::recursionLevel):
1139         (WebCore::V8BindingPerIsolateData::incrementRecursionLevel):
1140         (WebCore::V8BindingPerIsolateData::decrementRecursionLevel):
1141         (WebCore::V8RecursionScope::V8RecursionScope):
1142         (WebCore::V8RecursionScope::~V8RecursionScope):
1143         * bindings/v8/V8Proxy.cpp:
1144         (WebCore::incrementRecursionLevel):
1145         (WebCore::decrementRecursionLevel):
1146         (WebCore::recursionLevel):
1147         (WebCore::V8Proxy::V8Proxy):
1148         (WebCore::V8Proxy::runScript):
1149         (WebCore::V8Proxy::callFunction):
1150         (WebCore::V8Proxy::didLeaveScriptContext):
1151         * bindings/v8/V8Proxy.h:
1152
1153 2011-11-17  Robin Cao  <robin.cao@torchmobile.com.cn>
1154
1155         [chromium] Font::drawComplexText can not draw a segment of text run
1156         https://bugs.webkit.org/show_bug.cgi?id=72095
1157
1158         Reviewed by Adam Barth.
1159
1160         drawComplexText() should respect the 'from' and 'to' arguments.
1161         Drawing the whole text run may result in text overlapping.
1162
1163         Test: platform/chromium-linux/fast/text/international/draw-complex-text-from-to.html
1164
1165         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
1166         (WebCore::ComplexTextController::glyphsForRange):
1167         * platform/graphics/chromium/ComplexTextControllerLinux.h:
1168         * platform/graphics/chromium/FontLinux.cpp:
1169         (WebCore::Font::drawComplexText):
1170
1171 2011-11-17  Adam Barth  <abarth@webkit.org>
1172
1173         Unique SecurityOrigins shouldn't remember their old schemes and hosts
1174         https://bugs.webkit.org/show_bug.cgi?id=71745
1175
1176         Reviewed by Darin Adler.
1177
1178         This is the final step in this series of patches.
1179
1180         This patch removes the forceUnique flag from SecurityOrigin::create.
1181         Now, we create unique origins without passing in the document's URL,
1182         preventing information from the document's URL from leaking into the
1183         unique origin.
1184
1185         * WebCore.exp.in:
1186         * dom/Document.cpp:
1187         (WebCore::Document::setIsViewSource):
1188         (WebCore::Document::initSecurityContext):
1189         * loader/cache/MemoryCache.cpp:
1190         (WebCore::MemoryCache::getOriginsWithCache):
1191             - Update this callsite to use createFromString, which does exactly
1192               what this code is doing manually.
1193         * page/SecurityOrigin.cpp:
1194         (WebCore::SecurityOrigin::create):
1195         * page/SecurityOrigin.h:
1196
1197 2011-11-17  Vincent Scheib  <scheib@chromium.org>
1198
1199         Pointer Lock: Page Settings unecessary
1200         https://bugs.webkit.org/show_bug.cgi?id=72662
1201
1202         Reviewed by Darin Fisher.
1203
1204         No new tests.
1205
1206         * page/Settings.cpp:
1207         (WebCore::Settings::Settings):
1208         * page/Settings.h:
1209
1210 2011-11-17  James Robinson  <jamesr@chromium.org>
1211
1212         [chromium] Disable incremental uploading in threaded compositing path
1213         https://bugs.webkit.org/show_bug.cgi?id=72669
1214
1215         Reviewed by Kenneth Russell.
1216
1217         Since we don't currently support atomic incremental uploads, incremental uploads in the threaded path result in
1218         very strange-looking texture popping as tiles come in on pages that require more than 16 tile uploads per frame.
1219         This disables that logic (by setting the upload limit per frame to 99999) until we handle the incremental
1220         updates in an atomic fashion.
1221
1222         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1223         (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
1224
1225 2011-11-06  Nat Duca  <nduca@chromium.org>
1226
1227         [chromium] Fix handling of setNeedsCommit and setNeedsAnimate in threaded mode
1228         https://bugs.webkit.org/show_bug.cgi?id=71638
1229
1230         Reviewed by James Robinson.
1231
1232         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1233         (WebCore::CCThreadProxy::CCThreadProxy):
1234         (WebCore::CCThreadProxy::setNeedsAnimate):
1235         (WebCore::CCThreadProxy::beginFrameAndCommit):
1236
1237 2011-11-17  Adam Barth  <abarth@webkit.org>
1238
1239         Remove bogus ASSERT.
1240
1241         * page/SecurityOrigin.cpp:
1242         (WebCore::SecurityOrigin::SecurityOrigin):
1243
1244 2011-11-17  Peter Kasting  <pkasting@google.com>
1245
1246         Unreviewed, rolling out r100698.
1247         http://trac.webkit.org/changeset/100698
1248         https://bugs.webkit.org/show_bug.cgi?id=72239
1249
1250         This change wasn't the problem either.
1251
1252         * dom/Document.cpp:
1253         (WebCore::Document::implicitClose):
1254
1255 2011-11-17  David Reveman  <reveman@chromium.org>
1256
1257         [Chromium] Calls to paintContentsIfDirty() and updateCompositorResources() should be balanced.
1258         https://bugs.webkit.org/show_bug.cgi?id=72630
1259
1260         Reviewed by James Robinson.
1261
1262         Layer property changes during paintContent() can leave the layer
1263         in an invalid state as paintContentsIfDirty() has been called
1264         without a matching updateCompositorResources() call. Removing
1265         conditionals around these calls ensure they are balanced.
1266
1267         This patch is tested by the following unit test:
1268         - CCLayerTreeHostTestOpacityChange.runMultiThread
1269
1270         * platform/graphics/chromium/ContentLayerChromium.cpp:
1271         (WebCore::ContentLayerChromium::paintContentsIfDirty):
1272         * platform/graphics/chromium/VideoLayerChromium.cpp:
1273         (WebCore::VideoLayerChromium::updateCompositorResources):
1274         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1275         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
1276         (WebCore::CCLayerTreeHost::paintLayerContents):
1277         (WebCore::CCLayerTreeHost::updateCompositorResources):
1278         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1279
1280 2011-11-17  Peter Kasting  <pkasting@google.com>
1281
1282         Unreviewed, rolling out r100584.
1283         http://trac.webkit.org/changeset/100584
1284         https://bugs.webkit.org/show_bug.cgi?id=72239
1285
1286         See if this change caused Linux dbg crashes.
1287
1288         * dom/Document.cpp:
1289         (WebCore::Document::implicitClose):
1290
1291 2011-11-17  Adam Barth  <abarth@webkit.org>
1292
1293         Remove cargo-cult copy/pasting of ScriptExecutionContext namespace
1294         https://bugs.webkit.org/show_bug.cgi?id=72676
1295
1296         Reviewed by Eric Seidel.
1297
1298         It looks like this cargo-cult started with initDNSPrefetch being hacked
1299         into setSecurityOrigin.  I've removed this hack along with the
1300         copy/paste code.
1301
1302         * dom/DOMImplementation.cpp:
1303         * dom/Document.cpp:
1304         (WebCore::Document::setIsViewSource):
1305         (WebCore::Document::open):
1306         (WebCore::Document::initSecurityContext):
1307         (WebCore::Document::setSecurityOrigin):
1308         * dom/Document.h:
1309         * xml/XSLTProcessor.cpp:
1310
1311 2011-11-17  Peter Kasting  <pkasting@google.com>
1312
1313         Unreviewed, rolling out r100676.
1314         http://trac.webkit.org/changeset/100676
1315         https://bugs.webkit.org/show_bug.cgi?id=72393
1316
1317         Looks like r100572 was not the source of the crashes.
1318
1319         * bindings/js/ScriptDebugServer.cpp:
1320         (WebCore::ScriptDebugServer::canSetScriptSource):
1321         * bindings/js/ScriptDebugServer.h:
1322         * bindings/v8/ScriptDebugServer.cpp:
1323         (WebCore::ScriptDebugServer::stepOutOfFunction):
1324         (WebCore::ScriptDebugServer::canSetScriptSource):
1325         * bindings/v8/ScriptDebugServer.h:
1326         * inspector/CodeGeneratorInspector.py:
1327         * inspector/Inspector.json:
1328         * inspector/InspectorDebuggerAgent.cpp:
1329         (WebCore::InspectorDebuggerAgent::getCapabilities):
1330         * inspector/InspectorDebuggerAgent.h:
1331         * inspector/front-end/DebuggerModel.js:
1332         (WebInspector.DebuggerModel):
1333         (WebInspector.DebuggerModel.prototype.enableDebugger):
1334         (WebInspector.DebuggerModel.prototype.disableDebugger):
1335         (WebInspector.DebuggerModel.prototype.canSetScriptSource):
1336         * inspector/front-end/DebuggerPresentationModel.js:
1337         (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
1338         * inspector/front-end/Settings.js:
1339
1340 2011-11-17  Konstantin Scheglov  <scheglov@google.com>
1341
1342         Absolute child is not repainted when parent opacity changes
1343         https://bugs.webkit.org/show_bug.cgi?id=68777
1344
1345         Reviewed by Simon Fraser.
1346
1347         First time when we change opacity for parent we don't have layer, so
1348         diff=StyleDifferenceRepaint is used instead of diff=StyleDifferenceRepaintLayer.
1349         Layer is created later, in styleDidChange().
1350         So, when we recalculate later diff, we now check for diff=StyleDifferenceRepaintLayer and
1351         performs repaintIncludingDescendants().
1352
1353         Test: fast/layers/layer-absolute-parent-opacity.html
1354
1355         * rendering/RenderObject.cpp:
1356         (WebCore::RenderObject::setStyle): Call repaintIncludingDescendants() instead of repaint().
1357         * rendering/style/RenderStyle.cpp:
1358         (WebCore::RenderStyle::diff): Add ContextSensitivePropertyOpacity when change opacity.
1359
1360 2011-11-17  Nate Chapin  <japhet@chromium.org>
1361
1362         r100311 dropped a RefPtr that is very
1363         helpful. Add it back.
1364         https://bugs.webkit.org/show_bug.cgi?id=72647
1365
1366         Reviewed by Adam Barth.
1367
1368         http/tests/misc/xslt-bad-import.html should
1369         stop crashing in full chromium builds.
1370
1371         * loader/cache/CachedResourceLoader.cpp:
1372         (WebCore::CachedResourceLoader::loadDone):
1373
1374 2011-11-17  Adam Barth  <abarth@webkit.org>
1375
1376         Refactor SecurityOrigin::create to be easier to understand
1377         https://bugs.webkit.org/show_bug.cgi?id=72342
1378
1379         Reviewed by Eric Seidel.
1380
1381         Over time, the SecurityOrigin constructor has grown a bit out of
1382         control.  This patch attempts to separate the different concerns into
1383         free functions.  The general approach is to put more logic in the
1384         "create" function and introduce a simple constructor for unique
1385         origins.
1386
1387         This patch shouldn't change any behavior.
1388
1389         * page/SecurityOrigin.cpp:
1390         (WebCore::schemeRequiresAuthority):
1391         (WebCore::shouldUseInnerURL):
1392         (WebCore::extractInnerURL):
1393         (WebCore::isDirectory):
1394         (WebCore::shouldTreatAsUniqueOrigin):
1395         (WebCore::SecurityOrigin::SecurityOrigin):
1396         (WebCore::SecurityOrigin::create):
1397         (WebCore::SecurityOrigin::createUnique):
1398         (WebCore::SecurityOrigin::databaseIdentifier):
1399         * page/SecurityOrigin.h:
1400
1401 2011-11-17  Shawn Singh  <shawnsingh@chromium.org>
1402
1403         [chromium] Fix minor style nit in CCLayerImpl
1404         https://bugs.webkit.org/show_bug.cgi?id=71070
1405
1406         Reviewed by James Robinson.
1407
1408         Fixes if-statements on several settors to follow WebKit
1409         conventions. Existing CCLayerImplTest unit tests already cover
1410         this change.
1411
1412         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1413         (WebCore::CCLayerImpl::setBounds):
1414         (WebCore::CCLayerImpl::setMaskLayer):
1415         (WebCore::CCLayerImpl::setReplicaLayer):
1416         (WebCore::CCLayerImpl::setDrawsContent):
1417         (WebCore::CCLayerImpl::setAnchorPoint):
1418         (WebCore::CCLayerImpl::setAnchorPointZ):
1419         (WebCore::CCLayerImpl::setBackgroundColor):
1420         (WebCore::CCLayerImpl::setMasksToBounds):
1421         (WebCore::CCLayerImpl::setOpaque):
1422         (WebCore::CCLayerImpl::setOpacity):
1423         (WebCore::CCLayerImpl::setPosition):
1424         (WebCore::CCLayerImpl::setPreserves3D):
1425         (WebCore::CCLayerImpl::setZoomAnimatorTransform):
1426         (WebCore::CCLayerImpl::setSublayerTransform):
1427         (WebCore::CCLayerImpl::setTransform):
1428         (WebCore::CCLayerImpl::setDebugBorderColor):
1429         (WebCore::CCLayerImpl::setDebugBorderWidth):
1430         (WebCore::CCLayerImpl::setContentBounds):
1431         (WebCore::CCLayerImpl::setScrollPosition):
1432         (WebCore::CCLayerImpl::setScrollDelta):
1433         (WebCore::CCLayerImpl::setScaleDelta):
1434         (WebCore::CCLayerImpl::setDoubleSided):
1435
1436 2011-11-17  Michael Saboff  <msaboff@apple.com>
1437
1438         Leaks seen in MemoryPressureHandlerMac.mm on Leaks bot
1439         https://bugs.webkit.org/show_bug.cgi?id=72416
1440
1441         Added code to release _cache_event_source and _timer_event_source
1442         after they are canceled.  Also added defensive code to
1443         clean up the _timer_event_source in uninstall().
1444
1445         Reviewed by Geoffrey Garen.
1446
1447         No new tests, fixing leaks caught by leaks bot.
1448
1449         * platform/mac/MemoryPressureHandlerMac.mm:
1450         (WebCore::MemoryPressureHandler::uninstall):
1451         (WebCore::MemoryPressureHandler::holdOff):
1452
1453 2011-11-17  Ken Buchanan <kenrb@chromium.org>
1454
1455         Crash from positioned generated content under run-in
1456         https://bugs.webkit.org/show_bug.cgi?id=70456
1457
1458         Reviewed by David Hyatt.
1459
1460         Modified handling of run-in children to clear generated children
1461         before removing the parent from the render tree. This caused problems
1462         with absolute positioned children being not properly removed from the
1463         positioned object list of the RenderView.
1464
1465         * rendering/RenderBlock.cpp:
1466         (WebCore::RenderBlock::handleRunInChild):
1467
1468 2011-11-17  Peter Kasting  <pkasting@google.com>
1469
1470         Unreviewed, rolling out r100572.
1471         https://bugs.webkit.org/show_bug.cgi?id=72393
1472         https://bugs.webkit.org/show_bug.cgi?id=72651
1473
1474         May have caused seg faults on Chromium Linux dbg bot.
1475
1476         * bindings/js/ScriptDebugServer.cpp:
1477         * bindings/js/ScriptDebugServer.h:
1478         * bindings/v8/ScriptDebugServer.cpp:
1479         (WebCore::ScriptDebugServer::stepOutOfFunction):
1480         * bindings/v8/ScriptDebugServer.h:
1481         * inspector/CodeGeneratorInspector.py:
1482         * inspector/Inspector.json:
1483         * inspector/InspectorDebuggerAgent.cpp:
1484         * inspector/InspectorDebuggerAgent.h:
1485         * inspector/front-end/DebuggerModel.js:
1486         (WebInspector.DebuggerModel):
1487         (WebInspector.DebuggerModel.prototype.enableDebugger):
1488         (WebInspector.DebuggerModel.prototype.disableDebugger):
1489         * inspector/front-end/DebuggerPresentationModel.js:
1490         (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
1491         * inspector/front-end/Settings.js:
1492
1493 2011-11-17  Sheriff Bot  <webkit.review.bot@gmail.com>
1494
1495         Unreviewed, rolling out r100652.
1496         http://trac.webkit.org/changeset/100652
1497         https://bugs.webkit.org/show_bug.cgi?id=72648
1498
1499         "Caused outline-offset-min-assert.html to assert on debug
1500         builds" (Requested by mwenge2 on #webkit).
1501
1502         * rendering/RenderObject.cpp:
1503         (WebCore::RenderObject::paintOutline):
1504
1505 2011-11-17  Mark Rowe  <mrowe@apple.com>
1506
1507         <http://webkit.org/b/72637> Stop performing runtime version checks on OS versions where the check can never possibly fail.
1508
1509         Reviewed by Simon Fraser.
1510
1511         * platform/graphics/cg/ImageBufferDataCG.cpp:
1512         (WebCore::haveVImageRoundingErrorFix): When not targeting Snow Leopard we always have the fix.
1513
1514 2011-11-17  Chris Fleizach  <cfleizach@apple.com>
1515
1516         AX: The scrollArea is not correctly returning the scrollbars
1517         https://bugs.webkit.org/show_bug.cgi?id=70247
1518
1519         Reviewed by Beth Dakin.
1520
1521         A few bugs that were preventing this from working.
1522            1) In accessibilityAttributeValue: when an element did not have a renderer() we were returning earlier than we should have
1523            2) We were not updating and clearing the scrollbars correctly when children were cleared or when asked for.
1524
1525         Test: platform/mac/accessibility/scrollbars.html
1526
1527         * accessibility/AccessibilityScrollView.cpp:
1528         (WebCore::AccessibilityScrollView::scrollBar):
1529         (WebCore::AccessibilityScrollView::clearChildren):
1530         * accessibility/AccessibilityScrollView.h:
1531         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1532         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1533
1534 2011-11-14  Adam Barth  <abarth@webkit.org>
1535
1536         Unique origins shouldn't remember their scheme, host, or port
1537         https://bugs.webkit.org/show_bug.cgi?id=72308
1538
1539         Reviewed by Eric Seidel.
1540
1541         This patch contains the bulk (all?) of the behavior differences in this
1542         patch series.  Unique origins shouldn't remember their schemes.  Doing
1543         so causes some privileges (e.g., local access) to leak into unique
1544         origins.
1545
1546         * page/SecurityOrigin.cpp:
1547         (WebCore::SecurityOrigin::SecurityOrigin):
1548             - Explicitly clear out the protocol, host, and port for unique
1549               origins.  A future patch will refactor all this code to be more
1550               elegant.
1551         * platform/SchemeRegistry.cpp:
1552         (WebCore::schemesWithUniqueOrigins):
1553             - Merge "about" and "javascript" in with the general case now that
1554               we don't have a separate notion of an empty origin.
1555
1556 2011-11-17  Chris Fleizach  <cfleizach@apple.com>
1557
1558         AX: cleanup style and naming and code in accessibility search mechanism
1559         https://bugs.webkit.org/show_bug.cgi?id=72570
1560
1561         Reviewed by Beth Dakin.
1562
1563         Cleanup the naming and code style within the element searching mechanism.
1564
1565         * accessibility/AccessibilityObject.cpp:
1566         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
1567         (WebCore::AccessibilityObject::isAccessibilityTextSearchMatch):
1568         (WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
1569         (WebCore::AccessibilityObject::findMatchingObjects):
1570         * accessibility/AccessibilityObject.h:
1571         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1572         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
1573
1574 2011-11-17  Julien Chaffraix  <jchaffraix@webkit.org>
1575
1576         CSS table with 100% width can overflow their containing block
1577         https://bugs.webkit.org/show_bug.cgi?id=72180
1578
1579         Reviewed by David Hyatt.
1580
1581         Tests: fast/table/table-in-table-percent-width-collapsing-border-quirks-mode.html
1582                fast/table/table-in-table-percent-width-collapsing-border.html
1583                fast/table/table-in-table-percent-width-quirks-mode.html
1584                fast/table/table-in-table-percent-width.html
1585
1586         After r97555, we would include the borders in a CSS table's logical width even if the 'width'
1587         property was a percent. This does not match what Firefox and IE are doing. Thus don't apply
1588         this behavior to percent 'width'.
1589
1590         * rendering/RenderTable.cpp:
1591         (WebCore::RenderTable::computeLogicalWidth):
1592
1593 2011-11-17  Adrienne Walker  <enne@google.com>
1594
1595         [chromium] Implicitly skip render surfaces that won't be drawn
1596         https://bugs.webkit.org/show_bug.cgi?id=71038
1597
1598         Rather than having redundant checks in three places for how to walk
1599         through a render surface list, instead don't add render surfaces that
1600         don't need to get rendered to the render surface list.
1601
1602         Reviewed by James Robinson.
1603
1604         Covered by existing layout tests and unit tests.
1605
1606         * platform/graphics/chromium/LayerRendererChromium.cpp:
1607         (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
1608         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1609         (WebCore::CCLayerTreeHost::paintLayerContents):
1610         (WebCore::CCLayerTreeHost::updateCompositorResources):
1611         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1612         (WebCore::calculateDrawTransformsAndVisibilityInternal):
1613
1614 2011-11-17  Simon Hausmann  <simon.hausmann@nokia.com>
1615
1616         [Qt] Layer violation: qt_runtime.cpp accesses QWebElement and QTDRTNode
1617         https://bugs.webkit.org/show_bug.cgi?id=72595
1618
1619         Reviewed by Noam Rosenthal.
1620
1621         Removed QWebElement and QtDRTNode usage that reached from WebCore into
1622         WebKit/qt and replaced it with the ability to register custom JSValue
1623         conversion functions. The old code has been moved to WebKit/qt.
1624
1625         * bridge/qt/qt_instance.cpp:
1626         (JSC::Bindings::QtInstance::QtInstance): Remove unnecessary meta type registration
1627         (now done in QtWebElementRuntime::initialize in WebKit/qt).
1628         * bridge/qt/qt_runtime.cpp:
1629         (JSC::Bindings::registerCustomType):
1630         (JSC::Bindings::convertValueToQVariant):
1631         (JSC::Bindings::convertQVariantToValue):
1632         * bridge/qt/qt_runtime.h:
1633
1634 2011-11-17  Fady Samuel  <fsamuel@chromium.org>
1635
1636         Pass Aspect Ratio to RenderStyle
1637         https://bugs.webkit.org/show_bug.cgi?id=72350
1638
1639         Reviewed by Ojan Vafai.
1640
1641         * css/CSSComputedStyleDeclaration.cpp:
1642         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1643         * css/CSSStyleApplyProperty.cpp:
1644         (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
1645         (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
1646         (WebCore::ApplyPropertyAspectRatio::applyValue):
1647         (WebCore::ApplyPropertyAspectRatio::createHandler):
1648         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1649         * css/CSSStyleSelector.cpp:
1650         (WebCore::CSSStyleSelector::applyProperty):
1651         * css/CSSValue.h:
1652         (WebCore::CSSValue::isAspectRatioValue):
1653         * rendering/style/RenderStyle.h:
1654         (WebCore::InheritedFlags::hasAspectRatio):
1655         (WebCore::InheritedFlags::aspectRatio):
1656         (WebCore::InheritedFlags::aspectRatioDenominator):
1657         (WebCore::InheritedFlags::aspectRatioNumerator):
1658         (WebCore::InheritedFlags::setHasAspectRatio):
1659         (WebCore::InheritedFlags::setAspectRatioDenominator):
1660         (WebCore::InheritedFlags::setAspectRatioNumerator):
1661         (WebCore::InheritedFlags::initialHasAspectRatio):
1662         (WebCore::InheritedFlags::initialAspectRatioDenominator):
1663         (WebCore::InheritedFlags::initialAspectRatioNumerator):
1664         * rendering/style/StyleRareNonInheritedData.cpp:
1665         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1666         (WebCore::StyleRareNonInheritedData::operator==):
1667         * rendering/style/StyleRareNonInheritedData.h:
1668
1669 2011-11-09  Robert Hogan  <robert@webkit.org>
1670
1671         CSS 2.1 failure: outline-color-* tests fail
1672         https://bugs.webkit.org/show_bug.cgi?id=71931
1673
1674         Reviewed by Julien Chaffraix.
1675
1676         WebKit wasn't displaying the top block in these tests because it did not paint the outline
1677         of divs with zero size.
1678
1679         * rendering/RenderObject.cpp:
1680         (WebCore::RenderObject::paintOutline): paint the outline even when the block has zero size
1681
1682 2011-11-17  Sergio Villar Senin  <svillar@igalia.com>
1683
1684         [GTK] plugins/get-url-notify-with-url-that-fails-to-load.html on bots after r100466
1685         https://bugs.webkit.org/show_bug.cgi?id=72613
1686
1687         Reviewed by Martin Robinson.
1688
1689         Do not assume that a SoupRequest always exists, it is not
1690         generated for example when the provided URL is
1691         invalid. ResourceHandle::platformSetDefersLoading was crashing
1692         because of that.
1693
1694         * platform/network/soup/ResourceHandleSoup.cpp:
1695         (WebCore::ResourceHandle::platformSetDefersLoading):
1696
1697 2011-11-17  Vsevolod Vlasov  <vsevik@chromium.org>
1698
1699         Web Inspector: Remove onlineDetectionEnabled from Preferences
1700         https://bugs.webkit.org/show_bug.cgi?id=72617
1701
1702         Reviewed by Pavel Feldman.
1703
1704         * inspector/front-end/ApplicationCacheItemsView.js:
1705         (WebInspector.ApplicationCacheItemsView):
1706         (WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems):
1707         * inspector/front-end/Settings.js:
1708
1709 2011-11-17  Ken Buchanan  <kenrb@chromium.org>
1710
1711         Crash from nested tables with generated content
1712         https://bugs.webkit.org/show_bug.cgi?id=68811
1713
1714         Reviewed by David Hyatt.
1715
1716         When adding a child to a table that has generated content, this change
1717         ensures that we leave alone any generated content renderers that belong
1718         to descendants in the tree. They don't need to be touched, and doing so
1719         can create confusion about who the content belongs to.
1720
1721         This patch also simplifies some existing code for finding pseudoelement
1722         renderers. 
1723
1724         * rendering/RenderBlock.cpp:
1725         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
1726         * rendering/RenderObject.cpp:
1727         (WebCore::RenderObject::addChild):
1728         (WebCore::RenderObject::isBeforeAfterContentGeneratedByAncestor): Added
1729         * rendering/RenderObject.h:
1730         (WebCore::RenderObject::findAfterContentRenderer): Deleted
1731         (WebCore::RenderObject::findBeforeContentRenderer): Deleted
1732         * rendering/RenderObjectChildList.cpp:
1733         (WebCore::RenderObjectChildList::beforePseudoElementRenderer):
1734         (WebCore::RenderObjectChildList::afterPseudoElementRenderer):
1735         * rendering/RenderTable.cpp:
1736         (WebCore::RenderTable::addChild):
1737         * rendering/RenderTableRow.cpp:
1738         (WebCore::RenderTableRow::addChild):
1739         * rendering/RenderTableSection.cpp:
1740         (WebCore::RenderTableSection::addChild):
1741
1742 2011-11-17  Patrick Gansterer  <paroga@webkit.org>
1743
1744         Unreviewed WinCE build fix for r94119.
1745
1746         MSVC throws multiply defined symbols linker error when using local class in inline function.
1747
1748         * bindings/js/JSDictionary.h:
1749         (WebCore::JSDictionary::IdentitySetter::identitySetter):
1750         (WebCore::JSDictionary::tryGetProperty):
1751
1752 2011-11-17  Eric Carlson  <eric.carlson@apple.com>
1753
1754         TextTrackList not sorted correctly
1755         https://bugs.webkit.org/show_bug.cgi?id=72545
1756
1757         Reviewed by Darin Adler.
1758
1759         Test: media/track/track-texttracks.html
1760
1761         * WebCore.xcodeproj/project.pbxproj: Add TextTrack.h to WebCore private headers because 
1762             it is included by HTMLMediaElement.h.
1763         * html/LoadableTextTrack.cpp:
1764         (WebCore::LoadableTextTrack::LoadableTextTrack): Pass track type to base class constructor.
1765         (WebCore::LoadableTextTrack::trackElementIndex): New, return the <track> element's tree order
1766             for sorting.
1767         * html/LoadableTextTrack.h:
1768
1769         * html/TextTrack.cpp:
1770         (WebCore::TextTrack::TextTrack): Set track type.
1771         * html/TextTrack.h:
1772         (WebCore::TextTrack::create): Ditto.
1773         (WebCore::TextTrack::trackType): Ditto.
1774
1775         * html/track/TextTrackList.cpp:
1776         (TextTrackList::length): Update to deal with two TextTrack vectors.
1777         (TextTrackList::item): Ditto.
1778         (TextTrackList::append): Ditto.
1779         (TextTrackList::remove): Ditto
1780         * html/track/TextTrackList.h: Store the two types of TextTracks in separate Vectors to make
1781             it simpler to keep them in the correct order.
1782
1783 2011-11-17  Simon Hausmann  <simon.hausmann@nokia.com>
1784
1785         [Qt] Layer violation: WebCore::dnsPrefetch uses QWebSettings::globalSettings()
1786         https://bugs.webkit.org/show_bug.cgi?id=72596
1787
1788         Reviewed by Kenneth Rohde Christiansen.
1789
1790         We don't need to use QWebSettings here, because we now propagate the DNS prefetch
1791         setting to WebCore::Settings and the rest of WebCore checks the setting before calling
1792         WebCore::prefetchDNS.
1793
1794         * platform/network/qt/DnsPrefetchHelper.cpp:
1795         (WebCore::prefetchDNS): Removed the use of QWebSettings.
1796         * platform/network/qt/DnsPrefetchHelper.h: Remove offending qwebsettings.h inclusion.
1797
1798 2011-11-17  Simon Hausmann  <simon.hausmann@nokia.com>
1799
1800         [Qt] Layer violation: Image::loadPlatformResource uses QWebSettings::webGraphic
1801         https://bugs.webkit.org/show_bug.cgi?id=72594
1802
1803         Reviewed by Kenneth Rohde Christiansen.
1804
1805         Move the cache for the resource pixmaps into ImageQt.cpp.
1806
1807         * platform/graphics/Image.h: Add Qt specific setter for resource pixmaps.
1808         * platform/graphics/qt/ImageQt.cpp: Moved resource pixmap hash from qwebsettings.
1809         (earlyClearGraphics):
1810         (graphics):
1811         (loadResourcePixmap):
1812         (WebCore::Image::setPlatformResource):
1813
1814 2011-11-17  Zeno Albisser  <zeno@webkit.org>
1815
1816         [Qt][WK2] Touch/Mouse events are delivered with wrong coordinates.
1817         https://bugs.webkit.org/show_bug.cgi?id=72604
1818
1819         When using the QtViewportInterationEngine for zooming/panning,
1820         no additional scroll offset should be applied to input events
1821         by the ScrollView.
1822
1823         This patch is based on work by Andreas Kling.
1824
1825         Reviewed by Kenneth Rohde Christiansen.
1826
1827         * platform/ScrollView.cpp:
1828         (WebCore::ScrollView::windowToContents):
1829         (WebCore::ScrollView::contentsToWindow):
1830
1831 2011-11-17  Ben Murdoch  <benm@google.com>
1832
1833         Unreviewed build fix.
1834
1835         Fix the Windows builds by adding WorkerEventQueue.cpp|h to the
1836         vcproj. Build break was introduced in
1837         https://bugs.webkit.org/show_bug.cgi?id=72528
1838
1839         * WebCore.vcproj/WebCore.vcproj: Add missing files.
1840
1841 2011-11-17  Mihnea Ovidenie  <mihnea@adobe.com>
1842
1843         CSS Exclusions: parse the wrap-margin and wrap-padding properties
1844         https://bugs.webkit.org/show_bug.cgi?id=71900
1845
1846         Reviewed by Dean Jackson.
1847
1848         Tests: fast/exclusions/wrap-margin-parsing.html
1849                fast/exclusions/wrap-padding-parsing.html
1850
1851         * css/CSSComputedStyleDeclaration.cpp:
1852         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1853         * css/CSSParser.cpp:
1854         (WebCore::isSimpleLengthPropertyID):
1855         (WebCore::CSSParser::parseValue):
1856         * css/CSSProperty.cpp:
1857         (WebCore::CSSProperty::isInheritedProperty):
1858         * css/CSSPropertyNames.in:
1859         * css/CSSStyleApplyProperty.cpp:
1860         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1861         * css/CSSStyleSelector.cpp:
1862         (WebCore::CSSStyleSelector::applyProperty):
1863         * rendering/style/RenderStyle.cpp:
1864         (WebCore::RenderStyle::diff):
1865         * rendering/style/RenderStyle.h:
1866         (WebCore::InheritedFlags::wrapPadding):
1867         (WebCore::InheritedFlags::setWrapPadding):
1868         (WebCore::InheritedFlags::initialWrapPadding):
1869         (WebCore::InheritedFlags::wrapMargin):
1870         (WebCore::InheritedFlags::setWrapMargin):
1871         (WebCore::InheritedFlags::initialWrapMargin):
1872         * rendering/style/StyleRareNonInheritedData.cpp:
1873         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1874         (WebCore::StyleRareNonInheritedData::operator==):
1875         * rendering/style/StyleRareNonInheritedData.h:
1876
1877 2011-11-17  Kenichi Ishibashi  <bashi@chromium.org>
1878
1879         [chromium] don't call fontconfig twice in complex text path
1880         https://bugs.webkit.org/show_bug.cgi?id=38701
1881
1882         Adds a new API for getting font family. For now, FontCacheLinux calls the new API, but don't use additional properties for compatibility. The old API will be removed when Chromium is ready to use new API.
1883
1884         Reviewed by Tony Chang.
1885
1886         No new tests. No behavior changes for now.
1887
1888         * platform/chromium/PlatformSupport.h: Added FontFamily struct and changed the declaration of getFontFamilyForCharacters().
1889         * platform/graphics/chromium/FontCacheLinux.cpp:
1890         (WebCore::FontCache::getFontDataForCharacters): Uses new PlatformSupport::getFontFamilyForCharacters().
1891         * platform/graphics/chromium/FontPlatformDataLinux.h:
1892         (WebCore::FontPlatformData::setFakeBold): Added.
1893         (WebCore::FontPlatformData::setFakeItalic): Added.
1894
1895 2011-11-17  Mario Sanchez Prada  <msanchez@igalia.com>
1896
1897         [GTK] Consider parent AtkObject in webkit_accessible_get_parent(), if already set
1898         https://bugs.webkit.org/show_bug.cgi?id=72525
1899
1900         Reviewed by Xan Lopez.
1901
1902         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1903         (webkit_accessible_get_parent): Call to the implementation of
1904         atk_object_get_parent in AtkObject class to check whether a parent
1905         AtkObject has been previously set, before trying to find one.
1906
1907 2011-11-17  Pavel Feldman  <pfeldman@google.com>
1908
1909         Not reviewed: fix IE user agents strings in the inspector.
1910
1911         * inspector/front-end/SettingsScreen.js:
1912         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
1913
1914 2011-11-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1915
1916         Make use-fixed-layout work reliable
1917         https://bugs.webkit.org/show_bug.cgi?id=72511
1918
1919         Reviewed by Simon Hausmann.
1920
1921         Always send a viewport update per page load as we depend on that,
1922         to reset all viewport handling before doing layout.
1923
1924         * page/Page.cpp:
1925         (WebCore::Page::updateViewportArguments):
1926
1927 2011-11-16  Alexander Pavlov  <apavlov@chromium.org>
1928
1929         Web Inspector: inspector follows javascript: hrefs as relative
1930         https://bugs.webkit.org/show_bug.cgi?id=72373
1931
1932         javascript: hrefs should never be linkified for security.
1933
1934         Reviewed by Yury Semikhatsky.
1935
1936         * inspector/front-end/ElementsTreeOutline.js:
1937         (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
1938         * inspector/front-end/ResourceUtils.js:
1939         (WebInspector.completeURL):
1940
1941 2011-11-17  Nikolas Zimmermann  <nzimmermann@rim.com>
1942
1943         Not reviewed. Fix 32bit builds.
1944
1945         * platform/ClockGeneric.cpp:
1946         (ClockGeneric::now): Use narrowPrecisionToFloat.
1947         * rendering/FilterEffectRenderer.cpp:
1948         (WebCore::FilterEffectRenderer::build): Use it correctly.
1949
1950 2011-11-17  Dominic Mazzoni  <dmazzoni@google.com>
1951
1952         Accessibility: Chromium requires an AX notification when an iframe loads.
1953         https://bugs.webkit.org/show_bug.cgi?id=72239
1954
1955         When a document finishes loading, we were sending an AXLoadComplete if it
1956         was the top document. Now, if it's a document in an iframe, send an
1957         AXLayoutComplete on the iframe.
1958
1959         Reviewed by Chris Fleizach.
1960
1961         Test: accessibility/loading-iframe-sends-notification.html
1962
1963         * dom/Document.cpp:
1964         (WebCore::Document::implicitClose):
1965
1966 2011-11-16  Mark Rowe  <mrowe@apple.com>
1967
1968         <http://webkit.org/b/72574> Remove unnecessary use of CarbonCore APIs from Audio code
1969
1970         Reviewed by Andy Estes.
1971
1972         * platform/audio/mac/AudioDestinationMac.cpp:
1973         (WebCore::AudioDestinationMac::AudioDestinationMac): Switch from using the Carbon Component Manager
1974         to using AudioUnit's own component interface.
1975         (WebCore::AudioDestinationMac::~AudioDestinationMac): Ditto.
1976         * platform/audio/mac/AudioFileReaderMac.cpp:
1977         (WebCore::AudioFileReader::AudioFileReader): Remove an unncessary trip through the Carbon File Manager
1978         when converting a char* path to a CFURLRef representing the same.
1979
1980 2011-11-17  Adam Barth  <abarth@webkit.org>
1981
1982         CSP report-only mode doesn't work from an HTTP header
1983         https://bugs.webkit.org/show_bug.cgi?id=71958
1984
1985         Reviewed by Eric Seidel.
1986
1987         "It's tested or it's broken." -- Adam Leventhal
1988
1989         Test: http/tests/security/contentSecurityPolicy/report-only-from-header.php
1990
1991         * loader/FrameLoader.cpp:
1992         (WebCore::FrameLoader::didBeginDocument):
1993
1994 2011-11-15  Pavel Feldman  <pfeldman@google.com>
1995
1996         Web Inspector: introduce Debugger domain capabilities concept.
1997         https://bugs.webkit.org/show_bug.cgi?id=72393
1998
1999         Many of the Preferences that we have in Settings.js and override in DevTools.js
2000         are really not preferences, but capabilities. Protocol clients should have a way
2001         of figuring out whether some capability is present before using it.
2002
2003         Reviewed by Yury Semikhatsky.
2004
2005         * bindings/js/ScriptDebugServer.cpp:
2006         (WebCore::ScriptDebugServer::canSetScriptSource):
2007         * bindings/js/ScriptDebugServer.h:
2008         * bindings/v8/ScriptDebugServer.cpp:
2009         (WebCore::ScriptDebugServer::canSetScriptSource):
2010         * bindings/v8/ScriptDebugServer.h:
2011         * inspector/CodeGeneratorInspector.py:
2012         * inspector/Inspector.json:
2013         * inspector/InspectorDebuggerAgent.cpp:
2014         (WebCore::InspectorDebuggerAgent::getCapabilities):
2015         * inspector/InspectorDebuggerAgent.h:
2016         * inspector/front-end/DebuggerModel.js:
2017         (WebInspector.DebuggerModel):
2018         (WebInspector.DebuggerModel.prototype.enableDebugger):
2019         (WebInspector.DebuggerModel.prototype.canSetScriptSource):
2020         * inspector/front-end/DebuggerPresentationModel.js:
2021         (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
2022         * inspector/front-end/Settings.js:
2023
2024 2011-11-17  Mihnea Ovidenie  <mihnea@adobe.com>
2025
2026         CSS exclusions: parse the wrap-flow and wrap-through properties
2027         https://bugs.webkit.org/show_bug.cgi?id=71904
2028
2029         Reviewed by Dean Jackson.
2030
2031         Tests: fast/exclusions/wrap-flow-parsing.html
2032                fast/exclusions/wrap-through-parsing.html
2033
2034         * css/CSSComputedStyleDeclaration.cpp:
2035         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2036         * css/CSSParser.cpp:
2037         (WebCore::CSSParser::parseValue):
2038         * css/CSSPrimitiveValueMappings.h:
2039         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2040         (WebCore::CSSPrimitiveValue::operator WrapFlow):
2041         (WebCore::CSSPrimitiveValue::operator WrapThrough):
2042         * css/CSSProperty.cpp:
2043         (WebCore::CSSProperty::isInheritedProperty):
2044         * css/CSSPropertyNames.in:
2045         * css/CSSStyleSelector.cpp:
2046         (WebCore::CSSStyleSelector::applyProperty):
2047         * css/CSSValueKeywords.in:
2048         * rendering/style/RenderStyle.cpp:
2049         (WebCore::RenderStyle::diff):
2050         * rendering/style/RenderStyle.h:
2051         (WebCore::InheritedFlags::wrapFlow):
2052         (WebCore::InheritedFlags::wrapThrough):
2053         (WebCore::InheritedFlags::setWrapFlow):
2054         (WebCore::InheritedFlags::setWrapThrough):
2055         (WebCore::InheritedFlags::initialWrapFlow):
2056         (WebCore::InheritedFlags::initialWrapThrough):
2057         * rendering/style/RenderStyleConstants.h:
2058         * rendering/style/StyleRareNonInheritedData.cpp:
2059         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2060         (WebCore::StyleRareNonInheritedData::operator==):
2061         * rendering/style/StyleRareNonInheritedData.h:
2062
2063 2011-11-16  Dean Jackson  <dino@apple.com>
2064
2065         Implement filter function shorthands
2066         https://bugs.webkit.org/show_bug.cgi?id=68475
2067
2068         Reviewed by Simon Fraser.
2069
2070         Implement the shorthand functions for filter effects.
2071         This includes grayscale, sepia, invert, hue-rotate, saturate,
2072         opacity, gamma, drop-shadow and blur. At the moment sharpen
2073         and url are not supported.
2074
2075         CSSParser needed to be updated because it was mistakenly
2076         clamping saturation values to [0,1]. Any positive number
2077         is allowed so you can produce super-saturated images.
2078
2079         The biggest change was the API to FilterEffectRenderer. It now
2080         builds a list of effects and applies the filter itself.
2081
2082         Note that the drop-shadow and blur operations don't yet
2083         provide accurate results because they produce an output image
2084         that is larger than the input. See
2085         https://bugs.webkit.org/show_bug.cgi?id=71929
2086         https://bugs.webkit.org/show_bug.cgi?id=71930
2087
2088         While I was there, I fixed a small style issue in
2089         CustomFilterOperation.
2090
2091         Tests: css3/filters/effect-blur.html
2092                css3/filters/effect-combined.html
2093                css3/filters/effect-drop-shadow.html
2094                css3/filters/effect-gamma.html
2095                css3/filters/effect-grayscale.html
2096                css3/filters/effect-hue-rotate.html
2097                css3/filters/effect-invert.html
2098                css3/filters/effect-opacity.html
2099                css3/filters/effect-saturate.html
2100                css3/filters/effect-sepia.html
2101
2102         * WebCore.xcodeproj/project.pbxproj: Add StyleShader.h to
2103         the project (missing from earlier commit).
2104         * css/CSSParser.cpp:
2105         (WebCore::CSSParser::isValidFilterArgument): Don't clamp
2106         saturate to [0,1]
2107         * platform/graphics/filters/CustomFilterOperation.h:
2108         * rendering/FilterEffectRenderer.cpp:
2109         (WebCore::endMatrixRow):
2110         (WebCore::lastMatrixRow):
2111         (WebCore::FilterEffectRenderer::FilterEffectRenderer):
2112         (WebCore::FilterEffectRenderer::inputContext):
2113         (WebCore::FilterEffectRenderer::build):
2114         (WebCore::FilterEffectRenderer::prepare):
2115         (WebCore::FilterEffectRenderer::apply):
2116         * rendering/FilterEffectRenderer.h:
2117         (WebCore::FilterEffectRenderer::setSourceImageRect):
2118         (WebCore::FilterEffectRenderer::output):
2119         (WebCore::FilterEffectRenderer::setMaxEffectRects):
2120         (WebCore::FilterEffectRenderer::lastEffect):
2121         * rendering/RenderLayer.cpp:
2122         (WebCore::RenderLayer::paintLayer):
2123         (WebCore::RenderLayer::updateOrRemoveFilterEffect):
2124         (WebCore::RenderLayer::updateFilterBackingStore):
2125
2126 2011-11-16  Kentaro Hara  <haraken@chromium.org>
2127
2128         Remove all custom constructors of Events from JSC
2129         https://bugs.webkit.org/show_bug.cgi?id=72577
2130
2131         Reviewed by Adam Barth.
2132
2133         - Makes CodeGeneratorJS.pm generate Event constructors
2134         if [ConstructorTemplate=Event] IDL is specified.
2135         - Removes EventConstructors.h and JSEventConstructors.cpp.
2136         - Replaces all JSC custom constructors of Events
2137         with the generated code by [ConstructorTemplate=Event] IDL.
2138
2139         Tests: fast/events/constructors/before-load-event-constructor.html
2140                fast/events/constructors/close-event-constructor.html
2141                fast/events/constructors/custom-event-constructor.html
2142                fast/events/constructors/error-event-constructor.html
2143                fast/events/constructors/event-constructors.html
2144                fast/events/constructors/hash-change-event-constructor.html
2145                fast/events/constructors/message-event-constructor.html
2146                fast/events/constructors/overflow-event-constructor.html
2147                fast/events/constructors/page-transition-event-constructor.html
2148                fast/events/constructors/pop-state-event-constructor.html
2149                fast/events/constructors/progress-event-constructor.html
2150                fast/events/constructors/track-event-constructor.html
2151                fast/events/constructors/webkit-animation-event-constructor.html
2152                fast/events/constructors/webkit-transition-event-constructor.html
2153
2154         * bindings/generic/EventConstructors.h: Removed. This is what we wanted to do in this patch.
2155         * bindings/js/JSEventConstructors.cpp: Ditto.
2156         * GNUmakefile.list.am: Removed EventConstructors.h and JSEventConstructors.cpp.
2157         * Target.pri: Ditto.
2158         * UseJSC.cmake: Ditto.
2159         * WebCore.gypi: Ditto.
2160         * WebCore.vcproj/WebCore.vcproj: Ditto.
2161         * WebCore.xcodeproj/project.pbxproj: Ditto.
2162         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
2163
2164         * bindings/scripts/CodeGeneratorJS.pm:
2165         (GenerateHeader): Added JSDictionary.h.
2166         (GenerateConstructorDeclaration): Added a header for fillXXXXEventInit(...).
2167         (GenerateConstructorDefinition): Generates an Event constructor. The generated code is the same as the code that had been written in JSEventConstructors.cpp.
2168         (IsConstructable): Judges if a given interface is constructable.
2169         (IsConstructorTemplate): Judges if a given interface has a given template, e.g. judges if an interface has [ConstructorTemplate=Event].
2170
2171         * bindings/scripts/test/TestEventConstructor.idl: Changed 'CustomConstructor=Event' to 'ConstructorTemplate=Event'. We should have changed this in r100108.
2172         * bindings/scripts/test/JS/JSTestEventConstructor.cpp: Updated a run-bindings-tests result.
2173         (WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):
2174         (WebCore::fillTestEventConstructorInit):
2175         * bindings/scripts/test/JS/JSTestEventConstructor.h: Ditto.
2176         * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Ditto.
2177         (WebCore::V8TestEventConstructor::constructorCallback):
2178         (WebCore::fillTestEventConstructorInit):
2179         * bindings/scripts/test/V8/V8TestEventConstructor.h: Ditto.
2180
2181         * dom/BeforeLoadEvent.idl: In essence, replaced [JSCustomConstructor] IDL with [JSConstructorTemplate=Event] IDL.
2182         * dom/CustomEvent.idl: Ditto.
2183         * dom/ErrorEvent.idl: Ditto.
2184         * dom/Event.idl: Ditto.
2185         * dom/HashChangeEvent.idl: Ditto.
2186         * dom/MessageEvent.idl: Ditto.
2187         * dom/OverflowEvent.idl: Ditto.
2188         * dom/PageTransitionEvent.idl: Ditto.
2189         * dom/PopStateEvent.idl: Ditto.
2190         * dom/ProgressEvent.idl: Ditto.
2191         * dom/WebKitAnimationEvent.idl: Ditto.
2192         * dom/WebKitTransitionEvent.idl: Ditto.
2193         * html/track/TrackEvent.idl: Ditto.
2194         * websockets/CloseEvent.idl: Ditto.
2195
2196 2011-11-16  Dean Jackson  <dino@apple.com>
2197
2198         Build fix for Apple WebKit due to r100560.
2199         When I removed the violating header file it lost the
2200         reference to Color.
2201
2202         No review.
2203
2204         * platform/graphics/filters/FilterOperation.h:
2205
2206 2011-11-16  Dean Jackson  <dino@apple.com>
2207
2208         DropShadowFilterOperation violates platform isolation
2209         https://bugs.webkit.org/show_bug.cgi?id=72544
2210
2211         Reviewed by Simon Fraser.
2212
2213         Move ShadowData properties into the DropShadowFilterOperation
2214         to avoid depending on something outside platform.
2215
2216         * css/CSSComputedStyleDeclaration.cpp:
2217         (WebCore::CSSComputedStyleDeclaration::valueForFilter):
2218         * css/CSSStyleSelector.cpp:
2219         (WebCore::CSSStyleSelector::createFilterOperations):
2220         * platform/graphics/filters/FilterOperation.h:
2221         (WebCore::DropShadowFilterOperation::create):
2222         (WebCore::DropShadowFilterOperation::x):
2223         (WebCore::DropShadowFilterOperation::y):
2224         (WebCore::DropShadowFilterOperation::stdDeviation):
2225         (WebCore::DropShadowFilterOperation::color):
2226         (WebCore::DropShadowFilterOperation::operator==):
2227         (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
2228
2229 2011-11-16  Adam Bergkvist  <adam.bergkvist@ericsson.com>
2230
2231         Use a simple page client for user consent in getUserMedia()
2232         https://bugs.webkit.org/show_bug.cgi?id=70897
2233
2234         Reviewed by Adam Barth.
2235
2236         This is one in a series of patches that update the MediaStream feature
2237         to use WebCore platform interfaces.
2238
2239         Covered by existing tests.
2240
2241         * GNUmakefile.list.am:
2242         * WebCore.gypi:
2243         * mediastream/MediaStreamClient.h: Removed.
2244         * mediastream/MediaStreamController.cpp: Removed.
2245         * mediastream/MediaStreamController.h: Removed.
2246         * mediastream/MediaStreamFrameController.cpp: Removed.
2247         * mediastream/MediaStreamFrameController.h: Removed.
2248         * mediastream/UserMediaClient.h: Added.
2249         (WebCore::UserMediaClient::~UserMediaClient):
2250         * mediastream/UserMediaRequest.cpp: Added.
2251         (WebCore::UserMediaRequest::create):
2252         (WebCore::UserMediaRequest::UserMediaRequest):
2253         (WebCore::UserMediaRequest::~UserMediaRequest):
2254         (WebCore::UserMediaRequest::start):
2255         (WebCore::UserMediaRequest::mediaStreamSourcesQueryCompleted):
2256         (WebCore::UserMediaRequest::succeed):
2257         (WebCore::UserMediaRequest::fail):
2258         (WebCore::UserMediaRequest::contextDestroyed):
2259         (WebCore::UserMediaRequest::parseOptions):
2260         * mediastream/UserMediaRequest.h: Added.
2261         (WebCore::UserMediaRequest::audio):
2262         (WebCore::UserMediaRequest::video):
2263         (WebCore::UserMediaRequest::cameraPreferenceUser):
2264         (WebCore::UserMediaRequest::cameraPreferenceEnvironment):
2265         (WebCore::UserMediaRequest::successCallback):
2266         (WebCore::UserMediaRequest::errorCallback):
2267         * page/CallbackTask.h: Removed.
2268         * page/Frame.cpp:
2269         (WebCore::Frame::Frame):
2270         (WebCore::Frame::~Frame):
2271         (WebCore::Frame::pageDestroyed):
2272         (WebCore::Frame::transferChildFrameToNewDocument):
2273         * page/Frame.h:
2274         * page/Navigator.cpp:
2275         (WebCore::Navigator::webkitGetUserMedia):
2276         * page/NavigatorUserMediaErrorCallback.h:
2277         * page/Page.cpp:
2278         (WebCore::Page::Page):
2279         (WebCore::Page::~Page):
2280         (WebCore::Page::PageClients::PageClients):
2281         * page/Page.h:
2282         (WebCore::Page::userMediaClient):
2283
2284 2011-11-16  David Grogan  <dgrogan@chromium.org>
2285
2286         instantiate WorkerEventQueue in WorkerContext
2287         https://bugs.webkit.org/show_bug.cgi?id=72528
2288
2289         Reviewed by David Levin.
2290
2291         No new tests - nothing uses it yet.
2292
2293         * workers/WorkerContext.cpp:
2294         (WebCore::WorkerContext::WorkerContext):
2295         Instantiate WorkerEventQueue in InitializerList
2296
2297         * workers/WorkerEventQueue.h:
2298         Don't inherit from RefCounted, WorkerContext has an OwnPtr to it
2299
2300 2011-11-16  Kentaro Hara  <haraken@chromium.org>
2301
2302         Unreviewed. Rebaselined run-bindings-tests results.
2303
2304         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2305         (WebCore::JSTestEventConstructor::JSTestEventConstructor):
2306         (WebCore::JSTestEventConstructorOwner::finalize):
2307         * bindings/scripts/test/JS/JSTestEventConstructor.h:
2308         (WebCore::JSTestEventConstructor::impl):
2309         (WebCore::JSTestEventConstructor::releaseImpl):
2310         * bindings/scripts/test/JS/JSTestInterface.cpp:
2311         (WebCore::JSTestInterface::JSTestInterface):
2312         (WebCore::JSTestInterfaceOwner::finalize):
2313         * bindings/scripts/test/JS/JSTestInterface.h:
2314         (WebCore::JSTestInterface::impl):
2315         (WebCore::JSTestInterface::releaseImpl):
2316         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2317         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
2318         (WebCore::JSTestMediaQueryListListenerOwner::finalize):
2319         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2320         (WebCore::JSTestMediaQueryListListener::impl):
2321         (WebCore::JSTestMediaQueryListListener::releaseImpl):
2322         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2323         (WebCore::JSTestNamedConstructor::JSTestNamedConstructor):
2324         (WebCore::JSTestNamedConstructorOwner::finalize):
2325         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
2326         (WebCore::JSTestNamedConstructor::impl):
2327         (WebCore::JSTestNamedConstructor::releaseImpl):
2328         * bindings/scripts/test/JS/JSTestObj.cpp:
2329         (WebCore::JSTestObj::JSTestObj):
2330         (WebCore::JSTestObjOwner::finalize):
2331         * bindings/scripts/test/JS/JSTestObj.h:
2332         (WebCore::JSTestObj::impl):
2333         (WebCore::JSTestObj::releaseImpl):
2334         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2335         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
2336         (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
2337         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2338         (WebCore::JSTestSerializedScriptValueInterface::impl):
2339         (WebCore::JSTestSerializedScriptValueInterface::releaseImpl):
2340
2341 2011-11-16  Jay Civelli  <jcivelli@chromium.org>
2342
2343         Make sure MHTML documents use the domain of the MHTML file.
2344         https://bugs.webkit.org/show_bug.cgi?id=72445
2345
2346         Reviewed by Adam Barth.
2347
2348         * dom/Document.h:
2349         (WebCore::Document::setBaseURL):
2350         * loader/FrameLoader.cpp:
2351         (WebCore::FrameLoader::receivedFirstData):
2352
2353 2011-11-16  Julien Chaffraix  <jchaffraix@webkit.org>
2354
2355         Update supported display list after -webkit-grid and -webkit-inline-grid addition
2356         https://bugs.webkit.org/show_bug.cgi?id=72559
2357
2358         Reviewed by Tony Chang.
2359
2360         * css/CSSParser.cpp:
2361         (WebCore::CSSParser::parseValue): Added the 2 new supported
2362         values (forgotten in the previous change).
2363
2364 2011-11-11  Adrienne Walker  <enne@google.com>
2365
2366         [chromium] Expose mock scrollbars to window.internals
2367         https://bugs.webkit.org/show_bug.cgi?id=72195
2368
2369         Reviewed by James Robinson.
2370
2371         * testing/Internals.cpp:
2372         (WebCore::Internals::setMockScrollbarsEnabled):
2373         * testing/Internals.h:
2374         * testing/Internals.idl:
2375
2376 2011-11-16  Michael Nordman  <michaeln@google.com>
2377
2378         ApplicationCache manifest should work with any MIME type.
2379         https://bugs.webkit.org/show_bug.cgi?id=72082
2380
2381         Reviewed by Alexey Proskuryakov.
2382
2383         * loader/appcache/ApplicationCacheGroup.cpp:
2384         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Remove the test for a particular type.
2385
2386 2011-11-16  Daniel Sievers  <sievers@chromium.org>
2387
2388         [Chromium] Avoid color mask operations for root layers
2389         https://bugs.webkit.org/show_bug.cgi?id=72452
2390
2391         Instead of relying on the combination of clearing the surface and initializing
2392         the alpha channel to 1.0 followed by disabling alpha in the color mask when
2393         rendering the root layer tiles, add shaders to support writing out opaque layers
2394         (alpha channel values written as 1.0).
2395
2396         Reviewed by James Robinson.
2397
2398         No functional change made that requires new tests.
2399
2400         * platform/graphics/chromium/LayerRendererChromium.cpp:
2401         (WebCore::LayerRendererChromium::drawLayersInternal):
2402         (WebCore::LayerRendererChromium::initializeSharedObjects):
2403         (WebCore::LayerRendererChromium::tilerProgramOpaque):
2404         (WebCore::LayerRendererChromium::tilerProgramOpaqueAA):
2405         (WebCore::LayerRendererChromium::tilerProgramSwizzleOpaque):
2406         (WebCore::LayerRendererChromium::tilerProgramSwizzleOpaqueAA):
2407         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2408         * platform/graphics/chromium/LayerRendererChromium.h:
2409         * platform/graphics/chromium/ShaderChromium.cpp:
2410         (WebCore::FragmentTexOpaqueBinding::FragmentTexOpaqueBinding):
2411         (WebCore::FragmentTexOpaqueBinding::init):
2412         (WebCore::FragmentShaderRGBATexOpaque::getShaderString):
2413         (WebCore::FragmentShaderRGBATexSwizzleOpaque::getShaderString):
2414         (WebCore::FragmentTexClampOpaqueAABinding::FragmentTexClampOpaqueAABinding):
2415         (WebCore::FragmentTexClampOpaqueAABinding::init):
2416         (WebCore::FragmentShaderRGBATexClampOpaqueAA::getShaderString):
2417         (WebCore::FragmentShaderRGBATexClampSwizzleOpaqueAA::getShaderString):
2418         * platform/graphics/chromium/ShaderChromium.h:
2419         (WebCore::FragmentTexOpaqueBinding::alphaLocation):
2420         (WebCore::FragmentTexOpaqueBinding::samplerLocation):
2421         (WebCore::FragmentTexClampOpaqueAABinding::alphaLocation):
2422         (WebCore::FragmentTexClampOpaqueAABinding::samplerLocation):
2423         (WebCore::FragmentTexClampOpaqueAABinding::fragmentTexTransformLocation):
2424         (WebCore::FragmentTexClampOpaqueAABinding::edgeLocation):
2425         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2426         (WebCore::CCTiledLayerImpl::draw):
2427         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2428
2429 2011-11-16  Tim Horton  <timothy_horton@apple.com>
2430
2431         Implement CSS3 Images cross-fade() image function
2432         https://bugs.webkit.org/show_bug.cgi?id=52162
2433         <rdar://problem/10209254>
2434
2435         Reviewed by Simon Fraser.
2436
2437         Render -webkit-cross-fade. Only cross-fades entirely composed of images will render for now,
2438         cross-fades involving generated images are not yet implemented.
2439
2440         Reorganize GeneratedImage to be the base class for GeneratorGeneratedImage and CrossfadeGeneratedImage.
2441
2442         Add a pending state to CSSImageGeneratorValue, which is used to enable the pending-images loading
2443         mechanism for -webkit-cross-fade's sub-images. Rework the logic in CSSStyleSelector to support pending
2444         generated images.
2445         
2446         Support parsing fractional values for the cross-fade amount (for example, 0.5 = 50%). Clamp cross-fade
2447         amount to 0-1 range.
2448
2449         Tests: css3/images/cross-fade-invalidation.html
2450                css3/images/cross-fade-simple.html
2451                css3/images/cross-fade-sizing.html
2452                css3/images/cross-fade-tiled.html
2453
2454         * CMakeLists.txt:
2455         * GNUmakefile.list.am:
2456         * Target.pri:
2457         * WebCore.gypi:
2458         * WebCore.xcodeproj/project.pbxproj:
2459         * css/CSSCanvasValue.h:
2460         (WebCore::CSSCanvasValue::isPending):
2461         (WebCore::CSSCanvasValue::loadSubimages):
2462         * css/CSSCrossfadeValue.cpp:
2463         (WebCore::CSSCrossfadeValue::isPending):
2464         (WebCore::CSSCrossfadeValue::loadSubimages):
2465         (WebCore::subimageIsPending):
2466         (WebCore::loadSubimage):
2467         (WebCore::cachedImageForCSSValue):
2468         (WebCore::CSSCrossfadeValue::image):
2469         (WebCore::CSSCrossfadeValue::crossfadeChanged):
2470         * css/CSSCrossfadeValue.h:
2471         (WebCore::CSSCrossfadeValue::create):
2472         (WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
2473         (WebCore::CSSCrossfadeValue::fixedSize):
2474         (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
2475         (WebCore::CSSCrossfadeValue::CrossfadeObserverProxy::CrossfadeObserverProxy):
2476         * css/CSSGradientValue.cpp:
2477         (WebCore::CSSGradientValue::image):
2478         * css/CSSGradientValue.h:
2479         (WebCore::CSSGradientValue::isPending):
2480         (WebCore::CSSGradientValue::loadSubimages):
2481         * css/CSSImageGeneratorValue.cpp:
2482         (WebCore::CSSImageGeneratorValue::generatedOrPendingImage):
2483         (WebCore::CSSImageGeneratorValue::generatedImage):
2484         (WebCore::CSSImageGeneratorValue::isPending):
2485         (WebCore::CSSImageGeneratorValue::loadSubimages):
2486         * css/CSSImageGeneratorValue.h:
2487         * css/CSSParser.cpp:
2488         (WebCore::CSSParser::parseCrossfade):
2489         * css/CSSStyleSelector.cpp:
2490         (WebCore::CSSStyleSelector::styleImage):
2491         (WebCore::CSSStyleSelector::generatedOrPendingFromValue):
2492         (WebCore::CSSStyleSelector::loadPendingImage):
2493         (WebCore::CSSStyleSelector::loadPendingImages):
2494         * css/CSSStyleSelector.h:
2495         * platform/graphics/BitmapImage.h:
2496         * platform/graphics/CrossfadeGeneratedImage.cpp: Added.
2497         (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
2498         (WebCore::CrossfadeGeneratedImage::~CrossfadeGeneratedImage):
2499         (WebCore::CrossfadeGeneratedImage::drawCrossfade):
2500         (WebCore::CrossfadeGeneratedImage::draw):
2501         (WebCore::CrossfadeGeneratedImage::drawPattern):
2502         (WebCore::CrossfadeGeneratedImage::imageChanged):
2503         * platform/graphics/CrossfadeGeneratedImage.h: Added.
2504         (WebCore::CrossfadeGeneratedImage::create):
2505         (WebCore::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
2506         (WebCore::CrossfadeSubimageObserverProxy::setReady):
2507         * platform/graphics/GeneratedImage.h:
2508         (WebCore::GeneratedImage::GeneratedImage):
2509         * platform/graphics/GeneratorGeneratedImage.cpp: Renamed from Source/WebCore/platform/graphics/GeneratedImage.cpp.
2510         (WebCore::GeneratorGeneratedImage::draw):
2511         (WebCore::GeneratorGeneratedImage::drawPattern):
2512         (WebCore::GeneratedImage::computeIntrinsicDimensions):
2513         * platform/graphics/GeneratorGeneratedImage.h: Copied from Source/WebCore/platform/graphics/GeneratedImage.h.
2514         (WebCore::GeneratorGeneratedImage::create):
2515         (WebCore::GeneratorGeneratedImage::~GeneratorGeneratedImage):
2516         (WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage):
2517         * platform/graphics/Image.h:
2518         * platform/graphics/ImageBuffer.h:
2519         * rendering/style/StylePendingImage.h:
2520         (WebCore::StylePendingImage::create):
2521         (WebCore::StylePendingImage::data):
2522         (WebCore::StylePendingImage::cssImageValue):
2523         (WebCore::StylePendingImage::cssImageGeneratorValue):
2524         (WebCore::StylePendingImage::StylePendingImage):
2525
2526
2527 2011-11-16  Dan Bernstein  <mitz@apple.com>
2528
2529         WebCore part of <rdar://problem/10262242> Add API for paginated display
2530         https://bugs.webkit.org/show_bug.cgi?id=72537
2531
2532         Reviewed by Anders Carlsson.
2533
2534         * WebCore.exp.in: Exported Page::pageCount().
2535         * page/Page.cpp:
2536         (WebCore::Page::pageCount): Added this getter.
2537         * page/Page.h:
2538
2539 2011-11-16  Shawn Singh  <shawnsingh@chromium.org>
2540
2541         [chromium] Track property changes for render surfaces.
2542         https://bugs.webkit.org/show_bug.cgi?id=72521
2543
2544         Reviewed by James Robinson.
2545
2546         Created CCRenderSurfaceTest for testing.
2547
2548         * platform/graphics/chromium/LayerRendererChromium.cpp:
2549         (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
2550         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2551         (WebCore::CCLayerImpl::resetPropertyChangedFlagForSubtree):
2552         * platform/graphics/chromium/cc/CCLayerImpl.h:
2553         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2554         (WebCore::CCRenderSurface::CCRenderSurface):
2555         (WebCore::CCRenderSurface::setClipRect):
2556         (WebCore::CCRenderSurface::setContentRect):
2557         (WebCore::CCRenderSurface::surfacePropertyChanged):
2558         * platform/graphics/chromium/cc/CCRenderSurface.h:
2559         (WebCore::CCRenderSurface::resetPropertyChangedFlag):
2560
2561 2011-11-16  Ben Wells  <benwells@chromium.org>
2562
2563         Seaming on border corners with mixed colour alpha borders
2564         https://bugs.webkit.org/show_bug.cgi?id=70471
2565
2566         Reviewed by Simon Fraser.
2567
2568         Seaming is fixed by antialiasing mitred corners for edges that have alpha and are joining
2569         a side that is of a different color.
2570
2571         Test: fast/borders/border-mixed-alpha.html
2572
2573         * rendering/RenderBoxModelObject.cpp:
2574         (WebCore::colorNeedsAntiAliasAtCorner):
2575         (WebCore::RenderBoxModelObject::paintOneBorderSide):
2576
2577 2011-11-16  Sam Weinig  <sam@webkit.org>
2578
2579         JS wrappers of DOM objects should have no-op constructors
2580         https://bugs.webkit.org/show_bug.cgi?id=72556
2581
2582         Reviewed by Geoffrey Garen.
2583
2584         Stop using a RefPtr to hold DOM objects contained by JavaScript
2585         wrappers and instead use a raw pointer. We were already releasing
2586         the underlying object before the destructor ran (via the finalizer)
2587         so the default behavior of destroying the RefPtr is always unnecessary
2588         busy work. 
2589
2590         * bindings/js/JSCSSValueCustom.cpp:
2591         (WebCore::JSCSSValueOwner::finalize):
2592         * bindings/js/JSNodeCustom.cpp:
2593         (WebCore::JSNodeOwner::finalize):
2594         (WebCore::JSNode::visitChildren):
2595         Call releaseImpl() instead of clearImpl().
2596
2597         * bindings/scripts/CodeGeneratorJS.pm:
2598         (GenerateHeader):
2599         Stop storing m_impl in a RefPtr and instead use a raw pointer. Switch
2600         clearImpl() to releaseImpl(), which explicitly derefs the pointer and
2601         clear it.
2602
2603         (GenerateImplementation):
2604         Use leakPtr() to explicitly adopt the PassRefPtr into the raw pointer.
2605         Change default finalize to call releaseImpl() instead of clearImpl().
2606
2607 2011-11-16  Michael Saboff  <msaboff@apple.com>
2608
2609         Enable 8 Bit Strings in JavaScriptCore
2610         https://bugs.webkit.org/show_bug.cgi?id=71337
2611
2612         This patch turns on 8 bit strings in StringImpl and enables
2613         their use in JavaScriptCore. Some of the changes are to
2614         turn on code that had been staged (Lexer.cpp, Identifier.cpp,
2615         SmallStrings.cpp and some of StringImpl.{h,cpp}).
2616         Other changes are minor fixes to make 8 bit strings work
2617         (UString.h, StringImpl::getData16SlowCase()).
2618         Changed StringBuffer to be a templated class based on character
2619         type.  This change riplled into WebCore code as well.
2620
2621         Reviewed by Geoffrey Garen.
2622
2623         No new tests - Changes in response to refactoring StringBuffer to
2624         be a template on character type.
2625
2626         * css/CSSParser.cpp:
2627         (WebCore::quoteCSSString):
2628         * css/CSSPrimitiveValue.cpp:
2629         (WebCore::formatNumber):
2630         * dom/Document.cpp:
2631         (WebCore::canonicalizedTitle):
2632         * platform/Length.cpp:
2633         (WebCore::newCoordsArray):
2634         * platform/sql/SQLiteStatement.cpp:
2635         (WebCore::SQLiteStatement::prepare):
2636         * platform/text/TextCodecUTF16.cpp:
2637         (WebCore::TextCodecUTF16::decode):
2638         * platform/text/TextCodecUTF8.cpp:
2639         (WebCore::TextCodecUTF8::decode):
2640         * rendering/RenderText.cpp:
2641         (WebCore::makeCapitalized):
2642         * xml/XSLTProcessorLibxslt.cpp:
2643         (WebCore::writeToStringBuilder):
2644
2645 2011-11-16  Alexandre Elias  <aelias@google.com>
2646
2647         [chromium] Improvements for page scale delta during commit
2648         https://bugs.webkit.org/show_bug.cgi?id=72471
2649
2650         Reviewed by James Robinson.
2651
2652         Page scale now follows the same commit flow as scroll position:
2653         the delta is folded into m_pageScale at BFAC time, and a "sent" value
2654         is preserved for temporary use until the commit finishes.
2655
2656         I also merged setPageScaleFactor and setPageScaleFactorLimits into one
2657         function on the impl side.  The reason is that setPageFactor must
2658         be applied after the limits are updated, but on the other hand setting
2659         the limits first may cause an unnecessary clamp of the scale delta.
2660         Merging the methods avoids this bind.
2661
2662         No new tests. (planning to add later: https://bugs.webkit.org/show_bug.cgi?id=71529)
2663
2664         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2665         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
2666         (WebCore::CCLayerTreeHost::applyScrollAndScale):
2667         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
2668         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2669         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2670         (WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
2671         (WebCore::CCLayerTreeHostImpl::adjustScrollsForPageScaleChange):
2672         (WebCore::CCLayerTreeHostImpl::setScaleDelta):
2673         (WebCore::CCLayerTreeHostImpl::applyScaleDeltaToScrollLayer):
2674         (WebCore::CCLayerTreeHostImpl::scrollRootLayer):
2675         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
2676         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2677
2678 2011-11-16  Joshua Bell  <jsbell@chromium.org>
2679
2680         IndexedDB: Reduce nested key depth threshold, re-enable flaky test
2681         https://bugs.webkit.org/show_bug.cgi?id=72529
2682
2683         Reviewed by Adam Barth.
2684
2685         Drop maximum array key depth from 20k to 2k.
2686
2687         * bindings/v8/IDBBindingUtilities.cpp:
2688
2689 2011-11-16  Nate Chapin  <japhet@chromium.org>
2690
2691         Fix incorrect multipart handling in r100311.
2692         SubresourceLoader::didReceiveData() is getting called
2693         twice, which has unintended side effects.
2694         https://bugs.webkit.org/show_bug.cgi?id=72436
2695
2696         Reviewed by Adam Barth.
2697
2698         http/tests/multipart/invalid-image-data.html should stop
2699         asserting after this.
2700
2701         * loader/SubresourceLoader.cpp:
2702         (WebCore::SubresourceLoader::didReceiveResponse):
2703         (WebCore::SubresourceLoader::didReceiveData):
2704         (WebCore::SubresourceLoader::sendDataToResource):
2705         * loader/SubresourceLoader.h:
2706
2707 2011-11-16  Justin Schuh  <jschuh@chromium.org>
2708
2709         Clear SVG filter client when its node is detached
2710         https://bugs.webkit.org/show_bug.cgi?id=71741
2711
2712         Reviewed by Eric Seidel.
2713
2714         Test: svg/filters/reparent-animated-filter-target.html
2715
2716         * rendering/svg/SVGResourcesCache.cpp:
2717         (WebCore::SVGResourcesCache::clientDestroyed):
2718
2719 2011-11-16  John Bates  <jbates@google.com>
2720
2721         Page/layer flashes after GPU-accelerated CSS transition
2722         https://bugs.webkit.org/show_bug.cgi?id=72343
2723
2724         LayerRendererChromium was resizing the window to 1x1 at initialization.
2725         In some cases, there is no drawLayers before switching back to
2726         software rendering. This left the window resized to 1x1 and the
2727         following software paints would therefore not be visible. This change
2728         moves the reshape call into drawLayers so that it will only be called
2729         if rendering will occur.
2730
2731         Reviewed by James Robinson.
2732
2733         New test: CCLayerTreeHostImplTest.reshapeNotCalledUntilDraw.
2734
2735         * platform/graphics/chromium/LayerRendererChromium.cpp:
2736         (WebCore::LayerRendererChromium::viewportChanged):
2737         (WebCore::LayerRendererChromium::doViewportChanged):
2738         (WebCore::LayerRendererChromium::drawLayersInternal):
2739         * platform/graphics/chromium/LayerRendererChromium.h:
2740
2741 2011-11-16  Alexandre Elias  <aelias@google.com>
2742
2743         [chromium] Add null pointer check in setDeviceScaleFactor
2744         https://bugs.webkit.org/show_bug.cgi?id=72464
2745
2746         Reviewed by James Robinson.
2747
2748         No new tests. (Tiny fix.)
2749
2750         * page/Page.cpp:
2751         (WebCore::Page::setDeviceScaleFactor):
2752
2753 2011-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2754
2755         Unreviewed, rolling out r100438.
2756         http://trac.webkit.org/changeset/100438
2757         https://bugs.webkit.org/show_bug.cgi?id=72536
2758
2759         Broke unit tests (Requested by jamesr_ on #webkit).
2760
2761         * platform/PlatformScreen.h:
2762         * platform/chromium/PlatformScreenChromium.cpp:
2763         * platform/chromium/PlatformSupport.h:
2764         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2765         (WebCore::CCSettings::CCSettings):
2766         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2767         (WebCore::CCThreadProxy::initializeImplOnImplThread):
2768
2769 2011-11-16  Andy Estes  <aestes@apple.com>
2770
2771         Assertion failure in LayerFlushScheduler::resume() when running some layout tests in WebKitTestRunner
2772         https://bugs.webkit.org/show_bug.cgi?id=72535
2773
2774         Reviewed by Anders Carlsson.
2775
2776         LayerFlushScheduler attempted to use a counter strategy for calls to
2777         suspend() and resume(), which allowed us to assert that these calls
2778         were balanced. Unfortunately it is hard to guarantee this in WebKit2,
2779         where we sometimes try to call suspend() before we've entered
2780         compositing mode (hence before we have a LayerTreeHost and a
2781         LayerFlushScheduler). When we later call resume(), this call ends up
2782         being unbalanced and asserts.
2783
2784         For now, remove the assertions and allow unbalanced calls to suspend()
2785         and resume().
2786
2787         * platform/graphics/ca/LayerFlushScheduler.cpp:
2788         (WebCore::LayerFlushScheduler::suspend):
2789         (WebCore::LayerFlushScheduler::resume):
2790         * platform/graphics/ca/LayerFlushScheduler.h:
2791         * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
2792         (WebCore::LayerFlushScheduler::LayerFlushScheduler):
2793         (WebCore::LayerFlushScheduler::runLoopObserverCallback):
2794         (WebCore::LayerFlushScheduler::schedule):
2795
2796 2011-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2797
2798         Unreviewed, rolling out r100473.
2799         http://trac.webkit.org/changeset/100473
2800         https://bugs.webkit.org/show_bug.cgi?id=72534
2801
2802         "Broke the Mac Build" (Requested by mwenge2 on #webkit).
2803
2804         * CMakeLists.txt:
2805         * GNUmakefile.list.am:
2806         * Target.pri:
2807         * WebCore.gypi:
2808         * rendering/RenderBlock.cpp:
2809         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
2810         * rendering/RenderObject.cpp:
2811         (WebCore::RenderObject::createObject):
2812         (WebCore::RenderObject::addChild):
2813         * rendering/RenderObject.h:
2814         * rendering/RenderTable.cpp:
2815         (WebCore::RenderTable::addChild):
2816         * rendering/RenderTable.h:
2817         * rendering/RenderTableCaption.cpp: Removed.
2818         * rendering/RenderTableCaption.h: Removed.
2819
2820 2011-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2821
2822         Unreviewed, rolling out r100479.
2823         http://trac.webkit.org/changeset/100479
2824         https://bugs.webkit.org/show_bug.cgi?id=72533
2825
2826         "Broke the Mac Build" (Requested by mwenge2 on #webkit).
2827
2828         * WebCore.vcproj/WebCore.vcproj:
2829         * WebCore.xcodeproj/project.pbxproj:
2830         * rendering/RenderingAllInOne.cpp:
2831
2832 2011-11-16  Chris Fleizach  <cfleizach@apple.com>
2833
2834         WebKitTestRunner needs to support accessibility-related DRT APIs
2835         https://bugs.webkit.org/show_bug.cgi?id=42131
2836
2837         Minor changes needed to support AX testing in WKTestRunner.
2838
2839         Reviewed by Beth Dakin.
2840
2841         * WebCore.exp.in:
2842              Expose focusedUIElementForPage so that the WK2 injected bundle can retrieve it.
2843         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2844         (accessibilitySearchKeyForString):
2845             Remove an unncessary assert that was causing issues with the WK2 test run.
2846
2847 2011-11-16  Sergio Villar Senin  <svillar@igalia.com>
2848
2849         [Soup] Somet tests fail with FAIL Unexpected response data received: Wrong method: GET
2850         https://bugs.webkit.org/show_bug.cgi?id=69219
2851
2852         Reviewed by Martin Robinson.
2853
2854         Do not stop appending data to the request body if any of the blob
2855         items to upload is not accesible.
2856
2857         * platform/network/soup/ResourceHandleSoup.cpp:
2858         (WebCore::addEncodedBlobToSoupMessageBody):
2859
2860 2011-11-16  Beth Dakin  <bdakin@apple.com>
2861
2862         https://bugs.webkit.org/show_bug.cgi?id=72400
2863         Scrollbar uiStateTransitionProgress requires tracking the mouse all the time
2864         -and corresponding-
2865         <rdar://problem/10409328>
2866
2867         Reviewed by Darin Adler.
2868
2869         This patch makes it so we track the mouse all the time when we have legacy 
2870         scrollbars (rather than only tracking the mouse when the window is key). When 
2871         we're in that mode, we want to do as little work as possible when handling the 
2872         mouseMoved event so that this extra tracking has little to no performance impact. 
2873         Also, we don't want to change basic behaviors by having normal web content hover 
2874         effects start happening when a window is in the background. So this patch also 
2875         introduces a way to handle a mouseMoved event that will only affect scrollbars.
2876
2877         EventHandler::mouseMoved() and EventHandler::handleMouseEvent() both now take a 
2878         boolean parameter that indicates if we are only updating scrollbars. If that is 
2879         the case, then we make our HitTestRequest ReadOnly, and we return early once 
2880         updateLastScrollbarUnderMouse() is called.
2881         * WebCore.exp.in:
2882         * page/EventHandler.cpp:
2883         (WebCore::EventHandler::mouseMoved):
2884         (WebCore::EventHandler::handleMouseMoveEvent):
2885
2886         In addition to calling Scrollbar::mouseExited() when appropriate, this function 
2887         now calls a new function, Scrollbar::mouseEntered() when appropriate. 
2888         (WebCore::EventHandler::updateLastScrollbarUnderMouse):
2889         * page/EventHandler.h:
2890
2891         Scrollbar::mouseMoved() used to be responsible for calling 
2892         ScrollAnimator::mouseEnteredScrollbar(), but now Scrollbar::mouseEntered() takes 
2893         care of that instead, much like how Scrollbar::mouseExited() takes care of calling 
2894         the animator's exit function.
2895         * platform/Scrollbar.cpp:
2896         (WebCore::Scrollbar::mouseMoved):
2897         (WebCore::Scrollbar::mouseEntered):
2898         * platform/Scrollbar.h:
2899
2900 2011-11-16  Andreas Kling  <kling@webkit.org>
2901
2902         CSSValue: isInheritedValue() doesn't need a dedicated bit.
2903         <http://webkit.org/b/72514>
2904
2905         Reviewed by Antti Koivisto.
2906
2907         Remove CSSValue::m_isInherited and have isInheritedValue() check the
2908         class type instead. There's no compelling reason for CSSInheritedValue
2909         to have a dedicated bit, since nobody subclasses it anyway.
2910
2911         * css/CSSValue.h:
2912         (WebCore::CSSValue::isInheritedValue):
2913         (WebCore::CSSValue::CSSValue):
2914
2915 2011-11-16  Robert Hogan  <robert@webkit.org>
2916
2917         Fix build on Windows and Mac after r100473
2918
2919         Unreviewed, fix build.
2920
2921         * WebCore.vcproj/WebCore.vcproj:
2922         * WebCore.xcodeproj/project.pbxproj:
2923         * rendering/RenderingAllInOne.cpp:
2924
2925 2011-11-16  Philip Rogers  <pdr@google.com>
2926
2927         Remove extra GraphicsContextStateSaver restore() call.
2928         https://bugs.webkit.org/show_bug.cgi?id=72497
2929
2930         Reviewed by Andreas Kling.
2931
2932         * html/canvas/CanvasRenderingContext2D.cpp:
2933         (WebCore::CanvasRenderingContext2D::drawTextInternal):
2934
2935 2011-11-08  Robert Hogan  <robert@webkit.org>
2936
2937         CSS 2.1 failure: border-collapse-offset-002.htm fails
2938         https://bugs.webkit.org/show_bug.cgi?id=71705
2939
2940         Table captions are implemented as children of the table but have a special
2941         requirement to expand to the full width of the table rather than just the 'available'
2942         width, i.e. the full width minus padding and borders.
2943
2944         To accomodate this create a RenderTableCaption object that reimplements containingBlockLogicalWidthForContent()
2945         to return the full width of the containing block (i.e. the table) rather than the available width.
2946
2947         Reviewed by Antti Koivisto.
2948
2949         * CMakeLists.txt: Add RenderTableCaption.[cpp|h]
2950         * GNUmakefile.list.am: Add RenderTableCaption.[cpp|h]
2951         * Target.pri: Add RenderTableCaption.[cpp|h]
2952         * WebCore.gypi: Add RenderTableCaption.[cpp|h]
2953         * rendering/RenderBlock.cpp:
2954         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): Use RenderTableCaption
2955         * rendering/RenderObject.cpp:
2956         (WebCore::RenderObject::createObject): Add RenderTableCaption.[cpp|h]
2957         (WebCore::RenderObject::addChild): ditto
2958         * rendering/RenderObject.h:
2959         (WebCore::RenderObject::isTableCaption):
2960         * rendering/RenderTable.cpp:
2961         (WebCore::RenderTable::addChild):
2962         * rendering/RenderTable.h:
2963         * rendering/RenderTableCaption.cpp: Added.
2964         (WebCore::RenderTableCaption::RenderTableCaption): Implement RenderTableCaption
2965         (WebCore::RenderTableCaption::~RenderTableCaption):
2966         (WebCore::RenderTableCaption::containingBlockLogicalWidthForContent): Return the containing block's full width rather than it's available width.
2967         * rendering/RenderTableCaption.h: Added.
2968         (WebCore::RenderTableCaption::isTableCaption):
2969         (WebCore::toRenderTableCaption):
2970
2971 2011-11-16  Antaryami Pandia  <antaryami.pandia@motorola.com>
2972
2973         [Gtk] display:none has no effect on <option> element.
2974         https://bugs.webkit.org/show_bug.cgi?id=72370
2975
2976         Reviewed by Martin Robinson.
2977
2978         * platform/gtk/GtkPopupMenu.cpp:
2979         (WebCore::GtkPopupMenu::appendItem):
2980         * platform/gtk/PopupMenuGtk.cpp:
2981         (WebCore::PopupMenuGtk::createGtkActionForMenuItem):
2982
2983 2011-11-16  Dan Winship  <danw@gnome.org>
2984
2985         [GTK] Fix platformDefersLoading to handle non-http requests, and
2986         to not use broken-ish libsoup APIs.
2987         https://bugs.webkit.org/show_bug.cgi?id=72227
2988
2989         Reviewed by Martin Robinson.
2990
2991         * platform/network/ResourceHandleInternal.h:
2992         * platform/network/soup/ResourceHandleSoup.cpp:
2993         (WebCore::sendRequestCallback):
2994         (WebCore::startHTTPRequest):
2995         (WebCore::hasBeenSent):
2996         (WebCore::ResourceHandle::platformSetDefersLoading):
2997         (WebCore::readCallback): rather than deferring by using
2998         soup_session_pause_message(), let the read complete, but just don't
2999         process the result until we're no longer deferred.
3000         (WebCore::startNonHTTPRequest): Don't start the request if
3001         it's deferred.
3002
3003 2011-11-16  Vsevolod Vlasov  <vsevik@chromium.org>
3004
3005         Web Inspector: Application cache status should be updated after swapCache().
3006         https://bugs.webkit.org/show_bug.cgi?id=72123
3007
3008         Reviewed by Pavel Feldman.
3009
3010         Application cache view resources and status are now updated after swapCache() call.
3011         Refresh button removed from application cache view.
3012         Application cache inspector tests are moved to their own folder.
3013
3014         Tests: http/tests/inspector/appcache/appcache-iframe-manifests.html
3015                http/tests/inspector/appcache/appcache-manifest-with-non-existing-file.html
3016                http/tests/inspector/appcache/appcache-swap.html
3017
3018         * inspector/front-end/ApplicationCacheItemsView.js:
3019         (WebInspector.ApplicationCacheItemsView):
3020         (WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems):
3021         (WebInspector.ApplicationCacheItemsView.prototype.wasShown):
3022         (WebInspector.ApplicationCacheItemsView.prototype._maybeUpdate):
3023         (WebInspector.ApplicationCacheItemsView.prototype._markDirty):
3024         (WebInspector.ApplicationCacheItemsView.prototype.updateStatus):
3025         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
3026         (WebInspector.ApplicationCacheItemsView.prototype._deleteCallback):
3027         * loader/appcache/ApplicationCacheGroup.cpp:
3028         (WebCore::ApplicationCacheGroup::setNewestCache):
3029         (WebCore::ApplicationCacheGroup::makeObsolete):
3030         (WebCore::ApplicationCacheGroup::setUpdateStatus):
3031         * loader/appcache/ApplicationCacheHost.cpp:
3032         (WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
3033         (WebCore::ApplicationCacheHost::swapCache):
3034
3035 2011-11-16  Eric Carlson  <eric.carlson@apple.com>
3036
3037         addTrack() must throw an exception if 'kind' is unknown
3038         https://bugs.webkit.org/show_bug.cgi?id=71915
3039
3040         Reviewed by Philippe Normand.
3041
3042         Tests: media/track/track-addtrack-kind.html
3043                media/track/track-kind.html
3044
3045         * html/HTMLMediaElement.cpp:
3046         (WebCore::HTMLMediaElement::textTrackKindChanged): New. Will be implemented for 62885.
3047         (WebCore::HTMLMediaElement::addTrack): Throw if  'kind' is not a known value.
3048         (WebCore::HTMLMediaElement::addTextTrack): Call textTracks(), it will allocate the track
3049             list object if necessary.
3050         (WebCore::HTMLMediaElement::textTracks): Never return NULL, a TextTrackList with no tracks
3051             is allowed.
3052         * html/HTMLMediaElement.h:
3053         (WebCore::HTMLMediaElement::addTrack): Add variants to deal with optional parameters plus
3054             a mandatory ExceptionCode parameter.
3055         * html/HTMLMediaElement.idl: addTrack can generate an exception.
3056
3057         * html/HTMLTrackElement.cpp:
3058         (WebCore::HTMLTrackElement::attributeChanged): kind, label, and srclang attribute changes should
3059             percolate down the the TextTrack.
3060         (WebCore::HTMLTrackElement::kind): Return the TextTrack kind because it is not necessarily the
3061             same as the attribute value.
3062         (WebCore::HTMLTrackElement::ensureTrack): Only pass legal 'kind' keywords to create a TextTrack.
3063         (WebCore::HTMLTrackElement::textTrackKindChanged): Notify parent element, if any.
3064         * html/HTMLTrackElement.h:
3065
3066         * html/TextTrack.cpp:
3067         (WebCore::TextTrack::subtitlesKeyword): New, return legal kind attribute value.
3068         (WebCore::TextTrack::captionsKeyword): Ditto.
3069         (WebCore::TextTrack::descriptionsKeyword): Ditto.
3070         (WebCore::TextTrack::chaptersKeyword): Ditto.
3071         (WebCore::TextTrack::metadataKeyword): Ditto.
3072         (WebCore::TextTrack::TextTrack): Call setKind to make sure m_kind is always set to legal value.
3073         (WebCore::TextTrack::isValidKindKeyword): New, validate 'kind' value.
3074         (WebCore::TextTrack::setKind): Only allow legal values.
3075         * html/TextTrack.h:
3076         (WebCore::TextTrack::kind):
3077         (WebCore::TextTrack::label):
3078         (WebCore::TextTrack::setLabel):
3079         (WebCore::TextTrack::language):
3080         (WebCore::TextTrack::setLanguage):
3081         (WebCore::TextTrack::readyState):
3082         (WebCore::TextTrack::mode):
3083
3084 2011-11-16  Andreas Kling  <kling@webkit.org>
3085
3086         CSSValue: Clean up initial value construction.
3087         <http://webkit.org/b/72502>
3088
3089         Reviewed by Antti Koivisto.
3090
3091         Instead of determining whether a given CSSInitialValue is 'implicit' or not by
3092         querying the CSSValue::ClassType (InitialClass vs. ImplicitInitialClass),
3093         add a protected CSSValue member and set it from the CSSInitialValue constructor.
3094
3095         Also get rid of the CSSValue::m_isInitial bit since we can now replace the
3096         checks by classType() == InitialClass.
3097
3098         No new tests, this is a cleanup.
3099
3100         * css/CSSInitialValue.h:
3101         (WebCore::CSSInitialValue::CSSInitialValue):
3102
3103             Poke 'implicit' constructor argument into CSSValue::m_isImplicit.
3104
3105         * css/CSSValue.cpp:
3106         (WebCore::CSSValue::cssText):
3107         (WebCore::CSSValue::destroy):
3108
3109             Remove ImplicitInitialClass cases.
3110
3111         * css/CSSValue.h:
3112         (WebCore::CSSValue::isImplicitInitialValue):
3113         (WebCore::CSSValue::isInitialValue):
3114         (WebCore::CSSValue::CSSValue):
3115
3116 2011-11-16  Antaryami Pandia  <antaryami.pandia@motorola.com>
3117
3118         Remove unnecessary if check from RenderListBox::paintItemForeground.
3119         https://bugs.webkit.org/show_bug.cgi?id=72488
3120
3121         Reviewed by Andreas Kling.
3122
3123         * rendering/RenderListBox.cpp:
3124         (WebCore::RenderListBox::paintItemForeground):
3125
3126 2011-11-15  Simon Hausmann  <simon.hausmann@nokia.com>
3127
3128         [Qt] Centralize hide_symbols and ensure all libs are built with symbol visibility & bsymbolic_functions
3129
3130         Reviewed by Tor Arne Vestbø.
3131
3132         * Target.pri: Eliminate duplicated symbol stuff that lives now in default_post.prf.
3133
3134 2011-11-16  Iain Merrick  <husky@google.com>
3135
3136         [chromium] Pass screen refresh rate into compositor.
3137         https://bugs.webkit.org/show_bug.cgi?id=71040
3138
3139         Reviewed by Tony Gentilcore.
3140
3141         * platform/PlatformScreen.h:
3142         * platform/chromium/PlatformScreenChromium.cpp:
3143         (WebCore::screenRefreshRate):
3144         * platform/chromium/PlatformSupport.h:
3145         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3146         (WebCore::CCSettings::CCSettings):
3147         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3148         (WebCore::CCThreadProxy::initializeImplOnImplThread):
3149
3150 2011-11-15  Andrey Kosyakov  <caseq@chromium.org>
3151
3152         Web Inspector: [Extensions API] drop ExtensionSidebarPane.onUpdated, use callbacks instead
3153         https://bugs.webkit.org/show_bug.cgi?id=72388
3154
3155         Reviewed by Pavel Feldman.
3156
3157         Tests: inspector/extensions/extensions-panel.html
3158                inspector/extensions/extensions-sidebar.html
3159
3160         - fire ExtensionSidebarPane.on{Hidden,Shown} for non-iframe content (experssions/objects);
3161         - drop ExtensionsSidebarPane.onUpdated, provide callback for setObject()/setExpression() instead;
3162         - fix an exception when a page is replaced with object/expression.
3163
3164          inspector/front-end/ExtensionAPI.js:
3165         (injectedExtensionAPI.ExtensionSidebarPaneImpl):
3166         (injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression):
3167         (injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setObject):
3168         * inspector/front-end/ExtensionPanel.js:
3169         (WebInspector.ExtensionNotifierView):
3170         (WebInspector.ExtensionNotifierView.prototype.wasShown):
3171         (WebInspector.ExtensionNotifierView.prototype.willHide):
3172         (WebInspector.ExtensionSidebarPane.prototype.setObject):
3173         (WebInspector.ExtensionSidebarPane.prototype.setExpression):
3174         (WebInspector.ExtensionSidebarPane.prototype.setPage):
3175         (WebInspector.ExtensionSidebarPane.prototype._onEvaluate):
3176         (WebInspector.ExtensionSidebarPane.prototype._makeObjectPropertiesView):
3177         (WebInspector.ExtensionSidebarPane.prototype._setObject):
3178         * inspector/front-end/ExtensionServer.js:
3179         (WebInspector.ExtensionServer.prototype._onSetSidebarContent.callback):
3180         (WebInspector.ExtensionServer.prototype._onSetSidebarContent):
3181         (WebInspector.ExtensionServer.prototype._dispatchCallback):
3182         * inspector/front-end/View.js:
3183         (WebInspector.View.prototype.detach):
3184
3185 2011-11-16  Simon Hausmann  <simon.hausmann@nokia.com>
3186
3187         Unreviewed, rolling out r100266.
3188         http://trac.webkit.org/changeset/100266
3189
3190         Broke WTR.
3191
3192         * Target.pri:
3193
3194 2011-11-16  Per-Erik Brodin  <per-erik.brodin@ericsson.com>
3195
3196         [GTK] fast/events/event-creation.html fails creating MediaStreamEvent
3197         https://bugs.webkit.org/show_bug.cgi?id=70720
3198
3199         Reviewed by Philippe Normand.
3200
3201         Added missing overriding of Event::interfaceName()
3202
3203         * mediastream/MediaStreamEvent.cpp:
3204         (WebCore::MediaStreamEvent::stream): Changed return value to raw pointer.
3205         (WebCore::MediaStreamEvent::interfaceName): Added back from r98044.
3206         * mediastream/MediaStreamEvent.h:
3207         * mediastream/MediaStreamEvent.idl: Changed module name to "events".
3208
3209 2011-11-16  Mario Sanchez Prada  <msanchez@igalia.com>
3210
3211         [GTK] Use GQuark's in the ATK wrapper to get and set arbitrary data
3212         https://bugs.webkit.org/show_bug.cgi?id=72394
3213
3214         Reviewed by Martin Robinson.
3215
3216         No new functionality, no new tests needed.
3217
3218         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3219         (webkit_accessible_class_init): Initialize GQuarks.
3220         (getGailTextUtilForAtk): Use gailTextUtilQuark.
3221         (getPangoLayoutForAtk): Remove unused call to
3222         g_object_set_data_full, since that data is no used anywhere.
3223         (webkitAccessibleHyperlinkImplGetHyperlink): Use hyperlinkObjectQuark.
3224
3225 2011-11-15  Alexandru Chiculita  <achicu@adobe.com>
3226
3227         [CSSShaders] Implement the style cached resources and computed style for the shader urls
3228         https://bugs.webkit.org/show_bug.cgi?id=72378
3229
3230         Reviewed by Dean Jackson.
3231
3232         Test: css3/filters/custom-filter-property-computed-style.html
3233
3234         * GNUmakefile.list.am:
3235         * Target.pri:
3236         * WebCore.gypi:
3237         * WebCore.vcproj/WebCore.vcproj:
3238         * WebCore.xcodeproj/project.pbxproj:
3239         * css/CSSComputedStyleDeclaration.cpp:
3240         (WebCore::CSSComputedStyleDeclaration::valueForFilter):
3241         * css/CSSStyleSelector.cpp:
3242         (WebCore::CSSStyleSelector::CSSStyleSelector):
3243         (WebCore::CSSStyleSelector::styleForKeyframe):
3244         (WebCore::CSSStyleSelector::pseudoStyleForElement):
3245         (WebCore::CSSStyleSelector::styleForPage):
3246         (WebCore::CSSStyleSelector::applyMatchedDeclarations):
3247         (WebCore::CSSStyleSelector::styleShader):
3248         (WebCore::CSSStyleSelector::cachedOrPendingStyleShaderFromValue):
3249         (WebCore::CSSStyleSelector::loadPendingShaders):
3250         (WebCore::CSSStyleSelector::createCustomFilterOperation):
3251         (WebCore::CSSStyleSelector::createFilterOperations):
3252         * css/CSSStyleSelector.h:
3253         * css/WebKitCSSShaderValue.cpp:
3254         (WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
3255         (WebCore::WebKitCSSShaderValue::~WebKitCSSShaderValue):
3256         (WebCore::WebKitCSSShaderValue::cachedShader):
3257         (WebCore::WebKitCSSShaderValue::cachedOrPendingShader):
3258         * css/WebKitCSSShaderValue.h:
3259         * loader/cache/CachedResource.cpp:
3260         (WebCore::defaultPriorityForResourceType):
3261         * loader/cache/CachedResource.h:
3262         * loader/cache/CachedResourceLoader.cpp:
3263         (WebCore::createResource):
3264         (WebCore::CachedResourceLoader::requestShader):
3265         (WebCore::CachedResourceLoader::checkInsecureContent):
3266         (WebCore::CachedResourceLoader::canRequest):
3267         * loader/cache/CachedResourceLoader.h:
3268         * loader/cache/CachedShader.cpp:
3269         (WebCore::CachedShader::CachedShader):
3270         (WebCore::CachedShader::~CachedShader):
3271         * loader/cache/CachedShader.h:
3272         * platform/graphics/filters/CustomFilterOperation.h:
3273         * rendering/style/RenderStyle.h:
3274         (WebCore::InheritedFlags::filter):
3275         * rendering/style/StyleCachedShader.cpp:
3276         (WebCore::StyleCachedShader::StyleCachedShader):
3277         (WebCore::StyleCachedShader::cssValue):
3278         * rendering/style/StyleCachedShader.h:
3279         (WebCore::StyleCachedShader::create):
3280         * rendering/style/StylePendingShader.h:
3281         (WebCore::StylePendingShader::create):
3282         (WebCore::StylePendingShader::cssValue):
3283         (WebCore::StylePendingShader::cssShaderValue):
3284         (WebCore::StylePendingShader::StylePendingShader):
3285         * rendering/style/StyleShader.h:
3286         (WebCore::StyleShader::~StyleShader):
3287         (WebCore::StyleShader::isCachedShader):
3288         (WebCore::StyleShader::isPendingShader):
3289         (WebCore::StyleShader::StyleShader):
3290
3291 2011-11-15  Sergio Villar Senin  <svillar@igalia.com>
3292
3293         [WK2] [GTK] fast/css/webkit-mask-crash-fieldset-legend.html asserts WebKitWebProcess
3294         https://bugs.webkit.org/show_bug.cgi?id=69510
3295
3296         Reviewed by Simon Fraser.
3297
3298         End the current transparency layer before early returning from
3299         paintMask() when there is a maskBoxImage which is still being
3300         loaded. This will balance the previous call to
3301         beginTransparencyLayer().
3302
3303         * rendering/InlineFlowBox.cpp:
3304         (WebCore::InlineFlowBox::paintMask):
3305
3306 2011-11-15  Darin Adler  <darin@apple.com>
3307
3308         Incorrect type checks in RenderTheme media code
3309         https://bugs.webkit.org/show_bug.cgi?id=72184
3310
3311         Reviewed by Eric Carlson.
3312
3313         No tests added. Ideally this patch should be revised to add tests!
3314
3315         * accessibility/AccessibilityMediaControls.cpp:
3316         (WebCore::AccessibilityMediaControl::create): Use mediaControlElementType.
3317         (WebCore::AccessibilityMediaControl::controlType): Ditto.
3318         (WebCore::AccessibilityMediaTimeline::valueDescription): Use early return
3319         rather than an assertion to check type of input element.
3320
3321         * html/shadow/MediaControlElements.cpp:
3322         (WebCore::mediaControlElementType): Added. A type-safe way to get the
3323         media control element type after checking isMediaControlElement but with
3324         no other assumptions.
3325         * html/shadow/MediaControlElements.h: Added mediaControlElementType.
3326
3327         * platform/efl/RenderThemeEfl.cpp:
3328         (WebCore::RenderThemeEfl::paintMediaPlayButton): Use mediaControlElementType.
3329         (WebCore::RenderThemeEfl::paintMediaSeekBackButton): Use mediaControlElementType.
3330         (WebCore::RenderThemeEfl::paintMediaSeekForwardButton): Use mediaControlElementType.
3331         * platform/gtk/RenderThemeGtk.cpp:
3332         (WebCore::RenderThemeGtk::paintMediaPlayButton): Check isMediaControlElement and
3333         use mediaControlElementType.
3334         * rendering/RenderThemeMac.mm:
3335         (WebCore::RenderThemeMac::paintMediaMuteButton): Ditto. Also remove uneeded
3336         redundant null check.
3337         (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto.
3338         (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton): Ditto.
3339
3340 2011-11-15  Jeff Timanus  <twiz@chromium.org>
3341
3342         [chromium] During tear down, prevent the WebGLLayerChromium instance from attempting to stop a timer for a NULL context.
3343         https://bugs.webkit.org/show_bug.cgi?id=72423
3344
3345         Reviewed by Kenneth Russell.
3346
3347         * platform/graphics/chromium/WebGLLayerChromium.cpp:
3348         (WebCore::WebGLLayerChromium::setDrawingBuffer):
3349
3350 2011-11-15  Mark Hahnenberg  <mhahnenberg@apple.com>
3351
3352         Rebaseline generated WebCore bindings
3353
3354         Unreviewed build fix
3355
3356         No new tests.
3357
3358         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3359         (WebCore::isObservable):
3360         (WebCore::JSTestEventConstructorOwner::isReachableFromOpaqueRoots):
3361         (WebCore::JSTestEventConstructorOwner::finalize):
3362         * bindings/scripts/test/JS/JSTestEventConstructor.h:
3363         (WebCore::JSTestEventConstructor::clearImpl):
3364         (WebCore::wrapperOwner):
3365         (WebCore::wrapperContext):
3366         * bindings/scripts/test/JS/JSTestInterface.cpp:
3367         (WebCore::JSTestInterfaceOwner::finalize):
3368         * bindings/scripts/test/JS/JSTestInterface.h:
3369         (WebCore::JSTestInterface::clearImpl):
3370         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3371         (WebCore::isObservable):
3372         (WebCore::JSTestMediaQueryListListenerOwner::isReachableFromOpaqueRoots):
3373         (WebCore::JSTestMediaQueryListListenerOwner::finalize):
3374         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
3375         (WebCore::JSTestMediaQueryListListener::clearImpl):
3376         (WebCore::wrapperOwner):
3377         (WebCore::wrapperContext):
3378         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
3379         (WebCore::JSTestNamedConstructorOwner::finalize):
3380         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
3381         (WebCore::JSTestNamedConstructor::clearImpl):
3382         * bindings/scripts/test/JS/JSTestObj.cpp:
3383         (WebCore::isObservable):
3384         (WebCore::JSTestObjOwner::isReachableFromOpaqueRoots):
3385         (WebCore::JSTestObjOwner::finalize):
3386         * bindings/scripts/test/JS/JSTestObj.h:
3387         (WebCore::JSTestObj::clearImpl):
3388         (WebCore::wrapperOwner):
3389         (WebCore::wrapperContext):
3390         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3391         (WebCore::isObservable):
3392         (WebCore::JSTestSerializedScriptValueInterfaceOwner::isReachableFromOpaqueRoots):
3393         (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
3394         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3395         (WebCore::JSTestSerializedScriptValueInterface::clearImpl):
3396         (WebCore::wrapperOwner):
3397         (WebCore::wrapperContext):
3398
3399 2011-11-15  Jeff Timanus  <twiz@chromium.org>
3400
3401         Patch removing duplicated code in the setup of the DrawingBuffer used
3402         to host the back-buffer for WebGL contents.
3403         https://bugs.webkit.org/show_bug.cgi?id=72327
3404
3405         Reviewed by Kenneth Russell.
3406
3407         * html/canvas/WebGLRenderingContext.cpp:
3408         (WebCore::WebGLRenderingContext::copyTexImage2D):
3409         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
3410         (WebCore::WebGLRenderingContext::readPixels):
3411
3412 2011-11-15  Mark Hahnenberg  <mhahnenberg@apple.com>
3413
3414         JS DOM wrappers depend on destructor to deref impl RefPtrs
3415         https://bugs.webkit.org/show_bug.cgi?id=72341
3416
3417         Reviewed by Sam Weinig.
3418
3419         No new tests.
3420
3421         Added clearing of impl RefPtrs to JS DOM wrapper nodes and removed the default 
3422         wrapperOwner function in favor of generating all WeakHandleOwners and wrapperOwner functions.
3423
3424         * bindings/js/JSCSSValueCustom.cpp:
3425         (WebCore::JSCSSValueOwner::finalize):
3426         * bindings/js/JSDOMBinding.h:
3427         * bindings/js/JSNodeCustom.cpp:
3428         (WebCore::JSNodeOwner::finalize):
3429         * bindings/scripts/CodeGeneratorJS.pm:
3430         (GenerateHeader):
3431         (GenerateImplementation):
3432
3433 2011-11-15  Joseph Pecoraro  <pecoraro@apple.com>
3434
3435         Web Inspector: Share Highlight Code for Drawing Outlined Quad
3436         https://bugs.webkit.org/show_bug.cgi?id=72451
3437
3438         Reviewed by Timothy Hatcher.
3439
3440         * inspector/DOMNodeHighlighter.cpp:
3441
3442 2011-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>
3443
3444         Unreviewed, rolling out r100308.
3445         http://trac.webkit.org/changeset/100308
3446         https://bugs.webkit.org/show_bug.cgi?id=72450
3447
3448         Introduces WebGL conformance test regressions. (Requested by
3449         twiz on #webkit).
3450
3451         * html/canvas/WebGLRenderingContext.cpp:
3452         (WebCore::WebGLRenderingContext::copyTexImage2D):
3453         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
3454         (WebCore::WebGLRenderingContext::readPixels):
3455
3456 2011-11-15  James Robinson  <jamesr@chromium.org>
3457
3458         Rollout http://trac.webkit.org/changeset/99813, caused some crashes in
3459         TiledLayerChromium::updateCompositorResources()
3460
3461         * WebCore.gypi:
3462         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: Removed.
3463         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: Removed.
3464         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp: Removed.
3465         * platform/graphics/chromium/CanvasLayerTextureUpdater.h: Removed.
3466         * platform/graphics/chromium/ContentLayerChromium.cpp:
3467         (WebCore::ContentLayerChromium::createTextureUpdater):
3468         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h: Removed.
3469         * platform/graphics/chromium/ImageLayerChromium.cpp:
3470         (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
3471         * platform/graphics/chromium/LayerRendererChromium.cpp:
3472         * platform/graphics/chromium/LayerTextureUpdater.h:
3473         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Renamed from Source/WebCore/platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp.
3474         (WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
3475         (WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
3476         (WebCore::FrameBuffer::FrameBuffer::initialize):
3477         (WebCore::LayerTextureUpdaterCanvas::LayerTextureUpdaterCanvas):
3478         (WebCore::LayerTextureUpdaterCanvas::paintContents):
3479         (WebCore::LayerTextureUpdaterBitmap::create):
3480         (WebCore::LayerTextureUpdaterBitmap::LayerTextureUpdaterBitmap):
3481         (WebCore::LayerTextureUpdaterBitmap::sampledTexelFormat):
3482         (WebCore::LayerTextureUpdaterBitmap::prepareToUpdate):
3483         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
3484         (WebCore::LayerTextureUpdaterSkPicture::create):
3485         (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
3486         (WebCore::LayerTextureUpdaterSkPicture::~LayerTextureUpdaterSkPicture):
3487         (WebCore::LayerTextureUpdaterSkPicture::sampledTexelFormat):
3488         (WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
3489         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
3490         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Added.
3491         (WebCore::LayerTextureUpdaterCanvas::contentRect):
3492         (WebCore::LayerTextureUpdaterBitmap::orientation):
3493         (WebCore::LayerTextureUpdaterSkPicture::orientation):
3494         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: Removed.
3495         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h: Removed.
3496         * platform/graphics/chromium/TiledLayerChromium.cpp:
3497         (WebCore::UpdatableTile::UpdatableTile):
3498         (WebCore::UpdatableTile::texture):