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