1 2012-07-05 Gabor Rapcsanyi <rgabor@webkit.org>
3 NEON intrinsics should be used with gaussian blur filter
4 https://bugs.webkit.org/show_bug.cgi?id=90166
6 Reviewed by Zoltan Herczeg.
8 Rewrite inline assembly to NEON intrinsics for better portabilty
9 and readibility. Remove unnecessary FEGaussianBlurNEON.cpp and add
10 NEONHelpers.h to the project which will contains the shared
11 NEON code of the filters.
13 Existing tests cover this issue.
16 * GNUmakefile.list.am:
19 * WebCore.vcproj/WebCore.vcproj:
20 * WebCore.xcodeproj/project.pbxproj:
21 * platform/graphics/filters/FEGaussianBlur.cpp:
22 (WebCore::FEGaussianBlur::platformApplyGeneric):
23 (WebCore::FEGaussianBlur::platformApplyWorker):
24 * platform/graphics/filters/FEGaussianBlur.h:
26 * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp: Removed.
27 * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
28 (WebCore::boxBlurNEON):
29 * platform/graphics/filters/arm/NEONHelpers.h: Added.
31 (WebCore::loadRGBA8AsFloat):
32 (WebCore::storeFloatAsRGBA8):
34 2012-07-05 Sam D <dsam2912@gmail.com>
36 Web Inspector: Having a "Scroll into view" for nodes through web inspector.
37 https://bugs.webkit.org/show_bug.cgi?id=89554
39 Added options for scrolling-into-view the element node through web
42 Reviewed by Pavel Feldman.
44 No new tests. UI change.
46 * English.lproj/localizedStrings.js:
47 * inspector/front-end/ElementsTreeOutline.js:
48 (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
50 * inspector/front-end/RemoteObject.js:
51 (WebInspector.RemoteObject.prototype.callFunction):
53 2012-07-05 Zan Dobersek <zandobersek@gmail.com>
55 Add Gamepad logging channel
56 https://bugs.webkit.org/show_bug.cgi?id=90570
58 Reviewed by Carlos Garcia Campos.
60 Add a new logging channel for logging significant
61 events that are related to Gamepad API implementation.
63 No new tests - no new testable functionality.
65 * platform/Logging.cpp:
67 (WebCore::getChannelFromName):
70 * platform/gtk/GamepadsGtk.cpp: Log when a device is
71 registered or unregistered.
72 (WebCore::GamepadsGtk::registerDevice):
73 (WebCore::GamepadsGtk::unregisterDevice):
75 2012-07-05 Peter Wang <peter.wang@torchmobile.com.cn>
77 Web Inspector: [JSC] support JS execution in the context of an isolated world
78 https://bugs.webkit.org/show_bug.cgi?id=85709
80 Reviewed by Gavin Barraclough.
82 No new test case for this bug.
84 * bindings/js/ScriptController.cpp:
85 (WebCore::ScriptController::collectIsolatedContexts):
88 2012-07-04 Huang Dongsung <luxtella@company100.net>
90 Add virtual keyword to ~BitmapImage and ~StillImage because ~Image is virtual.
91 https://bugs.webkit.org/show_bug.cgi?id=90447
93 Reviewed by Alexey Proskuryakov.
95 No new tests. This patch doesn't change behavior.
97 * platform/graphics/BitmapImage.h:
99 * platform/graphics/qt/StillImageQt.h:
102 2012-07-04 Mike West <mkwst@chromium.org>
104 Implement the script-nonce Content Security Policy directive.
105 https://bugs.webkit.org/show_bug.cgi?id=89577
107 Reviewed by Adam Barth.
109 This patch implements the (experimental) script-nonce Content Security
110 Policy directive from the 1.1 spec, which allows for selective
111 execution of script by specifying a "nonce" attribute for the
112 script tag. Script is only loaded and executed if it both matches the
113 nonce and matches the script-src whitelist (if present).
115 The implementation is gated on the ENABLE_CSP_NEXT flag, which is
116 currently disabled for all ports other than Chromium.
118 Spec: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#script-nonce--experimental
120 Tests: http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed.html
121 http/tests/security/contentSecurityPolicy/1.1/scriptnonce-badnonce.html
122 http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked.html
123 http/tests/security/contentSecurityPolicy/1.1/scriptnonce-emptynonce.html
124 http/tests/security/contentSecurityPolicy/1.1/scriptnonce-scriptsrc-blocked.html
126 * dom/ScriptElement.cpp:
127 (WebCore::ScriptElement::requestScript):
128 (WebCore::ScriptElement::executeScript):
129 Passing the nonce attribute through to check against CSP.
130 * html/HTMLAttributeNames.in:
131 * html/HTMLScriptElement.idl:
132 Adding the `nonce` attribute to the script tag.
133 * page/ContentSecurityPolicy.cpp:
135 (WebCore::CSPDirectiveList::logInvalidNonce):
137 (WebCore::CSPDirectiveList::checkNonceAndReportViolation):
138 (WebCore::CSPDirectiveList::allowJavaScriptURLs):
139 (WebCore::CSPDirectiveList::allowInlineEventHandlers):
140 If a nonce is set, deny JavaScript URLs and inline event handlers.
141 (WebCore::CSPDirectiveList::allowScriptNonce):
142 (WebCore::CSPDirectiveList::parseScriptNonce):
143 (WebCore::CSPDirectiveList::addDirective):
144 (WebCore::isAllowedByAllWithNonce):
145 (WebCore::ContentSecurityPolicy::allowScriptNonce):
146 * page/ContentSecurityPolicy.h:
149 2012-07-04 Gyuyoung Kim <gyuyoung.kim@samsung.com>
151 Notifications should be in Modules/notifications
152 https://bugs.webkit.org/show_bug.cgi?id=82121
154 Reviewed by Adam Barth.
156 The notifications directory is now self-contained. This patch moves it to the Modules directory.
158 No new tests, covered by existing tests.
161 * DerivedSources.make:
162 * DerivedSources.pri:
164 * GNUmakefile.list.am:
165 * Modules/notifications/DOMWindowNotifications.cpp: Renamed from Source/WebCore/notifications/DOMWindowNotifications.cpp.
167 (WebCore::DOMWindowNotifications::DOMWindowNotifications):
168 (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
169 (WebCore::DOMWindowNotifications::from):
170 (WebCore::DOMWindowNotifications::webkitNotifications):
171 (WebCore::DOMWindowNotifications::disconnectFrameForPageCache):
172 (WebCore::DOMWindowNotifications::reconnectFrameFromPageCache):
173 (WebCore::DOMWindowNotifications::willDestroyGlobalObjectInCachedFrame):
174 (WebCore::DOMWindowNotifications::willDestroyGlobalObjectInFrame):
175 (WebCore::DOMWindowNotifications::willDetachGlobalObjectFromFrame):
176 * Modules/notifications/DOMWindowNotifications.h: Renamed from Source/WebCore/notifications/DOMWindowNotifications.h.
178 (DOMWindowNotifications):
179 * Modules/notifications/DOMWindowNotifications.idl: Renamed from Source/WebCore/notifications/DOMWindowNotifications.idl.
180 * Modules/notifications/Notification.cpp: Renamed from Source/WebCore/notifications/Notification.cpp.
182 (WebCore::Notification::Notification):
183 (WebCore::Notification::~Notification):
184 (WebCore::Notification::create):
185 (WebCore::getAndAddEventListener):
186 (WebCore::Notification::interfaceName):
187 (WebCore::Notification::show):
188 (WebCore::Notification::close):
189 (WebCore::Notification::eventTargetData):
190 (WebCore::Notification::ensureEventTargetData):
191 (WebCore::Notification::contextDestroyed):
192 (WebCore::Notification::finalize):
193 (WebCore::Notification::dispatchShowEvent):
194 (WebCore::Notification::dispatchClickEvent):
195 (WebCore::Notification::dispatchCloseEvent):
196 (WebCore::Notification::dispatchErrorEvent):
197 (WebCore::Notification::taskTimerFired):
198 (WebCore::Notification::permissionLevel):
199 (WebCore::Notification::permissionString):
200 (WebCore::Notification::requestPermission):
201 * Modules/notifications/Notification.h: Renamed from Source/WebCore/notifications/Notification.h.
204 (WebCore::Notification::cancel):
205 (WebCore::Notification::isHTML):
206 (WebCore::Notification::setHTML):
207 (WebCore::Notification::url):
208 (WebCore::Notification::setURL):
209 (WebCore::Notification::iconURL):
210 (WebCore::Notification::title):
211 (WebCore::Notification::body):
212 (WebCore::Notification::dir):
213 (WebCore::Notification::setDir):
214 (WebCore::Notification::replaceId):
215 (WebCore::Notification::setReplaceId):
216 (WebCore::Notification::tag):
217 (WebCore::Notification::setTag):
218 (WebCore::Notification::direction):
219 (WebCore::Notification::scriptExecutionContext):
220 (WebCore::Notification::detachPresenter):
221 (WebCore::Notification::setBody):
222 (WebCore::Notification::refEventTarget):
223 (WebCore::Notification::derefEventTarget):
224 * Modules/notifications/Notification.idl: Renamed from Source/WebCore/notifications/Notification.idl.
225 * Modules/notifications/NotificationCenter.cpp: Renamed from Source/WebCore/notifications/NotificationCenter.cpp.
227 (WebCore::NotificationCenter::create):
228 (WebCore::NotificationCenter::NotificationCenter):
229 (WebCore::NotificationCenter::checkPermission):
230 (WebCore::NotificationCenter::requestPermission):
231 (WebCore::NotificationCenter::stop):
232 (WebCore::NotificationCenter::requestTimedOut):
233 (WebCore::NotificationCenter::NotificationRequestCallback::createAndStartTimer):
234 (WebCore::NotificationCenter::NotificationRequestCallback::NotificationRequestCallback):
235 (WebCore::NotificationCenter::NotificationRequestCallback::startTimer):
236 (WebCore::NotificationCenter::NotificationRequestCallback::timerFired):
237 * Modules/notifications/NotificationCenter.h: Renamed from Source/WebCore/notifications/NotificationCenter.h.
239 (NotificationCenter):
240 (WebCore::NotificationCenter::createHTMLNotification):
241 (WebCore::NotificationCenter::createNotification):
242 (WebCore::NotificationCenter::client):
243 (NotificationRequestCallback):
244 * Modules/notifications/NotificationCenter.idl: Renamed from Source/WebCore/notifications/NotificationCenter.idl.
245 * Modules/notifications/NotificationClient.h: Renamed from Source/WebCore/notifications/NotificationClient.h.
247 (NotificationClient):
248 (WebCore::NotificationClient::clearNotifications):
249 (WebCore::NotificationClient::~NotificationClient):
250 * Modules/notifications/NotificationController.cpp: Renamed from Source/WebCore/notifications/NotificationController.cpp.
252 (WebCore::NotificationController::NotificationController):
253 (WebCore::NotificationController::~NotificationController):
254 (WebCore::NotificationController::create):
255 (WebCore::NotificationController::clientFrom):
256 (WebCore::NotificationController::supplementName):
257 (WebCore::provideNotification):
258 * Modules/notifications/NotificationController.h: Renamed from Source/WebCore/notifications/NotificationController.h.
260 (NotificationController):
261 (WebCore::NotificationController::from):
262 (WebCore::NotificationController::client):
263 * Modules/notifications/NotificationPermissionCallback.h: Renamed from Source/WebCore/notifications/NotificationPermissionCallback.h.
265 (NotificationPermissionCallback):
266 (WebCore::NotificationPermissionCallback::~NotificationPermissionCallback):
267 * Modules/notifications/NotificationPermissionCallback.idl: Renamed from Source/WebCore/notifications/NotificationPermissionCallback.idl.
268 * Modules/notifications/WorkerContextNotifications.cpp: Renamed from Source/WebCore/notifications/WorkerContextNotifications.cpp.
270 (WebCore::WorkerContextNotifications::WorkerContextNotifications):
271 (WebCore::WorkerContextNotifications::~WorkerContextNotifications):
272 (WebCore::WorkerContextNotifications::from):
273 (WebCore::WorkerContextNotifications::webkitNotifications):
274 * Modules/notifications/WorkerContextNotifications.h: Renamed from Source/WebCore/notifications/WorkerContextNotifications.h.
276 (WorkerContextNotifications):
277 * Modules/notifications/WorkerContextNotifications.idl: Renamed from Source/WebCore/notifications/WorkerContextNotifications.idl.
279 * WebCore.gyp/WebCore.gyp:
282 * WebCore.vcproj/WebCore.vcproj:
283 * WebCore.vcproj/WebCoreCommon.vsprops:
284 * WebCore.vcproj/copyForwardingHeaders.cmd:
285 * WebCore.xcodeproj/project.pbxproj:
287 2012-07-04 Hayato Ito <hayato@chromium.org>
289 Remove inline keywords from functions which can not be inlined in ComposedShadowTreeWalker
290 https://bugs.webkit.org/show_bug.cgi?id=90432
292 Reviewed by Hajime Morita.
294 No new tests - no functional changes.
296 * dom/ComposedShadowTreeWalker.cpp:
297 (WebCore::ComposedShadowTreeWalker::traverseParent):
298 (WebCore::ComposedShadowTreeWalker::traverseParentBackToYoungerShadowRootOrHost):
300 2012-07-04 Luke Macpherson <macpherson@chromium.org>
302 Inspector crashes when trying to inspect a page with CSS variables
303 https://bugs.webkit.org/show_bug.cgi?id=89818
305 Reviewed by Antti Koivisto.
307 Patch works by fixing treating handling of CSSPropertyID == CSSPropertyVariable as a special case,
308 and looking up the author-defined property name from the CSSValue.
310 Added test inspector/styles/variables/css-variables.html that inspects an element using CSS variables.
311 Test is skipped when variables are compiled out.
313 * css/CSSProperty.cpp:
314 (WebCore::CSSProperty::cssName):
316 (WebCore::CSSProperty::cssText):
319 * css/PropertySetCSSStyleDeclaration.cpp:
320 (WebCore::PropertySetCSSStyleDeclaration::item):
321 * css/StylePropertySet.cpp:
322 (WebCore::StylePropertySet::asText):
323 * inspector/InspectorStyleSheet.cpp:
324 (WebCore::InspectorStyle::populateAllProperties):
326 2012-07-04 Anthony Scian <ascian@rim.com>
328 Web Inspector [JSC]: Implement ScriptCallStack::stackTrace
329 https://bugs.webkit.org/show_bug.cgi?id=40118
333 Implemented stub for createScriptCallStack to call into
334 Interpreter and extract the current stack frames, iterate
335 through the frames and create the return result required.
337 No new tests, manually tested thrown exception and inspector
340 * bindings/js/ScriptCallStackFactory.cpp:
341 (WebCore::createScriptCallStack):
343 2012-07-04 Dana Jansens <danakj@chromium.org>
345 [chromium] Respect memory needed for RenderSurfaces when reserving contents textures
346 https://bugs.webkit.org/show_bug.cgi?id=89901
348 Reviewed by Adrienne Walker.
350 Treat the memory allocation given to a tab as an allocation for its
351 contents and surfaces. Then only use up contents memory such that
352 the surface textures will still fit within the limit. Report histograms
353 for the amount of contents and surface texture memory used by each
354 frame generated by the main thread.
356 In the context of ubercomp, each nested compositor will use less memory
357 for contents ensuring that the root compositor has space for surfaces
358 caused by that nested compositor.
360 Since surface memory can no longer be taken by contents, we remove the
361 preferred memory limit from the texture manager.
363 Tests: TiledLayerChromiumTest.dontAllocateContentsWhenTargetSurfaceCantBeAllocated
364 CCPrioritizedTextureTest.renderSurfacesReduceMemoryAvailableOutsideRootSurface
365 CCPrioritizedTextureTest.renderSurfacesReduceMemoryAvailableForRequestLate
366 CCPrioritizedTextureTest.whenRenderSurfaceNotAvailableTexturesAlsoNotAvailable
368 * platform/graphics/chromium/LayerRendererChromium.cpp:
369 (WebCore::LayerRendererChromium::drawBackgroundFilters):
370 * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
371 (WebCore::ScrollbarLayerChromium::setTexturePriorities):
372 * platform/graphics/chromium/TiledLayerChromium.cpp:
373 (WebCore::TiledLayerChromium::setTexturePrioritiesInRect):
374 * platform/graphics/chromium/TiledLayerChromium.h:
375 (TiledLayerChromium):
376 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
377 (WebCore::CCLayerTreeHost::initializeLayerRenderer):
378 (WebCore::CCLayerTreeHost::updateLayers):
379 (WebCore::CCLayerTreeHost::prioritizeTextures):
380 (WebCore::CCLayerTreeHost::paintLayerContents):
381 * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
382 (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
383 (WebCore::CCOverdrawMetrics::didUseContentsTextureMemoryBytes):
385 (WebCore::CCOverdrawMetrics::didUseRenderSurfaceTextureMemoryBytes):
386 (WebCore::CCOverdrawMetrics::recordMetricsInternal):
387 * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
389 * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
390 (WebCore::CCPrioritizedTextureManager::CCPrioritizedTextureManager):
391 (WebCore::CCPrioritizedTextureManager::prioritizeTextures):
392 (WebCore::CCPrioritizedTextureManager::requestLate):
393 (WebCore::CCPrioritizedTextureManager::acquireBackingTextureIfNeeded):
394 (WebCore::CCPrioritizedTextureManager::reduceMemory):
395 * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
396 (WebCore::CCPrioritizedTextureManager::create):
397 (WebCore::CCPrioritizedTextureManager::memoryForRenderSurfacesBytes):
398 (CCPrioritizedTextureManager):
399 * platform/graphics/chromium/cc/CCPriorityCalculator.cpp:
400 (WebCore::CCPriorityCalculator::uiPriority):
401 (WebCore::CCPriorityCalculator::visiblePriority):
403 (WebCore::CCPriorityCalculator::renderSurfacePriority):
404 (WebCore::CCPriorityCalculator::priorityFromDistance):
405 (WebCore::CCPriorityCalculator::priorityFromVisibility):
406 * platform/graphics/chromium/cc/CCPriorityCalculator.h:
407 (CCPriorityCalculator):
409 2012-07-04 John Mellor <johnme@chromium.org>
411 Text Autosizing: Add basic framework
412 https://bugs.webkit.org/show_bug.cgi?id=88655
414 This adds a highly simplified foundation that subsequent Text Autosizing patches
415 can build upon. I've refactored this code (since the earlier combined diff
416 uploaded to http://webkit.org/b/84186) to touch as few files as possible.
418 Reviewed by Adam Barth.
420 No new tests. I plan to add a test framework as my next Text Autosizing patch.
424 (WebCore::Document::Document):
428 (WebCore::Document::textAutosizer):
429 * page/FrameView.cpp:
430 (WebCore::FrameView::layout):
431 * rendering/TextAutosizer.cpp: Added.
433 (WebCore::TextAutosizer::TextAutosizer):
434 (WebCore::TextAutosizer::~TextAutosizer):
435 (WebCore::TextAutosizer::create):
436 (WebCore::TextAutosizer::boostSubtree):
437 (WebCore::TextAutosizer::boostBlock):
438 (WebCore::TextAutosizer::boostText):
439 (WebCore::TextAutosizer::treatAsInline):
440 (WebCore::TextAutosizer::traverseNext):
441 (WebCore::TextAutosizer::cloneRenderStyleWithState):
442 * rendering/TextAutosizer.h: Added.
446 2012-07-04 Andrey Kosyakov <caseq@chromium.org>
448 Unreviewed, rolling out r121767.
449 http://trac.webkit.org/changeset/121767
450 https://bugs.webkit.org/show_bug.cgi?id=89584
452 Crashes inspected page while recording timeline due to
453 conflict with BeginFrame in record stack
455 * inspector/InspectorTimelineAgent.cpp:
456 (WebCore::InspectorTimelineAgent::willSendResourceRequest):
457 (WebCore::InspectorTimelineAgent::willProcessTask):
458 (WebCore::InspectorTimelineAgent::didProcessTask):
459 (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
460 (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
461 * inspector/InspectorTimelineAgent.h:
462 (InspectorTimelineAgent):
463 * inspector/front-end/MemoryStatistics.js:
464 (WebInspector.MemoryStatistics.prototype._onRecordAdded):
465 * inspector/front-end/TimelineFrameController.js:
466 (WebInspector.TimelineFrameController.prototype._addRecord):
467 * inspector/front-end/TimelineModel.js:
468 * inspector/front-end/TimelineOverviewPane.js:
469 (WebInspector.TimelineCategoryStrips.prototype.update.appendRecord):
470 (WebInspector.TimelineCategoryStrips.prototype.update):
471 * inspector/front-end/TimelinePanel.js:
472 (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
473 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
474 * inspector/front-end/TimelinePresentationModel.js:
475 (WebInspector.TimelinePresentationModel.categories):
476 (WebInspector.TimelinePresentationModel.recordStyle):
477 (WebInspector.TimelinePresentationModel.categoryForRecord):
478 (WebInspector.TimelinePresentationModel.forAllRecords):
479 (WebInspector.TimelinePresentationModel.prototype.addRecord):
481 2012-07-04 Dana Jansens <danakj@chromium.org>
483 [chromium] Clear RenderSurfaces still when no idle paint will be done
484 https://bugs.webkit.org/show_bug.cgi?id=90553
486 Reviewed by Adrienne Walker.
488 Currently if idle painting is disabled, updateLayers() will early-out.
489 But this prevents it from doing cleanup and clearing all RenderSurface
490 pointers, leaving the layer tree in an unexpected state.
492 Tests: CCLayerTreeHostTestCompositeAndReadbackCleanup
494 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
495 (WebCore::CCLayerTreeHost::updateLayers):
497 2012-07-04 John Mellor <johnme@chromium.org>
499 Text Autosizing: Add compile flag and runtime setting
500 https://bugs.webkit.org/show_bug.cgi?id=87394
502 This patch renames Font Boosting to Text Autosizing and adds compile guards around the runtime setting.
504 Reviewed by Adam Barth.
506 No functionality yet, so no new tests.
508 * Configurations/FeatureDefines.xcconfig:
512 (WebCore::Settings::Settings):
513 (WebCore::Settings::setTextAutosizingEnabled):
516 (WebCore::Settings::textAutosizingEnabled):
518 2012-07-03 Alexander Pavlov <apavlov@chromium.org>
520 Web Inspector: Emulate pseudo styles (hover etc.) of non-selected elements
521 https://bugs.webkit.org/show_bug.cgi?id=86630
523 Reviewed by Pavel Feldman.
525 - A map of pseudo-states for all bound DOM nodes is maintained in the backend and queried whenever StyleResolver
526 calculates the effective element style.
527 - In the frontend, markers are introduced to distinguish elements that have forced pseudo styles set for them.
528 Additionally, dimmed markers are added for collapsed nodes, whose descendants have forced pseudo styles.
529 More ElementDecorator subtypes will be added for other types of markers.
531 Test: inspector/styles/force-pseudo-state.html
533 * English.lproj/localizedStrings.js:
534 * inspector/InspectorCSSAgent.cpp:
535 (WebCore::InspectorCSSAgent::InspectorCSSAgent):
536 (WebCore::InspectorCSSAgent::clearFrontend):
537 (WebCore::InspectorCSSAgent::reset):
538 (WebCore::InspectorCSSAgent::forcePseudoState):
539 (WebCore::InspectorCSSAgent::recalcStyleForPseudoStateIfNeeded):
540 (WebCore::InspectorCSSAgent::elementForId):
541 (WebCore::InspectorCSSAgent::didRemoveDocument):
542 (WebCore::InspectorCSSAgent::didRemoveDOMNode):
543 (WebCore::InspectorCSSAgent::resetPseudoStates):
544 * inspector/InspectorCSSAgent.h:
546 * inspector/InspectorDOMAgent.cpp:
547 (WebCore::InspectorDOMAgent::unbind):
548 (WebCore::InspectorDOMAgent::didRemoveDOMNode):
549 * inspector/front-end/ElementsPanel.js:
550 (WebInspector.ElementsPanel.get this):
551 (WebInspector.ElementsPanel):
552 (WebInspector.ElementsPanel.prototype._setPseudoClassForNodeId):
553 * inspector/front-end/ElementsTreeOutline.js:
554 (WebInspector.ElementsTreeOutline):
555 (WebInspector.ElementsTreeOutline.prototype._createNodeDecorators):
556 (WebInspector.ElementsTreeOutline.prototype.updateOpenCloseTags):
557 (WebInspector.ElementsTreeOutline.ElementDecorator):
558 (WebInspector.ElementsTreeOutline.ElementDecorator.prototype.decorate):
559 (WebInspector.ElementsTreeOutline.ElementDecorator.prototype.decorateAncestor):
560 (WebInspector.ElementsTreeOutline.PseudoStateDecorator):
561 (WebInspector.ElementsTreeOutline.PseudoStateDecorator.prototype.decorate):
562 (WebInspector.ElementsTreeOutline.PseudoStateDecorator.prototype.decorateAncestor):
563 (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
564 (WebInspector.ElementsTreeElement.prototype._populateForcedPseudoStateItems):
565 (WebInspector.ElementsTreeElement.prototype.updateTitle):
566 (WebInspector.ElementsTreeElement.prototype._createDecoratorElement):
567 (WebInspector.ElementsTreeElement.prototype._updateDecorations):
568 * inspector/front-end/StylesSidebarPane.js:
569 (WebInspector.StylesSidebarPane):
570 (WebInspector.StylesSidebarPane.prototype.get forcedPseudoClasses):
571 (WebInspector.StylesSidebarPane.prototype._updateForcedPseudoStateInputs):
572 (WebInspector.StylesSidebarPane.prototype.update):
573 (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
574 (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
575 (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
576 (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
577 * inspector/front-end/elementsPanel.css:
578 (#elements-content .elements-gutter-decoration):
579 (#elements-content .elements-gutter-decoration.elements-has-decorated-children):
581 2012-07-04 Pavel Feldman <pfeldman@chromium.org>
583 Web Inspector: fix search on the network panel.
584 https://bugs.webkit.org/show_bug.cgi?id=90557
586 Reviewed by Vsevolod Vlasov.
588 * inspector/front-end/NetworkPanel.js:
589 (WebInspector.NetworkLogView.prototype._highlightNthMatchedRequest):
591 2012-07-04 Kwang Yul Seo <skyul@company100.net>
593 Stop tracking line number in tokenizer
594 https://bugs.webkit.org/show_bug.cgi?id=90544
596 Reviewed by Adam Barth.
598 Because SegmentedString knows how to track the current line and column,
599 a tokenizer does not need to keep track of the current line by itself.
600 No behavior change, so no new tests.
602 * html/parser/HTMLDocumentParser.cpp:
603 (WebCore::HTMLDocumentParser::pumpTokenizer):
604 (WebCore::HTMLDocumentParser::lineNumber):
605 (WebCore::HTMLDocumentParser::textPosition):
606 * html/parser/HTMLTokenizer.cpp:
607 (WebCore::HTMLTokenizer::reset):
608 (WebCore::HTMLTokenizer::flushBufferedEndTag):
610 (WebCore::HTMLTokenizer::nextToken):
611 * html/parser/HTMLTreeBuilder.cpp:
612 (WebCore::HTMLTreeBuilder::processScriptStartTag):
613 * html/track/WebVTTTokenizer.cpp:
614 (WebCore::WebVTTTokenizer::reset):
615 (WebCore::WebVTTTokenizer::nextToken):
616 * platform/text/SegmentedString.cpp:
617 (WebCore::SegmentedString::advanceAndUpdateLineNumberSlowCase):
618 * platform/text/SegmentedString.h:
619 (WebCore::SegmentedString::advancePastNewlineAndUpdateLineNumber):
620 (WebCore::SegmentedString::advanceAndUpdateLineNumber):
622 * xml/parser/MarkupTokenizerBase.h:
623 (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::peek):
624 (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::advance):
625 (WebCore::MarkupTokenizerBase::emitAndResumeIn):
626 (WebCore::MarkupTokenizerBase::emitEndOfFile):
627 (WebCore::MarkupTokenizerBase::reset):
628 (MarkupTokenizerBase):
629 * xml/parser/MarkupTokenizerInlineMethods.h:
631 * xml/parser/XMLTokenizer.cpp:
632 (WebCore::XMLTokenizer::nextToken):
634 2012-07-04 Ryuan Choi <ryuan.choi@samsung.com>
636 [CMAKE] Add GENERATE_BINDINGS macro to share the codes which use generate-bindings.pl.
637 https://bugs.webkit.org/show_bug.cgi?id=90258
639 Reviewed by Rob Buis.
641 Use GENERATE_BINDINGS instead of using generate-bindings.pl directly.
645 * PlatformBlackBerry.cmake:
647 2012-07-04 Vsevolod Vlasov <vsevik@chromium.org>
649 Web Inspector: UISourceCode should take care of adding revision after committing working copy.
650 https://bugs.webkit.org/show_bug.cgi?id=90549
652 Reviewed by Pavel Feldman.
654 Revision is now added in UISourceCode.commitWorkingCopy synchronously even if saving to JS VM or CSS model failed.
656 * inspector/front-end/CSSStyleModel.js:
657 (WebInspector.CSSStyleModelResourceBinding.prototype.setStyleContent):
658 * inspector/front-end/ExtensionServer.js:
659 (WebInspector.ExtensionServer.prototype._handleOpenURL):
660 (WebInspector.ExtensionServer.prototype._onGetResourceContent):
661 (WebInspector.ExtensionServer.prototype._onSetResourceContent):
662 * inspector/front-end/JavaScriptSource.js:
663 (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
664 * inspector/front-end/StylesPanel.js:
665 (WebInspector.StyleSource.prototype._callOrSetTimeout):
666 * inspector/front-end/UISourceCode.js:
667 (WebInspector.UISourceCode.prototype.commitWorkingCopy):
668 * inspector/front-end/Workspace.js:
669 (WebInspector.CompositeUISourceCodeProvider.prototype.uiSourceCodeForURL):
671 2012-07-04 Pavel Feldman <pfeldman@chromium.org>
673 Web Inspector: move settings button back to the right.
674 https://bugs.webkit.org/show_bug.cgi?id=90552
676 Reviewed by Vsevolod Vlasov.
678 * inspector/front-end/inspector.css:
679 (button.status-bar-item:active, button.status-bar-item.emulate-active):
680 (button.settings-status-bar-item):
682 2012-07-04 Vsevolod Vlasov <vsevik@chromium.org>
684 Web Inspector: Get rid of ResourceDomainModelBinding and DebuggerResourceBinding, make Resource.setContent private.
685 https://bugs.webkit.org/show_bug.cgi?id=90531
687 Reviewed by Pavel Feldman.
689 Resource.setContent made private. It is delegating now to UISourceCodes which take care of domain specific actions.
690 DebuggerResourceBinding was be removed and DebuggerResourceBinding.setScriptSource was moved to JavaScriptSource.
691 ResourceDomainModelBinding was removed as well.
694 * WebCore.vcproj/WebCore.vcproj:
695 * inspector/compile-front-end.py:
696 * inspector/front-end/CSSStyleModel.js:
697 (WebInspector.CSSStyleModelResourceBinding):
698 * inspector/front-end/DebuggerResourceBinding.js: Removed.
699 * inspector/front-end/JavaScriptSource.js:
700 (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
701 (WebInspector.JavaScriptSource.prototype._setScriptSource.didEditScriptSource):
702 (WebInspector.JavaScriptSource.prototype._setScriptSource):
703 * inspector/front-end/Resource.js:
704 (WebInspector.Resource.prototype._setContent):
705 (WebInspector.Resource.prototype.revertToOriginal):
706 (WebInspector.Resource.prototype.revertAndClearHistory):
707 (WebInspector.ResourceRevision.prototype.revertToThis):
708 * inspector/front-end/StylesPanel.js:
709 (WebInspector.StyleSource.prototype.isEditable):
710 * inspector/front-end/UISourceCode.js:
711 * inspector/front-end/WebKit.qrc:
712 * inspector/front-end/Workspace.js:
713 (WebInspector.Workspace):
714 * inspector/front-end/inspector.html:
716 2012-07-04 'Pavel Feldman' <pfeldman@chromium.org>
718 Not reviewed: follow up to r121843, reduce inspector dock timeout to 200ms.
720 * inspector/front-end/StatusBarButton.js:
721 (WebInspector.StatusBarButton.prototype.makeLongClickEnabled.mouseDown):
723 2012-07-04 Ian Vollick <vollick@chromium.org>
725 [chromium] Correctly reject accelerated animations with certain rotations.
726 https://bugs.webkit.org/show_bug.cgi?id=89768
728 Reviewed by James Robinson.
731 GraphicsLayerChromiumTest.createTransformAnimationWithBigRotation
732 GraphicsLayerChromiumTest.createTransformAnimationWithRotationInvolvingNegativeAngles
733 GraphicsLayerChromiumTest.createTransformAnimationWithSmallRotationInvolvingLargeAngles
735 * platform/graphics/chromium/AnimationTranslationUtil.cpp:
736 (WebCore::appendKeyframe):
737 (WebCore::isRotationType):
739 (WebCore::causesRotationOfAtLeast180Degrees):
740 (WebCore::CCKeyframedTransformAnimationCurve):
741 (WebCore::createActiveAnimation):
742 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
743 (WebCore::GraphicsLayerChromium::addAnimation):
745 2012-07-04 Pavel Feldman <pfeldman@chromium.org>
747 Web Inspector: "Dock to right" shouldn't be in the settings dialog
748 https://bugs.webkit.org/show_bug.cgi?id=76917
750 Reviewed by Vsevolod Vlasov.
752 Introduced 'long click-enabled' options for status bar buttons. Made dock/undock one of them.
754 * inspector/front-end/Images/statusbarButtonGlyphs.png:
755 * inspector/front-end/StatusBarButton.js:
756 (WebInspector.StatusBarButton.prototype._clicked):
757 (WebInspector.StatusBarButton.prototype.set visible):
758 (WebInspector.StatusBarButton.prototype.makeLongClickEnabled.mouseDown):
759 (WebInspector.StatusBarButton.prototype.makeLongClickEnabled.mouseUp):
760 (WebInspector.StatusBarButton.prototype.makeLongClickEnabled):
761 (WebInspector.StatusBarButton.prototype._showOptions.mouseOver):
762 (WebInspector.StatusBarButton.prototype._showOptions.mouseOut):
763 (WebInspector.StatusBarButton.prototype._showOptions.mouseUp):
764 (WebInspector.StatusBarButton.prototype._showOptions):
765 * inspector/front-end/UIUtils.js:
766 (WebInspector.elementDragStart):
767 (WebInspector.elementDragEnd):
768 (WebInspector.GlassPane):
769 (WebInspector.GlassPane.prototype.dispose):
770 * inspector/front-end/inspector.css:
772 (.long-click-glyph.shadow):
773 (button.status-bar-item:active:not(.emulate-inactive), button.status-bar-item.emulate-active):
774 (.alternate-status-bar-buttons-bar):
775 (.alternate-status-bar-buttons-bar .status-bar-item):
776 * inspector/front-end/inspector.js:
777 (WebInspector._createGlobalStatusBarItems):
778 (WebInspector._createDockOptions.onClick.set else):
779 (WebInspector._createDockOptions.onClick):
781 2012-07-04 Sheriff Bot <webkit.review.bot@gmail.com>
783 Unreviewed, rolling out r121813.
784 http://trac.webkit.org/changeset/121813
785 https://bugs.webkit.org/show_bug.cgi?id=90522
787 Causes browser_tests failure:
788 ErrorPageTest.DNSError_GoBack2{Forward2,AndForward} on
789 Chromium {Linux,Mac,Win} (Requested by yosin on #webkit).
791 * loader/DocumentLoader.cpp:
792 (WebCore::DocumentLoader::commitData):
793 (WebCore::DocumentLoader::setupForReplaceByMIMEType):
794 * testing/js/WebCoreTestSupport.cpp:
795 (WebCoreTestSupport::resetInternalsObject):
797 2012-07-04 Kihong Kwon <kihong.kwon@samsung.com>
799 [EFL] Change format of return value of navigator.language
800 https://bugs.webkit.org/show_bug.cgi?id=89639
802 Reviewed by Kenneth Rohde Christiansen.
804 Remove encoding type from return value of navigator.language.
805 For example, from en-US.UTF-8 to en-US.
807 Use exist test case (fast/js/navigator-language.html).
809 * platform/efl/LanguageEfl.cpp:
810 (WebCore::platformLanguage):
812 2012-07-03 Carlos Garcia Campos <cgarcia@igalia.com>
814 [GTK] Don't show accel labels in context menu items
815 https://bugs.webkit.org/show_bug.cgi?id=90437
817 Reviewed by Martin Robinson.
819 When a context menu item is created with a GtkMenuItem that has
820 been created from a GtkAction, if the action has an accelerator,
821 it's shown in the menu item label, like menu items in a menu
822 bar. In that case we should reset the accel closure of the menu
823 item label, like GtkUIManager does for popup menus, to make sure
824 the accelerator is not shown. This isn't needed for all other
825 ContextMenuIem constructors, because the GtkAction is created
826 without accelerator by webkit in those cases.
828 * platform/gtk/ContextMenuItemGtk.cpp:
829 (WebCore::ContextMenuItem::ContextMenuItem):
831 2012-07-03 Christophe Dumez <christophe.dumez@intel.com>
833 [EFL] Move BatteryClientEfl from WebKit to WebCore
834 https://bugs.webkit.org/show_bug.cgi?id=90063
836 Reviewed by Kenneth Rohde Christiansen.
838 Move BatteryClientEfl class from WebKit to WebCore
839 so that it can be reused in WebKit2.
841 No new tests, no behavior change.
844 * platform/efl/BatteryClientEfl.cpp: Renamed from Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp.
846 (WebCore::BatteryClientEfl::BatteryClientEfl):
847 (WebCore::BatteryClientEfl::setController):
848 (WebCore::BatteryClientEfl::startUpdating):
849 (WebCore::BatteryClientEfl::stopUpdating):
850 (WebCore::BatteryClientEfl::batteryControllerDestroyed):
851 (WebCore::BatteryClientEfl::setBatteryStatus):
852 (WebCore::BatteryClientEfl::timerFired):
853 (WebCore::BatteryClientEfl::getBatteryStatus):
854 (WebCore::BatteryClientEfl::setBatteryClient):
855 * platform/efl/BatteryClientEfl.h: Renamed from Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.h.
858 (WebCore::BatteryClientEfl::~BatteryClientEfl):
859 (WebCore::BatteryClientEfl::batteryStatus):
861 2012-07-03 Huang Dongsung <luxtella@company100.net>
863 Add a comment in order to clarify why
864 BitmapImage::frameHasAlphaAtIndex returns true as default.
865 https://bugs.webkit.org/show_bug.cgi?id=90445
867 Reviewed by Eric Seidel.
869 No new tests. This patch doesn't change behavior.
871 * platform/graphics/BitmapImage.cpp:
872 (WebCore::BitmapImage::frameHasAlphaAtIndex):
875 2012-07-03 Alex Sakhartchouk <alexst@chromium.org>
877 [chromium] Avoid calling getUniformLocation??() in the compositor startup
878 https://bugs.webkit.org/show_bug.cgi?id=90217
880 Reviewed by Adrienne Walker.
882 This change allows chrome compositor to bind uniform locations instead of querying
883 them from the graphics context by using GL_CHROMIUM_bind_uniform_location.
885 The extention itself is tested in chromium and the change in webkit simply adds
886 plumbing to allow its usage. Existing pixel tests would be able to verify proper behaviour.
888 * platform/graphics/chromium/LayerRendererChromium.cpp:
889 (WebCore::LayerRendererChromium::LayerRendererChromium):
890 (WebCore::LayerRendererChromium::initialize):
891 (WebCore::LayerRendererChromium::initializeSharedObjects):
892 (WebCore::LayerRendererChromium::tileCheckerboardProgram):
893 (WebCore::LayerRendererChromium::solidColorProgram):
894 (WebCore::LayerRendererChromium::headsUpDisplayProgram):
895 (WebCore::LayerRendererChromium::renderPassProgram):
896 (WebCore::LayerRendererChromium::renderPassProgramAA):
897 (WebCore::LayerRendererChromium::renderPassMaskProgram):
898 (WebCore::LayerRendererChromium::renderPassMaskProgramAA):
899 (WebCore::LayerRendererChromium::tileProgram):
900 (WebCore::LayerRendererChromium::tileProgramOpaque):
901 (WebCore::LayerRendererChromium::tileProgramAA):
902 (WebCore::LayerRendererChromium::tileProgramSwizzle):
903 (WebCore::LayerRendererChromium::tileProgramSwizzleOpaque):
904 (WebCore::LayerRendererChromium::tileProgramSwizzleAA):
905 (WebCore::LayerRendererChromium::textureProgram):
906 (WebCore::LayerRendererChromium::textureProgramFlip):
907 (WebCore::LayerRendererChromium::textureIOSurfaceProgram):
908 (WebCore::LayerRendererChromium::videoYUVProgram):
909 (WebCore::LayerRendererChromium::videoStreamTextureProgram):
910 * platform/graphics/chromium/LayerRendererChromium.h:
911 (LayerRendererChromium):
912 * platform/graphics/chromium/ProgramBinding.cpp:
913 (WebCore::ProgramBindingBase::ProgramBindingBase):
914 (WebCore::ProgramBindingBase::~ProgramBindingBase):
915 (WebCore::ProgramBindingBase::init):
916 (WebCore::ProgramBindingBase::link):
918 (WebCore::ProgramBindingBase::cleanup):
919 (WebCore::ProgramBindingBase::createShaderProgram):
920 (WebCore::ProgramBindingBase::cleanupShaders):
921 * platform/graphics/chromium/ProgramBinding.h:
922 (ProgramBindingBase):
923 (WebCore::ProgramBinding::initialize):
924 * platform/graphics/chromium/ShaderChromium.cpp:
925 (WebCore::VertexShaderPosTex::init):
926 (WebCore::VertexShaderPosTexYUVStretch::init):
927 (WebCore::VertexShaderPos::init):
928 (WebCore::VertexShaderPosTexTransform::init):
929 (WebCore::VertexShaderQuad::init):
930 (WebCore::VertexShaderTile::init):
931 (WebCore::VertexShaderVideoTransform::init):
932 (WebCore::FragmentTexAlphaBinding::init):
933 (WebCore::FragmentTexOpaqueBinding::init):
934 (WebCore::FragmentShaderOESImageExternal::init):
935 (WebCore::FragmentShaderRGBATexAlphaAA::init):
936 (WebCore::FragmentTexClampAlphaAABinding::init):
937 (WebCore::FragmentShaderRGBATexAlphaMask::init):
938 (WebCore::FragmentShaderRGBATexAlphaMaskAA::init):
939 (WebCore::FragmentShaderYUVVideo::init):
940 (WebCore::FragmentShaderColor::init):
941 (WebCore::FragmentShaderCheckerboard::init):
942 * platform/graphics/chromium/ShaderChromium.h:
943 (VertexShaderPosTex):
944 (VertexShaderPosTexYUVStretch):
946 (WebCore::VertexShaderPosTexIdentity::init):
947 (VertexShaderPosTexTransform):
950 (VertexShaderVideoTransform):
951 (FragmentTexAlphaBinding):
952 (FragmentTexOpaqueBinding):
953 (FragmentShaderOESImageExternal):
954 (FragmentShaderRGBATexAlphaAA):
955 (FragmentTexClampAlphaAABinding):
956 (FragmentShaderRGBATexAlphaMask):
957 (FragmentShaderRGBATexAlphaMaskAA):
958 (FragmentShaderYUVVideo):
959 (FragmentShaderColor):
960 (FragmentShaderCheckerboard):
961 * platform/graphics/chromium/TextureCopier.cpp:
962 (WebCore::AcceleratedTextureCopier::AcceleratedTextureCopier):
963 (WebCore::AcceleratedTextureCopier::copyTexture):
964 * platform/graphics/chromium/TextureCopier.h:
965 (WebCore::AcceleratedTextureCopier::create):
966 (AcceleratedTextureCopier):
968 2012-07-03 Erik Arvidsson <arv@chromium.org>
970 [V8] Remove enableFasterDOMStoreAccess which is never used
971 https://bugs.webkit.org/show_bug.cgi?id=90489
973 Reviewed by Adam Barth.
975 No new tests. Dead code removal.
977 * bindings/v8/V8DOMMap.cpp:
978 * bindings/v8/V8DOMMap.h:
981 2012-07-03 Joshua Bell <jsbell@chromium.org>
983 Binding: IDL type DOMString[] shouldn't match null
984 https://bugs.webkit.org/show_bug.cgi?id=84217
986 Reviewed by Kentaro Hara.
988 Similar to r121714, IDL overloads with T[] (which is only minimally supported)
989 were being treated as Nullable by default during overloaded method dispatching,
990 which deviates from the WebIDL specification. Extend the previous change to
991 look for Nullable (specified by "?" type suffix in the IDL) for array types.
993 Also, after inspection of the spec, use a strict "is this an Array?" test in
994 the JS generator rather than an "inherits from Array.prototype?" test, to
995 match the WebIDL spec.
997 IDL files with affected overloads are modified to include the "?" suffix
998 so that no behavior changes are introduced by this patch - the JS and V8
999 generator results before/after the change show no diffs apart from the stricter
1002 Test: bindings/scripts/test/TestObj.idl (a non-Nullable T[] overload)
1004 * Modules/indexeddb/IDBDatabase.idl: Tag T[] overloads with ? suffix.
1005 * Modules/indexeddb/IDBObjectStore.idl: Ditto.
1006 * Modules/vibration/NavigatorVibration.idl: Ditto.
1007 * bindings/scripts/CodeGeneratorJS.pm: Check isNullable for T[].
1008 (GenerateParametersCheckExpression):
1009 * bindings/scripts/CodeGeneratorV8.pm: Ditto.
1010 (GenerateParametersCheckExpression):
1011 * bindings/scripts/test/JS/JSTestObj.cpp: Rebaselined.
1012 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
1014 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
1015 * bindings/scripts/test/TestObj.idl: Tag existing T[] with ?, add non-? T[].
1016 * bindings/scripts/test/V8/V8TestObj.cpp: Rebaselined.
1017 (WebCore::TestObjV8Internal::overloadedMethod9Callback):
1018 (TestObjV8Internal):
1019 (WebCore::TestObjV8Internal::overloadedMethodCallback):
1021 2012-07-03 Nate Chapin <japhet@chromium.org>
1023 REGRESSION (r115654): Sometimes does not replace content for multipart/x-mixed-replace
1024 https://bugs.webkit.org/show_bug.cgi?id=88436
1026 Reviewed by Brady Eidson.
1028 Test: http/tests/multipart/multipart-replace-non-html-content.php
1030 * loader/DocumentLoader.cpp:
1031 (WebCore::DocumentLoader::commitData): We should only send receivedFirstData() once per main resource load,
1032 rather than multiple times in a multipart load.
1033 (WebCore::DocumentLoader::setupForReplaceByMIMEType): m_gotFirstByte isn't set to true until data is
1034 actually committed, and multipart data is often not committed until the part is finished. Check
1035 whether the SharedBuffer is non-null instead.
1036 * testing/js/WebCoreTestSupport.cpp:
1037 (WebCoreTestSupport::resetInternalsObject): The JSInternals object my have already been cleared if the window shell
1038 was cleared as part of creation of a new Document. Check it before using it.
1040 2012-07-03 Raymond Toy <rtoy@google.com>
1042 Add AudioFIFO class and simplify AudioPullFIFO
1043 https://bugs.webkit.org/show_bug.cgi?id=90398
1045 Reviewed by Chris Rogers.
1047 No new tests. This code will be used in audio back-end implementation.
1049 Add AudioFIFO class to implement main parts of FIFO. Simplify
1050 implementation of AudioPushFIFO by using AudioFIFO.
1052 * WebCore.gypi: Add new files.
1055 * platform/audio/AudioFIFO.cpp: Copied from Source/WebCore/platform/audio/AudioPullFIFO.cpp.
1057 (WebCore::AudioFIFO::AudioFIFO):
1058 (WebCore::AudioFIFO::consume):
1059 (WebCore::AudioFIFO::push):
1060 (WebCore::AudioFIFO::findWrapLengths):
1061 * platform/audio/AudioFIFO.h: Copied from Source/WebCore/platform/audio/AudioPullFIFO.h.
1064 (WebCore::AudioFIFO::framesInFifo):
1065 (WebCore::AudioFIFO::updateIndex):
1068 * platform/audio/AudioPullFIFO.cpp:
1069 (WebCore::AudioPullFIFO::AudioPullFIFO):
1070 (WebCore::AudioPullFIFO::consume):
1071 (WebCore::AudioPullFIFO::fillBuffer):
1072 * platform/audio/AudioPullFIFO.h:
1075 2012-07-03 Nate Chapin <japhet@chromium.org>
1077 Protect this DocumentThreadableLoader in cancel() to handle reentrancy properly.
1078 https://bugs.webkit.org/show_bug.cgi?id=90483
1080 Reviewed by Abhishek Arya.
1082 No new tests, covered by http/tests/xmlhttprequest/reentrant-cancel.html
1084 * loader/DocumentThreadableLoader.cpp:
1085 (WebCore::DocumentThreadableLoader::cancel):
1087 2012-07-03 Tony Chang <tony@chromium.org>
1089 [chromium] Unreviewed, update .gitignore to handle VS2010 files.
1091 * WebCore.gyp/.gitignore:
1093 2012-07-03 Zan Dobersek <zandobersek@gmail.com>
1095 [Gtk][Gamepads] 'warning: comparison is always true due to limited range of data type [-Wtype-limits]' in GamepadsGtk.cpp
1096 https://bugs.webkit.org/show_bug.cgi?id=90477
1098 Reviewed by Martin Robinson.
1100 Vector::find() returns value of type size_t, springing errors when
1101 assigning the value to a variable of type unsigned. Use size_t type
1102 for that variable instead.
1104 No new tests - no changed functionality.
1106 * platform/gtk/GamepadsGtk.cpp:
1107 (WebCore::GamepadsGtk::unregisterDevice):
1109 2012-07-03 Dominik Röttsches <dominik.rottsches@intel.com>
1111 Fix LayoutUnit usage in RenderImage::imageDimensionsChanged
1112 https://bugs.webkit.org/show_bug.cgi?id=90173
1114 Reviewed by Eric Seidel.
1116 The appropriate type should be used for storing width() and height() into local temporary variables.
1118 No new tests, no change in behavior.
1120 * rendering/RenderImage.cpp:
1121 (WebCore::RenderImage::imageDimensionsChanged):
1123 2012-07-03 Sergio Villar Senin <svillar@igalia.com>
1125 [TextureMapper] Typo in edge-distance anti-aliasing code
1126 https://bugs.webkit.org/show_bug.cgi?id=90475
1128 Reviewed by Martin Robinson.
1130 No new tests. This just fixes a typo.
1132 * platform/graphics/texmap/TextureMapperGL.cpp:
1133 (WebCore::TextureMapperGL::drawQuad):
1135 2012-06-27 Vsevolod Vlasov <vsevik@chromium.org>
1137 Web Inspector: [Extensions API] Resource manipulations should be based on UISourceCode thus extending Sources Panel.
1138 https://bugs.webkit.org/show_bug.cgi?id=89868
1140 Reviewed by Pavel Feldman.
1142 Extensions API is now based on both ScriptsPanel acting as a UISourceCodeProvider and ResourceTreeModel.
1143 Extensions API resource could be for any content provider now.
1144 Extensions API resource.setContent implementation is now based on UISourceCode editing methods.
1145 Drive-by StyleSource insremental editing timeout fix.
1147 * inspector/front-end/ExtensionServer.js:
1148 (WebInspector.ExtensionServer.prototype._handleOpenURL):
1149 (WebInspector.ExtensionServer.prototype._makeResource):
1150 (WebInspector.ExtensionServer.prototype._onGetPageResources):
1151 (WebInspector.ExtensionServer.prototype._getResourceContent):
1152 (WebInspector.ExtensionServer.prototype._onGetResourceContent):
1153 (WebInspector.ExtensionServer.prototype._onSetResourceContent):
1154 (WebInspector.ExtensionServer.prototype._notifyResourceAdded):
1155 (WebInspector.ExtensionServer.prototype._notifyResourceContentCommitted):
1156 * inspector/front-end/JavaScriptSource.js:
1157 * inspector/front-end/ScriptsPanel.js:
1158 (WebInspector.ScriptsPanel.prototype.uiSourceCodes):
1159 (WebInspector.ScriptsPanel.prototype.uiSourceCodeForURL):
1160 (WebInspector.ScriptsPanel.prototype._addUISourceCode):
1161 (WebInspector.ScriptsPanel.prototype._reset):
1162 (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
1163 * inspector/front-end/StylesPanel.js:
1164 (WebInspector.StyleSource.prototype.workingCopyCommitted):
1165 (WebInspector.StyleSource.prototype.workingCopyChanged):
1166 (WebInspector.StyleSource.prototype._callOrSetTimeout):
1167 (WebInspector.StyleSource.prototype._commitIncrementalEdit):
1168 (WebInspector.StyleSource.prototype._clearIncrementalUpdateTimer):
1169 * inspector/front-end/UISourceCode.js:
1170 (WebInspector.UISourceCode.prototype.requestContent):
1171 (WebInspector.UISourceCode.prototype.workingCopy):
1172 (WebInspector.UISourceCode.prototype.setWorkingCopy):
1173 (WebInspector.UISourceCode.prototype.isDirty):
1175 2012-07-03 Vsevolod Vlasov <vsevik@chromium.org>
1177 Web Inspector: Anonymous scripts (evals) should not be added to Workspace.
1178 https://bugs.webkit.org/show_bug.cgi?id=90467
1180 Reviewed by Pavel Feldman.
1182 * inspector/front-end/ResourceScriptMapping.js:
1183 (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
1184 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
1185 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
1186 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeRemoved):
1187 * inspector/front-end/ScriptSnippetModel.js:
1188 (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
1189 * inspector/front-end/ScriptsPanel.js:
1190 (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
1192 2012-07-03 Robert Hogan <robert@webkit.org>
1194 CSS 2.1 failure: floats-wrap-top-below-inline-* fail
1195 https://bugs.webkit.org/show_bug.cgi?id=88171
1197 Reviewed by Eric Seidel.
1199 When shifting a line or element left or right to avoid a float use the height
1200 of the line or element to determine whether the float is inside the element or
1201 if it overlaps the bottom of the element.
1203 Do this by passing the height of the element to the interval tree used to detect
1204 the overlap with it's containing block's floats. The height is zero by default so
1205 callers to logical[Left|Right]OffsetForLine will need to pass the height if they
1206 want to use it to detect floats to avoid.
1208 Tests: css2.1/20110323/floats-wrap-top-below-bfc-001l.htm
1209 css2.1/20110323/floats-wrap-top-below-bfc-001r.htm
1210 css2.1/20110323/floats-wrap-top-below-bfc-002l.htm
1211 css2.1/20110323/floats-wrap-top-below-bfc-002r.htm
1212 css2.1/20110323/floats-wrap-top-below-bfc-003l.htm
1213 css2.1/20110323/floats-wrap-top-below-bfc-003r.htm
1214 css2.1/20110323/floats-wrap-top-below-inline-001l.htm
1215 css2.1/20110323/floats-wrap-top-below-inline-001r.htm
1216 css2.1/20110323/floats-wrap-top-below-inline-002l.htm
1217 css2.1/20110323/floats-wrap-top-below-inline-002r.htm
1218 css2.1/20110323/floats-wrap-top-below-inline-003l.htm
1219 css2.1/20110323/floats-wrap-top-below-inline-003r.htm
1220 css2.1/20110323/floats-zero-height-wrap-001.htm
1221 css2.1/20110323/floats-zero-height-wrap-002.htm
1222 fast/block/float/floats-wrap-inside-inline-001.htm
1223 fast/block/float/floats-wrap-inside-inline-002.htm
1224 fast/block/float/floats-wrap-inside-inline-003.htm
1225 fast/block/float/floats-wrap-inside-inline-004.htm
1226 fast/block/float/floats-wrap-inside-inline-005.htm
1228 * rendering/RenderBlock.cpp:
1229 (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
1230 (WebCore::::collectIfNeeded):
1231 (WebCore::RenderBlock::logicalLeftOffsetForLine):
1232 (WebCore::RenderBlock::logicalRightOffsetForLine):
1233 (WebCore::RenderBlock::getClearDelta):
1234 * rendering/RenderBlock.h:
1235 (WebCore::RenderBlock::availableLogicalWidthForLine):
1236 (WebCore::RenderBlock::logicalRightOffsetForLine):
1237 (WebCore::RenderBlock::logicalLeftOffsetForLine):
1238 (WebCore::RenderBlock::startOffsetForLine):
1239 (WebCore::RenderBlock::endOffsetForLine):
1240 (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine):
1241 (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
1243 (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
1244 (WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
1245 (WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
1246 (FloatIntervalSearchAdapter):
1247 * rendering/RenderBlockLineLayout.cpp:
1248 (WebCore::logicalBottomForLine):
1250 (WebCore::LineWidth::updateAvailableWidth):
1251 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
1252 * rendering/RenderBox.cpp:
1253 (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
1255 2012-07-03 Vsevolod Vlasov <vsevik@chromium.org>
1257 Web Inspector: Introduce Workspace make it UISourceCode provider for ScriptsPanel.
1258 https://bugs.webkit.org/show_bug.cgi?id=90466
1260 Reviewed by Pavel Feldman.
1262 Introduced WebInspector.Workspace as a model (UISourceCode provider) behind ScriptsPanel.
1265 * WebCore.vcproj/WebCore.vcproj:
1266 * inspector/compile-front-end.py:
1267 * inspector/front-end/ScriptsPanel.js:
1268 * inspector/front-end/WebKit.qrc:
1269 * inspector/front-end/Workspace.js: Added.
1270 (WebInspector.CompositeUISourceCodeProvider):
1271 (WebInspector.CompositeUISourceCodeProvider.prototype._registerUISourceCodeProvider):
1272 (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeAdded):
1273 (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeReplaced):
1274 (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeRemoved):
1275 (WebInspector.CompositeUISourceCodeProvider.prototype.uiSourceCodes):
1276 (WebInspector.Workspace):
1277 (WebInspector.Workspace.prototype.registerUISourceCodeProvider):
1278 * inspector/front-end/inspector.html:
1279 * inspector/front-end/inspector.js:
1281 2012-07-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
1283 [Qt] Make use of .qmake.cache for caching features
1285 Instead of loading() features from the files that need them (and re-running
1286 a bunch of checks), we now run feature detection as part of configure.pro,
1287 and have build-webkit write the computed feature-defines and CONFIG to
1288 .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
1289 when building WebKit.pro.
1291 At some point we'll be able to selectivly prevent running of config tests
1292 in configure.pro, which means we don't need a separate code-path for
1293 the build-webkit --help case.
1295 We should also move the code in build-webkit that now uses .webkit.config
1296 to detect clean builds, to use .qmake.cache, since we now store the same
1299 Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
1301 https://bugs.webkit.org/show_bug.cgi?id=90461
1303 Reviewed by Tor Arne Vestbø.
1305 * DerivedSources.pri:
1308 2012-07-03 Sheriff Bot <webkit.review.bot@gmail.com>
1310 Unreviewed, rolling out r121766.
1311 http://trac.webkit.org/changeset/121766
1312 https://bugs.webkit.org/show_bug.cgi?id=90465
1314 It caused flakey build errors on the bots (Requested by Ossy
1317 * DerivedSources.pri:
1320 2012-07-03 George Staikos <staikos@webkit.org>
1322 [BlackBerry] Enable Custom Scheme Handlers for BlackBerry.
1323 https://bugs.webkit.org/show_bug.cgi?id=90422
1325 Reviewed by Rob Buis.
1327 * page/NavigatorRegisterProtocolHandler.cpp:
1328 (WebCore::initProtocolHandlerWhitelist): Disable the overrides as
1329 they're undesired by BlackBerry
1331 2012-07-03 Eugene Klyuchnikov <eustas.bug@gmail.com>
1333 Web Inspector: Forward message loop instrumentation data to frontend.
1334 https://bugs.webkit.org/show_bug.cgi?id=89584
1336 Reviewed by Yury Semikhatsky.
1338 Transmit collected message loop tasks to inspector frontend.
1339 Now "Program" should be a top-level event on browsers that
1340 support message loop instrumentation.
1341 Frontend was changed so that user will not see any changes.
1343 * inspector/InspectorTimelineAgent.cpp:
1344 (TimelineRecordType):
1345 Added new event type - "Program"
1346 (WebCore::InspectorTimelineAgent::willProcessTask):
1347 Begin "Program" event.
1348 (WebCore::InspectorTimelineAgent::didProcessTask):
1349 Finish "Program" event.
1350 (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
1351 Do not add counters to "Program" events.
1353 (WebCore::InspectorTimelineAgent::innerSetHeapSizeStatistic):
1354 Renamed from "setHeapSizeStatistic"
1355 * inspector/InspectorTimelineAgent.h:
1356 (InspectorTimelineAgent):
1357 * inspector/front-end/MemoryStatistics.js:
1358 (WebInspector.MemoryStatistics.prototype._onRecordAdded):
1359 Unwraps "Program" events.
1360 (WebInspector.MemoryStatistics.prototype._innerRecordAdded):
1361 Renamed from "_onRecordAdded"
1362 * inspector/front-end/TimelineFrameController.js:
1363 (WebInspector.TimelineFrameController.prototype._addRecord):
1364 Unwraps "Program" events.
1365 (WebInspector.TimelineFrameController.prototype._innerAddRecord):
1366 Renamed from "_addRecord"
1367 * inspector/front-end/TimelineModel.js:
1368 * inspector/front-end/TimelineOverviewPane.js:
1369 (WebInspector.TimelineCategoryStrips.prototype.update.appendRecord):
1370 Filter out "Program" category.
1371 (WebInspector.TimelineCategoryStrips.prototype.update):
1372 * inspector/front-end/TimelinePanel.js:
1373 (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
1374 Filter out "Program" category.
1375 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1376 Unwraps "Program" events.
1377 * inspector/front-end/TimelinePresentationModel.js:
1378 (WebInspector.TimelinePresentationModel.categories):
1379 Added "Program" category.
1380 (WebInspector.TimelinePresentationModel.recordStyle):
1382 (WebInspector.TimelinePresentationModel.prototype.addRecord):
1383 Unwraps "Program" events.
1384 (WebInspector.TimelinePresentationModel.prototype._addRecord):
1385 Renamed from "addRecord"
1387 2012-07-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
1389 [Qt] Make use of .qmake.cache for caching features
1391 Instead of loading() features from the files that need them (and re-running
1392 a bunch of checks), we now run feature detection as part of configure.pro,
1393 and have build-webkit write the computed feature-defines and CONFIG to
1394 .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
1395 when building WebKit.pro.
1397 At some point we'll be able to selectivly prevent running of config tests
1398 in configure.pro, which means we don't need a separate code-path for
1399 the build-webkit --help case.
1401 We should also move the code in build-webkit that now uses .webkit.config
1402 to detect clean builds, to use .qmake.cache, since we now store the same
1405 Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
1407 https://bugs.webkit.org/show_bug.cgi?id=90461
1409 Reviewed by Tor Arne Vestbø.
1411 * DerivedSources.pri:
1414 2012-07-03 Vsevolod Vlasov <vsevik@chromium.org>
1416 inspector/debugger/script-snippet-model.html fails
1417 https://bugs.webkit.org/show_bug.cgi?id=90385
1419 Reviewed by Pavel Feldman.
1421 * inspector/front-end/ScriptSnippetModel.js:
1423 2012-07-03 Alexander Pavlov <apavlov@chromium.org>
1425 [REGRESSION] Crash when copying a StyleRuleMedia with a NULL m_mediaQueries
1426 https://bugs.webkit.org/show_bug.cgi?id=90459
1428 Reviewed by Andreas Kling.
1430 Create StyleRuleMedia with a non-NULL MediaQuerySet. The respective NULL checks for it were all over the code,
1431 except the copy constructor. Added the check, just in case.
1433 * css/CSSParser.cpp:
1434 (WebCore::CSSParser::createMediaRule):
1435 * css/StyleRule.cpp:
1436 (WebCore::StyleRuleMedia::StyleRuleMedia):
1438 2012-07-03 Andrey Kosyakov <caseq@chromium.org>
1440 Web Inspector: display time intervals measured with console.time() and console.timeEnd() in Timeline
1441 https://bugs.webkit.org/show_bug.cgi?id=90442
1443 Reviewed by Pavel Feldman.
1445 - added Time and TimeEnd record types produced by console.time() and console.timeEnd()
1446 - connect Time to TimeEnd in "glue" mode to better visualize the interval;
1447 - always make Time a top-level record;
1449 * English.lproj/localizedStrings.js:
1450 * inspector/InspectorInstrumentation.cpp:
1451 (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
1452 (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
1453 * inspector/InspectorTimelineAgent.cpp:
1454 (TimelineRecordType):
1455 (WebCore::InspectorTimelineAgent::didStartTiming):
1457 (WebCore::InspectorTimelineAgent::didStopTiming):
1458 * inspector/InspectorTimelineAgent.h:
1459 (InspectorTimelineAgent):
1460 * inspector/front-end/TimelineModel.js:
1461 * inspector/front-end/TimelinePresentationModel.js:
1462 (WebInspector.TimelinePresentationModel.recordStyle):
1463 (WebInspector.TimelinePresentationModel.categoryForRecord):
1464 (WebInspector.TimelinePresentationModel.prototype.reset):
1465 (WebInspector.TimelinePresentationModel.prototype.addRecord):
1466 (WebInspector.TimelinePresentationModel.prototype._findParentRecord):
1467 (WebInspector.TimelinePresentationModel.Record):
1468 (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
1470 2012-07-03 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> Joel Dillon <joel.dillon@codethink.co.uk>
1472 [Qt][Win] Fix broken QtWebKit5.lib linking
1473 https://bugs.webkit.org/show_bug.cgi?id=88321
1475 Reviewed by Kenneth Rohde Christiansen.
1477 * platform/PlatformExportMacros.h:
1479 2012-07-03 Philip Rogers <pdr@google.com>
1481 Fix text positioning with non-bmp characters.
1482 https://bugs.webkit.org/show_bug.cgi?id=87681
1484 Reviewed by Nikolas Zimmermann.
1486 Previously when constructing metrics for tspans with non-bmp characters,
1487 each non-bmp character treated as a skipped character in the same way that
1489 This made sense because the initial SVGCharacterDataMap for <text> is
1490 indexed by character index (not string length) so the high portion of a
1491 non-bmp character was treated as a skipped space. Unfortunately, this
1492 led to a bug because skipped spaces lead to an offset in the positioning
1493 values list but non-bmp characters do not.
1495 This change switches the code to use a new offset for non-bmp characters,
1496 surrogatePairCharacters, which does not affect the positioning values list.
1498 Tests: svg/text/non-bmp-tspans-expected.svg
1499 svg/text/non-bmp-tspans.svg
1501 * rendering/svg/SVGTextMetricsBuilder.cpp:
1502 (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
1504 2012-07-03 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1506 Improve test cases for network information APIs
1507 https://bugs.webkit.org/show_bug.cgi?id=90162
1509 Reviewed by Adam Barth.
1511 Existing implementation doesn't test port implementation in network info APIs.
1512 This patch lets test cases use bandwidth and metered functions implemented by port layer.
1514 In addition, expected results need to check return type instead of property name.
1516 No new tests. Covered by existing tests.
1518 * Modules/networkinfo/NetworkInfoConnection.cpp:
1519 (WebCore::NetworkInfoConnection::bandwidth):
1520 (WebCore::NetworkInfoConnection::metered):
1522 2012-07-03 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
1524 [EFL] [WK2] Don't call eina_iterator_free() if iterator is NULL
1525 https://bugs.webkit.org/show_bug.cgi?id=90076
1527 Reviewed by Kenneth Rohde Christiansen.
1529 Add a null check to prevent calling eina_iterator_free() when
1532 No new tests. This patch doesn't change behavior.
1534 * platform/efl/FileSystemEfl.cpp:
1535 (WebCore::listDirectory): Early return when iterator is NULL.
1537 2012-07-03 Alexander Pavlov <apavlov@chromium.org>
1539 Web Inspector: [Elements] Text formatting is not retained when editing <script> or <style> contents as text
1540 https://bugs.webkit.org/show_bug.cgi?id=90440
1542 Reviewed by Vsevolod Vlasov.
1544 * inspector/front-end/ElementsTreeOutline.js:
1545 (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
1547 2012-07-03 Vsevolod Vlasov <vsevik@chromium.org>
1549 Web Inspector: Save scroll selection and cursor position of SourceFrames in sources panel.
1550 https://bugs.webkit.org/show_bug.cgi?id=90294
1552 Reviewed by Yury Semikhatsky.
1554 Scroll and selection change handling is now delegated from TextViewer to SourceFrame.
1555 SourceFrame now dispatches ScrollChanged and SelectionChanged events.
1556 TabbedEditorContainer now saves scroll and selection information together
1557 with the url history and restores scroll and selection on resource opening.
1559 * inspector/front-end/JavaScriptSourceFrame.js:
1560 (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
1561 * inspector/front-end/SourceFrame.js:
1562 (WebInspector.SourceFrame.prototype.wasShown):
1563 (WebInspector.SourceFrame.prototype.highlightLine):
1564 (WebInspector.SourceFrame.prototype._innerHighlightLineIfNeeded):
1565 (WebInspector.SourceFrame.prototype._clearLineHighlight):
1566 (WebInspector.SourceFrame.prototype.revealLine):
1567 (WebInspector.SourceFrame.prototype._innerRevealLineIfNeeded):
1568 (WebInspector.SourceFrame.prototype._clearLineToReveal):
1569 (WebInspector.SourceFrame.prototype.scrollToLine):
1570 (WebInspector.SourceFrame.prototype._innerScrollToLineIfNeeded):
1571 (WebInspector.SourceFrame.prototype._clearLineToScrollTo):
1572 (WebInspector.SourceFrame.prototype.setSelection):
1573 (WebInspector.SourceFrame.prototype._innerSetSelectionIfNeeded):
1574 (WebInspector.SourceFrame.prototype._wasShownOrLoaded):
1575 (WebInspector.SourceFrame.prototype.setContent):
1576 (WebInspector.SourceFrame.prototype.commitEditing):
1577 (WebInspector.SourceFrame.prototype.selectionChanged):
1578 (WebInspector.SourceFrame.prototype.scrollChanged):
1579 (WebInspector.TextViewerDelegateForSourceFrame.prototype.selectionChanged):
1580 (WebInspector.TextViewerDelegateForSourceFrame.prototype.scrollChanged):
1581 * inspector/front-end/TabbedEditorContainer.js:
1582 (WebInspector.TabbedEditorContainer):
1583 (WebInspector.TabbedEditorContainer.prototype._addScrollAndSelectionListeners):
1584 (WebInspector.TabbedEditorContainer.prototype._removeScrollAndSelectionListeners):
1585 (WebInspector.TabbedEditorContainer.prototype._scrollChanged):
1586 (WebInspector.TabbedEditorContainer.prototype._selectionChanged):
1587 (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
1588 (WebInspector.TabbedEditorContainer.prototype._tabClosed):
1589 (WebInspector.TabbedEditorContainer.HistoryItem):
1590 (WebInspector.TabbedEditorContainer.HistoryItem.fromObject):
1591 (WebInspector.TabbedEditorContainer.HistoryItem.prototype.serializeToObject):
1592 (WebInspector.TabbedEditorContainer.History):
1593 (WebInspector.TabbedEditorContainer.History.fromObject):
1594 (WebInspector.TabbedEditorContainer.History.prototype.index):
1595 (WebInspector.TabbedEditorContainer.History.prototype.selectionRange):
1596 (WebInspector.TabbedEditorContainer.History.prototype.updateSelectionRange):
1597 (WebInspector.TabbedEditorContainer.History.prototype.scrollLineNumber):
1598 (WebInspector.TabbedEditorContainer.History.prototype.updateScrollLineNumber):
1599 (WebInspector.TabbedEditorContainer.History.prototype.update):
1600 (WebInspector.TabbedEditorContainer.History.prototype.remove):
1601 (WebInspector.TabbedEditorContainer.History.prototype.save):
1602 (WebInspector.TabbedEditorContainer.History.prototype.set _serializeToObject):
1603 * inspector/front-end/TextEditorModel.js:
1604 (WebInspector.TextRange.fromObject):
1605 (WebInspector.TextRange.prototype.clone):
1606 (WebInspector.TextRange.prototype.serializeToObject):
1607 * inspector/front-end/TextViewer.js:
1608 (WebInspector.TextViewer.prototype._handleScrollChanged):
1609 (WebInspector.TextViewer.prototype.scrollToLine):
1610 (WebInspector.TextViewer.prototype._handleSelectionChange):
1611 (WebInspector.TextViewer.prototype.setSelection):
1612 (WebInspector.TextViewer.prototype.wasShown):
1613 (WebInspector.TextViewer.prototype._handleFocused):
1614 (WebInspector.TextViewer.prototype.willHide):
1615 (WebInspector.TextViewerDelegate.prototype.selectionChanged):
1616 (WebInspector.TextViewerDelegate.prototype.scrollChanged):
1617 (WebInspector.TextEditorChunkedPanel.prototype.scrollToLine):
1619 2012-07-03 Taiju Tsuiki <tzik@chromium.org>
1621 Web Inspector: Make DirectoryContentView sortable
1622 https://bugs.webkit.org/show_bug.cgi?id=90361
1624 Reviewed by Vsevolod Vlasov.
1626 * inspector/Inspector.json:
1627 * inspector/InspectorFileSystemAgent.cpp:
1629 * inspector/front-end/DirectoryContentView.js:
1630 (WebInspector.DirectoryContentView):
1631 (WebInspector.DirectoryContentView.prototype.showEntries):
1632 (WebInspector.DirectoryContentView.prototype._sort):
1633 (WebInspector.DirectoryContentView.Node.comparator.isDirectoryCompare):
1634 (WebInspector.DirectoryContentView.Node.comparator.nameCompare):
1635 (WebInspector.DirectoryContentView.Node.comparator.typeCompare):
1636 (WebInspector.DirectoryContentView.Node.comparator.sizeCompare):
1637 (WebInspector.DirectoryContentView.Node.comparator):
1638 (WebInspector.DirectoryContentView.Node.prototype._metadataReceived):
1640 2012-07-03 Jan Keromnes <janx@linux.com>
1642 Web Inspector: WebInspector.TextViewer should be renamed WebInspector.TextEditor
1643 https://bugs.webkit.org/show_bug.cgi?id=89939
1645 Reviewed by Vsevolod Vlasov.
1647 Fixed LayoutTests and PerformanceTests accordingly.
1650 * WebCore.vcproj/WebCore.vcproj:
1651 * inspector/compile-front-end.py:
1652 * inspector/front-end/AdvancedSearchController.js:
1653 (WebInspector.SearchView):
1654 * inspector/front-end/JavaScriptSourceFrame.js:
1655 (WebInspector.JavaScriptSourceFrame):
1656 (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
1657 (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
1658 (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointDecoration):
1659 (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition.finishEditing):
1660 (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition):
1661 (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
1662 (WebInspector.JavaScriptSourceFrame.prototype.clearExecutionLine):
1663 (WebInspector.JavaScriptSourceFrame.prototype.onTextEditorContentLoaded):
1664 (WebInspector.JavaScriptSourceFrame.prototype.toggleBreakpointOnCurrentLine):
1665 * inspector/front-end/SourceFrame.js:
1666 (WebInspector.SourceFrame):
1667 (WebInspector.SourceFrame.prototype.wasShown):
1668 (WebInspector.SourceFrame.prototype.willHide):
1669 (WebInspector.SourceFrame.prototype.defaultFocusedElement):
1670 (WebInspector.SourceFrame.prototype.get textEditor):
1671 (WebInspector.SourceFrame.prototype.clearMessages):
1672 (WebInspector.SourceFrame.prototype.highlightLine):
1673 (WebInspector.SourceFrame.prototype._clearLineHighlight):
1674 (WebInspector.SourceFrame.prototype.revealLine):
1675 (WebInspector.SourceFrame.prototype.setSelection):
1676 (WebInspector.SourceFrame.prototype.setContent):
1677 (WebInspector.SourceFrame.prototype.onTextEditorContentLoaded):
1678 (WebInspector.SourceFrame.prototype._setTextEditorDecorations):
1679 (WebInspector.SourceFrame.prototype.searchCanceled):
1680 (WebInspector.SourceFrame.prototype.jumpToSearchResult):
1681 (WebInspector.SourceFrame.prototype.addMessageToSource):
1682 (WebInspector.SourceFrame.prototype.removeMessageFromSource):
1683 (WebInspector.SourceFrame.prototype.inheritScrollPositions):
1684 (WebInspector.TextEditorDelegateForSourceFrame):
1685 * inspector/front-end/TextViewer.js: Removed.
1686 * inspector/front-end/WebKit.qrc:
1687 * inspector/front-end/inspector.html:
1688 * inspector/front-end/textViewer.css: Removed.
1690 2012-07-03 Charles Wei <charles.wei@torchmobile.com.cn>
1692 IndexedDB: should make the LevelDB persistant to the directory indicated in PageGroupSettings::indexedDBDataBasePath
1693 https://bugs.webkit.org/show_bug.cgi?id=88338
1695 Reviewed by David Levin.
1697 If the indexedDB runs in main thread it can access the GroupSettings via the document;
1698 otherwise, we need to pass the page GroupSettings to the worker thread so that accessible
1699 to the indexedDB running in WorkerContext.
1701 * Modules/indexeddb/IDBFactory.cpp:
1702 (WebCore::IDBFactory::open):
1703 * workers/DedicatedWorkerThread.cpp:
1704 (WebCore::DedicatedWorkerThread::create):
1705 (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
1706 * workers/DedicatedWorkerThread.h:
1707 (DedicatedWorkerThread):
1708 * workers/DefaultSharedWorkerRepository.cpp:
1709 (SharedWorkerProxy):
1710 (WebCore::SharedWorkerProxy::groupSettings):
1712 (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
1713 * workers/SharedWorkerThread.cpp:
1714 (WebCore::SharedWorkerThread::create):
1715 (WebCore::SharedWorkerThread::SharedWorkerThread):
1716 * workers/SharedWorkerThread.h:
1717 (SharedWorkerThread):
1718 * workers/WorkerMessagingProxy.cpp:
1719 (WebCore::WorkerMessagingProxy::startWorkerContext):
1720 * workers/WorkerThread.cpp:
1721 (WebCore::WorkerThreadStartupData::create):
1722 (WorkerThreadStartupData):
1723 (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
1724 (WebCore::WorkerThread::WorkerThread):
1725 (WebCore::WorkerThread::groupSettings):
1727 * workers/WorkerThread.h:
1730 2012-07-03 Balazs Kelemen <kbalazs@webkit.org>
1732 [Qt][WK2] fast/viewport/viewport-91.html still fails after r121555 and r121661
1733 https://bugs.webkit.org/show_bug.cgi?id=90376
1735 Reviewed by Csaba Osztrogonác.
1737 No new tests, this is only a build alignment.
1739 Export ViewportArguments::deprecatedTargetDPI since it is used in WebKit2.
1742 2012-07-02 Martin Robinson <mrobinson@igalia.com>
1744 [TextureMapper] The TextureMapper should support edge-distance anti-antialiasing
1745 https://bugs.webkit.org/show_bug.cgi?id=90308
1747 Reviewed by Noam Rosenthal.
1749 Add an edge-distance anti-aliasing implementation for the TextureMapper. Currently
1750 this implementation is not active for tiled layers. This implementation is based
1751 on the one in the Chromium compositor originally written by David Raveman.
1753 When a layer is transformed in a way that leaves its edge dimensions across pixel
1754 boundaries, edge distance anti-aliasing will do a cheaper form of anti-aliasing
1755 than full-scene anti-aliasing to make the transition from the layer pixel
1756 to the background pixel smoother.
1758 No new tests. This will be covered by pixel tests for Qt and GTK+ accelerated
1759 compositing and 3D transforms, when those test harnesses are capable of
1760 producing pixel output (in progress).
1762 * platform/graphics/texmap/TextureMapper.h: Add an enum which is used to tell
1763 the texture mapper what edges of a texture are exposed. This will be used for
1764 properly dealing with tiled layers in the future.
1765 * platform/graphics/texmap/TextureMapperBackingStore.cpp: Properly pass information
1766 about exposed layer edges to the TextureMapper while painting.
1767 * platform/graphics/texmap/TextureMapperBackingStore.h:
1768 (TextureMapperTile): Modified arguments include exposed edges.
1769 * platform/graphics/texmap/TextureMapperGL.cpp:
1770 (WebCore::TextureMapperGL::drawQuad): Renamed from drawRect, this method can now
1771 draw quads that have non unit-rect texture coordinates. This is necessary because
1772 the edge distance approach draws such quad.
1773 (WebCore::TextureMapperGL::drawBorder): Call drawQuad now instead of drawRect.
1774 (WebCore::TextureMapperGL::drawTexture): Pass the exposedEdges argument down.
1775 (WebCore::TextureMapperGL::drawTextureRectangleARB): Call drawQuad now instead of
1777 (WebCore::viewportMatrix): Added this helper which can calculate the viewport
1778 transform based on the current OpenGL viewport settings.
1779 (WebCore::scaleLineEquationCoeffecientsToOptimizeDistanceCalculation): Added this
1780 helper which optimizes the fragment shader by precalculating some constant parts
1781 of the distance calculation.
1782 (WebCore::getStandardEquationCoeffecientsForLine): Given two end points of line segment
1783 get the coeffecients of the line in the standard form of the line equation.
1784 (WebCore::quadToEdgeArray): Converts a FloatQuad to an array of four sets of pre-scaled
1785 line coefficients so that they can be passed to OpenGL.
1786 (WebCore::scaledVectorDifference): Helper which helps expand a quad of arbitrary
1788 (WebCore::inflateQuad): Inflate a quad of arbitrary orientation. The transform may
1789 flip it so we have to look at neighboring points to expand the quad.
1790 (WebCore::TextureMapperGL::drawTextureWithAntialiasing): Activate the anti-aliasing
1791 program and set up all uniforms.
1792 (WebCore::TextureMapperGL::drawTexturedQuadWithProgram): Abstract out common operations
1793 from drawTexture to be used with drawTextureWithAntialiasing.
1794 * platform/graphics/texmap/TextureMapperGL.h:
1795 (WebCore::TextureMapperGL::DrawQuad::DrawQuad): Add this small type which stores information
1796 necessary to draw a quad -- it's original destination rect and the final size mapped to
1797 texture coordinates.
1799 * platform/graphics/texmap/TextureMapperImageBuffer.cpp: Add the new exposedEdges argument.
1800 * platform/graphics/texmap/TextureMapperImageBuffer.h: Ditto.
1801 * platform/graphics/texmap/TextureMapperShaderManager.cpp: Add the new fragment shader for
1802 doing edge-distance AA and a program which uses that shader.
1803 * platform/graphics/texmap/TextureMapperShaderManager.h: Ditto.
1805 2012-07-02 Dan Bernstein <mitz@apple.com>
1807 Column height and count calculation ignores most overflow
1808 https://bugs.webkit.org/show_bug.cgi?id=90392
1810 Reviewed by Dean Jackson.
1812 Test: fast/multicol/overflow-content.html
1814 * rendering/RenderBlock.cpp:
1815 (WebCore::RenderBlock::relayoutForPagination): Changed to compute the overflow from children
1816 and use the layout overflow height rather the content height.
1818 2012-07-02 Chris Guan <chris.guan@torchmobile.com.cn>
1820 [BlackBerry] Refactor : move the implementation of getMIMETypeForExtension and getPreferredExtensionForMIMEType into BlackBerry platform
1821 https://bugs.webkit.org/show_bug.cgi?id=90360
1823 Reviewed by Antonio Gomes.
1825 We should have one implementation for getMIMETypeForExtension
1826 and getPreferredExtensionForMIMEType for both webkit and platform,
1827 so I move this implementation to BlackBerry platform.
1829 No new test cases , because no behavior changed.
1831 * platform/blackberry/MIMETypeRegistryBlackBerry.cpp:
1832 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1833 (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
1835 2012-07-02 Emil A Eklund <eae@chromium.org>
1837 Position replaced elements on pixel bounds
1838 https://bugs.webkit.org/show_bug.cgi?id=90354
1840 Reviewed by Eric Seidel.
1842 To avoid sizing and repaint issues we should layout replaced elements on
1843 pixel bounds. We already ensure that replaced elements are sized in full
1844 pixels and that they are painted on pixel bounds. By also ensuring that
1845 they are placed on pixel bounds we avoid pixel having the size be
1846 expanded by pixel snapping and repainting/invalidation rect issues when
1849 Test: fast/repaint/repaint-during-scroll-with-zoom.html
1851 * rendering/RenderBox.cpp:
1852 (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
1853 (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
1855 2012-07-02 Nico Weber <thakis@chromium.org>
1857 Fix new -Wunused-private-field violations
1858 https://bugs.webkit.org/show_bug.cgi?id=90417
1860 Reviewed by Ryosuke Niwa.
1862 No intended behavior change.
1864 * inspector/InspectorFileSystemAgent.cpp:
1866 * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
1867 (WebCore::CCPrioritizedTextureManager::CCPrioritizedTextureManager):
1868 * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
1869 (CCPrioritizedTextureManager):
1871 2012-07-02 Yoshifumi Inoue <yosin@chromium.org>
1873 Build fix for Chromimum
1875 r121710 removed WebCore/platform/qt/GraphicsLayerQt.{cpp,h}.
1876 However, that patch didn't remove them from WebCore.gypi.
1878 * WebCore.gypi: Removed GraphicsLayerQt.{cpp,h}
1880 2012-07-02 Joshua Bell <jsbell@chromium.org>
1882 IDL overloads should not treat wrapper types as nullable by default
1883 https://bugs.webkit.org/show_bug.cgi?id=90218
1885 Reviewed by Kentaro Hara.
1887 Wrapper types were being treated as Nullable by default during overloaded
1888 method dispatching, which deviates from the WebIDL specification. This change
1889 introduces the "?" type suffix into the parser, and treats wrapper types
1890 only nullable if specified. (The behavior of array types and other non-wrapper
1891 types are not changed, and only overloaded methods are checked.)
1893 IDL files with affected overloads are modified to include the "?" suffix
1894 so that no behavior changes are introduced by this patch - the JS and V8
1895 generator results before/after the change show no diffs.
1897 Test: bindings/scripts/test/TestObj.idl (a non-nullable overload)
1899 * Modules/indexeddb/IDBDatabase.idl: Added "?" where necessary.
1900 * Modules/indexeddb/IDBIndex.idl: Added "?" where necessary.
1901 * Modules/indexeddb/IDBObjectStore.idl: Added "?" where necessary.
1902 * Modules/webaudio/AudioContext.idl: Added "?" where necessary.
1903 * Modules/webaudio/AudioNode.idl: Added "?" where necessary.
1904 * bindings/scripts/CodeGeneratorJS.pm:
1905 (GenerateParametersCheckExpression): Add isNullable check.
1906 * bindings/scripts/CodeGeneratorV8.pm:
1907 (GenerateParametersCheckExpression): Add isNullable check.
1908 * bindings/scripts/IDLParser.pm: Parse/set isNullable.
1910 * bindings/scripts/IDLStructure.pm: Add basic type suffix parsing.
1911 * bindings/scripts/test/JS/JSTestObj.cpp:
1912 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
1914 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
1915 * bindings/scripts/test/TestObj.idl: Mark previous overload params with ?, add new one without.
1916 * bindings/scripts/test/V8/V8TestObj.cpp:
1917 (WebCore::TestObjV8Internal::overloadedMethod8Callback):
1918 (TestObjV8Internal):
1919 (WebCore::TestObjV8Internal::overloadedMethodCallback):
1920 * dom/DataTransferItemList.idl: Added "?" where necessary.
1921 * fileapi/WebKitBlobBuilder.idl: Added "?" where necessary.
1922 * html/DOMURL.idl: Added "?" where necessary.
1923 * html/canvas/CanvasRenderingContext2D.idl: Added "?" where necessary.
1924 * html/canvas/WebGLRenderingContext.idl: Added "?" where necessary.
1926 2012-07-02 No'am Rosenthal <noam.rosenthal@nokia.com>
1928 [Qt] Get rid of GraphicsLayerQt
1929 https://bugs.webkit.org/show_bug.cgi?id=78598
1931 Reviewed by Luiz Agostini.
1933 Remove GraphicsLayerQt.h/cpp, as well as references to the non-TextureMapper code paths
1934 in GraphicsContext3DQt and MediaPlayerPrivateQt.
1936 No new tests, removing unused code paths.
1939 * platform/graphics/PlatformLayer.h:
1940 * platform/graphics/qt/GraphicsContext3DQt.cpp:
1941 (GraphicsContext3DPrivate):
1943 * platform/graphics/qt/GraphicsContextQt.cpp:
1945 * platform/graphics/qt/GraphicsLayerQt.cpp: Removed.
1946 * platform/graphics/qt/GraphicsLayerQt.h: Removed.
1947 * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1949 * platform/graphics/qt/MediaPlayerPrivateQt.h:
1950 (MediaPlayerPrivateQt):
1951 * plugins/qt/PluginViewQt.cpp:
1952 (WebCore::PluginView::invalidateRect):
1953 (WebCore::PluginView::platformStart):
1955 2012-07-02 Behdad Esfahbod <behdad@behdad.org>
1957 LayoutUnit::epsilon() is wrong
1958 https://bugs.webkit.org/show_bug.cgi?id=90083
1960 Reviewed by Eric Seidel.
1962 Do division in floats, not integers.
1964 No new tests. No code using the affected function.
1966 * platform/FractionalLayoutUnit.h:
1967 (WebCore::FractionalLayoutUnit::epsilon):
1969 2012-07-02 Tim Horton <timothy_horton@apple.com>
1971 Compositing layer sync should cause deferred repaints to be fired immediately
1972 https://bugs.webkit.org/show_bug.cgi?id=90401
1973 <rdar://problem/11792028>
1975 Reviewed by Simon Fraser and Antti Koivisto.
1977 If we sync compositing layers and allow the repaint to be deferred, there is time for a
1978 visible flash to occur. Instead, stop the deferred repaint timer and repaint immediately.
1980 No new tests, configuration and timing dependent.
1982 * page/FrameView.cpp:
1983 (WebCore::FrameView::syncCompositingStateForThisFrame):
1984 (WebCore::FrameView::checkStopDelayingDeferredRepaints):
1985 (WebCore::FrameView::stopDelayingDeferredRepaints): Split off from checkStopDelayingDeferredRepaints.
1987 (FrameView): Add stopDelayingDeferredRepaints.
1989 2012-07-02 Benjamin Poulain <bpoulain@apple.com>
1991 Do not do any logging initialization when logging is disabled
1992 https://bugs.webkit.org/show_bug.cgi?id=90228
1994 Reviewed by Simon Fraser.
1996 Initializating of the logging channels was taking time on startup. When logging is disabled
1997 (and the LOG macro does nothing), we should aslo disable logging channels and initialization.
1999 This patch #ifdef the Logging initialization with the macro LOG_DISABLED.
2002 * make-export-file-generator: Explicitely adds Assertions.h so that LOG_DISABLED is defined.
2003 * platform/Logging.cpp:
2004 * platform/Logging.h:
2005 * platform/blackberry/LoggingBlackBerry.cpp:
2006 * platform/efl/LoggingEfl.cpp:
2007 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2008 * platform/gtk/LoggingGtk.cpp:
2009 * platform/mac/LoggingMac.mm:
2010 * platform/network/soup/ResourceHandleSoup.cpp:
2011 (WebCore::ensureSessionIsInitialized):
2012 * platform/qt/LoggingQt.cpp:
2013 * platform/win/LoggingWin.cpp:
2014 * platform/wx/LoggingWx.cpp:
2016 2012-07-02 Dan Bernstein <mitz@apple.com>
2018 <rdar://problem/11787030> In vertical writing modes, child following float-clearing block has incorrect logical top
2019 https://bugs.webkit.org/show_bug.cgi?id=90359
2021 Reviewed by Anders Carlsson.
2023 Test: fast/writing-mode/logical-height-after-clear.html
2025 * rendering/RenderBlock.cpp:
2026 (WebCore::RenderBlock::clearFloatsIfNeeded): Changed to use logicalTop() and logicalHeight()
2027 instead of y() and height().
2029 2012-07-02 Arko Saha <arko@motorola.com>
2031 Microdata: Fix build failure after r121580.
2032 https://bugs.webkit.org/show_bug.cgi?id=90378
2034 Reviewed by Ryosuke Niwa.
2036 * html/HTMLElement.cpp:
2037 (WebCore::HTMLElement::properties):
2038 * html/HTMLElement.h:
2040 2012-07-02 Tommy Widenflycht <tommyw@google.com>
2042 MediaStream API: Update MediaStreamTrackList to match the specification
2043 https://bugs.webkit.org/show_bug.cgi?id=90171
2045 Reviewed by Adam Barth.
2047 The latest update to the specification added add and remove methods with corresponding callbacks.
2048 The callbacks can be triggered both from JS and from the platform layer.
2050 Test: fast/mediastream/MediaStreamTrackList.html
2053 * GNUmakefile.list.am:
2054 * Modules/mediastream/MediaStream.cpp:
2055 (WebCore::MediaStream::MediaStream):
2056 (WebCore::MediaStream::~MediaStream):
2057 (WebCore::MediaStream::streamEnded):
2058 (WebCore::MediaStream::addTrack):
2060 (WebCore::MediaStream::removeTrack):
2061 * Modules/mediastream/MediaStream.h:
2063 * Modules/mediastream/MediaStreamTrackEvent.cpp: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.cpp.
2065 (WebCore::MediaStreamTrackEvent::create):
2066 (WebCore::MediaStreamTrackEvent::MediaStreamTrackEvent):
2067 (WebCore::MediaStreamTrackEvent::~MediaStreamTrackEvent):
2068 (WebCore::MediaStreamTrackEvent::track):
2069 (WebCore::MediaStreamTrackEvent::interfaceName):
2070 * Modules/mediastream/MediaStreamTrackEvent.h: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.h.
2072 (MediaStreamTrackEvent):
2073 * Modules/mediastream/MediaStreamTrackEvent.idl: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.idl.
2074 * Modules/mediastream/MediaStreamTrackList.cpp:
2075 (WebCore::MediaStreamTrackList::create):
2076 (WebCore::MediaStreamTrackList::MediaStreamTrackList):
2077 (WebCore::MediaStreamTrackList::detachOwner):
2079 (WebCore::MediaStreamTrackList::add):
2080 (WebCore::MediaStreamTrackList::remove):
2081 (WebCore::MediaStreamTrackList::stop):
2082 (WebCore::MediaStreamTrackList::interfaceName):
2083 (WebCore::MediaStreamTrackList::scriptExecutionContext):
2084 (WebCore::MediaStreamTrackList::eventTargetData):
2085 (WebCore::MediaStreamTrackList::ensureEventTargetData):
2086 * Modules/mediastream/MediaStreamTrackList.h:
2087 (MediaStreamTrackList):
2088 * Modules/mediastream/MediaStreamTrackList.idl:
2092 * dom/EventNames.in:
2093 * dom/EventTargetFactory.in:
2094 * platform/mediastream/MediaStreamCenter.cpp:
2095 (WebCore::MediaStreamCenter::addMediaStreamTrack):
2097 (WebCore::MediaStreamCenter::removeMediaStreamTrack):
2098 * platform/mediastream/MediaStreamCenter.h:
2099 (MediaStreamCenter):
2100 * platform/mediastream/MediaStreamDescriptor.h:
2101 (MediaStreamDescriptorOwner):
2102 * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
2103 (WebCore::MediaStreamCenterChromium::didAddMediaStreamTrack):
2105 (WebCore::MediaStreamCenterChromium::didRemoveMediaStreamTrack):
2106 (WebCore::MediaStreamCenterChromium::addMediaStreamTrack):
2107 (WebCore::MediaStreamCenterChromium::removeMediaStreamTrack):
2108 * platform/mediastream/chromium/MediaStreamCenterChromium.h:
2110 (MediaStreamCenterChromium):
2111 * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
2112 (WebCore::MediaStreamCenterGStreamer::didAddMediaStreamTrack):
2114 (WebCore::MediaStreamCenterGStreamer::didRemoveMediaStreamTrack):
2115 * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
2116 (MediaStreamCenterGStreamer):
2118 2012-07-02 Andrey Kosyakov <caseq@chromium.org>
2120 Web Inspector: incorrect height of main timeline pane after switching to memory mode
2121 https://bugs.webkit.org/show_bug.cgi?id=90387
2123 Reviewed by Pavel Feldman.
2125 - update cached container height when setting vertical splitter position.
2127 * inspector/front-end/TimelinePanel.js:
2128 (WebInspector.TimelinePanel.prototype.set _setSplitterPosition):
2130 2012-07-02 Christophe Dumez <christophe.dumez@intel.com>
2132 [MICRODATA] Build failure in html/HTMLPropertiesCollection.h
2133 https://bugs.webkit.org/show_bug.cgi?id=90379
2135 Reviewed by Ryosuke Niwa.
2137 Switch HTMLCollection::append() visibility from private
2138 to protected so that HTMLPropertiesCollection subclass
2139 can call it. This fixes build when MICRODATA flag is
2142 No new tests, build fix.
2144 * html/HTMLCollection.h:
2145 (HTMLCollectionCacheBase):
2147 2012-07-02 Kwang Yul Seo <skyul@company100.net>
2149 A start "body" tag in the "in body" insertion mode is a parse error
2150 https://bugs.webkit.org/show_bug.cgi?id=90373
2152 Reviewed by Eric Seidel.
2154 According to HTML5 specification (http://www.w3.org/TR/html5/tree-construction.html#parsing-main-inbody),
2155 a start "body" tag in the "in body" insertion mode is a parse error. So parseError(token) is required here.
2156 No behavior change because parseError(token) is just a marker.
2158 * html/parser/HTMLTreeBuilder.cpp:
2159 (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2161 2012-07-02 Raphael Kubo da Costa <rakuco@webkit.org>
2163 [EFL] Unreviewed build fix with ENABLE_NETSCAPE_PLUGIN_API after r121467.
2165 * plugins/efl/PluginPackageEfl.cpp:
2166 (WebCore::PluginPackage::load): Move the declaration of `err'
2167 before the first `goto' statement.
2169 2012-07-02 Alexei Filippov <alexeif@chromium.org>
2171 Web Inspector: replace recursion with a stack in DOM nodes snapshot traversal.
2172 https://bugs.webkit.org/show_bug.cgi?id=89889
2174 Number of DOM nodes native snapshots can handle was limited
2175 by the process stack size because of recursion used to traverse the nodes.
2176 The patch changes the recursion to a stack based algorithm.
2178 Reviewed by Yury Semikhatsky.
2180 * dom/MemoryInstrumentation.h:
2181 (MemoryInstrumentation):
2182 (InstrumentedPointerBase):
2183 (WebCore::MemoryInstrumentation::InstrumentedPointerBase::~InstrumentedPointerBase):
2184 (InstrumentedPointer):
2185 (WebCore::MemoryInstrumentation::InstrumentedPointer::InstrumentedPointer):
2186 (WebCore::MemoryInstrumentation::reportInstrumentedPointer):
2188 (WebCore::::process):
2189 * inspector/InspectorMemoryAgent.cpp:
2192 2012-07-02 Taiju Tsuiki <tzik@chromium.org>
2194 Web Inspector: Add requestFileContent command and fileContentReceived event
2195 https://bugs.webkit.org/show_bug.cgi?id=89642
2197 Reviewed by Vsevolod Vlasov.
2199 Test: http/tests/inspector/filesystem/read-file.html
2201 * inspector/Inspector.json:
2202 * inspector/InspectorFileSystemAgent.cpp:
2204 (WebCore::InspectorFileSystemAgent::requestFileContent):
2205 * inspector/InspectorFileSystemAgent.h:
2206 (InspectorFileSystemAgent):
2207 * inspector/front-end/FileSystemModel.js:
2208 (WebInspector.FileSystemModel.prototype.requestMetadata):
2209 (WebInspector.FileSystemModel.prototype.requestFileContent):
2210 (WebInspector.FileSystemModel.File.prototype.get resourceType):
2211 (WebInspector.FileSystemModel.File.prototype.requestFileContent):
2212 (WebInspector.FileSystemRequestManager):
2213 (WebInspector.FileSystemRequestManager.prototype._metadataReceived):
2214 (WebInspector.FileSystemRequestManager.prototype.requestFileContent.requestAccepted):
2215 (WebInspector.FileSystemRequestManager.prototype.requestFileContent):
2216 (WebInspector.FileSystemRequestManager.prototype._fileContentReceived):
2217 (WebInspector.FileSystemDispatcher.prototype.metadataReceived):
2218 (WebInspector.FileSystemDispatcher.prototype.fileContentReceived):
2220 2012-07-02 Taiju Tsuiki <tzik@chromium.org>
2222 Web Inspector: Add refresh button to FileSystemView status bar
2223 https://bugs.webkit.org/show_bug.cgi?id=90244
2225 Reviewed by Vsevolod Vlasov.
2227 * inspector/front-end/FileSystemView.js:
2228 (WebInspector.FileSystemView):
2229 (WebInspector.FileSystemView.prototype.get statusBarItems):
2230 (WebInspector.FileSystemView.prototype.showView):
2231 (WebInspector.FileSystemView.prototype._refresh):
2232 (WebInspector.FileSystemView.EntryTreeElement.prototype._directoryContentReceived):
2234 2012-06-22 Vsevolod Vlasov <vsevik@chromium.org>
2236 Web Inspector: Implement snippets evaluation.
2237 https://bugs.webkit.org/show_bug.cgi?id=88707
2239 Reviewed by Pavel Feldman.
2241 Implemented snippet evaluation and adjusted breakpoints behavior when editing snippet.
2242 Snippets are evaluated using separate compile and run.
2243 Breakpoints are updated after compilation (once scriptId is available they can be set in debugger).
2244 If separate compile and run is not supported by port or debugger is paused we fall back to evaluation in console.
2246 * inspector/front-end/ConsoleView.js:
2247 (WebInspector.ConsoleView.prototype.runScript.runCallback):
2248 (WebInspector.ConsoleView.prototype.runScript):
2249 (WebInspector.ConsoleView.prototype._printResult):
2250 * inspector/front-end/JavaScriptSource.js:
2251 (WebInspector.JavaScriptSource.prototype.supportsEnabledBreakpointsWhileEditing):
2252 * inspector/front-end/JavaScriptSourceFrame.js:
2253 (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
2254 (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
2255 (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
2256 (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointsBeforeEditing):
2257 (WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
2258 (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
2259 (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
2260 * inspector/front-end/ScriptSnippetModel.js:
2261 (WebInspector.ScriptSnippetModel.prototype.deleteScriptSnippet):
2262 (WebInspector.ScriptSnippetModel.prototype._setScriptSnippetContent):
2263 (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.compileCallback):
2264 (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet):
2265 (WebInspector.ScriptSnippetModel.prototype._rawLocationToUILocation):
2266 (WebInspector.ScriptSnippetModel.prototype._removeBreakpoints):
2267 (WebInspector.ScriptSnippetModel.prototype._restoreBreakpoints):
2268 (WebInspector.ScriptSnippetModel.prototype._evaluationSourceURL):
2269 (WebInspector.SnippetJavaScriptSource.prototype.isDivergedFromVM):
2270 (WebInspector.SnippetJavaScriptSource.prototype.workingCopyCommitted):
2271 (WebInspector.SnippetJavaScriptSource.prototype.workingCopyChanged):
2272 (WebInspector.SnippetJavaScriptSource.prototype.evaluate):
2273 (WebInspector.SnippetJavaScriptSource.prototype.supportsEnabledBreakpointsWhileEditing):
2274 (WebInspector.SnippetJavaScriptSource.prototype.breakpointStorageId):
2275 * inspector/front-end/ScriptsNavigator.js:
2276 (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
2278 2012-06-26 Vsevolod Vlasov <vsevik@chromium.org>
2280 Web Inspector: StyleSource should set content using CSSStyleModelResourceBinding directly.
2281 https://bugs.webkit.org/show_bug.cgi?id=89891
2283 Reviewed by Pavel Feldman.
2285 StyleSource now calls CSS resource binding directly.
2286 CSS resource binding now adds resource revision only after setStyleSheetText call returns from backend.
2287 Resource.revertAndClearHistory is now clearing history asynchronously
2288 since Resource.setContent adds revision that should be removed as well.
2290 * inspector/front-end/CSSStyleModel.js:
2291 (WebInspector.CSSStyleModel.prototype.getViaInspectorResourceForRule):
2292 (WebInspector.CSSStyleModel.prototype.resourceBinding):
2293 (WebInspector.CSSStyleModelResourceBinding.prototype.setStyleContent.innerCallback):
2294 (WebInspector.CSSStyleModelResourceBinding.prototype.setStyleContent):
2295 (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
2296 * inspector/front-end/Resource.js:
2297 (WebInspector.Resource.prototype.revertAndClearHistory):
2298 (WebInspector.Resource.prototype.revertAndClearHistory.clearHistory):
2299 * inspector/front-end/RevisionHistoryView.js:
2300 (WebInspector.RevisionHistoryView.prototype._createResourceItem):
2301 * inspector/front-end/StylesPanel.js:
2302 (WebInspector.StyleSource.prototype.workingCopyCommitted):
2303 (WebInspector.StyleSource.prototype.workingCopyChanged):
2305 2012-07-02 Taiju Tsuiki <tzik@chromium.org>
2307 Web Inspector: Add DirectoryContentView for FileSystemView
2308 https://bugs.webkit.org/show_bug.cgi?id=89961
2310 Reviewed by Vsevolod Vlasov.
2313 * WebCore.vcproj/WebCore.vcproj:
2314 * inspector/compile-front-end.py:
2315 * inspector/front-end/DirectoryContentView.js: Added.
2316 * inspector/front-end/FileSystemView.js:
2317 (WebInspector.FileSystemView):
2318 (WebInspector.FileSystemView.EntryTreeElement.prototype.onattach):
2319 (WebInspector.FileSystemView.EntryTreeElement.prototype.onselect):
2320 (WebInspector.FileSystemView.EntryTreeElement.prototype._directoryContentReceived):
2321 * inspector/front-end/WebKit.qrc:
2322 * inspector/front-end/inspector.html:
2324 2012-07-02 Christophe Dumez <christophe.dumez@intel.com>
2326 [EFL] Fix compilation error in GamepadsEfl.cpp in debug mode
2327 https://bugs.webkit.org/show_bug.cgi?id=90369
2329 Unreviewed, EFL build fix.
2331 * platform/efl/GamepadsEfl.cpp:
2332 (WebCore::GamepadsEfl::registerDevice):
2333 (WebCore::GamepadsEfl::unregisterDevice):
2335 2012-07-02 Nikita Vasilyev <me@elv1s.ru>
2337 Web Inspector: Design WebSockets panel
2338 https://bugs.webkit.org/show_bug.cgi?id=89461
2340 Use DataGrid to display the data.
2341 Put "Data" column first. Make it wider.
2342 Remove "Mask" column since it appears to be always true for outgoing frames,
2343 and false for incoming.
2345 Reviewed by Pavel Feldman.
2347 * English.lproj/localizedStrings.js:
2348 * inspector/front-end/NetworkItemView.js:
2349 (WebInspector.NetworkItemView): Don't show Preview, Response, Cookies
2350 and Timing tabs for succefuly established WebSocket connection.
2352 * inspector/front-end/ResourceWebSocketFrameView.js:
2353 (WebInspector.ResourceWebSocketFrameView):
2354 * inspector/front-end/networkPanel.css:
2355 (.resource-websocket):
2356 (.resource-websocket, .resource-websocket .data-grid):
2357 (.resource-websocket .data-grid .data):
2358 (.resource-websocket td):
2359 (.resource-websocket .data-column div):
2360 (.resource-websocket-row-outcoming):
2361 (.resource-websocket-row-outcoming:not(.selected) td):
2362 (.resource-websocket-row-outcoming:not(.selected) td, .resource-websocket-row-outcoming:not(.selected) + tr td):
2363 (.resource-websocket-row-opcode):
2364 (.resource-websocket-row-opcode td):
2365 (.resource-websocket-row-opcode td, .resource-websocket-row-opcode + tr td):
2366 (.resource-websocket-row-error):
2368 2012-07-02 Vineet Chaudhary <rgf748@motorola.com>
2370 [V8Binding] Merging v8NumberArray()/v8NumberArrayToVector() to v8Array()/toNativeArray() respectively.
2371 https://bugs.webkit.org/show_bug.cgi?id=90338
2373 Reviewed by Kentaro Hara.
2375 We can remove v8NumberArray() and v8NumberArrayToVector() implementaion
2376 merging them to current v8Array() and toNativeArray() traits.
2379 Shouldn't cause any behavioural changes.
2381 * bindings/scripts/CodeGeneratorV8.pm: Removed float[]/double[] specific binding code.
2386 * bindings/scripts/test/V8/V8TestObj.cpp: Rebased binding test.
2387 (WebCore::TestObjV8Internal::floatArrayAttrGetter):
2388 (WebCore::TestObjV8Internal::floatArrayAttrSetter):
2389 (WebCore::TestObjV8Internal::doubleArrayAttrGetter):
2390 (WebCore::TestObjV8Internal::doubleArrayAttrSetter):
2391 * bindings/v8/V8Binding.h: Added templates for float and double.
2393 (WebCore::toNativeArray):
2395 2012-07-02 Konrad Piascik <kpiascik@rim.com>
2397 [EFL] [GTK] [QT] fast/viewport/viewport-91.html is failing after r121555
2398 https://bugs.webkit.org/show_bug.cgi?id=90286
2400 Reviewed by Daniel Bates.
2402 Since the deprecatedTargetDPI was an int and the deviceDPI was also an int the result
2403 was truncated. Changed deprecatedTargetDPI to a float value. Viewport test 91 now passes.
2405 * dom/ViewportArguments.h:
2406 (ViewportArguments):
2408 2012-06-28 Yury Semikhatsky <yurys@chromium.org>
2410 Web Inspector: add v8 bindings memory info to the native memory graph
2411 https://bugs.webkit.org/show_bug.cgi?id=90149
2413 Reviewed by Pavel Feldman.
2415 Size of V8 binding maps is now reported on the memory chart.
2417 * bindings/js/ScriptProfiler.h:
2418 (WebCore::ScriptProfiler::collectBindingMemoryInfo):
2419 * bindings/v8/DOMDataStore.cpp:
2420 (WebCore::DOMDataStore::reportMemoryUsage):
2422 * bindings/v8/DOMDataStore.h:
2425 * bindings/v8/IntrusiveDOMWrapperMap.h:
2426 (WebCore::ChunkedTable::reportMemoryUsage):
2428 * bindings/v8/ScriptProfiler.cpp:
2429 (WebCore::ScriptProfiler::collectBindingMemoryInfo):
2431 * bindings/v8/ScriptProfiler.h:
2434 * bindings/v8/V8Binding.cpp:
2435 (WebCore::V8BindingPerIsolateData::reportMemoryUsage):
2437 (WebCore::StringCache::reportMemoryUsage):
2438 * bindings/v8/V8Binding.h:
2441 (V8BindingPerIsolateData):
2442 * bindings/v8/V8DOMMap.h:
2444 (AbstractWeakReferenceMap):
2445 * dom/MemoryInstrumentation.h:
2446 (MemoryInstrumentation):
2448 (WebCore::MemoryInstrumentation::reportHashMap): added a method for reporting
2450 * inspector/InspectorMemoryAgent.cpp:
2453 (WebCore::domTreeInfo):
2455 2012-07-01 Christophe Dumez <christophe.dumez@intel.com>
2457 [EFL] Add Gamepad support
2458 https://bugs.webkit.org/show_bug.cgi?id=90170
2460 Reviewed by Kenneth Rohde Christiansen.
2462 Add support for the Gamepad feature on the EFL port.
2464 The implementation of this class relies on the Linux
2465 kernel joystick API.
2467 Gamepad devices are recognized through the GamepadsEfl
2468 class, of which implementation is based on Eeze
2469 library. This way devices are properly registered on
2470 connection as objects of the GamepadDeviceEfl class
2471 which inherits GamepadDeviceLinux. GamepadDeviceEfl
2472 reads the joystick data through an Ecore_Fd_Handler
2473 and updates the device state accordingly. The
2474 GamepadsEfl object is then polled for gamepads data
2475 through the sampleGamepads method.
2477 No new tests - already tested by gamepad/*
2480 * PlatformEfl.cmake:
2481 * platform/efl/GamepadsEfl.cpp: Added.
2484 (WebCore::GamepadDeviceEfl::create):
2485 (WebCore::GamepadDeviceEfl::GamepadDeviceEfl):
2486 (WebCore::GamepadDeviceEfl::~GamepadDeviceEfl):
2487 (WebCore::GamepadDeviceEfl::readCallback):
2489 (WebCore::GamepadsEfl::onGamePadChange):
2490 (WebCore::GamepadsEfl::GamepadsEfl):
2491 (WebCore::GamepadsEfl::~GamepadsEfl):
2492 (WebCore::GamepadsEfl::registerDevice):
2493 (WebCore::GamepadsEfl::unregisterDevice):
2494 (WebCore::GamepadsEfl::updateGamepadList):
2495 (WebCore::sampleGamepads):
2497 2012-07-01 James Robinson <jamesr@chromium.org>
2499 Unreviewed, rolling out r121635.
2500 http://trac.webkit.org/changeset/121635
2501 https://bugs.webkit.org/show_bug.cgi?id=90286
2503 Breaks compile on clang error: in-class initializer for static
2504 data member of type 'const float' is a GNU extension
2507 * dom/ViewportArguments.h:
2508 (ViewportArguments):
2510 2012-07-01 Timothy Hatcher <timothy@apple.com>
2512 Make the "Inspect Element" context menu item appear in nightly builds again.
2514 rdar://problem/11702613
2515 https://webkit.org/b/89323
2517 Reviewed by Dan Bernstein.
2519 * platform/ContextMenuItem.h:
2520 Fix the order of the ContextMenuAction enum to be binary compatible with
2521 older versions of WebKit.
2523 2012-07-01 Dan Bernstein <mitz@apple.com>
2525 <rdar://problem/11785743> [mac] Non-BMP characters in vertical text appear as missing glyphs
2526 https://bugs.webkit.org/show_bug.cgi?id=90349
2528 Reviewed by Dean Jackson.
2530 Test: platform/mac/fast/text/vertical-surrogate-pair.html
2532 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
2533 (WebCore::GlyphPage::fill): When calling wkGetVerticalGlyphsForCharacters or
2534 CTFontGetGlyphsForCharacters with a buffer consisting of surrogate pair, account for those
2535 functions’ behavior of placing glyphs at indices corresponding to the first character of
2538 2012-07-01 Kenichi Ishibashi <bashi@chromium.org>
2540 Arabic shaping is incorrect if ZWNJ exist
2541 https://bugs.webkit.org/show_bug.cgi?id=89843
2543 Reviewed by Dan Bernstein.
2545 mac port treats ZWJ (zero-width-joiner) and ZWNJ (zero-width-non-joiner) as a part of combining
2546 character sequence. This could cause a problem when the font doesn't have glyph mapping of ZWJ and ZWNJ.
2547 Suppose the text to be rendered is "U+0645(MEEM) U+06CC(FARSI YEH) U+200C(ZWNJ)". In this case, U+0645
2548 and U+06CC are rendered in isolated form if the font doesn't have a glyph for ZWNJ. They should be joined.
2550 This patch changes handling of ZWJ and ZWNJ. Treats ZWJ and ZWNJ as base characters so that a complex text
2551 run isn't separate at the point of ZWJ and ZWNJ even the font doesn't contain glyphs for them.
2552 If ComplexTextController finds ZWJ, it doesn't split the current complex text run.
2554 Test: platform/mac/fast/text/arabic-zwj-and-zwnj.html
2556 * platform/graphics/mac/ComplexTextController.cpp:
2557 (WebCore::advanceByCombiningCharacterSequence): Don't treat ZWJ and ZWNJ as a part of combining character sequence.
2558 (WebCore::ComplexTextController::collectComplexTextRuns): Set fontData to nextFontData if the baseCharacter is ZWJ.
2560 2012-07-01 Konrad Piascik <kpiascik@rim.com>
2562 [EFL] [GTK] [QT] fast/viewport/viewport-91.html is failing after r121555
2563 https://bugs.webkit.org/show_bug.cgi?id=90286
2565 Reviewed by Daniel Bates.
2567 Since the deprecatedTargetDPI was an int and the deviceDPI was also an int the result
2568 was truncated. Changed deprecatedTargetDPI to a float value. Viewport test 91 now passes.
2570 * dom/ViewportArguments.h:
2571 (ViewportArguments):
2573 2012-06-30 Ian Vollick <vollick@chromium.org>
2575 [chromium] CanvasLayerTextureUpdater needs to convert opaque rects back to content space.
2576 https://bugs.webkit.org/show_bug.cgi?id=90092
2578 The CanvasLayerTextureUpdater currently receives its opaque rects in
2579 layer space, but is expected to return them in content space and does
2580 not convert them. This patch adds this conversion. To avoid numerical
2581 errors, this patch also switches to using float rects to store opaque
2582 rects where appropriate.
2584 Reviewed by Adrienne Walker.
2586 Unit test: ContentLayerTest.ContentLayerPainterWithDeviceScale
2588 * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
2589 (WebCore::CanvasLayerTextureUpdater::paintContents):
2590 * platform/graphics/chromium/ContentLayerChromium.cpp:
2591 (WebCore::ContentLayerPainter::ContentLayerPainter):
2592 (WebCore::ContentLayerPainter::create):
2593 (WebCore::ContentLayerPainter::paint):
2594 * platform/graphics/chromium/ContentLayerChromium.h:
2596 (ContentLayerDelegate):
2597 (ContentLayerPainter):
2598 * platform/graphics/chromium/LayerPainterChromium.h:
2600 (LayerPainterChromium):
2601 * platform/graphics/chromium/LinkHighlight.cpp:
2602 (WebCore::LinkHighlight::paintContents):
2603 * platform/graphics/chromium/LinkHighlight.h:
2605 * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
2606 (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
2607 * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.h:
2608 (OpaqueRectTrackingContentLayerDelegate):
2609 * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
2611 2012-06-30 Kwang Yul Seo <skyul@company100.net>
2613 Unreviewed. Remove unused declaration.
2614 HTMLDocumentParser::begin() has no method definition.
2616 * html/parser/HTMLDocumentParser.h:
2618 2012-06-29 No'am Rosenthal <noam.rosenthal@nokia.com>
2620 Unreviewed, rolling out r121569.
2621 http://trac.webkit.org/changeset/121569
2622 https://bugs.webkit.org/show_bug.cgi?id=90082
2624 It broke a couple of tests in Qt Linux Release
2626 * platform/graphics/qt/GraphicsContextQt.cpp:
2627 (WebCore::GraphicsContext::fillRect):
2629 2012-06-29 Simon Fraser <simon.fraser@apple.com>
2631 updateDescendantDependentFlags() is inside #if USE(ACCELERATED_COMPOSITING)
2632 https://bugs.webkit.org/show_bug.cgi?id=90245
2634 Reviewed by Dan Bernstein.
2636 updateDescendantDependentFlags() and updateTransform() should be
2637 outside the USE(ACCELERATED_COMPOSITING) #ifdef. They do work
2638 that is needed even if accelerated compositing is disabled.
2640 * rendering/RenderLayer.cpp:
2641 (WebCore::RenderLayer::styleChanged):
2643 2012-06-29 Erik Arvidsson <arv@chromium.org>
2645 [V8] HTMLCollection wrappers are not retained
2646 https://bugs.webkit.org/show_bug.cgi?id=90208
2648 Reviewed by Adam Barth.
2650 Generate visitDOMWrapper for HTMLCollection and HTMLAllCollection so that we add an implicit reference from the owner
2653 Tests: fast/dom/htmlallcollection-reachable.html
2654 fast/dom/htmlcollection-reachable.html
2656 * bindings/scripts/CodeGeneratorJS.pm:
2657 (GenerateImplementation): Instead of hard coding to use base() for HTMLAllCollection and HTMLCollection we now
2658 annotate the IDL file to use GenerateIsReachable=ImplBaseRoot.
2659 * bindings/scripts/CodeGeneratorV8.pm:
2660 (GenerateVisitDOMWrapper): Generate visitDOMWrapper if GenerateIsReachable is ImplBaseRoot.
2661 * bindings/scripts/IDLAttributes.txt: Added ImplBaseRoot.
2662 * html/HTMLAllCollection.idl: Added annotations.
2663 * html/HTMLCollection.idl: Ditto.
2665 2012-06-29 Tony Chang <tony@chromium.org>
2667 All child elements of a flex container should be turned into a flex item
2668 https://bugs.webkit.org/show_bug.cgi?id=90323
2670 Reviewed by Ojan Vafai.
2672 We used to only convert some elements to blocks, but now we convert everything except text nodes.
2673 This was recently changed here:
2674 http://wiki.csswg.org/topics/css3-flexbox-flexbox-replaced-children
2676 Tests: css3/flexbox/anonymous-block.html : Add new test case.
2677 css3/flexbox/flexitem.html: Update results.
2679 * css/StyleResolver.cpp:
2680 (WebCore::StyleResolver::collectMatchingRulesForList):
2682 2012-06-29 Joshua Bell <jsbell@chromium.org>
2684 IndexedDB: Keep direction on IDBCursor to avoid calls to back end
2685 https://bugs.webkit.org/show_bug.cgi?id=90114
2687 Reviewed by Tony Chang.
2689 Let IDBCursor handle direction() accessor locally, without a call to
2690 the IDBCursorBackendImpl which (in some ports) may reside in a different
2691 process. Not a heavily called function, but further reduces the surface
2692 area exposed by the XXXInterface classes.
2694 No new tests - no functional changes.
2696 * Modules/indexeddb/IDBCursor.cpp:
2697 (WebCore::IDBCursor::create): Accept direction, known at creation time.
2698 (WebCore::IDBCursor::IDBCursor): Stash in member.
2699 (WebCore::IDBCursor::direction): Use local copy
2700 (WebCore::IDBCursor::stringToDirection): Return enum value, not int.
2701 * Modules/indexeddb/IDBCursor.h:
2703 * Modules/indexeddb/IDBCursorBackendImpl.cpp: Remove accessor.
2704 * Modules/indexeddb/IDBCursorBackendImpl.h:
2705 (IDBCursorBackendImpl):
2706 * Modules/indexeddb/IDBCursorBackendInterface.h: Remove accessor.
2707 * Modules/indexeddb/IDBCursorWithValue.cpp:
2708 (WebCore::IDBCursorWithValue::create):
2709 (WebCore::IDBCursorWithValue::IDBCursorWithValue):
2710 * Modules/indexeddb/IDBCursorWithValue.h:
2711 (IDBCursorWithValue):
2712 * Modules/indexeddb/IDBIndex.cpp: Prep IDBRequest with cursor direction too.
2713 (WebCore::IDBIndex::openCursor):
2714 (WebCore::IDBIndex::openKeyCursor):
2715 * Modules/indexeddb/IDBObjectStore.cpp: Ditto.
2716 (WebCore::IDBObjectStore::openCursor):
2717 * Modules/indexeddb/IDBRequest.cpp: Stash direction for pending cursor too.
2718 (WebCore::IDBRequest::IDBRequest):
2719 (WebCore::IDBRequest::setCursorDetails):
2720 (WebCore::IDBRequest::onSuccess): Apply stashed direction to new cursor.
2721 * Modules/indexeddb/IDBRequest.h:
2724 2012-06-29 Tony Chang <tony@chromium.org>
2726 Allow align-self: stretch to cause the item size to shrink below its intrinsic size
2727 https://bugs.webkit.org/show_bug.cgi?id=90304
2729 Reviewed by Ojan Vafai.
2731 The spec used to say that stretch could only make items grow, but now
2732 it allows items to shrink.
2733 http://dev.w3.org/csswg/css3-flexbox/#align-items-stretch
2735 Tests: css3/flexbox/flex-align-stretch.html Updated expectations.
2736 css3/flexbox/child-overflow.html Updated expectations.
2738 * rendering/RenderFlexibleBox.cpp:
2739 (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
2741 2012-06-29 James Weatherall <wez@chromium.org>
2743 NPObjectWrapper may not address all window script object lifetime issues
2744 https://bugs.webkit.org/show_bug.cgi?id=85679
2746 The ScriptController implementations force-deallocate the window script object to ensure that DOM objects are not leaked if an NPAPI plugin fails to release a reference to it before being destroyed. The NPObjectWrapper was added to ensure that NPAPI scripting could not touch the real window script object after it had been deallocated, by providing the plugin with a small wrapper which will leak if the plugin fails to dereference it.
2748 This patch removes NPObjectWrapper and instead drops the window script NPObject's reference to the underlying V8Object in ScriptController::clearScriptObjects(). If a plugin fails to dereference the object then the NPV8Object wrapper will be leaked but the DOM objects it references will not.
2750 Reviewed by Nate Chapin.
2752 Test: plugins/npruntime/leak-window-scriptable-object.html
2755 * bindings/v8/NPObjectWrapper.cpp: Removed.
2756 * bindings/v8/NPObjectWrapper.h: Removed.
2757 * bindings/v8/NPV8Object.cpp:
2758 (WebCore::disposeUnderlyingV8Object):
2760 (WebCore::freeV8NPObject):
2762 (_NPN_InvokeDefault):
2763 (_NPN_EvaluateHelper):
2766 (_NPN_RemoveProperty):
2771 * bindings/v8/NPV8Object.h:
2773 * bindings/v8/ScriptController.cpp:
2774 (WebCore::ScriptController::ScriptController):
2775 (WebCore::ScriptController::clearScriptObjects):
2776 (WebCore::ScriptController::windowScriptNPObject):
2777 * bindings/v8/ScriptController.h:
2780 2012-06-29 Adam Barth <abarth@webkit.org>
2782 Update complex fonts on Android to use fonts from a newer SDK
2783 https://bugs.webkit.org/show_bug.cgi?id=90296
2785 Reviewed by Nate Chapin.
2787 These fonts are available in the Jelly Bean SDK.
2789 * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp:
2790 (WebCore::ComplexTextController::ComplexTextController):
2791 (WebCore::ComplexTextController::getComplexFontPlatformData):
2793 2012-06-29 Ryosuke Niwa <rniwa@webkit.org>
2795 HTMLCollection's caches should be owned by either ElementRareData or Document
2796 https://bugs.webkit.org/show_bug.cgi?id=90322
2798 Reviewed by Anders Carlsson.
2800 Removed all instances of OwnPtr<HTMLCollection> except ones on ElementRareData and Document.
2801 ElementRareData::ensureCachedHTMLCollection then polymorphically creates HTMLCollection or
2802 its subclass as deemed necessary.
2804 This refactoring allows us to move HTMLCollection to use the same invalidation model as
2805 DynamicNodeList (invalidated during DOM mutations) in a follow up.
2808 (WebCore::Document::all):
2812 (WebCore::ElementRareData::ensureCachedHTMLCollection):
2814 (WebCore::Element::cachedHTMLCollection):
2817 * dom/ElementRareData.h:
2820 (WebCore::ElementRareData::cachedHTMLCollection):
2825 * dom/NodeRareData.h:
2826 (WebCore::NodeRareData::setItemType):
2828 * html/CollectionType.h:
2829 * html/HTMLCollection.cpp:
2830 (WebCore::shouldIncludeChildren):
2831 (WebCore::HTMLCollection::isAcceptableElement):
2832 * html/HTMLElement.cpp:
2834 (WebCore::HTMLElement::properties):
2835 * html/HTMLElement.h:
2837 * html/HTMLFieldSetElement.cpp:
2838 (WebCore::HTMLFieldSetElement::elements):
2839 * html/HTMLFieldSetElement.h:
2840 (HTMLFieldSetElement):
2841 * html/HTMLFormCollection.cpp:
2842 (WebCore::HTMLFormCollection::HTMLFormCollection):
2843 (WebCore::HTMLFormCollection::create):
2844 * html/HTMLFormCollection.h:
2845 (HTMLFormCollection):
2846 * html/HTMLFormElement.cpp:
2847 (WebCore::HTMLFormElement::elements):
2848 * html/HTMLFormElement.h:
2849 * html/HTMLOptionsCollection.cpp:
2850 (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
2851 (WebCore::HTMLOptionsCollection::create):
2852 * html/HTMLOptionsCollection.h:
2853 (HTMLOptionsCollection):
2854 * html/HTMLSelectElement.cpp:
2855 (WebCore::HTMLSelectElement::selectedOptions):
2856 (WebCore::HTMLSelectElement::options):
2857 (WebCore::HTMLSelectElement::invalidateSelectedItems):
2858 (WebCore::HTMLSelectElement::setRecalcListItems):
2859 * html/HTMLSelectElement.h:
2860 * html/HTMLTableElement.cpp:
2861 (WebCore::HTMLTableElement::rows):
2862 * html/HTMLTableElement.h:
2863 * html/HTMLTableRowsCollection.cpp:
2864 (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
2865 (WebCore::HTMLTableRowsCollection::create):
2866 * html/HTMLTableRowsCollection.h:
2867 (HTMLTableRowsCollection):
2869 2012-06-29 Ojan Vafai <ojan@chromium.org>
2871 Add FIXMEs for vertical writing mode and override sizes.
2872 * rendering/RenderBox.cpp:
2873 (WebCore::RenderBox::overrideLogicalContentWidth):
2874 (WebCore::RenderBox::overrideLogicalContentHeight):
2876 2012-06-29 James Robinson <jamesr@chromium.org>
2878 [chromium] Use CCThread::Task in compositor's RateLimiter instead of Timer
2879 https://bugs.webkit.org/show_bug.cgi?id=90300
2881 Reviewed by Adrienne Walker.
2883 * platform/graphics/chromium/RateLimiter.cpp:
2884 (RateLimiter::Task):
2885 (WebCore::RateLimiter::Task::create):
2886 (WebCore::RateLimiter::Task::~Task):
2887 (WebCore::RateLimiter::Task::Task):
2889 (WebCore::RateLimiter::RateLimiter):
2890 (WebCore::RateLimiter::start):
2891 (WebCore::RateLimiter::stop):
2892 (WebCore::RateLimiter::rateLimitContext):
2893 * platform/graphics/chromium/RateLimiter.h:
2896 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2897 (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
2899 2012-06-29 Tony Payne <tpayne@chromium.org>
2901 Remove type from screenColorProfile API
2902 https://bugs.webkit.org/show_bug.cgi?id=90299
2904 Reviewed by Adam Barth.
2906 Covered by existing tests.
2908 * platform/PlatformScreen.h:
2909 (WebCore): Removed type from screenColorProfile().
2910 * platform/blackberry/PlatformScreenBlackBerry.cpp:
2911 (WebCore::screenColorProfile):
2912 * platform/chromium/PlatformScreenChromium.cpp:
2913 (WebCore::screenColorProfile):
2914 * platform/efl/PlatformScreenEfl.cpp:
2915 (WebCore::screenColorProfile):
2916 * platform/gtk/PlatformScreenGtk.cpp:
2917 (WebCore::screenColorProfile):
2918 * platform/image-decoders/ImageDecoder.h:
2919 (WebCore::ImageDecoder::qcmsOutputDeviceProfile): Updated call to
2920 screenColorProfile() to not pass type param.
2921 * platform/mac/PlatformScreenMac.mm:
2922 (WebCore::screenColorProfile):
2923 * platform/qt/PlatformScreenQt.cpp:
2924 (WebCore::screenColorProfile):
2925 * platform/win/PlatformScreenWin.cpp:
2926 (WebCore::screenColorProfile):
2928 2012-06-29 Emil A Eklund <eae@chromium.org>
2930 Allow non-borders to be adjusted to less than 1 when zoomed out
2931 https://bugs.webkit.org/show_bug.cgi?id=90104
2933 Reviewed by Eric Seidel.
2935 Change CSSPrimitiveValue::computeLengthDouble to allow values to be
2936 adjusted to less than 1.0 when zoomed out. This avoids an off by one
2937 error for floats with margins when zoomed out that can cause floats to
2938 wrap and break pages.
2940 The logic that prevents the value from being adjusted to less than 1 was
2941 added to ensure that borders are still painted even when zoomed out.
2942 By moving the logic to ApplyPropertyComputeLength::applyValue, which is
2943 used for borders and outlines, that functionality is preserved.
2945 Test: fast/sub-pixel/float-with-margin-in-container.html
2947 * css/CSSPrimitiveValue.cpp:
2948 (WebCore::CSSPrimitiveValue::computeLengthDouble):
2949 * css/StyleBuilder.cpp:
2950 (WebCore::ApplyPropertyComputeLength::applyValue):
2952 2012-06-29 Ryosuke Niwa <rniwa@webkit.org>
2954 Let Xcode have its own way after r121513.
2956 * WebCore.xcodeproj/project.pbxproj:
2958 2012-06-29 Mihai Balan <mibalan@adobe.com>
2960 [CSS Regions] Adding feature defines for CSS Regions for Windows
2961 https://bugs.webkit.org/show_bug.cgi?id=88645
2963 Reviewed by Tony Chang.
2965 Re-trying to enable CSS regions on Windows. This time only enabling
2966 regions (not exclusions) because of some strange compilation/linking
2969 * css/CSSPropertyNames.in: Touched file to make sure property names get properly rebuilt.
2971 2012-06-29 Hanna Ma <Hanma@rim.com>
2973 Web Inspector: Add data length to resource events on timeline to
2974 keep track of the amount of data loaded and the total data length
2975 https://bugs.webkit.org/show_bug.cgi?id=89244
2977 Reviewed by Pavel Feldman.
2979 Added data length to inspector timeline popup
2980 content for resources to keep track of the amount of data loaded.
2981 Tests: inspector/timeline/timeline-network-received-data.html
2983 * English.lproj/localizedStrings.js:
2984 * inspector/InspectorInstrumentation.cpp:
2985 (WebCore::InspectorInstrumentation::willReceiveResourceDataImpl):
2986 * inspector/InspectorInstrumentation.h:
2987 (InspectorInstrumentation):
2988 (WebCore::InspectorInstrumentation::willReceiveResourceData):
2989 * inspector/InspectorTimelineAgent.cpp:
2990 (WebCore::InspectorTimelineAgent::willReceiveResourceData):
2991 * inspector/InspectorTimelineAgent.h:
2992 (InspectorTimelineAgent):
2993 * inspector/TimelineRecordFactory.cpp:
2994 (WebCore::TimelineRecordFactory::createReceiveResourceData):
2995 * inspector/TimelineRecordFactory.h:
2996 (TimelineRecordFactory):
2997 * inspector/front-end/TimelinePanel.js:
2998 (WebInspector.TimelinePanel.prototype._showPopover):
2999 * inspector/front-end/TimelinePresentationModel.js:
3000 (WebInspector.TimelinePresentationModel.prototype.reset):
3001 (WebInspector.TimelinePresentationModel.Record):
3002 (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
3003 * loader/ResourceLoader.cpp:
3004 (WebCore::ResourceLoader::didReceiveData):
3005 * inspector/timeline/timeline-network-received-data.html: Added.
3006 * inspector/timeline/timeline-network-received-data-expected.txt: Added.
3007 * inspector/timeline/timeline-test.js:
3009 2012-06-29 Shawn Singh <shawnsingh@chromium.org>
3011 Unreviewed build fix after 121580.
3013 WebKit Linux debug bots was complaining about signed vs unsigned integer comparison.
3015 * html/HTMLCollection.h:
3016 (WebCore::HTMLCollectionCacheBase::HTMLCollectionCacheBase):
3018 2012-06-28 James Robinson <jamesr@chromium.org>
3020 [chromium] Remove mapRect and mapQuad from WebTransformationMatrix
3021 https://bugs.webkit.org/show_bug.cgi?id=90230
3023 Reviewed by Adrienne Walker.
3025 Replaces calls to WebTransformationMatrix::mapRect/mapQuad with clipping-aware calls to CCMathUtils. In most
3026 cases, we do not expect clipping to happen. For others (such as area calculations in CCOverdrawMetrics) we can
3027 handle a clipped quad easily.
3029 * platform/chromium/support/WebTransformationMatrix.cpp:
3030 * platform/graphics/chromium/LayerRendererChromium.cpp:
3031 (WebCore::LayerRendererChromium::drawRenderPassQuad):
3032 (WebCore::LayerRendererChromium::drawTileQuad):
3033 * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3034 (WebCore::RenderSurfaceChromium::drawableContentRect):
3035 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3036 (WebCore::CCLayerImpl::getDrawRect):
3037 * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
3038 (WebCore::transformSurfaceOpaqueRegion):
3039 (WebCore::addOcclusionBehindLayer):
3040 * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
3042 (WebCore::polygonArea):
3043 (WebCore::areaOfMappedQuad):
3044 (WebCore::CCOverdrawMetrics::didUpload):
3045 (WebCore::CCOverdrawMetrics::didCullForDrawing):
3046 (WebCore::CCOverdrawMetrics::didDraw):
3047 * platform/graphics/chromium/cc/CCRenderPass.cpp:
3048 (WebCore::CCRenderPass::appendQuadsToFillScreen):
3049 * platform/graphics/chromium/cc/CCRenderSurface.cpp:
3050 (WebCore::CCRenderSurface::drawableContentRect):
3051 * platform/graphics/chromium/cc/CCSharedQuadState.cpp:
3052 (WebCore::CCSharedQuadState::isLayerAxisAlignedIntRect):
3054 2012-06-29 Ryosuke Niwa <rniwa@webkit.org>
3056 Mac build fix after r121575. It rolls out r121547 but didn't roll out the follow up build fix r121553.
3058 * platform/graphics/mac/FontCustomPlatformData.h:
3059 (FontCustomPlatformData):
3061 2012-06-29 Ryosuke Niwa <rniwa@webkit.org>
3063 Share the same cache in HTMLCollection and DynamicNodeLists
3064 https://bugs.webkit.org/show_bug.cgi?id=90118
3066 Reviewed by Anders Carlsson.
3068 This patch introduces two new base classes DynamicNodeListCacheBase and HTMLCollectionCacheBase to share
3069 the cache object between DynamicNodeList and HTMLCollection. HTMLCollectionCacheBase inherits from
3070 DynamicNodeListCacheBase and contains extra caches and bit flags for HTMLCollection. DynamicNodeList::Cache
3071 and HTMLCollection::Cache had been removed and flattened into these two classes for the easy inheritance.
3073 In DynamicNodeList, we have a very straight forward one-to-one mapping from old Caches member variables:
3075 m_caches.lastItem -> cachedItem()
3076 m_caches.lastItemOffset -> cachedItemOffset()
3077 m_caches.cachedLength -> cachedLength()
3078 m_caches.isItemCacheValid -> isItemCacheValid()
3079 m_caches.isLengthCacheValid -> isLengthCacheValid()
3080 m_caches.type -> removed because it was never used.
3081 m_caches.rootedAtDocument -> isRootedAtDocument()
3082 m_caches.shouldInvalidateOnAttributeChange -> shouldInvalidateOnAttributeChange()
3084 In HTMLCollection, there is one semantic change in the way item cache is managed. Previously, we only had
3085 m_cache.current which was used as both cachedItem() and isItemCacheValid() (not valid when current is null).
3086 There are some asymmetric code changes due to one-to-many relationship. Also, all method names have been updated
3087 to use that of DynamicNodeList terminology. Thus we have the following correspondence:
3089 m_cache.current -> cachedItem() / isItemCacheValid()
3090 m_cache.position -> cachedItemOffset()
3091 m_cache.length -> cachedLength()
3092 m_cache.elementsArrayPosition -> cachedElementsArrayOffset()
3093 m_cache.hasLength -> isLengthCacheValid()
3094 m_cache.hasNameCache -> hasNameCache() / setHasNameCache()
3095 m_cache.idCache -> idCache() / addIdCache()
3096 m_cache.nameCache -> idCache() / addNameCache()
3098 In addition, we had to rename HTMLCollection::clearCache to invalidateCache to avoid the name collision with
3099 HTMLCollectionCacheBase::clearCache.
3101 * dom/ChildNodeList.cpp:
3102 (WebCore::ChildNodeList::length):
3103 (WebCore::ChildNodeList::item):
3104 * dom/DynamicNodeList.cpp:
3105 (WebCore::DynamicSubtreeNodeList::length):
3106 (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
3107 (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
3108 (WebCore::DynamicSubtreeNodeList::item):
3109 * dom/DynamicNodeList.h:
3110 (DynamicNodeListCacheBase):
3111 (WebCore::DynamicNodeListCacheBase::DynamicNodeListCacheBase):
3112 (WebCore::DynamicNodeListCacheBase::isRootedAtDocument):
3113 (WebCore::DynamicNodeListCacheBase::shouldInvalidateOnAttributeChange):
3114 (WebCore::DynamicNodeListCacheBase::isItemCacheValid):
3115 (WebCore::DynamicNodeListCacheBase::cachedItem):
3116 (WebCore::DynamicNodeListCacheBase::cachedItemOffset):
3117 (WebCore::DynamicNodeListCacheBase::isLengthCacheValid):
3118 (WebCore::DynamicNodeListCacheBase::cachedLength):
3119 (WebCore::DynamicNodeListCacheBase::setLengthCache):
3120 (WebCore::DynamicNodeListCacheBase::setItemCache):
3121 (WebCore::DynamicNodeListCacheBase::clearCache):
3123 (WebCore::DynamicNodeList::DynamicNodeList):
3124 (WebCore::DynamicNodeList::invalidateCache):
3125 (WebCore::DynamicNodeList::rootNode):
3127 * html/HTMLAllCollection.cpp:
3128 (WebCore::HTMLAllCollection::namedItemWithIndex):
3129 * html/HTMLCollection.cpp:
3130 (WebCore::HTMLCollection::HTMLCollection):
3131 (WebCore::HTMLCollection::invalidateCacheIfNeeded):
3132 (WebCore::HTMLCollection::invalidateCache):
3133 (WebCore::HTMLCollection::isAcceptableElement):
3134 (WebCore::HTMLCollection::itemAfter):
3135 (WebCore::HTMLCollection::length):
3136 (WebCore::HTMLCollection::item):
3137 (WebCore::HTMLCollection::checkForNameMatch):
3138 (WebCore::HTMLCollection::namedItem):
3139 (WebCore::HTMLCollection::updateNameCache):
3140 (WebCore::HTMLCollection::hasNamedItem):
3141 (WebCore::HTMLCollection::namedItems):
3142 (WebCore::HTMLCollectionCacheBase::append):
3143 * html/HTMLCollection.h:
3144 (HTMLCollectionCacheBase):
3145 (WebCore::HTMLCollectionCacheBase::HTMLCollectionCacheBase):
3146 (WebCore::HTMLCollectionCacheBase::type):
3147 (WebCore::HTMLCollectionCacheBase::clearCache):
3148 (WebCore::HTMLCollectionCacheBase::setItemCache):
3149 (WebCore::HTMLCollectionCacheBase::cachedElementsArrayOffset):
3150 (WebCore::HTMLCollectionCacheBase::includeChildren):
3151 (WebCore::HTMLCollectionCacheBase::cacheTreeVersion):
3152 (WebCore::HTMLCollectionCacheBase::idCache):
3153 (WebCore::HTMLCollectionCacheBase::nameCache):
3154 (WebCore::HTMLCollectionCacheBase::appendIdCache):
3155 (WebCore::HTMLCollectionCacheBase::appendNameCache):
3156 (WebCore::HTMLCollectionCacheBase::hasNameCache):
3157 (WebCore::HTMLCollectionCacheBase::setHasNameCache):
3159 (WebCore::HTMLCollection::isEmpty):
3160 (WebCore::HTMLCollection::hasExactlyOneItem):
3161 (WebCore::HTMLCollection::base):
3163 * html/HTMLFormCollection.cpp:
3164 (WebCore::HTMLFormCollection::item):
3165 (WebCore::HTMLFormCollection::updateNameCache):
3166 * html/HTMLNameCollection.cpp:
3167 (WebCore::HTMLNameCollection::itemAfter):
3168 * html/HTMLNameCollection.h:
3169 (HTMLNameCollection):
3170 * html/HTMLSelectElement.cpp:
3171 (WebCore::HTMLSelectElement::invalidateSelectedItems):
3172 * html/HTMLTableRowsCollection.cpp:
3173 (WebCore::HTMLTableRowsCollection::itemAfter):
3174 * html/HTMLTableRowsCollection.h:
3175 (HTMLTableRowsCollection):
3177 2012-06-29 Tony Chang <tony@chromium.org>
3179 Unreviewed, rolling out r121572.
3180 http://trac.webkit.org/changeset/121572
3181 https://bugs.webkit.org/show_bug.cgi?id=90249
3183 Breaks Mac build since it depends on r121547, which was rolled
3187 * page/AlternativeTextClient.h:
3188 * page/ContextMenuController.cpp:
3189 (WebCore::ContextMenuController::populate):
3190 * platform/graphics/cg/ImageBufferDataCG.h:
3191 * platform/graphics/mac/GraphicsContextMac.mm:
3192 (WebCore::GraphicsContext::drawLineForDocumentMarker):
3193 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3194 (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
3195 * platform/mac/WebCoreSystemInterface.h:
3196 * platform/network/Credential.h:
3197 * platform/network/cf/ResourceRequestCFNet.cpp:
3199 (WebCore::initializeMaximumHTTPConnectionCountPerHost):
3200 * platform/text/TextChecking.h:
3202 * rendering/RenderLayerBacking.cpp:
3203 (WebCore::RenderLayerBacking::containsPaintedContent):
3205 2012-06-29 Tony Chang <tony@chromium.org>
3207 Unreviewed, rolling out r121547.
3208 http://trac.webkit.org/changeset/121547
3209 https://bugs.webkit.org/show_bug.cgi?id=90256
3211 Breaks Chromium Mac build
3213 * platform/LocalizedStrings.cpp:
3214 (WebCore::imageTitle):
3215 * platform/graphics/cg/GraphicsContextCG.cpp:
3216 (WebCore::GraphicsContext::setAllowsFontSmoothing):
3217 * platform/graphics/cg/ImageCG.cpp:
3218 (WebCore::Image::drawPattern):
3219 * platform/graphics/cg/ImageSourceCG.cpp:
3220 (WebCore::ImageSource::clear):
3221 * platform/graphics/cg/PathCG.cpp:
3222 (WebCore::Path::boundingRect):
3223 * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
3225 (WebCore::canSetCascadeListForCustomFont):
3226 (WebCore::FontPlatformData::ctFont):
3227 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3228 * platform/graphics/mac/ComplexTextController.cpp:
3229 * platform/graphics/mac/FontCacheMac.mm:
3231 (WebCore::fontCacheATSNotificationCallback):
3232 (WebCore::FontCache::platformInit):
3233 * platform/graphics/mac/FontCustomPlatformData.cpp:
3234 (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
3235 (WebCore::createFontCustomPlatformData):
3236 * platform/graphics/mac/FontCustomPlatformData.h:
3237 (WebCore::FontCustomPlatformData::FontCustomPlatformData):
3238 * platform/graphics/mac/SimpleFontDataMac.mm:
3239 (WebCore::SimpleFontData::platformInit):
3240 * platform/graphics/mac/WebLayer.h:
3241 * platform/mac/CursorMac.mm:
3242 (WebCore::Cursor::ensurePlatformCursor):
3243 * platform/mac/DisplaySleepDisabler.cpp:
3244 (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
3246 (WebCore::DisplaySleepDisabler::systemActivityTimerFired):
3247 * platform/mac/DisplaySleepDisabler.h:
3248 (DisplaySleepDisabler):
3249 * platform/mac/HTMLConverter.h:
3250 * platform/mac/HTMLConverter.mm:
3251 * platform/mac/PopupMenuMac.mm:
3252 (WebCore::PopupMenuMac::populate):
3253 * platform/mac/ScrollElasticityController.mm:
3255 2012-06-29 Eric Penner <epenner@google.com>
3257 [chromium] Adding PrioritizedTexture and replacing ContentsTextureManager
3258 https://bugs.webkit.org/show_bug.cgi?id=84308
3260 Reviewed by Adrienne Walker.
3262 PrioritizedTextures have a priority such that all texture requests can be
3263 prioritized. There are three steps involved:
3264 - Call setRequestPriority()
3265 - Check if the request succeeded with canAcquireBackingTexture()
3266 - Call acquireBackingTexture() when uploading a new texture.
3268 Internally both the texture requests and the backing textures get sorted.
3269 Requests are sorted so they can be prioritized. Backing textures are sorted
3270 so that they can be recycled/evicted in the right order (lowest priority first).
3272 Prioritizing textures doesn't assign backing textures to texture requests but
3273 rather just marks which textures can have a backing texture "when needed". This
3274 allows us to keep the old textures in use as long as possible.
3276 The unit tests support all the use cases from the original texture manager
3277 but also adds assumptions about priority order throughout all the tests. The
3278 function assertInvariants() is added to test the validity of the manager
3279 and all textures/allocations within it.
3281 The TiledLayerChromium tests are updated to request textures first with
3282 prioritizeTextures(), and update them with the updater (such that allocate
3283 gets called) before pushPropertiesTo is called (when they need to be valid).
3286 * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
3287 (WebCore::BitmapCanvasLayerTextureUpdater::Texture::Texture):
3288 (WebCore::BitmapCanvasLayerTextureUpdater::createTexture):
3289 (WebCore::BitmapCanvasLayerTextureUpdater::updateTextureRect):
3290 * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
3293 (BitmapCanvasLayerTextureUpdater):
3294 * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
3295 (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::Texture):
3296 (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::createTexture):
3297 * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
3299 (BitmapSkPictureCanvasLayerTextureUpdater):
3300 * platform/graphics/chromium/ContentLayerChromium.cpp:
3301 (WebCore::ContentLayerChromium::setTexturePriorities):
3303 (WebCore::ContentLayerChromium::update):
3304 * platform/graphics/chromium/ContentLayerChromium.h:
3305 (ContentLayerChromium):
3306 * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
3307 (WebCore::createAcceleratedCanvas):
3308 (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::Texture):
3309 (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::createTexture):
3310 (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
3311 * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
3313 (FrameBufferSkPictureCanvasLayerTextureUpdater):
3314 * platform/graphics/chromium/ImageLayerChromium.cpp:
3315 (WebCore::ImageLayerTextureUpdater::Texture::Texture):
3316 (WebCore::ImageLayerTextureUpdater::createTexture):
3317 (WebCore::ImageLayerTextureUpdater::updateTextureRect):
3318 (WebCore::ImageLayerChromium::setTexturePriorities):
3320 * platform/graphics/chromium/ImageLayerChromium.h:
3321 (ImageLayerChromium):
3322 * platform/graphics/chromium/LayerChromium.h:
3324 (WebCore::LayerChromium::setTexturePriorities):
3325 * platform/graphics/chromium/LayerTextureUpdater.h:
3326 (WebCore::LayerTextureUpdater::Texture::texture):
3327 (WebCore::LayerTextureUpdater::Texture::swapTextureWith):
3328 (WebCore::LayerTextureUpdater::Texture::Texture):
3330 * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
3331 (WebCore::ScrollbarLayerChromium::pushPropertiesTo):
3332 (WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
3333 (WebCore::ScrollbarLayerChromium::updatePart):
3335 (WebCore::ScrollbarLayerChromium::setTexturePriorities):
3336 * platform/graphics/chromium/ScrollbarLayerChromium.h:
3337 (ScrollbarLayerChromium):
3338 * platform/graphics/chromium/TiledLayerChromium.cpp:
3339 (WebCore::UpdatableTile::managedTexture):
3340 (WebCore::TiledLayerChromium::pushPropertiesTo):
3341 (WebCore::TiledLayerChromium::textureManager):
3342 (WebCore::TiledLayerChromium::createTile):
3343 (WebCore::TiledLayerChromium::tileNeedsBufferedUpdate):
3344 (WebCore::TiledLayerChromium::updateTiles):
3345 (WebCore::TiledLayerChromium::setTexturePriorities):
3347 (WebCore::TiledLayerChromium::setTexturePrioritiesInRect):
3348 (WebCore::TiledLayerChromium::resetUpdateState):
3349 (WebCore::TiledLayerChromium::updateLayerRect):
3350 (WebCore::TiledLayerChromium::idleUpdateLayerRect):
3351 (WebCore::TiledLayerChromium::needsIdlePaint):
3352 (WebCore::TiledLayerChromium::idlePaintRect):
3353 * platform/graphics/chromium/TiledLayerChromium.h:
3354 (TiledLayerChromium):
3355 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3356 (WebCore::CCLayerTreeHost::initializeLayerRenderer):
3357 (WebCore::CCLayerTreeHost::deleteContentsTexturesOnImplThread):
3358 (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
3359 (WebCore::CCLayerTreeHost::commitComplete):
3360 (WebCore::CCLayerTreeHost::evictAllContentTextures):
3361 (WebCore::CCLayerTreeHost::contentsTextureManager):
3362 (WebCore::CCLayerTreeHost::updateLayers):
3363 (WebCore::CCLayerTreeHost::prioritizeTextures):
3364 (WebCore::CCLayerTreeHost::deleteTextureAfterCommit):
3365 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3368 * platform/graphics/chromium/cc/CCPrioritizedTexture.cpp: Added.
3370 (WebCore::CCPrioritizedTexture::CCPrioritizedTexture):
3371 (WebCore::CCPrioritizedTexture::~CCPrioritizedTexture):
3372 (WebCore::CCPrioritizedTexture::setTextureManager):
3373 (WebCore::CCPrioritizedTexture::setDimensions):
3374 (WebCore::CCPrioritizedTexture::requestLate):
3375 (WebCore::CCPrioritizedTexture::acquireBackingTexture):
3376 (WebCore::CCPrioritizedTexture::textureId):
3377 (WebCore::CCPrioritizedTexture::bindTexture):
3378 (WebCore::CCPrioritizedTexture::framebufferTexture2D):
3379 (WebCore::CCPrioritizedTexture::setCurrentBacking):
3380 * platform/graphics/chromium/cc/CCPrioritizedTexture.h: Added.
3382 (CCPrioritizedTexture):
3383 (WebCore::CCPrioritizedTexture::create):
3384 (WebCore::CCPrioritizedTexture::textureManager):
3385 (WebCore::CCPrioritizedTexture::format):
3386 (WebCore::CCPrioritizedTexture::size):
3387 (WebCore::CCPrioritizedTexture::memorySizeBytes):
3388 (WebCore::CCPrioritizedTexture::setRequestPriority):
3389 (WebCore::CCPrioritizedTexture::requestPriority):
3390 (WebCore::CCPrioritizedTexture::canAcquireBackingTexture):
3391 (WebCore::CCPrioritizedTexture::haveBackingTexture):
3393 (WebCore::CCPrioritizedTexture::Backing::size):
3394 (WebCore::CCPrioritizedTexture::Backing::format):
3395 (WebCore::CCPrioritizedTexture::Backing::memorySizeBytes):
3396 (WebCore::CCPrioritizedTexture::Backing::textureId):
3397 (WebCore::CCPrioritizedTexture::Backing::currentTexture):
3398 (WebCore::CCPrioritizedTexture::Backing::setCurrentTexture):
3399 (WebCore::CCPrioritizedTexture::Backing::Backing):
3400 (WebCore::CCPrioritizedTexture::Backing::~Backing):
3401 (WebCore::CCPrioritizedTexture::isAbovePriorityCutoff):
3402 (WebCore::CCPrioritizedTexture::setAbovePriorityCutoff):
3403 (WebCore::CCPrioritizedTexture::setManagerInternal):
3404 (WebCore::CCPrioritizedTexture::currentBacking):
3405 * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp: Added.
3407 (WebCore::CCPrioritizedTextureManager::CCPrioritizedTextureManager):
3408 (WebCore::CCPrioritizedTextureManager::~CCPrioritizedTextureManager):
3409 (WebCore::CCPrioritizedTextureManager::setMemoryAllocationLimitBytes):
3410 (WebCore::CCPrioritizedTextureManager::prioritizeTextures):
3411 (WebCore::CCPrioritizedTextureManager::clearPriorities):
3412 (WebCore::CCPrioritizedTextureManager::requestLate):
3413 (WebCore::CCPrioritizedTextureManager::acquireBackingTextureIfNeeded):
3414 (WebCore::CCPrioritizedTextureManager::reduceMemory):
3415 (WebCore::CCPrioritizedTextureManager::clearAllMemory):
3416 (WebCore::CCPrioritizedTextureManager::allBackingTexturesWereDeleted):
3417 (WebCore::CCPrioritizedTextureManager::unlink):
3418 (WebCore::CCPrioritizedTextureManager::link):
3419 (WebCore::CCPrioritizedTextureManager::registerTexture):
3420 (WebCore::CCPrioritizedTextureManager::unregisterTexture):
3421 (WebCore::CCPrioritizedTextureManager::returnBackingTexture):
3422 (WebCore::CCPrioritizedTextureManager::createBacking):
3423 (WebCore::CCPrioritizedTextureManager::destroyBacking):
3424 (WebCore::CCPrioritizedTextureManager::assertInvariants):
3425 * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h: Added.
3427 (CCPrioritizedTextureManager):
3428 (WebCore::CCPrioritizedTextureManager::create):
3429 (WebCore::CCPrioritizedTextureManager::createTexture):
3430 (WebCore::CCPrioritizedTextureManager::memoryUseBytes):
3431 (WebCore::CCPrioritizedTextureManager::memoryAboveCutoffBytes):
3432 (WebCore::CCPrioritizedTextureManager::setMaxMemoryLimitBytes):
3433 (WebCore::CCPrioritizedTextureManager::maxMemoryLimitBytes):
3434 (WebCore::CCPrioritizedTextureManager::setPreferredMemoryLimitBytes):
3435 (WebCore::CCPrioritizedTextureManager::preferredMemoryLimitBytes):
3436 (WebCore::CCPrioritizedTextureManager::setMaxMemoryPriorityCutoff):
3437 (WebCore::CCPrioritizedTextureManager::maxMemoryPriorityCutoff):
3438 (WebCore::CCPrioritizedTextureManager::compareTextures):
3439 (WebCore::CCPrioritizedTextureManager::compareBackings):
3440 * platform/graphics/chromium/cc/CCPriorityCalculator.cpp: Added.
3442 (WebCore::CCPriorityCalculator::uiPriority):
3443 (WebCore::CCPriorityCalculator::visiblePriority):
3444 (WebCore::CCPriorityCalculator::lingeringPriority):
3445 (WebCore::CCPriorityCalculator::priorityFromDistance):
3446 (WebCore::CCPriorityCalculator::priorityFromVisibility):
3447 * platform/graphics/chromium/cc/CCPriorityCalculator