c97dcbba56fb58642f9f3edcd6fdd75a1778ef9e
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-10-29  Dan Carney  <dcarney@google.com>
2
3         Remove ensureAuxiliaryContext
4         https://bugs.webkit.org/show_bug.cgi?id=99975
5
6         Reviewed by Adam Barth.
7
8         Removed auxilliaryContext as use if it is problematic in IDB.
9
10         No new tests. No change in functionality.
11
12         * Modules/indexeddb/IDBCursor.cpp:
13         (WebCore::IDBCursor::update):
14         (WebCore::IDBCursor::setValueReady):
15         * Modules/indexeddb/IDBCursor.h:
16         (IDBCursor):
17         * Modules/indexeddb/IDBObjectStore.cpp:
18         (WebCore::generateIndexKeysForValue):
19         (WebCore::IDBObjectStore::put):
20         (WebCore):
21         * Modules/indexeddb/IDBRequest.cpp:
22         (WebCore::IDBRequest::onSuccess):
23         (WebCore::IDBRequest::dispatchEvent):
24         * bindings/v8/IDBBindingUtilities.cpp:
25         (WebCore::createIDBKeyFromScriptValueAndKeyPath):
26         (WebCore::deserializeIDBValue):
27         (WebCore::injectIDBKeyIntoScriptValue):
28         * bindings/v8/IDBBindingUtilities.h:
29         (WebCore):
30         * bindings/v8/V8Binding.cpp:
31         (WebCore::toV8Context):
32         (WebCore):
33         * bindings/v8/V8Binding.h:
34         (WebCore):
35         * bindings/v8/V8PerIsolateData.cpp:
36         (WebCore):
37         * bindings/v8/V8PerIsolateData.h:
38
39 2012-10-29  Alpha Lam  <hclam@chromium.org>
40
41         [skia] Handle mask box image.
42         https://bugs.webkit.org/show_bug.cgi?id=100570
43
44         Reviewed by James Robinson.
45
46         When drawing an image with source rectangle it should intersect with image rectangle.
47         This should be the case for drawing single image and tiling an image.
48
49         Test: fast/images/mask-box-image-crash.html
50
51         * platform/graphics/skia/ImageSkia.cpp:
52         (WebCore::Image::drawPattern):
53         (WebCore::BitmapImage::draw):
54         (WebCore::BitmapImageSingleFrameSkia::draw):
55
56 2012-10-29  Eric Carlson  <eric.carlson@apple.com>
57
58         Support captions when PLUGIN_PROXY_FOR_VIDEO
59         https://bugs.webkit.org/show_bug.cgi?id=100690
60
61         Reviewed by Simon Fraser.
62
63         When built with PLUGIN_PROXY_FOR_VIDEO, WebCore uses a plug-in for the media element's
64         platform media engine. Update this code path so the shadow DOM elements used to display
65         text tracks are created and configured correctly.
66
67         * html/HTMLMediaElement.cpp:
68         (WebCore::HTMLMediaElement::configureMediaControls): Create media controls if necessary.
69
70         * rendering/RenderEmbeddedObject.cpp:
71         (WebCore::RenderEmbeddedObject::layout): Set the position and size of the shadow DOM when the
72             position of the embedded element changes.
73         * rendering/RenderEmbeddedObject.h:
74
75 2012-10-29  Justin Novosad  <junov@google.com>
76
77         [Chromium] flickering observed when copying 2D canvas to webGL texture
78         https://bugs.webkit.org/show_bug.cgi?id=100691
79
80         Reviewed by Stephen White.
81
82         Added a flush to the webgl context after texture upload from an image
83         buffer to ensure proper graphics context synchronization with respect
84         to subsequent changes to the source image.
85
86         Tests: fast/canvas/webgl/canvas-2d-webgl-texture.html
87
88         * platform/graphics/skia/ImageBufferSkia.cpp:
89         (WebCore::ImageBuffer::copyToPlatformTexture):
90
91 2012-10-29  Glenn Adams  <glenn@skynav.com>
92
93         [CSSOM] Extraneous whitespace in CSSImportRule.cssText
94         https://bugs.webkit.org/show_bug.cgi?id=100657
95
96         Reviewed by Simon Fraser.
97
98         Remove extraneous whitespace when serializing CSSImportRule.cssText when
99         media list is empty.
100
101         Test: cssom/cssimportrule-media.html
102
103         * css/CSSImportRule.cpp:
104         (WebCore::CSSImportRule::cssText):
105         Don't append extra whitespace if mediaText is empty.
106
107 2012-10-29  Arnaud Renevier  <a.renevier@sisa.samsung.com>
108
109         webview not redrawn as needed when accelerated compositing is enabled.
110         https://bugs.webkit.org/show_bug.cgi?id=99109
111
112         Reviewed by Martin Robinson.
113
114         GL shared display is not in the gtk loop and therefore, its events are
115         not captured by gtk. So, we use gdk default instead.
116
117         No new tests, covered by existing tests.
118
119         * platform/gtk/RedirectedXCompositeWindow.cpp:
120         (WebCore::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
121         (WebCore::RedirectedXCompositeWindow::~RedirectedXCompositeWindow):
122         (WebCore::RedirectedXCompositeWindow::resize):
123
124 2012-10-29  Pavel Feldman  <pfeldman@chromium.org>
125
126         Web Inspector: bind redo to Ctrl+Y on non-mac platforms
127         https://bugs.webkit.org/show_bug.cgi?id=100685
128
129         Reviewed by Vsevolod Vlasov.
130
131         * inspector/front-end/DefaultTextEditor.js:
132         (WebInspector.DefaultTextEditor.prototype._registerShortcuts):
133
134 2012-10-29  Enrica Casucci  <enrica@apple.com>
135
136         Add ENABLE_USERSELECT_ALL feature flag.
137         https://bugs.webkit.org/show_bug.cgi?id=100559
138
139         Reviewed by Eric Seidel.
140
141         * Configurations/FeatureDefines.xcconfig:
142
143 2012-10-29  Alexandru Chiculita  <achicu@adobe.com>
144
145         [CSS Shaders] Extract the CustomFilterParameterList to its own file
146         https://bugs.webkit.org/show_bug.cgi?id=100548
147
148         Reviewed by Dean Jackson.
149
150         Moved all the CustomFilterParameterList related methods to their own file.
151         Also made CustomFilterParameterList inherit from Vector instead of typedefing it,
152         so that we can add a different operator== and a blend method to it.
153
154         No new tests, just refactoring existing code.
155
156         * CMakeLists.txt:
157         * GNUmakefile.list.am:
158         * Target.pri:
159         * WebCore.gypi:
160         * WebCore.xcodeproj/project.pbxproj:
161         * css/StyleResolver.h:
162         * platform/graphics/filters/CustomFilterOperation.cpp:
163         (WebCore::CustomFilterOperation::CustomFilterOperation):
164         (WebCore::CustomFilterOperation::blend):
165         * platform/graphics/filters/CustomFilterOperation.h:
166         (WebCore):
167         (WebCore::CustomFilterOperation::operator==):
168         * platform/graphics/filters/CustomFilterParameterList.cpp: Added.
169         (WebCore):
170         (WebCore::CustomFilterParameterList::operator==):
171         (WebCore::CustomFilterParameterList::checkAlphabeticalOrder):
172         (WebCore::CustomFilterParameterList::blend):
173         * platform/graphics/filters/CustomFilterParameterList.h: Added.
174         (WebCore):
175         (CustomFilterParameterList):
176
177 2012-10-29  Brady Eidson  <beidson@apple.com>
178
179         Try to fix 32-bit builds after my incompletely tested m_identifier change.
180
181         Not reviewed.
182
183         * loader/ResourceLoader.h:
184         (WebCore::ResourceLoader::identifier): Revert my "unsigned long" -> "uint64_t" change in two places.
185
186 2012-10-29  Csaba Osztrogonác  <ossy@webkit.org>
187
188         [Qt] Text with zero font size renders as X px sometimes, causing fast/text/zero-font-size-2.html to fail
189         https://bugs.webkit.org/show_bug.cgi?id=100115
190
191         Reviewed by Noam Rosenthal.
192
193         * platform/graphics/qt/FontQt.cpp:
194         (WebCore::Font::drawGlyphs):
195
196 2012-10-29  Huang Dongsung  <luxtella@company100.net>
197
198         [TexMap] Make GraphicsLayerAnimation choose a proper timing function.
199         https://bugs.webkit.org/show_bug.cgi?id=100623
200
201         Reviewed by Noam Rosenthal.
202
203         Currently, GraphicsLayerAnimation chooses a timing function in the wrong
204         way. Other GraphicsLayers choose a timing function in the similar way to
205         GraphicsLayerCA::timingFunctionForAnimationValue(). The way consists of
206         the following steps.
207         1. Try to query the timing function of the current keyframe animation value.
208         2. If the timing function of #1 is null, try to query the timing function of Animation.
209         3. If the timing function of #2 is null, return CubicBezierTimingFunction::defaultTimingFunction().
210
211         This patch makes GraphicsLayerAnimation choose a timing function in the same way
212         to other implementations.
213
214         Covered by existing animations tests.
215
216         * platform/graphics/GraphicsLayerAnimation.cpp:
217         (WebCore::timingFunctionForAnimationValue):
218         (WebCore::GraphicsLayerAnimation::apply):
219
220 2012-10-29  Patrick Dubroy  <dubroy@chromium.org>
221
222         Web Inspector: Toolbar overflow appears outside window
223         https://bugs.webkit.org/show_bug.cgi?id=100663
224
225         Reviewed by Pavel Feldman.
226
227         Since the search bar was removed from the toolbar, the overflow menu appears too far
228         to the right, and is unreadable. Fixed this by aligning it relative to the right side
229         of the window, rather than the left.
230
231         * inspector/front-end/Toolbar.js:
232         (WebInspector.ToolbarDropdown.prototype.show):
233         * inspector/front-end/inspector.css:
234         (#toolbar-dropdown .toolbar-label):
235
236 2012-10-29  Michelangelo De Simone  <michelangelo@webkit.org>
237
238         [CSS Shaders] Implement CustomFilterArrayParameter::blend
239         https://bugs.webkit.org/show_bug.cgi?id=96437
240
241         Reviewed by Dean Jackson.
242
243         This patch adds the missing code to blend values within
244         an array() when using Custom Filters.
245
246         Test: css3/filters/custom/custom-filter-array-blending.html
247
248         * platform/graphics/filters/CustomFilterArrayParameter.h:
249         (WebCore::CustomFilterArrayParameter::blend):
250
251 2012-10-29  Alexander Pavlov  <apavlov@chromium.org>
252
253         Web Inspector: Drag and drop a URL in inspector is not working as expected
254         https://bugs.webkit.org/show_bug.cgi?id=100527
255
256         Reviewed by Yury Semikhatsky.
257
258         Inhibit custom dragstart handling when the active element is A.
259
260         * inspector/front-end/ElementsTreeOutline.js:
261         (WebInspector.ElementsTreeOutline.prototype._ondragstart):
262
263 2012-10-29  Mike West  <mkwst@chromium.org>
264
265         Web Inspector: Error/warning count is one pixel off.
266         https://bugs.webkit.org/show_bug.cgi?id=100660
267
268         Reviewed by Pavel Feldman.
269
270         The error/warning count div had a top padding of 6. That was one pixel
271         too many.
272
273         * inspector/front-end/inspector.css:
274         (#error-warning-count):
275
276 2012-10-29  Shinya Kawanaka  <shinyak@chromium.org> 
277
278         [Refactoring] Use isActiveInsertionPoint() instead of isInsertionPoint()
279         https://bugs.webkit.org/show_bug.cgi?id=100459
280
281         Reviewed by Hajime Morita.
282
283         Checking InsertionPoint and its activeness with two if-statement is error-prone. We would like to
284         use a utility function which checks both at once.
285
286         We rewrite some lines with such function.
287
288         No new tests, simple refactoring.
289
290         * dom/ComposedShadowTreeWalker.cpp:
291         (WebCore::ComposedShadowTreeWalker::traverseNode):
292         * html/shadow/ContentDistributor.cpp:
293         (WebCore::ContentDistributor::populate):
294         (WebCore::ContentDistributor::distribute):
295         (WebCore::ContentDistributor::distributeNodeChildrenTo):
296         * html/shadow/InsertionPoint.h:
297         (WebCore::isInsertionPoint): Since our convention is the argument of this kind of function should not be null,
298         we would like to make it similar to the other functions.
299         (WebCore::toInsertionPoint):
300         (WebCore::isLowerEncapsulationBoundary):
301
302 2012-10-29  Patrick Dubroy  <dubroy@chromium.org>
303
304         Web Inspector: Fix vertical alignment in toolbar backgrounds and overflow button.
305         https://bugs.webkit.org/show_bug.cgi?id=100373
306
307         Reviewed by Pavel Feldman.
308
309         Fix the background image for the selected toolbar item to be vertically centered.
310         Make close button and toolbar overflow button vertically centered for any toolbar
311         height.
312
313         * inspector/front-end/Toolbar.js: Remove unused variable.
314         * inspector/front-end/inspector.css:
315         (.toolbar-item.toggleable):
316         (body.compact .toolbar-item.toggleable):
317         (.toolbar-item.toggleable.toggled-on):
318         (body.compact .toolbar-label):
319         (#toolbar-dropdown-arrow):
320         (#close-button-left, #close-button-right):
321         (.toolbar-item.close-left):
322         * inspector/front-end/inspector.html:
323
324 2012-10-29  Eugene Klyuchnikov  <eustas.bug@gmail.com>
325
326         Web Inspector: Timeline: Overview bars do not correspond to timeline bars
327         https://bugs.webkit.org/show_bug.cgi?id=100500
328
329         Reviewed by Yury Semikhatsky.
330
331         Fix: do not shorten bars by nested records of the same category.
332
333         * inspector/front-end/TimelineOverviewPane.js: Check added.
334
335 2012-10-29  Eugene Klyuchnikov  <eustas.bug@gmail.com>
336
337         Web Inspector: Timeline: make cpu-monitoring feature available only on capable browsers
338         https://bugs.webkit.org/show_bug.cgi?id=100530
339
340         Reviewed by Yury Semikhatsky.
341
342         Motivation: cpu-monitoring feature looks like a glitch,
343         when it is not supported by browser.
344
345         * inspector/Inspector.json: Added capability getter to protocol.
346         * inspector/InspectorClient.h: Added capability getter.
347         * inspector/InspectorTimelineAgent.cpp: Proxy to request to client.
348         * inspector/InspectorTimelineAgent.h: Added capability getter.
349         * inspector/front-end/Settings.js: Added capability field.
350         * inspector/front-end/TimelinePanel.js: Check capability.
351         * inspector/front-end/inspector.js: Forward capability value.
352
353 2012-10-29  Antti Koivisto  <antti@apple.com>
354
355         Move seamless stylesheet collecting to DocumentStyleSheetCollection
356         https://bugs.webkit.org/show_bug.cgi?id=100655
357
358         Reviewed by Andreas Kling.
359
360         Move the code from StyleResolver to DocumentStyleSheetCollection. StyleResolver should focus on resolving style.
361
362         * css/StyleResolver.cpp:
363         (WebCore::StyleResolver::StyleResolver):
364         
365             Use standard create() pattern.
366
367         (WebCore):
368         * css/StyleResolver.h:
369         (StyleResolver):
370         * dom/Document.cpp:
371         (WebCore::Document::Document):
372         * dom/DocumentStyleSheetCollection.cpp:
373         (WebCore::collectActiveCSSStyleSheetsFromSeamlessParents):
374         
375             Since parent activeAuthorStyleSheets() contains all seamlessly inherited sheets too, this does not need to
376             iterate to ancestors anymore.
377
378         (WebCore):
379         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
380         * dom/DocumentStyleSheetCollection.h:
381         (WebCore::DocumentStyleSheetCollection::create):
382         (DocumentStyleSheetCollection):
383         (WebCore::DocumentStyleSheetCollection::styleSheetsForStyleSheetList):
384         (WebCore::DocumentStyleSheetCollection::activeAuthorStyleSheets):
385         
386             activeAuthorStyleSheets() now includes the stylesheets inherited from the seamless parent too.
387
388         (WebCore::DocumentStyleSheetCollection::needsUpdateActiveStylesheetsOnStyleRecalc):
389
390 2012-10-29  Andreas Kling  <kling@webkit.org>
391
392         Don't expose implementation details of StylePropertySet storage.
393         <http://webkit.org/b/100644>
394
395         Reviewed by Antti Koivisto.
396
397         Add a StylePropertySet::PropertyReference class, now returned by propertyAt(index).
398         This will allow us to refactor the internal storage of StylePropertySet without
399         breaking its API.
400
401         A PropertyReference is a simple inlinable wrapper around a StylePropertySet&/index pair.
402
403         * css/CSSComputedStyleDeclaration.cpp:
404         * css/CSSParser.cpp:
405         * css/CSSParser.h:
406         * css/SVGCSSParser.cpp:
407         * css/StylePropertySet.cpp:
408         (WebCore::StylePropertySet::asText):
409         (WebCore::StylePropertySet::mergeAndOverrideOnConflict):
410         (WebCore::StylePropertySet::findPropertyWithId):
411         (WebCore::StylePropertySet::reportMemoryUsage):
412         * css/StylePropertySet.h:
413         (StylePropertySet):
414         (PropertyReference):
415         (WebCore::StylePropertySet::PropertyReference::PropertyReference):
416         (WebCore::StylePropertySet::PropertyReference::id):
417         (WebCore::StylePropertySet::PropertyReference::isImportant):
418         (WebCore::StylePropertySet::PropertyReference::isInherited):
419         (WebCore::StylePropertySet::PropertyReference::cssName):
420         (WebCore::StylePropertySet::PropertyReference::cssText):
421         (WebCore::StylePropertySet::PropertyReference::value):
422         (WebCore::StylePropertySet::PropertyReference::propertyInternal):
423         (WebCore::StylePropertySet::propertyAt):
424         (WebCore::StylePropertySet::propertyAtInternal):
425         (WebCore):
426         * css/StyleResolver.cpp:
427         (WebCore::attributeStylesEqual):
428         (WebCore::StyleResolver::applyProperties):
429         (WebCore::StyleResolver::resolveVariables):
430         * editing/ApplyStyleCommand.cpp:
431         * editing/EditingStyle.cpp:
432         (WebCore::EditingStyle::mergeStyle):
433         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
434         * editing/Editor.cpp:
435         * editing/markup.cpp:
436         * page/Frame.cpp:
437         * svg/SVGFontFaceElement.cpp:
438
439 2012-10-29  Kent Tamura  <tkent@chromium.org>
440
441         Move LocaleWin.{cpp,h} to platform/text/win/
442         https://bugs.webkit.org/show_bug.cgi?id=100641
443
444         Reviewed by Kentaro Hara.
445
446         We have platform/text/win/ directory. Windows-specific files should be
447         in it.
448         Note that these files are used only in Chromium-win for now.
449
450         No new tests. This doesn't change any behavior.
451
452         * WebCore.gyp/WebCore.gyp: Fix path names.
453         * WebCore.gypi: Ditto.
454         * platform/text/win/LocaleWin.cpp: Renamed from Source/WebCore/platform/text/LocaleWin.cpp.
455         * platform/text/win/LocaleWin.h: Renamed from Source/WebCore/platform/text/LocaleWin.h.
456
457 2012-10-29  Kent Tamura  <tkent@chromium.org>
458
459         Rename Localizer to Locale
460         https://bugs.webkit.org/show_bug.cgi?id=100634
461
462         Reviewed by Kentaro Hara.
463
464         - Rename Localizer class to Locale
465         - Rename localizer with locale in variable names
466         - Rename localizer with locale in function names
467
468         No new tests. This doesn't make any behavior changes.
469
470         * dom/Document.h:
471         (WebCore): Declare Locale instead of Localizer.
472         (Document):
473         - Rename getCachedLocalizer to getCachedLocale.
474         - Rename LocaleToLocalizerMap to LocaleIdentifierToLocaleMap.
475         - Rename m_localizerCache to m_localeCache.
476         * dom/Document.cpp:
477         (WebCore::Document::getCachedLocale): Follow renamings.
478         * dom/Element.h:
479         (WebCore): Declare Locale instead of Localizer.
480         (Element): Rename localizer() to locale().
481         * dom/Element.cpp:
482         (WebCore::Element::locale): Follow renamings.
483
484         * html/BaseDateAndTimeInputType.cpp:
485         (WebCore::BaseDateAndTimeInputType::localizeValue): Ditto.
486         (WebCore::BaseDateAndTimeInputType::convertFromVisibleValue): Ditto.
487         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
488         (WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue): Ditto.
489         * html/DateInputType.cpp:
490         (WebCore::DateInputType::fixedPlaceholder): Ditto.
491         (WebCore::DateInputType::setupLayoutParameters): Ditto.
492         * html/DateTimeInputType.cpp:
493         (WebCore::DateTimeInputType::setupLayoutParameters): Ditto.
494         * html/DateTimeLocalInputType.cpp:
495         (WebCore::DateTimeLocalInputType::setupLayoutParameters): Ditto.
496         * html/MonthInputType.cpp:
497         (WebCore::MonthInputType::setupLayoutParameters): Ditto.
498         * html/NumberInputType.cpp:
499         (WebCore::NumberInputType::localizeValue): Ditto.
500         (WebCore::NumberInputType::convertFromVisibleValue): Ditto.
501         * html/TimeInputType.cpp:
502         (WebCore::TimeInputType::localizeValue): Ditto.
503         (WebCore::TimeInputType::setupLayoutParameters): Ditto.
504
505         * html/shadow/DateTimeEditElement.h:
506         (WebCore): Declare Locale instead of Localizer.
507         (LayoutParameters): Rename localizer data member to locale.
508         (WebCore::DateTimeEditElement::LayoutParameters::LayoutParameters): Follow renamings.
509         * html/shadow/DateTimeEditElement.cpp:
510         (WebCore::DateTimeEditBuilder::visitField): Ditto.
511         * html/shadow/DateTimeNumericFieldElement.h:
512         (DateTimeNumericFieldElement): Rename localizerForOwner to localeForOwner.
513         * html/shadow/DateTimeNumericFieldElement.cpp:
514         (WebCore::DateTimeNumericFieldElement::formatValue): Follow renamings.
515         (WebCore::DateTimeNumericFieldElement::handleKeyboardEvent): Ditto.
516         (WebCore::DateTimeNumericFieldElement::localeForOwner): Ditto.
517         * page/PagePopupClient.h:
518         (WebCore): Declare Locale instead of Localizer.
519         (PagePopupClient): Rename localizer member function to locale.
520         * page/PagePopupController.cpp:
521         (WebCore::PagePopupController::localizeNumberString): Follow renamings.
522
523         * platform/text/PlatformLocale.cpp: Rename the Localizer class to Locale.
524         (DateTimeStringBuilder):
525         (WebCore::DateTimeStringBuilder::DateTimeStringBuilder):
526         (WebCore::Locale::~Locale):
527         (WebCore::Locale::setLocaleData): Renamed from setLocalizerData.
528         (WebCore::Locale::convertToLocalizedNumber):
529         (WebCore::Locale::detectSignAndGetDigitRange):
530         (WebCore::Locale::matchedDecimalSymbolIndex):
531         (WebCore::Locale::convertFromLocalizedNumber):
532         (WebCore::Locale::localizedDecimalSeparator):
533         (WebCore::Locale::dateTimeFormatWithSeconds):
534         (WebCore::Locale::dateTimeFormatWithoutSeconds):
535         (WebCore::Locale::formatDateTime):
536         * platform/text/PlatformLocale.h: Update the ifndef macro.
537         (Locale): Renamed from Localizer. Also, renamed the followings:
538          - initializeLocalizerData -> initializeLocaleData
539          - setLocalizerData -> setLocaleData
540          - m_hasLocalizerData -> m_hasLocaleData
541         (WebCore::Locale::Locale):
542         (WebCore::Locale::createDefault):
543         * platform/text/LocaleICU.cpp: Follow renamings.
544         * platform/text/LocaleICU.h: Ditto.
545         * platform/text/LocaleNone.cpp: Ditto.
546         * platform/text/LocaleWin.cpp: Ditto.
547         * platform/text/LocaleWin.h: Ditto.
548         * platform/text/mac/LocaleMac.h: Ditto.
549         * platform/text/mac/LocaleMac.mm: Ditto.
550
551 2012-10-29  Mike West  <mkwst@chromium.org>
552
553         Web Inspector: Error messages lines in console are 1px taller than regular messages
554         https://bugs.webkit.org/show_bug.cgi?id=100521
555
556         Reviewed by Pavel Feldman.
557
558         The inspector is adding a 1px bottom border to list elements inside
559         a disclosure list. This is unnecessary in the current layout; it's
560         causing console messages with stack traces to be one pixel taller than
561         other console messages, which this patch fixes.
562
563         As a drive-by, this patch also adjusts the disclosure triangle's
564         position to match.
565
566         * inspector/front-end/inspector.css:
567         (.outline-disclosure li):
568         (.outline-disclosure li.parent::before):
569
570 2012-10-29  Mike West  <mkwst@chromium.org>
571
572         Web Inspector: The bubble for repeated errors is misplaced.
573         https://bugs.webkit.org/show_bug.cgi?id=100525
574
575         Reviewed by Pavel Feldman.
576
577         The repeated-message bubble is displayed as an inline-block element,
578         which works well as long as no stack trace is present. If present, the
579         message is wrapped in an 'ol' element displayed as a block, which pushes
580         itself down to the next line.
581
582         To avoid that issue, this patch switches the wrapper element to flexbox,
583         glorious flexbox.
584
585         * inspector/front-end/inspector.css:
586         (.console-message .bubble):
587         (.repeated-message .outline-disclosure):
588         (.filter-all .console-log-level.repeated-message, .filter-logs .console-log-level.repeated-message):
589
590 2012-10-29  Alexander Pavlov  <apavlov@chromium.org>
591
592         Web Inspector: [Styles] Handle non-parsedOk properties as inactive ones
593         https://bugs.webkit.org/show_bug.cgi?id=100119
594
595         Reviewed by Vsevolod Vlasov.
596
597         Test: inspector/styles/inactive-properties.html
598
599         * inspector/front-end/StylesSidebarPane.js:
600         (WebInspector.StylesSidebarPane.createExclamationMark):
601         (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
602         * inspector/front-end/elementsPanel.css:
603         (.styles-section.computed-style .properties li.not-parsed-ok):
604         (.styles-section.computed-style .properties li.not-parsed-ok img.exclamation-mark):
605         (.styles-section .properties .not-parsed-ok):
606
607 2012-10-29  Eric Seidel  <eric@webkit.org>
608
609         Make rendering tables with <colgroups> twice as fast by avoiding walking the DOM for colgroups 4 times for each cell
610         https://bugs.webkit.org/show_bug.cgi?id=100630
611
612         Reviewed by Ojan Vafai.
613
614         This is not a complete fix.  Our rendering of this large tables still takes 7.8 seconds
615         on my retina MBP (down from 14.3s before this change).
616         It's very expensive to walk the DOM each time we call RenderTable::colElement
617         so this caches the RenderTableCol* in a vector for easier walking.
618         We invalidate the cache any time a RenderTableCol is added or removed from the
619         rendering sub-tree to avoid holding a bad pointer.
620
621         * rendering/RenderTable.cpp:
622         (WebCore::RenderTable::RenderTable):
623         (WebCore::RenderTable::invalidateCachedColumns):
624         (WebCore):
625         (WebCore::RenderTable::addColumn):
626         (WebCore::RenderTable::removeColumn):
627         (WebCore::RenderTable::updateColumnCache):
628         (WebCore::RenderTable::slowColElement):
629         * rendering/RenderTable.h:
630         (RenderTable):
631         * rendering/RenderTableCol.cpp:
632         (WebCore::RenderTableCol::insertedIntoTree):
633         (WebCore):
634         (WebCore::RenderTableCol::willBeRemovedFromTree):
635         * rendering/RenderTableCol.h:
636
637 2012-10-28  Kent Tamura  <tkent@chromium.org>
638
639         Rename Localizer.{cpp,h} to PlatformLocale.{cpp,h}
640         https://bugs.webkit.org/show_bug.cgi?id=100627
641
642         Reviewed by Yuta Kitamura.
643
644         We'd like to rename Localizer class to Locale class. However we use
645         PlatformLocale.cpp and PlatformLocale.h as their file names because
646         <locale.h> exists in the C standard.  In this patch, we rename only file
647         names. We're going to rename the class name later.
648
649         No new tests. This doesn't make any behavior change.
650
651         * platform/text/PlatformLocale.h: Renamed from Source/WebCore/platform/text/Localizer.h.
652         * platform/text/PlatformLocale.cpp: Renamed from Source/WebCore/platform/text/Localizer.cpp.
653         Follow the Localizer.h -> PlatformLocale.cpp renaming.
654
655         * CMakeLists.txt: Follow the file name renaming.
656         * GNUmakefile.list.am: Ditto.
657         * Target.pri: Ditto.
658         * WebCore.gypi: Ditto.
659         * WebCore.vcproj/WebCore.vcproj: Ditto.
660         * WebCore.xcodeproj/project.pbxproj: Ditto.
661         * dom/Document.cpp: Ditto.
662         * html/BaseDateAndTimeInputType.cpp: Ditto.
663         * html/BaseMultipleFieldsDateAndTimeInputType.cpp: Ditto.
664         * html/DateInputType.cpp: Ditto.
665         * html/DateTimeInputType.cpp: Ditto.
666         * html/DateTimeLocalInputType.cpp: Ditto.
667         * html/MonthInputType.cpp: Ditto.
668         * html/NumberInputType.cpp: Ditto.
669         * html/TimeInputType.cpp: Ditto.
670         * html/shadow/DateTimeEditElement.cpp: Ditto.
671         * html/shadow/DateTimeNumericFieldElement.cpp: Ditto.
672         * page/PagePopupController.cpp: Ditto.
673         * platform/text/LocaleICU.h: Ditto.
674         * platform/text/LocaleNone.cpp: Ditto.
675         * platform/text/LocaleWin.h: Ditto.
676         * platform/text/mac/LocaleMac.h: Ditto.
677
678 2012-10-28  Shinya Kawanaka  <shinyak@chromium.org>
679
680         The shadow element is not reprojected to a nested ShadowRoot.
681         https://bugs.webkit.org/show_bug.cgi?id=99228
682
683         Reviewed by Dimitri Glazkov.
684
685         We support shadow reprojection; elements distributed to <shadow> element can be reprojected to <content> now.
686
687         First, we have a distribution vector for each InsertionPoint, even if InsertionPoint is a shadow insertion point.
688         And we update a node-distribution map. Basically We're creating a map from node to InsertionPoint in ElementShadow.
689         If a node can be distributed to several InsertionPoint (e.g. in case reprojection happens),
690         the InsertionPoint in older ShadowDOM is chosen.
691
692         We also fix ComposedShadowTreeWalker to consider shadow reprojection.
693
694         Tests: fast/dom/shadow/composed-shadow-tree-walker-shadow-reprojection.html
695                fast/dom/shadow/shadow-reprojection-click.html
696                fast/dom/shadow/shadow-reprojection-dynamic.html
697                fast/dom/shadow/shadow-reprojection-fallback.html
698                fast/dom/shadow/shadow-reprojection.html
699                fast/dom/shadow/shadow-reprojection2.html
700
701         * css/StyleResolver.cpp:
702         (WebCore::shouldResetStyleInheritance): Now context.insertionPoint() returns the final insertion point where
703         a node is distributed. So we don't have to trace shadow insertion point anymore here.
704         (WebCore::StyleResolver::styleForElement): Since a direct child of ShadowRoot can be distributed now. In that case,
705         we don't have any parentElement. The parent node is a ShadowRoot in that case.
706         * dom/ComposedShadowTreeWalker.cpp:
707         (WebCore::nodeCanBeDistributed): If a node can be distributed, returns true.
708         (WebCore):
709         (WebCore::resolveReprojection): Resolves content-reprojection and shadow-reprojection both.
710         (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
711         (WebCore::ComposedShadowTreeWalker::traverseParent):
712         (WebCore::ComposedShadowTreeWalker::traverseParentBackToYoungerShadowRootOrHost): A case ShadowRoot is assigned
713         to some InsertionPoint should be handled with in traverseSiblingOrBackToInsertionPoint. So we remove it.
714         (WebCore::AncestorChainWalker::parent): Now we have a case that a direct child of ShadowRoot can be distributed.
715         In that case, we should not update m_distributedNode.
716         * dom/ElementShadow.cpp:
717         (WebCore::ElementShadow::insertionPointFor): Since we have a distribution vector for each InsertionPoint,
718         we don't have a special case that a ShadowRoot is assigned to some InsertionPoint. Actually the existing code
719         is not correct now due to shadow reprojection.
720         * html/shadow/ContentDistributor.cpp:
721         (WebCore::ContentDistributor::populate): Populate a POOL. If a node is InsertionPoint, we fill it with the
722         distributed nodes.
723         (WebCore):
724         (WebCore::ContentDistributor::distribute): Since we want to make a distribution vector for each InsertionPoint,
725         we have to resolve a shadow InsertionPoint
726         (WebCore::ContentDistributor::distributeNodeChildrenTo):
727         * html/shadow/ContentDistributor.h:
728         (ContentDistributor):
729         * html/shadow/HTMLShadowElement.h:
730         (WebCore::toHTMLShadowElement):
731         (WebCore):
732         * html/shadow/InsertionPoint.h:
733         (WebCore::parentNodeForDistribution):
734         (WebCore::parentElementForDistribution):
735         (WebCore):
736
737 2012-10-28  Kunihiko Sakamoto  <ksakamoto@chromium.org>
738
739         Webkit adds a boundary to the Content-Type: text/plain POST header
740         https://bugs.webkit.org/show_bug.cgi?id=100445
741
742         Reviewed by Kent Tamura.
743
744         Fixed a bug where an empty boundary parameter was added to Content-Type
745         header when POSTing forms with enctype=text/plain.
746
747         Test: http/tests/misc/form-post-textplain.html
748
749         * loader/FormSubmission.cpp:
750         (WebCore::FormSubmission::populateFrameLoadRequest): Add boundary parameter to
751         Content-Type only when a boundary string is generated.
752
753 2012-10-28  Philip Rogers  <pdr@google.com>
754
755         Cache calcMode() value for SVG animations.
756         https://bugs.webkit.org/show_bug.cgi?id=99694
757
758         Reviewed by Eric Seidel.
759
760         This patch refactors SVGAnimationElement::calcMode() to return a cached value instead
761         of recalculating its value on every call. On a simple test of 100 rectangles with 100
762         animations each, calls to calcMode() account for 3% of the total animation. After this
763         patch, calcMode() no longer appears in animation profiles at all.
764
765         No new tests as this functionality is covered by existing tests.
766
767         * svg/SVGAnimateMotionElement.cpp:
768         (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
769
770             The default calcMode for all animation types is linear except AnimateMotion,
771             which defaults to CalcModePaced.
772             See: http://www.w3.org/TR/SVG/single-page.html#animate-CalcModeAttribute
773
774         * svg/SVGAnimationElement.cpp:
775         (WebCore::SVGAnimationElement::SVGAnimationElement):
776         (WebCore::SVGAnimationElement::isSupportedAttribute):
777         (WebCore::SVGAnimationElement::parseAttribute):
778         (WebCore::SVGAnimationElement::setCalcMode):
779         * svg/SVGAnimationElement.h:
780         (WebCore::SVGAnimationElement::calcMode):
781         (WebCore::SVGAnimationElement::setCalcMode):
782         (SVGAnimationElement):
783
784 2012-10-28  Dimitri Glazkov  <dglazkov@chromium.org>
785
786         Get rid of StyleResolver state related to unknown pseudo-elements.
787         https://bugs.webkit.org/show_bug.cgi?id=100582
788
789         Reviewed by Eric Seidel.
790
791         All of the state, related to unknown pseudo-elements is already understood at the time of collecting rules.
792         We can just get rid of most of this code in StyleResolver.
793
794         At the time of matching rules, we know for certain that only rules that contain unknown pseudo-elements,
795         or are UA rules, or are explicitly invited by a TreeScope will match. So we can just return early in many cases.
796
797         No change in behavior, covered by existing tests.
798
799         * css/SelectorChecker.cpp:
800         (WebCore::SelectorChecker::checkSelector): Removed now-unnecessary param.
801         (WebCore::SelectorChecker::checkOneSelector): Ditto.
802         * css/SelectorChecker.h:
803         (SelectorChecker): Ditto.
804         * css/StyleResolver.cpp:
805         (WebCore::StyleResolver::StyleResolver): Ditto.
806         (MatchingUARulesScope): Moved class definition here, since we now use it in a different place.
807         (WebCore::StyleResolver::collectMatchingRules): Changed the logic to stop matching rules that definitely won't match in a different scope.
808         (WebCore::StyleResolver::collectMatchingRulesForList): Removed code that's now unnecesssary.
809         (WebCore::StyleResolver::checkSelector): Removed now-unnecessary param.
810         (WebCore::StyleResolver::checkRegionSelector): Removed weird dead code.
811         * css/StyleResolver.h:
812         (StyleResolver): Removed now-unnecessary member.
813
814 2012-10-28  Sheriff Bot  <webkit.review.bot@gmail.com>
815
816         Unreviewed, rolling out r132696.
817         http://trac.webkit.org/changeset/132696
818         https://bugs.webkit.org/show_bug.cgi?id=100609
819
820         Needs a bit more clean-up on Chrome Web UI side. (Requested by
821         dglazkov on #webkit).
822
823         * rendering/RenderBlock.cpp:
824         (WebCore::RenderBlock::updateFirstLetter):
825         * rendering/RenderListBox.h:
826         * rendering/RenderObjectChildList.cpp:
827         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
828
829 2012-10-27  Alexey Proskuryakov  <ap@apple.com>
830
831         All tests crash in WebKit1 mode
832         https://bugs.webkit.org/show_bug.cgi?id=100602
833
834         Reviewed by Sam Weinig.
835
836         * platform/PlatformStrategies.cpp: (WebCore::setPlatformStrategies): Fix an incorrect
837         assertion - if this function is called twice, it should be with the same strategy.
838
839 2012-10-27  Anders Carlsson  <andersca@apple.com>
840
841         Fix AVFoundation build.
842
843         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
844         (WebCore::MediaPlayerPrivateAVFoundationObjC::addKey):
845
846 2012-10-27  David Barton  <dbarton@mathscribe.com>
847
848         ASSERTION FAILED: m_next in LayoutState.cpp
849         https://bugs.webkit.org/show_bug.cgi?id=99796
850
851         Reviewed by Eric Seidel.
852
853         Before RenderMathMLBlock::computeChildrenPreferredLogicalHeights calls child->layoutIfNeeded(),
854         it must ensure a layoutState exists. We disable it in any case, since we are just calculating
855         metrics here, and the final layout may well happen again.
856
857         No new tests. I don't know how to create an automated test for this. The crashes users are
858         seeing are flaky.
859
860         * rendering/mathml/RenderMathMLBlock.cpp:
861         (WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):
862
863 2012-10-27  David Barton  <dbarton@mathscribe.com>
864
865         [MathML] Improve some addChild methods
866         https://bugs.webkit.org/show_bug.cgi?id=98791
867
868         Reviewed by Eric Seidel.
869
870         MathML addChild methods need to handle any anonymous renderers correctly. Actually, most MathML elements have a fixed
871         number of children, so conformant javascript won't be doing arbitrary addChild and removeChild calls. However, we don't
872         want any assertions to fail, and we do want addChild to work correctly when beforeChild == 0, to build up the original
873         renderer, and then replaceChild at least should work correctly after that. We therefore clean up these routines before
874         giving them to the chromium fuzzers.
875         
876         It's best to build the anonymous wrappers just once initially if possible, so empty wrappers aren't left in the render
877         tree after later removeChild calls.
878
879         Test: mathml/presentation/dynamic.html added for mfrac and msqrt. There are already tests for dynamically changing
880         msub/sup elements, in mathml/presentation/m*-changed.xhtml.
881
882         * rendering/mathml/RenderMathMLFraction.cpp:
883         (WebCore::RenderMathMLFraction::addChild):
884             - The two wrappers are built initially. Also, the old RenderMathMLBlock::addChild(row, beforeChild); doesn't really
885               work because beforeChild is buried inside a wrapper. This new routine allows the numerator and denominator to be
886               added initially, and then later replaced with replaceChild. It's not clear whether e.g. a plain removeChild of a
887               numerator should move the remaining child from the denominator to the numerator or not, so we ignore that for now.
888         * rendering/mathml/RenderMathMLRoot.cpp:
889         (WebCore::RenderMathMLRoot::addChild):
890             - A bit of bullet-proofing for the fuzzers.
891         * rendering/mathml/RenderMathMLSubSup.cpp:
892         (WebCore::RenderMathMLSubSup::addChild):
893             - Like RenderMathMLFraction::addChild, we create the wrappers once initially, and then fill them dynamically.
894
895 2012-10-27  Levi Weintraub  <leviw@chromium.org>
896
897         Background images can incorrectly repeat with sub-pixel layout
898         https://bugs.webkit.org/show_bug.cgi?id=94622
899
900         Reviewed by Emil A Eklund.
901
902         Attempting to better match author expectations when painting tiled background images. When under
903         the effects of zoom with sub-pixel layout enabled, the drawn size of a rendered element can
904         differ depending on its location. This change looks at the size of the scaled tiled background
905         image size, and either ceils or floors that value depending on if tiling that value will
906         result in us being one pixel or less short of covering the background size. This is a heuristic,
907         as sub-pixel/zooming isn't specced.
908
909         Test: fast/sub-pixel/scaled-background-image.html
910
911         * rendering/RenderBoxModelObject.cpp:
912         (WebCore::applySubPixelHeuristicForTileSize):
913         (WebCore):
914         (WebCore::RenderBoxModelObject::calculateFillTileSize):
915
916 2012-10-27  Sheriff Bot  <webkit.review.bot@gmail.com>
917
918         Unreviewed, rolling out r132725.
919         http://trac.webkit.org/changeset/132725
920         https://bugs.webkit.org/show_bug.cgi?id=100596
921
922         it broke linking on chromium debug bots (Requested by loislo
923         on #webkit).
924
925         * inspector/InspectorMemoryAgent.cpp:
926         (WebCore::addPlatformComponentsInfo):
927         (WebCore):
928         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
929         * platform/MemoryUsageSupport.cpp:
930         (WebCore::MemoryUsageSupport::memoryUsageByComponents):
931         * platform/MemoryUsageSupport.h:
932         (ComponentInfo):
933         (WebCore::MemoryUsageSupport::ComponentInfo::ComponentInfo):
934         (MemoryUsageSupport):
935         * platform/PlatformMemoryInstrumentation.cpp:
936         (WebCore):
937         * platform/PlatformMemoryInstrumentation.h:
938         (PlatformMemoryTypes):
939         * platform/chromium/MemoryUsageSupportChromium.cpp:
940         (WebCore::MemoryUsageSupport::memoryUsageByComponents):
941         * platform/qt/MemoryUsageSupportQt.cpp:
942         (WebCore::MemoryUsageSupport::memoryUsageByComponents):
943
944 2012-10-27  Dan Bernstein  <mitz@apple.com>
945
946         REAL_PLATFORM_NAME build setting is no longer needed
947         https://bugs.webkit.org/show_bug.cgi?id=100587
948
949         Reviewed by Mark Rowe.
950
951         Removed the definition of REAL_PLATFORM_NAME and replaced references to it with references
952         to PLATFORM_NAME.
953
954         * Configurations/Base.xcconfig:
955         * Configurations/CompilerVersion.xcconfig:
956         * Configurations/DebugRelease.xcconfig:
957         * Configurations/FeatureDefines.xcconfig:
958         * Configurations/Version.xcconfig:
959         * Configurations/WebCore.xcconfig:
960
961 2012-10-27  Tony Chang  <tony@chromium.org>
962
963         Remove internals shouldDisplayTrackKind methods; these are also on internals.settings
964         https://bugs.webkit.org/show_bug.cgi?id=100564
965
966         Reviewed by Adam Barth.
967
968         Remove duplicate methods from internals that was just forwarding on the call to internals.settings.
969         Also fix a bug where we didn't reset these settings properly.
970
971         No new tests, this is covered by existing media/track tests.
972
973         * testing/InternalSettings.cpp:
974         (WebCore::InternalSettings::Backup::Backup): Properly save display track settings.
975         (WebCore::InternalSettings::Backup::restoreTo): Restore display track settings.
976         * testing/InternalSettings.h:
977         * testing/InternalSettings.idl: Use [Conditional=VIDEO_TRACK].
978         * testing/Internals.cpp: Remove code.
979         * testing/Internals.h: Remove code.
980         * testing/Internals.idl: Remove code.
981
982 2012-10-26  Ilya Tikhonovsky  <loislo@chromium.org>
983
984         Web Inspector: instrument chromium GlyphCache. It keeps ~2mb.
985         https://bugs.webkit.org/show_bug.cgi?id=100515
986
987         Reviewed by Yury Semikhatsky.
988
989         I replaced old version with an abstract number with new one which precisely reports allocated SkGlyphCache objects and their sizes.
990
991         * inspector/InspectorMemoryAgent.cpp:
992         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
993         * platform/MemoryUsageSupport.cpp:
994         (WebCore::MemoryUsageSupport::reportMemoryUsage):
995         * platform/MemoryUsageSupport.h:
996         (MemoryUsageSupport):
997         * platform/PlatformMemoryInstrumentation.cpp:
998         (WebCore):
999         * platform/PlatformMemoryInstrumentation.h:
1000         (PlatformMemoryTypes):
1001         * platform/chromium/MemoryUsageSupportChromium.cpp:
1002         (reportMemoryUsage):
1003         (WebCore::reportGlyphCache):
1004         (WebCore):
1005         (WebCore::MemoryUsageSupport::reportMemoryUsage):
1006         * platform/qt/MemoryUsageSupportQt.cpp:
1007         (WebCore::MemoryUsageSupport::reportMemoryUsage):
1008
1009 2012-10-26  Philip Rogers  <pdr@google.com>
1010
1011         Prevent NaN offset values in ElementTimeControl.
1012         https://bugs.webkit.org/show_bug.cgi?id=100322
1013
1014         Reviewed by Abhishek Arya.
1015
1016         NaN values can cause ElementTimeControl to go back in time!
1017         If a value of NaN is passed to ElementTimeControl::beginElementAt(offset),
1018         subsequent sorting will cause an assert in SVGSMILElement::findInstanceTime
1019         because NaN values are not properly sorted. NaN SMILTime values
1020         should not be allowed at all, so this patch adds a check for them in
1021         ElementTimeControl's setters.
1022  
1023         This patch also adds preventative asserts to catch if SMILTime is ever
1024         initialized with NaN, or if addEndTime/addBeginTime are ever called
1025         with NaN values.
1026
1027         Test: svg/custom/elementTimeControl-nan-crash.html
1028
1029         * svg/SVGAnimationElement.cpp:
1030         (WebCore::SVGAnimationElement::beginElementAt):
1031         (WebCore::SVGAnimationElement::endElementAt):
1032         * svg/animation/SMILTime.h:
1033         (WebCore::SMILTime::SMILTime):
1034         * svg/animation/SVGSMILElement.cpp:
1035         (WebCore::SVGSMILElement::addBeginTime):
1036         (WebCore::SVGSMILElement::addEndTime):
1037
1038 2012-10-26  Charles Wei  <charles.wei@torchmobile.com.cn>
1039
1040         [BlackBerry] Browser prematurely sends wrong credentials
1041         https://bugs.webkit.org/show_bug.cgi?id=100585
1042
1043         Reviewed by Yong Li.
1044
1045         Manually revert the patch for bug 96362, which causes regressions and the right patch has been
1046         submitted with patch for bug 100448. Since the auto-revert fails, we use this patch to manually
1047         revert.
1048
1049         No new tests. The test is coverted by patch for 100448.
1050
1051         * platform/network/blackberry/CredentialBackingStore.cpp:
1052         * platform/network/blackberry/CredentialBackingStore.h:
1053         (CredentialBackingStore):
1054         * platform/network/blackberry/NetworkManager.cpp:
1055         (WebCore::NetworkManager::startJob):
1056
1057 2012-10-26  Brady Eidson  <beidson@apple.com>
1058
1059         Have NetworkProcess manage resource load scheduling.
1060         https://bugs.webkit.org/show_bug.cgi?id=100479
1061
1062         Reviewed by Alexey Proskuryakov.
1063
1064         Down in WebCore we need to virtualize a handful of ResourceLoadScheduler methods
1065         to be overridden by WebKit's implementation.
1066
1067         No new tests (No change in Core behavior).
1068
1069         * WebCore.exp.in:
1070         * WebCore.xcodeproj/project.pbxproj:
1071
1072         * loader/ResourceLoadScheduler.cpp:
1073         (WebCore::resourceLoadScheduler): Gracefully handle LoaderStrategies wanting to return the default scheduler.
1074         (WebCore::ResourceLoadScheduler::scheduleLoad): Call notifyDidScheduleResourceRequest.
1075         (WebCore::ResourceLoadScheduler::notifyDidScheduleResourceRequest): Moved InspectorInstrumentation call
1076           here so derived classes can do it indirectly.
1077         (WebCore::ResourceLoadScheduler::startResourceLoader): To allow derived classes the ability to call
1078           ResourceLoader::start() which only ResourceLoadScheduler can do.
1079
1080         * loader/ResourceLoadScheduler.h:
1081         (ResourceLoadScheduler): Virtualize some core public methods so they can be overridden.
1082         (WebCore::ResourceLoadScheduler::setSerialLoadingEnabled): Make virtual.
1083         (WebCore::ResourceLoadScheduler::isSuspendingPendingRequests): Make private as it's internal only.
1084
1085         * loader/ResourceLoader.cpp:
1086         (WebCore::ResourceLoader::setIdentifier): Add this setter so outside clients can manually change the identifier.
1087
1088         * loader/ResourceLoader.h:
1089         (WebCore::ResourceLoader::identifier): Change identifier to explicitly be uint64_t.
1090         (WebCore::ResourceLoader::request): Make public.
1091         (ResourceLoader):
1092
1093 2012-10-26  Chris Rogers  <crogers@google.com>
1094
1095         Implement AudioBufferSourceNode .loopStart and .loopEnd attributes
1096         https://bugs.webkit.org/show_bug.cgi?id=100170
1097
1098         Reviewed by Kenneth Russell.
1099
1100         AudioBufferSourceNode currently only supports looping of an entire AudioBuffer.
1101         Sample-based synthesis is a very common technique which requires "internal" loop-points.
1102         For example, the first part of the sample data might represent the attack portion of
1103         a synthesized instrument, which then enters a loop portion.
1104
1105         Tests: webaudio/audiobuffersource-loop-comprehensive.html
1106                webaudio/audiobuffersource-loop-points.html
1107
1108         * Modules/webaudio/AudioBufferSourceNode.cpp:
1109         (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
1110         (WebCore::AudioBufferSourceNode::process):
1111         (WebCore::AudioBufferSourceNode::renderFromBuffer):
1112         * Modules/webaudio/AudioBufferSourceNode.h:
1113         (AudioBufferSourceNode):
1114         (WebCore::AudioBufferSourceNode::loopStart):
1115         (WebCore::AudioBufferSourceNode::loopEnd):
1116         (WebCore::AudioBufferSourceNode::setLoopStart):
1117         (WebCore::AudioBufferSourceNode::setLoopEnd):
1118         * Modules/webaudio/AudioBufferSourceNode.idl:
1119
1120 2012-10-26  Daniel Cheng  <dcheng@chromium.org>
1121
1122         dragover's default action should prevent drop for file drags
1123         https://bugs.webkit.org/show_bug.cgi?id=79173
1124
1125         Reviewed by Tony Chang.
1126
1127         During a file drag, we need to keep track of whether or not the document has cancelled the
1128         dragover action. We should only send a drop event if the dragover event was cancelled; this
1129         matches the behavior of the spec, as well as IE, Gecko, and Opera. The relevant sections
1130         from the spec are the sections pertaining to dragover and drop events at:
1131         http://www.whatwg.org/specs/web-apps/current-work/#drag-and-drop-processing-model
1132
1133         Test: fast/events/only-valid-drop-targets-receive-file-drop.html
1134
1135         * page/DragController.cpp:
1136         (WebCore::DragController::performDrag):
1137         (WebCore::DragController::dragEnteredOrUpdated):
1138         (WebCore::DragController::tryDocumentDrag):
1139         * page/DragController.h:
1140         (DragController): Cleanup to repurpose a variable that doesn't need to be a member anymore
1141                           and remove the corresponding getter/setter.
1142
1143 2012-10-26  Nico Weber  <thakis@chromium.org>
1144
1145         Fix a operator ordering bug in SVGSMILElement::calculateAnimationPercentAndRepeat
1146         https://bugs.webkit.org/show_bug.cgi?id=94756
1147
1148         Reviewed by Dirk Schulze.
1149
1150         The function has an early exit for !simpleDuration.value(), so
1151         !simpleDuration.value() always is 0 when passed as second parameter to
1152         fmod(), which means fmod() always returns NaN, which always evaluates
1153         to true. Simplify the code by removing that explicit check.
1154
1155         No observable behavior change.
1156
1157         Covered by existing svg tests.
1158
1159         * svg/animation/SVGSMILElement.cpp:
1160         (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
1161
1162 2012-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
1163
1164         Unreviewed, rolling out r132695.
1165         http://trac.webkit.org/changeset/132695
1166         https://bugs.webkit.org/show_bug.cgi?id=100581
1167
1168         caused 20+ test crashes on bots (Requested by estes on
1169         #webkit).
1170
1171         * dom/ContainerNode.cpp:
1172         (WebCore::ContainerNode::suspendPostAttachCallbacks):
1173         (WebCore::ContainerNode::resumePostAttachCallbacks):
1174         * loader/MainResourceLoader.cpp:
1175         (WebCore::MainResourceLoader::loadNow):
1176         * loader/ResourceLoadScheduler.cpp:
1177         (WebCore::resourceLoadScheduler):
1178         * loader/ResourceLoadScheduler.h:
1179         * loader/ResourceLoader.cpp:
1180         (WebCore::ResourceLoader::releaseResources):
1181         (WebCore::ResourceLoader::willSendRequest):
1182         * loader/cache/CachedResource.cpp:
1183         (WebCore::CachedResource::load):
1184         * loader/cache/CachedResourceLoader.cpp:
1185         (WebCore::CachedResourceLoader::performPostLoadActions):
1186
1187 2012-10-26  Vincent Scheib  <scheib@chromium.org>
1188
1189         Unreviewed, rolling out r132702.
1190         http://trac.webkit.org/changeset/132702
1191         https://bugs.webkit.org/show_bug.cgi?id=100322
1192
1193         Compile error on Chromium Linux dbg builder (and others)
1194
1195         * svg/SVGAnimationElement.cpp:
1196         (WebCore::SVGAnimationElement::beginElementAt):
1197         (WebCore::SVGAnimationElement::endElementAt):
1198         * svg/animation/SMILTime.h:
1199         (WebCore::SMILTime::SMILTime):
1200         * svg/animation/SVGSMILElement.cpp:
1201         (WebCore::SVGSMILElement::addBeginTime):
1202         (WebCore::SVGSMILElement::addEndTime):
1203
1204 2012-10-26  Philip Rogers  <pdr@google.com>
1205
1206         Prevent NaN offset values in ElementTimeControl.
1207         https://bugs.webkit.org/show_bug.cgi?id=100322
1208
1209         Reviewed by Abhishek Arya.
1210
1211         NaN values can cause ElementTimeControl to go back in time!
1212         If a value of NaN is passed to ElementTimeControl::beginElementAt(offset),
1213         subsequent sorting will cause an assert in SVGSMILElement::findInstanceTime
1214         because NaN values are not properly sorted. NaN SMILTime values
1215         should not be allowed at all, so this patch adds a check for them in
1216         ElementTimeControl's setters.
1217
1218         This patch also adds preventative asserts to catch if SMILTime is ever
1219         initialized with NaN, or if addEndTime/addBeginTime are ever called
1220         with NaN values.
1221
1222         Test: svg/custom/elementTimeControl-nan-crash.html
1223
1224         * svg/SVGAnimationElement.cpp:
1225         (WebCore::SVGAnimationElement::beginElementAt):
1226         (WebCore::SVGAnimationElement::endElementAt):
1227         * svg/animation/SMILTime.h:
1228         (WebCore::SMILTime::SMILTime):
1229         * svg/animation/SVGSMILElement.cpp:
1230         (WebCore::SVGSMILElement::addBeginTime):
1231         (WebCore::SVGSMILElement::addEndTime):
1232
1233 2012-10-26  Tony Chang  <tony@chromium.org>
1234
1235         Move non-Settings Inspector methods from internals.settings to internals
1236         https://bugs.webkit.org/show_bug.cgi?id=100392
1237
1238         Reviewed by Adam Barth.
1239
1240         These methods don't have to do with the WebCore Settings object, so move them up to internals.
1241         I moved the reset code from InternalSettings to Internals.
1242
1243         No new tests, this is just a rename. Existing tests should pass.
1244
1245         * testing/InternalSettings.cpp:
1246         (WebCore::InternalSettings::Backup::Backup): Remove inspector methods.
1247         (WebCore::InternalSettings::Backup::restoreTo): Remove inspector methods.
1248         * testing/InternalSettings.h:
1249         * testing/InternalSettings.idl:
1250         * testing/Internals.cpp:
1251         (WebCore::Internals::resetToConsistentState): New method for resetting page state. Named after similar
1252         methods in WTR.
1253         (WebCore::Internals::setInspectorResourcesDataSizeLimits): Moved from InspectorSettings.
1254         (WebCore::Internals::setJavaScriptProfilingEnabled): Moved from InspectorSettings.
1255         * testing/Internals.h:
1256         * testing/Internals.idl:
1257         * testing/js/WebCoreTestSupport.cpp:
1258         (WebCoreTestSupport::resetInternalsObject): Reset state in Internals.
1259         * testing/v8/WebCoreTestSupport.cpp:
1260         (WebCoreTestSupport::resetInternalsObject): Reset state in Internals.
1261
1262 2012-10-26  Dominic Mazzoni  <dmazzoni@google.com>
1263
1264         AX: Notification should be sent when accessibilityIsIgnored changes
1265         https://bugs.webkit.org/show_bug.cgi?id=99547
1266
1267         Reviewed by Chris Fleizach.
1268
1269         Adds a new flag in AccessibilityObject that keeps track of the most recent
1270         value of accessibilityIsIgnored(). After certain events such as an ARIA
1271         attribute change or content change, checks the new value of
1272         accessibilityIsIgnored() and posts a "children changed" notification on the
1273         parent node if it changed, making sure the parent recomputes its vector of
1274         (unignored) children.
1275
1276         Also moves handling of attribute changes to AXObjectCache, and sends
1277         notifications for some attribute changes that were previously silent. On
1278         Chromium, all changes to an accessibility object's attributes should
1279         result in some notification.
1280
1281         Some tests would have broken because an AccessibilityScrollView was created
1282         and holding a reference to a ScrollView for an iframe after it was deleted,
1283         so this change switches AccessibilityScrollView to hold a weak reference
1284         to ScrollView instead.
1285
1286         Tests: platform/chromium/accessibility/is-ignored-change-sends-notification.html
1287                platform/chromium/accessibility/other-aria-attribute-change-sends-notification.html
1288                platform/chromium/accessibility/text-change-notification.html
1289
1290         * accessibility/AXObjectCache.cpp:
1291         (WebCore::AXObjectCache::focusedUIElementForPage):
1292         (WebCore::AXObjectCache::getOrCreate):
1293         (WebCore::AXObjectCache::textChanged):
1294         (WebCore):
1295         (WebCore::AXObjectCache::childrenChanged):
1296         (WebCore::AXObjectCache::handleAriaRoleChanged):
1297         (WebCore::AXObjectCache::handleAttributeChanged):
1298         (WebCore::AXObjectCache::labelChanged):
1299         (WebCore::AXObjectCache::recomputeIsIgnored):
1300         * accessibility/AXObjectCache.h:
1301         (AXObjectCache):
1302         (WebCore::AXObjectCache::childrenChanged):
1303         (WebCore::AXObjectCache::textChanged):
1304         (WebCore::AXObjectCache::handleAttributeChanged):
1305         (WebCore::AXObjectCache::recomputeIsIgnored):
1306         * accessibility/AccessibilityNodeObject.cpp:
1307         (WebCore::AccessibilityNodeObject::insertChild):
1308         * accessibility/AccessibilityObject.cpp:
1309         (WebCore::AccessibilityObject::AccessibilityObject):
1310         (WebCore::AccessibilityObject::cachedIsIgnoredValue):
1311         (WebCore):
1312         (WebCore::AccessibilityObject::setCachedIsIgnoredValue):
1313         (WebCore::AccessibilityObject::notifyIfIgnoredValueChanged):
1314         * accessibility/AccessibilityObject.h:
1315         (WebCore::AccessibilityObject::textChanged):
1316         (AccessibilityObject):
1317         * accessibility/AccessibilityRenderObject.cpp:
1318         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1319         (WebCore::AccessibilityRenderObject::correspondingControlForLabelElement):
1320         (WebCore::AccessibilityRenderObject::textChanged):
1321         (WebCore::AccessibilityRenderObject::addHiddenChildren):
1322         (WebCore::AccessibilityRenderObject::addChildren):
1323         * accessibility/AccessibilityRenderObject.h:
1324         (AccessibilityRenderObject):
1325         * accessibility/AccessibilityScrollView.cpp:
1326         (WebCore::AccessibilityScrollView::~AccessibilityScrollView):
1327         (WebCore):
1328         (WebCore::AccessibilityScrollView::detach):
1329         (WebCore::AccessibilityScrollView::isAttachment):
1330         (WebCore::AccessibilityScrollView::widgetForAttachmentView):
1331         (WebCore::AccessibilityScrollView::updateScrollbars):
1332         (WebCore::AccessibilityScrollView::webAreaObject):
1333         (WebCore::AccessibilityScrollView::elementRect):
1334         (WebCore::AccessibilityScrollView::documentFrameView):
1335         (WebCore::AccessibilityScrollView::parentObject):
1336         (WebCore::AccessibilityScrollView::parentObjectIfExists):
1337         (WebCore::AccessibilityScrollView::getScrollableAreaIfScrollable):
1338         (WebCore::AccessibilityScrollView::scrollTo):
1339         * accessibility/AccessibilityScrollView.h:
1340         (WebCore::AccessibilityScrollView::scrollView):
1341         (AccessibilityScrollView):
1342         * accessibility/AccessibilityTable.cpp:
1343         (WebCore::AccessibilityTable::isDataTable):
1344         * accessibility/chromium/AXObjectCacheChromium.cpp:
1345         (WebCore::AXObjectCache::postPlatformNotification):
1346         * dom/Element.cpp:
1347         (WebCore::Element::attributeChanged):
1348         * rendering/RenderBlock.cpp:
1349         (WebCore::RenderBlock::deleteLineBoxTree):
1350         (WebCore::RenderBlock::createAndAppendRootInlineBox):
1351         * rendering/RenderObject.cpp:
1352         (WebCore::RenderObject::styleWillChange):
1353         * rendering/RenderText.cpp:
1354         (WebCore::RenderText::setText):
1355
1356 2012-10-26  Joshua Bell  <jsbell@chromium.org>
1357
1358         [WebKitIDL] Optional dictionary types should have default values of empty dictionary
1359         https://bugs.webkit.org/show_bug.cgi?id=100547
1360
1361         Reviewed by Adam Barth.
1362
1363         Per WebIDL, "Optional dictionary type arguments are always considered to have a default
1364         value of an empty dictionary." WebKitIDL already supported this via the extended attribute
1365         [Optional=DefaultIsUndefined] but make this the default for Dictionary.
1366
1367         Binding test expectations updated.
1368
1369         * Modules/filesystem/DirectoryEntry.h: Remove default parameters.
1370         (DirectoryEntry):
1371         * Modules/indexeddb/IDBDatabase.h: Remove overloads.
1372         (IDBDatabase):
1373         * Modules/indexeddb/IDBObjectStore.h: Remove overloads.
1374         (IDBObjectStore):
1375         * Modules/mediastream/RTCPeerConnection.idl: Remove DefaultIsUndefined annotations.
1376         * bindings/scripts/CodeGeneratorJS.pm: Special case for Optional Dictionary.
1377         (GenerateParametersCheck):
1378         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
1379         (GenerateParametersCheck):
1380         * bindings/scripts/test/JS/JSTestObj.cpp:
1381         (WebCore::jsTestObjPrototypeFunctionOptionsObject): Updated expectation - no early call.
1382         * bindings/scripts/test/V8/V8TestObj.cpp:
1383         (WebCore::TestObjV8Internal::optionsObjectCallback): Ditto.
1384
1385 2012-10-26  Vincent Scheib  <scheib@chromium.org>
1386
1387         Generated should not be supported for things with a shadow
1388         https://bugs.webkit.org/show_bug.cgi?id=98836
1389
1390         Unreviewed rollout of rollout of http://trac.webkit.org/changeset/132269.
1391         Initial rollout was speculative and was shown not to be related to crashes.
1392         Change author: Elliott Sprehn  <esprehn@chromium.org>
1393
1394         As far as CSS is concerned inputs and things with shadow content inside 
1395         shouldn't support pseudo elements like :before, :after or :first-letter.
1396         Neither Gecko or Presto supports it, and we only accidentally supported 
1397         it. 
1398  
1399         Until the spec tells us what to do we should disable support. This is 
1400         also neccesary because the new generated content implementation doesn't 
1401         support shadows. 
1402
1403         Test: fast/forms/pseudo-elements.html
1404
1405         * rendering/RenderBlock.cpp:
1406         (WebCore::RenderBlock::updateFirstLetter):
1407         * rendering/RenderListBox.h:
1408         * rendering/RenderObjectChildList.cpp:
1409         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1410
1411 2012-10-26  Brady Eidson  <beidson@apple.com>
1412
1413         Crash in WebProces at WebCore::ResourceLoadScheduler::crossOriginRedirectReceived + 78
1414         <rdar://problem/12575514> and https://bugs.webkit.org/show_bug.cgi?id=100554
1415
1416         Reviewed by Alexey Proskuryakov.
1417
1418         This was fallout from http://trac.webkit.org/changeset/132501 where I missed some of the 
1419         spots that call resourceLoadScheduler().
1420
1421         As a result we were creating more than one ResourceLoadScheduler, allowing the host records 
1422         to get out of sync.
1423
1424         The fix that also results in less #ifdefs scattered throughout the code is to use a single 
1425         choke point for all ResourceLoadScheduler access.
1426
1427         No new tests 
1428         (No change of behavior for the default config, not testable at this time in the repro config)
1429
1430         Add a single choke point for accessing the correct ResourceLoadScheduler:
1431         * loader/ResourceLoadScheduler.cpp:
1432         (WebCore::defaultResourceLoadScheduler): New private function that keeps the singleton default ResourceLoadScheduler.
1433         (WebCore::resourceLoadScheduler): Refactor this function to either ask the LoaderStrategy or call through to
1434
1435         Revert back to using that single choke point everywhere:
1436         * dom/ContainerNode.cpp:
1437         (WebCore::ContainerNode::suspendPostAttachCallbacks):
1438         (WebCore::ContainerNode::resumePostAttachCallbacks):
1439
1440         * loader/MainResourceLoader.cpp:
1441         (WebCore::MainResourceLoader::loadNow):
1442
1443         * loader/ResourceLoader.cpp:
1444         (WebCore::ResourceLoader::releaseResources):
1445         (WebCore::ResourceLoader::willSendRequest):
1446
1447         * loader/cache/CachedResource.cpp:
1448         (WebCore::CachedResource::load):
1449
1450         * loader/cache/CachedResourceLoader.cpp:
1451         (WebCore::CachedResourceLoader::performPostLoadActions):
1452
1453 2012-10-26  Elliott Sprehn  <esprehn@chromium.org>
1454
1455         Try to fix the windows build
1456         https://bugs.webkit.org/show_bug.cgi?id=100556
1457
1458         Reviewed by Eric Seidel.
1459
1460         Touch files by adding whitespace to try and make the windows
1461         build bot regenerate files.
1462
1463         No new tests, just kick the bot.
1464
1465         * dom/DOMAllInOne.cpp:
1466         * html/HTMLElementsAllInOne.cpp:
1467         * html/shadow/TextControlInnerElements.cpp:
1468
1469 2012-10-26  Rob Buis  <rbuis@rim.com>
1470
1471         [BlackBerry] Platform Abstraction for WebKit Resource/Image Loading
1472         https://bugs.webkit.org/show_bug.cgi?id=100518
1473
1474         PR 231732
1475
1476         Reviewed by Yong Li.
1477
1478         Use the new resource/image loading abstraction ResourceStore.
1479
1480         * platform/graphics/blackberry/ImageBlackBerry.cpp:
1481         (WebCore::Image::loadPlatformResource):
1482
1483 2012-10-26  Bear Travis  <betravis@adobe.com>
1484
1485         [CSS Exclusions] Block children have incorrect offset when shape-inside element lays out below other elements
1486         https://bugs.webkit.org/show_bug.cgi?id=98189
1487
1488         Reviewed by Dirk Schulze.
1489
1490         The initial code assumed that each block created a new layout state, such that
1491         LayoutState::layoutOffset would be specific to each block child of a shape-inside.
1492         Typically, however, block children of a shape-inside do not create a new layout state,
1493         and therefore we use the current element's offset instead.
1494
1495         Test: fast/exclusions/shape-inside/shape-inside-subsequent-blocks.html
1496
1497         * rendering/RenderBlockLineLayout.cpp:
1498         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Modified to use only logicalTop
1499         rather than LayoutState::layoutOffset::width/height and logicalTop.
1500
1501 2012-10-26  Elliott Sprehn  <esprehn@chromium.org>
1502
1503         Remove setRenderStyle in favor of callbacks on HTMLOptionElement and HTMLOptGroupElement
1504         https://bugs.webkit.org/show_bug.cgi?id=100397
1505
1506         Reviewed by Ojan Vafai.
1507
1508         Use Node custom callbacks to support the non-renderer style caching for option
1509         and optgroup eliminating the need for setRenderStyle.
1510
1511         setRenderStyle only existed to support HTMLOptionElement and HTMLOptGroupElement
1512         so they could store their RenderStyle even though they have no renderer. This
1513         means all style setting went through the virtual call to setRenderStyle, and it
1514         also hid the if statement protecting against null renderers meaning we end up
1515         checking if the renderer is null repeatedly in recalcStyle. This refactor cleans
1516         up recalcStyle to be more clear about what's going on.
1517
1518         No new tests needed, this is just a refactor.
1519
1520         * dom/Element.cpp:
1521         (WebCore::Element::pseudoStyleCacheIsInvalid):
1522         (WebCore::Element::recalcStyle):
1523         * dom/Node.cpp:
1524         (WebCore::Node::createRenderer):
1525         (WebCore::Node::setRenderStyle):
1526             Removed this method because it was only here to support HTMLOptionElement
1527             and HTMLOptGroupElement. Instead we can use node custom callbacks.
1528         * dom/Node.h:
1529         (WebCore::Node::nonRendererStyle): Renamed from nonRendererRenderStyle to match other style methods.
1530         * dom/NodeRenderStyle.h:
1531         (WebCore::Node::renderStyle):
1532         * html/HTMLOptGroupElement.cpp:
1533         (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
1534         (WebCore::HTMLOptGroupElement::attach): Reorder the logic to avoid calling styleForRenderer twice.
1535         (WebCore::HTMLOptGroupElement::updateNonRenderStyle): Updates the cached non-renderer style.
1536         (WebCore::HTMLOptGroupElement::nonRendererStyle):
1537         (WebCore::HTMLOptGroupElement::customStyleForRenderer):
1538         * html/HTMLOptGroupElement.h:
1539         * html/HTMLOptionElement.cpp:
1540         (WebCore::HTMLOptionElement::HTMLOptionElement):
1541         (WebCore::HTMLOptionElement::attach): Reorder the logic to avoid calling styleForRenderer twice.
1542         (WebCore::HTMLOptionElement::updateNonRenderStyle): Updates the cached non-renderer style.
1543         (WebCore::HTMLOptionElement::nonRendererStyle):
1544         (WebCore::HTMLOptionElement::customStyleForRenderer):
1545         (WebCore::HTMLOptionElement::didRecalcStyle): Requests the repaint of the select like setRenderStyle used to.
1546         * html/HTMLOptionElement.h:
1547
1548 2012-10-26  Dirk Schulze  <krit@webkit.org>
1549
1550         -webkit-clip-path property should just reference clipPath
1551         https://bugs.webkit.org/show_bug.cgi?id=100531
1552
1553         Reviewed by Eric Seidel.
1554
1555         The -webkit-clip-path property should just reference clipPath. Added a check for that.
1556
1557         Test: css3/masking/clip-path-reference-of-fake-clipPath.html
1558
1559         * rendering/RenderLayer.cpp:
1560         (WebCore::RenderLayer::paintLayerContents):
1561
1562 2012-10-26  Aaron Colwell  <acolwell@chromium.org>
1563
1564         Remove the circular reference between TextTrack and TextTrackCue
1565         https://bugs.webkit.org/show_bug.cgi?id=100300
1566
1567         Reviewed by Eric Carlson.
1568
1569         Changed TextTrackCue.m_track to a normal pointer to break the circular
1570         reference that was keeping both objects from ever getting deleted.
1571
1572         No new tests. This simply fixes a memory leak.
1573
1574         * html/track/TextTrack.cpp:
1575         (WebCore::TextTrack::~TextTrack):
1576         * html/track/TextTrackCue.cpp:
1577         (WebCore::TextTrackCue::TextTrackCue):
1578         (WebCore::TextTrackCue::~TextTrackCue):
1579         (WebCore::TextTrackCue::track):
1580         (WebCore::TextTrackCue::setTrack):
1581         * html/track/TextTrackCue.h:
1582         (TextTrackCue):
1583
1584 2012-10-26  Vsevolod Vlasov  <vsevik@chromium.org>
1585
1586         Web Inspector: Breakpoints are not managed correctly when editing uiSourceCode that was bound to ScriptFile after JavaScriptSourceFrame creation.
1587         https://bugs.webkit.org/show_bug.cgi?id=100535
1588
1589         Reviewed by Pavel Feldman.
1590
1591         Added SourceMappingChanged event to UISourceCode and made
1592         JavaScriptSourceFrame update ScriptFile events listeners on it.
1593
1594         * inspector/front-end/JavaScriptSourceFrame.js:
1595         (WebInspector.JavaScriptSourceFrame):
1596         (WebInspector.JavaScriptSourceFrame.prototype._onSourceMappingChanged):
1597         (WebInspector.JavaScriptSourceFrame.prototype._updateScriptFile):
1598         * inspector/front-end/ResourceScriptMapping.js:
1599         (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
1600         * inspector/front-end/UISourceCode.js:
1601         (WebInspector.UISourceCode.prototype.setSourceMapping):
1602
1603 2012-10-26  Vincent Scheib  <scheib@chromium.org>
1604
1605         Unreviewed, rolling out r132644.
1606         http://trac.webkit.org/changeset/132644
1607         https://bugs.webkit.org/show_bug.cgi?id=100497
1608
1609         Causes webkit_unit_tests
1610         MemoryInstrumentationTest.ImageObserver to fail.
1611
1612         * platform/network/ResourceRequestBase.cpp:
1613         (WebCore::ResourceRequestBase::reportMemoryUsage):
1614         * platform/network/ResourceRequestBase.h:
1615         (ResourceRequestBase):
1616         * platform/network/chromium/ResourceRequest.cpp:
1617         * platform/network/chromium/ResourceRequest.h:
1618
1619 2012-10-26  Zeno Albisser  <zeno@webkit.org>
1620
1621         [Qt] MiniBrowser segfaults on exit after using WebGL.
1622         https://bugs.webkit.org/show_bug.cgi?id=100523
1623
1624         The display connection must not be closed before
1625         destroying the offscreen window.
1626         Therefore opening the connection is moved to the
1627         getXWindow() function. And closing the connection
1628         is being moved to the destructor of the offscreen window.
1629
1630         Reviewed by Kenneth Rohde Christiansen.
1631
1632
1633         * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
1634         (WebCore::OffScreenRootWindow::OffScreenRootWindow):
1635         (WebCore::OffScreenRootWindow::getXWindow):
1636         (OffScreenRootWindow):
1637         (WebCore::OffScreenRootWindow::display):
1638         (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
1639         (WebCore):
1640         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
1641         (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
1642         (WebCore::GraphicsSurfacePrivate::createSurface):
1643
1644 2012-10-26  Parth Patel  <parpatel@rim.com>
1645
1646         [BlackBerry] Extending existing ThreadUnsafe singletons in webkit to
1647         Generic ThreadUnsafe Singleton
1648         https://bugs.webkit.org/show_bug.cgi?id=100529
1649
1650         Reviewed by Yong Li.
1651
1652         No new tests added as there was no behavioural change.
1653
1654         * platform/network/blackberry/NetworkManager.cpp:
1655         (WebCore):
1656         * platform/network/blackberry/NetworkManager.h:
1657         (NetworkManager):
1658
1659 2012-10-26  Mike West  <mkwst@chromium.org>
1660
1661         Web Inspector: Fix log-type icon alignment.
1662         https://bugs.webkit.org/show_bug.cgi?id=100520
1663
1664         Reviewed by Yury Semikhatsky.
1665
1666         The icons are just a pixel or two off, and it's driving me nuts.
1667
1668         * inspector/front-end/inspector.css:
1669         (.console-message::before, .console-user-command::before, #console-prompt::before, .console-group-title::before):
1670         (.console-warning-level::before):
1671
1672 2012-10-26  Erik Arvidsson  <arv@chromium.org>
1673
1674         Replaceable attributes should also have readonly
1675         https://bugs.webkit.org/show_bug.cgi?id=91768
1676
1677         Reviewed by Adam Barth.
1678
1679         This updates the code generators for JSC and V8 to handle this case correctly.
1680
1681         * Modules/intents/DOMWindowIntents.idl:
1682         * bindings/scripts/CodeGeneratorJS.pm:
1683         * bindings/scripts/CodeGeneratorV8.pm:
1684         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1685         * bindings/scripts/test/ObjC/DOMTestObj.h:
1686         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1687         * bindings/scripts/test/TestObj.idl:
1688         * bindings/scripts/test/V8/V8TestObj.cpp:
1689         * page/DOMWindow.idl:
1690         * workers/WorkerContext.idl:
1691
1692 2012-10-26  Nico Weber  <thakis@chromium.org>
1693
1694         Clear m_orientation in FrameData::clear() for skia
1695         https://bugs.webkit.org/show_bug.cgi?id=100456
1696
1697         Reviewed by Stephen White.
1698
1699         clear() is only called by the FrameData destructor and for multi-image
1700         images in BitmapImage::destroyDecodedData(). Multi-frame images don't
1701         have exif data, so this patch should have no effect in practice. It
1702         makes the skia code match the CG code in BitmapImageCG.cpp though.
1703
1704         * platform/graphics/skia/ImageSkia.cpp:
1705         (WebCore::FrameData::clear):
1706
1707 2012-10-26  Florin Malita  <fmalita@chromium.org>
1708
1709         Crash on loading SVG filter resource on HTML element
1710         https://bugs.webkit.org/show_bug.cgi?id=100491
1711
1712         Reviewed by Dirk Schulze.
1713
1714         Skip non-filter elements referenced via -webkit-filter.
1715
1716         Test: svg/filters/filter-reference-crash.html
1717
1718         * rendering/RenderLayerFilterInfo.cpp:
1719         (WebCore::RenderLayerFilterInfo::updateReferenceFilterClients):
1720
1721 2012-10-26  Antti Koivisto  <antti@apple.com>
1722
1723         Lots of time spent under DNSResolveQueue::platformProxyIsEnabledInSystemPreferences
1724         https://bugs.webkit.org/show_bug.cgi?id=100514
1725
1726         Reviewed by Anders Carlsson.
1727
1728         DNSResolveQueue::platformProxyIsEnabledInSystemPreferences gets called for every link in
1729         the document. The function is relatively slow.
1730         
1731         This patch caches the result of the last check for 5 seconds. Based on code comments
1732         prefetching is disabled with proxies due to regressing performance with some configurations.
1733         Proxy status changes rarely and a slight reaction delay shoudn't cause practical problems.
1734
1735         * platform/network/DNSResolveQueue.cpp:
1736         (WebCore::DNSResolveQueue::DNSResolveQueue):
1737         
1738             Add constructor. Also fixes a bug, m_requestsInFlight was not initialized.
1739             
1740         (WebCore):
1741         (WebCore::DNSResolveQueue::isUsingProxy):
1742         (WebCore::DNSResolveQueue::add):
1743         (WebCore::DNSResolveQueue::fired):
1744         * platform/network/DNSResolveQueue.h:
1745         (DNSResolveQueue):
1746
1747 2012-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
1748
1749         Unreviewed, rolling out r132662.
1750         http://trac.webkit.org/changeset/132662
1751         https://bugs.webkit.org/show_bug.cgi?id=100528
1752
1753         It is not necessary any more. (Requested by loislo on
1754         #webkit).
1755
1756         * platform/qt/MemoryUsageSupportQt.cpp:
1757         (WebCore::MemoryUsageSupport::memoryUsageByComponents):
1758         (WebCore):
1759
1760 2012-10-26  Ilya Tikhonovsky  <loislo@chromium.org>
1761
1762         Unreviewed build fix for Qt builders.
1763
1764         * platform/qt/MemoryUsageSupportQt.cpp:
1765
1766 2012-10-26  Csaba Osztrogonác  <ossy@webkit.org>
1767
1768         Unreviewed, rolling out r132658.
1769         http://trac.webkit.org/changeset/132658
1770         https://bugs.webkit.org/show_bug.cgi?id=100515
1771
1772         It broke the Qt build
1773
1774         * inspector/InspectorMemoryAgent.cpp:
1775         (WebCore::addPlatformComponentsInfo):
1776         (WebCore):
1777         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
1778         * platform/MemoryUsageSupport.cpp:
1779         (WebCore::MemoryUsageSupport::memoryUsageByComponents):
1780         * platform/MemoryUsageSupport.h:
1781         (ComponentInfo):
1782         (WebCore::MemoryUsageSupport::ComponentInfo::ComponentInfo):
1783         (MemoryUsageSupport):
1784         * platform/PlatformMemoryInstrumentation.cpp:
1785         (WebCore):
1786         * platform/PlatformMemoryInstrumentation.h:
1787         (PlatformMemoryTypes):
1788         * platform/chromium/MemoryUsageSupportChromium.cpp:
1789         (WebCore::MemoryUsageSupport::memoryUsageByComponents):
1790
1791 2012-10-26  Vsevolod Vlasov  <vsevik@chromium.org>
1792
1793         Web Inspector: Some context menu items are duplicated on Resources and Sources panels.
1794         https://bugs.webkit.org/show_bug.cgi?id=100522
1795
1796         Reviewed by Pavel Feldman.
1797
1798         Method appendApplicableItems now receives event as a parameter.
1799         HandlerRegistry now makes sure that it is not called more than once for certain context menu event.
1800
1801         * inspector/front-end/BreakpointsSidebarPane.js:
1802         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._emptyElementContextMenu):
1803         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu):
1804         (WebInspector.XHRBreakpointsSidebarPane.prototype._emptyElementContextMenu):
1805         (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu):
1806         * inspector/front-end/CallStackSidebarPane.js:
1807         (WebInspector.CallStackSidebarPane.Placard.prototype._placardContextMenu):
1808         * inspector/front-end/ConsoleView.js:
1809         * inspector/front-end/ContextMenu.js:
1810         (WebInspector.ContextMenu):
1811         (WebInspector.ContextMenu.prototype.show):
1812         (WebInspector.ContextMenu.prototype.appendApplicableItems):
1813         (WebInspector.ContextMenu.Provider.prototype.appendApplicableItems):
1814         * inspector/front-end/CookieItemsView.js:
1815         (WebInspector.CookieItemsView.prototype._contextMenu):
1816         * inspector/front-end/DOMBreakpointsSidebarPane.js:
1817         (WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu):
1818         * inspector/front-end/DataGrid.js:
1819         (WebInspector.DataGrid.prototype._contextMenuInDataTable):
1820         * inspector/front-end/DefaultTextEditor.js:
1821         (WebInspector.DefaultTextEditor.prototype._contextMenu):
1822         * inspector/front-end/ElementsPanel.js:
1823         (WebInspector.ElementsPanel.prototype._contextMenuEventFired.set get var):
1824         * inspector/front-end/ElementsPanelDescriptor.js:
1825         (WebInspector.ElementsPanelDescriptor.prototype.appendApplicableItems):
1826         * inspector/front-end/ElementsTreeOutline.js:
1827         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
1828         * inspector/front-end/HandlerRegistry.js:
1829         (WebInspector.HandlerRegistry.prototype.appendApplicableItems):
1830         * inspector/front-end/ImageView.js:
1831         (WebInspector.ImageView.prototype._contextMenu):
1832         * inspector/front-end/NavigatorView.js:
1833         (WebInspector.NavigatorView.prototype.handleContextMenu):
1834         * inspector/front-end/NetworkPanel.js:
1835         (WebInspector.NetworkLogView.prototype._contextMenu):
1836         * inspector/front-end/NetworkPanelDescriptor.js:
1837         (WebInspector.NetworkPanelDescriptor.prototype.appendApplicableItems):
1838         * inspector/front-end/ObjectPropertiesSection.js:
1839         (WebInspector.ObjectPropertiesSection.prototype._contextMenuEventFired):
1840         (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuFired):
1841         * inspector/front-end/ProfilesPanel.js:
1842         (WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
1843         (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
1844         * inspector/front-end/ResourcesPanel.js:
1845         (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
1846         (WebInspector.IndexedDBTreeElement.prototype._handleContextMenuEvent):
1847         (WebInspector.FileSystemListTreeElement.prototype._handleContextMenuEvent):
1848         (WebInspector.IDBDatabaseTreeElement.prototype._handleContextMenuEvent):
1849         * inspector/front-end/ScriptsNavigator.js:
1850         (WebInspector.SnippetsNavigatorView.prototype.handleContextMenu):
1851         * inspector/front-end/ScriptsPanel.js:
1852         (WebInspector.ScriptsPanel.prototype.appendApplicableItems):
1853         * inspector/front-end/ScriptsPanelDescriptor.js:
1854         (WebInspector.ScriptsPanelDescriptor.prototype.appendApplicableItems):
1855         * inspector/front-end/StylesSidebarPane.js:
1856         (WebInspector.StylesSidebarPane.prototype._contextMenuEventFired):
1857         * inspector/front-end/TabbedPane.js:
1858         (WebInspector.TabbedPaneTab.prototype._tabContextMenu):
1859         * inspector/front-end/TimelinePanel.js:
1860         (WebInspector.TimelinePanel.prototype._contextMenu):
1861         * inspector/front-end/WatchExpressionsSidebarPane.js:
1862         (WebInspector.WatchExpressionsSection.prototype._emptyElementContextMenu):
1863         (WebInspector.WatchExpressionTreeElement.prototype._contextMenu):
1864
1865 2012-10-26  Ilya Tikhonovsky  <loislo@chromium.org>
1866
1867         Web Inspector: instrument chromium GlyphCache. It keeps ~2mb data on gmail.
1868         https://bugs.webkit.org/show_bug.cgi?id=100515
1869
1870         Reviewed by Yury Semikhatsky.
1871
1872         I replaced old version with an abstract number with new one which precisely reports allocated SkGlyphCache objects and their sizes.
1873
1874         * inspector/InspectorMemoryAgent.cpp:
1875         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
1876         * platform/MemoryUsageSupport.cpp:
1877         (WebCore::MemoryUsageSupport::reportMemoryUsage):
1878         * platform/MemoryUsageSupport.h:
1879         (MemoryUsageSupport):
1880         * platform/PlatformMemoryInstrumentation.cpp:
1881         (WebCore):
1882         * platform/PlatformMemoryInstrumentation.h:
1883         (PlatformMemoryTypes):
1884         * platform/chromium/MemoryUsageSupportChromium.cpp:
1885         (reportMemoryUsage):
1886         (WebCore::reportGlyphCache):
1887         (WebCore):
1888         (WebCore::MemoryUsageSupport::reportMemoryUsage):
1889
1890 2012-10-26  Kent Tamura  <tkent@chromium.org>
1891
1892         [Chromium] Build fix for r132650.
1893         https://bugs.webkit.org/show_bug.cgi?id=100482
1894
1895         * platform/text/LocaleWin.cpp:
1896         (WebCore::LocaleWin::timeFormat):
1897
1898 2012-10-26  Yury Semikhatsky  <yurys@chromium.org>
1899
1900         [v8] Memory instrumentation: don't count memory of WrapperTypeInfo
1901         https://bugs.webkit.org/show_bug.cgi?id=100517
1902
1903         Reviewed by Alexander Pavlov.
1904
1905         * bindings/v8/V8PerIsolateData.cpp: when estimating bindings memory size skip
1906         pointers to WrapperTypeInfo objects as they are static fields and belong to
1907         the data segment.
1908         (WTF):
1909
1910 2012-10-26  Kent Tamura  <tkent@chromium.org>
1911
1912         Refactor Localizer-related classes.
1913         https://bugs.webkit.org/show_bug.cgi?id=100482
1914
1915         Reviewed by Kentaro Hara.
1916
1917         - Localizer has unused code
1918          Localizer should have function implementations only if they are used in
1919          multiple subclasses.
1920         - Some Localizer subclasses hide Localizer data members
1921         - Should use String::isNull to check initialization-or-not
1922
1923         No new tests. This should not change any behavior.
1924
1925         * platform/text/Localizer.h:
1926         (Localizer):
1927         - timeFormat, shortTimeFormat, and timeAMPMLabels should be pure virtual.
1928         - Remove m_localizedDateFormatText, m_localizedShortTimeFormatText, and
1929           m_timeAMPMLabels
1930         * platform/text/Localizer.cpp:
1931         Remove implementations of timeFormat, shortTimeFormat, and timeAMPMLabels.
1932
1933         * platform/text/LocaleICU.h:
1934         (LocaleICU): Introduce m_timeFormatWithSeconds and m_timeFormatWithoutSeconds.
1935         * platform/text/LocaleICU.cpp:
1936         (WebCore::LocaleICU::initializeDateTimeFormat):
1937         Use new data members instead of Localizer data members.
1938         (WebCore::LocaleICU::dateFormat): Use isNull.
1939
1940         * platform/text/LocaleNone.cpp:
1941         (LocaleNone): Add timeFormat, shortTimeFormat, timeAMPMLabels
1942         implementations, and m_timeAMPMLabels.
1943         (WebCore::LocaleNone::timeFormat): Returns the HTML time format.
1944         (WebCore::LocaleNone::shortTimeFormat): Returns the HTML time format.
1945         (WebCore::LocaleNone::timeAMPMLabels): Returns "AM" and "PM".
1946
1947         * platform/text/LocaleWin.h:
1948         (LocaleWin): Add m_timeFormatWithSeconds.
1949         * platform/text/LocaleWin.cpp:
1950         (WebCore::LocaleWin::dateFormat): Use isNull.
1951         (WebCore::LocaleWin::timeFormat): Use m_timeFormatWithSeconds.
1952
1953         * platform/text/mac/LocaleMac.h:
1954         (LocaleMac): Rename m_localized*TimeFormatText to m_timeFormatWith*Seconds.
1955         * platform/text/mac/LocaleMac.mm:
1956         (WebCore::LocaleMac::timeFormat): Follow the renaming.
1957         (WebCore::LocaleMac::shortTimeFormat): Ditto.
1958
1959 2012-10-26  Kent Tamura  <tkent@chromium.org>
1960
1961         Crash in PagePopupController by events after WebPagePopupImpl::closePopup
1962         https://bugs.webkit.org/show_bug.cgi?id=100454
1963
1964         Reviewed by Hajime Morita.
1965
1966         No new tests. The bug is timing-dependent.
1967
1968         * page/DOMWindowPagePopup.cpp:
1969         (WebCore::DOMWindowPagePopup::~DOMWindowPagePopup):
1970         Calls clearPagePopupClient for the associalated PagePopupController object.
1971         * page/PagePopupController.cpp:
1972         (WebCore::PagePopupController::setValueAndClosePopup):
1973         Do nothing if m_popupClient is 0.
1974         (WebCore::PagePopupController::localizeNumberString): Ditto.
1975         (WebCore::PagePopupController::clearPagePopupClient): Added.
1976         * page/PagePopupController.h:
1977         (PagePopupController): Declare clearPagePopupClient.
1978
1979 2012-10-25  Alexander Pavlov  <apavlov@chromium.org>
1980
1981         Web Inspector: Bring device geolocation and orientation emulation from behind the experiment
1982         https://bugs.webkit.org/show_bug.cgi?id=100220
1983
1984         Reviewed by Yury Semikhatsky.
1985
1986         * inspector/front-end/Settings.js:
1987         (WebInspector.ExperimentsSettings):
1988         * inspector/front-end/SettingsScreen.js:
1989         (WebInspector.UserAgentSettingsTab):
1990
1991 2012-10-26  Yury Semikhatsky  <yurys@chromium.org>
1992
1993         Memory instrumentation: report memory occupied by ResourceRequest instead of its base ResourceRequestBase
1994         https://bugs.webkit.org/show_bug.cgi?id=100497
1995
1996         Reviewed by Alexander Pavlov.
1997
1998         Added memory reporting method to Chromium implementation of ResourceRequest.
1999
2000         * platform/network/ResourceRequestBase.cpp:
2001         (WebCore::ResourceRequestBase::reportMemoryUsageBase): Renamed reportMemoryUsage
2002         on ResourceRequestBase to reportMemoryUsageBase and made it protected. I'd
2003         rather make ResourceRequestBase::reportMemoryUsage virtual and override it
2004         in the descendant but ResourceRequestBase doesn't have any virtual methods
2005         and shouldn't be used directly (ResourceRequest should be used instead).
2006         * platform/network/ResourceRequestBase.h:
2007         (ResourceRequestBase):
2008         * platform/network/chromium/ResourceRequest.cpp:
2009         (WebCore::ResourceRequest::reportMemoryUsage):
2010         (WebCore):
2011         * platform/network/chromium/ResourceRequest.h:
2012         (ResourceRequest):
2013
2014 2012-10-26  Alexander Pavlov  <apavlov@chromium.org>
2015
2016         Web Inspector: Remove the on-hover highlighting of console messages
2017         https://bugs.webkit.org/show_bug.cgi?id=100511
2018
2019         Reviewed by Pavel Feldman.
2020
2021         This clashes with the hovered element highlight in console messages.
2022
2023         * inspector/front-end/inspector.css:
2024         (ol.watch-expressions > li.hovered):
2025
2026 2012-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2027
2028         Unreviewed, rolling out r132612.
2029         http://trac.webkit.org/changeset/132612
2030         https://bugs.webkit.org/show_bug.cgi?id=100512
2031
2032         Crashes fast/events/tabindex-focus-blur-all.html in debug mode
2033         (Requested by pfeldman on #webkit).
2034
2035         * rendering/AutoTableLayout.cpp:
2036         (WebCore::AutoTableLayout::recalcColumn):
2037         * rendering/FixedTableLayout.cpp:
2038         (WebCore::FixedTableLayout::calcWidthArray):
2039         * rendering/RenderTable.cpp:
2040         (WebCore::RenderTable::layout):
2041         * rendering/RenderTableCol.cpp:
2042         (WebCore::RenderTableCol::styleDidChange):
2043         (WebCore::RenderTableCol::updateFromElement):
2044         (WebCore::RenderTableCol::computePreferredLogicalWidths):
2045         * rendering/RenderTableCol.h:
2046         (RenderTableCol):
2047
2048 2012-10-26  Pavel Feldman  <pfeldman@chromium.org>
2049
2050         Web Inspector: fast return upon setting the same dock side.
2051         https://bugs.webkit.org/show_bug.cgi?id=100510
2052
2053         Reviewed by Vsevolod Vlasov.
2054
2055         Added fast return.
2056
2057         * inspector/front-end/DockController.js:
2058
2059 2012-10-26  Simon Hausmann  <simon.hausmann@digia.com>
2060
2061         Unreviewed trivial build fix: It's glXGetCurrentContext not glxGetCurrentContext :)
2062
2063         * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
2064         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
2065
2066 2012-10-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2067
2068         Printing should use use high resolution images when available
2069         https://bugs.webkit.org/show_bug.cgi?id=100488
2070
2071         Reviewed by Antti Koivisto.
2072
2073         The images loaded using -webkit-device-pixel-ratio depends on
2074         the display type (deviceScaleFactor) and thus affects which
2075         images are being used for printing. Printing should always
2076         use the higher resolution images (aka 'retina' images).
2077
2078         Test: fast/media/mq-pixel-ratio-print.html
2079
2080         * css/MediaQueryEvaluator.cpp:
2081         (WebCore::device_pixel_ratioMediaFeatureEval):
2082
2083 2012-10-26  Ilya Tikhonovsky  <loislo@chromium.org>
2084
2085         Web Inspector: NMI instrument InspectorResourceAgent. it caches resources for the front-end.
2086         https://bugs.webkit.org/show_bug.cgi?id=100496
2087
2088         Reviewed by Yury Semikhatsky.
2089
2090         It is plain instrumentation for InspectorResourceAgent and NetworkResourceData which is used by the agent.
2091
2092         * dom/WebCoreMemoryInstrumentation.cpp:
2093         (WebCore):
2094         * dom/WebCoreMemoryInstrumentation.h:
2095         (WebCoreMemoryTypes):
2096         * inspector/InspectorResourceAgent.cpp:
2097         (WebCore::InspectorResourceAgent::reportMemoryUsage):
2098         (WebCore):
2099         * inspector/InspectorResourceAgent.h:
2100         (InspectorResourceAgent):
2101         * inspector/NetworkResourcesData.cpp:
2102         (WebCore::XHRReplayData::reportMemoryUsage):
2103         (WebCore):
2104         (WebCore::NetworkResourcesData::ResourceData::reportMemoryUsage):
2105         (WebCore::NetworkResourcesData::reportMemoryUsage):
2106         * inspector/NetworkResourcesData.h:
2107         (XHRReplayData):
2108         (ResourceData):
2109         (NetworkResourcesData):
2110
2111 2012-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2112
2113         Unreviewed, rolling out r132493.
2114         http://trac.webkit.org/changeset/132493
2115         https://bugs.webkit.org/show_bug.cgi?id=100509
2116
2117         It didn't fix the tests on the bot as we had hoped. (Requested
2118         by drott on #webkit).
2119
2120         * platform/network/cf/ResourceErrorCF.cpp:
2121         (WebCore::ResourceError::ResourceError):
2122
2123 2012-10-26  Zeno Albisser  <zeno@webkit.org>
2124
2125         [Qt] Temporarily disable use of QXcbNativeInterface in GraphicsSurfaceGLX.
2126         https://bugs.webkit.org/show_bug.cgi?id=100493
2127
2128         Once QXcbNativeInterface::nativeResourceForContext() can provide the
2129         GLXContext for an existing QOpenGLContext, this patch shall be reverted.
2130
2131         Reviewed by Simon Hausmann.
2132
2133         * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
2134         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
2135
2136 2012-10-26  Zeno Albisser  <zeno@webkit.org>
2137
2138         [Qt] Remove QOpenGL specific code from GraphicsSurfaceGLX.
2139         https://bugs.webkit.org/show_bug.cgi?id=100492
2140
2141         This patch removes most of the QOpenGLContext related code
2142         from GraphicsSurfaceGLX. This allows sharing almost all
2143         GraphicsSurfaceGLX code with EFL, by relying on pure GLX.
2144
2145         Reviewed by Kenneth Rohde Christiansen.
2146
2147         * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
2148         (WebCore::OffScreenRootWindow::get):
2149         (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
2150         (OffScreenRootWindow):
2151         (WebCore):
2152         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
2153         (WebCore::GraphicsSurfacePrivate::createSurface):
2154         (WebCore::GraphicsSurfacePrivate::makeCurrent):
2155         (WebCore::GraphicsSurfacePrivate::doneCurrent):
2156         (WebCore::GraphicsSurfacePrivate::swapBuffers):
2157         (WebCore::GraphicsSurfacePrivate::copyFromTexture):
2158         (GraphicsSurfacePrivate):
2159         (WebCore::resolveGLMethods):
2160
2161 2012-10-26  Regina Chung  <heejin.r.chung@samsung.com>
2162
2163         [EFL][WK2] Enable WebGL
2164         https://bugs.webkit.org/show_bug.cgi?id=97652
2165
2166         Reviewed by Gyuyoung Kim.
2167
2168         Implemented GraphicsSurface for EFL to enable WebGL for WebKit2.
2169         Depends on GLX since Evas doesn't provide the necessary functionality.
2170
2171         No new tests. Covered by existing tests.
2172
2173         * PlatformEfl.cmake:
2174         * platform/graphics/GraphicsContext3D.h:
2175         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
2176         (WebCore::GraphicsContext3D::createGraphicsSurfaces):
2177         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
2178         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
2179         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
2180         (WebCore):
2181         (WebCore::GraphicsContext3DPrivate::createGraphicsSurfaces):
2182         (WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
2183         (WebCore::GraphicsContext3DPrivate::graphicsSurfaceToken):
2184         * platform/graphics/efl/GraphicsContext3DPrivate.h:
2185         (GraphicsContext3DPrivate):
2186         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2187         (WebCore::GraphicsContext3D::reshape):
2188         * platform/graphics/surfaces/efl: Added.
2189         * platform/graphics/surfaces/efl/GraphicsSurfaceEfl.cpp: Added.
2190         (WebCore):
2191         (WebCore::OffScreenRootWindow::get):
2192         (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
2193         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
2194         (WebCore::GraphicsSurfacePrivate::createSurface):
2195         (WebCore::GraphicsSurfacePrivate::makeCurrent):
2196         (WebCore::GraphicsSurfacePrivate::doneCurrent):
2197         (WebCore::GraphicsSurfacePrivate::swapBuffers):
2198         (WebCore::GraphicsSurface::platformBeginPaint):
2199         (WebCore::GraphicsSurface::createReadOnlyImage):
2200         * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
2201         * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.h: Added.
2202         (WebCore):
2203         (OffScreenRootWindow):
2204         (WebCore::OffScreenRootWindow::OffScreenRootWindow):
2205         (GraphicsSurfacePrivate):
2206         (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
2207         (WebCore::GraphicsSurfacePrivate::createPixmap):
2208         (WebCore::GraphicsSurfacePrivate::copyFromTexture):
2209         (WebCore::GraphicsSurfacePrivate::display):
2210         (WebCore::GraphicsSurfacePrivate::glxPixmap):
2211         (WebCore::GraphicsSurfacePrivate::size):
2212         (WebCore::GraphicsSurfacePrivate::glContext):
2213         (WebCore::resolveGLMethods):
2214         * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp:
2215         (WebCore):
2216         (WebCore::OffScreenRootWindow::OffScreenRootWindow::get):
2217         (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
2218         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
2219         (WebCore::GraphicsSurfacePrivate::createSurface):
2220         (WebCore::GraphicsSurfacePrivate::makeCurrent):
2221         (WebCore::GraphicsSurfacePrivate::doneCurrent):
2222         (WebCore::GraphicsSurfacePrivate::swapBuffers):
2223
2224 2012-10-26  Alexander Pavlov  <apavlov@chromium.org>
2225
2226         Web Inspector: [Overrides] Do not persist the User Agent "master switch"
2227         https://bugs.webkit.org/show_bug.cgi?id=100484
2228
2229         Reviewed by Yury Semikhatsky.
2230
2231         The User Agent override state is managed in the front-end, just like for other override-able parameters.
2232
2233         * inspector/InspectorResourceAgent.cpp:
2234         (WebCore::InspectorResourceAgent::disable):
2235         * inspector/front-end/NetworkManager.js:
2236         (WebInspector.NetworkManager.get NetworkAgent):
2237         (WebInspector.NetworkManager):
2238         * inspector/front-end/SettingsScreen.js:
2239         (WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.set checkboxClicked):
2240         (WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement):
2241         * inspector/front-end/UserAgentSupport.js:
2242         (WebInspector.UserAgentSupport):
2243         (WebInspector.UserAgentSupport.prototype.toggleUserAgentOverride):
2244         (WebInspector.UserAgentSupport.prototype._userAgentChanged):
2245
2246 2012-10-26  Takashi Sakamoto  <tasak@google.com>
2247
2248         [Shadow]: removing styles in shadow dom subtree causes crash.
2249         https://bugs.webkit.org/show_bug.cgi?id=100455
2250
2251         Reviewed by Hajime Morita.
2252
2253         To quickly check whether shadow roots or elements have any scoped
2254         styles or not, elements have hasStyleScoped flag. If elements have
2255         any scoped styles, the styles are direct children of the element.
2256         The original code just sees how many chilren are scoped style or not.
2257         However styles in shadow dom subtree are registered with the shadow
2258         root but are not always direct children of shadow roots. So to check
2259         whether shadow roots have any scoped styles, modified to count
2260         number of styles registered with the shadow root.
2261
2262         Test: fast/dom/shadow/remove-styles-in-shadow-crash.html
2263
2264         * dom/Node.cpp:
2265         (WebCore::Node::registerScopedHTMLStyleChild):
2266         (WebCore::Node::unregisterScopedHTMLStyleChild):
2267         Made the above two method virtual. class ShadowRoot overrides these
2268         methods.
2269         (WebCore::Node::numberOfScopedHTMLStyleChildren):
2270         Moved HTMLStyleElement.cpp to Node.cpp, because the above two methods
2271         are moved into Node.cpp.
2272         * dom/Node.h:
2273         (Node):
2274         * dom/ShadowRoot.cpp:
2275         (WebCore::ShadowRoot::ShadowRoot):
2276         (WebCore::ShadowRoot::registerScopedHTMLStyleChild):
2277         (WebCore::ShadowRoot::unregisterScopedHTMLStyleChild):
2278         Modify to count how many styles are registered with the shadow root.
2279         The "counting" is done when styles are registered and unregistered
2280         with the shadow root, i.e. style element is inserted into document or
2281         removed from document. When unregister some style, there are no more
2282         styles registered with the shadow root. Set style scoped flag false.
2283         * dom/ShadowRoot.h:
2284         (ShadowRoot):
2285         * html/HTMLStyleElement.cpp:
2286         * html/HTMLStyleElement.h:
2287         (WebCore::HTMLStyleElement::isRegisteredAsScoped):
2288         Now isRegisteredAsScoped is used in Node.cpp, so removed inline and
2289         moved .cpp to .h.
2290
2291 2012-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2292
2293         Unreviewed, rolling out r132589.
2294         http://trac.webkit.org/changeset/132589
2295         https://bugs.webkit.org/show_bug.cgi?id=100498
2296
2297         Breaks font-face layout tests (Requested by pfeldman on
2298         #webkit).
2299
2300         * css/CSSFontFaceSource.cpp:
2301         (WebCore::CSSFontFaceSource::getFontData):
2302
2303 2012-10-26  Takashi Sakamoto  <tasak@google.com>
2304
2305         [Shadow DOM] Needs @host rule for ShadowDOM styling
2306         https://bugs.webkit.org/show_bug.cgi?id=88606
2307
2308         Reviewed by Hajime Morita.
2309
2310         Implemented @host-@rules according to the shadow dom spec:
2311         http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#host-at-rule
2312         The design doc is:
2313         https://docs.google.com/document/d/1P2yorchF8lci2sccr-mVSRf2dtvjKeiuyQWzCB2bEA8/edit
2314
2315         Test: fast/dom/shadow/athost-atrules.html
2316
2317         * css/CSSGrammar.y.in:
2318         Added rules for parsing @host @-rules.
2319         * css/CSSParser.cpp:
2320         (WebCore::CSSParser::detectAtToken):
2321         Added a new token "@host".
2322         (WebCore::CSSParser::createHostRule):
2323         Added a new method to create an @host @-rule, which is invoked from
2324         (WebCore):
2325         * css/CSSParser.h:
2326         Added a declaration of the above new method: createHostRule.
2327         * css/CSSPropertySourceData.h:
2328         Added HOST_RULE to enum Type.
2329         * css/RuleSet.cpp:
2330         (WebCore::RuleData::RuleData):
2331         Modified multiple bool arguments into one argument. Now it
2332         uses combinations of values from enum AddRuleFlags.
2333         (WebCore::RuleSet::addRule):
2334         (WebCore::RuleSet::addRegionRule):
2335         (WebCore::RuleSet::addStyleRule):
2336         Updated according to the RuleData's change.
2337         Modified to Invoke increaseSpecificity if the given rule is @host
2338         @-rule.
2339         (WebCore::RuleSet::addRulesFromSheet):
2340         Invoked addHostRule if the given rule is @host @-rule.
2341         * css/RuleSet.h:
2342         (RuleData):
2343         (WebCore::RuleData::increaseSpecificity):
2344         Added a new method to increase selector's specificity. This method is
2345         used to make @host @-rules' specificity larger than normal author
2346         rules' specificity.
2347         (RuleSet):
2348         * css/StyleResolver.cpp:
2349         (WebCore::makeRuleSet):
2350         (WebCore::StyleResolver::addHostRule):
2351         A wrapper method to invoke StyleScopeResolver::addHostRule. The method
2352         is used to make only StyleResolver know an implementation detail about
2353         class StyleScopeResolver.
2354         (WebCore::StyleResolver::appendAuthorStylesheets):
2355         Updated according to the RuleData's change.
2356         (WebCore::StyleResolver::styleSharingCandidateMatchesHostRules):
2357         A new method to find matched host rules when an element is given.
2358         This method invokes
2359         StyleScopeResolver::styleSharingCandidateMatchesHostRules to find
2360         matched host rules.
2361         (WebCore):
2362         (WebCore::StyleResolver::matchHostRules):
2363         A new method to find matched host rules when an element is given.
2364         This method invokes StyleScopeResolver::matchHostRules to find
2365         matched host rules.
2366         (WebCore::StyleResolver::matchScopedAuthorRules):
2367         Modified to invoke matchHostRules.
2368         (WebCore::StyleResolver::locateSharedStyle):
2369         Disable sibling style cache if the given element is a shadow host and
2370         any @host @-rules are applied to the element.
2371         * css/StyleResolver.h:
2372         (WebCore::StyleResolver::ensureScopeResolver):
2373         If no scopeResolver is created, create and return the instance.
2374         If created, just return the instance.
2375         (StyleResolver):
2376         * css/StyleRule.cpp:
2377         (WebCore::StyleRuleBase::reportMemoryUsage):
2378         (WebCore::StyleRuleBase::destroy):
2379         (WebCore::StyleRuleBase::copy):
2380         (WebCore::StyleRuleBase::createCSSOMWrapper):
2381         (WebCore::StyleRuleHost::StyleRuleHost):
2382         Implemented class StyleRuleHost. The class is almost the same as
2383         StyleRuleBlock except type.
2384         (WebCore):
2385         * css/StyleRule.h:
2386         (WebCore::StyleRuleBase::isHostRule):
2387         (StyleRuleHost):
2388         (WebCore::StyleRuleHost::create):
2389         (WebCore::StyleRuleHost::copy):
2390         (WebCore):
2391         * css/StyleScopeResolver.cpp:
2392         (WebCore::StyleScopeResolver::ensureAtHostRuleSetFor):
2393         A new method to create a new RuleSet for the given shadow root.
2394         (WebCore):
2395         (WebCore::StyleScopeResolver::atHostRuleSetFor):
2396         A new private inline method to obtain @host @-rules declared in
2397         the given shadow root.
2398         (WebCore::StyleScopeResolver::addHostRule):
2399         Added a new method to register @host @-rules with shadow roots.
2400         (WebCore::StyleScopeResolver::styleSharingCandidateMatchesHostRules):
2401         A new method to find whether any @host @-rules are applied to
2402         the given host element.
2403         (WebCore::StyleScopeResolver::matchHostRules):
2404         A new method to find matched rules for the given host element.
2405         (WebCore::StyleScopeResolver::reportMemoryUsage):
2406         * css/StyleScopeResolver.h:
2407         (WebCore):
2408         (StyleScopeResolver):
2409         * css/StyleSheetContents.cpp:
2410         (WebCore::childRulesHaveFailedOrCanceledSubresources):
2411
2412 2012-10-26  Jaehun Lim  <ljaehun.lim@samsung.com>
2413
2414         [CMAKE] Add TextAutosizer.cpp in WebCore/CMakeLists.txt
2415         https://bugs.webkit.org/show_bug.cgi?id=100476
2416
2417         Reviewed by Kentaro Hara.
2418
2419         ENABLE_TEXT_AUTOSIZING option is added in CMAKE,
2420         but the source file for that feature is omitted.
2421
2422         No new tests. Covered by existing tests.
2423
2424         * CMakeLists.txt:
2425
2426 2012-10-26  Julien Chaffraix  <jchaffraix@webkit.org>
2427
2428         RenderTableCol::computePreferredLogicalWidths and RenderTableCol::layout should never be called
2429         https://bugs.webkit.org/show_bug.cgi?id=99861
2430
2431         Reviewed by Ojan Vafai.
2432
2433         RenderTableCol's computePreferredLogicalWidths and layout's only purpose were to clear the preferred logical
2434         widths dirty / layout flag so that we would properly propagate the information to our containing table. This
2435         led to clunky code where the table layout code had to forcefully call RenderTableCol::computePreferredLogicalWidths
2436         or else we would ignore the next layout hint on the <col> or <colgroup>.
2437
2438         Tests: fast/table/col-span-change-relayout.html
2439                fast/table/simplified-layout-table.html
2440
2441         * rendering/AutoTableLayout.cpp:
2442         (WebCore::AutoTableLayout::recalcColumn):
2443         * rendering/RenderTable.cpp:
2444         (WebCore::RenderTable::layout):
2445         Simplified the code now that we only need to iterate over the sections.
2446
2447         * rendering/FixedTableLayout.cpp:
2448         (WebCore::FixedTableLayout::calcWidthArray):
2449         Removed call to computePreferredLogicalWidths.
2450
2451         * rendering/RenderTableCol.cpp:
2452         (WebCore::RenderTableCol::styleDidChange):
2453         (WebCore::RenderTableCol::updateFromElement):
2454         Forward a layout hint to the table so that we properly recompute the cell's logical withs.
2455
2456         (WebCore::RenderTableCol::computePreferredLogicalWidths):
2457         (WebCore::RenderTableCol::layout):
2458         Change our implementations of those 2 methods to be no-ops, while enforcing that they are
2459         never called when it was possible.
2460
2461         (WebCore::RenderTableCol::propagateLayoutCueToTable):
2462         New helper function that forward any layout cue to the containing table, this works around
2463         us not clearing the flags which confuses RenderObject markContainingBlocksForLayout and
2464         invalidateContainerPreferredLogicalWidths.
2465
2466         * rendering/RenderTableCol.h:
2467         Made the function that we are not expected to be called private.
2468
2469 2012-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2470
2471         Unreviewed, rolling out r132601.
2472         http://trac.webkit.org/changeset/132601
2473         https://bugs.webkit.org/show_bug.cgi?id=100494
2474
2475         It broke the Qt build (Requested by Ossy on #webkit).
2476
2477         * PlatformEfl.cmake:
2478         * platform/graphics/GraphicsContext3D.h:
2479         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
2480         (WebCore::GraphicsContext3D::createGraphicsSurfaces):
2481         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
2482         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
2483         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
2484         (WebCore):
2485         * platform/graphics/efl/GraphicsContext3DPrivate.h:
2486         (GraphicsContext3DPrivate):
2487         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2488         (WebCore::GraphicsContext3D::reshape):
2489         * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
2490         (WebCore::OffScreenRootWindow::get):
2491         (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
2492         (OffScreenRootWindow):
2493         (WebCore):
2494         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
2495         (WebCore::GraphicsSurfacePrivate::createSurface):
2496         (WebCore::GraphicsSurfacePrivate::makeCurrent):
2497         (WebCore::GraphicsSurfacePrivate::doneCurrent):
2498         (WebCore::GraphicsSurfacePrivate::swapBuffers):
2499         (WebCore::GraphicsSurfacePrivate::copyFromTexture):
2500         (GraphicsSurfacePrivate):
2501         (WebCore::resolveGLMethods):
2502
2503 2012-10-26  Yury Semikhatsky  <yurys@chromium.org>
2504
2505         Memory instrumentation: do not report memory occupied by v8::String
2506         https://bugs.webkit.org/show_bug.cgi?id=100487
2507
2508         Reviewed by Alexander Pavlov.
2509
2510         Pointers to v8::String are skipped when reporting memory usage of V8 bindings'
2511         string cache.
2512
2513         * bindings/v8/V8Binding.cpp:
2514         (WTF):
2515
2516 2012-10-26  Mihnea Ovidenie  <mihnea@adobe.com>
2517
2518         [CSSRegions] Add support for auto-height regions with region-breaks
2519         https://bugs.webkit.org/show_bug.cgi?id=99952
2520
2521         Reviewed by David Hyatt.
2522
2523         This patch takes region breaks into account when computing the height for auto logical height regions.
2524         When a region break is encountered before/after an element from within a flow thread and we are in the layout
2525         phase in which we lay out the flow threads in regions unconstrained, we use the region break to
2526         compute the region override logical content height if the region break fits inside an auto logical height region.
2527         A region break inside an auto logical height region determines the region override logical content height, taking
2528         min/max height into account.
2529
2530         Tests: fast/regions/autoheight-allregions-nobreaks.html
2531                fast/regions/autoheight-allregions.html
2532                fast/regions/autoheight-breakafteralways-maxheight.html
2533                fast/regions/autoheight-breakbeforealways.html
2534                fast/regions/autoheight-firstregion-breakalways.html
2535                fast/regions/autoheight-lastregion-overflowauto-breaksignored.html
2536                fast/regions/autoheight-lastregion-overflowauto.html
2537                fast/regions/autoheight-middleregion.html
2538                fast/regions/autoheight-secondregion-breakoutside.html
2539                fast/regions/autoheight-secondregion.html
2540                fast/regions/autoheight-singleregion-breakafteralways-maxheight.html
2541                fast/regions/autoheight-singleregion-breakafteralways.html
2542                fast/regions/autoheight-singleregion-breakaftermargin.html
2543                fast/regions/autoheight-singleregion-breakbeforealways-minheight.html
2544                fast/regions/autoheight-singleregion-breakbeforealways.html
2545                fast/regions/autoheight-singleregion-multiplebreaks.html
2546                fast/regions/autoheight-singleregion-overflowauto-breaksignored.html
2547                fast/regions/autoheight-singleregion-overflowauto.html
2548
2549         * rendering/RenderBlock.cpp: When encounter a region break before/after an element inside a flow thread,
2550         try to use it to determine the override logical content height for auto logical height regions.
2551         (WebCore::RenderBlock::applyBeforeBreak):
2552         (WebCore::RenderBlock::applyAfterBreak):
2553         * rendering/RenderFlowThread.cpp:
2554         (WebCore::RenderFlowThread::layout):
2555         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
2556         Simulate a region break at the end of the flow thread content.
2557         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
2558         (WebCore::RenderFlowThread::clearOverrideLogicalContentHeightInRegions):
2559         Helper method used to clear the overrideLogicalContentHeight for auto logical height regions.
2560         (WebCore::RenderFlowThread::addForcedRegionBreak):
2561         Extend the method to process region breaks. The method returns true if at least one auto logical height region
2562         has its override logical content height computed.        
2563         * rendering/RenderFlowThread.h:
2564         * rendering/RenderRegion.cpp: Make these methods work with auto logical height regions.
2565         (WebCore::RenderRegion::pageLogicalHeight):
2566         (WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent):
2567
2568 2012-10-26  Regina Chung  <heejin.r.chung@samsung.com>
2569
2570         [EFL][WK2] Enable WebGL
2571         https://bugs.webkit.org/show_bug.cgi?id=97652
2572
2573         Reviewed by Gyuyoung Kim.
2574
2575         Implemented GraphicsSurface for EFL to enable WebGL for WebKit2.
2576         Depends on GLX since Evas doesn't provide the necessary functionality.
2577
2578         No new tests. Covered by existing tests.
2579
2580         * PlatformEfl.cmake:
2581         * platform/graphics/GraphicsContext3D.h:
2582         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
2583         (WebCore::GraphicsContext3D::createGraphicsSurfaces):
2584         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
2585         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
2586         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
2587         (WebCore):
2588         (WebCore::GraphicsContext3DPrivate::createGraphicsSurfaces):
2589         (WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
2590         (WebCore::GraphicsContext3DPrivate::graphicsSurfaceToken):
2591         * platform/graphics/efl/GraphicsContext3DPrivate.h:
2592         (GraphicsContext3DPrivate):
2593         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2594         (WebCore::GraphicsContext3D::reshape):
2595         * platform/graphics/surfaces/efl: Added.
2596         * platform/graphics/surfaces/efl/GraphicsSurfaceEfl.cpp: Added.
2597         (WebCore):
2598         (WebCore::OffScreenRootWindow::get):
2599         (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
2600         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
2601         (WebCore::GraphicsSurfacePrivate::createSurface):
2602         (WebCore::GraphicsSurfacePrivate::makeCurrent):
2603         (WebCore::GraphicsSurfacePrivate::doneCurrent):
2604         (WebCore::GraphicsSurfacePrivate::swapBuffers):
2605         (WebCore::GraphicsSurface::platformBeginPaint):
2606         (WebCore::GraphicsSurface::createReadOnlyImage):
2607         * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
2608         * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.h: Added.
2609         (WebCore):
2610         (OffScreenRootWindow):
2611         (WebCore::OffScreenRootWindow::OffScreenRootWindow):
2612         (GraphicsSurfacePrivate):
2613         (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
2614         (WebCore::GraphicsSurfacePrivate::createPixmap):
2615         (WebCore::GraphicsSurfacePrivate::copyFromTexture):
2616         (WebCore::GraphicsSurfacePrivate::display):
2617         (WebCore::GraphicsSurfacePrivate::glxPixmap):
2618         (WebCore::GraphicsSurfacePrivate::size):
2619         (WebCore::GraphicsSurfacePrivate::glContext):
2620         (WebCore::resolveGLMethods):
2621         * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp:
2622         (WebCore):
2623         (WebCore::OffScreenRootWindow::OffScreenRootWindow::get):
2624         (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
2625         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
2626         (WebCore::GraphicsSurfacePrivate::createSurface):
2627         (WebCore::GraphicsSurfacePrivate::makeCurrent):
2628         (WebCore::GraphicsSurfacePrivate::doneCurrent):
2629         (WebCore::GraphicsSurfacePrivate::swapBuffers):
2630
2631 2012-10-26  Thiago Marcos P. Santos  <thiago.santos@intel.com>
2632
2633         Add feature flags for CSS Device Adaptation
2634         https://bugs.webkit.org/show_bug.cgi?id=95960
2635
2636         Reviewed by Kenneth Rohde Christiansen.
2637
2638         * Configurations/FeatureDefines.xcconfig:
2639         * GNUmakefile.am:
2640         * GNUmakefile.features.am:
2641
2642 2012-10-26  Li Yin  <li.yin@intel.com>
2643
2644         fast/forms/file/input-file-write-files.html should cover correct setting value
2645         https://bugs.webkit.org/show_bug.cgi?id=100085
2646
2647         Reviewed by Kentaro Hara.
2648
2649         From Spec: http://dev.w3.org/html5/spec/single-page.html#dom-input-value-filename
2650         On setting, if the new value is the empty string, it must empty the list of selected
2651         files; otherwise, it must throw an InvalidStateError exception.
2652
2653         Test: fast/forms/file/input-file-value.html
2654
2655         * html/HTMLInputElement.cpp:
2656         (WebCore::HTMLInputElement::setValue):
2657         (WebCore):
2658         * html/HTMLInputElement.h:
2659         (HTMLInputElement):
2660         * html/HTMLInputElement.idl:
2661
2662 2012-10-26  Keishi Hattori  <keishi@webkit.org>
2663
2664         Refactor calendar picker to remove _x/_y from DaysTable
2665         https://bugs.webkit.org/show_bug.cgi?id=100460
2666
2667         Reviewed by Kent Tamura.
2668
2669         _x/_y properties keep the coordinates for the selection but when we add
2670         week and month picking capabilities, the selection can't be expressed as
2671         a set of coordinates. This change will remove it.
2672
2673         No new tests. Covered by calendar-picker-*.html tests.
2674
2675         * Resources/pagepopups/calendarPicker.js:
2676         (DaysTable): Removed _x/_y properties.
2677         (DaysTable.prototype._hasSelection): Changed to refer to the DOM to see if we have a selection.
2678         (DaysTable.prototype.navigateToMonthAndKeepSelectionPosition): Lookup the selection position.
2679         (DaysTable.prototype.selectDate): Deselect first so we don't have two selections.
2680         (DaysTable.prototype._selectRangeContainingNode): Selects date/week/month containing the given day node.
2681         (DaysTable.prototype._selectRangeAtPosition): Selects date/week/month at the given position.
2682         (DaysTable.prototype._firstNodeInSelectedRange): Returns first selected day node.
2683         (DaysTable.prototype._deselect): Deselects all selections.
2684         (DaysTable.prototype._handleMouseOver): Use _selectRangeContainingNode so we don't have many places handling the selection.
2685         (DaysTable.prototype._handleMouseOut): Use _deselect.
2686         (DaysTable.prototype._handleKey): Lookup the selection position.
2687         (DaysTable.prototype.updateSelection): Use _selectRangeAtPosition.
2688
2689 2012-10-26  Ningxin Hu  <ningxin.hu@intel.com>
2690
2691         FileReader abort case causes Chromium renderer crash
2692         https://bugs.webkit.org/show_bug.cgi?id=99142
2693
2694         Reviewed by Kentaro Hara.
2695
2696         Before dispatching load event, FileReader should check if it is
2697         in aborting.
2698
2699         Test: manually launch fast/files/file-reader-abort.html in Chromium
2700         browser and compare the result with
2701         fast/files/file-reader-abort-expected.txt.
2702
2703         * fileapi/FileReader.cpp:
2704         (WebCore::FileReader::didFinishLoading):
2705
2706 2012-10-26  Julien Chaffraix  <jchaffraix@webkit.org>
2707
2708         Generate less repaint calls during subtree detaching
2709         https://bugs.webkit.org/show_bug.cgi?id=99741
2710
2711         Reviewed by Eric Seidel.
2712
2713         Following bug 98336, detach is now a subtree top-down operation. Because we
2714         track visual overflow from our children during layout for most cases, we can
2715         generate a repaint only on the subtree root.
2716
2717         On http://dglazkov.github.com/performance-tests/redraw.html, this ups the FPS to
2718         26 fps from 22 fps on my MBP (+ 15%). On PerformanceTests/layout/subtree-detach.html,
2719         it decreases the time by 35%. This is due to being the best case and we now generate
2720         only one repaint per detach phase.
2721
2722         Covered by existing pixels tests (including but not limited to repaint ones).
2723
2724         * rendering/RenderObject.cpp:
2725         (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
2726         Changed the function not to be recursive anymore to generate one painting for
2727         our root only. Added a FIXME about using our RenderLayer for repainting to avoid
2728         the cost of computing our absolute repaint rectangle.
2729
2730         * rendering/RenderObjectChildList.cpp:
2731         (WebCore::RenderObjectChildList::removeChildNode):
2732         Removed the logic for repainting in the general case. However we still force a repaint
2733         if we have a RenderLayer as we don't track their overflow in some cases (e.g. positioned
2734         objects). This check is conservative and could be narrowed down (e.g overflow RenderLayers
2735         are properly accounted for in our clipppedOverflowRectForRepaint).
2736
2737 2012-10-26  Kenichi Ishibashi  <bashi@chromium.org>
2738
2739         local(Helvetica) in src descriptor prevent fallback
2740         https://bugs.webkit.org/show_bug.cgi?id=100446
2741
2742         Reviewed by Dan Bernstein.
2743
2744         FontCache::getCachedFontData() has a mechanism that aliases a few pairs
2745         of font family names, so that if the family name specified in the font-family
2746         property is not available on the system, but the its alias is available,
2747         it will be used instead. This is appropriate for the font-family property,
2748         but not for font family names specified in the local() function of the src
2749         descriptor in a @font-face rule.
2750
2751         This patch disables the mechanism while checking src descriptor of @font-face.
2752
2753         No new tests. It's difficult to test the change because 'Helvetica' can
2754         be mapped any other font. For example, chromium DRT uses FontConfig to
2755         map Helvetica to Times New Roman. Other ports may map Helvetica to other
2756         fonts. We can't define the expected result.
2757
2758         * css/CSSFontFaceSource.cpp:
2759         (WebCore::CSSFontFaceSource::getFontData):
2760         Call fontCache()->getCachedFontData() with checkingAlternateName = true.
2761         This disables aliasing font family names in FontCache.
2762
2763 2012-10-26  Eugene Klyuchnikov  <eustas.bug@gmail.com>
2764
2765         Web Inspector: Doctype Audits panel code
2766         https://bugs.webkit.org/show_bug.cgi?id=100371
2767
2768         Reviewed by Alexander Pavlov.
2769
2770         This is a preparation step for ongoing refactoring.
2771         It is much easier to read doctyped code.
2772
2773         * inspector/front-end/AuditRules.js:
2774         (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
2775         Replaced "undefined" with "null"
2776         * inspector/front-end/AuditsPanel.js:
2777         (WebInspector.AuditCategory.prototype.callbackWrapper):
2778         Removed callback parameter indirection.        
2779         (WebInspector.AuditRuleResult.prototype.addFormatted):
2780         Converted private instance function to scoped function.
2781
2782 2012-10-26  János Badics  <jbadics@inf.u-szeged.hu>
2783
2784         [Qt]REGRESSION(r131428): cookies.db created on wrong place
2785         https://bugs.webkit.org/show_bug.cgi?id=99445
2786
2787         Reviewed by Simon Hausmann.
2788
2789         Added a slash to the path of cookies.db in CookieJarQt.cpp.
2790
2791         * platform/qt/CookieJarQt.cpp:
2792         (WebCore::SharedCookieJarQt::SharedCookieJarQt):
2793
2794 2012-10-26  Adam Barth  <abarth@webkit.org>
2795
2796         Unreviewed. This ASSERT is no longer correct (and fires on many tests.)
2797
2798         * bindings/v8/V8DOMWrapper.h:
2799         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
2800
2801 2012-10-26  Kent Tamura  <tkent@chromium.org>
2802
2803         [Chromium-Win] Support shortTimeFormat
2804         https://bugs.webkit.org/show_bug.cgi?id=100471
2805
2806         Reviewed by Kentaro Hara.
2807
2808         No new tests. Covered by fast/forms/time-multiple-fields/ and
2809         WebKit/chromium/tests/LocaleWinTest.
2810
2811         * platform/text/LocaleWin.cpp:
2812         (WebCore::LocaleWin::shortTimeFormat):
2813         Gets a format by LOCALE_SSHORTTIME. If it fails, remove "<delimiter>ss"
2814         from the format by LOCALE_STIMEFORMAT.
2815         * platform/text/LocaleWin.h:
2816         (LocaleWin): Declare m_timeFormatWithoutSeconds.
2817
2818 2012-10-26  Adam Barth  <abarth@webkit.org>
2819
2820         Unreviewed. Update run-bindings-tests results after recent active DOM
2821         object changes.
2822
2823         * bindings/scripts/test/V8/V8TestInterface.cpp:
2824         (WebCore::V8TestInterface::constructorCallback):
2825         (WebCore::V8TestInterface::wrapSlow):
2826         * bindings/scripts/test/V8/V8TestInterface.h:
2827         (WebCore::V8TestInterface::wrap):
2828         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2829         (WebCore::V8TestNamedConstructorConstructorCallback):
2830         (WebCore::V8TestNamedConstructor::wrapSlow):
2831         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2832         (WebCore::V8TestNamedConstructor::wrap):
2833
2834 2012-10-26  MORITA Hajime  <morrita@google.com>
2835
2836         [V8] REGRESSION(132540) Assertion failure on V8DOMWrapper::setJSWrapperForDOMNode()
2837         https://bugs.webkit.org/show_bug.cgi?id=100462
2838
2839         Reviewed by Adam Barth.
2840
2841         Removed the no longer correct assertion statement.
2842
2843         No new tests. Covered by breaking tests.
2844
2845         * bindings/v8/V8DOMWrapper.cpp:
2846         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
2847
2848 2012-10-25  Adam Barth  <abarth@webkit.org>
2849
2850         [V8] WorkerContextExecutionProxy should use ScopedPersistent
2851         https://bugs.webkit.org/show_bug.cgi?id=100443
2852
2853         Reviewed by Eric Seidel.
2854
2855         This class was manually re-implementing the ScopedPersistent pattern.
2856
2857         * bindings/v8/WorkerContextExecutionProxy.cpp:
2858         (WebCore::WorkerContextExecutionProxy::dispose):
2859         (WebCore::WorkerContextExecutionProxy::initializeIfNeeded):
2860         (WebCore::WorkerContextExecutionProxy::evaluate):
2861         * bindings/v8/WorkerContextExecutionProxy.h:
2862         (WebCore::WorkerContextExecutionProxy::context):
2863         (WorkerContextExecutionProxy):
2864
2865 2012-10-25  Peter Wang  <peter.wang@torchmobile.com.cn>
2866
2867         A mistake in WebCore::JavaScriptCallFrame::evaluate which will cause assert failed
2868         https://bugs.webkit.org/show_bug.cgi?id=100347
2869
2870         Reviewed by Mark Lam and Filip Pizlo.
2871
2872         In worker context, calling "JSDOMWindowBase::commonJSGlobalData" will cause assert,
2873         since there is "ASSERT(isMainThread())" in "JSDOMWindowBase::commonJSGlobalData".
2874
2875         No new test case, since no behaviour changed.
2876
2877         * bindings/js/JavaScriptCallFrame.cpp:
2878         (WebCore::JavaScriptCallFrame::evaluate):
2879
2880 2012-10-25  Adam Barth  <abarth@webkit.org>
2881
2882         [V8] We can merge the wrapper maps for DOM objects and active DOM objects
2883         https://bugs.webkit.org/show_bug.cgi?id=100432
2884
2885         Reviewed by Eric Seidel.
2886
2887         Now that we use the same object to visit both DOM objects and active
2888         DOM objects, there's no reason to keep them in separate hash maps.
2889
2890         * bindings/scripts/CodeGeneratorV8.pm:
2891         (GetDomMapName):
2892         * bindings/v8/DOMDataStore.cpp:
2893         (WebCore::DOMDataStore::DOMDataStore):
2894         (WebCore::DOMDataStore::~DOMDataStore):
2895         (WebCore::DOMDataStore::reportMemoryUsage):
2896         * bindings/v8/DOMDataStore.h:
2897         (DOMDataStore):
2898         * bindings/v8/V8DOMMap.cpp:
2899         * bindings/v8/V8DOMMap.h:
2900         (NodeWrapperVisitor):
2901         (WebCore):
2902         * bindings/v8/V8DOMWrapper.h:
2903         (V8DOMWrapper):
2904         * bindings/v8/V8GCController.cpp:
2905         (WebCore::V8GCController::majorGCPrologue):
2906         * bindings/v8/custom/V8WebSocketCustom.cpp:
2907         (WebCore::V8WebSocket::constructorCallback):
2908         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
2909         (WebCore::V8XMLHttpRequest::constructorCallback):
2910
2911 2012-10-25  Charles Wei  <charles.wei@torchmobile.com.cn>
2912
2913         [BlackBerry] User Challenged again after browser restart for HTTP/FTP sites already successfully authenticated.
2914         https://bugs.webkit.org/show_bug.cgi?id=100448
2915
2916         Reviewed by George Staikos.
2917
2918         Internally reviewed by Joe Mason.
2919
2920         We didn't check the persistent Credential Storage for Credentials when challenged by the server.
2921
2922         Manual Test: login to ftp://localhost on BlackBerry device, and restart the browser to login again.
2923
2924         * platform/network/blackberry/NetworkJob.cpp:
2925         (WebCore::NetworkJob::sendRequestWithCredentials):
2926
2927 2012-10-25  Joshua Bell  <jsbell@chromium.org>
2928
2929         IndexedDB: Add histogram statistics for backing store errors
2930         https://bugs.webkit.org/show_bug.cgi?id=98465
2931
2932         Reviewed by Adam Barth.
2933
2934         Define a macro for consistent asserting (during development), logging, and recording
2935         internal backing store errors via histograms. Define specific histogram values to
2936         track issues with opening backing stores to gather stats on corruption.
2937
2938         No new tests - just the stats, ma'am, just the stats.
2939
2940         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
2941         (WebCore):
2942         (WebCore::setUpMetadata):
2943         (WebCore::IDBLevelDBBackingStore::open):
2944         (WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData):
2945         (WebCore::IDBLevelDBBackingStore::createIDBDatabaseMetaData):
2946         (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseIntVersion):
2947         (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseMetaData):
2948         (WebCore::deleteRange):
2949         (WebCore::IDBLevelDBBackingStore::getObjectStores):
2950         (WebCore::IDBLevelDBBackingStore::createObjectStore):
2951         (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
2952         (WebCore::IDBLevelDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
2953         (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
2954         (WebCore::IDBLevelDBBackingStore::getIndexes):
2955         (WebCore::IDBLevelDBBackingStore::createIndex):
2956         (WebCore::IDBLevelDBBackingStore::deleteIndex):
2957         (WebCore::IDBLevelDBBackingStore::findKeyInIndex):
2958
2959 2012-10-25  Adam Barth  <abarth@webkit.org>
2960
2961         [V8] We can merge ActiveDOMObjectPrologueVisitor with ObjectVisitor
2962         https://bugs.webkit.org/show_bug.cgi?id=100430
2963
2964         Reviewed by Eric Seidel.
2965
2966         There's no reason for these visitors to be separate objects anymore.
2967
2968         * bindings/v8/V8GCController.cpp:
2969         (WebCore::ObjectVisitor::ObjectVisitor):
2970         (WebCore::ObjectVisitor::visitDOMWrapper):
2971         (WebCore::V8GCController::majorGCPrologue):
2972
2973 2012-10-25  Tony Chang  <tony@chromium.org>
2974
2975         Remove unused static methods from DOMTimer.h
2976         https://bugs.webkit.org/show_bug.cgi?id=100427
2977
2978         Reviewed by Kenneth Russell.
2979
2980         Since these values got moved into Settings, these methods are no longer called.
2981
2982         No new tests, removing dead code.
2983
2984         * page/DOMTimer.h:
2985         (DOMTimer): Remove unused getters.
2986
2987 2012-10-25  Leo Yang  <leoyang@rim.com>
2988
2989         [BlackBerry] Infinite redirect loop is not displayed to user
2990         https://bugs.webkit.org/show_bug.cgi?id=100420
2991
2992         Reviewed by George Staikos.
2993
2994         CNN.com is redirecting us infinitely with 302 http code and response body. We catch
2995         it my setting our extended error code as we defined. But we were not trying to notify
2996         error because we have received body. This was wrong. For extended http status code
2997         which is less than 0 we should display our own error page regardless there was data
2998         received from the server or not.
2999
3000         Tested by manually loading CNN.com.
3001
3002         * platform/network/blackberry/NetworkJob.cpp:
3003         (WebCore::NetworkJob::shouldNotifyClientFailed):
3004
3005 2012-10-25  Nico Weber  <thakis@chromium.org>
3006
3007         Flip ImageOrientation coordinate system from lefthanded to righthanded
3008         https://bugs.webkit.org/show_bug.cgi?id=100414
3009
3010         Reviewed by Eric Seidel.
3011
3012         platform/graphics, noteably GraphicsContext uses a right-handed
3013         coordinate system (origin in the top left corner, x growing to the
3014         right, y to the bottom).  ImageOrientation was an outlier from
3015         and used a left-handed coordinate system.  This patch makes
3016         ImageOrientation match the rest of platform/graphics.
3017
3018         This is a pure refactoring and has no observable effects.
3019
3020         * platform/chromium/DragImageChromiumSkia.cpp:
3021         (WebCore::createDragImageFromImage):
3022         * platform/graphics/ImageOrientation.cpp:
3023         (WebCore::ImageOrientation::transformFromDefault):
3024         * platform/graphics/cg/GraphicsContextCG.cpp:
3025         (WebCore::GraphicsContext::drawNativeImage):
3026         * platform/graphics/skia/ImageSkia.cpp:
3027         (WebCore::BitmapImage::draw):
3028         * platform/mac/DragImageMac.mm:
3029         (WebCore::createDragImageFromImage):
3030         * rendering/RenderObject.cpp:
3031         (WebCore::RenderObject::shouldRespectImageOrientation):
3032
3033 2012-10-25  Keishi Hattori  <keishi@webkit.org>
3034
3035         Hide popup while transitioning from the suggestion picker to the calendar picker
3036         https://bugs.webkit.org/show_bug.cgi?id=99537
3037
3038         Reviewed by Kent Tamura.
3039
3040         Right now you can see a squished calendar picker while transitioning
3041         from suggestion picker from calendar picker. This change will hide the
3042         popup before opening the calendar picker.
3043
3044         No new tests.
3045
3046         * Resources/pagepopups/pickerCommon.js: Hiding the window will also trigger a resize event so I created a separate event, didOpenPicker.
3047         (hideWindow): Resize the window to 1x1 because we can't resize to 0x0.
3048         * Resources/pagepopups/suggestionPicker.js:
3049         (SuggestionPicker.prototype.selectEntry): Hide the window first and then open the calendar picker.
3050
3051 2012-10-25  Anders Carlsson  <andersca@apple.com>
3052
3053         Fix build.
3054
3055         * page/mac/EventHandlerMac.mm:
3056         (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
3057
3058 2012-10-25  Anders Carlsson  <andersca@apple.com>
3059
3060         Remove feed and feeds URL scheme workarounds
3061         https://bugs.webkit.org/show_bug.cgi?id=100442
3062
3063         Reviewed by Dan Bernstein.
3064
3065         * dom/DocumentEventQueue.cpp:
3066         (WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
3067         * page/mac/EventHandlerMac.mm:
3068         (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
3069
3070 2012-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
3071
3072         Unreviewed, rolling out r132514.
3073         http://trac.webkit.org/changeset/132514
3074         https://bugs.webkit.org/show_bug.cgi?id=100440
3075
3076         "Broke chromium content_browsertests AccessibilityAriaMenu
3077         AccessibilityInputRange AccessibilityListMarkers" (Requested
3078         by scheib on #webkit).
3079
3080         * accessibility/AXObjectCache.cpp:
3081         (WebCore::AXObjectCache::getOrCreate):
3082         (WebCore::AXObjectCache::contentChanged):
3083         (WebCore::AXObjectCache::childrenChanged):
3084         (WebCore::AXObjectCache::handleAriaRoleChanged):
3085         * accessibility/AXObjectCache.h:
3086         (AXObjectCache):
3087         (WebCore::AXObjectCache::contentChanged):
3088         * accessibility/AccessibilityObject.cpp:
3089         (WebCore::AccessibilityObject::AccessibilityObject):
3090         * accessibility/AccessibilityObject.h:
3091         (WebCore::AccessibilityObject::contentChanged):
3092         (AccessibilityObject):
3093         * accessibility/AccessibilityRenderObject.cpp:
3094         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3095         (WebCore::AccessibilityRenderObject::correspondingControlForLabelElement):
3096         (WebCore::AccessibilityRenderObject::contentChanged):
3097         * accessibility/AccessibilityRenderObject.h:
3098         (AccessibilityRenderObject):
3099         * accessibility/AccessibilityScrollView.cpp:
3100         (WebCore::AccessibilityScrollView::isAttachment):
3101         (WebCore::AccessibilityScrollView::widgetForAttachmentView):
3102         (WebCore::AccessibilityScrollView::updateScrollbars):
3103         (WebCore::AccessibilityScrollView::webAreaObject):
3104         (WebCore::AccessibilityScrollView::elementRect):
3105         (WebCore::AccessibilityScrollView::documentFrameView):
3106         (WebCore::AccessibilityScrollView::parentObject):
3107         (WebCore::AccessibilityScrollView::parentObjectIfExists):
3108         (WebCore::AccessibilityScrollView::getScrollableAreaIfScrollable):
3109         (WebCore::AccessibilityScrollView::scrollTo):
3110         * accessibility/AccessibilityScrollView.h:
3111         (WebCore::AccessibilityScrollView::scrollView):
3112         (AccessibilityScrollView):
3113         * accessibility/AccessibilityTable.cpp:
3114         (WebCore::AccessibilityTable::isDataTable):
3115         * accessibility/chromium/AXObjectCacheChromium.cpp:
3116         (WebCore::AXObjectCache::postPlatformNotification):
3117         * dom/Element.cpp:
3118         (WebCore::Element::attributeChanged):
3119         * rendering/RenderBlock.cpp:
3120         (WebCore::RenderBlock::deleteLineBoxTree):
3121         (WebCore::RenderBlock::createAndAppendRootInlineBox):
3122         * rendering/RenderObject.cpp:
3123         (WebCore::RenderObject::styleWillChange):
3124         * rendering/RenderText.cpp:
3125         (WebCore::RenderText::setText):
3126
3127 2012-10-25  Dan Bernstein  <mitz@apple.com>
3128
3129         <rdar://problem/12544626> [cg] RenderBlock::selectionGaps() is extremely slow when there are many floats
3130         https://bugs.webkit.org/show_bug.cgi?id=100413
3131
3132         Reviewed by Anders Carlsson.
3133
3134         RenderBlock::selectionGaps() calls GraphicsContext::clipOut(const IntRect&) for each float.
3135         Sped up the Core Graphics implementation of this function considerably by removing an
3136         unnecessary call to CGContextGetClipBoundingBox.
3137
3138         * platform/graphics/cg/GraphicsContextCG.cpp:
3139         (WebCore::GraphicsContext::clipOut): Changed to use CGRectInfinite rather than the bounding
3140         box of the current clip.
3141
3142 2012-10-25  Tim Horton  <timothy_horton@apple.com>
3143
3144         REGRESSION (132422): Tiles don't move when the Find dialog causes programmatic scrolls
3145         https://bugs.webkit.org/show_bug.cgi?id=100433
3146         <rdar://problem/12575582>
3147
3148         Reviewed by Simon Fraser.
3149
3150         Actually update GraphicsLayer positions from updateMainFrameScrollPosition if
3151         we're doing a programmatic scroll; otherwise programmatic scrolls while scrolling
3152         on the main thread will short-circuit and end up only updating the GraphicsLayer's
3153         notion of its current position, but never synchronizing that to the layer itself.
3154
3155         No new tests, as this is currently untestable.
3156
3157         * page/scrolling/ScrollingCoordinator.cpp:
3158         (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
3159
3160 2012-10-25  Simon Fraser  <simon.fraser@apple.com>
3161
3162         Tiled layers are missing content on zooming
3163         https://bugs.webkit.org/show_bug.cgi?id=100422
3164
3165         Reviewed by Beth Dakin.
3166
3167         Tiled layers using TileCaches were missing content after
3168         zooming. TileCache was confused in the presence of scaling;
3169         it unapplies the scale on the layer above the tiles (so the tiles
3170         live in screen space), and computed the tile coverage rect
3171         in these tile coordinates. This worked for the page tile cache,
3172         because its visibleRect was sent in pre-scaled. However, for
3173         tiled layer TileCaches this was wrong.
3174         
3175         Fix by scaling the tile coverage rect by m_scale before
3176         using it to compute which tiles to throw away and bring in.
3177         
3178         To fix the problem of the visibleRect being pre-scaled
3179         for the page tile cache, remove the setting of the visibleRect
3180         in RenderLayerCompositor::frameViewDidScroll(), and rely on 
3181         GraphicsLayerCA::updateVisibleRect() which computes the
3182         visible rect in the correct, layer coordinates.
3183
3184         Test: compositing/tiling/tile-cache-zoomed.html
3185
3186         * platform/graphics/ca/GraphicsLayerCA.cpp:
3187         (WebCore::GraphicsLayerCA::updateVisibleRect): Call setVisibleRect()
3188         for all tile cache layers, not just tiled layer ones, but only do
3189         the visible rect adjustment for those that are not the page tile cache.
3190         * platform/graphics/ca/mac/TileCache.mm:
3191         (WebCore::TileCache::revalidateTiles): Use a coverageRectInTileCoords rect,
3192         which is scaled to be in the same coordinate space as the tile grid.
3193         * rendering/RenderLayerCompositor.cpp:
3194         (WebCore::RenderLayerCompositor::frameViewDidScroll): Remove the code
3195         that sets the setVisibleRect() on the TiledBacking.
3196
3197 2012-10-25  Adam Barth  <abarth@webkit.org>
3198
3199         [V8] ActiveDOMNodes no longer require a separate wrapper map
3200         https://bugs.webkit.org/show_bug.cgi?id=100352
3201
3202         Reviewed by Eric Seidel.
3203
3204         There is no longer any reason to keep a separate DOM wrapper map for
3205         active DOM nodes. We can simply store them in the normal DOM node
3206         wrapper map (which is more efficient because it doesn't use a HashMap).
3207
3208         * bindings/scripts/CodeGeneratorV8.pm:
3209         (GetDomMapName):
3210         * bindings/v8/DOMDataStore.cpp:
3211         (WebCore::DOMDataStore::DOMDataStore):
3212         (WebCore::DOMDataStore::~DOMDataStore):
3213         (WebCore::DOMDataStore::reportMemoryUsage):
3214         * bindings/v8/DOMDataStore.h:
3215         (DOMDataStore):
3216         * bindings/v8/IntrusiveDOMWrapperMap.h:
3217         * bindings/v8/V8DOMMap.cpp:
3218         * bindings/v8/V8DOMMap.h:
3219         (WebCore):
3220         * bindings/v8/V8DOMWrapper.cpp:
3221         * bindings/v8/V8DOMWrapper.h:
3222         (V8DOMWrapper):
3223         (WebCore::V8DOMWrapper::getCachedWrapper):
3224
3225 2012-10-25  Tony Chang  <tony@chromium.org>
3226
3227         Unreviewed, fix the build on Mac.
3228
3229         Putting the getter in the Settings.h caused the global variable to be inlined and needing it to be exported.
3230         Instead, put the implementation in the cpp file.
3231
3232         * page/Settings.cpp:
3233         (WebCore::Settings::defaultMinDOMTimerInterval):
3234         (WebCore):
3235         (WebCore::Settings::defaultDOMTimerAlignmentInterval):
3236         * page/Settings.h:
3237         (Settings):
3238
3239 2012-10-25  Tony Chang  <tony@chromium.org>
3240
3241         Move default DOM Timer values into Settings
3242         https://bugs.webkit.org/show_bug.cgi?id=100405
3243
3244         Reviewed by Kenneth Russell.
3245
3246         Move the global values for defaultMinDOMTimerInterval and defaultDOMTimerAlignmentInterval into
3247         the Settings object. This is more consistent with other global settings and allows us to remove
3248         the setters on the DOMTimer object.
3249
3250         No new tests, this is a refactor.
3251
3252         * page/DOMTimer.cpp: Remove globals.
3253         * page/DOMTimer.h:
3254         (WebCore::DOMTimer::defaultMinTimerInterval): Call through to Settings
3255         (WebCore::DOMTimer::defaultTimerAlignmentInterval): Call through to Settings.
3256         (DOMTimer): Remove setters.
3257         * page/Settings.cpp:
3258         (WebCore::Settings::setDefaultMinDOMTimerInterval): Use a global in Settings.
3259         (WebCore::Settings::setDefaultDOMTimerAlignmentInterval): Use a global in Settings.
3260         * page/Settings.h:
3261         (WebCore::Settings::defaultMinDOMTimerInterval): Inline the getter.
3262         (WebCore::Settings::defaultDOMTimerAlignmentInterval): Inline the getter.
3263         (Settings): Add globals.
3264
3265 2012-10-25  Simon Fraser  <simon.fraser@apple.com>
3266
3267         Report the tile coverage rect in layer coords, and add some tests for tiled backing and zooming
3268         https://bugs.webkit.org/show_bug.cgi?id=100416
3269
3270         Reviewed by Beth Dakin.
3271
3272         The tileCoverageRect is computed in "tile" coordinates, which don't match
3273         the visibleRect coordinates. It's more useful when testing to see the
3274         tile coverage relative to the view bounds, so unapply the scale whem
3275         reporting tile coverage in tests.
3276
3277         Tests: platform/mac/tiled-drawing/tiled-drawing-zoom-scrolled.html
3278                platform/mac/tiled-drawing/tiled-drawing-zoom.html
3279
3280         * platform/graphics/ca/mac/TileCache.h:
3281         * platform/graphics/ca/mac/TileCache.mm:
3282         (WebCore::TileCache::tileCoverageRect):
3283
3284 2012-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
3285
3286         Unreviewed, rolling out r132269.
3287         http://trac.webkit.org/changeset/132269
3288         https://bugs.webkit.org/show_bug.cgi?id=100412
3289
3290         "Speculative rollout of r132269 in hopes of fixing a
3291         mysterious recalcStyle crasher" (Requested by eseidel on
3292         #webkit).
3293
3294         * rendering/RenderBlock.cpp:
3295         (WebCore::RenderBlock::updateFirstLetter):
3296         * rendering/RenderListBox.h:
3297         * rendering/RenderObjectChildList.cpp:
3298         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
3299
3300 2012-10-25  Stephen White  <senorblanco@chromium.org>
3301
3302         Change ReferenceFilterOperations to reference (own) the data passed to
3303         them.
3304         https://bugs.webkit.org/show_bug.cgi?id=97715
3305
3306         Reviewed by Nate Chapin.
3307
3308         Covered by css3/filters/reference-filter-update-after-remove.html
3309
3310         * css/CachedSVGDocumentReference.h: Added.
3311         (CachedSVGDocumentReference):
3312         New class which holds a CachedResourceHandle<CachedSVGDocument>, but
3313         can be placed in ReferenceFilterOperation's Data.  It also calls
3314         addClient() / removeClient(), in order to keep the CachedSVGDocument
3315         alive until the FilterEffectRenderer can get it.
3316         (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
3317         (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
3318         (WebCore::CachedSVGDocumentReference::document):
3319         Accessor for the underlying document.
3320         * css/StyleResolver.cpp:
3321         (WebCore::StyleResolver::loadPendingSVGDocuments):
3322         Wrap the CachedSVGDocument handle in a CachedSVGDocumentReference, and
3323         transfer ownership to the ReferenceFilterOperation.
3324         (WebCore::StyleResolver::createFilterOperations):
3325         Same as above.
3326         * platform/graphics/filters/FilterOperation.h:
3327         (Data):
3328         New base class for generic data which can be deleted polymorphically.
3329         (WebCore::FilterOperation::ReferenceFilterOperation::data):
3330         (WebCore::FilterOperation::ReferenceFilterOperation::setData):
3331         Use the above-mentioned Data class, instead of a void *.
3332         (WebCore::FilterOperation::ReferenceFilterOperation::ReferenceFilterOperation):
3333         Don't initialize data to null; OwnPtr will do that for us.
3334         * rendering/FilterEffectRenderer.cpp:
3335         (WebCore::FilterEffectRenderer::buildReferenceFilter):
3336         Extract the cached SVG document from the reference data.
3337         * rendering/RenderLayerFilterInfo.cpp:
3338         (WebCore::RenderLayerFilterInfo::updateReferenceFilterClients):
3339         Extract the cached SVG document from the reference data.
3340
3341 2012-10-25  Simon Fraser  <simon.fraser@apple.com>
3342
3343         Incorrect tile size in the slow scrolling case
3344         https://bugs.webkit.org/show_bug.cgi?id=100411
3345
3346         Reviewed by Beth Dakin.
3347
3348         If we're in slow scrolling mode, we don't want to inflate the
3349         coverage rect based on scrollability. This ensures that the few
3350         big tiles we create have the correct size.
3351
3352         * platform/graphics/ca/mac/TileCache.mm:
3353         (WebCore::TileCache::computeTileCoverageRect):
3354
3355 2012-10-25  Nico Weber  <thakis@chromium.org>
3356
3357         Move ImageOrientation transform back in CG space (lower-left origin), adapt the skia code to work with that, turn on feature for chromium
3358         https://bugs.webkit.org/show_bug.cgi?id=100401
3359
3360         Reviewed by Eric Seidel.
3361
3362         This is an alternative fix for the regression caused by r132384 / bug
3363         100179. The bug exists because different pieces of code didn't agree
3364         which space the transformation returned by ImageOrientation was in.
3365
3366         r132384 moved it from CG coordinates to skia coordinates, but didn't
3367         do it completetely. This CL reverts this part of r132384 so that the
3368         transformation is in CG coordinates again, and adapts the skia code to
3369         work in that space.
3370
3371         Alternatively, https://bugs.webkit.org/show_bug.cgi?id=100319 woudl
3372         make the cg code work with the transform in skia coordinates.
3373
3374         Covered by fast/images/exif-orientation.html
3375
3376         * platform/chromium/DragImageChromiumSkia.cpp:
3377         (WebCore::createDragImageFromImage):
3378         * platform/graphics/ImageOrientation.cpp:
3379         (WebCore::ImageOrientation::transformFromDefault):
3380         * platform/graphics/ImageOrientation.h:
3381         (WebCore):
3382         (WebCore::ImageOrientation::usesWidthAsHeight):
3383         (WebCore::ImageOrientation::fromEXIFValue):
3384         (ImageOrientation):
3385         * platform/graphics/cg/GraphicsContextCG.cpp:
3386         (WebCore::GraphicsContext::drawNativeImage):
3387         * platform/graphics/skia/ImageSkia.cpp:
3388         (WebCore::BitmapImage::draw):
3389         * platform/mac/DragImageMac.mm:
3390         (WebCore::createDragImageFromImage):
3391         * rendering/RenderObject.cpp:
3392         (WebCore::RenderObject::shouldRespectImageOrientation):
3393
3394 2012-10-25  Simon Fraser  <simon.fraser@apple.com>
3395
3396         Log the tile cache tile size in test output
3397         https://bugs.webkit.org/show_bug.cgi?id=100409
3398
3399         Reviewed by Beth Dakin.
3400
3401         When dumping tile cache information in tests, also dump the tile size.
3402
3403         * platform/graphics/TiledBacking.h:
3404         * platform/graphics/ca/GraphicsLayerCA.cpp:
3405         (WebCore::GraphicsLayerCA::dumpAdditionalProperties):
3406         * platform/graphics/ca/mac/TileCache.h:
3407
3408 2012-10-25  Arnaud Renevier  <a.renevier@sisa.samsung.com>
3409
3410         do not multiply/demultiply colors when alpha is 255
3411         https://bugs.webkit.org/show_bug.cgi?id=89246
3412
3413         Reviewed by Kenneth Rohde Christiansen.
3414
3415         Do not use colorFromPremultipliedARGB in getImageData nor
3416         premultipliedARGBFromColor in putByteArray. Avoiding object creation
3417         and function call make canvas.getImageData about 10% faster and
3418         canvas.putImageData about 30% faster.
3419
3420         Also, we avoid multiplication/demultiplication computation when alpha
3421         is 255. Result is the same, but when there is no transparency,
3422         canvas.getImageData is about 4x faster, and canvas.putImageData is
3423         about 2x faster.
3424
3425         No new tests. No change in behavior.
3426
3427         * platform/graphics/cairo/ImageBufferCairo.cpp:
3428         (WebCore::getImageData):
3429         (WebCore::ImageBuffer::putByteArray):
3430
3431 2012-10-25  Nate Chapin  <japhet@chromium.org>
3432
3433         Add a main resource type to the memory cache
3434         https://bugs.webkit.org/show_bug.cgi?id=99864
3435
3436         Reviewed by Adam Barth.
3437
3438         No new tests, no functionality change.
3439
3440         * inspector/InspectorPageAgent.cpp:
3441         (WebCore::hasTextContent):
3442         (WebCore::InspectorPageAgent::cachedResourceType):
3443         * loader/SubresourceLoader.cpp:
3444         (WebCore::SubresourceLoader::willSendRequest):
3445         (WebCore::SubresourceLoader::didReceiveResponse):
3446         (WebCore::SubresourceLoader::didFail):
3447         * loader/cache/CachedRawResource.cpp:
3448         (WebCore::CachedRawResource::CachedRawResource):
3449         (WebCore::CachedRawResource::addAdditionalRequestHeaders):
3450         (WebCore):
3451         (WebCore::CachedRawResource::setShouldBufferData):
3452         (WebCore::CachedRawResource::loader):
3453         (WebCore::CachedRawResource::clear):
3454         * loader/cache/CachedRawResource.h:
3455         (WebCore):
3456         (CachedRawResource):
3457         * loader/cache/CachedResource.cpp:
3458         (WebCore::defaultPriorityForResourceType):
3459         (WebCore::cachedResourceTypeToTargetType):
3460         (WebCore::CachedResource::updateResourceRequest):
3461         (WebCore):
3462         * loader/cache/CachedResource.h:
3463         (WebCore::CachedResource::setResourceError):
3464         (WebCore::CachedResource::resourceError):
3465         (CachedResource):