CSP should handle empty URLs as agreed at TPAC
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-11-02  Adam Barth  <abarth@webkit.org>
2
3         CSP should handle empty URLs as agreed at TPAC
4         https://bugs.webkit.org/show_bug.cgi?id=71426
5
6         Reviewed by Eric Seidel.
7
8         It was somewhat unclear how CSP should treat plugins that lacked a URL
9         because most of the CSP rules are URL-based.  At TPAC, we decided to
10         treat "empty" URLs as if there were the URL of the document.  That
11         means you can use plugins with no URL if you've included 'self' in
12         object-src, but you can also block them by using 'none' as your
13         object-src.
14
15         Tests: http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html
16                http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html
17                http/tests/security/contentSecurityPolicy/object-src-none-allowed.html
18                http/tests/security/contentSecurityPolicy/object-src-none-blocked.html
19
20         * page/ContentSecurityPolicy.cpp:
21         (WebCore::CSPDirective::CSPDirective):
22         (WebCore::CSPDirective::allows):
23         (WebCore::ContentSecurityPolicy::createCSPDirective):
24
25 2011-11-02  Adam Barth  <abarth@webkit.org>
26
27         Implement allow-popups for iframe@sandbox
28         https://bugs.webkit.org/show_bug.cgi?id=66505
29
30         Reviewed by Eric Seidel.
31
32         There's been some discussion in the HTML working group about adding an
33         allow-popups directive to the iframe sandbox.  Microsoft has added it
34         to IE10 platform preview and is fairly adamant about this feature
35         because it's needed by one or their products that's planning to use
36         iframe sandbox.  Hixie says he'll add it to the spec once we implement
37         it, so here's our implementation.  (See discussion in the W3C linked in
38         the bug for more details.)
39
40         Tests: http/tests/security/popup-allowed-by-sandbox-is-sandboxed-control.html
41                http/tests/security/popup-allowed-by-sandbox-is-sandboxed.html
42                http/tests/security/popup-allowed-by-sandbox-when-allowed.html
43
44         * html/HTMLIFrameElement.cpp:
45         (WebCore::HTMLIFrameElement::parseMappedAttribute):
46         * loader/FrameLoader.cpp:
47         (WebCore::FrameLoader::setOpener):
48         (WebCore::createWindow):
49         * loader/FrameLoader.h:
50         (WebCore::FrameLoader::forceSandboxFlags):
51         * loader/FrameLoaderTypes.h:
52         * loader/PolicyChecker.cpp:
53         (WebCore::PolicyChecker::checkNewWindowPolicy):
54         * page/SecurityOrigin.cpp:
55         (WebCore::SecurityOrigin::parseSandboxPolicy):
56         * page/SecurityOrigin.h:
57         (WebCore::SecurityOrigin::sandboxFlags):
58         * svg/graphics/SVGImage.cpp:
59         (WebCore::SVGImage::dataChanged):
60
61 2011-11-02  Sam Weinig  <sam@webkit.org>
62
63         Remove the ability to generate custom lookupGetter/lookupSetter functions,
64         now that they can not be overridden 
65
66         Reviewed by Adam Roben.
67
68         * bindings/scripts/CodeGeneratorJS.pm:
69         (GenerateHeader):
70
71 2011-11-02  Sam Weinig  <sam@webkit.org>
72
73         Fix crashing tests after r99126 (commit for https://bugs.webkit.org/show_bug.cgi?id=71307)
74
75         Reviewed by Adam Roben.
76
77         * bindings/js/JSDOMWindowShell.cpp:
78         (WebCore::JSDOMWindowShell::getOwnPropertyNames):
79         Since we are proxying to the window, we need to pass it as the this object,
80         not the shell.
81
82 2011-11-02  Erik Arvidsson  <arv@chromium.org>
83
84         Remove LegacyDefaultOptionalArguments flag from storage IDL files
85         https://bugs.webkit.org/show_bug.cgi?id=65744
86
87         Reviewed by Adam Barth.
88
89         Test: storage/domstorage/localstorage/missing-arguments.html
90
91         * storage/DatabaseCallback.idl:
92         * storage/IDBRequest.idl:
93         * storage/IDBTransaction.idl:
94         * storage/SQLResultSetRowList.idl:
95         * storage/SQLStatementCallback.idl:
96         * storage/SQLStatementErrorCallback.idl:
97         * storage/SQLTransaction.idl:
98         * storage/SQLTransactionCallback.idl:
99         * storage/SQLTransactionErrorCallback.idl:
100         * storage/SQLTransactionSync.idl:
101         * storage/SQLTransactionSyncCallback.idl:
102         * storage/Storage.idl:
103         * storage/StorageInfo.idl:
104         * storage/StorageInfoErrorCallback.idl:
105         * storage/StorageInfoQuotaCallback.idl:
106         * storage/StorageInfoUsageCallback.idl:
107
108 2011-11-02  Adam Klein  <adamk@chromium.org>
109
110         Replace usage of StringImpl with String where possible in CharacterData and Text
111         https://bugs.webkit.org/show_bug.cgi?id=71383
112
113         Reviewed by Darin Adler.
114
115         Ryosuke Niwa, in http://webkit.org/b/70862, asked me to replace usages
116         of String with StringImpl. I've done more than what he asked in this
117         patch, the biggest change being that CharacterData now holds a String
118         instead of a RefPtr<StringImpl>.
119
120         No new tests, as this should have no effect on behavior.
121
122         * dom/CharacterData.cpp:
123         (WebCore::CharacterData::setData):
124         (WebCore::CharacterData::substringData):
125         (WebCore::CharacterData::parserAppendData):
126         (WebCore::CharacterData::appendData):
127         (WebCore::CharacterData::insertData):
128         (WebCore::CharacterData::deleteData):
129         (WebCore::CharacterData::replaceData):
130         (WebCore::CharacterData::containsOnlyWhitespace):
131         (WebCore::CharacterData::setDataAndUpdate):
132         (WebCore::CharacterData::updateRenderer):
133         (WebCore::CharacterData::dispatchModifiedEvent):
134         * dom/CharacterData.h:
135         (WebCore::CharacterData::length):
136         (WebCore::CharacterData::dataImpl):
137         (WebCore::CharacterData::CharacterData):
138         (WebCore::CharacterData::setDataWithoutUpdate):
139         * dom/Text.cpp:
140         (WebCore::Text::splitText):
141
142 2011-11-02  Mark Hahnenberg  <mhahnenberg@apple.com>
143
144         De-virtualize JSObject::getOwnPropertyNames
145         https://bugs.webkit.org/show_bug.cgi?id=71307
146
147         Reviewed by Darin Adler.
148
149         No new tests.
150
151         Added getOwnPropertyNames to the MethodTable, changed all the virtual 
152         implementations of getOwnPropertyNames to static ones, and replaced 
153         all call sites with corresponding lookups in the MethodTable.
154
155         * WebCore.exp.in:
156         * bindings/js/JSDOMStringMapCustom.cpp:
157         (WebCore::JSDOMStringMap::getOwnPropertyNames):
158         * bindings/js/JSDOMWindowCustom.cpp:
159         (WebCore::JSDOMWindow::getOwnPropertyNames):
160         * bindings/js/JSDOMWindowShell.cpp:
161         (WebCore::JSDOMWindowShell::getOwnPropertyNames):
162         * bindings/js/JSDOMWindowShell.h:
163         * bindings/js/JSHistoryCustom.cpp:
164         (WebCore::JSHistory::getOwnPropertyNames):
165         * bindings/js/JSLocationCustom.cpp:
166         (WebCore::JSLocation::getOwnPropertyNames):
167         * bindings/js/JSStorageCustom.cpp:
168         (WebCore::JSStorage::getOwnPropertyNames):
169         * bindings/js/ScriptValue.cpp:
170         (WebCore::jsToInspectorValue):
171         * bindings/js/SerializedScriptValue.cpp:
172         (WebCore::CloneSerializer::serialize):
173         * bindings/scripts/CodeGeneratorJS.pm:
174         (GenerateHeader):
175         (GenerateImplementation):
176         * bridge/qt/qt_runtime.cpp:
177         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyNames):
178         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyNames):
179         * bridge/qt/qt_runtime.h:
180         * bridge/runtime_array.cpp:
181         (JSC::RuntimeArray::getOwnPropertyNames):
182         * bridge/runtime_array.h:
183         * bridge/runtime_object.cpp:
184         (JSC::Bindings::RuntimeObject::getOwnPropertyNames):
185         * bridge/runtime_object.h:
186
187 2011-11-02  Tony Chang  <tony@chromium.org>
188
189         force inline flexitems to be wrapped in anonymous blocks
190         https://bugs.webkit.org/show_bug.cgi?id=71314
191
192         Reviewed by Ojan Vafai.
193
194         If there is a mix of inline and block items, all the inline items were already getting wrapped
195         (see RenderBlock::addChildIgnoringAnonymousColumnBlocks).  However, if there are only inline items,
196         we need to force them into an anonymous block.
197
198         There are still lots of bugs because we're trying to read style values from the anonymous block,
199         but this at least causes layout to be called on all the render objects.
200
201         Tests: css3/flexbox/anonymous-block.html
202
203         * rendering/RenderFlexibleBox.cpp:
204         (WebCore::RenderFlexibleBox::TreeOrderIterator::next):
205         (WebCore::RenderFlexibleBox::FlexOrderIterator::next):
206         (WebCore::RenderFlexibleBox::RenderFlexibleBox): force children into blocks
207
208 2011-11-02  Dean Jackson  <dino@apple.com>
209
210         Add ENABLE_CSS_SHADERS flag
211         https://bugs.webkit.org/show_bug.cgi?id=71394
212
213         Reviewed by Sam Weinig.
214
215         * Configurations/FeatureDefines.xcconfig:
216
217 2011-11-02  Emil A Eklund  <eae@chromium.org>
218
219         Switch RenderText to new layout types
220         https://bugs.webkit.org/show_bug.cgi?id=71389
221
222         Reviewed by Eric Seidel.
223
224         Switch RenderText methods (and overriden methods in related classes) to
225         LayoutRect/LayoutUnit.
226
227         No new tests.
228
229         * rendering/RenderText.cpp:
230         (WebCore::RenderText::absoluteRectsForRange):
231         (WebCore::RenderText::linesBoundingBox):
232         (WebCore::RenderText::linesVisualOverflowBoundingBox):
233         * rendering/RenderText.h:
234         Change RenderText to expose its bounding box, selection and caret rects
235         as LayoutRects.
236         
237         * rendering/svg/RenderSVGInlineText.cpp:
238         (WebCore::RenderSVGInlineText::localCaretRect):
239         * rendering/svg/RenderSVGInlineText.h:
240         Change localCaretRect to return a LayoutRect.
241
242 2011-11-02  Levi Weintraub  <leviw@chromium.org>
243
244         Infinite recursion in RenderSVGResourceContainer::markAllClientsForInvalidation
245         https://bugs.webkit.org/show_bug.cgi?id=71384
246
247         Reviewed by Darin Adler.
248
249         Adding a reentrancy guard to RenderSVGResourceContainer to prevent infinite recursion when
250         resources reference one another and share ids.
251
252         Test: svg/custom/resource-invalidation-crash.svg
253
254         * rendering/svg/RenderSVGResourceContainer.cpp:
255         (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
256         (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
257         * rendering/svg/RenderSVGResourceContainer.h:
258
259 2011-11-02  Jon Lee  <jonlee@apple.com>
260
261         Expand DragController to provide more information about the dragging session
262         https://bugs.webkit.org/show_bug.cgi?id=71324
263         <rdar://problem/10379175>
264
265         Reviewed by Darin Adler.
266
267         * WebCore.xcodeproj/project.pbxproj:
268         * page/DragController.cpp:
269         (WebCore::DragController::dragEntered):
270         (WebCore::DragController::dragUpdated):
271         (WebCore::DragController::dragEnteredOrUpdated):
272         (WebCore::DragController::tryDocumentDrag): In addition to determining the
273         drag operation, DragSession is updated with data regarding whether the mouse
274         is over a file input, and the number of items that would be accepted based on
275         the mouse's location.
276         * page/DragController.h:
277         * page/DragSession.h: Added.
278         (WebCore::DragSession::DragSession): Keep track of current operation, whether
279         the mouse is over a file input element, and how many files would be accepted if
280         dropped.
281         * platform/DragData.h: Added numberOfFiles()
282         * platform/chromium/DragDataChromium.cpp:
283         (WebCore::DragData::numberOfFiles):
284         * platform/efl/DragDataEfl.cpp:
285         (WebCore::DragData::numberOfFiles):
286         * platform/gtk/DragDataGtk.cpp:
287         (WebCore::DragData::numberOfFiles):
288         * platform/mac/DragDataMac.mm:
289         (WebCore::DragData::numberOfFiles):
290         * platform/qt/DragDataQt.cpp:
291         (WebCore::DragData::numberOfFiles):
292         * platform/win/DragDataWin.cpp:
293         (WebCore::DragData::numberOfFiles):
294         * platform/wince/DragDataWinCE.cpp:
295         (WebCore::DragData::numberOfFiles):
296         * platform/wx/DragDataWx.cpp:
297         (WebCore::DragData::numberOfFiles):
298
299 2011-11-02  Alexey Proskuryakov  <ap@apple.com>
300
301         Emedded PDFs cannot be opened from Web archives
302         https://bugs.webkit.org/show_bug.cgi?id=70954
303
304         Reviewed by Oliver Hunt.
305
306         BuiltInPDFPlugin doesn't have access to original ResourceResponse and has to re-create it
307         It doesn't seem to be possible to create an NSURLResponse with a non-null HTTP status code,
308         and NetscapePlugInStreamLoader becomes unhappy.
309
310         * loader/NetscapePlugInStreamLoader.cpp: (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
311         Allow 0 status code, it's not a real error to have one in response.
312
313 2011-10-31  Nat Duca  <nduca@chromium.org>
314
315         [chromium] Slow down commit and draw rate based on visibility and draw completion
316         https://bugs.webkit.org/show_bug.cgi?id=71267
317
318         Reviewed by James Robinson.
319
320         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
321         (WebCore::CCLayerTreeHost::visible):
322         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
323         (WebCore::CCLayerTreeHostImpl::visible):
324         * platform/graphics/chromium/cc/CCScheduler.cpp:
325         (WebCore::CCScheduler::beginFrame):
326         (WebCore::CCScheduler::processScheduledActions):
327         * platform/graphics/chromium/cc/CCScheduler.h:
328         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
329         (WebCore::CCSchedulerStateMachine::nextAction):
330         (WebCore::CCSchedulerStateMachine::updateState):
331         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
332         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
333         (WebCore::CCThreadProxy::visible):
334         * platform/graphics/chromium/cc/CCThreadProxy.h:
335
336 2011-11-02  Dan Bernstein  <mitz@apple.com>
337
338         <rdar://problem/10336700> Add API to get rendered text image without having to select it
339         https://bugs.webkit.org/show_bug.cgi?id=71407
340
341         Reviewed by Simon Fraser.
342
343         Test: TestWebKitAPI/Tests/mac/RenderedImageFromDOMRange.mm
344
345         * bindings/objc/DOM.mm:
346         (-[DOMRange renderedImageForcingBlackText:]): Added.
347         * bindings/objc/DOMPrivate.h:
348         * page/Frame.h:
349         * page/mac/FrameMac.mm:
350         (WebCore::Frame::rangeImage): Added. Sets the selection in the RenderView (only) based on the
351         given range and gets a selection-only rendering of the view, then restores the selection.
352         * rendering/RenderView.cpp:
353         (WebCore::RenderView::setSelection): Skip all invalidation if the repaint behavior is RepaintNothing.
354         (WebCore::RenderView::getSelection): Added this getter.
355         * rendering/RenderView.h:
356
357 2011-11-02  Tom Sepez  <tsepez@chromium.org>
358
359         XSSAuditor is silent
360         https://bugs.webkit.org/show_bug.cgi?id=70973
361
362         Reviewed by Adam Barth.
363
364         Test: http/tests/security/xssAuditor/script-tag-with-callbacks.html
365
366         * html/parser/XSSAuditor.cpp:
367         (WebCore::XSSAuditor::XSSAuditor):
368         (WebCore::XSSAuditor::filterToken):
369         * html/parser/XSSAuditor.h:
370         * loader/EmptyClients.h:
371         (WebCore::EmptyFrameLoaderClient::didDetectXSS):
372         * loader/FrameLoaderClient.h:
373
374 2011-11-02  Simon Fraser  <simon.fraser@apple.com>
375
376         Assertion in FontCache::getCachedFontData() when painting into composited layer
377         https://bugs.webkit.org/show_bug.cgi?id=71377
378
379         Reviewed by Anders Carlsson.
380
381         Add one of the mysterious FontCachePurgePreventers on the stack when painting
382         compositing layers, just as FrameView::paintContents does, to fix an assertion
383         seen on the bots with some layout tests.
384
385         * rendering/RenderLayerBacking.cpp:
386         (WebCore::RenderLayerBacking::paintIntoLayer):
387
388 2011-11-02  Tommy Widenflycht  <tommyw@google.com>
389
390         MediaStreamRegistry should hold references to MediaStreamDescriptor rather than MediaStream
391         https://bugs.webkit.org/show_bug.cgi?id=70896
392
393         Reviewed by Adam Barth.
394
395         Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
396
397         * mediastream/MediaStreamRegistry.cpp:
398         (WebCore::MediaStreamRegistry::registerMediaStreamURL):
399         (WebCore::MediaStreamRegistry::unregisterMediaStreamURL):
400         (WebCore::MediaStreamRegistry::lookupMediaStreamDescriptor):
401         * mediastream/MediaStreamRegistry.h:
402
403 2011-11-02  Zoltan Herczeg  <zherczeg@webkit.org>
404
405         Match allowed CSS string characters to Firefox and Opera browsers
406         https://bugs.webkit.org/show_bug.cgi?id=71000
407
408         Reviewed by Darin Adler.
409
410         Firefox and Opera accepts any character inside a string except
411         newline and starting quote character. This behaviour matches to
412         the CSS 2.1 grammar: http://www.w3.org/TR/CSS2/grammar.html
413         WebKit should follow them.
414
415         Test: fast/css/parsing-css-allowed-string-characters.html
416
417         * css/tokenizer.flex:
418
419 2011-11-02  Devdatta Deshpande  <pwjd73@motorola.com>
420
421         Assert in MoveSelectionCommand::doApply
422         https://bugs.webkit.org/show_bug.cgi?id=70277
423
424         Reviewed by Ryosuke Niwa.
425
426         A MoveSelectionCommand should be fired only if the selection type is
427         RangeSelection, since nothing is selected in other cases.
428
429         Test: fast/events/drag-link.html
430
431         * page/DragController.cpp:
432         (WebCore::DragController::dragIsMove):
433
434 2011-11-02  Jon Lee  <jonlee@apple.com>
435
436         <input=file multiple> default text uses singular instead of plural
437         https://bugs.webkit.org/show_bug.cgi?id=71319
438         <rdar://problem/10379021>
439
440         Reviewed by Darin Adler.
441
442         Added a new method to return the label text for a file upload control that
443         allows multiple files. Needed to extend the RenderTheme function to pass down
444         a boolean representing whether multiple files are allowed in the file list.
445
446         * English.lproj/Localizable.strings:
447         * html/FileInputType.cpp:
448         (WebCore::FileInputType::defaultToolTip):
449         * platform/DefaultLocalizationStrategy.cpp:
450         (WebCore::DefaultLocalizationStrategy::fileButtonNoFilesSelectedLabel):
451         * platform/DefaultLocalizationStrategy.h:
452         * platform/LocalizationStrategy.h:
453         * platform/LocalizedStrings.cpp:
454         (WebCore::fileButtonNoFilesSelectedLabel):
455         * platform/LocalizedStrings.h:
456         * platform/efl/LocalizedStringsEfl.cpp:
457         (WebCore::fileButtonNoFilesSelectedLabel):
458         * platform/gtk/LocalizedStringsGtk.cpp:
459         (WebCore::fileButtonNoFilesSelectedLabel):
460         * platform/gtk/RenderThemeGtk.cpp:
461         (WebCore::RenderThemeGtk::fileListNameForWidth):
462         * platform/gtk/RenderThemeGtk.h:
463         * platform/qt/RenderThemeQt.cpp:
464         (WebCore::RenderThemeQt::fileListNameForWidth):
465         * platform/qt/RenderThemeQt.h:
466         * platform/wx/LocalizedStringsWx.cpp:
467         (WebCore::fileButtonNoFilesSelectedLabel):
468         * rendering/RenderFileUploadControl.cpp:
469         (WebCore::RenderFileUploadControl::fileTextValue):
470         * rendering/RenderTheme.cpp:
471         (WebCore::RenderTheme::fileListNameForWidth):
472         * rendering/RenderTheme.h:
473         * rendering/RenderThemeMac.h:
474         * rendering/RenderThemeMac.mm:
475         (WebCore::RenderThemeMac::fileListNameForWidth):
476
477 2011-11-02  Andras Becsi  <andras.becsi@nokia.com>
478
479         [Qt] Fix the build with NO_LISTBOX_RENDERING
480
481         Unreviewed build fix after r99035.
482
483         Patch by Michael Bruning <michael.bruning@nokia.com>
484
485         No new tests needed.
486
487         * html/HTMLSelectElement.cpp:
488         (WebCore::HTMLSelectElement::listBoxSelectItem):
489
490 2011-10-28  Ryosuke Niwa  <rniwa@webkit.org>
491
492         div { display: none; } makes pasting into text fields impossible
493         https://bugs.webkit.org/show_bug.cgi?id=27683
494
495         Reviewed by Enrica Casucci.
496
497         The bug was caused by insertFragmentForTestRendering's always inserting a node for test rendering
498         into document's body.
499
500         Fixed the bug by inserting the node for test rendering into the root editable element. In addition,
501         remove the node before dispatching beforeTextInserted event to avoid event listeners, in particular
502         TextFieldInputType::handleBeforeTextInsertedEvent, from seeing the test node.
503
504         Test: editing/pasteboard/input-with-display-none-div.html
505
506         * editing/ReplaceSelectionCommand.cpp:
507         (WebCore::ReplacementFragment::ReplacementFragment):
508         (WebCore::ReplacementFragment::insertFragmentForTestRendering):
509         (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
510
511 2011-11-02  Ryosuke Niwa  <rniwa@webkit.org>
512
513         REGRESSION(r96870): WebKit generates background: transparent on blogger.com
514         https://bugs.webkit.org/show_bug.cgi?id=71203
515
516         Reviewed by Ojan Vafai.
517
518         Remove the transparent background color from inline style declarations in the pasted content.
519         Also fixed a bug in removeStyleFromRulesAndContext that it removes properties in inline style
520         declarations even if those properties were overridden.
521
522         Tests: editing/deleting/merge-paragraphs-with-transparent-background.html
523                editing/deleting/paste-with-transparent-background-color.html
524
525         * editing/EditingStyle.cpp:
526         (WebCore::removePropertiesInStyle):
527         (WebCore::EditingStyle::removeStyleFromRulesAndContext):
528         (WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
529
530 2011-11-02  Andreas Kling  <kling@webkit.org>
531
532         CSSStyleRule: Devirtualize selectorText()
533         https://bugs.webkit.org/show_bug.cgi?id=71364
534
535         Reviewed by Antti Koivisto.
536
537         Have CSSStyleRule::selectorText() redirect to CSSPageRule::pageSelectorText()
538         if type() is PAGE_RULE.
539
540         * css/CSSPageRule.cpp:
541         (WebCore::CSSPageRule::pageSelectorText):
542         * css/CSSPageRule.h:
543         * css/CSSStyleRule.cpp:
544         (WebCore::CSSStyleRule::selectorText):
545         * css/CSSStyleRule.h:
546
547 2011-11-02  Andreas Kling  <kling@webkit.org>
548
549         CSSRule: Devirtualize cssText()
550         https://bugs.webkit.org/show_bug.cgi?id=71292
551
552         Reviewed by Antti Koivisto.
553
554         Have CSSRule::cssText() redirect to the appropriate subclass based on type().
555         This is one of the last steps of devirtualizing CSSRule completely, which will
556         allow us to get rid of its vtable, and each instance's pointer thereto.
557
558         * css/CSSCharsetRule.h:
559         * css/CSSFontFaceRule.h:
560         * css/CSSImportRule.h:
561         * css/CSSMediaRule.h:
562         * css/CSSRegionStyleRule.h:
563         * css/CSSRule.cpp:
564         (WebCore::CSSRule::cssText):
565         * css/CSSRule.h:
566         * css/CSSStyleRule.h:
567         * css/WebKitCSSKeyframeRule.h:
568         * css/WebKitCSSKeyframesRule.h:
569
570 2011-11-02  Patrick Gansterer  <paroga@webkit.org>
571
572         Unreviewed build fix for !ENABLE(FILTERS) after r98989.
573
574         * rendering/svg/SVGResourcesCache.cpp:
575         (WebCore::SVGResourcesCache::clientLayoutChanged):
576
577 2011-11-02  Alexander Pavlov  <apavlov@chromium.org>
578
579         Web Inspector: [REGRESSION] Clicking in a CSS property/value being edited commits the editor
580         https://bugs.webkit.org/show_bug.cgi?id=71360
581
582         Reviewed by Pavel Feldman.
583
584         Selecting a selected TreeElement should be an idempotent operation.
585
586         * inspector/front-end/treeoutline.js:
587         (TreeElement.prototype.select):
588
589 2011-11-02  Ben Wells  <benwells@chromium.org>
590
591         Canvas filling paths or rects need to be invalidate larger rects for some compositing modes.
592         https://bugs.webkit.org/show_bug.cgi?id=70379
593
594         Reviewed by James Robinson.
595
596         Test: fast/canvas/canvas-composite-fill-repaint.html
597
598         * html/canvas/CanvasRenderingContext2D.cpp:
599         (WebCore::CanvasRenderingContext2D::fill):
600         (WebCore::CanvasRenderingContext2D::fillRect):
601         (WebCore::CanvasRenderingContext2D::drawImage):
602         (WebCore::CanvasRenderingContext2D::didDrawEntireCanvas):
603         * html/canvas/CanvasRenderingContext2D.h:
604
605 2011-11-01  Levi Weintraub  <leviw@chromium.org>
606
607         Fix uses of LayoutUnit in Frame-, Scroll-, and RenderView
608         https://bugs.webkit.org/show_bug.cgi?id=71321
609
610         Reviewed by Darin Adler.
611
612         Updating the usage of LayoutUnits in the *View classes to mirror the proper use
613         as derived in the subpixellayout branch.
614
615         This entails scrolling only with integers (and rounding once we've made the switch)
616         and using integers for window coordinates, with LayoutUnits for content coordinates.
617
618         No new tests -- no change in behavior.
619
620         * page/FrameView.cpp:
621         (WebCore::FrameView::invalidateRect):
622         (WebCore::FrameView::setFrameRect):
623         (WebCore::FrameView::zoomAnimatorTransformChanged):
624         (WebCore::FrameView::scrollContentsFastPath):
625         (WebCore::FrameView::scrollContentsSlowPath):
626         (WebCore::FrameView::scrollElementToRect):
627         (WebCore::FrameView::setScrollPosition):
628         (WebCore::FrameView::repaintContentRectangle):
629         (WebCore::FrameView::scrollTo):
630         (WebCore::FrameView::updateScrollCorner):
631         * page/FrameView.h:
632         (WebCore::FrameView::trackedRepaintRects):
633         * platform/ScrollView.cpp:
634         (WebCore::ScrollView::visibleContentRect):
635         (WebCore::ScrollView::layoutWidth):
636         (WebCore::ScrollView::layoutHeight):
637         (WebCore::ScrollView::fixedLayoutSize):
638         (WebCore::ScrollView::setFixedLayoutSize):
639         (WebCore::ScrollView::contentsSize):
640         (WebCore::ScrollView::setContentsSize):
641         (WebCore::ScrollView::overhangAmount):
642         (WebCore::ScrollView::updateScrollbars):
643         (WebCore::ScrollView::rectToCopyOnScroll):
644         (WebCore::ScrollView::scrollContents):
645         (WebCore::ScrollView::windowToContents):
646         (WebCore::ScrollView::screenToContents):
647         (WebCore::ScrollView::scrollbarAtPoint):
648         (WebCore::ScrollView::wheelEvent):
649         * platform/ScrollView.h:
650         (WebCore::ScrollView::visibleWidth):
651         (WebCore::ScrollView::visibleHeight):
652         (WebCore::ScrollView::contentsWidth):
653         (WebCore::ScrollView::contentsHeight):
654         (WebCore::ScrollView::adjustScrollPositionWithinRange):
655         * rendering/RenderView.cpp:
656         (WebCore::RenderView::paint):
657         (WebCore::RenderView::shouldRepaint):
658         (WebCore::RenderView::repaintViewRectangle):
659         (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
660         (WebCore::RenderView::computeRectForRepaint):
661         (WebCore::RenderView::selectionBounds):
662         (WebCore::RenderView::viewRect):
663         (WebCore::RenderView::unscaledDocumentRect):
664         (WebCore::RenderView::documentRect):
665         * rendering/RenderView.h:
666         (WebCore::RenderView::printRect):
667         (WebCore::RenderView::setPrintRect):
668
669 2011-11-01  Anna Cavender  <annacc@chromium.org>
670
671         Small fixes for WebVTTParser.
672         https://bugs.webkit.org/show_bug.cgi?id=71334
673
674         Reviewed by Darin Adler.
675
676         No new tests.  This is needed to enable other tests, coming soon.
677
678         * html/track/WebVTTParser.cpp:
679         (WebCore::hasLongWebVTTIdentifier): changed to return true when header is
680             exactly "WEBVTT"
681         (WebCore::WebVTTParser::collectTimingsAndSettings): fix typos, position should
682             only progress once when checking the character after a timestamp.
683
684 2011-11-01  Darin Adler  <darin@apple.com>
685
686         Change HTMLSelectElement::setSelectedIndex to use enums instead of bools
687         https://bugs.webkit.org/show_bug.cgi?id=70184
688
689         Reviewed by Kent Tamura.
690
691         Refactoring that does not require new tests.
692
693         * bindings/objc/DOMHTML.mm:
694         (-[DOMHTMLSelectElement _activateItemAtIndex:]): Replaced setSelectedIndexByUser
695         call with a call to the renamed optionSelectedByUser, also removed one argument.
696         (-[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]): Ditto.
697
698         * html/HTMLOptionElement.cpp:
699         (WebCore::HTMLOptionElement::setSelected): Replaced setSelectedIndex call with a
700         call to the new optionSelectionStateChanged function.
701         (WebCore::HTMLOptionElement::insertedIntoTree): Ditto.
702
703         * html/HTMLSelectElement.cpp:
704         (WebCore::HTMLSelectElement::HTMLSelectElement): Updated since m_userDrivenChange
705         was renamed to m_isProcessingUserDrivenChange.
706         (WebCore::HTMLSelectElement::optionSelectedByUser): Removed deselect argument,
707         which was always true for all callers. Updated comment.
708         (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Updated comment.
709         (WebCore::HTMLSelectElement::setOption): Call the new optionSelectionStateChanged
710         function. The code used to explicitly ask the function it calls to deselect base
711         on the value of m_multiple, but that is no longer needed because the selectOption
712         function itself takes care of that check.
713         (WebCore::HTMLSelectElement::dispatchChangeEventForMenuList): Renamed this function.
714         Also updated for name change to m_isProcessingUserDrivenChange.
715         (WebCore::HTMLSelectElement::setSelectedIndex): Moved the formerly-inlined function
716         here from the header and changed it to call the renamed selectOption function.
717         (WebCore::HTMLSelectElement::optionSelectionStateChanged): Added this function.
718         It is used by callers that were previously using setSelectedIndex and passing
719         "false" for the deselect argument. It's better now that setSelectedIndex is now a
720         pure DOM setter function without the multiple purposes it had before. This function
721         now has the logic that handles the special handling when deselecting an option,
722         which used to be at the top of the next function.
723         (WebCore::HTMLSelectElement::selectOption): Renamed this from setSelectedIndex.
724         Replaced boolean arguments with flags. Removed code to handle the special case
725         when we deselect an option; that's now handled in the optionSelectionStateChanged
726         function. Added an assertion to replace a comment and updated for other renaming.
727         (WebCore::HTMLSelectElement::dispatchBlurEvent): Updated for name change.
728         (WebCore::HTMLSelectElement::platformHandleKeydownEvent): Ditto.
729         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Changed to call the
730         new selectOption function and also updated for other name changes.
731         (WebCore::HTMLSelectElement::typeAheadFind): Ditto.
732         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
733
734         * html/HTMLSelectElement.h: Changed the setSelectedIndex to be a pure setter
735         function for the selectedIndex DOM property. Added a optionSelectedByUser function
736         for the other use of setSelectedIndex, but removed the always true "deselect"
737         argument from it. Added a optionSelectionStateChanged function for use in the
738         HTMLOptionElement implementation. Renamed menuListOnChange to
739         dispatchChangeEventForMenuList for clarity. Added a SelectOptionFlag and
740         SelectOptionFlags type for the arguments to the selectOption function, formerly
741         implemented as an overload of setSelectedIndex (and called setSelectedIndexInternal
742         before that). Renamed m_userDrivenChange to m_isProcessingUserDrivenChange.
743
744         * rendering/RenderMenuList.cpp:
745         (WebCore::RenderMenuList::valueChanged): Replaced setSelectedIndexByUser
746         call with a call to the renamed optionSelectedByUser, also removed one argument.
747
748 2011-11-01  Sam Weinig  <sam@webkit.org>
749
750         Implement __lookupGetter__/__lookupSetter__ in terms of getPropertyDescriptor
751         https://bugs.webkit.org/show_bug.cgi?id=71336
752
753         Reviewed by Darin Adler.
754
755         * bindings/js/JSDOMWindowCustom.cpp:
756         * bindings/js/JSDOMWindowShell.cpp:
757         * bindings/js/JSDOMWindowShell.h:
758         * page/DOMWindow.idl:
759         Remove overrides of lookupGetter/lookupSetter, which are no longer needed
760         due to implementing getPropertyDescriptor.
761
762
763 2011-11-01  Nat Duca  <nduca@chromium.org>
764
765         [chromium] Move resource-releasing logic into CCProxy and cleanup setNeedsCommit
766         https://bugs.webkit.org/show_bug.cgi?id=71269
767
768         Reviewed by James Robinson.
769
770         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
771         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
772         (WebCore::CCLayerTreeHost::setZoomAnimatorTransform):
773         (WebCore::CCLayerTreeHost::setNeedsCommit):
774         (WebCore::CCLayerTreeHost::setViewport):
775         (WebCore::CCLayerTreeHost::setVisible):
776         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
777         * platform/graphics/chromium/cc/CCProxy.h:
778         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
779         (WebCore::CCSingleThreadProxy::doCommit):
780         (WebCore::CCSingleThreadProxy::setNeedsRedraw):
781         (WebCore::CCSingleThreadProxy::setVisible):
782         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
783         (WebCore::CCSingleThreadProxy::doComposite):
784         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
785         (WebCore::CCSingleThreadProxy::setNeedsRedrawOnImplThread):
786         (WebCore::CCSingleThreadProxy::setNeedsCommitOnImplThread):
787         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
788         (WebCore::CCThreadProxy::setNeedsCommit):
789         (WebCore::CCThreadProxy::setNeedsAnimateOnImplThread):
790         (WebCore::CCThreadProxy::setVisible):
791         * platform/graphics/chromium/cc/CCThreadProxy.h:
792
793 2011-11-01  Anna Cavender  <annacc@chromium.org>
794
795         Makes [Reflect] work for constants.
796         This is needed to avoid platform-specific define conflicts, specifically
797         TextTrack::ERROR conflicts with a windows define.
798         https://bugs.webkit.org/show_bug.cgi?id=70951
799
800         Reviewed by Darin Adler.
801
802         Test: media/track/track-constants.html
803
804         * bindings/scripts/CodeGenerator.pm:
805         (GenerateCompileTimeCheckForEnumsIfNeeded):
806             Check for [Reflect] and assign name accordingly.
807
808         * bindings/scripts/test/CPP/WebDOMTestObj.h:  Update test file.
809         * bindings/scripts/test/JS/JSTestObj.cpp:  Update test file.
810         (WebCore::jsTestObjCONST_JAVASCRIPT):
811         * bindings/scripts/test/JS/JSTestObj.h:  Update test file.
812         * bindings/scripts/test/ObjC/DOMTestObj.h:  Update test file.
813         * bindings/scripts/test/TestObj.idl:  Update test file.
814         * bindings/scripts/test/V8/V8TestObj.cpp:  Update test file.
815
816         * html/LoadableTextTrack.cpp: Use new DOM const name.
817         (WebCore::LoadableTextTrack::cueLoadingStarted):
818         (WebCore::LoadableTextTrack::cueLoadingCompleted):
819         * html/TextTrack.cpp:  Use new DOM const name.
820         (WebCore::TextTrack::TextTrack):
821         (WebCore::TextTrack::setMode):
822         * html/TextTrack.h:  Use new DOM const name.
823         * html/TextTrack.idl:  Use Reflect for ERROR, but leave other DOM const names.
824
825 2011-11-01  Levi Weintraub  <leviw@chromium.org>
826
827         Amend missing uses of LayoutUnit in RenderBlock
828         https://bugs.webkit.org/show_bug.cgi?id=71254
829
830         Reviewed by Darin Adler.
831
832         Switching relevant uses of integers in RenderBlock to LayoutUnits.
833
834         No new tests -- no changes in behavior.
835
836         * rendering/RenderBlock.cpp:
837         (WebCore::RenderBlock::MarginInfo::MarginInfo):
838         (WebCore::RenderBlock::layoutBlock):
839         (WebCore::RenderBlock::adjustFloatingBlock):
840         (WebCore::RenderBlock::clearFloatsIfNeeded):
841         (WebCore::RenderBlock::layoutBlockChild):
842         (WebCore::RenderBlock::paintColumnRules):
843         (WebCore::RenderBlock::paintContents):
844         (WebCore::clipOutPositionedObjects):
845         (WebCore::RenderBlock::removeFloatingObject):
846         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
847         (WebCore::RenderBlock::getClearDelta):
848         (WebCore::positionForPointRespectingEditingBoundaries):
849         (WebCore::RenderBlock::calcColumnWidth):
850         (WebCore::RenderBlock::layoutColumns):
851         (WebCore::RenderBlock::adjustRectForColumns):
852         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
853         (WebCore::RenderBlock::baselinePosition):
854         (WebCore::getHeightForLineCount):
855         (WebCore::RenderBlock::setPaginationStrut):
856         (WebCore::RenderBlock::applyBeforeBreak):
857         (WebCore::RenderBlock::applyAfterBreak):
858         (WebCore::RenderBlock::adjustForUnsplittableChild):
859         * rendering/RenderBlock.h:
860         (WebCore::RenderBlock::availableLogicalWidthForLine):
861         (WebCore::RenderBlock::paginationStrut):
862         (WebCore::RenderBlock::availableLogicalWidthForContent):
863         (WebCore::RenderBlock::FloatWithRect::FloatWithRect):
864         (WebCore::RenderBlock::MarginInfo::setPositiveMargin):
865         (WebCore::RenderBlock::MarginInfo::setNegativeMargin):
866         (WebCore::RenderBlock::MarginInfo::setPositiveMarginIfLarger):
867         (WebCore::RenderBlock::MarginInfo::setNegativeMarginIfLarger):
868         (WebCore::RenderBlock::MarginInfo::setMargin):
869         (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
870         (WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
871         (WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
872         (WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
873         (WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault):
874         (WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault):
875         (WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault):
876
877 2011-11-01  Luke Macpherson   <macpherson@chromium.org>
878
879         WIP: Add CSS property to control printing of backgrounds for individual elements.
880         https://bugs.webkit.org/show_bug.cgi?id=64583
881
882         Reviewed by Eric Seidel.
883
884         Added test LayoutTests/fast/css/webkit-color-adjust.html,
885         Updated tests under LayoutTests/fast/css/getComputedStyle
886         Updated test under LayoutTests/svg/css
887
888         * css/CSSComputedStyleDeclaration.cpp:
889         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
890         * css/CSSParser.cpp:
891         (WebCore::CSSParser::parseValue):
892         * css/CSSPropertyNames.in:
893         * css/CSSStyleSelector.cpp:
894         (WebCore::CSSStyleSelector::styleForDocument):
895         (WebCore::CSSStyleSelector::applyProperty):
896         * rendering/RenderBoxModelObject.cpp:
897         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
898         * rendering/style/RenderStyle.h:
899         (WebCore::InheritedFlags::initialForceBackgroundsToWhite):
900
901 2011-11-01  Dominic Cooney  <dominicc@chromium.org>
902
903         Remove initErrorEvent method
904         https://bugs.webkit.org/show_bug.cgi?id=71338
905
906         Reviewed by Ojan Vafai.
907
908         * dom/ErrorEvent.cpp: Crush.
909         * dom/ErrorEvent.h: Kill.
910         * dom/ErrorEvent.idl: Destroy.
911
912 2011-11-01  Julien Chaffraix  <jchaffraix@webkit.org>
913
914         Pack RenderTableCell bits
915         https://bugs.webkit.org/show_bug.cgi?id=71135
916
917         Reviewed by Darin Adler.
918
919         Tested by RenderTableCellTest unit test.
920         (unfortunately Chromium specific...)
921
922         This saves another 8 bytes on RenderTableCell on x86-64.
923
924         * rendering/RenderTableCell.cpp:
925         (WebCore::RenderTableCell::RenderTableCell):
926         * rendering/RenderTableCell.h:
927         Changed the field order to use more strict packing.
928
929         (WebCore::RenderTableCell::setCol):
930         (WebCore::RenderTableCell::setRow):
931         Added overflow checks to the 2 previous methods. We
932         CRASH even in release to avoid potential badness
933         (the limit is currently above 2 billions rows or columns
934         which is high enough to prevent it being hit by accident)
935
936 2011-11-01  Emil A Eklund  <eae@chromium.org>
937
938         Switch background/border image back to Int
939         https://bugs.webkit.org/show_bug.cgi?id=71240
940
941         Reviewed by Darin Adler.
942
943         Switch background- and border-image rendering back to int to align with
944         device pixels.
945
946         No new tests.
947
948         * rendering/RenderBoxModelObject.cpp:
949         (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
950         (WebCore::RenderBoxModelObject::calculateFillTileSize):
951         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
952         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip):
953         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase):
954         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
955         (WebCore::RenderBoxModelObject::paintNinePieceImage):
956         (WebCore::calculateAdjustedInnerBorder):
957         * rendering/RenderBoxModelObject.h:
958         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin):
959         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin):
960         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect):
961         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect):
962         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase):
963         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase):
964         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize):
965         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize):
966
967 2011-11-01  Mark Hahnenberg  <mhahnenberg@apple.com>
968
969         De-virtualize JSObject::defineSetter
970         https://bugs.webkit.org/show_bug.cgi?id=71303
971
972         Reviewed by Darin Adler.
973
974         No new tests.
975
976         Added defineSetter to the MethodTable, changed all the virtual 
977         implementations of defineSetter to static ones, and replaced 
978         all call sites with corresponding lookups in the MethodTable.
979
980         * bindings/js/JSDOMWindowCustom.cpp:
981         (WebCore::JSDOMWindow::defineSetter):
982         * bindings/js/JSDOMWindowShell.cpp:
983         (WebCore::JSDOMWindowShell::defineSetter):
984         * bindings/js/JSDOMWindowShell.h:
985         * bindings/scripts/CodeGeneratorJS.pm:
986         (GenerateHeader):
987
988 2011-11-01  Emil A Eklund  <eae@chromium.org>
989
990         Switch PopupMenuClient to layout abstraction
991         https://bugs.webkit.org/show_bug.cgi?id=71308
992
993         Reviewed by Darin Adler.
994
995         Switch PopupMenuClient and rendering classes implementing it to layout
996         type abstraction.
997
998         No new tests.
999
1000         * platform/PopupMenuClient.h:
1001         * rendering/RenderListBox.cpp:
1002         (WebCore::RenderListBox::listIndexAtOffset):
1003         (WebCore::RenderListBox::panScroll):
1004         (WebCore::RenderListBox::scrollToward):
1005         (WebCore::RenderListBox::scrollSize):
1006         (WebCore::RenderListBox::scrollPosition):
1007         (WebCore::RenderListBox::setScrollOffset):
1008         (WebCore::RenderListBox::verticalScrollbarWidth):
1009         Revert scroll positions and scroll offsets to ints to align with device
1010         pixels.
1011         
1012         * rendering/RenderListBox.h:
1013         * rendering/RenderMenuList.cpp:
1014         (WebCore::RenderMenuList::showPopup):
1015         (WebCore::RenderMenuList::clientPaddingLeft):
1016         (WebCore::RenderMenuList::clientPaddingRight):
1017         * rendering/RenderMenuList.h:
1018         * rendering/RenderTextControl.cpp:
1019         (WebCore::RenderTextControl::hitInnerTextElement):
1020         * rendering/RenderTextControlSingleLine.cpp:
1021         (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
1022         (WebCore::RenderTextControlSingleLine::clientPaddingRight):
1023         * rendering/RenderTextControlSingleLine.h:
1024
1025 2011-11-01  Nate Chapin  <japhet@chromium.org>
1026
1027         [chromium] As of r98380, ThreadableLoaderClients are having their
1028         ResourceRequest::TargetType clobbered. They set their own
1029         type, but CachedResourceRequest (through which they now flow)
1030         sets a TargetType without bothering to see if one has already been set.
1031         https://bugs.webkit.org/show_bug.cgi?id=70972
1032
1033         Reviewed by Darin Fisher.
1034
1035         No new tests, this is chromium-specific and only affects
1036         behavior seen in full builds of chromium.
1037
1038         * loader/cache/CachedResourceRequest.cpp:
1039         (WebCore::CachedResourceRequest::load):Don't setTargetType()
1040             if the value is something other than the default already.
1041         * platform/network/chromium/ResourceRequest.h: Change default
1042             TargetType to TargetIsUnspecified.
1043
1044 2011-11-01  Emil A Eklund  <eae@chromium.org>
1045
1046         Use IntPoint for screen coordinates in MouseEvent
1047         https://bugs.webkit.org/show_bug.cgi?id=71327
1048
1049         Reviewed by Darin Adler.
1050
1051         Change mouse events to use int/IntPoint for screen/window coordinates and
1052         LayoutUnit/LayoutPoint for coordinates adjusted for zooming.
1053
1054         No new tests.
1055
1056         * dom/MouseRelatedEvent.cpp:
1057         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
1058         (WebCore::MouseRelatedEvent::computeRelativePosition):
1059         * dom/MouseRelatedEvent.h:
1060         (WebCore::MouseRelatedEvent::screenLocation):
1061         Revert screenLocation and windowLocation back to int.
1062
1063         * page/DragController.cpp:
1064         (WebCore::elementUnderMouse):
1065         Change elementUnderMouse to use a LayoutPoint for hit testing.
1066
1067         * page/EventHandler.cpp:
1068         (WebCore::EventHandler::clear):
1069         (WebCore::EventHandler::currentMousePosition):
1070         (WebCore::documentPointForWindowPoint):
1071         (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
1072         * page/EventHandler.h:
1073         Revert m_currentMousePosition to IntPoint as it represents a
1074         screen coordinate.
1075
1076         * platform/PlatformMouseEvent.h:
1077         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1078         (WebCore::PlatformMouseEvent::pos):
1079         (WebCore::PlatformMouseEvent::x):
1080         (WebCore::PlatformMouseEvent::y):
1081         (WebCore::PlatformMouseEvent::globalX):
1082         (WebCore::PlatformMouseEvent::globalY):
1083         * platform/mac/PlatformMouseEventMac.mm:
1084         (WebCore::globalPoint):
1085         (WebCore::pointForEvent):
1086         (WebCore::globalPointForEvent):
1087         Revert PlatformMouseEvent to int/IntPoint as it represents a screen
1088         coordinate.
1089
1090 2011-11-01  Tony Chang  <tony@chromium.org>
1091
1092         REGRESSION: -webkit-flex() should be an invalid value
1093         https://bugs.webkit.org/show_bug.cgi?id=71320
1094
1095         Reviewed by Ojan Vafai.
1096
1097         This regressed in http://trac.webkit.org/changeset/98773 .
1098
1099         No new tests, covered by css3/flexbox/flex-parsing.html.
1100
1101         * css/CSSParser.cpp:
1102         (WebCore::CSSParser::parseFlex):
1103
1104 2011-11-01  David Grogan  <dgrogan@chromium.org>
1105
1106         IndexedDB: get EventQueue from ScriptExecutionContext instead of Document
1107         https://bugs.webkit.org/show_bug.cgi?id=71147
1108
1109         When IDB is used from a worker thread ScriptExecutionContext will
1110         be a WorkerContext, not a Document.  This was the impetus behind
1111         moving EventQueue into ScriptExecutionContext in r98656.
1112
1113         Reviewed by Nate Chapin.
1114
1115         No new tests. No new functionality yet.
1116
1117         * storage/IDBDatabase.cpp:
1118         (WebCore::IDBDatabase::close):
1119         (WebCore::IDBDatabase::enqueueEvent):
1120         * storage/IDBRequest.cpp:
1121         (WebCore::IDBRequest::abort):
1122         (WebCore::IDBRequest::enqueueEvent):
1123         * storage/IDBTransaction.cpp:
1124         (WebCore::IDBTransaction::enqueueEvent):
1125
1126 2011-11-01  Andreas Kling  <kling@webkit.org>
1127
1128         CSS: Remove unused virtual parseString() in style and keyframe rules.
1129         https://bugs.webkit.org/show_bug.cgi?id=71300
1130
1131         Reviewed by Darin Adler.
1132
1133         * css/CSSStyleRule.cpp:
1134         * css/CSSStyleRule.h:
1135         * css/WebKitCSSKeyframeRule.cpp:
1136         * css/WebKitCSSKeyframeRule.h:
1137
1138 2011-11-01  Emil A Eklund  <eae@chromium.org>
1139
1140         Switch RenderObject to layout abstraction
1141         https://bugs.webkit.org/show_bug.cgi?id=71249
1142
1143         Switch RenderObject to LayoutRect/Size/Point abstraction.
1144
1145         Reviewed by Darin Adler.
1146
1147         No new tests.
1148
1149         * rendering/RenderObject.cpp:
1150         (WebCore::RenderObject::drawLineForBoxSide):
1151         (WebCore::RenderObject::addPDFURLRect):
1152         (WebCore::RenderObject::absoluteBoundingBoxRect):
1153         (WebCore::RenderObject::absoluteFocusRingQuads):
1154         (WebCore::RenderObject::addAbsoluteRectForLayer):
1155         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
1156         (WebCore::RenderObject::computeRectForRepaint):
1157         (WebCore::RenderObject::viewRect):
1158         (WebCore::RenderObject::mapLocalToContainer):
1159         (WebCore::RenderObject::localCaretRect):
1160         (WebCore::RenderObject::addDashboardRegions):
1161         (WebCore::RenderObject::maximalOutlineSize):
1162         (WebCore::RenderObject::adjustRectForOutlineAndShadow):
1163         * rendering/RenderObject.h:
1164         (WebCore::RenderObject::absoluteBoundingBoxRectIgnoringTransforms):
1165         (WebCore::RenderObject::absoluteClippedOverflowRect):
1166         (WebCore::RenderObject::computeAbsoluteRepaintRect):
1167         (WebCore::RenderObject::absoluteOutlineBounds):
1168         (WebCore::RenderObject::outlineBoundsForRepaint):
1169         (WebCore::adjustForAbsoluteZoom):
1170
1171 2011-11-01  Xiaomei Ji  <xji@chromium.org>
1172
1173         Refactor: change Scrollable::m_scrollOrigin from protected to private.
1174         https://bugs.webkit.org/show_bug.cgi?id=71236
1175
1176         Reviewed by Darin Adler.
1177
1178         Only refactor, no new tests needed.
1179
1180         * page/FrameView.cpp:
1181         (WebCore::FrameView::scrollXForFixedPosition):
1182         (WebCore::FrameView::scrollYForFixedPosition):
1183         * platform/ScrollView.cpp:
1184         (WebCore::ScrollView::maximumScrollPosition):
1185         (WebCore::ScrollView::minimumScrollPosition):
1186         (WebCore::ScrollView::setScrollOffset):
1187         (WebCore::ScrollView::scrollPosition):
1188         (WebCore::ScrollView::overhangAmount):
1189         (WebCore::ScrollView::updateScrollbars):
1190         (WebCore::ScrollView::wheelEvent):
1191         * platform/ScrollView.h:
1192         * platform/ScrollableArea.h:
1193         (WebCore::ScrollableArea::setScrollOrigin):
1194         (WebCore::ScrollableArea::setScrollOriginX):
1195         (WebCore::ScrollableArea::setScrollOriginY):
1196         * rendering/RenderLayer.cpp:
1197         (WebCore::RenderLayer::scrollTo):
1198         (WebCore::RenderLayer::scrollPosition):
1199         (WebCore::RenderLayer::minimumScrollPosition):
1200         (WebCore::RenderLayer::maximumScrollPosition):
1201         (WebCore::RenderLayer::computeScrollDimensions):
1202         * rendering/RenderLayer.h:
1203         (WebCore::RenderLayer::scrollXOffset):
1204         (WebCore::RenderLayer::scrollYOffset):
1205
1206 2011-11-01  Dominic Cooney  <dominicc@chromium.org>
1207
1208         display: table-cell and box-sizing: border-box calculates content-box height
1209         https://bugs.webkit.org/show_bug.cgi?id=69425
1210
1211         Reviewed by Dan Bernstein.
1212
1213         Test: fast/box-sizing/table-cell.html
1214
1215         * rendering/RenderTableSection.cpp:
1216         (WebCore::RenderTableSection::calcRowLogicalHeight):
1217
1218 2011-11-01  Alok Priyadarshi  <alokp@chromium.org>
1219
1220         [chromium] Add testing for --enable-accelerated-drawing
1221         https://bugs.webkit.org/show_bug.cgi?id=70822
1222
1223         Reviewed by James Robinson.
1224
1225         Test: platform/chromium/compositing/accelerated-drawing/alpha.html
1226
1227         * WebCore.exp.in:
1228         * page/Settings.cpp:
1229         * page/Settings.h:
1230         (WebCore::Settings::setAcceleratedDrawingEnabled):
1231         * testing/Internals.cpp:
1232         (WebCore::Internals::setAcceleratedDrawingEnabled):
1233         * testing/Internals.h:
1234         * testing/Internals.idl:
1235
1236 2011-11-01  Tim Horton  <timothy_horton@apple.com>
1237
1238         SVG Filter on a group doesn't invalidate when children are moved
1239         https://bugs.webkit.org/show_bug.cgi?id=70044
1240         <rdar://problem/10281530>
1241
1242         Reviewed by Nikolas Zimmermann.
1243
1244         Call SVGResourcesCache::clientLayoutChanged whenever the element or its children need layout. Previously,
1245         invalidation was only performed if the element itself needed layout; now we also invalidate if any child
1246         needs layout and there is a filter applied, as the cached filter result can depend on the layout of children.
1247
1248         Test: svg/filters/invalidate-on-child-layout.svg
1249
1250         * rendering/svg/RenderSVGContainer.cpp:
1251         (WebCore::RenderSVGContainer::layout):
1252         * rendering/svg/SVGResourcesCache.cpp:
1253         (WebCore::SVGResourcesCache::clientLayoutChanged):
1254
1255 2011-11-01  Jer Noble  <jer.noble@apple.com>
1256
1257         Four media tests failing on Lion due to incorrect cached times.
1258         https://bugs.webkit.org/show_bug.cgi?id=69574
1259
1260         Reviewed by Eric Carlson.
1261
1262         Do not invalidate the cached time when receiving a mediaPlayerRateChanged notification
1263         while paused. AVFoundation in particular can return different results for currentTime()
1264         when asked after being paused, breaking layout tests.
1265
1266         * html/HTMLMediaElement.cpp:
1267         (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
1268
1269 2011-11-01  Gavin Peters  <gavinp@chromium.org>
1270
1271         properly end requests when a bad status code return happens
1272         https://bugs.webkit.org/show_bug.cgi?id=71122
1273
1274         Calling error without ending the request set up the CachedResourceRequest so that it could
1275         actually send out two notifyFinished() events.  This probably was the root cause of
1276         lots of crashing instability; I know from crbug.com/75604 that this bug was causing lots
1277         of crashes in ScriptRunner/ScriptElement for instance.
1278
1279         The fix is easy: just properly end the request instead of just calling error, and we won't
1280         re-notify.
1281
1282         Reviewed by Nate Chapin.
1283
1284         No new tests, as the problem wasn't very amenable to layout tests.
1285         There is a chromium test going through code review at http://codereview.chromium.org/8404001/
1286
1287         * loader/cache/CachedResourceRequest.cpp:
1288         (WebCore::CachedResourceRequest::didReceiveData):
1289
1290 2011-11-01  Erik Arvidsson  <arv@chromium.org>
1291
1292         Remove LegacyDefaultOptionalArguments flag from CanvasRenderingContext2d
1293         https://bugs.webkit.org/show_bug.cgi?id=64628
1294
1295         Reviewed by Adam Barth.
1296
1297         Covered by existing tests.
1298
1299         * html/canvas/CanvasRenderingContext2D.idl:
1300
1301 2011-11-01  Julien Chaffraix  <jchaffraix@webkit.org>
1302
1303         REGRESSION(98738): RenderTableSection::recalcCells does not properly shrink the RowStruct grid
1304         https://bugs.webkit.org/show_bug.cgi?id=71246
1305
1306         Reviewed by Darin Adler.
1307
1308         Tests: fast/table/crash-empty-section-calcBorder.html
1309                fast/table/crash-empty-section-fixed-layout-calcArray.html
1310
1311         The refactoring in r98738 changed the way we handle the size to avoid throwing off
1312         the memory. The new logic would end up never shrinking the grid's size (prior to that
1313         we would grow to the appropriate size and throw the excess capacity with shrinkToFit).
1314         Not shrinking would mean that we would potentially read RowStruct with the default values
1315         (for instance no |rowRenderer|).
1316
1317         addCell will properly grow the grid as needed to accomodate the rows and the protruding
1318         cells with a rowspan so we introduce a variable to keep track of the size needed. At the
1319         end, we just shrink it to this size.
1320
1321         * rendering/RenderTableSection.cpp:
1322         (WebCore::RenderTableSection::recalcCells):
1323         Introduce a variable to keep the grid size and shrink to that size to match the old code.
1324
1325 2011-11-01  Andrey Kosyakov  <caseq@chromium.org>
1326
1327         [Chromium] Some media/video-*.html layout tests occasionally crash on WIN GPU
1328         https://bugs.webkit.org/show_bug.cgi?id=71277
1329
1330         Reviewed by Simon Fraser.
1331
1332         Disabled assert() in hasVisibleDescendant() until callers are fixed.
1333
1334         * rendering/RenderLayer.h:
1335         (WebCore::RenderLayer::hasVisibleDescendant):
1336
1337 2011-11-01  Mike Reed  <reed@google.com>
1338
1339         [skia] call readPixels on canvas instead of device (will be private on device soon) and check for error
1340         https://bugs.webkit.org/show_bug.cgi?id=71284
1341
1342         Reviewed by Stephen White.
1343
1344         No new tests. This is preparing for an API change to Skia.
1345
1346         * platform/graphics/skia/ImageBufferSkia.cpp:
1347         (WebCore::getImageData):
1348         (WebCore::ImageBuffer::getUnmultipliedImageData):
1349         (WebCore::ImageBuffer::getPremultipliedImageData):
1350
1351 2011-11-01  Andreas Kling  <kling@webkit.org>
1352
1353         CSSStyleSheet: Operate directly on the rule vector internally.
1354
1355         Rubber-stamped by Antti Koivisto.
1356
1357         There's no need to go through the public, range-checking item() method
1358         working on m_children. Also changed length() -> m_children.size().
1359
1360         * css/CSSStyleSheet.cpp:
1361         (WebCore::CSSStyleSheet::~CSSStyleSheet):
1362         (WebCore::CSSStyleSheet::insertRule):
1363         (WebCore::CSSStyleSheet::addRule):
1364         (WebCore::CSSStyleSheet::deleteRule):
1365         (WebCore::CSSStyleSheet::isLoading):
1366         (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
1367
1368 2011-11-01  Andreas Kling  <kling@webkit.org>
1369
1370         CSSRule: Devirtualize addSubresourceStyleURLs()
1371         https://bugs.webkit.org/show_bug.cgi?id=71285
1372
1373         Reviewed by Antti Koivisto.
1374
1375         Move addSubresourceStyleURLs() into the rules that actually implement it.
1376         Add type checks and casts at the (only) call site.
1377
1378         * css/CSSFontFaceRule.h:
1379         * css/CSSImportRule.h:
1380         * css/CSSRule.h:
1381         * css/CSSStyleRule.h:
1382         * css/CSSStyleSheet.cpp:
1383         (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
1384
1385 2011-11-01  Chris Fleizach  <cfleizach@apple.com>
1386
1387         AX: some popup buttons not announced by VoiceOver
1388         https://bugs.webkit.org/show_bug.cgi?id=67743
1389
1390         Reviewed by Darin Adler.
1391
1392         Test: platform/mac/accessibility/aria-popup-buttons-on-native-elements.html
1393
1394         * accessibility/AccessibilityRenderObject.cpp:
1395         (WebCore::AccessibilityRenderObject::stringValue):
1396         (WebCore::AccessibilityRenderObject::title):
1397         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1398
1399 2011-11-01  Alexander Pavlov  <apavlov@chromium.org>
1400
1401         Web Inspector: [Styles] Style-based CSS properties are editable and toggleable
1402         https://bugs.webkit.org/show_bug.cgi?id=71275
1403
1404         Reviewed by Pavel Feldman.
1405
1406         * inspector/front-end/StylesSidebarPane.js:
1407         (WebInspector.StylePropertiesSection.prototype.onpopulate):
1408
1409 2011-11-01  Pavel Feldman  <pfeldman@google.com>
1410
1411         Web Inspector: do not switch panels on Cmd + ->  while in console.
1412         https://bugs.webkit.org/show_bug.cgi?id=71281
1413
1414         Reviewed by Yury Semikhatsky.
1415
1416         * inspector/front-end/InspectorView.js:
1417         (WebInspector.InspectorView.prototype._keyDown):
1418
1419 2011-11-01  Zeno Albisser  <zeno.albisser@nokia.com>
1420
1421         [Qt] bad codegen, pointer diff in JSC::JSCallbackConstructor::JSCallbackConstructor
1422         https://bugs.webkit.org/show_bug.cgi?id=60951
1423
1424         Adjust symbols visibility for WebCore.
1425
1426         Reviewed by Simon Hausmann.
1427
1428         * WebCore.pro:
1429
1430 2011-11-01  Pavel Feldman  <pfeldman@google.com>
1431
1432         Not reviewed: add InspectorView.js entry into WebKit.qrc
1433
1434         * inspector/front-end/WebKit.qrc:
1435
1436 2011-11-01  Pavel Feldman  <pfeldman@google.com>
1437
1438
1439         Web Inspector: introduce PanelContainer class, start moving panel management from inspector.js to the new class.
1440         https://bugs.webkit.org/show_bug.cgi?id=71272
1441
1442         Reviewed by Yury Semikhatsky.
1443
1444         * WebCore.gypi:
1445         * WebCore.vcproj/WebCore.vcproj:
1446         * inspector/compile-front-end.sh:
1447         * inspector/front-end/Drawer.js:
1448         (WebInspector.Drawer.prototype.show.animationFinished):
1449         (WebInspector.Drawer.prototype.show):
1450         (WebInspector.Drawer.prototype.hide):
1451         (WebInspector.Drawer.prototype._statusBarDragging):
1452         * inspector/front-end/ElementsPanel.js:
1453         (WebInspector.ElementsPanel.prototype.switchToAndFocus):
1454         (WebInspector.ElementsPanel.prototype.revealAndSelectNode):
1455         * inspector/front-end/ElementsTreeOutline.js:
1456         (WebInspector.ElementsTreeOutline.prototype.setVisible):
1457         * inspector/front-end/InspectorView.js: Added.
1458         (WebInspector.InspectorView):
1459         (WebInspector.InspectorView.prototype.addPanel):
1460         (WebInspector.InspectorView.prototype.currentPanel):
1461         (WebInspector.InspectorView.prototype._keyDown):
1462         (WebInspector.InspectorView.prototype._canGoBackInHistory):
1463         (WebInspector.InspectorView.prototype._goBackInHistory):
1464         (WebInspector.InspectorView.prototype._canGoForwardInHistory):
1465         (WebInspector.InspectorView.prototype._goForwardInHistory):
1466         (WebInspector.InspectorView.prototype._pushToHistory):
1467         * inspector/front-end/KeyboardShortcut.js:
1468         (WebInspector.KeyboardShortcut.eventHasCtrlOrMeta):
1469         * inspector/front-end/Panel.js:
1470         (WebInspector.Panel.prototype.show):
1471         * inspector/front-end/ScriptsPanel.js:
1472         (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
1473         * inspector/front-end/SearchController.js:
1474         (WebInspector.SearchController.prototype.updateSearchMatchesCount):
1475         (WebInspector.SearchController.prototype.updateCurrentMatchIndex):
1476         (WebInspector.SearchController.prototype.updateSearchLabel):
1477         (WebInspector.SearchController.prototype.handleShortcut):
1478         (WebInspector.SearchController.prototype._performSearch):
1479         * inspector/front-end/Toolbar.js:
1480         (WebInspector.Toolbar.createPanelToolbarItem.onToolbarItemClicked):
1481         (WebInspector.Toolbar.createPanelToolbarItem):
1482         * inspector/front-end/WebKit.qrc:
1483         * inspector/front-end/externs.js:
1484         * inspector/front-end/inspector.html:
1485         * inspector/front-end/inspector.js:
1486         (WebInspector._createPanels):
1487         (WebInspector._panelSelected):
1488         (WebInspector.addPanel):
1489         (WebInspector.windowResize):
1490         (WebInspector.documentKeyDown):
1491         (WebInspector.documentCanCopy):
1492         (WebInspector.documentCopy):
1493         (WebInspector.showPanel):
1494         (WebInspector.startUserInitiatedDebugging):
1495         (WebInspector.inspect):
1496         (WebInspector._showAnchorLocationInPanel):
1497         (WebInspector._toolbarItemClicked):
1498         * inspector/front-end/treeoutline.js:
1499         (TreeElement.prototype.select):
1500
1501 2011-11-01  Simon Hausmann  <simon.hausmann@nokia.com>
1502
1503         [WK2] Add WebGestureEvents to the Qt build and enable PlatformGestureEvent::TapType
1504         https://bugs.webkit.org/show_bug.cgi?id=71274
1505
1506         Reviewed by Kenneth Christiansen.
1507
1508         * features.pri: Enable GESTURE_EVENTS.
1509
1510 2011-11-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1511
1512         Unreviewed, rolling out r98847.
1513         http://trac.webkit.org/changeset/98847
1514         https://bugs.webkit.org/show_bug.cgi?id=71268
1515
1516         "Debugger test failures on multiple platforms" (Requested by
1517         yurys on #webkit).
1518
1519         * inspector/front-end/DebuggerPresentationModel.js:
1520         (WebInspector.DebuggerPresentationModel):
1521         (WebInspector.DebuggerPresentationModel.prototype._addScript):
1522         (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
1523         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
1524         (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
1525         (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
1526         (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
1527         (WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
1528         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
1529         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
1530         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
1531         * inspector/front-end/RawSourceCode.js:
1532         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
1533         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
1534         (WebInspector.RawSourceCode.prototype._createSourceMapping):
1535         * inspector/front-end/Script.js:
1536         (WebInspector.Script.prototype.editSource):
1537
1538 2011-10-30  Filip Pizlo  <fpizlo@apple.com>
1539
1540         The GC should be parallel
1541         https://bugs.webkit.org/show_bug.cgi?id=70995
1542
1543         Reviewed by Geoff Garen.
1544         
1545         Added parallel tracing to the GC. This required loosening some assertions,
1546         since some code may now be called from outside the main thread.
1547
1548         No new tests, since no behavior was changed.
1549
1550         * platform/TreeShared.h:
1551         (WebCore::TreeShared::parent):
1552
1553 2011-10-31  Andy Estes  <aestes@apple.com>
1554
1555         Document pointer not null-checked in FrameView::isOnActivePage()
1556         https://bugs.webkit.org/show_bug.cgi?id=71265
1557         <rdar://problem/10374427>
1558
1559         Reviewed by Dan Bernstein.
1560
1561         Return false in FrameView::isOnActivePage() if m_frame->document() is
1562         null. Other calls to m_frame->document() in FrameView also have a null
1563         check. The frame can have a null document if the FrameLoader is loading
1564         the initial empty document.
1565
1566         No test possible without triggering assertions in debug builds. This is
1567         tracked by <http://webkit.org/b/71264>.
1568
1569         * page/FrameView.cpp:
1570         (WebCore::FrameView::isOnActivePage):
1571
1572 2011-10-31  Jeremy Apthorp  <jeremya@google.com>
1573
1574         Fix a crash relating to anonymous block merging in
1575         RenderFullScreen::unwrapRenderer.
1576         https://bugs.webkit.org/show_bug.cgi?id=70705
1577
1578         Reviewed by Simon Fraser.
1579
1580         Test: fullscreen/anonymous-block-merge-crash.html
1581
1582         * rendering/RenderFullScreen.cpp:
1583         (RenderFullScreen::unwrapRenderer):
1584
1585 2011-10-31  Dave Michael  <dmichael@chromium.org>
1586
1587         V8MessageEvent::dataAccessorGetter does not return a reference to its caller
1588         https://bugs.webkit.org/show_bug.cgi?id=71229
1589
1590         Reviewed by Adam Barth.
1591
1592         Test: fast/events/dispatch-message-string-data.html
1593
1594         * bindings/v8/custom/V8MessageEventCustom.cpp:
1595         (WebCore::V8MessageEvent::dataAccessorGetter):
1596
1597 2011-10-31  Renata Hodovan  <reni@webkit.org>
1598
1599         [Qt] Build fix after r98853.
1600
1601         Rubber-stamped by Andreas Kling.
1602
1603         * xml/XSLImportRule.cpp:
1604         * xml/XSLImportRule.h:
1605         (WebCore::XSLImportRule::parentStyleSheet):
1606
1607 2011-10-31  Mark Hahnenberg  <mhahnenberg@apple.com>
1608
1609         De-virtualize JSObject::defaultValue
1610         https://bugs.webkit.org/show_bug.cgi?id=71146
1611
1612         Reviewed by Sam Weinig.
1613
1614         No new tests.
1615
1616         Added defaultValue to the MethodTable.  Replaced all virtual versions of 
1617         defaultValue with static versions.  Replaced all call sites with lookups in the 
1618         MethodTable.
1619
1620         * WebCore.exp.in:
1621         * bridge/objc/objc_runtime.h:
1622         * bridge/objc/objc_runtime.mm:
1623         (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
1624         * bridge/runtime_object.cpp:
1625         (JSC::Bindings::RuntimeObject::defaultValue):
1626         * bridge/runtime_object.h:
1627
1628 2011-10-31  Levi Weintraub  <leviw@chromium.org>
1629
1630         Switch RoundedRect back to integers
1631         https://bugs.webkit.org/show_bug.cgi?id=71238
1632
1633         Reviewed by Darin Adler.
1634
1635         Changing RoundedRect back to ints from LayoutUnits. As further testing has shown, this graphics-
1636         focused class should maintain values aligned to pixel boundaries, and therefor kept as integers.
1637
1638         No new tests -- no change in behavior.
1639
1640         * platform/graphics/RoundedRect.cpp:
1641         (WebCore::RoundedRect::Radii::scale):
1642         (WebCore::RoundedRect::Radii::expand):
1643         (WebCore::RoundedRect::inflateWithRadii):
1644         (WebCore::RoundedRect::Radii::excludeLogicalEdges):
1645         (WebCore::RoundedRect::RoundedRect):
1646         * platform/graphics/RoundedRect.h:
1647         (WebCore::RoundedRect::Radii::Radii):
1648         (WebCore::RoundedRect::Radii::setTopLeft):
1649         (WebCore::RoundedRect::Radii::setTopRight):
1650         (WebCore::RoundedRect::Radii::setBottomLeft):
1651         (WebCore::RoundedRect::Radii::setBottomRight):
1652         (WebCore::RoundedRect::Radii::topLeft):
1653         (WebCore::RoundedRect::Radii::topRight):
1654         (WebCore::RoundedRect::Radii::bottomLeft):
1655         (WebCore::RoundedRect::Radii::bottomRight):
1656         (WebCore::RoundedRect::Radii::expand):
1657         (WebCore::RoundedRect::Radii::shrink):
1658         (WebCore::RoundedRect::rect):
1659         (WebCore::RoundedRect::setRect):
1660         (WebCore::RoundedRect::move):
1661         (WebCore::RoundedRect::inflate):
1662         (WebCore::RoundedRect::expandRadii):
1663         (WebCore::RoundedRect::shrinkRadii):
1664         * rendering/svg/SVGRenderSupport.h: Adding missing LayoutTypes.h include
1665
1666 2011-10-31  Peter Kasting  <pkasting@google.com>
1667
1668         https://bugs.webkit.org/show_bug.cgi?id=70666
1669         BitmapImage::dataChanged() needs to clear all incomplete frames.
1670
1671         Reviewed by James Robinson.
1672
1673         No tests, as I don't know of a way to send an image to the renderer in
1674         small pieces (with script run between pieces no less).
1675
1676         * platform/graphics/BitmapImage.cpp:
1677         (WebCore::BitmapImage::dataChanged):
1678
1679 2011-10-31  Levi Weintraub  <leviw@chromium.org>
1680
1681         Amend missing uses of LayoutUnits in RenderApplet, Button, and DeprecatedFlexibleBox
1682         https://bugs.webkit.org/show_bug.cgi?id=71243
1683
1684         Reviewed by Eric Seidel.
1685
1686         Replacing remaining integer uses with LayoutUnits in the aforementioned classes.
1687
1688         No new tests -- no change in behavior.
1689
1690         * rendering/RenderApplet.cpp:
1691         (WebCore::RenderApplet::intrinsicSize):
1692         (WebCore::RenderApplet::createWidgetIfNecessary):
1693         * rendering/RenderApplet.h:
1694         * rendering/RenderButton.cpp:
1695         (WebCore::RenderButton::controlClipRect):
1696         * rendering/RenderButton.h:
1697         * rendering/RenderDeprecatedFlexibleBox.cpp:
1698         (WebCore::marginWidthForChild):
1699         (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
1700         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
1701         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
1702         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
1703         * rendering/RenderDeprecatedFlexibleBox.h:
1704
1705 2011-10-31  Tommy Widenflycht  <tommyw@google.com>
1706
1707         [Chromium] Media Stream API: add the Chromium WebKit interfaces
1708         https://bugs.webkit.org/show_bug.cgi?id=58550
1709
1710         Changes the PeerHandler platform interface so that embedders can more easily use it.
1711
1712         Reviewed by Darin Fisher.
1713
1714         * GNUmakefile.am:
1715         * GNUmakefile.list.am:
1716         * WebCore.gyp/WebCore.gyp:
1717         * WebCore.gypi:
1718         * mediastream/PeerConnection.cpp:
1719         (WebCore::PeerConnection::PeerConnection):
1720         (WebCore::PeerConnection::didCompleteICEProcessing):
1721         (WebCore::PeerConnection::didGenerateSDP):
1722         (WebCore::PeerConnection::didReceiveDataStreamMessage):
1723         (WebCore::PeerConnection::didAddRemoteStream):
1724         (WebCore::PeerConnection::didRemoveRemoteStream):
1725         * mediastream/PeerConnection.h:
1726         * platform/mediastream/PeerConnectionHandlerClient.h: Copied from Source/WebCore/platform/mediastream/PeerHandler.cpp.
1727         (WebCore::PeerConnectionHandlerClient::~PeerConnectionHandlerClient):
1728         * platform/mediastream/chromium/PeerConnectionHandler.h: Copied from Source/WebCore/platform/mediastream/PeerHandler.h.
1729         * platform/mediastream/gstreamer/PeerConnectionHandler.cpp: Copied from Source/WebCore/platform/mediastream/PeerHandler.cpp.
1730         (WebCore::PeerConnectionHandler::create):
1731         (WebCore::PeerConnectionHandler::PeerConnectionHandler):
1732         (WebCore::PeerConnectionHandler::~PeerConnectionHandler):
1733         (WebCore::PeerConnectionHandler::produceInitialOffer):
1734         (WebCore::PeerConnectionHandler::handleInitialOffer):
1735         (WebCore::PeerConnectionHandler::processSDP):
1736         (WebCore::PeerConnectionHandler::processPendingStreams):
1737         (WebCore::PeerConnectionHandler::sendDataStreamMessage):
1738         (WebCore::PeerConnectionHandler::stop):
1739         * platform/mediastream/gstreamer/PeerConnectionHandler.h: Renamed from Source/WebCore/platform/mediastream/PeerHandler.h.
1740
1741         Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
1742
1743 2011-10-31  Adam Roben  <aroben@apple.com>
1744
1745         Fix linker warnings on Windows
1746
1747         * WebCore.vcproj/WebCore.vcproj: Exclude SpellingCorrectionCommand.cpp and
1748         JSRequestAnimationFrameCallback.cpp from all configurations. They are already getting
1749         compiled via *AllInOne.cpp files.
1750
1751 2011-10-31  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
1752
1753         [GStreamer] Don't use GOwnPtr for ref-counted objects
1754         https://bugs.webkit.org/show_bug.cgi?id=71042
1755
1756         Reviewed by Martin Robinson.
1757
1758         * CMakeListsEfl.txt:
1759         * GNUmakefile.list.am:
1760         * WebCore.gypi:
1761         * WebCore.pro:
1762         * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Removed.
1763         * platform/graphics/gstreamer/GOwnPtrGStreamer.h: Removed.
1764         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
1765         (WebCore::GStreamerGWorld::enterFullscreen):
1766         (WebCore::GStreamerGWorld::exitFullscreen):
1767         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1768         (WebCore::MediaPlayerPrivateGStreamer::updateAudioSink):
1769         (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
1770
1771 2011-10-28  Nat Duca  <nduca@chromium.org>
1772
1773         [chromium] Connect CCThreadProxy to FrameRateController and SchedulerStateMachine via CCScheduler
1774         https://bugs.webkit.org/show_bug.cgi?id=71100
1775
1776         Reviewed by James Robinson.
1777
1778         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
1779         (WebCore::CCDelayBasedTimeSource::monotonicallyIncreasingTime):
1780         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1781         (WebCore::CCLayerTreeHostClient::didCommitAndDrawFrame):
1782         (WebCore::CCLayerTreeHost::didCommitAndDrawFrame):
1783         * platform/graphics/chromium/cc/CCScheduler.cpp:
1784         (WebCore::CCSchedulerFrameRateControllerClientAdapter::create):
1785         (WebCore::CCSchedulerFrameRateControllerClientAdapter::~CCSchedulerFrameRateControllerClientAdapter):
1786         (WebCore::CCSchedulerFrameRateControllerClientAdapter::beginFrame):
1787         (WebCore::CCSchedulerFrameRateControllerClientAdapter::CCSchedulerFrameRateControllerClientAdapter):
1788         (WebCore::CCScheduler::CCScheduler):
1789         (WebCore::CCScheduler::~CCScheduler):
1790         (WebCore::CCScheduler::setNeedsAnimate):
1791         (WebCore::CCScheduler::setNeedsCommit):
1792         (WebCore::CCScheduler::setNeedsRedraw):
1793         (WebCore::CCScheduler::beginFrameComplete):
1794         (WebCore::CCScheduler::didSwapBuffersComplete):
1795         (WebCore::CCScheduler::didSwapBuffersAbort):
1796         (WebCore::CCScheduler::onBeginFrame):
1797         (WebCore::CCScheduler::processScheduledActions):
1798         * platform/graphics/chromium/cc/CCScheduler.h:
1799         (WebCore::CCScheduler::create):
1800         (WebCore::CCScheduler::commitPending):
1801         (WebCore::CCScheduler::redrawPending):
1802         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
1803         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
1804         (WebCore::CCSchedulerStateMachine::nextAction):
1805         (WebCore::CCSchedulerStateMachine::updateState):
1806         (WebCore::CCSchedulerStateMachine::beginUpdateMoreResourcesComplete):
1807         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
1808         (WebCore::CCSchedulerStateMachine::redrawPending):
1809         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1810         (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
1811         (WebCore::CCSingleThreadProxy::doCommit):
1812         (WebCore::CCSingleThreadProxy::doComposite):
1813         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1814         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
1815         (WebCore::CCTextureUpdater::hasMoreUpdates):
1816         * platform/graphics/chromium/cc/CCTextureUpdater.h:
1817         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1818         (WebCore::CCThreadProxy::CCThreadProxy):
1819         (WebCore::CCThreadProxy::compositeAndReadback):
1820         (WebCore::CCThreadProxy::requestReadbackOnImplThread):
1821         (WebCore::CCThreadProxy::setNeedsAnimateOnImplThread):
1822         (WebCore::CCThreadProxy::setNeedsCommitOnImplThread):
1823         (WebCore::CCThreadProxy::setNeedsRedrawOnImplThread):
1824         (WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
1825         (WebCore::CCThreadProxy::scheduledActionBeginFrame):
1826         (WebCore::CCThreadProxy::beginFrameAndCommit):
1827         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
1828         (WebCore::CCThreadProxy::hasMoreResourceUpdates):
1829         (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
1830         (WebCore::CCThreadProxy::scheduledActionCommit):
1831         (WebCore::CCThreadProxy::drawLayersAndSwapOnImplThread):
1832         (WebCore::CCThreadProxy::didCommitAndDrawFrame):
1833         (WebCore::CCThreadProxy::initializeImplOnImplThread):
1834         (WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):
1835         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
1836         * platform/graphics/chromium/cc/CCThreadProxy.h:
1837
1838 2011-10-31  Nate Chapin  <japhet@chromium.org>
1839
1840         Rename the remaining uses of Cue in WebCore/loader/
1841         to TextTrack.
1842         https://bugs.webkit.org/show_bug.cgi?id=71231
1843
1844         Reviewed by Eric Carlson.
1845
1846         No new tests, strictly a renaming.
1847
1848         * loader/TextTrackLoader.cpp:
1849         * loader/cache/CachedResource.cpp:
1850         * loader/cache/CachedResource.h:
1851         * loader/cache/CachedResourceLoader.cpp:
1852         * loader/cache/CachedResourceLoader.h:
1853         * loader/cache/CachedResourceRequest.cpp:
1854         * loader/cache/CachedTextTrack.cpp:
1855         * platform/network/chromium/ResourceRequest.h:
1856
1857 2011-10-27  Adam Klein  <adamk@chromium.org>
1858
1859         [MutationObservers] Support characterDataOldValue for characterData mutations
1860         https://bugs.webkit.org/show_bug.cgi?id=70862
1861
1862         Reviewed by Ojan Vafai.
1863
1864         * dom/CharacterData.cpp:
1865         (WebCore::hasOldValue):
1866         (WebCore::isOldValueRequested):
1867         (WebCore::CharacterData::dispatchModifiedEvent):
1868         * dom/MutationRecord.cpp:
1869         (WebCore::MutationRecord::createCharacterData):
1870         * dom/MutationRecord.h:
1871
1872 2011-10-31  Sam Weinig  <sam@webkit.org>
1873
1874         Remove need for virtual JSObject::unwrappedObject
1875         https://bugs.webkit.org/show_bug.cgi?id=71034
1876
1877         Reviewed by Geoffrey Garen.
1878
1879         Move the member containing the global object from the JSDOMWindowShell
1880         down to the JSGlobalThis class, and update JSDOMWindowShell to go through
1881         an inline helper (which just casts) to get the window.
1882
1883         * bindings/js/JSDOMWindowShell.cpp:
1884         (WebCore::JSDOMWindowShell::setWindow):
1885         (WebCore::JSDOMWindowShell::className):
1886         (WebCore::JSDOMWindowShell::getOwnPropertySlot):
1887         (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
1888         (WebCore::JSDOMWindowShell::put):
1889         (WebCore::JSDOMWindowShell::putWithAttributes):
1890         (WebCore::JSDOMWindowShell::defineOwnProperty):
1891         (WebCore::JSDOMWindowShell::deleteProperty):
1892         (WebCore::JSDOMWindowShell::getPropertyNames):
1893         (WebCore::JSDOMWindowShell::getOwnPropertyNames):
1894         (WebCore::JSDOMWindowShell::defineGetter):
1895         (WebCore::JSDOMWindowShell::defineSetter):
1896         (WebCore::JSDOMWindowShell::lookupGetter):
1897         (WebCore::JSDOMWindowShell::lookupSetter):
1898         (WebCore::JSDOMWindowShell::impl):
1899         * bindings/js/JSDOMWindowShell.h:
1900         (WebCore::JSDOMWindowShell::window):
1901         (WebCore::JSDOMWindowShell::setWindow):
1902         (WebCore::JSDOMWindowShell::createStructure):
1903
1904 2011-10-29  Ryosuke Niwa  <rniwa@webkit.org>
1905
1906         WebKit nests pre on copy and paste when the pre is the root editable element
1907         https://bugs.webkit.org/show_bug.cgi?id=70800
1908
1909         Reviewed by Darin Adler.
1910
1911         Fixed the bug by removing nested block elements in removeRedundantStylesAndKeepStyleSpanInline.
1912
1913         Tests: editing/pasteboard/contenteditable-pre-2.html
1914                editing/pasteboard/contenteditable-pre.html
1915
1916         * editing/ApplyStyleCommand.cpp:
1917         * editing/ReplaceSelectionCommand.cpp:
1918         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): Remove block
1919         elements if it's identical to its parent and there are no contents between the two. Also remove
1920         contenteditable attribute from an element if the parent is already richly editable.
1921         (WebCore::ReplaceSelectionCommand::doApply): Remove redundant styles after removing the placeholder
1922         br so that the above check doesn't get affected by the placeholder.
1923         * editing/htmlediting.cpp:
1924         (WebCore::areIdenticalElements): Moved from ApplyStyleCommand.
1925         (WebCore::isNonTableCellHTMLBlockElement): Moved from markup.cpp.
1926         * editing/htmlediting.h:
1927         * editing/markup.cpp:
1928
1929 2011-10-31  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
1930
1931         text/plain form encoding ignored and incorrectly specified in request header.
1932         https://bugs.webkit.org/show_bug.cgi?id=20795
1933
1934         Reviewed by Darin Adler.
1935
1936         This patch fixes the behaviour of forms where enctype is set to
1937         text/plain, encoding is also text/plain.
1938
1939         Tests: fast/forms/form-get-textplain.html
1940                http/tests/misc/form-post-textplain.html
1941
1942         * loader/FormSubmission.cpp:
1943         (WebCore::FormSubmission::create):
1944         * platform/network/FormData.cpp:
1945         (WebCore::FormData::create):
1946         (WebCore::FormData::appendKeyValuePairItems):
1947         * platform/network/FormData.h:
1948         (WebCore::FormData::parseEncodingType):
1949         * platform/network/FormDataBuilder.cpp:
1950         (WebCore::FormDataBuilder::addKeyValuePairAsFormData): Modified encoding scheme for text/plain.
1951         * platform/network/FormDataBuilder.h:
1952
1953 2011-10-31  John Gregg  <johnnyg@google.com>
1954
1955         RenderImage.cpp calls SVGImage even if it's not defined
1956         https://bugs.webkit.org/show_bug.cgi?id=71247
1957
1958         This fixes a compile error when ENABLE_SVG=0.
1959
1960         * rendering/RenderImage.cpp:
1961         (WebCore::RenderImage::embeddedContentBox):
1962
1963 2011-10-31  Pavel Podivilov  <podivilov@chromium.org>
1964
1965         Update XMLHttpRequest.send idl declaration to match implementation.
1966         https://bugs.webkit.org/show_bug.cgi?id=71121
1967
1968         Reviewed by Adam Barth.
1969
1970         * xml/XMLHttpRequest.idl:
1971
1972 2011-10-31  Anders Carlsson  <andersca@apple.com>
1973
1974         More work on making plug-ins work better with transforms
1975         https://bugs.webkit.org/show_bug.cgi?id=71241
1976
1977         Reviewed by Darin Adler.
1978
1979         Export symbols used by WebKit2.
1980
1981         * WebCore.exp.in:
1982
1983 2011-10-31  Mark Hahnenberg  <mhahnenberg@apple.com>
1984
1985         De-virtualize JSObject::defineGetter
1986         https://bugs.webkit.org/show_bug.cgi?id=71134
1987
1988         Reviewed by Darin Adler.
1989
1990         No new tests.
1991
1992         Added defineGetter to the MethodTable.  Replaced all virtual versions of defineGetter
1993         with static versions.  Replaced all call sites with lookups in the MethodTable.
1994
1995         * bindings/js/JSDOMWindowCustom.cpp:
1996         (WebCore::JSDOMWindow::defineGetter):
1997         * bindings/js/JSDOMWindowShell.cpp:
1998         (WebCore::JSDOMWindowShell::defineGetter):
1999         * bindings/js/JSDOMWindowShell.h:
2000         * bindings/js/JSLocationCustom.cpp:
2001         (WebCore::JSLocation::defineGetter):
2002         (WebCore::JSLocationPrototype::defineGetter):
2003         * bindings/scripts/CodeGeneratorJS.pm:
2004         (GenerateHeader):
2005
2006 2011-10-31  Arko Saha  <arko@motorola.com>
2007
2008         Microdata: Support for itemid attribute.
2009         https://bugs.webkit.org/show_bug.cgi?id=71007
2010
2011         Reviewed by Ryosuke Niwa.
2012
2013         itemid attribute: To give a global identifier for the Microdata items.
2014         The itemid attribute, if specified, must have a value that is a valid URL potentially
2015         surrounded by spaces.
2016         Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html#attr-itemid
2017
2018         Tests: fast/dom/MicroData/itemid-attribute-test.html
2019                fast/dom/MicroData/itemid-must-see-resolved-url.html
2020
2021         * html/HTMLElement.idl:
2022
2023 2011-10-31  Yury Semikhatsky  <yurys@chromium.org>
2024
2025         window.onerror doesn't work with inline (attribute) scripts
2026         https://bugs.webkit.org/show_bug.cgi?id=70991
2027
2028         Uncaught syntax errors in inline event handlers are now reported to
2029         window.onerror handler.
2030
2031         Reviewed by Geoffrey Garen.
2032
2033         Tests: fast/events/window-onerror-exception-in-attr.html
2034                fast/events/window-onerror-syntax-error-in-attr.html
2035
2036         * bindings/js/JSLazyEventListener.cpp:
2037         (WebCore::JSLazyEventListener::initializeJSFunction): report exception as usual
2038         if it happens during event handler compilation.
2039
2040 2011-10-31  Emil A Eklund  <eae@chromium.org>
2041
2042         Overridden LayoutRect method still uses IntRects
2043         https://bugs.webkit.org/show_bug.cgi?id=71166
2044
2045         Reviewed by Eric Seidel.
2046
2047         Change all virtual controlClipRect, windowResizerRect, windowClipRect,
2048         visibleContentRect, scrollCornerRect, outlineBoundsForRepaint and
2049         localCaretRect functions to have the same signature.
2050
2051         * page/FrameView.cpp:
2052         (WebCore::FrameView::windowClipRect):
2053         (WebCore::FrameView::windowClipRectForLayer):
2054         (WebCore::FrameView::windowResizerRect):
2055         * page/FrameView.h:
2056         * platform/ScrollView.cpp:
2057         (WebCore::ScrollView::wheelEvent):
2058         * platform/ScrollView.h:
2059         * platform/ScrollableArea.h:
2060         * rendering/RenderButton.h:
2061         * rendering/RenderLayer.cpp:
2062         (WebCore::RenderLayer::visibleContentRect):
2063         * rendering/RenderLayer.h:
2064         * rendering/RenderObject.cpp:
2065         (WebCore::RenderObject::localCaretRect):
2066         * rendering/RenderObject.h:
2067         (WebCore::RenderObject::outlineBoundsForRepaint):
2068         * rendering/RenderText.cpp:
2069         (WebCore::RenderText::localCaretRect):
2070         (WebCore::RenderText::linesBoundingBox):
2071         * rendering/RenderText.h:
2072         * rendering/svg/RenderSVGInlineText.cpp:
2073         (WebCore::RenderSVGInlineText::localCaretRect):
2074         * rendering/svg/RenderSVGInlineText.h:
2075
2076 2011-10-31  Dmitry Lomov  <dslomov@google.com>
2077
2078         https://bugs.webkit.org/show_bug.cgi?id=70658
2079         [JSC] Implement MessagePort transfer in JSC bindings implementation of webkitPostMessage.
2080         Transfer of MessagePorts implemented.
2081
2082         Reviewed by David Levin.
2083
2084         * bindings/js/SerializedScriptValue.cpp:
2085         (WebCore::CloneSerializer::serialize):
2086         (WebCore::CloneSerializer::CloneSerializer):
2087         (WebCore::CloneSerializer::dumpIfTerminal):
2088         (WebCore::CloneDeserializer::deserialize):
2089         (WebCore::CloneDeserializer::CloneDeserializer):
2090         (WebCore::CloneDeserializer::readTerminal):
2091         (WebCore::SerializedScriptValue::create):
2092         (WebCore::SerializedScriptValue::deserialize):
2093
2094 2011-10-31  Andreas Kling  <kling@webkit.org>
2095
2096         CSSRule: Devirtualize insertedIntoParent()
2097         https://bugs.webkit.org/show_bug.cgi?id=71223
2098
2099         Reviewed by Antti Koivisto.
2100
2101         Moved insertedIntoParent() down into CSSImportRule and renamed it to
2102         requestStyleSheet(). CSSImportRule is the only user of this function.
2103
2104         * css/CSSImportRule.cpp:
2105         (WebCore::CSSImportRule::requestStyleSheet):
2106         * css/CSSImportRule.h:
2107         * css/CSSRule.h:
2108         * css/CSSStyleSheet.cpp:
2109         (WebCore::CSSStyleSheet::append):
2110         (WebCore::CSSStyleSheet::insertRule):
2111
2112 2011-10-31  Anna Cavender  <annacc@chromium.org>
2113
2114         Implement load notification and events for <track>.
2115         https://bugs.webkit.org/show_bug.cgi?id=71054
2116
2117         Reviewed by Eric Carlson.
2118
2119         Tests: media/track/track-load-error-readyState.html
2120                media/track/track-load-from-element-readyState.html
2121                media/track/track-load-from-src-readyState.html
2122
2123         * html/HTMLMediaElement.cpp:
2124         (WebCore::HTMLMediaElement::trackWasAdded):
2125         (WebCore::HTMLMediaElement::trackWillBeRemoved):
2126         (WebCore::HTMLMediaElement::trackSourceChanged):
2127         * html/HTMLMediaElement.h:
2128         * html/HTMLTrackElement.cpp:
2129         (WebCore::HTMLTrackElement::insertedIntoTree):
2130         (WebCore::HTMLTrackElement::willRemove):
2131         (WebCore::HTMLTrackElement::parseMappedAttribute):
2132         (WebCore::HTMLTrackElement::attributeChanged):
2133         * html/HTMLTrackElement.h:
2134         * html/LoadableTextTrack.cpp:
2135         (WebCore::LoadableTextTrack::cueLoadingCompleted):
2136
2137 2011-10-31  Andreas Kling  <kling@webkit.org>
2138
2139         CSSRule: Devirtualize type() and isFooRule()
2140         https://bugs.webkit.org/show_bug.cgi?id=71221
2141
2142         Reviewed by Antti Koivisto.
2143
2144         Store the rule type in a CSSRule member (packed with the parent-is-rule flag)
2145         and let the isFooRule() functions return type() == FOO_TYPE.
2146
2147         CSSPageRule will no longer return true for isStyleRule(), tweaked call sites
2148         accordingly.
2149
2150         * css/CSSCharsetRule.cpp:
2151         (WebCore::CSSCharsetRule::CSSCharsetRule):
2152         * css/CSSCharsetRule.h:
2153         * css/CSSFontFaceRule.cpp:
2154         (WebCore::CSSFontFaceRule::CSSFontFaceRule):
2155         * css/CSSFontFaceRule.h:
2156         * css/CSSImportRule.cpp:
2157         (WebCore::CSSImportRule::CSSImportRule):
2158         * css/CSSImportRule.h:
2159         * css/CSSMediaRule.cpp:
2160         (WebCore::CSSMediaRule::CSSMediaRule):
2161         * css/CSSMediaRule.h:
2162         * css/CSSPageRule.cpp:
2163         (WebCore::CSSPageRule::CSSPageRule):
2164         * css/CSSPageRule.h:
2165         * css/CSSRegionStyleRule.cpp:
2166         (WebCore::CSSRegionStyleRule::CSSRegionStyleRule):
2167         * css/CSSRegionStyleRule.h:
2168         * css/CSSRule.h:
2169         (WebCore::CSSRule::type):
2170         (WebCore::CSSRule::isCharsetRule):
2171         (WebCore::CSSRule::isFontFaceRule):
2172         (WebCore::CSSRule::isKeyframeRule):
2173         (WebCore::CSSRule::isKeyframesRule):
2174         (WebCore::CSSRule::isMediaRule):
2175         (WebCore::CSSRule::isPageRule):
2176         (WebCore::CSSRule::isStyleRule):
2177         (WebCore::CSSRule::isRegionStyleRule):
2178         (WebCore::CSSRule::isImportRule):
2179         (WebCore::CSSRule::CSSRule):
2180         * css/CSSStyleRule.cpp:
2181         (WebCore::CSSStyleRule::CSSStyleRule):
2182         * css/CSSStyleRule.h:
2183         * css/CSSStyleSelector.cpp:
2184         (WebCore::RuleSet::addPageRule):
2185         (WebCore::RuleSet::addRulesFromSheet):
2186         (WebCore::RuleSet::addStyleRule):
2187         * css/CSSUnknownRule.h:
2188         (WebCore::CSSUnknownRule::CSSUnknownRule):
2189         * css/WebKitCSSKeyframeRule.cpp:
2190         (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
2191         * css/WebKitCSSKeyframeRule.h:
2192         * css/WebKitCSSKeyframesRule.cpp:
2193         (WebCore::WebKitCSSKeyframesRule::WebKitCSSKeyframesRule):
2194         * css/WebKitCSSKeyframesRule.h:
2195         * inspector/InspectorCSSAgent.cpp:
2196         (WebCore::InspectorCSSAgent::asCSSStyleRule):
2197
2198 2011-10-31  Pavel Feldman  <pfeldman@google.com>
2199
2200         Not reviewed: reorder inspector js files to fix remote mode.
2201
2202         * inspector/front-end/inspector.html:
2203
2204 2011-10-28  Alexander Pavlov  <apavlov@chromium.org>
2205
2206         Web Inspector: [refactoring] TextPrompt: ensure encapsulation, extract history management
2207         https://bugs.webkit.org/show_bug.cgi?id=70936
2208
2209         Reviewed by Pavel Feldman.
2210
2211         * inspector/front-end/ConsoleView.js:
2212         (WebInspector.ConsoleView):
2213         * inspector/front-end/DatabaseQueryView.js:
2214         (WebInspector.DatabaseQueryView):
2215         (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
2216         * inspector/front-end/StylesSidebarPane.js:
2217         (WebInspector.StylesSidebarPane.prototype._attributesModified):
2218         (WebInspector.StylePropertyTreeElement.prototype.selectElement):
2219         (WebInspector.StylePropertyTreeElement.prototype.selectElement.context):
2220         (WebInspector.StylePropertyTreeElement.prototype.selectElement.event):
2221         (WebInspector.StylePropertyTreeElement.prototype):
2222         (WebInspector.StylePropertyTreeElement.prototype.context.event):
2223         ():
2224         * inspector/front-end/TextPrompt.js:
2225         (WebInspector.TextPrompt):
2226         (WebInspector.TextPrompt.prototype.get proxyElement):
2227         (WebInspector.TextPrompt.prototype.attach):
2228         (WebInspector.TextPrompt.prototype.attachAndStartEditing):
2229         (WebInspector.TextPrompt.prototype._attachInternal):
2230         (WebInspector.TextPrompt.prototype.detach):
2231         (WebInspector.TextPrompt.prototype.get text):
2232         (WebInspector.TextPrompt.prototype.set text):
2233         (WebInspector.TextPrompt.prototype._removeFromElement):
2234         (WebInspector.TextPrompt.prototype._startEditing):
2235         (WebInspector.TextPrompt.prototype._stopEditing):
2236         (WebInspector.TextPrompt.prototype._selectStart.moveBackIfOutside):
2237         (WebInspector.TextPrompt.prototype._selectStart):
2238         (WebInspector.TextPrompt.prototype.defaultKeyHandler):
2239         (WebInspector.TextPrompt.prototype._onKeyDown):
2240         (WebInspector.TextPrompt.prototype.clearAutoComplete):
2241         (WebInspector.TextPrompt.prototype.complete):
2242         (WebInspector.TextPrompt.prototype._completionsReady):
2243         (WebInspector.TextPrompt.prototype.isCaretInsidePrompt):
2244         (WebInspector.TextPrompt.prototype.isCaretAtEndOfPrompt):
2245         (WebInspector.TextPrompt.prototype.isCaretOnFirstLine):
2246         (WebInspector.TextPrompt.prototype.isCaretOnLastLine):
2247         (WebInspector.TextPrompt.prototype.moveCaretToEndOfPrompt):
2248         (WebInspector.TextPrompt.prototype.upKeyPressed):
2249         (WebInspector.TextPrompt.prototype.downKeyPressed):
2250         (WebInspector.TextPrompt.prototype.tabKeyPressed):
2251         (WebInspector.TextPromptConfig):
2252         (WebInspector.TextPromptWithHistory):
2253         (WebInspector.TextPromptWithHistory.prototype.get historyData):
2254         (WebInspector.TextPromptWithHistory.prototype.setHistoryData):
2255         (WebInspector.TextPromptWithHistory.prototype.pushHistoryItem):
2256         (WebInspector.TextPromptWithHistory.prototype._pushCurrentText):
2257         (WebInspector.TextPromptWithHistory.prototype._previous):
2258         (WebInspector.TextPromptWithHistory.prototype._next):
2259         (WebInspector.TextPromptWithHistory.prototype._currentHistoryItem):
2260         (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
2261
2262 2011-10-31  Pavel Feldman  <pfeldman@google.com>
2263
2264         Web Inspector: move localization support into UIUtil.js, reduce externs.
2265         https://bugs.webkit.org/show_bug.cgi?id=71220
2266
2267         Reviewed by Yury Semikhatsky.
2268
2269         * inspector/compile-front-end.sh:
2270         * inspector/front-end/AdvancedSearchController.js:
2271         (WebInspector.SearchView.prototype.focus):
2272         * inspector/front-end/ConsoleView.js:
2273         (WebInspector.ConsoleView.prototype.afterShow):
2274         * inspector/front-end/Drawer.js:
2275         * inspector/front-end/GoToLineDialog.js:
2276         (WebInspector.GoToLineDialog.prototype._hide):
2277         * inspector/front-end/HelpScreen.js:
2278         (WebInspector.HelpScreen.prototype.show):
2279         (WebInspector.HelpScreen.prototype.hide):
2280         (WebInspector.HelpScreen.prototype._onBlur):
2281         * inspector/front-end/InspectorFrontendHostStub.js:
2282         * inspector/front-end/KeyboardShortcut.js:
2283         (WebInspector.KeyboardShortcut._keyName):
2284         * inspector/front-end/Panel.js:
2285         (WebInspector.Panel.prototype.wasShown):
2286         * inspector/front-end/SearchController.js:
2287         (WebInspector.SearchController.prototype._onSearchFieldManualFocus):
2288         (WebInspector.SearchController.prototype._onKeyDown):
2289         * inspector/front-end/Settings.js:
2290         * inspector/front-end/SourceFrame.js:
2291         (WebInspector.SourceFrame):
2292         * inspector/front-end/Toolbar.js:
2293         (WebInspector.Toolbar.prototype._toolbarDragStart):
2294         * inspector/front-end/UIUtils.js:
2295         (WebInspector.startEditing.cleanUpAfterEditing):
2296         (WebInspector.startEditing.var):
2297         (WebInspector.startEditing):
2298         (WebInspector.UIString):
2299         (WebInspector.useLowerCaseMenuTitles):
2300         (WebInspector.platform):
2301         (WebInspector.isMac):
2302         (WebInspector.platformFlavor):
2303         (WebInspector.port):
2304         (WebInspector.installPortStyles):
2305         (WebInspector._windowFocused):
2306         (WebInspector._windowBlurred):
2307         (WebInspector.previousFocusElement):
2308         (WebInspector.currentFocusElement):
2309         (WebInspector._focusChanged):
2310         (WebInspector.setCurrentFocusElement):
2311         * inspector/front-end/externs.js:
2312         (Event.prototype.initWebKitWheelEvent):
2313         (window.getComputedStyle):
2314         (InspectorBackend.runAfterPendingDispatches):
2315         * inspector/front-end/inspector.js:
2316         (WebInspector.documentKeyDown):
2317         (WebInspector.addMainEventListeners):
2318
2319 2011-10-31  Andreas Kling  <kling@webkit.org>
2320
2321         Kill StyleBase.
2322         https://bugs.webkit.org/show_bug.cgi?id=71218
2323
2324         Reviewed by Antti Koivisto.
2325
2326         Remove the StyleBase class and make all subclasses stand alone. CSSRule and StyleSheet
2327         now inherit from RefCounted<T> instead, and XSLImportRule doesn't even need that,
2328         so StyleBase is replaced by nothing.
2329
2330         * css/StyleBase.cpp:
2331         * css/StyleBase.h:
2332
2333             Removed.
2334
2335         * css/CSSRule.cpp:
2336         * css/CSSRule.h:
2337         (WebCore::CSSRule::~CSSRule):
2338         (WebCore::CSSRule::useStrictParsing):
2339         (WebCore::CSSRule::setParentStyleSheet):
2340         (WebCore::CSSRule::setParentRule):
2341         (WebCore::CSSRule::parentStyleSheet):
2342         (WebCore::CSSRule::parentRule):
2343         (WebCore::CSSRule::baseURL):
2344         (WebCore::CSSRule::CSSRule):
2345
2346             CSSRule now inherits directly from RefCounted, and has either a CSSRule or a
2347             CSSStyleSheet as its parent. Made these getters/setters inline since they are
2348             trivial now.
2349
2350         * CMakeLists.txt:
2351         * GNUmakefile.list.am:
2352         * WebCore.gypi:
2353         * WebCore.pro:
2354         * WebCore.vcproj/WebCore.vcproj:
2355         * WebCore.xcodeproj/project.pbxproj:
2356
2357             Purge StyleBase.* from the build systems.
2358
2359         * bindings/js/JSDOMBinding.h:
2360         (WebCore::root):
2361
2362             New root() functions for CSSRule and StyleSheet.
2363
2364         * bindings/js/JSNodeCustom.h:
2365
2366             Remove StyleBase.h include.
2367
2368         * css/CSSStyleSheet.h:
2369         (WebCore::CSSStyleSheet::parentStyleSheet):
2370
2371             Added CSS-specific parentStyleSheet() so we don't have to cast it to a
2372             CSSStyleSheet* at the call sites.
2373
2374         * css/StyleSheet.cpp:
2375         (WebCore::StyleSheet::StyleSheet):
2376         (WebCore::StyleSheet::parentStyleSheet):
2377         (WebCore::StyleSheet::baseURL):
2378         * css/StyleSheet.h:
2379         (WebCore::StyleSheet::parentRule):
2380         (WebCore::StyleSheet::setParentRule):
2381         (WebCore::StyleSheet::isCSSStyleSheet):
2382         (WebCore::StyleSheet::isXSLStyleSheet):
2383
2384             StyleSheet now inherits directly from RefCounted and always has a parent CSSRule
2385             though it can be null. parentStyleSheet() returns that rule's parent style sheet.
2386             Moved the relevant guts from StyleBase down here.
2387
2388         * loader/cache/CachedStyleSheetClient.h:
2389
2390             Remove unnecessary WTF_MAKE_FAST_ALLOCATED, we get it from CachedResourceClient.
2391
2392         * xml/XSLImportRule.cpp:
2393         (WebCore::XSLImportRule::XSLImportRule):
2394         (WebCore::XSLImportRule::~XSLImportRule):
2395         (WebCore::XSLImportRule::parentStyleSheet):
2396         (WebCore::XSLImportRule::setXSLStyleSheet):
2397         (WebCore::XSLImportRule::loadSheet):
2398         * xml/XSLImportRule.h:
2399         (WebCore::XSLImportRule::create):
2400         (WebCore::XSLImportRule::setParentStyleSheet):
2401
2402             Remove inheritance from StyleBase, and have create() return a PassOwnPtr instead.
2403             This is fine, since XSLStyleSheet is the only object that ever manages these rules.
2404
2405         * svg/SVGFontFaceElement.cpp:
2406         (WebCore::SVGFontFaceElement::insertedIntoDocument):
2407         * css/CSSStyleSheet.cpp:
2408         (WebCore::CSSStyleSheet::~CSSStyleSheet):
2409         (WebCore::CSSStyleSheet::ownerRule):
2410         (WebCore::CSSStyleSheet::deleteRule):
2411         (WebCore::CSSStyleSheet::checkLoaded):
2412         (WebCore::CSSStyleSheet::document):
2413         (WebCore::CSSStyleSheet::styleSheetChanged):
2414         * css/CSSImportRule.cpp:
2415         (WebCore::CSSImportRule::~CSSImportRule):
2416         (WebCore::CSSImportRule::setCSSStyleSheet):
2417         (WebCore::CSSImportRule::insertedIntoParent):
2418         * css/CSSMediaRule.cpp:
2419         (WebCore::CSSMediaRule::CSSMediaRule):
2420         (WebCore::CSSMediaRule::~CSSMediaRule):
2421         (WebCore::CSSMediaRule::append):
2422         (WebCore::CSSMediaRule::insertRule):
2423         (WebCore::CSSMediaRule::deleteRule):
2424         * css/CSSRegionStyleRule.cpp:
2425         (WebCore::CSSRegionStyleRule::CSSRegionStyleRule):
2426         (WebCore::CSSRegionStyleRule::~CSSRegionStyleRule):
2427         * css/CSSRuleList.cpp:
2428         (WebCore::CSSRuleList::deleteRule):
2429         * css/CSSStyleDeclaration.h:
2430         * css/WebKitCSSKeyframesRule.cpp:
2431         (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
2432         (WebCore::WebKitCSSKeyframesRule::setName):
2433         (WebCore::WebKitCSSKeyframesRule::append):
2434         * dom/ProcessingInstruction.cpp:
2435         (WebCore::ProcessingInstruction::parseStyleSheet):
2436         * inspector/InspectorCSSAgent.cpp:
2437         (WebCore::InspectorCSSAgent::parentStyleSheet):
2438         * xml/XSLStyleSheet.h:
2439         * xml/XSLStyleSheetLibxslt.cpp:
2440         (WebCore::XSLStyleSheet::XSLStyleSheet):
2441         (WebCore::XSLStyleSheet::~XSLStyleSheet):
2442         (WebCore::XSLStyleSheet::checkLoaded):
2443         (WebCore::XSLStyleSheet::loadChildSheet):
2444         * xml/XSLStyleSheetQt.cpp:
2445         (WebCore::XSLStyleSheet::~XSLStyleSheet):
2446
2447             Use the new, more explicit, parenting functions of StyleSheet.
2448
2449 2011-10-31  Nikolas Zimmermann  <nzimmermann@rim.com>
2450
2451         CSS 2.1 failure: background-intrinsic-*
2452         https://bugs.webkit.org/show_bug.cgi?id=47156
2453
2454         SVGs do not work as tiled background images
2455         https://bugs.webkit.org/show_bug.cgi?id=16281
2456
2457         Apply preserveAspectRatio and synthesize viewboxes in <img>
2458         https://bugs.webkit.org/show_bug.cgi?id=34521
2459
2460         SVG background doesn't resize properly when dimensions are changed
2461         https://bugs.webkit.org/show_bug.cgi?id=42944
2462
2463         Images with percent height inside a floated div should use intrinsic height.
2464         https://bugs.webkit.org/show_bug.cgi?id=45439
2465
2466         SVG image in HTML changes size as the window is resized
2467         https://bugs.webkit.org/show_bug.cgi?id=52045
2468
2469         Reviewed by Antti Koivisto.
2470
2471         Implement intrinsic sizing support for SVGImage (svg embedded through <html:img>/<svg:image>/background-image/border-image/...).
2472         This is demanded by CSS 2.1, and covered by new layout tests in LayoutTests/css2.1 and several new custom testcases.
2473
2474         Tests: css2.1/20110323/background-intrinsic-001.htm
2475                css2.1/20110323/background-intrinsic-002.htm
2476                css2.1/20110323/background-intrinsic-003.htm
2477                css2.1/20110323/background-intrinsic-004.htm
2478                css2.1/20110323/background-intrinsic-005.htm
2479                css2.1/20110323/background-intrinsic-006.htm
2480                css2.1/20110323/background-intrinsic-007.htm
2481                css2.1/20110323/background-intrinsic-008.htm
2482                css2.1/20110323/background-intrinsic-009.htm
2483                svg/as-background-image/background-image-preserveaspectRatio-support.html (adapted from testcase from bug 34521)
2484                svg/as-background-image/background-image-tiled.html (reduction from bug 16281)
2485                svg/as-background-image/same-image-two-instances-background-image.html
2486                svg/as-image/img-preserveAspectRatio-support-1.html (reduction from bug 34521)
2487                svg/as-image/same-image-two-instances.html
2488                svg/as-image/svg-as-relative-image-with-explicit-size.html
2489                svg/as-image/svg-image-change-content-size.xhtml (reduction from bug 42944)
2490                svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html
2491                svg/zoom/page/zoom-svg-as-image.html
2492                svg/zoom/page/zoom-svg-as-relative-image.html
2493
2494         * css/CSSImageGeneratorValue.cpp:
2495         (WebCore::CSSImageGeneratorValue::addClient): Pass default zoom factor.
2496         (WebCore::CSSImageGeneratorValue::getImage): Ditto.
2497         * loader/cache/CachedImage.cpp: Enable SVGImage <-> IntSize cache.
2498         (WebCore::CachedImage::lookupImageForSize): Use recently introduced ImageBySizeCache, to lookup an image for a certain size.
2499         (WebCore::CachedImage::lookupOrCreateImageForRenderer): Use recently introduced ImageBySizeCache, to dynamically create copies of m_image if needed.
2500         (WebCore::CachedImage::imageForRenderer): Lookup image by renderer, which first looks up a size for a renderer, then uses lookupImageForSize().
2501         (WebCore::CachedImage::setContainerSizeForRenderer): For SVGImages, pass on container size handling to ImageBySizeCache.
2502         (WebCore::CachedImage::imageSizeForRenderer): Figure out the image size, respecting per-renderer overrides, for a certain renderer.
2503         (WebCore::CachedImage::computeIntrinsicDimensions): Remove unnecessary RenderObject parameter.
2504         * loader/cache/CachedImage.h:
2505         * page/ChromeClient.h:
2506         (WebCore::ChromeClient::isSVGImageChromeClient): Used to identify whether a RenderSVGRoot is embedded through a SVGImage. Returns false, by default.
2507         * platform/graphics/Image.h:
2508         (WebCore::Image::setImageObserver): Add helper.
2509         * rendering/ImageBySizeCache.cpp: Cleanup code.
2510         (WebCore::ImageBySizeCache::addClient): Assert the passed renderer is valid.
2511         (WebCore::ImageBySizeCache::removeClient): Ditto. Allow removeClient() to be called w/o prio addClient() usage.
2512         (WebCore::ImageBySizeCache::getImage): Add zoom parameter.
2513         (WebCore::ImageBySizeCache::getRequestedSizeAndZoom): Add way to get requested size from cache, instead of actual cached sizes.
2514         (WebCore::ImageBySizeCache::imageForSize): Respect empty sizes, just return 0, instead of asserting.
2515         (WebCore::ImageBySizeCache::imageForRenderer): Added a helper that retrieves an image for a renderer, by lookup up its size and using imageForSize().
2516         * rendering/ImageBySizeCache.h: Cleaup code, introduce struct that replaces the std::pair<IntSize, int>.
2517         (WebCore::SizeZoomAndCount::SizeZoomAndCount):
2518         * rendering/RenderBoxModelObject.cpp: Implement CSS 2.1 intrinsic size negotiation for images.
2519         (WebCore::resolveWidthForRatio): New inline helper function used by calculateImageIntrinsicDimensions.
2520         (WebCore::resolveHeightForRatio): Ditto.
2521         (WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio): Ditto.
2522         (WebCore::resolveAgainstIntrinsicRatio):  Ditto.
2523         (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): New helper function, containing the main algorithm, which is a pure transcription of the spec.
2524         (WebCore::RenderBoxModelObject::calculateFillTileSize): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
2525         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Propagate calculateFillTileSize() result to the image resource, via setContainerSizeForRenderer().
2526         (WebCore::RenderBoxModelObject::paintNinePieceImage): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
2527         * rendering/RenderBoxModelObject.h: Clarify some variable names, added calculateImageIntrinsicDimensions().
2528         * rendering/RenderImage.cpp:
2529         (WebCore::RenderImage::RenderImage): Use IntSize(), instead of IntSize(0, 0).
2530         (WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Refactored from imageDimensionsChanged().
2531         (WebCore::RenderImage::imageDimensionsChanged): Use updateIntrinsicSizeIfNeeded().
2532         (WebCore::RenderImage::computeReplacedLogicalWidth): Use RenderReplaced::computeReplacedLogicalWidth() exclusively. For this to work, the intrinsic size must be correct.
2533         (WebCore::RenderImage::computeIntrinsicRatioInformation): Default implementation for non-SVGImages.
2534         (WebCore::RenderImage::needsPreferredWidthsRecalculation): Return true, just like RenderPart, if embeddedContentBox is not null.
2535         (WebCore::RenderImage::embeddedContentBox): Returns the RenderSVGRoot* renderer of the embedded SVG, if possible.
2536         * rendering/RenderImage.h: Remove isLogicalWidth/HeightSpecified() / computeReplacedLogicalHeight() / calcAspectRatioLogicalWidth/Height().
2537         * rendering/RenderImageResource.cpp:
2538         (WebCore::RenderImageResource::setContainerSizeForRenderer): Pass around new "float containerZoomFactor" parameter.
2539         * rendering/RenderImageResourceStyleImage.cpp:
2540         (WebCore::RenderImageResourceStyleImage::image): embeddedContentBox() is now calling image() earlier than before. We now have to handle the case that the image is pending.
2541         (WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer): Pass zoom factor.
2542         * rendering/RenderImageResourceStyleImage.h:
2543         * rendering/RenderListMarker.cpp:
2544         (WebCore::RenderListMarker::computePreferredLogicalWidths): Pass effective zoom to setContainerSizeForRenderer().
2545         * rendering/RenderReplaced.cpp:
2546         (WebCore::RenderReplaced::computeIntrinsicLogicalWidth): Generalized this code, as RenderImage is using it as well now. Marginal changes needed.
2547         (WebCore::RenderReplaced::computeIntrinsicLogicalHeight): Ditto.
2548         (WebCore::RenderReplaced::computeReplacedLogicalWidth): Ditto.
2549         * rendering/style/StyleCachedImage.cpp:
2550         (WebCore::StyleCachedImage::computeIntrinsicDimensions): Stop passing m_renderer to CachedImage, it's no longer needed.
2551         (WebCore::StyleCachedImage::setContainerSizeForRenderer): Add "float containerZoomFactor" parameter.
2552         * rendering/style/StyleCachedImage.h: Add "float containerZoomFactor" parameter to setContainerSizeForRenderer.
2553         * rendering/style/StyleGeneratedImage.h:
2554         (WebCore::StyleGeneratedImage::setContainerSizeForRenderer): Ditto.
2555         * rendering/style/StyleImage.h: Ditto.
2556         * rendering/style/StylePendingImage.h:
2557         (WebCore::StylePendingImage::setContainerSizeForRenderer): Ditto.
2558         * rendering/svg/RenderSVGImage.cpp:
2559         (WebCore::RenderSVGImage::layout): Always supply a container size when embedding SVGs in <svg:image>.
2560         * rendering/svg/RenderSVGRoot.cpp: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
2561         (WebCore::RenderSVGRoot::isEmbeddedThroughImageElement): Add helper method to determine whether we're loaded through SVGImage.
2562         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): If we have a valid container size, it has precendence (only supplied via external SVGImages).
2563         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
2564         (WebCore::RenderSVGRoot::layout): Remove calcViewport() usage, no need to track/override the viewport size anymore, all done in coputeReplacedLogical* now.
2565         (WebCore::RenderSVGRoot::paint): Use borderBoxRect() which now always matches the previously computed m_viewportSize. 
2566         (WebCore::RenderSVGRoot::computeRectForRepaint): Ditto.
2567         * rendering/svg/RenderSVGRoot.h: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
2568         (WebCore::RenderSVGRoot::containerSize):
2569         (WebCore::RenderSVGRoot::setContainerSize):
2570         * svg/SVGLength.cpp:
2571         (WebCore::SVGLength::determineViewport): Resolve lengths against override container size in documents embedded through SVGImage.
2572         * svg/SVGSVGElement.cpp: Remove "override container size" handling from SVGSVGElement.
2573         (WebCore::SVGSVGElement::SVGSVGElement): Ditto.
2574         (WebCore::SVGSVGElement::currentViewBoxRect): Always synthesize a viewBox, if we're embedded through SVGImage, as demanded by SVG 1.1 2nd Edition.
2575         * svg/SVGSVGElement.h:
2576         * svg/graphics/SVGImage.cpp:
2577         (WebCore::SVGImageChromeClient::isSVGImageChromeClient): Return true, used to identify whether RenderSVGRoot is embedded through SVGImage.
2578         (WebCore::SVGImage::createWithDataAndSize): Add new helper function.
2579         (WebCore::SVGImage::setContainerZoom): Forwarded to Page::setPageZoomFactor.
2580         (WebCore::SVGImage::setContainerSize): Assert that container size is not empty. We should never receive an empty container size.
2581         (WebCore::SVGImage::usesContainerSize): Adapt to override container size changes, it now lives in RenderSVGRoot instead of SVGSVGElement.
2582         (WebCore::SVGImage::size): New algorithm to figure out the size of an embedded SVG, as demanded by the CSS/SVG specs.
2583         (WebCore::SVGImage::embeddedContentBox): Add helper which returns the RenderSVGRoot of the document.
2584         (WebCore::SVGImage::computeIntrinsicDimensions): Implement intrinsic ratio calculation. 
2585         (WebCore::SVGImage::dataChanged): Force calling FrameView::setCanHaveScrollbars(false), as SVG images now always synthesize a viewBox, and thus never receive scrollbars.
2586         * svg/graphics/SVGImage.h:
2587
2588 2011-10-31  Yury Semikhatsky  <yurys@chromium.org>
2589
2590         Unreviewed. Add ResourcePreviewView.js to the list of inspector front-end
2591         files on Qt.
2592
2593         * inspector/front-end/WebKit.qrc:
2594
2595 2011-10-31  Pavel Feldman  <pfeldman@google.com>
2596
2597         Web Inspector: do not map scripts generated with document.write to the document resources.
2598         https://bugs.webkit.org/show_bug.cgi?id=71114
2599
2600         Reviewed by Yury Semikhatsky.
2601
2602         Test: inspector/debugger/bind-script-to-resource.html
2603
2604         * inspector/front-end/DebuggerPresentationModel.js:
2605         (WebInspector.DebuggerPresentationModel):
2606         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2607         (WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
2608         (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
2609         (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
2610         (WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
2611         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2612         * inspector/front-end/RawSourceCode.js:
2613         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
2614         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
2615         (WebInspector.RawSourceCode.prototype._createSourceMapping):
2616         * inspector/front-end/Script.js:
2617
2618 2011-10-31  Antti Koivisto  <antti@apple.com>
2619
2620         https://bugs.webkit.org/show_bug.cgi?id=71012
2621         Use StringHasher to generate the matched declaration cache hash
2622
2623         Reviewed by Sam Weinig.
2624
2625         Make sure the MatchedStyleDeclarations are fully zero-initialized as we calculate a hash over a raw memory array of these.
2626
2627         * css/CSSStyleSelector.cpp:
2628         (WebCore::CSSStyleSelector::MatchedStyleDeclaration::MatchedStyleDeclaration):
2629         (WebCore::CSSStyleSelector::addMatchedDeclaration):
2630         * css/CSSStyleSelector.h:
2631
2632 2011-10-31  Carlos Garcia Campos  <cgarcia@igalia.com>
2633
2634         Unreviewed. Fix make distcheck build.
2635
2636         * GNUmakefile.am: Add InFilesCompiler.pm to SCRIPTS_BINDINGS and
2637         EXTRA_DIST. Also remove duplicated entries in EXTRA_DIST.
2638
2639 2011-10-31  Pavel Feldman  <pfeldman@chromium.org>
2640
2641         Web Inspector: factor out ResourceUtils, clean up externs.
2642         https://bugs.webkit.org/show_bug.cgi?id=71192
2643
2644         Reviewed by Yury Semikhatsky.
2645
2646         * WebCore.gypi:
2647         * WebCore.vcproj/WebCore.vcproj:
2648         * inspector/compile-front-end.sh:
2649         * inspector/front-end/ConsoleMessage.js:
2650         (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation):
2651         * inspector/front-end/DebuggerPresentationModel.js:
2652         * inspector/front-end/ProfilesPanel.js:
2653         * inspector/front-end/Resource.js:
2654         (WebInspector.Resource.displayName):
2655         * inspector/front-end/ResourceTreeModel.js:
2656         (WebInspector.ResourceTreeModel.prototype._createResource):
2657         * inspector/front-end/ResourceUtils.js: Added.
2658         (WebInspector.resourceForURL):
2659         (WebInspector.forAllResources):
2660         (WebInspector.displayNameForURL):
2661         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
2662         (WebInspector.registerLinkifierPlugin):
2663         (WebInspector.linkifyStringAsFragment):
2664         (WebInspector.linkifyURLAsNode):
2665         (WebInspector.linkifyURL):
2666         (WebInspector.formatLinkText):
2667         (WebInspector.linkifyResourceAsNode):
2668         (WebInspector.resourceURLForRelatedNode.callback):
2669         (WebInspector.resourceURLForRelatedNode):
2670         (WebInspector.populateHrefContextMenu):
2671         (WebInspector.completeURL):
2672         * inspector/front-end/StylesSidebarPane.js:
2673         (WebInspector.StylePropertyTreeElement.prototype.selectElement):
2674         * inspector/front-end/WebKit.qrc:
2675         * inspector/front-end/externs.js:
2676         * inspector/front-end/inspector.html:
2677         * inspector/front-end/inspector.js:
2678         (WebInspector.networkResourceById):
2679         * inspector/front-end/utilities.js:
2680         (setupPrototypeUtilities.Element.prototype.selectionLeftOffset):
2681
2682 2011-10-28  Alexander Pavlov  <apavlov@chromium.org>
2683
2684         Web Inspector: Using keyboard to increment/decrement units is inconsistent
2685         https://bugs.webkit.org/show_bug.cgi?id=71119
2686
2687         Reviewed by Pavel Feldman.
2688
2689         This change makes the behavior consistent with that described at http://trac.webkit.org/wiki/WebInspector
2690
2691         * inspector/front-end/StylesSidebarPane.js:
2692         (WebInspector.StylesSidebarPane.alteredFloatNumber):
2693         (WebInspector.StylesSidebarPane.prototype._attributesModified):
2694
2695 2011-10-29  Martin Robinson  <mrobinson@igalia.com>
2696
2697         [GTK] Switch to a backing store approach for painting WebKitWebView
2698         https://bugs.webkit.org/show_bug.cgi?id=70213
2699
2700         Reviewed by Gustavo Noronha Silva.
2701
2702         No new tests. The changes to WebCore should not change
2703         behavior. The changes in WebKit are covered by existing
2704         tests.
2705
2706         * platform/cairo/WidgetBackingStore.h:
2707         (WebCore::WidgetBackingStore::size): Added this getter for the size.
2708         * platform/cairo/WidgetBackingStoreCairo.cpp:
2709         (WebCore::WidgetBackingStore::WidgetBackingStore): Initialize size.
2710         * platform/graphics/cairo/CairoUtilities.cpp:
2711         (WebCore::copyRectFromCairoSurfaceToContext): Added this new helper.
2712         (WebCore::copyRectFromOneSurfaceToAnother): Use the new helper.
2713         * platform/graphics/cairo/CairoUtilities.h:
2714         * platform/gtk/GtkWidgetBackingStoreX11.cpp:
2715         (WebCore::WidgetBackingStore::WidgetBackingStore): Initialize the size.
2716
2717 2011-10-30  Sheriff Bot  <webkit.review.bot@gmail.com>
2718
2719         Unreviewed, rolling out r98803.
2720         http://trac.webkit.org/changeset/98803
2721         https://bugs.webkit.org/show_bug.cgi?id=71186
2722
2723         Causing test and assertion failures on some platforms
2724         (Requested by anttik on #webkit).
2725
2726         * css/CSSStyleSelector.cpp:
2727         (WebCore::CSSStyleSelector::applyMatchedDeclarations):
2728
2729 2011-10-29  Mark Rowe  <mrowe@apple.com>
2730
2731         Build fix.
2732
2733         * platform/graphics/mac/WebLayer.mm:
2734         (drawLayerContents):
2735
2736 2011-10-29  Mark Rowe  <mrowe@apple.com>
2737
2738         Build fix.
2739
2740         * editing/Editor.cpp:
2741         (WebCore::Editor::markMisspellingsAfterTypingToWord):
2742
2743 2011-10-29  Daniel Cheng  <dcheng@chromium.org>
2744
2745         Rename DataTransferItems to DataTransferItemList
2746         https://bugs.webkit.org/show_bug.cgi?id=71151
2747
2748         Per feedback that Items and Item are hard to distinguish between, the HTML5 spec renamed
2749         DataTransferItems to DataTransferItemList:
2750         http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-datatransferitemlist-interface
2751
2752         Reviewed by Tony Chang.
2753
2754         * CMakeLists.txt:
2755         * CodeGenerators.pri:
2756         * DerivedSources.cpp:
2757         * DerivedSources.make:
2758         * GNUmakefile.list.am:
2759         * WebCore.gypi:
2760         * WebCore.pro:
2761         * WebCore.vcproj/WebCore.vcproj:
2762         * WebCore.xcodeproj/project.pbxproj:
2763         * dom/Clipboard.h:
2764         * dom/Clipboard.idl:
2765         * dom/DataTransferItemList.cpp: Renamed from Source/WebCore/dom/DataTransferItems.cpp.
2766         (WebCore::DataTransferItemList::DataTransferItemList):
2767         (WebCore::DataTransferItemList::length):
2768         (WebCore::DataTransferItemList::item):
2769         (WebCore::DataTransferItemList::deleteItem):
2770         (WebCore::DataTransferItemList::clear):
2771         (WebCore::DataTransferItemList::add):
2772         * dom/DataTransferItemList.h: Renamed from Source/WebCore/dom/DataTransferItems.h.
2773         (WebCore::DataTransferItemList::~DataTransferItemList):
2774         * dom/DataTransferItemList.idl: Renamed from Source/WebCore/dom/DataTransferItems.idl.
2775         * platform/chromium/ClipboardChromium.cpp:
2776         (WebCore::ClipboardChromium::items):
2777         * platform/chromium/ClipboardChromium.h:
2778         * platform/chromium/DataTransferItemListChromium.cpp: Renamed from Source/WebCore/platform/chromium/DataTransferItemsChromium.cpp.
2779         (WebCore::DataTransferItemListChromium::create):
2780         (WebCore::DataTransferItemListChromium::DataTransferItemListChromium):
2781         (WebCore::DataTransferItemListChromium::addPasteboardItem):
2782         * platform/chromium/DataTransferItemListChromium.h: Renamed from Source/WebCore/platform/chromium/DataTransferItemsChromium.h.
2783         * platform/qt/ClipboardQt.cpp:
2784         (WebCore::ClipboardQt::items):
2785         * platform/qt/ClipboardQt.h:
2786         * platform/qt/DataTransferItemListQt.cpp: Renamed from Source/WebCore/platform/qt/DataTransferItemsQt.cpp.
2787         (WebCore::DataTransferItemListQt::create):
2788         (WebCore::DataTransferItemListQt::DataTransferItemListQt):
2789         (WebCore::DataTransferItemListQt::addPasteboardItem):
2790         * platform/qt/DataTransferItemListQt.h: Renamed from Source/WebCore/platform/qt/DataTransferItemsQt.h.
2791
2792 2011-10-03  Robert Hogan  <robert@webkit.org>
2793
2794         CSS 2.1 failure: block-non-replaced-width-008.htm
2795         https://bugs.webkit.org/show_bug.cgi?id=69278
2796
2797         Reviewed by Simon Fraser.
2798
2799         * rendering/RenderBox.cpp:
2800         (WebCore::RenderBox::computeLogicalWidthUsing):
2801           Include the margins in the calculation of logical width even when the containing block's
2802           width is zero. This is required by section '10.3.3 Block-level, non-replaced elements in
2803           normal flow' in the CSS 2.1 spec. Tested by block-non-replaced-width-008.htm in the CSS
2804           test suite.
2805
2806 2011-10-29  Anna Cavender  <annacc@chromium.org>
2807
2808         Make sure TextTracks are destructed if HTMLMediaElement goes away.
2809         https://bugs.webkit.org/show_bug.cgi?id=71148
2810
2811         Reviewed by Eric Carlson.
2812
2813         Test: media/track/track-text-track-destructor-crash.html
2814
2815         * html/HTMLMediaElement.cpp:
2816         (WebCore::HTMLMediaElement::~HTMLMediaElement):
2817             Destroy the client (this) on TextTracks.
2818         (WebCore::HTMLMediaElement::loadTextTracks):
2819             Move TextTrack creation to loadNextTextTrack.
2820         (WebCore::HTMLMediaElement::loadNextTextTrack):
2821             Keep track of new TextTrack in a list.
2822         (WebCore::HTMLMediaElement::addTrack):
2823             Keep track of new TextTrack in a list.
2824         * html/HTMLMediaElement.h:
2825             Add m_textTracks and loadNextTextTrack().
2826
2827 2011-10-29  Jochen Eisinger  <jochen@chromium.org>
2828
2829         Implement IDBFactory.deleteDatabase
2830         https://bugs.webkit.org/show_bug.cgi?id=62622
2831
2832         Reviewed by Tony Chang.
2833
2834         Tests: storage/indexeddb/factory-deletedatabase-interactions.html
2835                storage/indexeddb/factory-deletedatabase.html
2836
2837         * storage/IDBBackingStore.h:
2838         * storage/IDBDatabaseBackendImpl.cpp:
2839         (WebCore::IDBDatabaseBackendImpl::PendingDeleteCall::create):
2840         (WebCore::IDBDatabaseBackendImpl::PendingDeleteCall::callbacks):
2841         (WebCore::IDBDatabaseBackendImpl::PendingDeleteCall::PendingDeleteCall):
2842         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
2843         (WebCore::IDBDatabaseBackendImpl::openInternal):
2844         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
2845         (WebCore::IDBDatabaseBackendImpl::openConnection):
2846         (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
2847         * storage/IDBDatabaseBackendImpl.h:
2848         * storage/IDBFactory.cpp:
2849         (WebCore::IDBFactory::deleteDatabase):
2850         * storage/IDBFactory.h:
2851         * storage/IDBFactory.idl:
2852         * storage/IDBFactoryBackendImpl.cpp:
2853         (WebCore::IDBFactoryBackendImpl::deleteDatabase):
2854         * storage/IDBFactoryBackendImpl.h:
2855         * storage/IDBFactoryBackendInterface.h:
2856         * storage/IDBLevelDBBackingStore.cpp:
2857         (WebCore::deleteRange):
2858         (WebCore::IDBLevelDBBackingStore::deleteDatabase):
2859         * storage/IDBLevelDBBackingStore.h:
2860         * storage/IDBRequest.cpp:
2861         (WebCore::IDBRequest::dispatchEvent):
2862
2863 2011-10-28  Robert Hogan  <robert@webkit.org>
2864
2865         CSS 2.1 failure: dynamic-top-change-001 to 004 fail
2866         https://bugs.webkit.org/show_bug.cgi?id=68149
2867
2868         Reviewed by David Hyatt.
2869
2870         In these tests a child inherits its top value from its parent and the parent's top value
2871         is later updated by an onload event. The updated value is expected to cascade to the child.
2872
2873         The tests were failing because updating the value did not cascade immediately to the child inheriting it, though
2874         it could be forced eventually with a full recalculation of the RenderStyle by changing the zoom factor
2875         or opening the inspector.
2876
2877         The fix is to let the parent RenderStyle know that a child inherits a property explicitly and
2878         recalculate children's style if the parent ever changes. This only happens if the property is inherited
2879         explicitly, it does not apply to cases where the property is inherited by default.
2880
2881         * css/CSSStyleSelector.cpp:
2882         (WebCore::CSSStyleSelector::applyProperty):
2883         * dom/Node.cpp:
2884         (WebCore::Node::diff):
2885         * rendering/style/RenderStyle.cpp:
2886         (WebCore::RenderStyle::RenderStyle):
2887         * rendering/style/RenderStyle.h:
2888         (WebCore::InheritedFlags::setHasExplicitlyInheritedProperties):
2889         (WebCore::InheritedFlags::hasExplicitlyInheritedProperties):
2890
2891 2011-10-29  Antti Koivisto  <antti@apple.com>
2892
2893         Tighten font change conditions in matched declaration cache
2894         https://bugs.webkit.org/show_bug.cgi?id=71026
2895
2896         Reviewed by Darin Adler.
2897
2898         We currently test if font description has changed to see if all properties need to be applied. However
2899         only a few size related metrics can actually affect other properties. We can just test those, making 
2900         the cache somewhat more effective while also making the equality test faster.
2901         
2902         * css/CSSStyleSelector.cpp:
2903         (WebCore::fontDifferenceAffectsNonInherited):
2904         (WebCore::CSSStyleSelector::applyMatchedDeclarations):
2905     
2906             Test for text computedSize, xHeight and orientation only. Other text properties don't affect computed
2907             values of non-text CSS properties.
2908
2909 2011-10-29  Adam Barth  <abarth@webkit.org>
2910
2911         DOMURL should keep its own state rather than storing it on ScriptExecutionContext
2912         https://bugs.webkit.org/show_bug.cgi?id=71169
2913
2914         Reviewed by Eric Seidel.
2915
2916         This patch untwists this code.  I think this code was originally
2917         twisted because these APIs moved onto DOMURL after they were first
2918         implemented.
2919
2920         * dom/ScriptExecutionContext.cpp:
2921         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2922         * dom/ScriptExecutionContext.h:
2923         * fileapi/FileWriter.h:
2924         * html/DOMURL.cpp:
2925         (WebCore::DOMURL::contextDestroyed):
2926         (WebCore::DOMURL::createObjectURL):
2927         (WebCore::DOMURL::revokeObjectURL):
2928         * html/DOMURL.h:
2929
2930 2011-10-29  Sheriff Bot  <webkit.review.bot@gmail.com>
2931
2932         Unreviewed, rolling out r98795.
2933         http://trac.webkit.org/changeset/98795
2934         https://bugs.webkit.org/show_bug.cgi?id=71171
2935
2936         Causes worker tests to crash (Requested by abarth on #webkit).
2937
2938         * dom/ActiveDOMObject.cpp:
2939         (WebCore::ContextDestructionObserver::contextDestroyed):
2940         * dom/MessagePort.cpp:
2941         (WebCore::MessagePort::MessagePort):
2942         (WebCore::MessagePort::contextDestroyed):
2943         * dom/MessagePort.h:
2944         * dom/ScriptExecutionContext.cpp:
2945         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2946         (WebCore::ScriptExecutionContext::closeMessagePorts):
2947
2948 2011-10-28  Ryosuke Niwa  <rniwa@webkit.org>
2949
2950         Potential crash in ReplaceNodeWithSpanCommand
2951         https://bugs.webkit.org/show_bug.cgi?id=71145
2952
2953         Reviewed by Ojan Vafai.
2954
2955         Fix a potential crash without tests because we don't have a reduction.
2956
2957         * editing/ReplaceNodeWithSpanCommand.cpp:
2958         (WebCore::swapInNodePreservingAttributesAndChildren):
2959
2960 2011-10-28  Adam Barth  <abarth@webkit.org>
2961
2962         MessagePort should be a ContextDestructionObserver
2963         https://bugs.webkit.org/show_bug.cgi?id=71167
2964
2965         Reviewed by Eric Seidel.
2966
2967         I couldn't quite get rid of all the uses of the
2968         ScriptExecutionContext::m_messagePorts in this patch.  I hope to get
2969         rid of them in the future as the "extra data" design for
2970         ScriptExecutionContext emerges.
2971
2972         * dom/ActiveDOMObject.cpp:
2973         (WebCore::ContextDestructionObserver::contextDestroyed):
2974         * dom/MessagePort.cpp:
2975         (WebCore::MessagePort::MessagePort):
2976         (WebCore::MessagePort::contextDestroyed):
2977         * dom/MessagePort.h:
2978         * dom/ScriptExecutionContext.cpp:
2979         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2980         (WebCore::ScriptExecutionContext::closeMessagePorts):
2981
2982 2011-10-28  Ryosuke Niwa  <rniwa@webkit.org>
2983
2984         The copy and paste result in nested scrollbars on http://dojotoolkit.org/widgets
2985         https://bugs.webkit.org/show_bug.cgi?id=70799
2986
2987         Reviewed by Enrica Casucci.
2988
2989         The bug was caused by WebKit's treating a fully selected root with background property as a special common ancestor.
2990         A variant of this bug was caused by treating any element with text-decoration property as a presentational element.
2991
2992         Fixed the above two bugs by not serializing the said nodes. The effective background color was already serialized
2993         by wrappingStyleForSerialization, there was nothing to be done besides stop including it in highestAncestorToWrapMarkup.
2994
2995         For text-decoration property, added the logic to compute the effective value in EditingStyle::init. Also treat it
2996         as a non-inheritable editing property so that the rest of EditingStyle just works.
2997
2998         Test: editing/pasteboard/avoid-copying-body-with-background.html
2999
3000         * editing/EditingStyle.cpp: Added CSSPropertyTextDecoration to the list of editing properties.
3001         (WebCore::copyEditingProperties):
3002         (WebCore::EditingStyle::init): Compute the effective text decoration when propertiesToInclude is
3003         EditingPropertiesInEffect.
3004         (WebCore::EditingStyle::prepareToApplyAt):
3005         (WebCore::EditingStyle::mergeInlineStyleOfElement):
3006         (WebCore::EditingStyle::wrappingStyleForSerialization):
3007         (WebCore::EditingStyle::removeStyleFromRulesAndContext):
3008         * editing/EditingStyle.h: Renamed EditingInheritablePropertiesAndBackgroundColorInEffect to
3009         EditingPropertiesInEffect.
3010         * editing/markup.cpp:
3011         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag): Removed an assertion that's no longer valid.
3012         (WebCore::isElementPresentational): Don't consider an element with text-decoration as a presentational element.
3013         (WebCore::highestAncestorToWrapMarkup): Don't consider fully selected root as a special common ancestor ever.
3014         Background color is computed property when we compute the wrapping style.
3015         (WebCore::createMarkup):
3016
3017 2011-10-28  Adam Barth  <abarth@webkit.org>
3018
3019         Rename ExceptionCodeDescription.in to DOMExceptions.in
3020         https://bugs.webkit.org/show_bug.cgi?id=71157
3021
3022         Reviewed by Eric Seidel.
3023
3024         This file is now used for more than just the descriptions of the exceptions.
3025
3026         * CMakeLists.txt:
3027         * CodeGenerators.pri:
3028         * DerivedSources.make:
3029         * GNUmakefile.am:
3030         * WebCore.gyp/WebCore.gyp:
3031         * WebCore.gyp/scripts/action_makenames.py:
3032         * dom/DOMExceptions.in: Copied from Source/WebCore/dom/ExceptionCodeDescription.in.
3033         * dom/ExceptionCodeDescription.in: Removed.
3034         * dom/make_dom_exceptions.pl: Copied from Source/WebCore/dom/make_exception_code_description.pl.
3035         * dom/make_exception_code_description.pl: Removed.
3036
3037 2011-10-28  Chris Rogers  <crogers@google.com>
3038
3039         SincResampler must be able to resample progressively
3040         https://bugs.webkit.org/show_bug.cgi?id=71131
3041
3042         Reviewed by Kenneth Russell.
3043
3044         No new tests.  There is not yet an implementation using progressive resampling to test.
3045
3046         * platform/audio/SincResampler.cpp:
3047         (WebCore::SincResampler::SincResampler):
3048         (WebCore::SincResampler::consumeSource):
3049         (WebCore::SincResampler::process):
3050         * platform/audio/SincResampler.h:
3051
3052 2011-10-28  Adam Klein  <adamk@chromium.org>
3053
3054         [MutationObservers] Support attributeOldValue for attribute mutations
3055         https://bugs.webkit.org/show_bug.cgi?id=70861
3056
3057         Reviewed by Ryosuke Niwa.
3058
3059         Respect 'attributeOldValue' when passed to WebKitMutationObserver.observe().
3060
3061         If multiple observers have different attributeOldValue settings in
3062         their registrations, two different MutationRecords are created (one is
3063         a wrapper around the other).
3064
3065         If a single observer has multiple registrations that apply to a single
3066         mutation, and those registrations have different values for
3067         attributeOldValue, the observer is passed the oldValue.
3068
3069         * dom/Element.cpp:
3070         (WebCore::hasOldValue):
3071         (WebCore::enqueueAttributesMutationRecord):
3072         (WebCore::Element::setAttribute):
3073         * dom/MutationRecord.cpp:
3074         (WebCore::MutationRecord::createAttributes):
3075         (WebCore::MutationRecord::createWithNullOldValue):
3076         * dom/MutationRecord.h:
3077         (WebCore::MutationRecord::oldValue):
3078
3079 2011-10-28  Adam Barth  <abarth@webkit.org>
3080
3081         Delete ExceptionCode.cpp, which is empty
3082         https://bugs.webkit.org/show_bug.cgi?id=71159
3083
3084         Reviewed by Eric Seidel.
3085
3086         This file has been stripped down to nothing and can be removed.
3087
3088         * CMakeLists.txt:
3089         * GNUmakefile.list.am:
3090         * WebCore.gypi:
3091         * WebCore.pro:
3092         * WebCore.vcproj/WebCore.vcproj:
3093         * WebCore.xcodeproj/project.pbxproj:
3094         * dom/DOMAllInOne.cpp:
3095         * dom/ExceptionCode.cpp: Removed.
3096
3097 2011-10-28  Sheriff Bot  <webkit.review.bot@gmail.com>
3098
3099         Unreviewed, rolling out r98776.
3100         http://trac.webkit.org/changeset/98776
3101         https://bugs.webkit.org/show_bug.cgi?id=71164
3102
3103         caused lots of test crashes (Requested by smfr on #webkit).
3104
3105         * rendering/RenderLayer.cpp:
3106         (WebCore::RenderLayer::updateVisibilityStatus):
3107         (WebCore::RenderLayer::dirtyZOrderLists):
3108         * rendering/RenderLayer.h:
3109         * rendering/RenderLayerCompositor.cpp:
3110         (WebCore::RenderLayerCompositor::enableCompositingMode):
3111
3112 2011-10-28  John Sullivan  <sullivan@apple.com>
3113
3114         Improvement to the fix for:
3115         https://bugs.webkit.org/show_bug.cgi?id=71142
3116         Whether backspace goes Back should be configurable
3117
3118         Reviewed by Dan Bernstein.
3119
3120         * page/EventHandler.cpp:
3121         (WebCore::EventHandler::defaultBackspaceEventHandler):
3122         Do the frame->settings() check after the !page check, since
3123         a null page means null settings.
3124
3125 2011-10-28  Adam Barth  <abarth@webkit.org>
3126
3127         Make DOMURL a ContextDestructionObserver
3128         https://bugs.webkit.org/show_bug.cgi?id=71162
3129
3130         Reviewed by Eric Seidel.
3131
3132         This removes a bunch of hand-rolled ifdefed code.
3133
3134         * dom/ActiveDOMObject.h:
3135             - One-argument constructors should be explicit.
3136         * dom/ScriptExecutionContext.cpp:
3137         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
3138         * dom/ScriptExecutionContext.h:
3139         * html/DOMURL.cpp:
3140         (WebCore::DOMURL::DOMURL):
3141         (WebCore::DOMURL::~DOMURL):
3142         * html/DOMURL.h:
3143
3144 2011-10-28  Adam Barth  <abarth@webkit.org>
3145
3146         Factor ContextDestructionObserver out of ActiveDOMObject
3147         https://bugs.webkit.org/show_bug.cgi?id=71153
3148
3149         Reviewed by Sam Weinig.
3150
3151         This patch paves the way to make more objects observe the destruction
3152         of ScriptExecutioContext without needing to add ifdefs to
3153         ScriptExecutionContext.h/cpp.  (As an example, see DOMURL.)
3154
3155         * dom/ActiveDOMObject.cpp:
3156         (WebCore::ContextDestructionObserver::ContextDestructionObserver):
3157         (WebCore::ContextDestructionObserver::~ContextDestructionObserver):
3158         (WebCore::ContextDestructionObserver::contextDestroyed):
3159         (WebCore::ActiveDOMObject::ActiveDOMObject):
3160         (WebCore::ActiveDOMObject::~ActiveDOMObject):
3161         * dom/ActiveDOMObject.h:
3162         (WebCore::ContextDestructionObserver::scriptExecutionContext):
3163         * dom/ScriptExecutionContext.cpp:
3164         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
3165         (WebCore::ScriptExecutionContext::didCreateActiveDOMObject):
3166         (WebCore::ScriptExecutionContext::willDestroyActiveDOMObject):
3167         (WebCore::didCreateDestructionObserver):
3168         (WebCore::willDestroyDestructionObserver):
3169         * dom/ScriptExecutionContext.h:
3170
3171 2011-10-28  Tim Horton  <timothy_horton@apple.com>
3172
3173         One more unreviewed build fix due to r98775.
3174
3175         No new tests.
3176
3177         * WebCore.vcproj/WebCore.vcproj:
3178
3179 2011-10-28  James Robinson  <jamesr@chromium.org>
3180
3181         [chromium] Track wheel event handler registration and pass to input filter
3182         https://bugs.webkit.org/show_bug.cgi?id=71078
3183
3184         Reviewed by Kenneth Russell.
3185
3186         This propagates mouse wheel registration notifications to the compositor input filter. If there are any handlers
3187         registered, which includes JS handlers and scrollable areas other than the main view, the input filter will pass
3188         mouse wheel events to the widget. Otherwise when threaded compositing is enabled the input filter translates
3189         wheel events into root layer scrolling.
3190
3191         Only changes behavior with an off-by-default flag enabled, so no tests.
3192
3193         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3194         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
3195         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
3196         (WebCore::CCLayerTreeHost::setHaveWheelEventHandlers):
3197         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3198         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3199         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
3200         (WebCore::CCLayerTreeHostImpl::haveWheelEventHandlers):
3201         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3202         (WebCore::CCLayerTreeHostImpl::setHaveWheelEventHandlers):
3203         * platform/graphics/chromium/cc/CCScrollController.h:
3204
3205 2011-10-28  Tim Horton  <timothy_horton@apple.com>
3206
3207         Unreviewed build fix due to r98775.
3208
3209         No new tests.
3210
3211         * CMakeLists.txt:
3212         * GNUmakefile.list.am:
3213         * WebCore.gypi:
3214         * WebCore.pro:
3215
3216 2011-10-28  Simon Fraser  <simon.fraser@apple.com>
3217
3218         If visibility changes while an accelerated animation is running, element jumps around
3219         https://bugs.webkit.org/show_bug.cgi?id=29984
3220
3221         Reviewed by Chris Marrin.
3222         
3223         Compositing now affects whether RenderLayers for visibility:hidden elements
3224         are included in z-order lists. So we have to dirty those lists when we enter
3225         compopsiting mode.
3226
3227         Test: compositing/visibility/animation-visibility.html
3228
3229         * rendering/RenderLayer.cpp:
3230         (WebCore::RenderLayer::updateVisibilityStatus): Removed trailing whitespace.
3231         (WebCore::RenderLayer::dirtyZOrderLists): Call dirtyZOrderListsInternal(), which doesn't have
3232         to ping the compositor.
3233         (WebCore::RenderLayer::dirtyZOrderListsInternal):
3234         (WebCore::RenderLayer::dirtyZOrderListsIncludingDescendants): Recursively dirty z-order
3235         lists.
3236         * rendering/RenderLayer.h:
3237         * rendering/RenderLayerCompositor.cpp:
3238         (WebCore::RenderLayerCompositor::enableCompositingMode): When going into compositing mode,
3239         dirty all z-order lists.
3240
3241 2011-10-28  Tim Horton  <timothy_horton@apple.com>
3242
3243         Implement CSS3 Images cross-fade() image function
3244         https://bugs.webkit.org/show_bug.cgi?id=52162
3245         <rdar://problem/10209254>
3246
3247         Reviewed by Simon Fraser.
3248
3249         Parse -webkit-cross-fade according to the CSS3 Images Values specification.
3250
3251         Also, adjust other CSS parsing functions to support nested functions, by using a specific CSS value list
3252         instead of the global one. This allows - for example - cross-fade to pass each of its arguments back into
3253         parseFillImage and to successfully parse image functions in this fashion.
3254
3255         Test: fast/css/getComputedStyle/computed-style-cross-fade.html
3256
3257         * WebCore.xcodeproj/project.pbxproj:
3258         * css/CSSCrossfadeValue.cpp: Added.
3259         (WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
3260         (WebCore::CSSCrossfadeValue::cssText):
3261         (WebCore::CSSCrossfadeValue::fixedSize):
3262         (WebCore::CSSCrossfadeValue::image):
3263         * css/CSSCrossfadeValue.h: Added.
3264         (WebCore::CSSCrossfadeValue::create):
3265         (WebCore::CSSCrossfadeValue::isFixedSize):
3266         (WebCore::CSSCrossfadeValue::setFromImage):
3267         (WebCore::CSSCrossfadeValue::setToImage):
3268         (WebCore::CSSCrossfadeValue::setPercentage):
3269         (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
3270         * css/CSSParser.cpp:
3271         (WebCore::CSSParser::parseValue):
3272         (WebCore::CSSParser::parseContent):
3273         (WebCore::CSSParser::parseFillImage):
3274         (WebCore::CSSParser::parseFillProperty):
3275         (WebCore::CSSParser::parseBorderImage):
3276         (WebCore::CSSParser::parseDeprecatedGradient):
3277         (WebCore::CSSParser::parseLinearGradient):
3278         (WebCore::CSSParser::parseRadialGradient):
3279         (WebCore::CSSParser::isGeneratedImageValue):
3280         (WebCore::CSSParser::parseGeneratedImage):
3281         (WebCore::CSSParser::parseCrossfade):
3282         (WebCore::CSSParser::parseCanvas):
3283         * css/CSSParser.h:
3284
3285 2011-10-28  Dan Bernstein  <mitz@apple.com>
3286
3287         Attempted build fix after r98765.
3288
3289         * platform/graphics/mac/SimpleFontDataMac.mm:
3290         (WebCore::SimpleFontData::platformWidthForGlyph):
3291
3292 2011-10-28  Chris Marrin  <cmarrin@apple.com>
3293
3294         CSS grammar doesn't support functions with no parameters
3295         https://bugs.webkit.org/show_bug.cgi?id=69110
3296
3297         Reviewed by Dean Jackson.
3298
3299         Add rule to grammar to accept functions with 0 args and return
3300         this case with a CSSParserValueList with 0 values. Also fixed
3301         filter creation function to properly handle filters with 0
3302         arguments.
3303
3304         * css/CSSGrammar.y:
3305         * css/CSSStyleSelector.cpp:
3306         (WebCore::CSSStyleSelector::createFilterOperations):
3307
3308 2011-10-28  Sheriff Bot  <webkit.review.bot@gmail.com>
3309
3310         Unreviewed, rolling out r98757.
3311         http://trac.webkit.org/changeset/98757
3312         https://bugs.webkit.org/show_bug.cgi?id=71150
3313
3314         crashes webkit_unit_tests on chromium windows (Requested by
3315         johnny_g on #webkit).
3316
3317         * platform/graphics/chromium/LayerRendererChromium.cpp:
3318         (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
3319         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3320         (WebCore::CCLayerTreeHost::paintLayerContents):
3321         (WebCore::CCLayerTreeHost::updateCompositorResources):
3322         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3323         (WebCore::calculateDrawTransformsAndVisibilityInternal):
3324
3325 2011-10-28  Adam Barth  <abarth@webkit.org>
3326
3327         Rubber-stamped by Eric Seidel.
3328
3329         Fix namespace indent in ScriptExecutionContext.h.
3330
3331         * dom/ScriptExecutionContext.h:
3332         (WebCore::ScriptExecutionContext::isDocument):
3333         (WebCore::ScriptExecutionContext::isWorkerContext):
3334         (WebCore::ScriptExecutionContext::setHasOpenDatabases):
3335         (WebCore::ScriptExecutionContext::hasOpenDatabases):
3336         (WebCore::ScriptExecutionContext::url):
3337         (WebCore::ScriptExecutionContext::completeURL):
3338         (WebCore::ScriptExecutionContext::securityOrigin):
3339         (WebCore::ScriptExecutionContext::contentSecurityPolicy):
3340         (WebCore::ScriptExecutionContext::activeDOMObjects):
3341         (WebCore::ScriptExecutionContext::suspendScriptedAnimationControllerCallbacks):
3342         (WebCore::ScriptExecutionContext::resumeScriptedAnimationControllerCallbacks):
3343         (WebCore::ScriptExecutionContext::messagePorts):
3344         (WebCore::ScriptExecutionContext::domUrls):
3345         (WebCore::ScriptExecutionContext::ref):
3346         (WebCore::ScriptExecutionContext::deref):
3347         (WebCore::ScriptExecutionContext::Task::Task):
3348         (WebCore::ScriptExecutionContext::Task::isCleanupTask):
3349
3350 2011-10-28  John Sullivan  <sullivan@apple.com>
3351
3352         WebCore part of:
3353         https://bugs.webkit.org/show_bug.cgi?id=71142
3354         Whether backspace goes Back should be configurable
3355
3356         Reviewed by Sam Weinig.
3357
3358         * page/EventHandler.cpp:
3359         (WebCore::EventHandler::defaultBackspaceEventHandler):
3360         Bail out if backspace navigation is not enabled.
3361
3362         * page/Settings.cpp:
3363         (WebCore::Settings::Settings):
3364         Initialize m_backspaceKeyNavigationEnabled to true to match current behavior.
3365
3366         * page/Settings.h:
3367         Declared m_backspaceKeyNavigationEnabled.
3368         (WebCore::Settings::setBackspaceKeyNavigationEnabled):
3369         New function, simple setter.
3370         (WebCore::Settings::backspaceKeyNavigationEnabled):
3371         New function, simple getter.
3372
3373 2011-10-28  Emil A Eklund  <eae@chromium.org>
3374
3375         Overridden clippedOverflowRectForRepaint() still uses IntRects
3376         https://bugs.webkit.org/show_bug.cgi?id=71046
3377
3378         Reviewed by Simon Fraser.
3379
3380         Change all virtual clippedOverflowRectForRepaint functions to use the
3381         same signature.
3382
3383         No new tests.
3384
3385         * rendering/RenderObject.cpp:
3386         (WebCore::RenderObject::rectWithOutlineForRepaint):
3387         (WebCore::RenderObject::clippedOverflowRectForRepaint):
3388         * rendering/RenderObject.h:
3389         * rendering/RenderReplaced.cpp:
3390         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
3391         * rendering/RenderReplaced.h:
3392         * rendering/RenderTableCell.cpp:
3393         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
3394         * rendering/RenderTableCell.h:
3395         * rendering/RenderTableCol.cpp:
3396         (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
3397         * rendering/RenderTableCol.h:
3398         * rendering/RenderTableRow.cpp:
3399         (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
3400         * rendering/RenderTableRow.h:
3401         * rendering/RenderText.cpp:
3402         (WebCore::RenderText::clippedOverflowRectForRepaint):
3403         * rendering/RenderText.h:
3404
3405 2011-10-28  Adam Klein  <adamk@chromium.org>
3406
3407         Remove unused parsers for 'exception' and 'alias' IDL keywords
3408         https://bugs.webkit.org/show_bug.cgi?id=71140
3409
3410         Reviewed by Adam Barth.
3411
3412         * bindings/scripts/IDLParser.pm:
3413         (ParseInterface):
3414         (DetermineParseMode):
3415         (ProcessSection):
3416         * bindings/scripts/IDLStructure.pm:
3417
3418 2011-10-28  Dan Bernstein  <mitz@apple.com>
3419
3420         <rdar://problem/10288006> Emoji characters are too close to each other in small font size
3421
3422         Reviewed by Sam Weinig.
3423
3424         * platform/graphics/mac/SimpleFontDataMac.mm:
3425         (WebCore::SimpleFontData::platformWidthForGlyph): If the font is a color bitmap font, use
3426         -[NSFont advancementForGlyph:] instead of wkGetGlyphTransformedAdvances().
3427
3428 2011-10-28  Adam Barth  <abarth@webkit.org>
3429
3430         Remove unused default constructor
3431         https://bugs.webkit.org/show_bug.cgi?id=71136
3432
3433         Reviewed by Eric Seidel.
3434
3435         No one is calling this constructor anymore now that we've fixed the
3436         callers.
3437
3438         * dom/make_exception_code_description.pl:
3439         (generateHeader):
3440
3441 2011-10-28  Ken Buchanan <kenrb@chromium.org>
3442
3443         Crash when splitting inline flows with generated floats
3444         https://bugs.webkit.org/show_bug.cgi?id=70458
3445
3446         Reviewed by David Hyatt.
3447
3448         When lineBoxes on a RenderBlock are being deleted, we now check the floating object list to
3449         ensure references to them are being cleared.
3450
3451         * rendering/RenderBlock.cpp:
3452         (WebCore::RenderBlock::deleteLineBoxTree): Remove references to lineBox when deleting them
3453
3454 2011-10-28  Simon Fraser  <simon.fraser@apple.com>
3455
3456         Remove Leopard-only code from GraphicsLayerCA
3457         https://bugs.webkit.org/show_bug.cgi?id=71141
3458
3459         Reviewed by Chris Marrin.
3460
3461         Remove !HAVE_MODERN_QUARTZCORE code, which was only
3462         used on Leopard. updateContentsTransform() became a no-op,
3463         so could be removed.
3464
3465         * platform/graphics/ca/GraphicsLayerCA.cpp:
3466         (WebCore::getValueFunctionNameForTransformOperation):
3467         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
3468         (WebCore::GraphicsLayerCA::addAnimation):
3469         (WebCore::GraphicsLayerCA::updateGeometry):
3470         (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
3471         (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
3472         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
3473         (WebCore::GraphicsLayerCA::defaultContentsOrientation):
3474         (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
3475         * platform/graphics/ca/GraphicsLayerCA.h:
3476
3477 2011-10-28  Adrienne Walker  <enne@google.com>
3478
3479         [chromium] Implicitly skip render surfaces that won't be drawn
3480         https://bugs.webkit.org/show_bug.cgi?id=71038
3481
3482         Rather than having redundant checks in three places for how to walk
3483         through a render surface list, instead don't add render surfaces that
3484         don't need to get rendered to the render surface list.
3485
3486         Reviewed by James Robinson.
3487
3488         Covered by existing layout tests.
3489
3490         * platform/graphics/chromium/LayerRendererChromium.cpp:
3491         (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):