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